Lectures are held in Classroom Building room 212, MWF 11:00–11:50 AM.
Except where noted, lecture notes and slides posted here are in PDF format, and require Adobe Acrobat Reader to view. Source code is provided in .tar.gz archives.
Lecture 19: Synchronization: Advanced
Wednesday, 27 April, 2016.
Lecture 18: Synchronization: Basics
Monday, 25 April, 2016.
Lecture 17: Concurrent programming
Monday, 18 April + Wednesday, 20 April, 2016.
Lecture 16: Networking part II: Programming with Sockets
Monday, 11 April + Wednesday, 13 April, 2016.
Lecture 15: Networking part I: Concepts
Friday, 8 April, 2016.
Lecture 14: Exceptional Control Flow:
Signals
Monday, 4 April + Wednesday, 6 April, 2016.
Lecture 13: Exceptional Control Flow:
Exceptions and Processes
Monday, 28 March – Friday, 1 April, 2016.
Lecture 12: System-Level I/O
Monday, 21 March – Friday, 25 March, 2016.
Lecture 11: Virtual Memory
Monday, 7 March + Wednesday, 9 March, 2016.
Lecture 10: Linking
Friday, 26 February + Monday, 29 February, 2016.
Lecture 9: Machine-Level Programming V: Advanced Topics
Monday, 22 February + Wednesday, 24 February, 2016.
Lecture 8: Machine-Level Programming II (supplement): switch
statements
Friday, 19 February, 2016.
We will also finish up the remaining material from lecture 8 (structs).
Lecture 7: Machine-Level Programming IV: Data
Monday, 15 February + Wednesday, 17 February, 2016.
Lecture 6: Machine-Level Programming III: Procedures
Monday, 8 February + Wednesday, 10 February, 2016.
Lecture 5: Debugging Tools
Friday, 5 February, 2016.
Lecture 4: Machine-Level Programming II: Control
Monday, 1 February + Wednesday, 3 February, 2016.
Lecture 3: Machine-Level Programming I: Basics
Monday, 25 January + Wednesday, 27 January, 2016.
Lecture 2: Bits and Ints
Friday, 15 January + Wednesday, 20 January, 2016.
Lecture 1: Course Overview
Wednesday, 13 January, 2016.