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 stdio man string man 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 |