This page tracks the class, giving a description of the lecture, the readings and any homework assigned that day. (All recitation materials can be found on Github)

Date Topics Materials Reading Assignments
Mon, Jan 23 Introduction Slides
K&R 1-4, CSPP 1 → Read posts on Piazza
→ Join Github organization
Wed, Jan 25 C Basics Slides
Code
K&R 5 → Settle any outstanding VM issues
Mon, Jan 30 C Pointers & Arrays Slides
Code
K&R 6 homework01 due 2/6, 11:55pm
Wed, Feb 1 C Strings, Structs & Typedefs; Weak typing Slides
Code
K&R 6
Mon, Feb 6 C Dynamic Memory Allocation; Memory Regions; More on Pointers Slides
Code
K&R 7
Wed, Feb 8 C File I/O, More on C Dynamic Memory Allocation Slides
Code
CSPR 2 homework02 due 2/16, 11:55pm
Mon, Feb 13 Number Systems; Bits & Bytes; Integer Encoding Slides
Code
CSPR 2.1-2.3 lab1 due 2/28, 11:55pm
Wed, Feb 15 Bits & Bytes; Integer Operations Slides
Code
CSPR 2.4
Mon, Feb 20 No class - Presidents' Day
Wed, Feb 22 Words & Endianess; Floating Point Numbers Intro Slides
Code
CSPR 2.4
Mon, Feb 27 Floating Point Numbers con't Slides
Code
homework03 due 3/7, 8:00am

Wed, Mar 1 Floating Point Rules & Properties Slides
Code
CSPR 3.1
Mon, Mar 6 Machine Level Programming Intro; Midterm Review Slides
Midterm Contents
2016 Midterm
2016 Midterm Solutions
Wed, Mar 8 Midterm Exam → You can bring 1 page (8.5 by 11, two-sided) of handwritten notes.
Midterm Solutions
CSPR 3.2-3.5
Mon, Mar 13 No class - Spring recess
Wed, Mar 15 No class - Spring recess
Mon, Mar 20 Machine Level Programming: Basics Slides
Code
CSPR 3.6.1-3.6.7
Wed, Mar 22 Machine Level Programming: Control Slides
Code
CSPR 3.7
Mon, Mar 27 Machine Level Programming: Proceedures Slides
Code
CSPR 3.8-3.9 lab2 due 4/10, 11:55pm
Wed, Mar 29 Machine Level Programming: Data Video
Slides
Code
CSPR 6.2-6.3
Mon, Apr 3 Locality, Memory Hierarchy & Cache Video
Slides
CSPR 6.4-6.7
Wed, Apr 5 Cache Memories Slides
Code
CSPR 8.1-8.4
Mon, Apr 10 Exceptional Control Flow & Processes I Slides
Code
CSPR 8.5-8.8 lab3 due 4/23, 11:55pm
Wed, Apr 12 Processes II & Signals Slides
Code
CSPR 9.1-9.5, 9.8
Mon, Apr 17 Virtual Memory Slides
CSPR 9.9 lab4 due 5/7, 11:55pm
Wed, Apr 19 Dynamic Memory Allocation I Slides
CSPR 9.10
Mon, Apr 24 Dynamic Memory Allocation II Slides
CSPR 12.1, 12.3
Wed, Apr 26 Concurrent Programming I Slides
Code
CSPR 12.4, 12.5.1-3
Mon, May 1 Concurrent Programming II Slides
Code
CSPR 12.6, 12.7
Wed, May 3 Concurrent Programming III Slides
Code
Mon, May 8 (last class) Final Review Slides
Wed, May 10 Final Exam - 12:00PM-1:50PM @ 60 Fifth Ave 150 → You can bring 1 page (8.5 by 11, two-sided) of handwritten notes
Final Contents
Spring 2017 Final Exam Solutions