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 |
|