COMS 352: Introduction to Operating Systems
Department of Computer Science
Iowa State University



Course Information

Lectures:
Gilman 1652
MWF 2:10pm-3:00pm

Recitation / Help session:
Thu 1:10-2pm, Durham 171


Instructor and TAs

Instructor: Dimitris Margaritis
Office: Atanasoff 103
Office Hours: M 12noon-1 and 4-5, W 4-5 (or make an appointment by email or come by the office).
Voice: (515) 294-8052
Email: my email address

Teaching Assistant: Nurzhan Ustemirov
Office: TBA
Office hours: TBA
Email: nurzhan@cs.iastate.edu


Course Syllabus

Course textbook
Text: Operating Systems Concepts, 7th Edition, by Silberschatz, Galvin, and Gagne.

The authors provide lecture notes for the course.

The course will cover the following topics, either completely or partially, as time permits. These may be presented in a slightly different order than the one listed below.



Grading Policy

Your final grade in this course will be based on homeworks, programming projects, and exams. These will be weighted as follows.

You are guaranteed to receive the highest applicable letter grade based on the following scale.

The instructor reserves the right to raise grades. For example, if your final grade is 83%, you are guaranteed to receive at least a B, but you may receive a B+.

Graders will email scores for homeworks, projects, and exams to students. Grades may be appealed for ONE WEEK after they are emailed except the final exam whose grade will be emailed by request only. After the appeal period has expired, grade change requests will be denied.



Homeworks

Homework assignments will be due on Monday of each week (unless stated otherwise), and will be discussed during recitation. ALL homework must be turned in electronically (see the section on electronic submission). Written work must be submitted as plain ASCII text. The graders must be able to view your homework using a text editor such as vi, emacs, or pico. Word or WordPerfect files will not be accepted!

Homeworks out:

None yet.


Projects

There will be three programming projects for this course. The following applies to all projects.

Projects out:

None yet.

Academic Honesty

Homework assignments and projects are individual efforts, not group efforts. While discussion of assignments with other students is encouraged, a level of discussion that produces identical work is prohibited. When discussing code with other students, you may

You may NOT however discuss algorithms to the level of detail that (almost) completely specifies it.

It is expected that you have written EVERY LINE OF CODE that you submit (with the exception of code given out in class). The following are examples of activities that are PROHIBITED:

Such activities will result in zero points awarded for the assignment and a formal charge of Academic Dishonesty through the Dean of Students' Office (see the University's Academic Dishonesty Policy for details).



Late Policy

Programming projects and homework assignments will be penalized 1% per hour past the deadline. For instance, if you turn in a project 6 hours late, your grade will be multiplied by 0.94. Homework assignments will not be accepted after Thursday at noon. Programming projects more than 100 hours late will be assigned a grade of zero points.

Coupons

Each student will be given three coupons for projects only. You can think of these as personal due-date extensions. For instance, you can submit one project three days late, one project two days late and one project one day late, and other combinations without incurring the late penalty. Coupons are subject to the following rules.

Use your coupons wisely, because additional coupons will not be awarded except under extreme circumstances.



Exams

There will be two midterm exams and one final exam. Midterm exams will be one-hour, in-class exams. The tentative exam schedule is the middle to end of February for Midterm 1, which will cover Chapters 1-6. Midterm 2 will be tentatively in April, and will cover Chapters 7-9. The final exam will be given according to the University schedule (Thu, May 3 12:00noon-2:00pm currently), and will cover the remaining material in depth and general concepts from the midterms.

All exams will be closed book and closed notes. Please bring a photo ID with you to each exam. To reschedule an exam or for special considerations, please contact the instructor at least one week prior to the exam date. Missed exams will not be re-offered except under extreme circumstances.



Accommodation of Disabilities

If you have a disability and anticipate needing accommodations in this course, please contact the instructor within the first two weeks of the semester. Before meeting with the instructor, you will need to obtain a SAAR form with recommendations for accommodations from the Disability Resources Office, located in Room 1076 on the main floor of the Student Services Building. Their telephone number is 515-294-7220.


Electronic Submission

All homework assignments and programming projects must be turned in electronically, using a script called turnin. The script is invoked by calling

  ~cs352/bin/turnin Assignment

(You may create an alias to reduce your typing requirements.) The script copies everything within your current working directory to a directory named Assignment in the TA's grading account. Note that the script must be invoked from one of the Red Hat PCs (e.g., popeye). Use caution when submitting an assignment: if you turn in the same assignment more than once, your previous submission will be erased. You should receive email confirmation of your submitted files. If you don't, or if you receive an email without mentioning your files, there was a problem with the submission. A common problem is too little disk quota in your account (the turnin script uses some temporary space in your account and will fail if there is not enough space).

An example

This example assumes that the script has been aliased, by adding the following line to your .cshrc file.

  alias turnin352 ~cs352/bin/turnin
  1. Copy the files you want to submit to a temporary directory
          mkdir tmp
          cd tmp
          cp ~/proj1/makefile ~/proj1/*.c ~/proj1/*.h
        
    To use a coupon for the project:
          touch COUPON
        
    (To use two coupons you would have typed: touch COUPON1 COUPON2)

  2. Execute the turnin script
          turnin352 Project1
        
  3. Wait for email confirmation
    You should receive a message similar to the following.
     This is an automated response. Please do not reply.
     We have received your Project1 submission on Sun Jan  9 20:34:24 CST 2006.
     We now have the following files from you for Project1
     ---------------------------------------------------
     COUPON makefile source1.c source1.h source2.c
     ---------------------------------------------------
         
  4. Remove the temporary directory
          cd ..
          rm -R tmp
        

If you have any difficulty with electronic submission, please contact a TA or the instructor.