CPSC 327 | Data Structures and Algorithms | Spring 2020 |
Reading is to be done for the class period where it is listed.
Dates for things in light gray are for planning purposes and may be adjusted slightly.
Assignments | |||
---|---|---|---|
Week 1: 1/21-1/24Topics: introduction; analysis of algorithms |
|||
Wed | Slides: | homework
1 due Fri 1/24 |
|
Fri | Reading:
Slides: |
homework
2 due Mon 1/27 |
|
Week 2: 1/27-1/31Topics: analysis of algorithms; basic ADTs and their implementation |
|||
Mon |
Reference:
Slides and Handouts: |
homework
3 due Wed 1/29 |
|
Wed |
Reading:
Slides:
|
homework
4 due Mon 2/3 |
|
Fri |
Slides:
|
homework
5 due Mon 2/3 |
|
Week 3: 2/3-2/7Topics: balanced binary trees; hashtables |
|||
Mon |
Reading:
Slides:
|
homework
6 due Wed 2/5 |
|
Wed |
Reading:
Slides:
|
homework
7 due Fri 2/7 |
|
Fri |
Reading:
Slides: |
homework
8 due Mon 2/10 |
|
Week 4: 2/10-2/14Topics: heaps; specialized data structures and rolling your own; fundamental algorithms (searching and sorting); the interplay of algorithms and data structures |
|||
Mon |
Reading:
Slides:
|
homework
9 due Wed 2/12 |
|
Wed | Slides: | project 1 Codebreaker |
|
Fri | Slides: | homework
10 due Mon 2/17 |
|
Week 5: 2/17-2/21Topics: iterative algorithms |
|||
Mon |
Reading:
Slides and Examples: |
homework
11 due Wed 2/19 |
|
Wed |
Reference:
Slides and Examples: |
homework
12 due Fri 2/21 |
|
Fri | Slides and Examples: | homework
13 due Mon 2/24 |
|
Week 6: 2/24-2/28Topics: greedy algorithms |
|||
Mon |
Reading:
Reference: Slides and Examples: |
homework
14 due Wed 2/26 |
|
Wed | Slides and Examples: | homework
15 due Fri 2/28 |
|
Fri |
Slides and Examples:
|
homework
16 due Mon 3/2 |
|
Week 7: 3/2-3/6Topics: greedy algorithms; divide-and-conquer algorithms |
|||
Mon | Slides: | homework
17 due Wed 3/4 |
|
Wed |
Reading:
Slides and Examples: |
exam 1 (review information) |
|
Fri | Examples: | ||
Week 8: 3/9-3/13Topics: divide-and-conquer algorithms; improving running times |
|||
Mon |
Examples:
|
homework
18 due Wed 3/11 |
project 2 Algorithmic Paradigms |
Wed | Slides: | homework
19 due Fri 3/13 |
|
Fri |
Slides and Other Materials:
|
||
Spring Break: 3/14-3/22 |
|||
Week 10: 3/23-3/27Topics: graphs, graph ADT, graph traversal (breadth-first search) and applications |
project 2 Algorithmic Paradigms (continued) |
||
Mon | Reading: | homework 20 due Wed 3/25 (on Canvas) |
|
Wed | Reading: From Class: | homework 21 due Fri 3/25 (on Canvas) |
|
Fri | Reading: From Class: | homework 22 due Mon 3/30 (on Canvas) |
|
Week 11: 3/30-4/3Topics: shortest paths, graph traversal (depth-first search) and applications, minimum spanning trees and other important graph algorithms |
|||
Mon |
Reading:
| homework 23 due Wed 4/1 (on Canvas) |
|
Wed | Reading: From Class: | homework 24 due Fri 4/3 (on Canvas) |
|
Fri | Reading: From Class: | homework 25 due Mon 4/6 (on Canvas) |
|
Week 12: 4/6-4/10Topics: solving problems with graphs; flow |
|||
Mon | Reading: From Class: Other Materials: | ||
Wed | Reading: From Class: | exam 2 (on Canvas) review information |
|
Fri | From Class: | ||
Week 13: 4/13-4/17Topics: recursive backtracking, pruning, branch and bound |
|||
Mon | Reading: From Class: | homework 26 due Wed 4/15 (on Canvas) |
project 3 Finding Your Way |
Wed |
Reading:
From Class:
|
homework 27 due Mon 4/20 (on Canvas) |
|
Fri |
Reading:
|
||
Week 14: 4/20-4/24Topics: dynamic programming |
|||
Mon | Reading: From Class: | homework 28 due Wed 4/22 (on Canvas) |
|
Wed |
Reading:
From Class:
|
homework 29 due Fri 4/24 (on Canvas) |
|
Fri |
From Class:
|
homework 30 due Mon 4/27 (on Canvas) |
|
Week 15: 4/27-5/1Topics: reductions, complexity, dealing with NP-complete problems |
|||
Mon | Reading: From Class: | homework 31 due Wed 4/29 (on Canvas) |
|
Wed | Reading: From Class: | homework 32 due Fri 5/1 (on Canvas) |
|
Fri |
Reading:
From Class:
Other Materials:
|
||
Week 16: 5/4Topics: wrapup |
|||
Mon |
Reading:
|
||
Reading Period: 5/5-5/7 |
|||
Tue | office hours 12-2pm | ||
Wed | office hours 12-2pm | ||
Thu | office hours 12-2pm | ||
Exams: 5/8-5/11 |
|||
Fri | office hours 12-2pm | ||
Sat | |||
Sun | end-of-semester deadline no work accepted after 5/10 4:30pm |
||
Mon |