1/20 Course introduction & overview
1/24 Java basics
1/27 Classes and abstract data types (ADTs)
2/03 Lists as arrays
2/07 Sets as lists
2/10 Computational complexity
2/14 Simple searching & sorting
2/17 Memory allocation
2/21 Linked-lists
2/24 Arrays vs. linked-lists
2/28 Recusion review
3/02 Stacks
3/06 Queues
3/09 Heaps
3/13 no class ---- Spring Break
3/16 no class ---- Spring Break
3/20 no class ---- Spring Break
3/23 no class ---- Spring Break
3/27 Priority queues
3/30 Tree structures
4/03 Binary search trees
4/06 Balanced binary trees
4/10 Hash functions
4/13 Hash tables
4/17 More sorting
4/20 and more sorting
4/24 Greedy algorithms
4/27 Minimum spanning trees
5/01 Graphs
5/04 Shortest-path problems
5/08 ???
5/11 ???