Wednesday, October 9, 2013

Class 1: October 8th 2013 : Introduction and Introduction to UNIX Administration

Class dates planned:
  • Oct 8, 15 (both Tuesdays)
  • Nov 5, 12 (both Tuesdays)
  • Dec 3, 10 (both Tuesdays)
  •  Jan 7 (Tues)
  • Jan 28 , Feb 4 (both Tues)
  • Feb 25 , Mar4 (both Tues)
  • Mar 25, (Tues)
  • Apr 22, 29 (both Tues)
  • May 20, 27 (bothTues)
In our first class of the year we discussed the format for this year's class and I gave a first lecture on using the lab MAC X11 terminal to do basic network administration tasks. We interactively discussed these UNIX administrative commands and some of their arguments:

  • ps "process lister"
  • ls "list files"
  • pwd "show current path"
  • cd "change directory"
  • wc "word count"
  • | "UNIX pipe command"
  • su "super user"
  • man "show manual for a specific command"
  • info "show an informative manual"
  • clear "clear screen"
We also discussed how to find the root directory in a UNIX file hierarchy, how to navigate file paths, how to find system logs in /var/logs and how to pipe the output of one UNIX into the input of another. For example, 'ls | wc -l ' will return a count of the list of files and directories in your current path.

I described the general content of this year's computer club something like this:

"Computer engineering is the finest engineering achievement of the last 50 years. Progress has been extraordinary since I first worked on a 6" green on black Wang terminal in 1989. Most people are consumers of information technology. However, this class asks the student to learn to become a producer or manager of technology.

In general, information technology has two large and multivariate groups of professionals: administrators and developers. Animated discussion from personal experience followed this point. Some of the students have relatives involved in support and development. This class does not teach what "normal" users know about technology; it teaches what exceptional users know about computer engineering.  Such content is not for everyone. When staring at a screen for long hours as a member of the creative class, it is useful if you have a passion for the beauty and transcendence of the logic of programming machines.

The class will divided equally into UNIX administration training and learning development in the C Programming language. I have created this division based on last year's experience. All developers need to learn administration. Not all computer engineers will want to learn development, but most want to learn UNIX and network administration skills."

Most students want to learn game programming when they come to this club. I will see what I can do to accommodate them on this complex subject. However, since I am a systems test engineer and network administrator by training, I have designed this year's class with more generic content, aiming to appeal to the career tracks of both administration and development.

Platforms

Any MAC or UNIX workstation of recent age can be used to follow this course. To follow this course with a Windows PC, the user will want probably want to install the Cygwin UNIX emulation system with administrative, shell, utilities, and developer application packages. Consult the Cygwin FAQ for more information. Other options include installing a virtual machine, using the GNUWIN32  utilities for Windows, finding a UNIX shell account and installing an SSH client, obtaining a cloud account on Amazon EC2 Servers, or raising a Linux or BSD instances on old hardware. Students can e-mail me with questions about these options at rferrisx@gmail.com .

Assignments

Assignments are always optional. Motivated students should bring up X11 terminals on their workstations and further explore with the man and info commands the UNIX administration commands described above. Much information can be found on shell administration, especially BASH administration. Here are some links:

Next Class

Next class we will discuss, the history of programming languages, computer architecture,  C Programming with GCC, and Xcode IDE. I am lining up guest lectures from statistics instructor and programmer Bryan Morgans from WWU  and Dave Adams has generously offered to put together a field trip to his software shop on the waterfront Emergency Reporting so students can get a first hand look at the software development process.

No comments:

Post a Comment