Course Info for CSCI 315

Course Description

CSCI 315 is an introduction to operating system concepts. Class lectures will cover system structure and design principles, while the scheduled laboratories will deal with practical aspects including experimentation with important algorithms and program structures as well as UNIX system-oriented shell commands.


  1. Introduction
  2. Processes
  3. Threads
  4. CPU Scheduling
  5. Process Synchronization
  6. Deadlocks
  7. Memory Management
  8. Virtual Memory
  9. File Systems
  10. I/O Systems
  11. Mass Storage Structure
  12. Distributed Systems
Required Textbook

Complete the reading assignments by the date indicated in the lecture schedule.   Be prepared to discuss and raise questions about the material.
Students are expected to attend all lectures and laboratory sections.
Laboratory reports are due the Monday following the lab; you may use your late days (see below) for lab reports. Hand-written work is not acceptable (except where hand-written annotations are asked for). Some labs will have a pre-lab requirement. The pre-lab work must be handed in at the beginning of lab (i.e., no later than 10 minutes after the start of lab) and will count toward 30% of that lab's score.
Homework and Programs

You will enjoy this class more thoroughly if you successfully complete all the assignments. Problem sets and programs are due at the instructor's office by 5 p.m. on the appointed date. Please be neat when writing solutions to problem sets. Extra credit problems may show up on some homework assignments. These problems are not required, but you are encouraged to try them if you have time.

All assigned work is due on the date specified. Each student will be given 3 late days to use during the semester (a weekend counts as one day). When you hand in something late, indicate how many late days you are using and how many you think you have left. Once you have used all your late days, late work will be accepted only at the discretion of the instructor, and will be subject to a heavy penalty (typically a 50% reduction in your score).

If a grade needs to be adjusted, please see your instructor as soon as possible after the return of the assignment.


There will be two one-hour exams and a comprehensive final. The two one-hour exams will be held Monday 8 March and Monday 12 April. The final examination will be given at the time scheduled by the Registrar. Missing exams because of illness will require an excuse from a doctor. Make-up exams for excuses other than illness will be given only in extraordinary circumstances and only at the discretion of the instructor. If you expect that you will need a make-up exam, contact your lecture instructor at least one week in advance. If a grade needs to be adjusted, please see your instructor as soon as possible after the return of the exam.

The course grade will be distributed as follows.
Homework and Quizzes: 15%
Exam 1: 20%
Exam 2: 20%
Final Exam: 30%
Labs: 15%

Grades may be adjusted upwards or downwards at the discretion of the instructor in special circumstances. For example, an extremely bad failing grade on the final exam could be the basis for a substantial reduction of the final grade.


It is important to note that all course components must be completed for a student to pass the course (that is, homework assignments, lab projects, and exams). Even though a particular lab or assignment is a small percentage of your grade it still must be completed. All course requirements must be satisfied to pass the course.

Suggestions and Requests
We encourage the students to provide feedback, either positive or negative, on the course. Constructive criticism (that can help us improve this experience) is always welcome.

Bucknell University - Department of Computer Science

This page is maintained by guattery AT

Last modified 15 January 2010.