CS 3210

From Georgia Tech Student Wiki
Revision as of 12:50, 20 May 2021 by 1morebyte (talk | contribs) (Added credit count)

Overview

CS 3210 is a 3 credit hour class taken by Systems and Architecture threads (CS/CompE). It has no lab or recitation period.

This class is heavily project-based.

Topics List

This class teaches some Operating Systems (OS) concepts such as:

  1. Bootloading (how the processor wakes up and loads the OS kernel)
  2. Memory Paging
  3. Process Scheduling
  4. File systems
  5. Networking Concepts

How it Fits into the Curriculum

CS 3210 is a required class for Systems and Architecture Threads (both CS and CompE), and is generally taken in your third or fourth year. The class is only a prerequisite for Advanced Operating Systems (CS 4210/CS 6210) but is a gateway course to more advanced graduate level OS courses.

Current Registration Info

CS 3210 is a regular class. This means there is no recitation or lab to register for. Just register for a lecture section.

Prerequisites

At least one of the following:

  • C or higher in CS 2200
  • C or higher in ECE 3057 (replaced with ECE 3058 in Fall 2021)
  • C or higher in ECE 3058

Majors that Require this Class

  • Computer Science (Systems and Architecture Threads)
  • Computer Engineering (Systems and Architecture Threads)

Past Semesters

Fall 2020

4 projects, 1 midterm, 1 final

Projects were on Xv6, a simple Unix-like teaching operating system, with much of the class material from the associated open-source textbook.

Xv6 is a simple teaching operating system with many features missing. In the class projects, you implement some of those missing features using the C programming language.

"Overall, the projects were time-consuming but fair. The material is really interesting, and detailed project instructions along with a concise textbook and helpful lectures/office hours made those projects doable." - Alexp

Spring 2020 "Rust-mester"

Apparently, the project was very difficult. It involved writing an OS kernel from scratch using the Rust programming languages and testing it on a Raspberry Pi.

Publicly available course webpage