CS room 1221
Mon/Wed/Fri 9:55 - 10:45
Discussion Thu 2:25 - 3:15
Schedule and Lectures
Project 3 is posted.
[Wed Feb 23] Project 2 is posted.
[Wed Feb 09] Readings are posted.
[Mon Jan 24] Project 1 is posted.
The class list is firstname.lastname@example.org. Feel free to direct project questions to the list.
You will need a copy of either Operating System Concepts (6th or 7th edition is fine, not the 'with Java' edition) by Silberschatz, Galvin, and Gagne or Modern Operating Systems (2nd edition) by Tanenbaum. You will be assigned reading every week.
You will be programming in C for all assignments. If you do not already know C you will be expected to pick up the basics; I suggest the The C Programming Language by Kernighan and Ritchie. If you want to further develop your C/UNIX skills I recommend Expert C Programming by Van der Linden and Advanced Programming in the UNIX Environment by Stevens. Linkers and Loaders by Levine is useful for understanding how programs are built. For inspiration read The Soul of A New Machine by Tracy Kidder.
"When a man says he approves of something in principle, it means he
You will complete three programming assignments as part of this course. You will work alone on the first assignment and in groups of two on the last two assignments. You will be assigned a new partner for each assignment. You may find this advice on working in teams useful.
Projects may be developed in either the "royal" or "emperor" instructional labs (CS rooms 1350 and 1366). To remotely log into a lightly loaded machine ssh best-royal or ssh best-emperor. If you want to develop on your own machine that's fine but be aware that your code will be tested/evaluated on a royal or emperor machine. If you are new to UNIX or the CSL's UNIX facilities I encourage you to attend an orientation session early in the semester. The CSL has also posted an introductory manual.
You may NOT use other people's code from the web or previous semesters for any of the projects. Doing so will be considered cheating. All work should be your own.
If you are not already familiar with a UNIX programming environment (shell, editor, compiler, debugger, Makefiles, revision control, etc.) this class is a good opportunity to pick up these skills.
Half your grade will be determined by three exams, half by the three programming assignments. The exams will be weighted equally. The programming assignments will be weighted equally. Late projects will not be accepted. University policy on academic misconduct will be followed strictly.
Students Requiring Special Accomodation
If you require special accomodation as a result of disability (visible or hidden), or religious reasons, we strongly encourage you to contact the course instructor or staff promptly, ideally within the first three weeks of class. Although we understand that situations can come up in the middle of the semester, and we will accomodate later requests if at all possible, the earlier we have information about your needs for special accomodation, the better we will be able to serve your needs.