CSci 4061: Introduction to Operating Systems:: Fall 1999 Syllabus

Day: Tu, Th 12:30am-1:45pm;EE/CS3-210, 4 cr
Evening: M 06:30pm-09:00pm; Arch 40, 4 cr
Role: Name Office & Hours Phone Email
Instructor: Prof. S. Shekhar EE/CS 5-203, Tu Th 1:45-2:45pm  624-8307,
TA: Weili Wu EE/CS 2-209, M 1:30-3:30pm  626-7512, 
TA: Baek Young Choi EE/CS 4-205, Tu 10am-12noon 625-0330, 
TA: Vijaymohan Deshmukh EE/CS 2-209, M 11:00-12:00, F 10:00-11:00am 626-7512, 
Schedule: lecture, homework, examination , and recitation
Homeworks: homework descriptions and recommended exercises 
Lecture Notes: postscript/pdf  
Web Pages: Main (, 
TA-Announcements , Instructor-Announcements ,
Copy Shop: Copies on Campus, Coffman Union Basement.
Textbook: K. A. Robbins, and S. Robbins, Practical Unix Programming: A Guide to Concurrency, Communication, and Multithreading, Prentice Hall, 1996, ISBN 0-13-443706-3.
Supplement: Jerry peek, Grace Todino, and John Strang , Learning the UNIX Operating System, 4th Edition, O'Reilly, 1997, ISBN:1-56592-390-1.
Topics: User-level programming view of operating systems; Shell Programming; System calls for file systems, process management, input-output, signal handling, pipes and sockets. Current topics (e.g. Threads).

Examinations and Assignments: Submission of all assignments and scoring >= 50% on the final examination are the two necessary conditions for passing this class. The weighting scheme used for grading is: Midquarter exam - 25%, Final exam - 40%, Assignments - 35%.
Assignments are due at the beginning of the lecture on first meeting in the designated week. UNITE students should have their homeworks postmarked by this date and pursuade their site coordinators to fax it to "Weili Wu, TA for Csci 4061" at 625-0572 the same day. However, assignments put in the TA's office (EE/CS 5-202 ) by 5:00 pm will be counted as having been submitted that day. DO NOT submit assignments in EE/CS 5-203. All assignments must have your name, student ID and course name/ number. There would be  five assignments, some of which may require programming.
Late submission policy: Assignments submitted late will be penalized at the following rate, 1 day - 30%, and >= 2 days - 70%. Weekend days will be counted. For assignments, you are encouraged to type or typeset your answers. For programming assignments you are encouraged to use pretty printers to make your listings more readable. Following is (roughly) the weight distribution for case-study/project problems: Correctness - 60%, Test Results Summary - 10%, Style and Documentation - 15%, Approach - 10%, and Report - 5%.

Exams: Students are responsible for all material covered in lectures, as well as that specifically mentioned as part of the supplementary reading assignments. Examnations will heavily emphasize conceptual understanding of the material.
Cheating/ Collaboration: Getting help from services like general debugging service (GDS), web-sites (e.g., or copying someone else's assignment, or the common solution of written or programming assignments will be considered cheating. The purpose of assignments is to provide individual evaluation as well as a tool to get you thinking. Interaction for the purpose of understanding a problem is not considered cheating and will be encouraged. However, the actual solution to problems must be one's own.

Helpful Comments: This class is Very Interesting (for your personal understanding of software development process) and useful. Practitioners may be invited as guest lecturer during discussion of topics such as system administration, Win32 etc. To get full benefit out of the class you have to work regularly. Read the textbook regularly and start working on the assignments soon after they are handed out. Plan to spend at least 10 hrs a week on this class doing assignments or reading.
Good Luck, and Welcome to CSci 4061!
Shashi Shekhar