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

Course Information Syllabus Lectures Assignments Exams


Lecture 22 - April 9
Sublinear Time Algorithms
Estimating the number of 1's in a string
Testing Sortedness
Lecture 21 - April 7
Parallel Algorithms
Matirx Multiplication
Graph Reachability
Video Lecture 20 - April 2
Paxos Consensus

Video Lecture [link]
Paxos Made Simple non-technical explanation of Paxos consensus by its creator, Leslie Lamport: [link]
Video Lecture 19 - March 31
Processing Large Graphs

Google's Pregel framework for large scale graph processing. A video presentation is available here: [link]
Some basic graph algorithms implemented with Pregel can be found [link] and [link]

GraphChi Large-Scale Graph Computation on just a PC (vertex-centric approach using preprocessing to produce shards). The conference paper, presentation video, and presentation slides are all available on this web page: [link]

X-Stream Edge-centric Graph Processing using Streaming Partitions (edge-centricscatter-gather approach with no preprocessing). The conference paper is here: [link] and the video presentation is here: [link]
Lecture 18 - March 26
Dynamic Programming
Edit Distance
Lecture 17 - March 24
Dynamic Programming
Fibonacci sequence
The shortest path problem
The knapsack problem
Lecture 16 - March 12
Approximation algorithms using greedy approach
The Set Cover Problem
The Vertex Cover Problem
Lecture 15 - March 10
Huffman encoding
Lecture 14 - March 5
Kruskal's algorithm cont'd.
A Data Structure for Disjoint Sets
Lecture 13 - March 3
Minimum Spanning Trees
Kruskal's algorithm
Prim's algorithm
Lecture 12 - February 27
Breadth First Search
Dijkstra's algorithm
Bellman-Ford algorithm
Lecture 11 - February 25
Depth First Search
Strongly Connected Componenets
Lecture 10 - February 13
Graphs
Depth First Search
Lecture 9 - February 11
Graphs
Lecture 8 - February 6
Divide and Conquer Algorithms
Quick Sort
Finding Median of an Array
Fast Matrix Multiplication
February 4 Cancelled due to snow
Lecture 7 - January 30
Testing Primality
Divide and Conquer Algorithms
Lecture 6 - January 28
Testing Primality
Lecture 5 - January 23
More on Big-O notation + Master Method
Euclidean algorithm
RSA Encryption
Lecture 4 - January 21
Fast integer multiplication
Lecture 3 - January 16
Big-O notation
Arithmetic and Algorithms
Lecture 2 - January 14
Big-O notation
Lecture 1 - January 9
Introduction