|Copyright © 2002 Paul Sheer. Click here for copying permissions.
The following sections describe a 36-hour lecture schedule in 12 lessons, 2 per week, of 3 hours each. The lectures are interactive, following the text closely, but sometimes giving straightforward chapters as homework.
The course requires that students have a LINUX system to use for their homework assignments. For past courses, most people were willing to repartition their home machines, buy a new hard drive, or use a machine of their employer.
The classroom itself should have 4 to 10 places. It is imperative that students have their own machine, since the course is highly interactive. The lecturer need not have a machine. I myself prefer to write everything on a whiteboard. The machines should be networked with Ethernet and configured so that machines can telnet to each other's IPs. A full LINUX installation is preferred--everything covered by the lectures must be installed. This would include all services, several desktops, and C and kernel development packages.
LINUX CDs should also be available for those who need to set up their home computers.
Most notably, each student should have his own copy of this text.
This lecture layout is designed for seasoned administrators of MS-DOS or Windows systems, those who at least have some kind of programming background, or those who, at the very least, are experienced in assembling hardware and installing operating systems. At the other end of the scale, ``end users'' with no knowledge of command-line interfaces, programming, hardware assembly, or networking, would require a far less intensive lecture schedule and would certainly not cope with the abstraction of a shell interface.
Of course, people of high intelligence can cover this material quite quickly, regardless of their IT experience, and it is smoothest when the class is at the same level. The most controversial method would be to simply place a tape measure around the cranium (since the latest data puts the correlation between IQ and brain size at about 0.4).
A less intensive lecture schedule would probably cover about half of the material, with more personalized tuition, and having more in-class assignments.
Lessons are three hours each. In my own course, these were in the evenings from 6 to 9, with two 10 minute breaks on the hour. It is important that there are a few days between each lecture for students to internalize the concepts and practice them by themselves.
The course is completely interactive, following a ``type this now class...'' genre. The text is replete with examples, so these should be followed in sequence. In some cases, repetitive examples are skipped. Examples are written on the whiteboard, perhaps with slight changes for variety. Long examples are not written out: ``Now class, type in the example on page...''.
The motto of the lecture style is: keep 'em typing.
Occasional diversions from the lecturer's own experiences are always fun when the class gets weary.
The lecturer will also be aware that students get stuck occasionally. I check their screens from time to time, typing in the odd command for them, to speed the class along.
A background to UNIX and LINUX history is explained, crediting the various responsible persons and organizations. The various copyrights are explained, with emphasis on the GPL.
Chapter 4 then occupies the remainder of the first three hours.
Homework: Appendix D and E to be read. Students to install their own LINUX distributions. Chapter 6 should be covered to learn basic operations with vi.
Chapter 5 (Regular Expressions) occupies the first hour, then Chapter 7 (Shell Scripting) the remaining time. Lecturers should doubly emphasize to the class the importance of properly understanding regular expressions, as well as their wide use in UNIX.
Homework: Research different desktop configurations and end-user applications. Students should become familiar with the different desktops and major applications that they offer.
First hour covers Chapter 8. Second hour covers Chapters 9 and 10. Third hour covers Chapter 11.
Homework: Research LINUX on the Internet. All resources mentioned in Chapters 16 and 13 should be accessed.
First two hours cover Chapters 12, 13, 14, 15. Third hour covers Chapters 16 and 17.
Homework: Chapters 18 through 21 to be covered. Students will not be able to modify the house's partitions, and printers will not be available, so these experiments are given for homework. Chapter 20 is not considered essential. Students are to attempt to configure their own printers and report back with any problems.
First hour covers Chapter 22, second hour covers Chapter 24. For the third hour, student read Chapter 25 and Chapter 26, asking questions about any unclear points.
Homework: Optionally, Chapters 23, then rereading of Chapter 25 and 26.
Lectured coverage of Chapter 25 and Chapter 26. Also demonstrate an attempt to sniff the password of a telnet session with tcpdump. Then the same attempt with ssh.
Homework: Read Chapter 27 through Chapter 29 in preparation for next lesson.
Chapters 27 through 29 covered in first and second hour. A DNS server should be up for students to use. Last hour explains how Internet mail works, in theory only, as well as the structure of the exim configuration file.
Homework: Read through Chapter 30 in preparation for next lesson.
First and second hours cover Chapter 30. Students to configure their own mail server. A DNS server should be present to test MX records for their domain. Last hour covers Chapters 31 and 32, excluding anything about modems.
Homework: Experiment with Chapter 33. Chapter 34 not covered. Chapter 35 to be studied in detail. Students to set up a web server from Chapter 36 and report back with problems. Apache itself is not covered in lectures.
First hour covers Chapter 37. Second and third hours cover Chapter 40. Students to configure their own name servers with forward and reverse lookups. Note that Samba is not covered if there are no Windows machines or printers to properly demonstrate it. An alternative would be to set up printing and file-sharing using smbmount.
Homework: Chapter 41 for homework--students to configure dialup network for themselves. Read through Chapter 42 in preparation for next lesson.
First and second hours cover Chapter 42. Students to at least configure their own network card if no other hardware devices are available. Build a kernel with some customizations. Third hour covers the X Window System in theory and use of the DISPLAY environment variable to display applications to each other's X servers.
Homework: Study Chapter 28.
First hour covers configuring of NFS, noting the need for a name server with forward and reverse lookups. Second and third hours cover Chapter 38.
Homework: Download and read the Python tutorial. View the weeks security reports online. Study Chapter 44.
First and second hours cover the security chapter and an introduction to the Python programming language. Last hour comprises the course evaluation. The final lesson could possibly hold an examination if a certification is offered for this particular course.