Syllabus
Fall 2013 is the last time this course will be offered.
Updated: 9 August 2013
However, it is not a self-paced course. Students need to interact with each other in a timely fashion.
Required: Silberschatz, Galvin, and Gagne, Operating System Concepts, 9th edition,
Wiley (2013), ISBN-13: 978-1-1180-6333-0.1.
Digital E-Book: ISBN 978-1-118-55961-1.
Note: This is a fairly new edition of this text.
If you have another edition
of this text, say the 7th or 8th edition, that should be
acceptable.
Required: K. A. Robbins and S. Robbins,
UNIX Systems Programming, 2nd edition,
Prentice-Hall (2003).
ISBN-13: 978-0-13-042411-0.
Some assignments will be related to this text.
Note: You may be able to find a used edition of this
text from amazon.com, barnesandnoble.com, or a similar source.
Grade of C or better (Strictly enforced)
Most 300-level undergraduate courses in Operating Systems fulfill this requirement. Please contact the instructor to be sure.
- Students are expected to know and understand
the fundamentals of operating systems
as taught in an undergraduate course
using a text such as the first half
of Operating System Concepts
by Silberschatz, Galvin and Gagne.
- Topics understood should include design and implementation of operating
systems, machine organization, and file systems.
- Students are also expected to be able to program
in both Java and C/C++ in a Unix environment.
- The CS 370 course at CSU fulfills these requirements.
- Consult the instructor if you are unsure of your background.
- To understand more fully the concepts employed in operating systems,
- To explore the use of operating systems, using UNIX as the example,
- To examine issues in distributed operating systems and study their resolution in a number of case studies,
- To practice programming with threads, remote procedure calls, and client/server processes.
- source code for example programs;
- online appendices (A, B, and C) for text;
- solutions to practice exercises in text.
The RamCT portion of this course is password-protected and requires the student to have a CSU electronic ID (eID).
(Please go to eid.cs.colostate.edu, if you do not yet have a CSU eID.)
Programming assignments should be tested via ssh on one of the Computer Science lab machines, to which students are assigned accounts. The instructor or graduate teaching assistant runs your program on these machines to determine your grade. Some assignments may require you to run tests on the Computer Science machines.
Other work may be done on any computing equipment to which you have access.
RamCT can be used with current browsers on most machines, anywhere. Firefox is preferred to Internet Explorer, but there have been some problems with Firefox with online quizzes. Some firewalls have been known to interfere with RamCT access. Most homeworks should be submitted on the class RamCT Assignments page. There are also required quizzes accessible only through RamCT. Again, to access RamCT, students must have an account on holly (or lamar) and have a CSU electronic ID (eID).
- To easily access the RamCT page regularly
(Caution: some firewalls may cause problems); - To create, edit, compile, debug, and execute both Java and C/C++ programs;
- To have access to some Unix-based machine, such as a Linux box, a Sun Solaris machine, a Mac OS X machine, or the machines in the general CS labs.
- To access and execute programs on the CSU Computer Department machines (including Linux machines).
However, there are assignments due every week:
- Reading Assignments:
- from the Web pages
- from the textbook
- Quizzes:
- completed within RamCT
- graded, but also useful for self-assessment
- as drills, may be taken more than once with highest grade recorded
- recording of grades automatic
- Class Discussions:
- as asynchronous interaction with other class members
- via the class discussion/bulletin board
- required approximately once a week and sometimes more often
- have the number of postings per student per topic is automatically recorded
- Programming and Homework Assignments:
- approximately one per week
- submitted electronically
- programs must compile and run on the CS Linux lab machines
- Unix scripts must run on the CS Linux lab machines
- Final Term Paper:
- a 10-15 page paper
- three parts: topic, paper, peer review
The student is responsible for checking the RamCT calendar for deadlines and due dates as well as the RamCT discussion board for announcements.
The course schedule follows the normal CSU semester schedule. This is not a self-paced course.
All work must be neat and legible. Illegible work receives no credit. The instructor reserves the right to define what is or is not legible or easily read.
Essays and answers to discussion questions and other assignments must be coherent, succinct, readable, and grammatically correct English prose. Part of the grading for such questions reflects this.
Essays and answers to discussion questions on proctored examinations need only list the relevant points. The student does not have time to write more than one draft, and so the instructor must be lenient on grammar, spelling, and style.
All the work for the course must be submitted electronically, using RamCT. To access RamCT, students must have a CSU electronicID (eID). When an assignment is to be submitted via RamCT, it will not be accepted in any other form.
The preferred format of submitted files is usually as PDF files, as MS Word or Excel files, or as text files (formatted into lines of 65 characters per line or less). When figures or diagrams are required, they may be submitted as JPEG, GIF, or MS Word or Excel files. If you want to use some other file format, please ask the instructor or GTA before submitting your file.
In other words, DO NOT E-MAIL assignment solutions to either the instructor or the GTA. Instead email both of us, at cs451dl@cs.colostate.edu, a message about the problems you are having submitting the assignment.
- homework & programming assignments (30%)
- discussion assignments (12%)
- a term paper (12%)
- RamCT online quizzes (12%)
- a mid-term exam (16%)
- a final exam (18%)
Final letter grades are based on the relative distribution of the total scores. This varies from semester to semester.
With regrades and possible extra credit on some assignments,
most total scores are 90 or above.
This means that
a final grade of 93 could earn a letter grade of only B+.
For instance, one past semester
of a similar course was graded as below:
94 and up | A | 84 up to 91 | B | 73 up to 82 | C |
92.5 up to 94 | A- | 83 up to 84 | B- | 62 up to 73 | D |
91 up to 92.5 | B+ | 82 up to 83 | C+ | below 62 | F |
The grades for this semester could go either up or down from this scale, depending on the grades earned by this semester's students.
Exams and projects will be done individually and grades assigned on an individual basis. Further, students not already familiar with the CSU Honor Pledge (http://tilt.colostate.edu/integrity/honorpledge) should review this clear and simple pledge and always adhere to it.
Comparison to Traditional Delivery
Part of the on-line student's grade is based on his contributions to course topic discussions in the RamCT discussion groups. These asynchronous discussions may be richer and more detailed than for an in-class discussion, as the students have time to consider and prepare their opinions and responses, including references. Furthermore, all students are required to participate in every discussion.
The on-line students may ask questions at any time via email or the discussion groups, whenever they are having trouble. The instructor and/or teaching assistant is likely to check his email and the discussion group messages more often than office hours are held.