Date |
Meeting |
Material covered |
Required reading |
Other materials |
9/15 |
Lecture 1 |
Course overview; basic assembly (straight-line code and loops) |
|
slides;
handout;
code |
9/16 |
Lab 1 |
Beginning assembly |
|
|
9/17 |
Lecture 2 |
Control flow in assembly |
|
slides; code |
9/19 |
Lecture 3 |
Memory in assembly |
|
slides |
9/22 |
Lecture 4 |
Functions in assembly |
|
slides; code |
9/23 |
Lab 2 |
Recursive functions in assembly |
|
|
9/24 |
Lecture 5 |
More recursion practice; unsigned integers (and start of twos complement) |
|
code; slides |
9/26 |
Lecture 6 |
More numeric representation (floating point); C philosophy |
Section 4.3 |
number slides; Section 4.8;
C slides; code |
9/29 |
Lecture 7 |
C similarities and differences with Java; intro to pointers |
|
slides;
code;
handout |
9/30 |
Lab 3 |
Connect 4 (practicing C) |
|
|
10/1 |
Lecture 8 |
Dynamic memory; using pointers as arrays |
|
slides |
10/3 |
Exam 1 |
10/6 |
Lecture 9 |
Pointer arithmetic |
|
slides |
10/7 |
Lab 4 |
Debugging and buffer overflows |
|
|
10/8 |
Lecture 10 |
Buffer overflows; linked lists in C |
|
slides |
10/10 |
Lecture 11 |
More linked list code; intro to caching (direct-mapped) |
|
code; slides |
10/13 |
Lecture 12 |
|
|
|
10/14 |
Lab 5 |
|
|
|
10/15 |
Lecture 13 |
|
|
|
10/17 |
Lecture 14 |
|
|
|
10/20 |
Lecture 15 |
|
|
|
10/21 |
Lab 6 |
|
|
|
10/22 |
No class -- Fall Institute Day |
10/24 |
Exam 2 |
10/27 |
Lecture 16 |
|
|
|
10/28 |
Lab 7 |
|
|
|
10/29 |
Lecture 17 |
|
|
|
10/31 |
Lecture 18 |
|
|
|
11/3 |
Lecture 19 |
|
|
|
11/4 |
Lab 8 |
|
|
|
11/5 |
Lecture 20 |
|
|
|
11/7 |
Lecture 21 |
|
|
|
11/10 |
Lecture 22 |
|
|
|
11/11 |
Lab 9 |
|
|
|
11/12 |
Lecture 23 |
|
|
|
11/14 |
Lecture 24 |
|
|
|
11/17 |
Lecture 25 |
|
|
|
11/18 |
Lab 10 |
|
|
|
11/19 |
Reading Day |
11/20 |
Reading Day |