Date | Title | Slides | Lab | Solutions |
Week 1: Introduction / The Shell | Intro,Shell | |||
Week 2: The Filesystem | ||||
Week 3: Compiling Software from Scratch | pdf,NetHack patch | |||
Week 4: User and Group Authentication | ||||
Week 5: UNIX Power Tools | txt | |||
Week 6: Shell Scripting | ||||
11/04 | ||||
Week 9: System V Init; Getting Involved | ||||
Week 10: Desktop Linux Technologies (X11, udev, D-Bus..) | ||||
Week 11: "The Touch": Solving Problems You Know Nothing About | ||||
Week 12: Last Class - Final Project Presentations |
Time: Wednesday, 5:00-6:30pm
Location: 320 Soda
Facilitator: George Wu
Office Hours: Mondays 4:10PM (OCF)
Enrollment: 2 units
- Lower Division: CS 98 (26222); 10 students max
- Upper Division: CS 198 (26220); 10 students max
Welcome! This intermediate course is targeted towards CS students, either with some prior Unix experience or an eager ability to learn new things quickly. The curriculum is somewhat similar to the beginning class; however, we emphasize a more bottom-up approach that encourages a good working knowledge and understanding of Unixes before starting any system administration tasks. In fact, we spend very little time on what is considered stereotypical systems administration: the task of maintaining a web server with a database. That's just the tip of the iceberg. Any sysadmin worth their salt will tell you that there are far more things you need to be good at! See above for all the planned lecture topics.
The course is given in a lecture-lab format. After discussing the material for a given week, we will follow with 45 minutes to 1 hour of lab time. Many people will be able to complete the labs within this time, and most people will at least be able to complete at least half. So if you play your cards right, the weekly out-of-class commitment is less than an hour.
Astute readers have already noticed that there is a final project. This project requires you to collaborate with groups of 3-4 other people to develop some sort of system that shows that you know how to integrate many disparate open source components together into a coherent unit. However, you needn't be too ambitious. The project as a whole should take about 10-15 man-hours, which is up to 4 hours per person, all things being equal.