CPSC 327 Data Structures and Algorithms Spring 2026

CPSC 327 Schedule

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/23

Topics: course introduction; analysis of algorithms

 

Wed Materials from class: introductory survey
(on Canvas)
   

Fri Reading:
  • ADM 2.1-2.4 (RAM model of computation, big-Oh, growth rates and dominance relations, working with big-Oh)
Materials from class:
     

Week 2: 1/26-1/30

Topics: analysis of algorithms; standard ADTs and basic data structures

 

Mon Reading: Materials from class:    

Wed Reading: Materials from class:
  • slides: analysis of algorithms (big-Oh from sums and recurrence relations; sums from loops, recurrence relations from recursion)
homework 1

due Wed 2/4 in class
   

Fri Reading:
  • ADM chapter 3 intro (page 69)
  • ADM 3.1 (arrays and linked lists)
  • ADM 3.2-3.3, 3.5 (stacks, queues, dictionaries, priority queues) — only read the first part of each section about the operations of each ADT; skip the discussion about implementation
Materials from class:
   

Week 3: 2/2-2/6

Topics: ADTs and implementations: containers (lists, stacks, queues), lookup (dictionaries); data structures: binary trees, BSTs, and balanced BSTs

 

Mon Reading:
  • ADM 3.2 (containers: lists, stacks, queues)
  • ADM 3.3, 15.1 (lookup: dictionaries)
   

Wed Reading:
  • ADM 3.4-3.4.2 (binary search trees)
homework    

Fri Reading:    

Week 4: 2/9-2/13

Topics:

 

Mon    

Wed homework    

Fri    

Week 5: 2/16-2/20

Topics:

 

Mon    

Wed homework    

Fri    

Week 6: 2/23-2/27

Topics:

 

Mon programming assignment  

Wed homework  

lab session
Thu 4-5pm
Fri
exam
 

Week 7: 3/2-3/6

Topics:

 

Mon  

Wed homework  

Fri    

Week 8: 3/9-3/13

Topics:

 

Mon    

Wed homework    

Fri    

Spring Break: 3/14-3/22


Week 9: 3/23-3/27

Topics:

 

Mon programming assignment  

Wed homework  

lab session
Thu 4-5pm
Fri
exam
 

Week 10: 3/30-4/3

Topics:

 

Mon  

Wed homework    

Fri programming assignment  

Week 11: 4/6-4/10

Topics:

 

Mon  

lab session
Tue 4-5pm
Wed homework  

Fri  

Week 12: 4/13-4/17

Topics:

 

Mon    

Wed homework    

Fri    

Week 13: 4/20-4/24

Topics:

 

Mon programming assignment  

Wed HWS Day (no class) homework  

Fri
exam
 

Week 14: 4/27-5/1

Topics:

 

Mon  

lab session
Tue 4-5pm
Wed homework  

Fri  

Week 15: 5/4

Topics:

 

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