CPSC 320: Intermediate Algorithm Analysis and Design

2016 Summer Term 1

General Information

Course Website: http://www.cs.ubc.ca/~nickhar/S16

Lecture Time: Monday, Wednesday, Friday 2:30-5:00pm

Lecture Room: DMP 110

Discussion Forum: Piazza  (run primarily by TAs)

 

Staff

·         Instructor: Nick Harvey

·         TAs

o   Reza Babanezhad, rezababa@cs.ubc.ca

o   Prithu Banerjee, prithu@cs.ubc.ca

o   Ricky Chen, tqichen@cs.ubc.ca

o   Shiwen He, shiwenhe@cs.ubc.ca

o   Alireza Zakeri Hosseinabadi, azakeri@cs.ubc.ca

 

Office Hours

·         Instructor:

o   After every lecture, in the lecture room (or my office), 5-5:30pm

·         TAs:

o   Monday 12-1pm (Alireza), Location x141

o   Tuesday 3-4pm (Alireza), Location x141

o   Wednesday: 1pm-2pm (Shiwen), Location DLC Table 2

o   Wednesday 12-1pm (Alireza), Location x141

o   Thursday 2-3pm (Ricky), DLC Table 1

o   Friday 12-2pm (Ricky), DLC Table 1

 

Final Exam

·         Wednesday June 22nd, 12-2:30pm, in PHRM 1101.

·         No textbooks or electronic devices are permitted.

·         Six pages of handwritten notes, on double-sided 8.5x11” paper are permitted.

 

Lectures

 

Date

Topics

Erickson

KT

1

M 5/9

Stable matching

Ch 0

1.1

2

W 5/11

Asymptotic notation

 

2.1, 2.2, 2.4

3

F 5/13

Graphs: BFS, Bipartite Graphs

Ch 18

3.1, 3.2, 3.4

4

M 5/16

Greedy: Interval Scheduling, Minimizing Lateness

Ch 7

4.1, 4.2

5

W 5/18

Graphs: Dijkstra, Spanning Trees

Ch 21, 20

4.4, 4.5

6

F 5/20

Divide and conquer: Recurrence Relations

App 2

5.1, 5.2, 5.3

7

W 5/25

Divide and conquer: Inversions, Multiplication

1.3, 1.8

5.3, 5.5

8

F 5/27

Optional review session

 

M 5/30

Midterm 3-4:30pm in PHRM 1101

 

 

9

W 6/1

DP1: Weighted Interval Scheduling, Knapsack

6.1, 6.4

10

F 6/3

DP2: Edit Distance, Cache Partitioning, Viterbi Algorithm

5.5

6.6

11

M 6/6

Amortized analysis: Reallocating arrays, Stack with MultiPop

Ch 15

12

W 6/8

Randomized algorithms: Bloom Filters, Set Similarity

13

F 6/10

Streaming algorithms: Heavy Hitters

14

M 6/13

NP-completeness: Definition of P and Reductions

30.1, 30.2, 30.5

8.1, 8.3

15

W 6/15

NP-completeness: Examples of Reductions

30.3, 30.8, 30.9

8.4

16

F 6/17

Optional review session

Chapter numbers for Erickson’s book refer to the “All algorithms lecture notes in one file” PDF.

Disclaimer: I do not guarantee that lecture material matches the textbooks.

 

Tutorials

·         Tutorial A: Mon, Wed 11-12am (Alireza)

·         Tutorial B: Mon, Wed 5-6pm (Shiwen)

·         Tutorial C: Tue, Thu 10-11am (Prithu)

All are held in DMP 101. Solutions will be posted on Piazza after Section C finishes.

 

Date
Sections A&B

Date

Section C

Topics

Link

1

W 5/11

Th 5/12

Stable matching

PDF

2

Virtual Tutorial

Asymptotic notation

PDF

3

M 5/16

Tu 5/17

Graphs

PDF

4

W 5/18

Th 5/19

Greedy algorithms

PDF

5

W 5/25

Th 5/26

Recurrences

PDF

6

Virtual Tutorial

Divide-and-conquer

PDF

7

W 6/1

Th 6/2

Dynamic programming 1

PDF

8

M 6/6

Tu 6/7

Dynamic programming 2

PDF

9

W 6/8

Th 6/9

Amortized Analysis

PDF

10

M 6/13

Tu 6/14

NP-completeness

PDF

11

W 6/15

Th 6/16

NP-completeness

PDF

 

 

Assignments

All assignments are due in room x235, box 32 (labeled “CPSC 320”), by 2:15pm on the due date.

 

Handout

Due

Handback

Topics

Link

TA Grader

1

W 5/11

M 5/16

F 5/20

Stable matching, asymptotic notation

PDF

Ricky

2

M 5/16

F 5/20

F 5/27

Graphs, Greedy algorithms

PDF

Reza

3

F 5/20

F 5/27

W 6/1

Recurrences, Divide and conquer

PDF

Reza

4

W 6/1

M 6/6

F 6/10

Dynamic programming

PDF

Ricky

5

M 6/6

F 6/10

M 6/13

Amortized Analysis, Hashing

PDF

Reza

6

F 6/10

F 6/17

Streaming Algs, NP-completeness

PDF

Shiwen

Late assignment policy: Due to the extremely tight schedule of the summer term, no allowances are made for late assignments. Please contact the TA grader directly about any issues with handing in the assignment.

 

Handouts

·         Guide to Greedy Algorithms, by Roughgarden, Sharp and Wexler.

·         Amortized Analysis: a Summary, by Patrice Belleville.

·         Hashing and Bloom Filters, by Michael Mitzenmacher. Lecture notes for Harvard CS 124.

·         Document Similarity, by Michael Mitzenmacher. Lecture notes for Harvard CS 124.

·         Streaming Algorithms, by Anupam Gupta and Danny Sleator. Lecture notes for CMU 15-451.

 

Resources

Textbooks:

·         Required: Algorithms” by Jeff Erickson. Exclusively available as a free PDF.

·         Optional:Algorithm Design” by Jon Kleinberg and Eva Tardos.

·         Optional: “Introduction to Algorithms” by Cormen, Leiserson, Rivest and Stein. Available online from UBC libraries.

·         Optional:Mathematics for Computer Science” by Eric Lehman, Tom Leighton and Albert Meyer. For now, a free PDF.
This has great background material on proofs, induction, graphs, etc.

Slides: Kevin Wayne at Princeton has excellent slides to accompany the Kleinberg-Tardos textbook.

 

Syllabus

Grading Scheme:

·         25% assignments, 25% midterm exam, 50% final exam

·         Must submit at least 4 assignments.

·         Must get at least 50% on weighted average of exams.

 

Past offerings of this course

·         2015 Summer Term (Harvey)

·         2014 Summer Term (Schroeder)

·         2014 Winter Term 2 (Wolfman)

·         2014 Winter Term 1 (Belleville)

·         2013 Winter Term 2 (Belleville)

·         2012 Winter Term 2 (Meyer)

·         2009 Winter Term 2 (Wolfman)

·         2009 Winter Term 1 (Evans)