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 |