Lectures

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