Schedule
Week | Lecture | Topics | Homework | Resources |
---|---|---|---|---|
1 | Lecture: intro Monday June 12 |
Administrivia Basic C |
HW0 out | Resource Page |
Lecture: env, term, variables Tuesday June 13 |
Terminal Environments Variables |
|||
Lecture: variables Thursday June 15 |
In-class demo: array.c printf.c security.c |
|||
2 | NO CLASS (Juneteenth) Monday June 19 |
|||
Lecture: pointers 1 Tuesday June 20 |
Function frames Pointer syntax Pass by value Pass by reference |
HW0 DUE HW1 out |
||
Lecture: pointers 2 Thursday June 22 |
Heap allocation Pointer Pitfalls |
man stdio man string man malloc |
||
3 | Lecture: array lists Monday June 26 |
Array Lists | HW1 DUE | |
Lecture: linked lists Tuesday June 27 |
Linked Lists | HW2 out | ||
Lecture: sorting Thursday June 29 |
O(n^2) sorting Compiling C Makefile Function pointers |
|||
4 | Lecture: map & BST Monday July 3 |
Map BST |
HW2 DUE | |
NO CLASS (July 4th) Tuesday July 4 |
HW3 out | |||
Lecture: BST (cont.) & heap sort Thursday July 6 |
BST Tree Sort Heap Sort Quiz review |
|||
5 | QUIZ Monday July 3 |
HW3 DUE | ||
Lecture: counting sort & hash table Tuesday July 11 |
Counting Sort Hashing Hash Table |
HW4 out | In-class demo: dict.c Makefile two-letter.txt |
|
Lecture: hash table Thursday July 13 |
Hash table | |||
6 | Lecture: bits Monday July 17 |
Understanding bits Binary numbers Hexadecimal numbers |
HW4 DUE | |
Lecture: arith & bit-packing Tuesday July 18 |
Unsigned arithmetics Bit-packing |
HW5 out | ||
Lecture: negative numbers Thursday July 20 |
Two's complement Endianness |
In-class demo: majors.c endian.c |
||
7 | Lecture: machine structure Monday July 24 |
Instructions Virtual memory Context switching Threads |
||
Lecture: thread demo Tuesday July 25 |
pthread.h semaphore.h |
In-class demo | ||
Lecture: oop Thursday July 27 |
Object orientation Tagged union |
In-class demo: animal.h animal.c main.c |
||
7 | Lecture: oop (cont.) Monday July 31 |
Virtual Table Virtual Pointer Integer Promotion Final Info |
In-class demo: animal.h animal.c main.c |
|
Lecture: wrapping up Tuesday August 1 |
HW6 DUE | |||
FINAL Thursday August 3 |