**Week1:MLK day, Jan 21
**

**Chapter 1 and 2 Algorithms and their Analysis (complexity)****PPTs lecture1****MIT Video:**Peek Finding**Software**: Anaconda Python, Visual C++ 2013. Python Book

**Week2:Jan 26-28: **

**Chapter 3:Growth of Functions.**

**Please send me an email ASAP so I can add you to my email list**!!!!!

**PPT lecture 2**

**Hw 1****: 3-3 Due: Feb 2****MIT Video:**Models of Computation**Project#1: (Due Friday Feb 6) Empirical Studies of Two Sorting Algorithms.**

Week3:Feb 2-4

- More Algorithm Complexity (ppts Lecture 3 and 4)
- Recurrence Relations and Merge Sort (see ppt) (See video)

**Week4:Feb 9-11
**

**Exam on Monday!**- Start introduction to Dynamic Programming

**Week5: Feb 16-18**

**Continue DP.****Homework DP (class handout)**

**Week6: Feb 23-25:**

**Longest Common Sub-sequence(see video)**

**Matrix Chain Multiplication****Optimal Binary Search Trees**

**Project#2: A Dynamic Programming Example(class handout)****Solution of last problem on Exam due next Monday.**

**Week7:Mar 2-4**

- Exam 2 Wed

**Week8: Mar 9-11
**

- Graphs

**Week9: March 23-25**

- Graphs: BFS, DFS
- MST and Shortest Paths
- Project#3: Graph Project Handout (data sets) DUE April 23rd

**Weel10:Mar 30-Apr 1 : Mar 30 Last day to drop**

**Continue with Prim’s algorithm**- Topological Sort
- Belman Ford and Dijkstra’s shortest path
- Study Kruskal this weekend.

**Week11:Apr 6-8
**

- We will discuss Kruskal today assuming you already have studied it during the week end.
- Exam 3 Wed

**Week12:Apr 13-15**

- Review of BST trees and augmentation of them.

**Week13:Apr 20-22**

- Red/Black Trees ( data structure visualizations )
- Hashing Functions
- Hashing (open addressing )

**Week14:Apr 27-29**

- Hashing (external chaining)
- Coalesced Hashing
**Exam 4 Wed**

**Week15:May 4-6**

**Comprehensive Final Exam Monday May 11 @ 3:30
**