Welcome to CPS 210 Spring 2025! To get started, click on the Resources tab and have a look around there.

Announcements

Office Hours: every Sunday-Thursday night 7:00-9:00 in Languages 305. See Ed for details and other options.

Course Overview

CPS 210 is an introduction to systems software and computer architecture, with programming exercises in the C language on the Linux operating system. This course provides a programmer's view of how computer systems execute programs and store information. It examines key computational abstractions behind high-level programming languages: number and data representations, memory/pointers, the stack, buffer overflow, processor instructions, caching, virtual memory, programs and processes, and basics of concurrency with threads. The Big Ideas in this class apply across subfields of computer systems and computer science.

Course Information

Instructors: Jeff Chase, Michael Reed, Violette Walker
Location: LSRC B101 (Love Auditorium)
Time: MW 10:05 am - 11:20 am
Graduate TAs: Shujun Qi, Zetong Pan
U/TAs: Marisol Mata Nevarez (Lead), Aiyanna Bryant, Ina Ding, Rowan Kelleher, Arim Lim, Joseph Loeffler, Zaid Musqit, Justin Park
Office Hours:
Jeff Chase - After class, or by appointment
Michael Reed - TBD
Shujun Qi - TBD
Zetong Pan - TBD
(See Ed for other office hours)
Resources: Canvas, Gradescope, Ed, GitLab, Panopto, Slides

Grading

45% Exams
First Midterm (20%), Second Midterm (20%), Concurrency Quiz (5%)
20% Projects
Four programming assignments that build on labs and lectures.
25% Labs
Small programming assignments associated with each lecture.
10% Sections
Weekly sections: participation, exercises, and checkout.