COMS 4995 Advanced Systems Programming

Spring 2026

Important Dates

Date What
F 1/23 HW0 due
R 2/12 Sa 2/14 (Hard deadline) HW1 due
Su 3/1 HW2 due
Su 3/15 HW3 due
W 3/25 Exam 1
F 4/10 HW4 due

Course Schedule

Lecture 1: W 1/21

Course overview and logistics

Git Overview and Internals

Lecture 2: M 1/26

Git Overview and Internals (continued)


HW1: malloctopus


Lecture 3: W 1/28

Git Overview and Internals (continued)

GitHub

Lecture 4: M 2/2

Introduction to Memory Allocators

Lecture 5: W 2/4

Introduction to Memory Allocators (continued)

Caching, Memory Mapping, and Advanced Allocators

Lecture 6: M 2/9

Caching, Memory Mapping, and Advanced Allocators (continued)

Lecture 7: W 2/11

Processes

Signals


HW2: greptile


Lecture 8: M 2/16

Signals (continued)

File I/O

Lecture 9: W 2/18

File I/O (continued)

POSIX threads

Lecture 10: M 2/23

POSIX threads (continued)

Synchronization

Lecture 11: W 2/25

Interprocess Communication in UNIX


HW3: cowchat


Lecture 12: M 3/2

Nonblocking I/O and I/O multiplexing

Lecture 13: W 3/4

Summary of UNIX IPC so far

UNIX domain sockets

Lecture 14: M 3/9

Threads 2

Lecture 15: W 3/11

Threads 2 (continued)

x86-64 Assembly

No Classes on M 3/16 & W 3/18 – Spring Break
Lecture 16: M 3/23

x86-64 Assembly (continued)

Exam 1: W 3/25

Exam 1


HW4: ladebug


Lecture 17: M 3/30

x86-64 Assembly (continued)

Interrupts

Lecture 18: W 4/1

Interrupts (continued)

HW4 ladebug Skeleton Code Overview & Demo

Lecture 19: M 4/6

HW4 ladebug Skeleton Code Overview & Demo (continued)

Introduction to ELF

Linking

Lecture 20: W 4/8

Linking (continued)

Lecture 21: M 4/13

Linking (continued)

Lecture 22: W 4/15

Linking (continued)

Linking 2


Last updated: 2026-04-01