I expect to cover approximately the material in Parts 1-3 of the Silberschatz/Galvin text. Part 1 is introductory, and you should read it on your own. I will devote class time to the topics in Parts 2 and 3. I will structure the class discussion more around the Nachos projects than the text. You should use the text for a complementary view.
There will be approximately four substantial programming projects. They will all involve modifications to the Nachos system. I will grade the projects myself. Submit programming projects with the submit-project command in /usr/local/classes/current/CS230/01/bin.
All project work should be submitted with submit-project before the time that it is due.
Of course, I will extend due dates in cases of serious hardship, such as illness or family crises. All such extensions must be arranged as soon as possible: preferably in advance, or as soon as you recover/return from whatever it is. Brief failures of computer systems are to be expected. They do not qualify as serious hardship. Part of the assignment in a programming project is to schedule work so that you may complete it in spite of moderate amounts of computer failure.
I will evaluate the project work that you hand in on four criteria:
Notice that correct code only gets you 25%. In principle, you could earn a C without any success in running the programs, but I don't recommend such an approach.
I will schedule a private interview with each of you at the end of the course to review your project work, and understanding of the principles that we discuss. I will schedule one hour apiece, with the idea that 30 minuted is enough, but it's better not to be rushed. You should prepare a 15-minute presentation of your work, with brief demonstration, to start off the discussion. At your initiative, you may schedule a practice interview any time during the course.
You may propose extra work, which may be in the form of Nachos project work, other programming work, presentation of ideas from books and articles, etc. In order to get extra credit for extra work, you need to negotiate the extra work with me in advance. I will not propose extra projects: this is entirely up to your initiative. The form of credit is subject to negotiation. One possibility is to replace some or all of the online written discussion category with extra project work.
Your grade will be determined by the project work described above, and by your written participation in discussion through the HyperNews online discussion. My numerical grade calculation will be
We make crucial use of two forms of electronic communication in CS230: the World Wide Web (WWW), and electronic mail.