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 Clas s Materials Date Assignment Readings recording slid es Jan 10 recording slid es Jan 12 Assignment 1 Released 1 2 3 4 recording slid es Jan 17 recording slid es Jan 19 Intro through Sec 1 2 of The C Programming Language 13 pgs Sec 5 7 of The GNU C Reference Manual 1 pg Sec 2 1 2 1 6 and 2 1 8 2 1 10 of Computer Systems A Programmer s Perspective 1st Ed 7 pgs Sec 2 2 2 2 1 and 2 2 4 2 2 7 of Computer Systems A Programmer s Perspective 1st Ed 19 pgs Sec 2 1 2 2 of The C Programming Language 2 pgs Sec 7 2 1 6 and 1 9 of The C Programming Language 7 pgs Sec 2 5 5 of The GNU C Reference Manual 1 pg Sec 12 12 through 12 12 6 of The GNU C Library Reference Manual 10 pgs Sec 1 through 5 of ANSI Standard 5 6 7 8 9 recording slid es Jan 24 recording slid es Jan 26 Assignment 1 Due Assignment 2 Released recording slid es Jan 31 recording slid es Feb 2 recording slid es Feb 7 X3 4 1977 5 pgs 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 Sec 1 4 of The C Programming Language 1 pg Sec 8 2 8 2 1 of Programming Systems A Programmer s Perspective 1st Ed 2 pg Sec 20 1 of The GNU C Library 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 Sec 2 7 5 1 5 3 and 5 5 of The C Programming Language 13 pgs Sec 2 11 5 2 5 6 5 10 7 1 note 7 5 7 6 and B1 6 of The C Programming Language 15 pgs Sec 6 1 2 first half stop at practice problem 6 3 in Computer Systems 1st Ed 5 pgs 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 1st Ed 5 pgs 10 Midterm 1 Feb 9 Assignment 2 Due Midterm 1 Study Guide Slides from TA led Review Session Exam Format Sample 11 slides no recording Feb 16 Sec 2 2 2 2 2 3 of Computer Systems A Programmer s Perspective 1st Ed 8 pgs Video in Resources on two s complement 16 25 min Optional Advanced Info on Structs Unions Sec 3 9 in Computer Systems 1st Ed 7 pgs Sec 5 11 and 7 8 5 of The C Programming Language 4 pgs Sec 10 9 1 10 9 2 of Computer Systems A Programmer s Perspective 1st Ed 4 pgs Sec 3 2 3 1 3 2 3 5 in The GNU C Library Reference Manual 4 pgs Sec 5 4 in The C Programming Language 4 pgs Sec 1 10 and 4 3 through 4 6 of The C Programming Language 14 pgs Sec 1 2 7 1 and 7 2 of Computer Systems A Programmer s Perspective 1st Ed 6 pgs Sec 2 9 of The GNU C Reference Manual 2 pgs Sec 8 2 2 8 3 and 9 through 9 1 in Computer Systems A Programmer s Perspective 11 pgs Sec 14 1 1st Ed or 13 1 2nd Ed in UNIX Power Tools 3 pgs Sec 1 through 1 2 7th Ed in Operating System Concepts 9 pgs Sec 1 3 can skip to Opening the Box in Computer Organization and Design 13 pgs Preface and Chapter 1 of Understanding Software Dynamics 12 pgs Chap 3 up through 3 4 in Understanding Software Dynamics 6 pgs 12 slides recordi ng Feb 21 Assignment 3 Released 13 slides recordi ng Feb 23 slides recordi ng Feb 28 slides recordi ng March 2 14 15 16 17 slides no recording March 7 Assignment 3 Due Assignment 4 Released slides recordi ng March 9 Intro text on a cache Sec 7 1 3rd Ed or 5 1 4th Ed in Computer Organization and Design 6 pgs Sec 8 5 through 8 7 in Computer Systems A Programmer s Perspective 1st Ed 20 pgs ACM Queue Benchmarking Hello World link Sec 3 8 in The C Programming Language 1 pg Midterm 2 Study Guide Post Midterm 2 Review Guide Sec 7 4 in 3rd Ed 5 4 in 4th Ed in Computer Organization and Design but Skip after paragraph two of subsec Making Address Translation Fast The TLB Skip subsec Integrating Virtual Memory TLB and Caches Skip subsec Handling TLB Misses and Page Faults 24 pgs Hover for notes on above reading Note 1 Note 2 Note 3 Sec 10 8 1st Ed of Computer Systems A Programmer s Perspective 6 pgs Sec 10 4 1st Ed in Computer Systems A Programmer s Perspective 3 pgs Chap 1 of Managing Projects with GNU Make 3rd Ed 6 pgs 18 19 20 21 slides recordi ng March 21 no slides recordi ng March 23 Midterm 2 slides no recording March 28 Assignment 4 Due March 30 Assignment 5 Released 22 slides recordi ng April 4 23 24 25 slides recordi ng April 11 slides recordi ng April 13 slides recordi April ng 18 26 slides recordi ng April 20 slides recordi ng April 25 slides recordi ng April 27 27 28 29 Office Hours Resources Textbooks Final Exam at noon May 2 Assignment 5 Due Sec 11 1 11 6 11 7 1st Ed in Computer Systems A Programmer s Perspective 5 pgs Sec 15 Intro through 15 2 in The GNU C Library Reference Manual 4 pgs Optional IPC overview Sec 3 4 and 3 5 7th Ed in Operating System Concepts 11 pgs Sec 10 11 1st Ed in Computer Systems A Programmer s Perspective 5 pgs Research Interest Form Assignment Improvement Points Final Exam Study Guide Review Session Questions Review Session Slides Recording The C Programming Language 2nd Ed Commonly known as K R C this classic is probably worth buying but can be found online PDF Computer Systems A Programmer s Perspective Good for deep dives on systems particulars this is easily found online 3rd Edition PDF 0th Edition PDF The GNU C Reference Manual A handy C quick reference Accessible on the class server via the command info gnu …
View Full Document