CSCI B503: Algorithms Design and Analysis

Fall 2017

Monday, Wednesday 11:15am - 12:30pm, I2 150


This is an introductory graduate-level course on algorithm design and analysis, covering fundamental techniques in designing algorithms and proving bounds on their time and space complexity.

As the course focuses on the analysis (therefore mathematical aspect) of algorithms, students are expected to have a solid undergraduate mathematical background (e.g., elementary combinatorics, discrete probability, basic linear algebra and calculus). Students are also expected to have learned elementary algorithms, including basic data structures, basic sorting and searching, elementary graph terminology, and asymptotic analysis of time and space complexity for algorithms (i.e. big-O/Omega/Theta notation). There will be no programming requirement in this course. However, it will be very helpful to have past experience with implementation of basic algorithms and data structures.

Course Information Syllabus

Date Topic   Reading     Homework  
Aug 21 (Mon) Introduction
Aug 23 (Wed) Homework 1 out
Aug 28 (Mon)
Aug 30 (Wed)
Sep 6 (Wed) Homework 1 due
Homework 2 out
Sep 11 (Mon)
Sep 13 (Wed)
Sep 18 (Mon)
Sep 20 (Wed) Homework 2 due
Sep 25 (Mon) Midterm 1 (Tentative)
Sep 27 (Wed) Homework 3 out
Oct 2 (Mon)
Oct 4 (Wed)
Oct 9 (Mon)
Oct 11 (Wed) Homework 3 due
Homework 4 out
Oct 16 (Mon)
Oct 18 (Wed)
Oct 23 (Mon)
Oct 25 (Wed) Homework 4 due
Oct 30 (Mon) Midterm 2 (Tentative)
Nov 1 (Wed) Homework 5 out
Nov 6 (Mon)
Nov 8 (Wed)
Nov 13 (Mon)
Nov 15 (Wed) Homework 5 due
Homework 6 out
Nov 27 (Mon)
Nov 29 (Wed)
Dec 4 (Mon)
Dec 6 (Wed) Homework 6 due