Skip to main content Link Search Menu Expand Document (external link)

COMP251: Systems Programming

Archive: Spring 2023

Course Schedule

Wednesday 1/11
Welcome! What is systems? πŸ•΅οΈ
Course overview; syllabus
Welcome survey
Katas
Friday 1/13
Ontological questions: what’s a computer? 🧐
HW 1
DIS Chapter 4
Monday 1/16
MLK Jr Day/No Class
Wednesday 1/18
Numeric representation (00)
DIS Section 5.2
Friday 1/20
Representation (01)
Monday 1/23
Representation (10) wrap-up
Lab 0
HW 2
DIS Chapters 0-1
TLCL Chapters 1-4
Wednesday 1/25
Unix and Linux 🐧
Friday 1/27
GitHub and git
Monday 1/30
Introduction to C 🦾
C: syntax ✍️
class code
HFC Chapter 1
Wednesday 2/1
No class: ice storm
video - exercises + io
notes
Kata 0
class code
Friday 2/3
C: types
DIS Chapter 2
Monday 2/6
C: arrays, strings, string.h, strtok πŸͺ™
Lab 1
DIS Chapter 13.2
class code
Wednesday 2/8
string.h, strtok, pointers
Kata 1
class code
Friday 2/10
Β 
Monday 2/13
strtok
class code
Wednesday 2/15
Debugging πŸ›
Kata 2
DIS Chapter 3
Friday 2/17
Processes: fork + exec 🍴
Monday 2/20
Stack vs. heap memory πŸ€”
Wednesday 2/22
Stack vs. heap
Kata 3
class code
DIS Chapter 2
HFC Chapter 5+6
Friday 2/24
Stack vs. heap; gdb 🐞
Lab 2
class code
Monday 2/27
Dynamic memory πŸ’«
class code
Wednesday 3/1
malloc/free + friends πŸ“
Kata 4
class code
Friday 3/3
Heap management 🚜
Monday 3/6
Exam Qs + struct
Wednesday 3/8
Midterm Exam
Friday 3/10
Abstract data types ☁️
Lab 3
class code
DIS 2.7
Monday 3/13
Spring Break/No Class
Wednesday 3/15
Spring Break/No Class
Friday 3/17
Spring Break/No Class
Monday 3/20
Abstraction, object files, and linking
class code
HFC Chapter 8
Wednesday 3/22
Linked data structures ⛓️
DIS Chapter 2
HFC Chapter 5+6
Friday 3/24
Linked data structures (cont) 🀝
class code
Monday 3/27
The memory hierarchy 🧠
Virtual memory πŸ€–
DIS Chapter 11.1 + 13
Wednesday 3/29
Virtual memory
Friday 3/31
Virtual memory; the heap πŸ”οΈ
Lab 4
CS:APP – 9.8-9.12
Lecture slides
Monday 4/3
Virtual memory and paging
Diagram handout
Wednesday 4/5
Virtual memory and paging (cont)
Kata 5
Friday 4/7
No class: Easter Recess
Monday 4/10
Virtual memory wrap-up; sbrk and mmap πŸ—ΊοΈ
CS:APP – 11.1-11.4
Wednesday 4/12
Network programming intro πŸ”Œ
Friday 4/14
The internet 🌐
BGNP – 1-6
Monday 4/17
Sockets intro πŸ”Œ
Lab 5
Wednesday 4/19
Sockets: client/server functions
Friday 4/21
Network programming with protocols
class code
Monday 4/24
Threads intro πŸͺ‘
class code
DIS – 14-14.3
Wednesday 4/26
Threads: synchronization 🧡
DIS – 14-14.3
Friday 4/28
Rhodes Symposium
Saturday 5/6
Final Exam: 1pm
Have a good summer!