[Home] [Schedule]

Prof. Huy L. Nguyen (WVH 358)

**TAs:** Matthew Dippel, Qiye Chen, and Himanshi Bhardwaj.

** Office Hours:**

Tuesday, 1:20pm - 3:20pm, WVH 358 with Prof. Nguyen.

Wednesday, 12:00pm - 1:00pm, WVH 362 with Qiye Chen.

Wednesday, 4:00pm - 6:00pm, WVH 362 with Himanshi Bhardwaj.

Thursday, 12:00pm - 1:00pm, WVH 362 with Qiye Chen.

Thursday, 1:30pm - 3:30pm, WVH 362 with Matthew Dippel.

**Class Time:** Tuesday & Friday 3:25 pm – 5:05 pm

**Class Room:** West Village H 108

**Discussion Forum:** Piazza

**Homework Submission Site:** Gradescope (use code MW562M to sign up)

This is an introductory 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

- Get exposed to a range of computational problems that arise in very diverse applications
- Learn how to formulate problems precisely from somewhat informal descriptions
- Learn new algorithmic design techniques used to solve the computational problems
- Learn proof techniques critical for reasoning about the correctness of algorithms
- Learn analysis techniques critical to determine the efficiency of algorithms
- Learn how to transform algorithms to programs

Grades will be based on homeworks (50%), 2 midterms (15% each), and final (20%). The lowest homework score will be dropped.

No late homework will be accepted.

Collaborating with other students in the class on homework problems is fine and encouraged, though we urge you to attempt working out all of the problems by yourself first. In any case,

**you must write up your solutions, in your own words. Furthermore, if you did collaborate on any problem, you must clearly list all of the collaborators in your submission.**Finding solutions to homework problems on the web, or by asking students not enrolled in the class is strictly prohibited.

*Algorithms*, by Erickson.

*Introduction to Algorithms*, by Cormen, Leiserson, Rivest, and Stein.*Algorithm Design*, by Kleinberg and Tardos.*Algorithms*, by Dasgupta, Papadimitriou, and Vazirani.

You should prepare your homework solutions using LaTeX, and submit PDFs to Gradescope. LaTeX is a scientific document preparation system; most CS technical publications are prepared using this tool. Great editors exist on most platforms. Some recomend TexShop for Mac. TeXstudio is a good cross-platform editor.

The not so short introduction to Latex is a good reference to get you started.