It is intended for undergraduates who enjoyed 6.004 and want to learn about design and implementation of operating systems, and their use as a foundation for systems programming.
This year we will teach 6.S081/6.828 as a single class, but will have extra assignments for the 6.828 students. Long-term we intend to make 6.S081 a permanent undergraduate subject and upgrade 6.828 to a true graduate subject.
We will distribute assignments on the course web site, and make all announcements through piazza. The course web site has the schedule for the term.
Grades in 6.S081 will be based on the results of two quizzes (one during the term and one in finals week) (35%); labs, except the last one (40%); home-work assignments, paper questions and class/piazza participation (together 10%); and the final lab (15%). You must submit all labs in order to pass the class.
Grades in 6.828 will be based on the same components, but the xv6 labs will count for 25% and the final lab is a project and will count for 30%. The project is a substantial programming project done in teams of 2. 6.828 students are expected to propose a project and iterate with the course staff to settle on an approved project with an appropriate scope and objectives, and check in with the staff periodically during the semester to report on progress. The staff will judge the project based on how well the objectives have been met and the quality of the final result. Ideas for projects can be found at example projects.
To turn in each lab, run make handin in your lab directory. The handin must be received by 11:59pm on the day that the lab is due. You can turn in as many times as you like before the deadline. The handin website grades your final lab submission and shows your final lab grade.
You have a total of 72 late hours for the semester. Each hour late in excess of 72 hours will penalize your total lab grade by 1%, up to a maximum of 50%. Late hours are allocated greedily, so they are allocated to earlier labs before later labs. Due to institute regulations, late hours may not be used for the last lab (due in the last full week of classes).
Late hours are intended for cases where you fall behind due to illness, job interviews, MIT athletic events, deadlines in other classes, etc. For extensions under extenuating circumstances (e.g., you are sick for a week), we require a letter from one of the student deans.
The homeworks are intended to make you think about the lecture topic and/or get your hands dirty. Programming homework and paper questions are due before the start of lecture (i.e., 1pm) on the specified due dates. We do not grade your answers for correctness, but merely check-off that you put reasonable effort into them.
6.S081/6.828 relies on the following books:
You may not collaborate on quizzes. You are welcome to discuss the homework and labs with other students, but all of your written work and code must be your own and must carefully acknowledge all contributions of ideas by others, whether from classmates or from sources you have read. Please don't look at anyone else's code for the labs or homework. Please feel free to ask and answer questions on Piazza, about labs, homework, readings, and lectures.
Do not post your lab or homework solutions on publicly accessible web sites (such as GitHub) or file spaces (such as your Athena Public directory).
Lectures will be held on Monday and Wednesday from 1:00pm to 2:30pm in 32-123.
Staff mailing list
firstname.lastname@example.org, but we would prefer that you use Piazza.
Questions or comments regarding 6.828? Send e-mail to the TAs at email@example.com.