East Carolina University
Department of Computer Science

CSCI 3000
Operating Systems
Standard Syllabus


3 credits Prepared by K. Gopalakrishnan, May 2018

Catalog entry

P: CSCI 2405, CSCI 2530. Operating system design and implementation. Process and memory management, and file systems. Operating system support for distributed systems.

Course summary

The objective of this course is to provide the computer science students a thorough understanding of the concepts and principles of operating systems and an appreciation of the implementational issues. The prerequisites for this course are working knowledge of C or C++ programming language, knowledge of UNIX from the user point of view and a thorough understanding of basic computer architecture and data structures.

An operating system is a program that acts as an interface between a user of a computer and the computer hardware. The primary goal of the operating system is to make the computer system convenient to use. A secondary goal, but still an important one, is to utilize the computer hardware in an efficient manner. In this course, we will study the different parts of an operating system that enables it to satisfy the above goals and to shield the users from the messy details of controlling the hardware.

Course topics

Student learning outcomes

Textbook

Modern Operating Systems by Andrew Tanenbaum, Pearson Education Inc., Fourth Edition, 2015.

Other required material

The following are good reference books and will be placed as reserved material in the library. You do not have to purchase them, but will need to consult them. The first one is a good alternate textbook and the last two would help in doing the programming assignments given in C and UNIX.

Grading

Your grade in this course will be based on your performance in assignments and examinations. The examinations will account for 55 percentage of your grade and the assignments will account for 45 percentage of your grade.

Assignments must be taken seriously and must be submitted in time. Most of the assignments will be programming assignments in C and UNIX. Some of the assignments will be traditional paper based assignments (homework).

There will be two regular examinations during the semester and a final comprehensive examination at the end of the semester.

Grade meanings

Grade Meaning
A  Achievement substantially exceeds basic course expectations
A−  
B+  
B Achievement exceeds basic course expectations
B−  
B+  
C Achievement adequately meets basic course expectations
C−  
D+  
D Achievement falls below basic course expectations
D−  
F Failure – achievement does not justify credit for course