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
Class # | Materials | Date | Assignment | Readings |
---|---|---|---|---|
1 | recording, slides | Jan 10 | ||
2 | recording, slides | Jan 12 | Assignment 1 Released | Intro through Sec. 1.2 of The C Programming Language (13 pgs) Sec. 5.7 of The GNU C Reference Manual (1 pg) |
3 | recording, slides | Jan 17 | Sec. 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) | |
4 | recording, slides | Jan 19 | Sec. 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) | |
5 | recording, slides | Jan 24 | Sec. 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) | |
6 | recording, slides | Jan 26 | Assignment 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) |
7 | recording, slides | Jan 31 | Sec. 2.7, 5.1, 5.3, and 5.5 of The C Programming Language (13 pgs) | |
8 | recording, slides | Feb 2 | Sec. 2.11, 5.2, 5.6, 5.10, 7.1(note), 7.5, and 7.6 of The C Programming Language (15 pgs) | |
9 | Feb 7 | Sec. 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) | ||
10 | Midterm 1 | Feb 9 | Assignment 2 Due Assignment 3 Released | Midterm 1 Study Guide |
11 | Feb 16 | Sec. 2.2.2--2.2.3 of Computer Systems: A Programmer's Perspective (8 pgs) |
info gnu-c
and online (HTML, PDF).info libc
and online (HTML, PDF).