Classes
The lectures are broken into 10 units, as shown below. The notes will be updated after every class. These pages are also reachable from the main calendar.
- Unit 1: Intro (Classes 1–2)
Computers, language, and compilation, Unix and your VM, Hello world - Unit 2: Variables and If (Classes 3–6)
Variables, Input/Output, Branching (if statement), Scope - Unit 3: Iteration (Classes 7–11)
While loop, For loop, Nested loops - Unit 4: I/O (Classes 12–14)
File I/O, printf, pointers, scanf - Unit 5: Functions (Classes 15–19)
Prototype and definition, Top-down design, Pointer arguments, Recursion, Header files - Unit 6: Arrays (Classes 20–24)
Memory layout, Strings, Allocation/deallocation, Arrays and functions, Nested arrays - Unit 7: Sorting and Searching (Classes 25–27)
Selection Sort, Linear Search, Generic programming, qsort - Unit 8: Compound data (Classes 28–31)
Structs, typedef, Bottom-up design, Nested structs, Structs and arrays - Unit 9: Linked lists (Classes 32–34)
Nodes, List creation, List traversal, Recursion and iteration on linked lists - Unit 10: C++ (Classes 35–39)
Streams, strings, new and delete, Overloading