Week |
Mon. |
Wed. |
Fri. |
HWx (due after weekend) |
1 |
1/10 |
1/12 |
1/14 |
|
Starting C |
Syllabus [v] |
Git [v] |
HW0 Review [v] |
HW0: x_sort (Bubble Sort) [Code] |
2 |
1/17 |
1/19 |
1/21 |
|
Structures |
King Day |
Standard I/O [v] |
Structs [v] |
|
3 |
1/24 |
1/26 |
1/28 |
|
Memory Use |
Structures and Headers [v] |
Two Dimensional Arrays [v] |
Two Dimensional Arrays II [v] |
HW1: plist (Pythonic List) [Code] |
4 |
1/31 |
2/2 |
2/4 |
|
Memory Allocation |
Pythonic List [-] |
Debugging Pythonic List [v] |
Olympics Opening Day [v] |
|
5 |
2/7 |
2/9 |
2/11 |
|
Scientific Computing |
Pixels and Memory [v] |
Graphics and Geometry [v] |
C for Scientific Computing [v] |
|
6 |
2/14 |
2/16 |
2/18 |
|
Information Encoding |
Complex Planes [v] |
Complex Planes II [-] |
Bit Encoding [v] |
HW2: brot (Buddhabrot) [Code] |
7 |
2/21 |
2/23 |
2/25 |
|
Review |
Mid-Semester Break |
Buddhabrot Review |
Midterm Review [v] |
Practice Midterm I |
8 |
2/28 |
3/2 |
3/4 |
|
Midterm 1 |
Midterm 1 |
Extra Credit [v] |
Incrementation [v] |
|
9 |
3/7 |
3/9 |
3/11 |
|
Sockets |
Sockets [v] |
snek.c [v] |
Busy Wait [v] |
Check-in 0 |
10 |
3/14 |
3/16 |
3/18 |
|
Systems Libraries |
Error Checking [v] |
ncurses [v] |
Workday |
Check-in 1 or 2 |
11 |
3/21 |
3/23 |
3/25 |
|
OFF |
OFF |
OFF |
OFF |
|
12 |
3/28 |
3/30 |
4/1 |
|
System Theory |
RM |
EDF |
ROP Gadgets |
Check-in 1 and 2 |
13 |
4/4 |
4/6 |
4/8 |
|
Network Theory |
Distributed Consensus |
Byzantine Generals |
Paxos |
Check-in 3 |
14 |
4/11 |
4/13 |
4/15 |
|
Midterm 2 |
Reserved |
Research Fair |
Reserved |
|
15 |
4/18 |
4/20 |
4/22 |
|
Efficiency |
Vector Instructions |
Micro-ops |
Specialized ops |
Check-in 4 |
16 |
4/25 |
4/27 |
4/29 |
|
Enrichment |
C++ Part 1 |
C++ Part 2 |
Study Days |
Project (snek) (Due 5/3) [v] |