CS3000: Algorithms & Data



Time & Location:

2:50 - 4:30pm, MW, Shillman 335


Instructor: Paul Hand
    Office: Lake 523
    Office Hours: Monday 1:15-2:45pm

Teaching Assistant: Abdel Rahman Madkour
    Office Hours: Tuesday 5:00-6:30 PM
    Location: WVH 166-168

Teaching Assistant: Emily Shi
    Office Hours: Monday 5:00-6:30 PM
    Location: WVH 366

Teaching Assistant: Koosh Doctor
    Office Hours: Friday 11:00 AM - 12:30 PM
    Location: WVH 362

Teaching Assistant: Tian Xia
    Office Hours: Tuesday 5:00-6:30 PM
    Location: WVH 166-168

Important Links

Piazza: We will use Piazza for the course. Sign up.

Gradescope: We will use Gradescope for the course. Log in.


This is an introductory course in algorithms. Although any computer program can be viewed as an implementation of an algorithm for solving a particular computational problem, in this course we focus not on the programs themselves but on the underlying computational problems, and general algorithmic techniques for solving these problems. In this course, we will: Last year's course schedule will give you even more of a sense of what is covered in this course.

Discussion Forum: Piazza

We will be using Piazza for class discussion. The system will make it possible to get help quickly and and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I strongly encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email team@piazza.com.


Reading will be assigned mainly from

You may find them useful as a reference or as an alternative perspective on some of the material, but they are not required:

Homework Policies


The final course grade will be computed based on a weighted average of: