home

CS 6033: Design and Analysis of Algorithms: INFO

On this page:
Who is teaching?
When and where is class, and what is the format?
Textbook, prerequisites, topics.
Communication: EdStem and email.
Grading
Gradescope. Submitting homework.
Tips on doing well
NYU policies, and the consequences of academic dishonesty.
Moses Center Statement of Disability.



Instructor:
  • Greg Aloupis
    • Gmail: cs6033greg    (please use only this address, instead of my NYU email, which is greg.aloupis @nyu...)
    • A list of TAs and all office hours will be maintained in EdStem.


When and where is class, and what is the format?


Non-required textbook: Introduction to Algorithms, 3rd edition, by Cormen, Leiserson, Rivest and Stein.
This is commonly just referred to as ``CLRS". More info at
MIT press.
Note: my Resources page refers to this book so you can find relevant chapters if you wish. The course doesn't explicitly rely on the book though. Also, CLRS is massive. We will not cover everything in it. See "Topics" below.

Prerequisites: Discrete math is important. Basic understanding of some data structures and probability will matter too. Overall, you should possess mathematical maturity.
See the Resources page and search for the word "prerequisite" to see when you will need to know background material.
You will probably find this course difficult if you're not comfortable with induction, recursion and proofs, or if big-O seems like a challenging concept. It is assumed that you know the basics about arrays, linked lists and trees. Knowledge of basic probability will be helpful for two or three lectures but I will recap what you need to know.
If you have not done well in discrete math or have not passed data structures, you should seriously consider taking your time to create a solid background before taking this course.

Topics: This is an introduction to the design and analysis of algorithms, which involves discussing a few basic data structures as well. Many topics could fit in such a course, and not all intro courses go over exactly the same material.
We will place all emphasis on theory instead of programming. This course is about figuring out how to solve a problem before you start coding.
To see what is taught in this course, please visit the Resources page.


Communication: EdStem and email


Grading (exams)


Excused absence:
  • If you have a serious reason for not taking an exam, you should notify your academic advisor and/or Health Services, and of course you may CC me as well. This needs to be done before the exam if at all possible.
  • If you miss any of the exams, there is a possibility that you will have a makeup exam in a different format. This might involve a 1-on-1 "interview" with me.
  • I cannot arrange a makeup exam if you have a predictable conflict that could be reasonably avoided. Check the exam schedule before making plans.

Important note:
The way I have taught the course until now, exam scores are typically low. It is important that you understand that these are just numbers. Getting a 40 in this course is not the same as getting a 40 in a course where the median is 80. I will provide feedback and distributions after exams, so that you know where you stand.
Don't bet on getting a low score and passing because of a curve. Even though the median is often low and a curve is applied, getting under 30% is usually a strong indication that you have not comprehended the material well enough to pass the course. You might still pass with a curve, but that will not be determined until the end of the course.

Warning:
If you need credit for this course in order to graduate or maintain a scholarship, it is your responsibility to do well. There will be no extra credit options.



Gradescope: How to submit homework. Making regrade requests.


Tips for doing well in this course, if you find it challenging:





Everyone involved in this course is to respect the following:

Don't cheat:



Moses Center Statement of Disability: