About Algo2
When and where is this course offered?
Spring 2023. The course will be online. Technically it's asynchronous. If possible we will find a common weekly meeting time. Because of the nature of the course (see exam and homework style below), students do not need to be learning specific topics at a specific pace.Instructor and contact info
Greg Aloupis- algo2greg @ gmail (please use this instead of my nyu mail)
- A Zoom link is available in EdStem (which you get access to via Brightspace)
Who should take this course? What are the topics?
This course covers various topics involving algorithms, graphs, and data structures. See the topics page and/or ask me for more details.It is meant for students who have already enjoyed an introductory algorithms course and who want to explore further: we will expand upon certain introductory topics, and will cover several new topics as well. In particular there is an emphasis on data structures and graphs, that will significantly contribute towards obtaining a well-rounded background in theoretical computer science.
Prerequisites
To take this course, the student will need to feel comfortable with topics such as heaps, dynamic balanced binary search trees, single-source shortest paths, amortization, dynamic programming, expected value, basic probability and analysis of randomized algorithms, and of course recurrences, induction and big-O. It is possible to work around some of this because the course is designed so that students can focus on topics that they like.Officially, the prerequisite is CS-6033 (Algorithms), and in principle you should have received an A or should obtain my permission. My CS-2413 course is the same as 6033, so it's a suitable prerequisite.
If you want to do a nice visual project, it would help to be comfortable with JavaScript / Processing / d3, or equivalent. Note that this course will offer no help in learning these tools. It is also not mandatory to use them; there are alternative options for the project.
Accessing course content
There are videos for almost every topic that we cover. Most are edited recordings of live lectures from Spring'17.All videos, course notes, and other resources, are contained in a private link that is available by permission.
Assessment
Most of the items below involve subjective, qualitative assessment of your performance. Ultimately I am evaluating the effort that you put in. I will give you feedback for everything you submit, usually within a day or two. The most important thing is to get started on the project early and communicate with me frequently about what needs to be done.- Course project, involving implementation and/or visualization and/or research report for a topic that you will come up with and I will approve.
See the link above for examples. Depending on enrollment, projects may be done in teams. The project will be the main factor in determining your final grade, but you will also need to perform reasonably well in the following. - Two tests. Both will mainly ask for a summary of theory. On an individual basis, you will be allowed to veto a few topics. I will then prepare a list with a subset of all remaining topics, and you will describe what you know about this subset. The objective is to show me that you have understood a reasonable number of course topics (not necessarily all). This also allows students with certain weaknesses (e.g., probability, or amortized analysis) to focus on other topics instead.
- Homework problems. There will be at least 6 of these, maybe more. I usually allow unlimited resubmissions, but if enrolment is high I might set up a more strict timeline. We will figure this out as we go. There should be no collaboration or use of any materials besides the course notes. This is an opportunity to interact with me, and work on your writing and problem-solving skills with me. What matters is to work on your weaknesses and eventually get it right.
- Participation (discussion among students and instructor, in person, via email, Zoom, EdStem, etc) can make up for sub-par homework or test performance.
- We may have some project presentations in the last couple weeks of the course.
For more information, please email any time.