CS3000: Algorithms & Data



Time & Location:

2:50pm-4:30pm, MW, West Village G 104


Instructor: Jonathan Ullman
Office Hours: T 2:30-4:00, 623 ISEC

Teaching Assistant: Danish Farooq
Office Hours: Th 6:00-8:00, 462 WVH

Teaching Assistant: Zachary Galeaz
Office Hours: F 4:00-6:00, 164 WVH

Teaching Assistant: Matthew Jones
Office Hours: Th 4:00-6:00, 462 WVH

Teaching Assistant: Joshua Towner
Office Hours: W 5:00-7:00, 462 WVH

Important Links

Piazza: piazza.com/ccs.neu.edu/spring2020/cs3000/home
Gradescope (Entry Code: 9GZP3P): https://gradescope.com/


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: Specific topics typically include: 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. At the start of the course, I will add everyone on the course roster to Piazza. If you have not been added, please contact me and I will add you.


Reading will be assigned mainly from I feel guilty in this day and age making students pay for textbooks. If obtaining a copy is burdensome, please see me and I can lend you a copy for the semester.

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: