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 |