COMP 211-002: Systems Fundamentals, Spring 2023

Key Details

Instructor: Joshua Bakita
Location: 201 Chapman Hall, Tues/Thurs 2:00-3:15
Contact Email: s23-comp-211-002-staff-cs@cs.unc.edu
Description: This course is a first step into the wild and wonderful world of systems programming, primarily in C. Your main takeaways from this class should be fundamental principles about how programs and the systems they run on work (particularly how they manage memory), no matter what language you use.


Syllabus Piazza (See Sakai for access code.) Gradescope Sakai

Schedule

Class #MaterialsDateAssignmentReadings
1recording, slidesJan 10
2recording, slidesJan 12Assignment 1 ReleasedIntro through Sec. 1.2 of The C Programming Language (13 pgs)
Sec. 5.7 of The GNU C Reference Manual (1 pg)
3recording, slidesJan 17Sec. 2.1--2.1.6 and 2.1.8--2.1.10 of Computer Systems: A Programmer's Perspective (7 pgs)
Sec. 2.2--2.2.1 and 2.2.4--2.2.7 of Computer Systems: A Programmer's Perspective (19 pgs)
Sec. 2.1, 2.2 of The C Programming Language (2 pgs)
4recording, slidesJan 19Sec. 7.2, 1.6, and 1.9 of The C Programming Language (7 pgs)
Sec. 2.5.5 and 12.12 through 12.12.6 of The GNU C Library Reference Manual (10 pgs)
Sec. 1 through 5 of ANSI Standard X3.4-1977 (5 pgs)
5recording, slidesJan 24Sec. 2.3, 6.1-6.5, and 6.7-6.9 of The C Programming Language (27 pgs)
Sec. 2.2 through 2.4 of The GNU C Reference Manual (9 pgs)
6recording, slidesJan 26Assignment 1 Due
Assignment 2 Released
Sec. 1.4 of The C Programming Language (1 pg)
Sec. 8.2--8.2.1 of Programming Systems: A Programmer's Perspective (2 pg)
Sec. 20.1 of The GNU C Reference Manual (2 pgs)
Optional: Sec. III-A of Dissecting the CUDA scheduling hierarchy... (1/4 pg)
Optional: Videos in Resources on bytes, two's complement, and endianness (38.5 min)
7recording, slidesJan 31Sec. 2.7, 5.1, 5.3, and 5.5 of The C Programming Language (13 pgs)
8recording, slidesFeb 2Sec. 2.11, 5.2, 5.6, 5.10, 7.1(note), 7.5, and 7.6 of The C Programming Language (15 pgs)
9Feb 7Sec. 2.9 and 4.11 of The C Programming Language (7 pgs)
Review Sec. 2.1.8--2.1.10 of Computer Systems: A Programmer's Perspective (5 pgs)
10Midterm 1Feb 9Assignment 2 Due
Assignment 3 Released
Midterm 1 Study Guide
11Feb 16Sec. 2.2.2--2.2.3 of Computer Systems: A Programmer's Perspective (8 pgs)

Office Hours

Resources & Textbooks

Team 211