|
GENERAL INFORMATION - http://www.cs.columbia.edu/~nieh/teaching/w4118
|
Meeting Times and Location:
Fall 2008, MW2:40-3:55PM Mudd 535
Prerequisites:
COMS W3137 Data Structures and Algorithms,
COMS W3157 Advanced Programming (or good working knowledge of C), and
COMS W3827 Fundamentals of Computer Systems
Description:
Design and implementation of operating systems. Topics include
process synchronization and interprocess communication, processor
scheduling, memory management, virtual memory, interrupt handling,
device management, I/O, and file systems. Hands-on study of Linux
operating system design and kernel internals. Experience with
commercial virtualization tools and open source software.
The course has received some press for innovation in being
the first to introduce virtualization as a tool for teaching computer
science, specifically operating systems. For more information, see
ZDNet
and Dr. Dobb's Journal.
Enrollment:
The Fall 2008 enrollment for this class will be limited. Please
register early if you plan to take this class in Fall 2008. If the
class is full and you would like to take the class, please email the
instructor and come to the first day of class.
|
|
INSTRUCTIONAL STAFF
|
- Instructor:
Prof. Jason Nieh,
212-939-7160, office hours: MW4-5PM CSB 518
- TA:
Carlos-Rene Perez,
646-775-6005, office hours: M11AM-1PM, F1-3PM CSB 521
- TA:
Taek Joo Kim,
212-854-4916, office hours: T2-4PM TA Rm
- TA:
Shariar Kazi,
212-854-4916, office hours: R11AM-1PM TA Rm
To email the instructional staff, please use the w4118 staff mailing list, which is listed in the intro section of the class in Courseworks.
|
|
COURSE MATERIALS
|
- Required Text:
Modern Operating Systems (3rd Edition), Andrew S. Tanenbaum, Pearson Prentice Hall, Upper Saddle River, NJ, 2007 (available from Amazon.com and Columbia University Bookstore).
- Required Linux Reference:
Understanding the Linux Kernel (3rd Edition),
Daniel P. Bovet, Marco Cesati,
O'Reilly & Associates, Sebastopol, CA, 2005 (available from
Amazon.com and Columbia University Bookstore).
See also Errata.
See also Google Book Search.
- Computing Requirements:
$50 CS account
fee required.
|
|
COURSE GRADE
|
| 50%:
|
Homework Assignments:
There will be six homework assignments. Your lowest homework assignment
grade will be dropped in calculating your grade. Each assignment will have
both non-programming and programming problems. The programming
problems will involve kernel-level programming in the Linux operating
system. |
| 20%:
|
Midterm:
The midterm is one class period, closed book, calculator permitted.
The midterm will cover all material discussed in the course up to the
week before the exam.
|
| 30%:
|
Final:
The final exam is scheduled at the normal final exam time for this
class period. The final is closed book, calculator permitted. The final
is cumulative and will cover all material discussed in the course.
|
| 0%:
|
No "extra credit" work
|
|
HOMEWORK POLICY
|
|
All work is due by the date and time specified in the respective assignment;
there are no extensions. It is much better to submit partially
complete homework on time and get partial credit for your work than to
submit late homework for no credit. Homeworks submitted after the
respective deadlines when they are due are considered late. Late
homeworks will not be accepted unless there is a valid medical or
family condition with appropriate documentation submitted to the
instructor.
Submissions should be made electronically via Courseworks. You can submit
multiple times, but the last submission is what counts. Each
submission will be time stamped. Proper submission is your
responsibility; we strongly urge you to make sure you understand the
submission process and submit early. You can always submit again up
until the deadline, so we strongly urge you to submit well before the
deadline and then submit again if you have a more updated assignment
to submit later.
|
|
GRADING POLICY
|
If you disagree with any homework grade, submit your grievance via
email to the w4118 staff mailing list, documenting the merits of your case.
The grader responsible will respond likewise via email. If you are still
dissatisfied you may appeal in like manner to the instructor, who will
only examine the email record of the dispute, and will respond in
email.
If you disagree with any exam grade, submit your exam and grievance in
writing (not email) to the grader responsible, documenting the merits
of your case. The grader will respond likewise in writing. If you
are still dissatisfied you may appeal in like manner to the
instructor, who will only examine the written record of the dispute,
and will respond in email.
For a grade dispute to be
considered, the written grievance must be submitted in writing within
two weeks of when the respective assignment or exam is returned.
|
|
PROGRAMMING POLICY
|
|
For your convenience, all programming can be developed on any
machine that can run Linux and VMware. However, only those programs
which compile using the gcc compiler on the
CLIC
machines will be graded. Furthermore, it is critically important that
all submitted program listings and executions be thoroughly documented.
All programs must compile and all kernels you modify must also boot;
programs and kernels that do not compile and boot will receive a grade
of zero.
Usually the homework assignments will only state the
major objectives of the program to be written; it will be often up to
you to make design decisions about things like I/O, efficiency, error
handling, and so on. Make sure you provide adequate test cases to
indicate the correctness and robustness of your approaches.
|
|
COLLABORATION/COPYING POLICY
|
|
We encourage you to help one another in understanding the concepts,
algorithms, or approaches needed to do the homework assignments for
this class. However, what you turn in must be your own, or for group
projects, your group's own work. Copying other people's code, solution
sets, or from any other sources is strictly prohibited. Students in
previous years have often been caught cheating by copying answers from
the web, which turn out to be incorrect. The homework assignments
must be the work of the students turning them in. Anyone found
violating the class collaboration policy will be punished severely.
All students or groups whose assignments are determined to
be obviously very similar will receive a zero on the respective homework
assignment for the first offense, and will receive an F for the course for
the second offense ("all" means both the copy-er and copy-ee). More
serious cases of cheating, such as copying someone's work without their
knowledge or cheating on exams, will result in the person cheating
receiving an F. In addition, offenses will be reported to the Dean's
office, which may result in further disciplinary action, including
suspension or expulsion from the program. Penalties will be given
without discussion or warning; the first notice you receive may be a
letter from the Dean. Note that you are responsible for not leaving
copies of your assignments lying around and for protecting your files
accordingly.
|
|
OPEN DOOR POLICY
|
|
We would like the course to run smoothly and enjoyably. Feel free to
let us know what you find just, good, and interesting about the
course. Let us know sooner about the reverse. See us, leave us a
note, or send us email.
|
|