CS 3214 provides an introduction to computer systems as they are relevant to application programmers today, with an emphasis on operating systems principles. Topics covered include: operating systems design and architectures; processes, threads, synchronization techniques, deadlock; CPU scheduling; system call interfaces, system level I/O and file management; shell programming; separate compilation, loading and linking; interprocess communication (IPC); virtual and physical memory management and garbage collection; network protocols and programming; virtualization; performance analysis and optimization.
The topics will be accompanied by a series of exercises and programming projects that will give you hands-on experience in interacting with systems at different levels. Some projects will be done in a group, which gives you the added benefit of learning how to work in a team.
Instructor: | Dr. Ali R. Butt 2202 Kraft Dr, Room VTKW-2227 540-231-0489 |
Office hours: | T Th 2:00-3:00pm Office hours will be held in MCB 124. I am also available by appointment. |
Class website: | http://courses.cs.vt.edu/~cs3214/ |
TAs: | Scott Schneider (GTA) Peter Radics (GTA) Patrick Boyd (UTA) Office hours will be held in MCB 106*. Please see website for office hours. Additional office hours will be announced in the forum when projects are due. Peter and Scott are also available by appointment. |
Email: | To contact teaching staff, use cs3214-staff@cs.vt.edu |
Forum: | http://forum.cs.vt.edu/ |
Class Meeting Times: |
McBride 307 12:30pm - 1:45pm T Th Regular class attendance is not enforced, but is strongly recommended. Subjects taught in class closely correspond to the concurrently run exercises and projects. |
The formal prerequisites for this class consist of CS2506: Introduction to Computer Organization II and CS 2114 Software Design and Data Structures. Every student must prove that they have obtained a grade of C or better in those classes by submitting a Computer Science Prerequisite Form no later than Jan 27, 2010 for verification.
Upon completion of the course, students should be able to:
The required textbook is:
Computer Systems: A Programmer's Perspective (CS:APP)
Randal E. Bryant and David R. O'Hallaron
Prentice Hall, 2003, ISBN 0-13-034074-X.
I will post lecture notes after each lecture on the class website. In addition, the class website will link to other external resources.
The course work consists of a mix of lectures, exams, exercises, and programming projects.
Midterm: There will be one in-class midterm. The midterm will cover material from the lectures and textbook. The midterm will also include questions related to the programming projects.
Final: There will be a final exam. The final exam will be comprehensive and include material from the lectures, textbook, and programming projects.
Exercises: Exercises are done individually. They consist of small tasks that reinforce necessary skills. Exercises run in parallel with projects, generally have a short deadline, and late submissions are not accepted.
Projects: There will be 5 medium-size projects. Projects are done in
groups of 2 students.
Projects and exercises will be submitted electronically and grades
will be posted electronically. Instructions will be posted on the class
website.
Exercises are intended to ensure that you remain continuously engaged in the class and do not fall behind. Therefore, they must be submitted on time.
I am generally hesitant to grant individual extensions for projects. Instead, each student will have a budget of 4 late days that can be used to submit projects (not exercises!) late without penalty. You decide when you want to use your late days -- there is no need to contact the instructor or GTA beforehand. Late days are granted in whole integer multiples of days: if your assignment is 5 minutes late, you will have used up an entire late day. Submissions received after you have used up your late days will receive a zero score. For some assignments, you may work in a team. If you are working in a team, late submissions will count against the budgets of all team members, so make sure that all of you have enough late days left or the team member with an insufficient number of days risks getting a zero.
These late days are intended to account for various minor emergencies, such as network outages, snow or flood days, lab/cluster downtime, or job interviews.
If you are sick, or if you have family or other emergencies that prevent you from submitting assignments on time, please contact the Dean of Students Office (http://www.dos.vt.edu). They will make a determination as to what accommodation should be given, and inform the instructors of the classes in which you are enrolled of their decision. My policy is to provide you with as many additional late days as the note from DOS will say. For reasons of fairness, I will not make any calls myself about sick days or emergency accommodations; I will defer all such calls to them. If you have learning or other disabilities, please also see the section Students With Disabilities below.
Less-than-hoped-for performance or realizing you have taken on too much work this semester, are not permissible reasons to grant course withdrawal requests after Mar 1, 2010. This policy applies only to drop requests that have to be approved by the instructor; in particular, it does not apply to the course withdrawals for six credit hours to which you are entitled according to college policy.
I will not grant incompletes for this course unless truly extraordinary, unforeseen circumstances outside of your control are to blame. See also Late Policy.
I estimate that the contributions of the different portions to your final grade will be as listed below, but I reserve the right to adjust these weights as necessary:
Midterm Exam | 15% |
Final Exam | 25% |
Projects | 40% |
Exercises | 20% |
I expect the median final grade for this class to be between a B and B-. In other words, students who consistently perform above the median can expect a B or better. The sample population over which this median is computed includes all students who submit at least one piece of work for grading during the course of the semester. We will publish score distributions for all projects and the midterm to give you an indication of where you are. I reserve the right to adjust this curve in either direction, depending on the performance of the class.
Students who do not appear for an exam at the scheduled time will receive a zero score on the exam.
For each of the 5 projects, a clearly defined subset of the overall project requirements is described as "minimum requirements."
To pass the class, you must meet the minimum requirements for all five projects by the end of the semester. If needed, I will accept late submissions for projects (beyond the late days discussed in the section Late Policy above) for the purpose of showing that you meet minimum requirements.
These requirements are necessary, but not sufficient conditions. You may still fail the class even if you avoid the auto-fail rules, which may happen if your midterm/final exam and/or exercise performance is too low in the judgment of the instructor.
"Passing the class" means a grade that is not an F.
Website: The class website and the forum are the primary means of communication from us to you. We will post announcements there, which are binding. In addition, we will send email to you as needed. Email etiquette:
On the class website you will find links to the following policies applying to this class: University Policy of Class Attendance, the The Virginia Tech Undergraduate Honor System, the ACM and IEEE Code of Ethics, and the Departmental Policy on Koofers.
The tenets of the honor code will be strictly enforced in this course, and all assignments shall be subject to the stipulations of the Undergraduate Honor Code. For more information on the Honor Code, please refer to the Undergraduate Honor System Constitution, location online at http://www.honorsystem.vt.edu/.
If I suspect that an honor code violation has occurred, I generally file complaints directly with the honor system. I am not required to discuss suspected honor code violations with suspected students before filing charges, and typically will not do so.
In addition, we will enforce the Departmental Policy on Koofers, Old Programs, Cheating, and Computer Use, available at http://www.cs.vt.edu/undergraduate/handbook#Koofer.
The following policies regarding collaboration apply in this class.
If you need adaptations or accommodations because of a disability (learning disability, attention deficit disorder, psychological, or physical), if you have emergency medical information to share with the instructor, or if you need special arrangements in case the building must be evacuated, please meet with the instructor as soon as possible.