CSCI 340 Operating Systems
Fall 2005
Syllabus


Instructor:
Tyson Henry
OCNL 224, 898-5709, tyson@ecst.csuchico.edu
Office Hours:  Monday 1:30-3:00, Tuesday 3:30-4:30, Friday 1:00-3:00, and by appointment (send e-mail).   My complete schedule.



Prerequisites:       
    

CSCI 311 (formerly 151)  Algorithms and Data Structures
CSCI 320 (formerly 171)   Computer Architecture

If you have not completed both prerequisites with a grade of C- or better, I could fail you in 340 even if you complete all the work.

If you took the prerequisites at another university, they must be approved for transfer before starting 340.



Required Textbook:  (available at the CSUC bookstore)

Operating System Concepts
by Abraham Silberschatz, Greg Gagne, Peter Baer Galvin
ISBN: 0471250600
6th Edition

Note:  My lectures will follow the 6th edition, I don't know how different the 5th edition is from the 6th.  There is an XP version and a non-XP version of the 6th edition.  The XP version contains  an extra chapter that covers XP.  I won't be covering this chapter.


Grading:

Grading is relative. The students that do the best work will get an A, the students that don’t do as well will get a B, and so on. I do not follow the traditional percentage grades of 90% = A, 80% = B, etc., and I do not grade on a curve that defines how many students will receive each grade.

Students will receive a letter grade A-F (4.0 – 0.0) for each category (1 for exams, 1 for projects). The course grade will be a weighted average of the individual letter grades (see category percentages below). This mechanism allows for relative grading of each category (e.g., if the best score on the exams is a 60%, that student will probably receive an A for the exams, thus an A (not the 60%) will be averaged with the student’s other grades).  This grading mechanism means that you have to get an A on both the assignments and the exams to get an A in the course.


I will routinely post the grading spreadsheet (grades). If you are not happy with a grade, talk to me immediately. If you do not talk to me within a week of the posting of a grade, I will assume you think the grade is fair and accurate, and you will lose your right to dispute the grade.

Grade category percentages

Exams 60% of course grade  (2 midterms and a final)
Programming Projects 40% of course grade

The final exam will be weighted 1.5-2.0 times as much as each midterm. The final will be cumulative. All exams will cover material from the lecture, the textbook, and the programming projects.

As an example of how I distribute grades, look at the grade spread sheet from my 152 in  Fall 2004.


Programming Assignments:

There will be 4-5  programming assignments. 

Students can work individually or with one other student of their choosing.  You may work with the same or different people on each assignment.  If you choose to work with someone else, both students must contribute equally to each assignment.  For example, you can't take turns doing assignments.  Sitting at a computer together (called pair programming) has been shown to be very effective in both academic and industry settings.

The easier assignments will be worth a smaller percentage of your grade than the harder assignments.  For each assignment, I will assign a weight when I assign the program.  However, as the semester progresses it may become apparent that the weight of an assignment is not congruent with the other assignments, and thus may be changed.

Late Assignments: 

Assignments turned in 1-24 hours after the due date will lose 10%

Assignments turned in 24-48 hours after the due date will lose 20%

Assignments will not be accepted more than 48 hours late.


E-mail:

I will routinely communicate with the class via e-mail. I will use your ECST e-mail. If you do not routinely read your ECST e-mail, you should create a .forward file to forward your ECST e-mail to the account you routinely read. The size of your ECST mailboxes is limited. If you let too much mail build up, you will not be able to receive new mail and thus might miss some important class information.

I will also post e-mail I send to the class at e-mail sent to class.

You are required to read e-mail I send to the class.  Due to the nature of programming, e-mail is the best way to send updates on assignments.  I suggest that you make sure your e-mail is working (by comparing e-mail you've received from me to that posted on the class web site) and that you check the class e-mail when working on class assignments and before exams.


You can read your ecst email via the web at:  http://webmail.ecst.csuchico.edu/src/login.php


Honesty


I will fail students who cheat.  I do not give second chances.  It is not a good idea to cheat in my class.  Don't underestimate my ability to catch people who cheat, I catch cheaters every semester.

I expect all students to follow the University’s honesty policies (http://www.csuchico.edu/sjd/discipline/honesty.html). I will fail students who do not follow these policies, even if they don’t understand them. It is your responsibility to understand these policies.

The bottom line is that you must do all the assignments on your own, or if you are working with another students, the two of you must complete the assignments on your own. Turning in code that anyone else wrote is cheating and will result in failing the course.  Here are some examples of cheating:

copying code from another student without a clear and detailed reference
copying code from a book without a clear and detailed reference
copying code from the internet without a clear and detailed reference
paying someone else to write your code
buying code
stealing code
letting someone steal your code (e.g. giving out your password, incorrect file protection)
giving your code to another student (both giving code and taking code are forms of cheating)
helping another student so much that he/she is not doing the assignment (both helping too much and getting helped too much are forms of cheating)


On the other hand, you are allowed to discuss projects and you may get help finding bugs.  Just make sure you don't get so much help that you are no longer doing the work.


Course Objectives:

Course Outcomes:

Students shall be able to: