CPSC 327 Data Structures and Algorithms Spring 2020

CPSC 327 Schedule

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

Topics: 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/31

Topics: analysis of algorithms; basic ADTs and their implementation

 

Mon Reference:

Slides and Handouts:

homework 3
due Wed 1/29
 

Wed Reading: The reading is lengthy, but it should be largely review. Focus on what ADTs are, what the fundamental ADTs are and their operations, working with arrays, linked lists, and binary trees, and using arrays, linked lists, and binary trees to implement the fundamental ADTs.

Slides:

homework 4
due Mon 2/3
 

Fri Slides: homework 5
due Mon 2/3

Week 3: 2/3-2/7

Topics: balanced binary trees; hashtables

 

Mon Reading:

Slides:

  • AVL trees (with a special bonus: splay trees)
homework 6
due Wed 2/5

Wed Reading:

Slides:

  • 2-4 trees (with a mention of red-black trees)
homework 7
due Fri 2/7

Fri Reading:

Slides:

homework 8
due Mon 2/10

Week 4: 2/10-2/14

Topics: 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/21

Topics: 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/28

Topics: 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/6

Topics: 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/13

Topics: 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/27

Topics: 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/3

Topics: shortest paths, graph traversal (depth-first search) and applications, minimum spanning trees and other important graph algorithms


Mon Reading:
  • shortest paths (updated to the "notes" version rather than "handouts" version)
From Class:
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/10

Topics: 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/17

Topics: 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: From Class:

Week 14: 4/20-4/24

Topics: 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/1

Topics: 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/4

Topics: wrapup


Mon Reading: From Class:  

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
final exam
due 5/10 4:30pm

review information
end-of-semester deadline
no work accepted after 5/10 4:30pm

Mon