CPSC 327 | Data Structures and Algorithms | Spring 2014 |
Readings are to be done for the class period where they are listed.
Dates for things in light gray are tentative and may shift slightly.
Assignments | |||
---|---|---|---|
Week 1: 1/22-1/24Topics: introduction; iterative algorithms |
|||
Wed | homework #0 due Fri 1/24 |
||
Fri | Reading: DPV section 0.1
Notes:
|
homework #1 due Mon 1/27 |
|
Week 2: 1/27-1/31Topics: iterative algorithms; algorithm analysis |
|||
Mon |
Notes:
|
homework #2 due Wed 1/29 |
|
Wed |
Notes:
|
homework #3 due Fri 1/31 |
|
Fri | Reading: DPV section 0.2-0.3
Notes:
Reference: |
homework #4 due Mon 2/3 |
|
Week 3: 2/3-2/7Topics: algorithm analysis |
|||
Mon |
Notes:
|
homework #5 due Wed 2/5 |
|
Wed |
Notes:
|
homework #6 due Fri 2/7 |
|
Fri | Reading: DPV sections 1.1, 1.2.3
Our interest in chapter 1 is practicing determining running times and a closer consideration of the notion of "input size", so we will only cover a small part of the chapter (and thus only a few sections are required). The book's theme is the interesting contrast in difficulty between factoring (determining a number's prime factors) and primality (determining if a number is prime). It is well worth reading the whole chapter for that reason, or if you are interested in cryptography. Notes:
|
homework #7 due Mon 2/10 |
|
Week 4: 2/10-2/14Topics: recursive algorithms; divide-and-conquer; recurrence relations |
|||
Mon |
Notes:
|
homework #8 due Wed 2/12 |
|
Wed | Reading: DPV section 2.1
Notes:
|
homework #9 due Fri 2/14 |
|
Fri | Reading: DPV section 2.2
Notes:
|
homework #10 due Mon 2/17 |
|
Week 5: 2/17-2/21Topics: recurrence relations; divide-and-conquer |
|||
Mon | Reading: DPV sections 2.3, 2.5
Notes:
|
homework #11 due Wed 2/19 |
|
Wed | Reading: DPV section 2.4
Notes:
|
homework #12 due Fri 2/21 |
|
Fri |
Notes:
|
homework #13 due Mon 2/24 |
|
Week 6: 2/24-2/28Topics: graphs and graph algorithms |
|||
Mon | Reading: DPV section 3.1
Notes: |
||
Wed | Reading: DPV sections 3.2-3.4
Things to pay attention to in the reading: the algorithms themselves (DFS, checking connectivity, finding directed cycles, strongly connected components), how the algorithms build on DFS, and the strategies for arguing correctness. Notes:
|
homework #14 due Fri 2/28 |
|
Fri | Reading: DPV sections 4.1-4.4
Things to pay attention to in the reading: the algorithms themselves (BFS, Dijsktra's algorithm), how the algorithms build on BFS, and the strategies for arguing correctness. Notes:
|
midterm 1 due Wed Mar 5 (review information) |
|
Week 7: 3/3-3/7Topics: graph algorithms |
|||
Mon |
Notes:
|
||
Wed |
Notes:
|
programming assignment 1
Travel Agent part 0 due Wed Mar 12 |
|
Fri | Reading: DPV sections 4.6-4.7
Notes:
|
||
Week 8: 3/10-3/14Topics: graph algorithms; data structures (priority queues, heaps) |
|||
Mon | Reading: DPV section 4.5
Notes:
|
||
Wed | Reading: DPV section 5.1 | programming assignment 1
Travel Agent rest due Mon Apr 7 |
|
Fri | Reading: DPV section 5.2-5.4
Notes:
|
||
Spring Break: 3/17-3/21 |
|||
Week 9: 3/24-3/28Topics: greedy algorithms |
|||
Mon |
Notes:
|
||
Wed | Reading: DPV sections 5.2-5.4 (if not already done) Notes:
|
homework #15 due Fri 3/28 |
|
Fri |
Notes:
|
homework #16 due Mon 3/31 |
|
Week 10: 3/31-4/4Topics: greedy algorithms |
|||
Mon |
Notes:
|
homework #17 due Fri 4/4 |
|
Wed |
Notes:
|
||
Fri |
Notes:
|
||
Week 11: 4/7-4/11Topics: dynamic programming |
|||
Mon | Reading: DPV sections 6.1-6.2
Notes:
|
homework #18 due Wed 4/9 |
|
Wed | Reading: DPV sections 6.3-6.5
Notes:
|
homework #19 due Fri 4/11 |
|
Fri | Reading: DPV sections 6.6-6.7
Notes:
|
midterm 2 due Wed Apr 16 (review information) |
|
Week 12: 4/14-4/18Topics: recursive backtracking, branch-and-bound |
|||
Mon |
Notes:
|
||
Wed |
Notes:
|
homework #20 due Fri 4/18 |
|
Fri |
Notes:
|
homework #21 due Wed 4/22 |
|
Week 13: 4/21-4/25Topics: complexity and reductions |
|||
Mon | Reading: DPV sections 8.1-8.2
Notes:
|
programming assignment 2 TSP due Tue May 6 |
|
Wed | Reading: DPV sections 8.3
Notes:
|
||
Fri |
Notes:
|
||
Week 14: 4/28-5/2Topics: balanced trees; rolling your own data structures |
|||
Mon |
Notes:
|
homework #22 due Wed 4/30 |
|
Wed | Notes: | homework #23 due Fri 5/2 |
|
Fri |
Notes:
|
||
Week 15: 5/5-5/6Topics: wrapup |
|||
Mon |
Notes:
|
||
Reading Period: 5/7-5/9 |
|||
Wed | |||
Thu | |||
Fri | |||
Final Exams: 5/10-5/13 |
|||
Sat | |||
Sun |
final exam
due Sun 5/11 4:30pm |
end-of-semester deadline no work accepted after 5/11 4:30pm |
|
Mon | |||
Tue |