| CPSC 327 | Data Structures and Algorithms | Spring 2026 |
Readings are listed on the schedule page on the day when they will be discussed in class. "ADM" refers to the textbook (The Algorithm Design Manual). Readings are the first introduction for most material — it often takes more than one encounter to fully absorb something, and class time is more effective if it can be used to fill in the gaps and answer questions about things you have already started to think about. You are encouraged to complete the assigned reading before class to identify the main ideas and note questions, and then revisit the reading after class to more fully understand the material.
Dates for things in light gray are for planning purposes and are subject to change.
| Assignments | ||||
|---|---|---|---|---|
Week 1: 1/21-1/23Topics: course introduction; analysis of algorithms |
||||
| Wed |
Materials from class:
|
introductory survey (on Canvas) |
||
| Fri |
Reading:
|
|||
Week 2: 1/26-1/30Topics: analysis of algorithms; standard ADTs and basic data structures |
||||
| Mon |
Reading:
|
|||
| Wed |
Reading:
|
homework 1 due Wed 2/4 in class |
||
| Fri |
Reading:
|
|||
Week 3: 2/2-2/6Topics: ADTs and implementations: containers (lists, stacks, queues), lookup (dictionaries); data structures: binary trees, BSTs, and balanced BSTs |
||||
| Mon |
Reading:
|
|||
| Wed |
Reading:
|
homework 2 due Wed 2/11 in class |
||
| Fri |
Reading:
Materials from class:
|
|||
Week 4: 2/9-2/13Topics: ADTs and implementations: lookup (dictionaries), priority queues; data structures: balanced BSTs, hashtables, heaps |
||||
| Mon |
Reading:
|
|||
| Wed |
Reading:
|
homework 3 due Wed 2/18 in class |
||
| Fri |
Reading:
|
|||
Week 5: 2/16-2/20Topics: ADTs and implementations: sets; fundamental algorithms and techniques: sorting, searching, selection, hashing; data structure toolkit wrapup |
||||
| Mon |
Reading:
|
|||
| Wed |
Reading:
|
homework 4 due Wed 2/25 in class |
||
| Fri |
Reading:
|
|||
Week 6: 2/23-2/27Topics: graphs and graph algorithms: terminology, ADT and implementation, traversal (BFS) |
||||
| Mon |
Reading:
|
programming assignment Graph ADT due Mon 3/9 in class |
||
| Wed |
Reading:
|
homework 5 due Wed 3/4 in class |
||
| lab session Thu 4-5pm |
||||
| Fri |
exam
|
revise-and-resubmit for hw1 due Fri 2/27 comments on hw1 |
||
Week 7: 3/2-3/6Topics: graph algorithms: DFS and DFS-based algorithms, minimum spanning trees, shortest paths |
||||
| Mon |
Reading:
|
|||
| Wed |
Reading:
|
homework 6 due Wed 3/11 in class |
||
| Fri |
Reading:
|
|||
Week 8: 3/9-3/13Topics: graph algorithms: network flows, bipartite matching, other algorithms; developing algorithms: modeling |
||||
| Mon |
Reading:
|
Graph ADT interviews see your email or the main Canvas course page for the signup link make sure you have handed in your code prior to your interview | ||
| Wed |
Reading:
|
homework 7 due Wed 3/25 in class |
||
| Fri | Materials from class: | |||
Spring Break: 3/14-3/22 |
||||
Week 9: 3/23-3/27Topics: developing algorithms: control-flow paradigms |
||||
| Mon |
Reading:
|
programming assignment Dijkstra's algorithm due Wed 4/1 in class |
||
| Wed |
Reading:
|
homework | ||
| lab session Thu 4-5pm |
||||
| Fri |
exam
|
revise-and-resubmit for hw2 due Fri 3/27 comments on hw2 |
||
Week 10: 3/30-4/3Topics: |
||||
| Mon | ||||
| Wed | homework | |||
| Fri | programming assignment | revise-and-resubmit for hw3, hw4 due Fri 4/3 comments on hw3, hw4 (to be posted) |
||
Week 11: 4/6-4/10Topics: |
||||
| Mon | ||||
| lab session Tue 4-5pm |
||||
| Wed | homework | |||
| Fri | ||||
Week 12: 4/13-4/17Topics: |
||||
| Mon | ||||
| Wed | homework | |||
| Fri | ||||
Week 13: 4/20-4/24Topics: |
||||
| Mon | programming assignment | |||
| Wed | HWS Day (no class) | homework | ||
| Fri |
exam
|
|||
Week 14: 4/27-5/1Topics: |
||||
| Mon | ||||
| lab session Tue 4-5pm |
||||
| Wed | homework | |||
| Fri | ||||
Week 15: 5/4Topics: |
||||
| Mon | ||||
Reading Period: 5/5-5/7 |
||||
| Tue | ||||
| Wed | ||||
| Thu | ||||
Exams: 5/8-5/11 |
||||
| Fri | ||||
| Sat | ||||
| Sun | ||||
| Mon |
exam 8:30-11:30am
|
end of semester deadline no work accepted after 11:30am |
||