Schedule¶
This page will be updated with the schedule for the course, including lecture topics, readings, and assignment due dates.
Note
The schedule below is tentative and subject to change.
| Week | Date | Topic | Handouts and Practice Sets | Assignments (Released / Due) |
|---|---|---|---|---|
| 1 | Mon 06/15 | Introduction, Software Setup, Hello World, C Basics (Types, Control Structures, printf)Notes |
Hello World Handout Practice Set 1 |
|
| 1 | Wed 06/17 | Loops (for/while/do-while), switch, Functions, Multi-file Code & Makefiles Video Notes |
In-Class Exercises Practice Set 2 |
|
| 2 | Mon 06/22 | C Operators, Binary & Hex, Bit-Level Manipulation Notes |
In-Class Exercises Solutions |
|
| 2 | Wed 06/24 | Arrays and Strings (HW1 prep) Notes |
In-Class Exercises Solutions Sample Quiz 1 |
HW1 Released |
| 3 | Mon 06/29 | Pointers, Pointer Arithmetic, Pointers as Function Arguments, Scope and Lifetime Quiz 1 Notes |
In-Class Exercises Solutions |
|
| 3 | Wed 07/01 | The Call Stack, Stack vs Heap, Heap Allocation (malloc/free) Notes |
In-Class Exercises Solutions Practice Set 4 |
HW1 Due HW2 Released |
| 4 | Mon 07/06 | Structs: Definitions, Members, typedef, Nested Structs, Arrays of Structs Notes |
In-Class Exercises Solutions |
|
| 4 | Wed 07/08 | Pointers to Structs, Heap-Owned Strings, Enumerations, and Unions Notes |
In-Class Exercises Solutions Practice Set 5 |
HW2 Due (Friday) |
| 5 | Mon 07/13 | Linked Lists: Self-Referential Structs, Traversal, Insertion and Deletion Quiz 2 Notes |
In-Class Exercises Solutions |
|
| 5 | Wed 07/15 | Hash Tables: Hashing, Collision Resolution, Building a Hash Table Notes |
In-Class Exercises Solutions Practice Set 6 |
HW3 Released |
| 6 | Mon 07/20 | Function Pointers, Concurrency and pthreads: Thread Creation and Joining |
||
| 6 | Wed 07/22 | Race Conditions, Mutexes and Locks, Synchronization |
HW3 Due | |
| 7 | Mon 07/27 | Binary Trees: Binary Search Trees, Traversals, Recursion on Trees Quiz 3 |
||
| 7 | Wed 07/29 | Tree Operations, Balancing, and Applications | ||
| 8 | Mon 08/03 | Sorting Algorithms and Graphs; Final Exam Review | ||
| 8 | Wed 08/05 | In-Class Final Exam |