| Lecture 1 Wednesday 01/09/08 |
Introduction: Course introduction and administrativia. Overview of syllabus. |
| Lecture 2 Friday 01/11/08 |
Getting Started With C++: C++ introduction and examples. |
| Lecture 3 Monday 01/14/08 |
Using the Grid. Avoiding code duplication. |
| Lecture 4 Wednesday 01/16/08 |
Records: Enumerated types and structs. |
| Section 1 W/Th/F |
Enums, Strings, and Files |
| Lecture 5 Friday 01/18/08 |
Files and Vectors: File input and output. Advantages of the Vector over arrays. |
| Lecture 6 Wednesday 01/23/08 |
Abstract Data Types |
| Section 2 W/Th/F |
ADTs and Files |
| Lecture 7 Friday 01/25/08 |
More Fun With ADTs
|
| Lecture 8 Monday 01/28/08 |
ADTs and Recursion: Map and Set. Using function
pointers. Introduction to recursion.
|
| Lecture 9 Wednesday 01/30/08 |
Recursion: Factorial, Fibonacci, and Towers of Hanoi. The "recursive leap of faith." |
| Section 3 W/Th/F |
Recursion |
| Lecture 10 Friday 02/01/08 |
More Recursion: Snowflake and permutation examples. Recursive backtracking: word "shrinking." |
| Lecture 11 Monday 02/04/08 |
Recursive Backtracking
|
| Lecture 12 Wednesday 02/06/08 |
Recursion and Arrays: Memoization in recursion. C arrays. |
| Section 4 W/Th/F |
Recursion |
| Lecture 13 Friday 02/08/08 |
Arrays and Dynamic Memory: Using arrays to implement the Vector class. Pointers and dynamic memory allocation. |
| Lecture 14 Monday 02/11/08 |
Arrays and Linked Lists
|
| Lecture 15 Wednesday 02/13/08 |
More Linked Lists |
| Section 5 W/Th/F |
Linked Lists |
| Lecture 16 Friday 02/15/08 |
Running Time Analysis and Hashing: Big-O notation. Using hashing to implement Map. |
| Lecture 17 Wednesday 02/20/08 |
Map Implementation
|
| Section 6 W/Th/F |
Templates, Linked Structures |
| Lecture 18 Friday 02/22/08 |
More Templates, Binary Search Trees |
| Lecture 19 Monday 02/25/08 |
More BSTs |
| Lecture 20 Wednesday 02/27/08 |
General Trees: Using a trie to implement the Lexicon. |
| Section 7 W/Th/F |
Binary Trees |
| Lecture 21 Monday 03/03/08 |
Expression Trees |
| Lecture 22 Wednesday 03/05/08 |
Inheritance: Expression parsing.
|
| Section 8 W/Th/F |
Inheritance |
| Lecture 23 Friday 03/07/08 |
Recursive Descent Parsing
|
| Lecture 24 Monday 03/10/08 |
Bitwise Manipulation
|
|
Page design by Boyko Kakaradov (adapted from Bill MacCartney) |