CPSC 327 | Data Structures and Algorithms | Spring 2025 |
Class preparation assignments are generally based on the assigned reading and are due by 10pm the night before the class for which they are listed. For readings, "ADM" refers to the textbook (The Algorithm Design Manual).
Dates for things in light gray are for planning purposes and may be adjusted slightly. Expect class preparation assignments for most classes, weekly homeworks, and several programming assignments.
Assignments | |||||
---|---|---|---|---|---|
Week 1: 1/21-1/24Topics: course introduction; analysis of algorithms |
|||||
Wed |
Materials from class:
|
introductory survey (on Canvas) |
|||
Fri |
Reading:
|
class prep — ADM 2.1-2.4 (on Canvas) due Thu 1/23 10pm |
|||
Week 2: 1/27-1/31Topics: analysis of algorithms; ADTs |
|||||
Mon |
Reading:
|
class prep — big-Oh for sums and recurrence relations, ADM 2.7-2.8 (on Canvas) due Sun 1/26 10pm |
|||
Wed |
Reading:
|
homework 1 due Fri 2/7 in class |
|||
Fri |
Reading:
|
class prep — ADM 3.1 (on Canvas) due Thu 1/30 10pm |
|||
Week 3: 2/3-2/7Topics: data structures: arrays, linked lists, binary trees; binary search trees, balanced BSTs |
|||||
Mon |
Materials from class:
|
||||
Wed |
Reading:
|
class prep — BSTs (on Canvas) due Tue 2/4 10pm |
|||
Fri |
Reading:
|
class prep — AVL trees (on Canvas) due Thu 2/6 10pm |
homework 2 [corrected!] due Fri 2/14 in class |
||
Week 4: 2/10-2/14Topics: balanced search trees (2-4 trees); heaps; hashtables |
|||||
Mon |
Reading:
Materials from class:
|
class prep — 2-4 trees (on Canvas) due Sun 2/9 10pm |
|||
Wed |
Reading:
|
class prep — heaps (on Canvas) due Tue 2/11 10pm |
|||
Fri |
Reading:
|
class prep — hashtables (on Canvas) due Thu 2/13 10pm |
homework 3 due Fri 2/21 in class |
||
Week 5: 2/17-2/21Topics: specialized data structures; developing data structures; applications of data structures and fundamental techniques |
|||||
Mon |
Reading:
|
class prep — ADM 15 (on Canvas) due Sun 2/16 10pm |
|||
Wed |
Reading:
|
class prep — sorting (on Canvas) due Tue 2/18 10pm |
|||
Fri |
Reading:
|
class prep — fundamental techniques (on Canvas) due Thu 2/20 10pm |
homework 4 due Fri 2/28 in class |
||
Week 6: 2/24-2/28Topics: graphs, graph traversal, BFS and BFS-based algorithms |
|||||
Mon |
Reading:
|
class prep — ADM 7.1-7.2 (on Canvas) due Sun 2/23 10pm |
programming assignment 1 Graph ADT due Fri 3/7 in class help sessions: Wed 2/26 8:30-9:30am Thu 2/27 3-4pm Lansing 301 |
hw1 resubmit due Mon 2/24 in class feedback |
|
Wed |
exam 1
|
||||
Fri |
Reading:
|
class prep — ADM 7.5-7.7 (on Canvas) due Thu 2/27 10pm |
homework 5 due Mon 3/10 in class |
||
Week 7: 3/3-3/7Topics: DFS and DFS-based algorithms, shortest paths, minimum spanning tree |
|||||
Mon |
Reading:
|
class prep — ADM 7.8-7.10 (on Canvas) due Sun 3/2 10pm |
hw2 resubmit due Mon 3/3 in class feedback |
||
Wed |
Reading:
|
class prep — ADM 8 intro, 8.3 (on Canvas) due Tue 3/4 10pm |
|||
Fri |
Reading:
|
class prep — ADM 8.1-8.1.3 (on Canvas) due Thu 3/6 10pm |
programming assignment 2 Dijkstra's Algorithm due Fri 3/14 in class |
||
Week 8: 3/10-3/14Topics: solving problems with graphs; divide-and-conquer algorithms |
|||||
Mon |
Reading:
|
class prep — ADM 8.7 (on Canvas) due Sun 3/9 10pm |
homework 6 due Wed 3/26 in class |
||
Wed |
Reading:
|
class prep — ADM 8.1.4, 8.2, 8.5-8.6, 18 (on Canvas) due Tue 3/11 10pm |
hw3 resubmit due Wed 3/12 in class feedback |
||
Fri |
Reading: (for the week after spring break if you
don't get to it before class)
|
||||
Spring Break: 3/17-3/21 |
|||||
Week 9: 3/24-3/28Topics: divide-and-conquer algorithms; iterative algorithms |
|||||
Mon |
Materials from class:
|
programming assignment 3 Ski-O due Mon 4/7 in class |
|||
Wed |
Reading:
|
homework 7 due Fri 4/4 in class |
|||
Fri |
Reading:
|
class prep — iterative algorithms (on Canvas) due Thu 3/27 10pm |
|||
Week 10: 3/31-4/4Topics: iterative algorithms; greedy algorithms |
|||||
Mon |
Materials from class:
|
hw4 resubmit due Mon 3/31 in class feedback |
|||
Wed |
exam 2
|
||||
Fri |
Reading:
|
class prep (to be posted) due Thu 4/3 10pm |
hw5 resubmit due Fri 4/4 in class feedback |
||
Week 11: 4/7-4/11Topics: |
|||||
Mon | design problem | ||||
Wed | |||||
Fri | programming assignment 4 | ||||
Week 12: 4/14-4/18Topics: |
|||||
Mon | Graph ADT resubmit due Mon 4/14 in class hand in as graphv2 feedback |
||||
Wed |
exam 3
|
||||
Fri | |||||
Week 13: 4/21-4/25Topics: |
|||||
Mon | |||||
Wed | |||||
Fri | |||||
Week 14: 4/28-5/2Topics: |
|||||
Mon | |||||
Wed | |||||
Fri | |||||
Week 15: 5/5Topics: |
|||||
Mon | |||||
Reading Period: 5/6-5/8 |
|||||
Tue | |||||
Wed | |||||
Thu | |||||
Final Exams: 5/9-5/12 |
|||||
Fri | |||||
Sat |
final exam
5/10 7-10pm |
end-of-semester deadline no work accepted after 5/10 10pm |
|||
Sun | |||||
Mon |