Ob!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
The homework is due in class at the beginning of the first lecture
of the week following the week of assignment.
| Coordinates | 1.5 |
| Description | Analyze the running time and space complexity of algorithms |
| Source | Textboook Sect 2.1 http://en.wikipedia.org/wiki/Analysis_of_algorithms |
| Slides | Objective-1.pdf |
| Homework | Textbook Sect 2.1: 1abcf, 2ab, 6 |
| Coordinates | 2.5 |
| Description | Use the big Oh notation |
| Source | Textboook Sect 2.2 http://en.wikipedia.org/wiki/Big_O_notation |
| Slides | Objective-2.pdf |
| Homework | Textbook Sect 2.2: 1abc, 2c, 5, 10ab |
| Coordinates | 3.5 |
| Description | Describe how to prove the correctness of an algorithm |
| Source |
http://en.wikipedia.org/wiki/Hoare_logic http://en.wikipedia.org/wiki/Loop_invariant http://dl.acm.org/citation.cfm?id=363259 |
| Slides | n/a |
| Homework | hmwk-3.pdf |
| Coordinates | 4.10 |
| Description | Use the mathematical techniques required to prove the time complexity of a program/algorithm |
| Source | Textboook Sect 2.3, 2.4, (2.6) |
| Slides | Objective-4.pdf |
| Homework | Sect 2: 3.1abd, 3.4abcd 4.1ad, 4.2, 4.8ab |
| Coordinates | 5.5 |
| Description | Perform inductive proofs |
| Source | http://en.wikipedia.org/wiki/Mathematical_induction |
| Slides | n/a |
| Homework | hmwk-5.txt |
| Coordinates | 6.5 |
| Description | Prove and apply the Master Theorem |
| Source | Textbook Appendix B |
| Slides | Objective-6.pdf |
| Homework | hmwk-6.pdf |
| Coordinates | 7.5 |
| Description | Describe the notions of P, NP, NP-complete, and NP-hard |
| Source | Textboook Sect 11.3 http://mathworld.wolfram.com/ComplexityTheory.html http://en.wikipedia.org/wiki/Computational_complexity_theory |
| Slides | Objective-7.pdf |
| Homework | Sect 11.3: 11.3.1, 11.3.3, 11.3.6 |
| Coordinates | 8 |
| Description | Compare the rates of growth of functions |
| See | Objective 1 |
| Coordinates | 9 |
| Description | Apply algorithmic complexity principles in the design of programs |
| See | Objective 10 |
| Coordinates | 10.45 |
| Description | Design divide and conquer and dynamic programming algorithms |
| Source |
Textboook Sect 5 (divide an conquer) Textboook Sect 8 (dynamic programming) http://en.wikipedia.org/wiki/Floyd-Warshall_algorithm Textboook Sect 9 (greedy algorithms) http://en.wikipedia.org/wiki/Prim%27s_algorithm http://en.wikipedia.org/wiki/Kruskal%27s_algorithm |
| Slides |
Objective-10-1.pdf Objective-10-2.pdf Objective-10-3.pdf |
| Homework |
Objective 10-1, Sect 5: 5.1.5abc, 5.1.10, 5.2.7a, 5.3.2, 5.3.5abc, 5.4.3ab Objective 10-1, Project 1 Objective 10-2, Sect 8: 8.1.2, 8.1.8, 8.2.4ab, 8.4.1, 8.4.3 Objective 10-2, Project 2 Objective 10-3, Sect 9: 9.1.1, 9.2.1, 9.3.2a |
| Week | Objective | Description | Homework due |
|---|---|---|---|
| 1 | 1 and 2 | Running time | |
| 2 | 10-1 | Divide and conquer | All homework of objectives 1 and 2 |
| 3 | 4 | Math techinques |
Mon. 10/8: Homework of objective 10-1, subsection 1, 2 and 3. Wed. 10/10: Complete homework of objective 10-1 and Project 1. |
| 4 | 5 | Inductive proofs | All homework of objective 4 |
| 5 | 10-2 | Dynamic progr. | All homework of objective 5 |
| 6 | 6 | Master Th. |
Mon. 10/29: Homework of objective 10-2, subsection 1 and 2. Wed. 10/31: Complete homework of objective 10-2 and Project 2. |
| 7 | 10-3 | Greedy Alg. | All homework of objectives 6 |
| 8 | 7 | P and NP | All homework of objective 10-3 |
| 9 | 3 | Correctness | All homework of objective 7 |
| 10 | review | All homework of objective 3 |