CISC5835, Algorithms for Big Data, Fall 2018 
Overview: The first part this course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. We study the general techniques for algorithm design (e.g., divideandconquer, dynamic programming, graph algorithms), as well as specific algorithms for specific problems (e.g., sorting, searching, polynomial and matrix calculations). Issues of intractability, i.e., a discussion of the classes P (problems solvable in polynomial time) and NP (problems for which a conjectured solution can checked in polynomial time), issues of NPcompleteness and the famous open problem of whether P=NP or not are introduced in the course. The second part of class covers specialized algorithms for handling big data, including algorithms that operate in a single pass of the data, algorithms for streaming data, and massively parallel algorithms. Prerequisites: CISC2200, and CISC2100/CISC2110 or equivalent Instructor: Xiaolan Zhang Lecture: Tuesday 5:307:45pm
Course Materials:
Resources:

