Schedule
| Week | Lecture | Topics | Homework | Resources |
|---|---|---|---|---|
| 1 | Lecture: intro Monday June 10 |
Administrivia Basic C |
HW0 out | Resource Page |
| Lecture: env, term, variables Tuesday June 11 |
Terminal Environments Variables |
|||
| Lecture: transistors Thursday June 13 |
The early days Transistors Logic gates |
|||
| 2 | Lecture: numbers in bits Monday June 17 |
Binary, Hex Number conversion |
HW0 DUE HW1 out |
|
| Lecture: bit arith Tuesday June 18 |
Bitwise operators Bit packing Command-line args |
In-class demo: print-bits.c |
||
| Lecture: negative numbers Thursday June 20 |
Two's complement | |||
| 3 | Lecture: pointers 1 Monday June 24 |
Pointers Pass by reference |
HW1 DUE HW2 out |
|
| Lecture: pointers 2 Tuesday June 25 |
Memory Endian struct enum and switch File I/O |
In-class demo: copy.c endian.c |
||
| Lecture: pointers 3 Thursday June 27 |
Heap allocation Pointer Pitfalls |
man stdioman stringman malloc |
||
| 4 | Lecture: array lists Monday July 1 |
Array Lists | HW2 DUE | In-class demo: array-list.h array-list.c main.c |
| Lecture: linked lists Tuesday July 2 |
Linked Lists | HW3 out | ||
| NO CLASS (July 4th) Thursday July 4 |
||||
| 5 | QUIZ Monday July 8 |
HW3 DUE | ||
| Lecture: sorting Tuesday July 9 |
O(n^2) sorting Compiling C Makefile Quiz answers |
HW4 out | ||
| Lecture: map & BST Thursday July 11 |
BST Tree Sort |
|||
| 6 | Lecture: sorting 2 Monday July 15 |
Function Pointer Merge Sort Quick Sort |
HW4 DUE HW5 out |
|
| Lecture: sorting 3 Tuesday July 16 |
Heap Sort | |||
| Lecture: hash table 1 Thursday July 18 |
Counting Sort Hashing |
In-class demo: dict.c two-letter.txt |
||
| 7 | Lecture: hash table 2 Monday July 22 |
Chaining Probing OOP |
HW5 DUE HW6 out |
|
| Lecture: oop Tuesday July 23 |
Unions Tagged Union Virtual Table OOP |
In-class demo: Tagged Union Virtual Table |
||
| Lecture: machine structure Thursday July 25 |
Processes Virtual memory Threads |
In-class demo | ||
| 8 | Lecture: miscellaneous Monday July 29 |
Macros typedef Python FFI |
HW6 DUE | |
| Lecture: review Tuesday July 30 |
||||
| Lecture: FINAL EXAM Thursday August 1 |