CS 3000: Algorithms & Data — Fall 2021

Syllabus      Tentative Course Schedule


          Rajmohan Rajaraman     Andrew van der Poel

Office Hours (online, all times Eastern)

Teaching Assistants


Piazza Link   Description   Textbook   Grading   Policies   Recitations


Course Description

This is an introductory undergraduate course in algorithms.   Every computer program can be viewed as an implementation of an algorithm for solving a particular computational problem.  The focus of this course is on learning algorithm design techniques for solving the underlying computational problems.  We will also look at how algorithms translate to programs, but our emphasis will be on the algorithm design and analysis.   In this class, you will
Specific topics covered in the course typically include:


Algorithm Design, by Kleinberg and Tardos, Pearson


Grades will be based on problem sets and programming assignments (35%), quizzes (8%), two midterms (16% each), and final (25%). The final grade assigned to a student will be based on the overall performance of the student relative to the entire class.


CS 3001 Recitations

Since this is a large class, and the main focus of the course is problem-solving, we will have weekly recitation sessions in which we will work through several problems related to material covered in the lectures.