Syllabus:

This class has been taught by Dr. John Rose for many years. I will be closely following his outline and curriculum for CSCE 311 - Operating Systems. I have reproduced my version of his syllabus below.

Topics:

  • Hardware and architecture support for OS
  • Process description and Control
  • Concurrency
  • Scheduling
  • Memory Management
  • File Management
  • Distributed Systems and networks
  • Real-world examples of implementations
For more details, stay tuned.

Class Meeting Times:

Section Days Time Room
Lecture 002 TR 1625 - 1740 SWGN 2A14
Lecture 001 TR 0830 - 0945 SWGN 2A14

Instructors & Teach Assistants:

Section Name Office Email Phone Number Office Hours
002 Jeremy Lewis Storey Innovation Center 2217 lewisjs4@cse.sc.edu TR 10-12, 13-14, by appointment
001 & 002 Kimberly Redmond Storey Innovation Center 2271 redmonkm@email.sc.edu MW 9:30-11:30
001 & 002 Jie Cai jcai@email.sc.edu MW 9:30-11:30

Prerequisites:

  1. CSCE 212
  2. CSCE 240

Required Texts:

  1. Operating System Concepts (9th edition) by Silberschatz, Galvin, and Gagne, John Wiley & Sons, 2012.
  2. Introduction to Operating System Design and Implementation: The OSP 2 Approach by Michael Kifer and Scott Smolka, Springer, 2007

Reading and Lectures Policy:

Attendance at lectures is mandatory.
Students will be expected to have read the material for each lecture prior to the lecture and to be able to actively participate in discussions during class. In order to motivate you in this regard, there will be pop quizes every week and possibly every class. The first 5-15 minutes of the class will be spent on a pop quiz based on the assigned reading material with. You will be allowed to use notes that you have taken, however, you may not use the textbook during the quiz. Keep in mind that pop quizes constitute 10% of your grade, if you are habitually late and miss these quizes you will have forfeited one letter grade.

Assignment and Project Policy:

This class will entail a great deal of effort on your part.
There will be four significant programming projects. You will have two-three weeks to work on each project. In addition, there will be five written homework assignments. Homework assignments must be turned by the time listed in the assignment on dropbox on the specified due date. They must be submitted as PDF files! You will receive no points if submitted otherwise. Programming projects will also be submitted in the same way using dropbox.

We will be covering a large amount of material, and you will have a significant work load. Keep in mind:

  1. Late projects or assignments will be penalized 10% per day.
  2. No projects or assignments will be accepted after 5 days.
  3. Make up exams will only be given with a valid written excuse from the correct authority and may be much more difficult than the original.

Obviously, in the event of an unforeseen emergency or serious illness, there may be an exception. It is your responsibility to notify me of emergencies and serious illnesses in a timely manner. That means no waiting until weeks after the missed class or the day the assignment is due to let me know what is going on.

This is a large class and sometimes mistakes in grading are made. You have 5 days from the time an assignment is returned/graded to rectify any such mistake.

Grading Policy:

Quizes 10%
Programming Projects 35%
Homework 10%
Midterm Exam 15%
Final Exam 30%

Grade ranges:

A 90-100
B+ 86-89
B 80-85
C+ 76-79
C 70-75
D+ 66-69
D 60-65
F < 60

Grades will not be curved. You will receive the grade that you have earned. N.B. If you want to receive a passing grade, then you must earn it during the semester. There will not be any extra credit assignments. Although I reserve the right to give you the chance to earn points back in some cases.

Cheating Policy

Cheating is defined as giving or receiving unauthorized aid on an assignment, quiz, test or project, or not documenting an outside source of information should one be used. It is unacceptable and will not be tolerated. All offenses will be reported to the dean in accordance with the Carolina Community student handbook.

Students are expected to do their own work!
While discussion of general aspects of the material is encouraged, collaborative efforts are grounds for receiving a failing grade. Academic sanctions are as follows. For the first cheating offense a student will be docked twice the number of points that assignment is worth. So for example a student cheats on a 10 point quiz, that student will receive a -20 as a grade on that quiz. For the second offense the student will receive an F as a grade for the course. A good general rule of thumb is that if you can discuss the project or assignment, go eat dinner, and then go code, you are safe. ANY CODE from a textbook, website, etc. should be sited to ensure that there is no questions about intent.

Note: If the cheating offense is on a programming project or exam, then the student will receive an F as a grade for the course even if this is the first offense.