CPSC 327 | Data Structures and Algorithms | Spring 2023 |
Reading is to be done for the class period where it is listed; "ADM" refers to the textbook (The Algorithm Design Manual). Warmups are due by 10pm the night before the class for which they are listed.
Dates for things in light gray are for planning purposes and may be adjusted slightly.
Assignments | |||
---|---|---|---|
Week 1: 1/23-1/27Topics: course introduction; analysis of algorithms |
|||
Mon |
Materials from class:
|
introductory survey (on Canvas, under "Quizzes") due Fri 1/27 |
|
Wed |
Reading:
Materials from class:
|
||
Fri |
Reading:
Materials from class:
|
homework 1 due Mon 1/30 resubmit due Wed 2/8 |
|
Week 2: 1/30-2/3Topics: analysis of algorithms; data structures: building blocks, designing implementations; containers |
|||
Mon |
Reading:
Materials from class:
|
homework 2 due Wed 2/1 resubmit due Wed 2/15 |
|
Wed |
Reading:
Materials from class:
|
homework 3 due Mon 2/6 resubmit due Wed 2/15 |
|
Fri |
Reading:
|
homework 4 due Mon 2/6 resubmit due Fri 2/17 |
|
Week 3: 2/6-2/10Topics: data structures: searching and lookup; balanced search trees |
|||
Mon |
Reading:
Materials from class:
|
homework 5 due Wed 2/8 resubmit due Fri 2/17 |
|
Wed |
Reading:
Materials from class:
|
homework 6 due Fri 2/10 resubmit due Mon 2/20 |
|
Fri |
Reading:
Warmup: on Canvas, under "Quizzes"
Materials from class:
|
homework 7 due Mon 2/13 resubmit due Fri 2/24 |
|
Week 4: 2/13-2/17Topics: hashtables; data structures: sorting; priority queues, heaps |
|||
Mon |
Reading:
Materials from class:
|
homework 8 due Fri 2/17 resubmit due Mon 2/27 |
|
Wed |
Reading:
Additional reading/reference:
Materials from class:
|
||
Fri |
Reading:
Materials from class:
|
homework 9 due Mon 2/20 resubmit due Mon 3/6 |
|
Week 5: 2/20-2/24Topics: data structures toolbox; graphs |
|||
Mon |
Reading:
Materials from class:
|
exam 1 due Wed 2/22 in the Assignments section on Canvas (review information) resubmit due Wed 5/10 4:30pm |
|
Wed |
Reading:
Materials from class:
|
homework 10 due Fri 2/24 resubmit due Mon 4/3 |
|
Fri |
Reading:
Materials from class:
|
homework 11 due Fri 3/3 resubmit due Mon 4/3 |
|
Week 6: 2/27-3/3Topics: graph algorithms: traversals, best-first search, depth-first search, weighted shortest path |
|||
Mon |
Reading:
Materials from class:
|
||
Wed |
Reading:
Materials from class:
|
||
Fri |
Reading:
Materials from class:
|
homework 12 due Mon 3/6 resubmit due Fri 3/17 |
|
Week 7: 3/6-3/10Topics: minimum spanning trees; solving problems with graphs; algorithm development: establishing correctness |
|||
Mon |
Reading:
Materials from class:
|
homework 13 due Mon 3/13 resubmit due Mon 4/10 |
|
Wed |
Reading:
Materials from class:
|
||
Fri |
Reading:
Materials from class:
|
||
Week 8: 3/13-3/17Topics: developing iterative algorithms |
|||
Mon |
Reading:
Materials from class:
|
exam 2 due Wed 3/15 in the Assignments section on Canvas (review information) resubmit due Wed 5/10 4:30pm |
|
Wed |
Materials from class:
|
homework 14 due Fri 3/17 resubmit due Wed 4/5 |
|
Fri |
Materials from class:
|
||
Spring Break: 3/20-3/24 |
|||
Week 9: 3/27-3/31Topics: developing iterative algorithms; developing greedy algorithms |
|||
Mon |
Reading:
|
homework 15 due Wed 3/29 resubmit due Mon 4/10 |
|
Wed |
Materials from class:
|
homework 16 due Fri 3/31 resubmit due Mon 4/10 |
|
Fri |
Materials from class:
|
homework 17 due Mon 4/3 resubmit due Mon 4/24 |
|
Week 10: 4/3-4/7Topics: developing greedy algorithms; developing recursive algorithms; divide-and-conquer |
|||
Mon |
Materials from class:
|
homework 18 due Wed 4/5 resubmit due Wed 4/26 |
|
Wed |
Reading:
Materials from class:
|
homework 19 due Fri 4/7 resubmit due Wed 4/26 |
|
Fri |
Reading:
Materials from class:
|
homework 20 due Mon 4/10 resubmit due Fri 4/28 |
|
Week 11: 4/10-4/14Topics: developing recursive algorithms: divide-and-conquer, recursive backtracking, branch and bound |
|||
Mon |
Materials from class:
|
exam 3 due Wed 4/12 in the Assignments section on Canvas (review information) resubmit due Wed 5/10 4:30pm |
|
Wed |
Reading:
Materials from class:
|
homework 21 due Fri 4/14 resubmit due Wed 5/3 |
|
Fri |
Reading:
Materials from class:
|
homework 22 due Mon 4/17 resubmit due Wed 5/3 |
|
Week 12: 4/17-4/21Topics: dynamic programming |
|||
Mon |
Reading:
Materials from class:
|
homework 23 due Wed 4/19 resubmit due Mon 5/1 |
|
Wed |
Reading:
Materials from class:
|
homework 24 due Fri 4/21 resubmit due Fri 5/5 |
|
Fri |
Reading:
Materials from class:
|
homework 25 due Mon 4/24 resubmit due Fri 5/5 |
|
Week 13: 4/24-4/28Topics: developing algorithms: wrapup, strategies for improvement, beyond big-Oh; hard problems: reductions, complexity classes |
|||
Mon |
Reading:
Materials from class:
|
homework 26 due Fri 5/5 |
|
Wed |
Reading:
Materials from class:
|
||
Fri |
Reading:
Materials from class:
|
||
Week 14: 5/1-5/5Topics: dealing with NP-complete problems; wrapup |
|||
Mon |
Reading:
Materials from class:
|
homework 27 due Wed 5/3 resubmit due Wed 5/10 |
|
Wed |
Reading:
Materials from class:
|
homework 26 (continued) due Fri 5/5 |
|
Fri |
Reading:
Materials from class:
|
||
Reading Period: 5/6-5/8 |
|||
Sat | |||
Sun | |||
Mon |
review session 10am-noon (Lansing 301) office hours 12:30-2:30pm Materials from class:
|
||
Final Exams: 5/9-5/12 |
|||
Tue | office hours 11:30-1:30pm | ||
Wed | office hours 11:30-1:30pm | end-of-semester deadline no work accepted after 5/10 4:30pm |
final exam due 5/10 4:30pm in the Assignments section on Canvas (available after 5/8 12pm) (review information) |
Thu | |||
Fri |