CSE 120 Syllabus

Course Meetings

Lecture: 6:30 - 7:50pm Tuesdays and Thursdays (PETER 108)
Discussion: 4:00 - 4:50pm Wednesdays (PETER 108)

Course Description

This course covers the principles of operating systems. It emphasizes the basic concepts of OS kernel organization and structure, processes and threads, concurrency and synchronization, memory management, file systems, and communication. It is also a project course, providing essential experience in programming with concurrency, implementing and unmasking abstractions, working within an existing complex system, and collaborating with other students in a group effort.

Prerequisites

The prerequisites are: CSE 30, and CSE 101 or Math 188, and CSE 70 or CSE 110.

Textbook

Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
Operating Systems: Three Easy Pieces
Version 0.90, March 2015   (Available free online!)

Web Site

http://cseweb.ucsd.edu/classes/sp17/cse120-a/

Instructors

Name: Gregory Kesden
Email: gkesden@eng.ucsd.edu
Url: http://cseweb.ucsd.edu/~gkesden
Office: CSE 2126
Office phone: 858-534-3854
Office hours: Please see schedule on Web for updated information: http://cseweb.ucsd.edu/~gkesden/schedule.html

Please note:
Office hours are times that I do my best to reserve exclusively for "drop in - no appointment" meetings with students, but I am often available at times other than office hours. Please don't hesitate to call or drop by at other times, or to request an appointment. Office hours are convenient -- if they are convenient for you. If not, please, please, please email or call for an appointment, or just take your chances and drop by - you can find my schedule on the Web.

Please remember -- I'm here to help. I appreciate the opportunity to serve you. Do give me the chance.

Please note that my office phone rolls to my cellphone 24x7. Please feel free to call it anytime. I turn it off on those rare occasions when I prefer not to be disturbed.

I am "gkesden" on many of the popular IM systems (AIM, MSN, GTalk, Skype, Yahoo). Please feel free to ping me.

Course Attendance

Attendance is expected at all classes. You are responsible for everything conveyed during class, even if you are absent. It is suggested that you make friends with your classmates -- they can be helpful should you miss class. In the event that you miss class, you should contact one of these individuals promptly to ask for help. The course staff is not responsible to help you with material or procedural announcements from which you opted out by electively missing class.

The instructor may take attendance at any time, up to once per lecture, and penalize anyone absent up to 3% of their final course grade per recorded absence.

Need Help?

I can't stress enough that the course staff, the instructors and TAs, are dedicated to providing you the highest possible levels of support: inside of the classroom and outside. Please, if you need help, do ask.

Important: It is strongly suggested that you email all of us with questions. This will assure you of the fastest possible answers. You can do this very easily by using the cse-120-staff@googlegroups.com mailing list.

Course Organization and Grading

  • Lectures: The lectures present the core of the material.
  • Sections: The discussion sections are given by the TAs to answer questions about the lecture, textbook readings, homework assignments, and project assignments.
  • Readings: The readings in the textbook provide preparation and a reference for the lectures. Note, however, that they are not a substitute for the lectures.
  • Homeworks (15%): There are approximately four homework assignments with questions taken from the textbook and other materials. The homework assignments reinforce the readings and lectures. You may work on homework assignments in groups -- but everyone in the group must be physically present together while working on the assignment and all names must be listed on the submission. This is out way of encouraging study groups.
  • Projects (30%): There are three programming projects, all using the Nachos instructional operating system.
  • Exams (25%+30%): There are two exams, a midterm exam (25%) in the middle of the quarter and a final exam (30%) at the end of the quarter. The exams will cover the material presented in lecture, the homeworks , and the projects. You can use both sides of one 8.5x11" page of notes to assist you during the exams.

    Important note: Because of the importance of understanding both the theoretical and hands-on elements of systems, students must pass all three components of the course (homeworks, exams, and the projects) in order to receive a passing grade for the course. This does not affect the actual letter grade assignment unless one of the components is not completed to a passing standard.

Grade Corrections

We try to be very, very careful about scoring your work and maintaining your grades. But, we are human and will make mistakes. If you have any questions about grading, please see any member of the course staff.

If possible, s/he will help you "on the spot". But, if s/he want to discuss the issue with other members of the staff, which does occur in many cases, he or she might make a copy of your work and/or ask you to write down or email your concerns. Please don't be alarmed -- this is just to try to ensure correctness and consistency among staffers, as well as prevent miscommunication. If you are asked to provide a copy of the work or feedback in question, or to provide your concerns in writing or email, you are required to do this before your concern can be addressed.

Please keep copies of all of your graded work, electronic submissions, and electronic feedback, until you receive your final course grade and are satisfied that it is correct. Without the original work and the grading information, it is more difficult and time consuming to correct errors.

In general, grading concerns should be addressed within one (1) week. In the special case of the final exam, they should be addressed before the end of the next regular academic quarter (fall, winter, spring). The course staff, at its discretion, may refuse to reconsider grades outside of this time period.

Should concerns arise outside of these time periods, but during the quarter, please do contact any member of the course staff -- we want to be reasonable and will do our best, within ourt discretion, to help. Should concerns occur after the end of the quarter, please contact the instructor.

Collaboration

It is suggested that you form study groups as soon as possible. These groups generally work best if there are between three and five people involved, but sometimes pairs or slightly larger groups can work well. Typically the most effective study groups meet once per week for a few hours, or a couple of times each week for a couple of hours each meeting. For study groups to be effective, each member must work indivudally with the material in-between meetings such that s/he has something to contribute as well as questions to drive the discussion.

Unless otherwise specified, all assignments should be completed individually. In other words, it is okay to collaborate in studying the course material, but the "writing on the page" or the "code in the lab", as examples, should be your own "thought product".

If portions of your individual assignments have been significantly influenced by someone else, you should prominently give them credit for their contribution. Proper attribution is critically important -- and is an absolute defense against charges of "Academic Dishonesty".

Failure to provide proper recognition for the contributions of others towards any graded work may be, at the discretion of course staff, considered Academic Dishonesty under the applicable campus and university policies.

The academic honesty guidelines outlined by Charles Elkan apply to this course.

Late Work

You have four (4) "Late Days" for use on assignments this quarter. You can use one day on each of four assignments, four days on one assignment, &c. There are no fractional late days -- an assignment 1 second late requires the use of a full late day.

These late days are not "procrastination days". They are instead designed much like "personal days" at work to handle the little things that come up during the quarter: short illnesses, injuries, visiting family or friends, a burst of work in other classes, doctors vists, &c.

The use of these days is completely at your discretion -- but, once they are gone, they are gone. That's it. The course staff cannot give you more. There is a 20% penalty per day penalty for lateness not relieved through the use of one or more "Laye Day(s)".

There is, of course, the possibility that exceptions to this policy will arise. We certainly hope that nothing incapacitating will happen to any of you. But, in the event that there is some major life event including major medical issues, emotional problems, family problems, &c, the course staff stands ready to work with you, as appropriate.

But, because these events are major events that likely will affect more than one class, we refer these circumstances to other campus officials, typically academic advisors and/or college deans.

The use of late days on the last project may be limited to ensure the ability of students to prepare for final exams. Stay tuned.

Electronically Mediated Communication

You are not permitted to engage in any electronically mediated communication during class. No TXTing. No IMing. No email. No surfing the Web. No net games. No talking on your cell phone. You get the idea: If something is being communicated and anything even vaguely electronic is involved, it isn't allowed. If you are not comfortable with this -- find a different section or course.

Any student found to be violating this policy may be counted as absent for the day and penalized up to 3% of their final course grade (See the section on attendance).

Recording

High-fidelity recordings of class, including any audio and/or video recordings, regardless of the media or format, and regardless of the intended or actual use, are not permitted without prior written permission of the instructor. The class will be notified in advance should any such recording be approved. If you are not comfortable with this -- find a different section or course. Students have no right to record classes under any University policy.

Any student found to be violating this policy may be counted as absent for the day and penalized up to 3% of their final course grade (See the section on attendance).

This policy is intended to protect the privacy of the students. No student should be concerned about potential employers finding video on the Web of them asking questions or otherwise participating in discussions in class. This is an educational environment, not a recruting test.

Podcasts

This quarter, the instructor is experimenting with the campus-managed podcasts. Should attendance or class participation drop, or should the instructor otherwise believe that they are not in the best interest of learning, they may be discontinued and/or become unavailable, temporarily or permanently, without prior notice. Please attend class. Having said that, enjoy them (while they last?)