Algorithms for Data Science (COMP 5112) 

Weekly Schedule



Instructor: Anil Maheshwari
Office: Herzberg Building 5125B (None of us can access it for time being!)

Lectures: Online lectures twice a week (may change). The schedule will be posted once I know your time zones. The recorded videos will likely be posted in cuLearn.   The recordings are not to be shared.

Office hours: During the breaks and immediately after the online lectures.         

Course objectives: 

To learn some of the algorithmic techniques to handle data science problems.
Topics may include:

These topics may be adjusted based on the background and interest of the students in the class.

Required Background:

We will cover a spectrum of techniques from the design and analysis of algorithms. It is assumed that you have a very good grasp on:
Note that there will not be sufficient time to review the background material to a satisfactory level during the course. (In nutshell you must have a background that is equivalent to the following Carleton Courses:  COMP 1805, COMP 2402, COMP 3804, and a course in Linear Algebra.)

Reference Material:

Useful References related to various topics. This will get modified as we go along the course.

Grading Scheme: (Tentative)

- Assignments (including a Take Home Exam)
- Quizzes during the online lectures
- Scribe Notes (you will be responsible to type in content of (part of) one of the lectures in a LaTeX template and add some relevant exercises),
- Project (initial proposal + short report + presentation)

Weekly Schedule (Tentative):

Week #
Week 1 Introduction.
What is this course about? 
Course Logistics

Probability Basics
Balls and Bins Experiments

Week 2
Data Streaming
Count Min Sketch and its Applications
Sliding Window

Week 3
Estimating Frequency Moments in a Data Stream

Week 4
Locality-Sensitive Hashing
LSH Families

Week 5
Geometric Algorithms
- Approximate Nearest Neighbors
- Clustering
- Core Sets

Week 6
Online Algorithms
- Classical Examples
- Analysis via Primal-Dual LP

Week 7
Regret Minimization
- Multiplicative Weights Algorithm

Week 8
Linear Algebra Review
Graph Partitioning
Applications in Social Networks

Week 9
Dimensionality Reduction

Week 10
Second Moment Method
Random Graphs

Week 11
Randomized Linear Algebra

Week 12
Project Presentations
Week 13 Project Presentations

University Policies:  

Student Academic Integrity Policy: Every student should be familiar with the Carleton University student academic integrity policy. A student found in violation of academic integrity standards may be awarded penalties which range from a reprimand to receiving a grade of F in the course or even being expelled from the program or University. Some examples of offences are: plagiarism and unauthorized co-operation or collaboration. Information on this policy may be found in the Undergraduate Calendar.

Plagiarism: As defined by Senate, "plagiarism is presenting, whether intentional or not, the ideas, expression of ideas or work of others as one's own". Such reported offences will be reviewed by the office of the Dean.

Unauthorized Co-operation or Collaboration:
We follow all the rules and regulations set by Carleton University regarding accommodating students with any kind of need(s). Please consult with the appropriate authorities to see how you can be accommodated and please follow their procedures.

Equity Statements:

You may need special arrangements to meet your academic obligations during the term. For an accommodation request the processes are as follows:

Pregnancy obligation: write to me with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website:

Religious obligation: write to me with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website:

Academic Accommodations: The Paul Menton Centre for Students with Disabilities (PMC) provides services to students with Learning Disabilities (LD), psychiatric/mental health disabilities, Attention Deficit Hyperactivity Disorder (ADHD), Autism Spectrum Disorders (ASD), chronic medical conditions, and impairments in mobility, hearing, and vision. If you have a disability requiring academic accommodations in this course, please contact PMC at 613-520-6608 or for a formal evaluation. If you are already registered with the PMC, contact your PMC coordinator to send me your Letter of Accommodation at the beginning of the term, and no later than two weeks before the first in-class scheduled test or exam requiring accommodation (if applicable). Requests made within two weeks will be reviewed on a case-by-case basis. After requesting accommodation from PMC, meet with me to ensure accommodation arrangements are made. Please consult the PMC website (  for the deadline to request accommodations for the formally-scheduled exam (if applicable).

Medical Certificate: The following is a link to the official medical certificate accepted by Carleton University for the deferral of final examinations or assignments in undergraduate courses. To access the form, please go to


  1. This is the very first offering of this course! I will seek your advise in terms of any particular algorithms that you will like to see in this course.
  2. All communications will be done via cuLearn forums. If you have a question that may benefit the whole class,  please post it in the forum or ask during the class/office hour. (The discussion that are of private nature can be done by sending me an e-mail.)
  3. I am planning to take online lectures twice a week. Once I know the time zones of all the students, we will draw up a lecture schedule. Online lectures will be recorded (subject to all the technological issues involved). I am planning  to make the recordings available on cuLearn. They won't be made available on any other outlets. You need a  cuLearn account to access them. Please do not post or resend the links to the recorded video to anybody (thanks).
  4. During the online lectures we will post quizzes. You are expected to answer them in the allocated time limit. If we are not able to find a suitable time to hold the lectures, we will find some alternative mechanism to host the quizzes.
  5. I am planning to hold my office hours immediately after the online lectures. 
  6. I am new to online lectures and there will be several bumps! I am still hoping that you will appreciate the beautiful algorithmic techniques.
  7. For uOttawa students: Please try to figure out how to obtain the cuLearn account. (I can't help you with the administrative aspect - please contact graduate and departmental administrators.)
  8. For your benefit I will be posting some of the videos from COMP 3801 class. Those are gentle introduction to a subset of the topics in this course. The reason for posting them is that you may review them beforehand to get somewhat familiar with the contents and the style of this course. This course will be at a much faster pace. We will cover significantly more and advanced material. Think of the COMP 3801 videos as the background preparation.
  9. Learn (La)TeX as soon as possible - will help you to write your thesis later!