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



Course Information

Lectures:
Physics 3
MWF 3:10pm-4:00pm

Recitation / Help session:
Atanasoff B29 (basement)
Thursday, 12:10-1 (Sections A, B, C)
Friday, 12:10-1 (Sections D, E, F)


Instructor and TAs

Instructor: Lu Ruan
Office: Atanasoff 204
Office Hours: MWF 4pm-5pm (or make an appointment by email).
Voice: (515) 294-2259
Email: ruan_AT_cs.iastate.edu

Teaching Assistants:

Shuxing Cheng
Office: Atanasoff B07 (basement)
Office hours: T 4-5, R 3-5
Email: scheng@cs.iastate.edu

Course Syllabus

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

The course will cover the following topics, either completely or partially, as time permits.



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!

Homework 0 must be completed before any other electronic submission is accepted.



Projects

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


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

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

Homework assignments will not be accepted after the deadline. Programming projects 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. Programming projects more than 100 hours late will be assigned a grade of zero points.

Slip Days

Each student will be given three slip days for projects. 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. Slip days are subject to the following rules.

Use your slip days wisely, because additional slip days 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 for Midterm 1 to cover Chapters 1-6 during the week of October 10, and Midterm 2 to cover Chapters 7-10 during the week of November 7. The final exam will be given according to the University schedule, 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-6624.


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 slip day for the project:
          touch SLIPDAY
        
    (To use two slip days you would have typed: touch SLIPDAY1 SLIPDAY2)
  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 at Sun Jan  9 20:34:24 CST 2005.
     We now have the following files from you for Project1
     ---------------------------------------------------
     SLIPDAY 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.