Skip to content

Latest commit

 

History

History
53 lines (32 loc) · 2.49 KB

Syllabus.md

File metadata and controls

53 lines (32 loc) · 2.49 KB

Course Overview

  • CS 416 is a senior undergraduate course in operating systems.

  • We will cover the basic concepts in operating systems, such as processes, threads, virtual memory, file systems, and communication protocols.

  • We may also cover a few interesting research topics.

  • For the programming assignments, we will be using C.

Pre-requisites

  • Students must have taken an undergraduate courses in Systems Programming and Computer Architecture.

  • These pre-requisites translate into CS 214 (which itself requires an undergraduate course in Computer Architecture, such as CS 211) OR the combination of ECE 331 and ECE 351.

  • The programming assignments require good programming skills and a lot of time and effort.

  • Note that these requirements are very serious; you will not be able to keep up with this course's load, if you don't have the suggested background, programming skills, and time.

  • Even if you do have the background and the skills, the course can require lots of technical research and reading for the programming assignments, so come very motivated!

Textbook:

Evaluation

  • 20% Midterm
  • 60% Homeworks and Programming Assignments
  • 20% Final Exam

Cheating Policy

  • Exams and written homeworks in CS 416 must be strictly individual work.

  • Programming assignments will be done in groups of 3 or 4 students.

  • Collaboration with other groups on programming assignments is encouraged at the level of ideas.

  • Feel free to ask each other questions, brainstorm on algorithms, or work together at a blackboard.

    • You should not, however, copy the actual code for programming assignments, or copy the wording for written homeworks.
    • This will be considered cheating and will be punished severely!
    • Please review the CS department's cheating policy to be sure you do not have difficulties.

GDB Help