Course Schedule and Lecture Notes
Slides will be posted before the lecture.
Date | Lecture | Reading* | Labs |
Week 0: September 8 - 9 | |||
---|---|---|---|
Lec 1 | Intro | N/A | Lab 1 released. |
Week 1: September 12 - 16 | |||
Lec 2 | Review of C and Intro to C++ | 5 | Lab 2 released |
Lec 3 | Program Organization | 12.1 | |
Week 2: September 19 - 23 | |||
Lec 4 | Compilation | 12.1 | |
Lec 5 | I/O | 6 | |
Lec 6 | I/O Error Handling | 6 | Lab 1 due (9/23) |
Week 3: September 16 - 30 | |||
Lec 7 | Introduction to classes | 10 | |
Lec 8 | Constructors | 10 | |
Lec 9 | Destructors | 10 | |
Week 4: October 3 - 7 | |||
Lec 10 | Pointers and Structures | 9 | |
Lec 11 | Dynamic Memory Allocation and Arrays | 7, 9, 11.3, 11.4 | |
Lec 12 | Variable Scope | 7, 9, 11.3, 11.4 | |
Week 5: October 10 - 14 | |||
Lec 13 | Operator Overload | 11.2 | |
Lec 14 | Midterm Review | N/A | |
Week 6: October 17 - 21 | |||
Lec 15 | Object passing and Copying | 11.4 | |
Lec 16 | Linked List | 13.1 | |
Week 7: October 24 - 28 | |||
Lec 17 | Recursion | 14 | |
Lec 18 | Quicksort | 14 | |
Lec 19 | Binary Search Tree | N/A | |
Week 8: October 31 - November 4 | |||
Lec 19 | Binary Search Tree | N/A | |
Lec 20 | Inheritance | 15 | |
Lec 21 | Inheritance (II) | 15 | |
Week 9: November 14 - November 18 | |||
Lec 22 | Inheritance (III): Constructors | 15 | |
Lec 23 | Inheritance (IV): Polymorphism | 15 | |
Lec 24 | Complexity (I) | 18.3 | |
Week 10: November 21 - November 25 | |||
Lec 25 | Complexity 2: Recursion | 18.3 | |
Lec 26 | Hashtable | N/A | |
Week 12: December 5 - 7 | |||
Final review | Final Review | N/A |
*: “Reading” refers to the chapters of the main textbook we use. Please note that the textbook does not cover all the materials we teach in the lectures. Exam are based on lecture notes.