mshah.ioCourse ScheduleCourse Information
Register New Account


CPSC 3231 Computer Systems 1: Foundations

'No more magic' -- Your Instructor

Schedule/Road Map

The following is our tentative syllabus for the course, changes should be expected throughout the semester. I will announce in class, piazza, or through e-mail any major changes.

Week

Date

Lecture and Readings

Problem Sets

Note(s)

1

Wednesday, 2026-Sep-02
Module 1
Administrivia, Course Introduction, Systems Overview (Shah)
  1. Welcome!
  2. Administrivia / Syllabus Review
  3. What is this course about?
  4. Computer Systems Overview
PSET 01 - (C Review) Released (Due Sept. 13 Anywhere on Earth)

(Late Deadline Sept. 20 for up to 90%)
Welcome back to class!
Note: 1st PSET has extra time to accomodate students who add late. Students who add late still need to complete by the deadline shown.

1

Friday, 2026-Sep-04
Module 2
Terminal Overview and Unix Programming Tools (Harry)
  1. Terminal / Shell / Command Line Interface (CLI) - A window to the operating system
  2. Some tools we will use: Compiler, git, ssh, text editor
  3. A motivation example with matrix multiply
  4. Why C? The 'lingua franca' of systems programming
  5. Some introduction to C
-- --
Friday classes do not meet; Monday classes meet instead
Mike Presenting at DConf

1

Monday, 2026-Sep-07
PSET 02 Released - (Instruments) Released (Due Sept. 18 Anywhere on Earth)

(Late Deadline Sept. 23 for up to 90%)
No Class; Labor Day

2

Wednesday, 2026-Sep-09
-- --
Add/Drop Period closes Sept. 11 at 5:00pm ET

3

Monday, 2026-Sep-21
PSET 03 Released - Memory Allocator and Performance Analysis (Due Oct. 02 Anywhere on Earth)

(Late Deadline Oct. 09 for up to 90%)
-- --

4

Wednesday, 2026-Sep-23
-- --
-- --

4

Monday, 2026-Sep-28
PSET 04 Released - (D language) (Due Oct. 09 Anywhere on Earth)

(Late Deadline Oct. 16 for up to 90%)
-- --

5

Monday, 2026-Oct-05
PSET 05 Released - (Assembly and Binary tools) (Due Oct. 16 Anywhere on Earth)

(Late Deadline Oct. 23 for up to 90%)
-- --

6

Monday, 2026-Oct-12
-- --
-- --

7

Wednesday, 2026-Oct-14
-- --
Exam otherwise includes any other materials from lecture, slides, and homeworks. You must finish the exam in one sitting (i.e. when you open the exam, your time starts)

7

Monday, 2026-Oct-19
PSET 06 Released - (Mini-Compiler, Linker Lottery, and Dynamic Libraries) (Due Oct. 29 Anywhere on Earth)

(Late Deadline Nov. 04 for up to 90%)'
Mid-semester date

8

Wednesday, 2026-Oct-21
-- --
October Recess

8

Monday, 2026-Oct-26
-- --
-- --

9

Wednesday, 2026-Oct-28
-- --
-- --

9

Monday, 2026-Nov-02
PSET 07 Released - (Memory Simulator) (Due Nov. 13 Anywhere on Earth)

(Late Deadline Nov. 20 for up to 90%)'
-- --

10

Monday, 2026-Nov-09
PSET 08 Released - (Mini Shell) (Due Nov. 20 Anywhere on Earth)

(Late Nov. 27 for up to 90%)
-- --

11

Wednesday, 2026-Nov-11
-- --
Shellathon [to be scheduled] (see piazza for updates)

11

Monday, 2026-Nov-16
-- --
-- --

12

Wednesday, 2026-Nov-18
PSET 09 Released - Operating System - (Due Dec. 06 Anywhere on Earth)

(Late Deadline Dec. 13 for up to 90%)
Mike presenting at Graphics Programming Conference in Europe

12

Monday, 2026-Nov-23
-- --
November Recess

13

Wednesday, 2026-Nov-25
-- --
November Recess

13

Monday, 2026-Nov-30
-- --
-- --

14

Wednesday, 2026-Dec-02
-- --
-- --

15

Wednesday, 2026-Dec-09
-- --
Last official day of class :(
Note: Final Exam: TBD, 2026 at TBD pm in TBD Location, you will take your exam on TBD location in the 'quiz' section (come with your laptop charged). The access code for the exam will be written on the board before the quiz starts.
Please do not redistribute or host any materials without e-mailing me first. Thank you for your time!