Lecture: T/Th: 1:40 - 3:00 PM, Wellman 212
Discussion: M: 2:10 - 3:00 PM, Olson 106
Instructor: Matt Roper
Email: roper [at] cs.ucdavis.edu
Office: Kemper 3050
Hours: T/Th: 3:15 - 4:30, W: 9:30-10:30, or by appointment
TA: Bhume Bhumiratana (pronounced "Poom")
Email: bhumirbh [at] cs.ucdavis.edu
Office: Kemper 3106
Hours: W: 2:00 - 4:00 PM
Please post course-related questions on the discussion newsgroup (details below). Please only email us regarding administrative matters.
The Design and Implementation of the FreeBSD Operating Systems
Marshall Kirk McKusick and George V. Neville-Neil
ISBN 0-201-70245-2
Important note: If you receive a grade of D+ or below on both the midterm and the final exam, your final course grade will not exceed a D+, regardless of your scores on the programming projects and written homework.
"Incomplete" Grades: An "Incomplete" grade may only be given to a student who a.) has completed at least 75% of the coursework, and b.) is earning a passing grade (C- or better) at the time an Incomplete is requested.
The following scores will earn you at least the letter grade listed. I reserve the right to ease the grade cutoffs later in the term.
A+: | [ 97.5%, 100% ] |
---|---|
A: | [ 90.0%, 97.5% ) |
B+: | [ 87.5%, 90.0% ) |
B: | [ 80.0%, 87.5% ) |
C+: | [ 77.5%, 80.0% ) |
C: | [ 70.0%, 77.5% ) |
D+: | [ 67.5%, 70.0% ) |
D: | [ 60.0%, 67.5% ) |
F: | [ 0%, 60.0% ) |
If you feel that a homework assignment, programming project, or exam has been mis-graded, you will have one week from the time the assignment/project/exam is returned to request a regrade. After one week, grades are considered "final" and will not be changed.
There will be a few written homework assignments over the course of the term. These assignments will be relatively short and should be completed individually. You will have at least one week to complete each homework assignment; these will be handed in at the beginning of Thursday lectures. Late homework will have 15% of the maximum score deducted for each day the assignment is late.
There will be 3 larger programming assignments which will involve modifying the source code for the FreeBSD 5.4 operating system. Details on how to setup and begin modifying the source code will be explained during discussion sections. Version 5.4 is the required version of FreeBSD for this course; we will not be using the newer 6.x versions.
You may work individually or with a single partner on these programming assignments. Please note that you will need to install FreeBSD on your personal computer in order to complete these assignments; if that is not possible for you, please try to group with someone who can install it on their system. The programming assignments can not be completed in the CSIF.
An installation of FreeBSD will probably require 3-3.5 GB of free disk space since you need to install the base operating system, all of the kernel source code, and still have enough space left over for the intermediate files (.o, etc.) generated during kernel compilation.
How you install FreeBSD is up to you. You can either install it in a dual-boot configuration with whatever other OS's you run on your home computer (Linux, Windows, etc.), or you can use some form of virtualization to run it inside another operating system (VMWare, VirtualPC, etc.)
Please start your projects early and do not wait until the last minute. Modifying the internals of an operating system is a complex topic, and debugging problems that crop up is far more difficult than it would be with regular programs.
There will be one in-class midterm and a final exam. You will be allowed to use your own notes (as many pages as you like), but not the textbook or printed lecture slides. Any notes that you use on the exams will be turned in with the test and returned after grading is complete. You won't be graded on the quality of your notes; I only ask that you turn them in so that I can see if there are areas of confusion.
The final exam will be Wednesday, June 13th from 1:30 - 3:30 PM. Early/late makeup exams will not be given.
All students will be required to bring student ID with them to both exams. I will verify each student's identity during the exam.
The slides used in lecture will be posted on the course website approximately one week after each lecture. I encourage you to take your own notes and not rely solely on the slides for study purposes.
Available Lecture Slides:
Available Discussion Slides:
Any form of cheating on homework, projects, or exams will result in a 0 score and referral to Student Judicial Affairs.