CPSC 327  Data Structures and Algorithms  Spring 2016 
Reading is to be done for the class period where it is listed.
Note on reading the war stories: you may not be familiar with all of the techniques, algorithms, or data structures mentioned in the stories. That's OK  read the war stories for what they illustrate about the real world of developing algorithms rather than for necessarily understanding every detail of the algorithm. (Though feel free to ask about things!)
Dates for things in light gray are tentative and may shift slightly.
Note on homework problems: [PC] denotes a preclass problem  these are intended as part of the first exposure to the material and are graded primarily on effort. You should try to do these problems yourself before discussing with others (if you discuss). [P] denotes a practice problem  these are meant for practice applying things that have been discussed in class and are graded primarily on correctness. Both kinds of problems are due when the homework is due.
Assignments  

Week 1: 1/191/22Topics: course introduction, introduction to algorithm design, analysis of algorithms 

Wed 
Reading:

homework 1 due Fri 1/22 

Fri  Reading:

homework 2 due Mon 1/25 

Week 2: 1/251/29Topics: analysis of algorithms, review of basic ADTs and data structures, lookup 

Mon  Slides:  homework 3 due Wed 1/27 

Wed 
Reading:

homework 4 due Fri 1/29 

Fri 
Reading:

homework 5 due Mon 2/1 

Week 3: 2/12/5Topics: balanced binary trees; hashtables 

Mon  Reading: Slides:  homework 6 due Wed 2/3 

Wed  Reading: Slides:  homework 7 due Fri 2/5 

Fri 
Reading:

homework 8 due Mon 2/8 

Week 4: 2/82/12Topics: ordered sequences (priority queues, heaps); other data structures (and rolling your own); searching and sorting 

Mon 
Reading:

homework 9 due Wed 2/10 

Wed 
Reading:

homework 10 due Fri 2/12 

Fri 
Reading:

project 1 Code Breaker due Fri 3/4 

Week 5: 2/152/19Topics: sorting and searching, iterative algorithms 

Mon 
Reading:

homework 11 due Wed 2/17 

Wed  Reading: Slides and Examples:  homework 12 due Fri 2/19 

Fri  Slides and Handouts:  homework 13 due Mon 2/22 

Week 6: 2/222/26Topics: greedy algorithms 

Mon  Reading: Slides and Examples:  
Wed  Slides and Examples:  homework 14 due Fri 2/26 

Fri 
Slides and Examples:

homework 15 due Mon 2/29 

Week 7: 2/293/4Topics: iterative and greedy algorithms, divideandconquer algorithms, recurrence relations 

Mon  Slides and Examples:  homework 16 due Wed 3/2 

Wed  Reading: Slides and Examples:  
Fri 
Slides and Examples:

exam 1 (review information) (comments and partial solutions) 

Week 8: 3/73/11Topics: divideandconquer 

Mon  Slides and Examples:  
Wed 
Slides and Examples:

homework 17 due Mon 3/21 
project 2 Iterative, Greedy, DivideandConquer due Wed 4/6 
Fri  meet with your group to work on project 2  
Spring Break: 3/123/20 

Week 9: 3/213/25Topics: solving recurrence relations; graphs  applications, ADT, implementation, traversal 

Mon  Slides:  homework 18 due Wed 3/23 

Wed 
Reading:

homework 19 due Fri 3/25 

Fri 
Reading:


Week 10: 3/284/1Topics: graphs  traversal, shortest paths, solving problems with graphs 

Mon 
Slides:

homework 20 due Wed 3/30 

Wed 
Reading:

homework 21 due Fri 4/1 

Fri 
Reading:


Week 11: 4/44/8Topics: solving problems with graphs, minimum spanning trees 

Mon 
Reading:


Wed 
Reading:

exam 2 (review information) 

Fri 
Reading:
Slides and Examples:


Week 12: 4/114/15Topics: backtracking, pruning, branch and bound, heuristic search 

Mon 
Reading:

homework 22 due Wed 4/13 
project 3 Finding Your Way due Tue 5/3 
Wed  Slides:  homework 23 due Mon 4/18 

Fri 
Reading:


Week 13: 4/184/22Topics: dynamic programming 

Mon 
Reading:

homework 24 due Wed 4/20 

Wed 
Reading:

homework 25 due Fri 4/22 

Fri 
Reading:

homework 26 due Mon 4/25 

Week 14: 4/254/29Topics: reductions, complexity, dealing with NPcomplete problems 

Mon 
Reading:

homework 27 due Wed 4/27 

Wed 
Reading:


Fri 
Reading:


Week 15: 5/25/3Topics: how to design algorithms, wrapup 

Mon 
Reading:


Reading Period: 5/45/6 

Wed  office hours 13pm  
Thu  office hours 13pm  
Fri  office hours 10:3012 and 1:303pm  
Exams: 5/75/10 

Sat  
Sun  
Mon 
final exam
Mon 5/9 8:3011:30am 
endofsemester deadline no work accepted after 5/9 11:30am 

Tue 