CPSC 327 | Data Structures and Algorithms | Spring 2022 |
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/24-1/28Topics: course introduction; analysis of algorithms |
|||
Mon |
In Class:
|
||
Wed |
Reading:
In Class:
|
||
Fri |
Reading:
In Class:
|
homework 1 due Mon 1/31 resubmit due Fri 2/11 |
|
Week 2: 1/31-2/4Topics: algorithm analysis; data structures; containers |
|||
Mon |
Reading:
In Class:
|
homework 2 due Wed 2/2 resubmit due Wed 2/16 |
|
Wed |
Reading:
In Class:
|
homework 3 due Fri 2/4 resubmit due Fri 2/18 |
|
Fri |
In Class:
|
homework 4 due Mon 2/7 resubmit due Fri 2/18 |
|
Week 3: 2/7-2/11Topics: searching and lookup; balanced BSTs |
|||
Mon |
Reading:
In Class:
|
homework 5 due Wed 2/9 resubmit due |
|
Wed |
Reading:
In Class:
|
||
Fri |
Reading:
Warmup: on Canvas, under "Quizzes"
In Class:
|
homework 6 due Mon 2/14 resubmit due Mon 2/28 |
|
Week 4: 2/14-2/18Topics: hashtables; sorting and incremental sorting; heaps |
|||
Mon |
Reading:
In Class:
|
homework 7 due Wed 2/16 resubmit due Mon 2/28 |
|
Wed |
Reading:
In Class:
|
||
Fri |
Reading:
In Class:
|
homework 8 due Mon 2/21 resubmit due Wed 3/2 |
|
Week 5: 2/21-2/25Topics: hitchhiker's guide to data structures; graphs |
|||
Mon |
Reading:
In Class:
|
||
Wed |
Reading:
In Class:
|
homework 9 due Fri 2/25 resubmit due Mon 3/14 |
|
Fri |
Reading:
In Class:
|
homework 10 due Wed 3/9 resubmit due Wed 3/30 |
|
Week 6: 2/28-3/4Topics: graph traversals; BFS and BFS-based algorithms; DFS and DFS-based algorithms; weighted shortest path |
|||
Mon |
Reading:
In Class:
|
||
Wed |
Reading:
In Class:
|
exam 1 due Mon 3/7 on Canvas, under "Assignments" (review information) |
|
Fri |
Reading:
In Class:
|
||
Week 7: 3/7-3/11Topics: minimum spanning trees; solving problems with graphs; establishing correctness |
|||
Mon |
Reading:
In Class:
|
||
Wed |
Reading:
In Class:
|
homework 11 due Fri 3/11 resubmit due Wed 3/30 |
|
Fri |
Reading:
In Class:
|
homework 12 due Fri 3/18 resubmit due Mon 4/11 |
|
Week 8: 3/14-3/18Topics: developing iterative algorithms |
|||
Mon |
Reading:
In Class:
|
||
Wed |
In Class:
|
||
Fri |
In Class:
|
||
Spring Break: 3/19-3/27 |
|||
Week 9: 3/28-4/1Topics: developing greedy algorithms |
|||
Mon |
Reading:
Warmup: no warmup
In Class:
|
homework 13 due Wed 3/30 resubmit due Wed 4/13 |
|
Wed |
In Class:
|
exam 2, part 1 due Fri 4/1 on Canvas, under "Assignments" (review information) |
|
Fri |
In Class:
|
homework 14 due Wed 4/6 resubmit due Fri 4/15 |
|
Week 10: 4/4-4/8Topics: developing recursive algorithms; divide-and-conquer |
|||
Mon |
Reading:
In Class:
|
||
Wed |
Reading:
In Class:
|
homework 15 due Fri 4/8 resubmit due Mon 4/18 |
|
Fri |
In Class:
|
homework 16 due Mon 4/11 resubmit due Fri 4/22 |
|
Week 11: 4/11-4/15Topics: developing recursive algorithms - divide-and-conquer, recursive backtracking, branch-and-bound |
|||
Mon |
In Class:
|
||
Wed |
Reading:
In Class:
|
homework 17 due Fri 4/15 resubmit due Fri 5/6 |
|
Fri |
Reading:
In Class:
|
homework 18 due Mon 4/18 resubmit due Fri 5/6 |
|
Week 12: 4/18-4/22Topics: dynamic programming |
|||
Mon |
Reading:
In Class:
|
exam 2, part 2 due Wed 4/20 on Canvas, under "Assignments" (review information) |
|
Wed |
Reading:
In Class:
|
homework 19 due Fri 4/22 resubmit due Fri 5/6 |
|
Fri |
Reading:
In Class:
|
homework 20 due Mon 4/25 resubmit due Fri 5/6 |
|
Week 13: 4/25-4/29Topics: developing algorithms: strategies for improvement, beyond big-Oh; hard problems: reductions, complexity classes |
|||
Mon |
Reading:
In Class: |
homework 21 due Fri 5/6 |
|
Wed |
Reading:
In Class:
|
||
Fri |
Reading:
In Class:
|
homework 22 due Mon 5/2 |
|
Week 14: 5/2-5/6Topics: dealing with NP-complete problems; wrapup |
|||
Mon |
Reading:
In Class: |
homework 21 (continued) due Fri 5/6 |
|
Wed |
Reading:
In Class:
|
||
Fri |
*** bring a device (laptop, tablet, phone) if you can ***
Reading:
In Class: |
exam 3 (review information) final exam (review information) on Canvas, under "Assignments" exam resubmit opportunity (information) |
|
Reading Period: 5/7-5/9 |
|||
Sat | |||
Sun | |||
Mon | office hours: 11am-1pm | ||
Exams: 5/10-5/13 |
|||
Tue | office hours: 11am-1pm | ||
Wed | office hours: 11am-1pm | ||
Thu | office hours: 11am-1pm | ||
Fri | end-of-semester deadline no work accepted after 5/13 4:30pm |