| Week |
Topics |
Notes |
| 1 |
Course overview; Java Review; Debugging and unit testing;
Greedy Algorithms |
Project 1 |
| 2 |
Complexity: run time analysis; Informal Big O; Linear search;
Binary search. Selection sort; Bubble sort; Merge sort
(iteratively). |
|
| 3 |
Big O; Merge sort and recursion; Recurrence relations |
Project 2 |
| 4 |
Quick sort; Towers of Hanoi; Wrap up Big O |
No class Thursday, February 24 |
| 5 |
Introduction to Haskell |
Exam 1 |
| 6 |
More Haskell; Abstract Data Types. |
|
| 7 |
Stacks with arrays; Linked lists. Stacks revisited;
Backtracking |
Project 3 |
| |
Spring Break |
|
| 8 |
Queues with arrays and linked lists |
|
| 9 |
Inheritance and Polymorphism |
|
| 10 |
Dynamic memory; C++; Stacks and Queues revisited |
Exam 2 |
| 11 |
Binary Trees |
|
| 12 |
Binary Trees |
|
| 13 |
Software Engineering; Implementing an Abstract Data Type |
Project 4 |
| 14 |
Software Engineering; Implementing an Abstract Data Type;Wrap
up |
|