[an error occurred while processing this directive]
TCSS 343A, Winter 2006
Mathematical Principles of Computing II

Course Schedule

Material covered by schedule subject to change, although midterm & final dates are fixed. This schedule is very tentative!

Schedule is numbered by week.
  1. (1/3): Introduction, overview of problems to study. Math and basic analysis tools, introduction to analysis.
    Read 1.1-1.4, 2.1,  2.3, 2.4, Appendix A.
    (1/5): Analysis of nonrecursive  algorithms.  Loop Invariants.
  2. (1/10) Analysis of recursive algorithms. Big-Oh notation review. Review data structures. Selected coverage of Brute force algorithms. Assignment #1a due.
    Read 2.2, chapter 3.1, 3.3, 4.1-4.3
    (1/12): Assignment #1b due. Divide and conquer algorithms (including at least Merge sort), recurrence equations, and analysis of them.
  3. (1/17):  More divide and conquer, analysis, including quicksort.
    Read 4.6.
    (1/19): Assignment #2 due. Master Theorem, Closest Pair, Convex Hull (not covered this quarter).
  4. (1/24):  Midterm Review and More practice.
    (1/26): Midterm 1 on Thursday, Jan. 26.  
  5. (1/31):  Review trees, start dynamic programming. 
    Read 4.4, 8.1, 8.4
    (2/2):  Assignment #3 due. More dynamic programming.
  6. (2/7): More dynamic programming..
    Read 8.2, 5.1-5.4.
    (2/9): Assignment #4 due. Start Decrease-and-Conquer. More Dynamic Programming
  7. (2/14):  More Decrease-and-Conquer. More dynamic programming.
    (2/16):  Assignment #5 due. Midterm review.
  8. (2/21):  Midterm 2 on Tuesday, Feb. 21.
    Read chapter 9.1-9.3  
    (2/23):  Greedy Algorithms.
  9. (2/28):  Greedy algorithm (Kruskal).
    (3/2):  Greedy Algorithm (Prim's, Dijkstra's). Assignment #6 due. Transform-and-conquer continued. 
  10. (3/7):   Space and Time Tradeoffs.
    Read chapter 6.1, 6.4-6.6. Read chapter 7.1,7.3, 10.1-10.3.
    (3/9): Assignment #7 due. Intro to lower bounds, P and NP. Review.
  11. Final Exam date: Tuesday, Mar.. 14th