Lectures

Date Meeting Material covered Required reading Other materials
1/5 Lecture 1 Class intro; straight-line and loops in assembly   slides; handout; code
1/6 Lab 1 Listing primes in assembly (loops and if statements)    
1/7 Lecture 2 Practice with assembly control flow   slides; code
1/9 Lecture 3 Memory with assembly; arrays and strings   slides
1/12 Lecture 4 Objects in assembly; functions in assembly   slides; code
1/13 Lab 2 Functions in assembly    
1/14 Lecture 5 Practice with function; representing numbers   slides; code
1/16 Lecture 6 Signed integers; floating-point numbers   slides
1/19 Lecture 7 Introduction to C; some of the differences with Java   main slides; emacs reference handout; code; differences slides
1/20 Lab 3 Connect 4 (C practice)    
1/21 Lecture 8 More on pointers (multiple pointers, dynamic memory allocation)   slides; handout
1/23 Exam 1
1/26 Lecture 9 More pointers and pointer arithmetic   slides
1/27 Lab 4 Debugging (gdb) and buffer overflows    
1/28 Lecture 10 Buffer overflows; more pointer arithmetic   slides
1/30 Lecture 11 Linked lists in C; beginning of caching   slides; code
2/2 Lecture 12 More caching   slides
2/3 Lab 5 Generative AI to simulate MIPS assembly    
2/4 Lecture 13 Associative caching; multi-processor caching; virtual memory   slides
2/6 Lecture 14 Dirty bit; multiprocessor caching; virtual memory; start of threads   slides1; slides2; video
2/9 Lecture 15 Parallelism concepts; producer-consumer   slides1; slides2
2/10 Lab 6 Parallel Mandelbrot set creation    
2/11 No class -- Day of Dialog
2/13 Lecture 16 Producer-consumer; semaphores   slides
2/16 Lecture 17 Readers and writers; detecting deadlock   slides1; slides2
2/17 Lab 7 Testing allocation safety    
2/18 Exam 2
2/20 Lecture 18 Recorded lecture; dealing with deadlock   slides
2/23 Lecture 18 Pollack's rule; Introduction to CUDA   slides1; slides2
2/24 Lab 8 Image tasks in CUDA    
2/25 Lecture 19 More CUDA: dimension transformation, Voronoi diagram example   slides; code I wanted to show
2/27 Lecture 20 Shared memory in CUDA; OpenMP   slides1; slides2
3/2 Lecture 21 Go over exam 2; protocol stacks and IP addresses   slides
3/3 Lab 9 Networking with TCP/IP (chat client)    
3/4 Lecture 22 Discussion of lab; DNS   slides
3/6 Lecture 23      
3/9 Lecture 24      
3/10 Lab 10      
3/11 Reading Day
3/12 Reading Day