CMPT 706 - Design and Analysis of Algorithms for Big Data - Spring 2020

Course Information Syllabus Lectures Assignments Exams


Course outline:

SFU course outlines

Topics Covered:

Algorithmic techniques

  • Introduction and Algorithms with Numbers
  • Divide-and-Conquer
  • Graphs and Graph Algorithms
  • Greedy Algorithms
  • Dynamic Programming
  • Approximation and Randomized algorithms

Big Data topics

  • Algorithm Design for Map-Reduce: Analysis and trade-offs
  • Algorithms for Large-Scale Graphs: Vertex-centric and Edgecentric approaches
  • Consistency in Large Distributed Systems: Paxos consensus, CAP theorem
  • Algorithms for Large Datasets: Time-accuracy trade-offs
  • Sampling and Sketching
  • Dimensionality Reduction
  • Streaming Algorithms

Grading:

  • Homework assignments - 30%. The grade is calculated by taking best 4 out of 5
  • Quizzes - 20%. The grade is calculated based on best 2 out of 3
  • Final - 45%
  • Participation - 5%

Exam:

There will be 5 3 quizzes and a final exam. The final exam is on all the material covered in class.