Ob!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> schedule

CS350 Schedule

This document sets the schedule of the course both by objectives and by time. This document will be updated during the term as needed.

By Objective

Coordinates of the form x.y identify both an objective, x, and the approximate percentage of effort, y, spent on objective x. For instance, 1.5 identifies that objective 1 takes about 5% of the course effort. Efforts are indicative. The total effort may differ from 100%.

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



By Week

Some objectives will span across weeks. The presentation of the material of an objective may start a bit before or after the scheduled week. The homework due is a forecast updated after each class period.

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



Exams

The midterm will be held during the last lecture of week 4. The final will be held strictly according to the university schedule unless explicitly noted here.