Syllabus

Fall 2013 is the last time this course will be offered.


Updated: 9 August 2013


When & Where: This course is a completely Web-based course. It is online only.
However, it is not a self-paced course. Students need to interact with each other in a timely fashion.

Instructor: Carolyn J. C.Schauble (http://www.cs.colostate.edu/~schauble)
           
           


Textbooks:
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.


Prerequisites: The official prerequisite is CS 370: System Architecture and Software
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.


Objectives: Upon completion of this course, students will be able to:

  • 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.
We will spend over half of the course examining UNIX topics including pipes, signals, threads, and remote procedure calls. We will also complete the study of the Silberschatz, Galvin & Gagne text.


Textbook Web Page: The authors' web site at   http://www.wiley.com/college/silberschatz/ contains:


CS 451 DL RamCT BlackboardLearn page: All other course material, as an online set of web pages, including course announcements, discussions, grades, lecture notes, and assignments, can be found via the RamCT page for the course: CS 451.

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.)


Course Resources

Course Files: Online copies of handouts, assignments, and other documents for the course are available through the course RamCT page. Current announcements and discussions are accessible through this page as well. The student should access the RamCT page frequently, several times a week.

Computing Resources: Some lab/programming assignments require Java programming. Other programs may need to be done in C or C++ instead. There will be an emphasis on Unix as an example of an operating system; so other assignments may require writing Unix scripts or exploring the Unix operating system. Each assignment should clearly state the programming language to be used.

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).

Minimal Equipment Requirements (Hardware and Software): Students are expected to have adequate computing resources in order to perform the following tasks:
  • 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).


Class Preparation and Attendance: This course is completely Web-based. All interaction between students and the instructor is via the Internet in an asynchronous manner (meaning that the class members do not all need to be logged in at the same time).

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.


Assignments:

Written Work: All homework and lab/programming assignments must be submitted electronically. Diagrams or work involving a substantial amount of mathematical notation may be done by hand and then scanned for electronic submission. Computer-aided drawing tools may be used when appropriate.

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.


Late Work / Regrades: See the Comments on Homework and Programming Assignments. (http://www.cs.colostate.edu/~cs451dl/Assignments/HWPolicies.php). These comments refer only to homework and lab/programming assignments. They do not refer to discussion assignments, online quizzes, term papers, or examinations.


Tests and Examinations: Exams are taken online, but students need to sign an certification that they will take the exam alone. Times and dates to be announced.


Grading  : (Subject to change): A student's grade is based on
  • 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.


Other Policies: Policies on cheating, plagiarism, incomplete grades, attendance, discrimination, sexual harassment, and student grievances are described in the Student Information Guide (http://www.CS.ColoState.EDU/advising/student-info.html). You should also review the Computer Science Department Code of Ethics (http://www.cs.colostate.edu/advising/CodeOfConduct.pdf). All other matters follow the policies set in the current Colorado State University General Catalog. Students are responsible for all the information in these documents.

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

Student Experience: In the on-line version of this course, the student has the course text, along with on-line lectures giving examples and explanations related to the course material. Automatically-graded on-line quizzes provide instant feedback on student comprehension.

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.

Content Delivery: The course is delivered on-line using RamCT, and it follows the 16-week semester schedule during the regular school year.

Interaction: Students interact with the instructor via email and the discussion groups. Students interact with each other using the discussion groups; they may also use email.

Student Assessment: The student may take on-line examinations or written examinations. In either case, the examinations must be proctored. In order to access an on-line examination, the student needs to present his individual password. All examinations are proctored according to the security standards set by the Division of Educational Outreach.

Time Commitment: The on-line course covers the same material that is covered in the on-campus version of the course. The assignments are the same. The structured discussions are beyond what is required on students on campus.

Equipment: Students are expected to have adequate computing resources to easily access the course RamCT page regularly and to create, edit, compile, debug, and execute a variety of programs for assignments. This can be via a personal computer and modem, or a terminal connected to a local area network that is connected to the Internet. The course programs can be developed and executed on the CS department's lab computers, but the student must have a means of accessing these computers, probably via ssh (secure shell) over the Internet.