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

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. There is no a priori point system for the above. I will let you know how you're doing and whether you're on track, via frequent communication. You should always feel free to ask as well.



For more information, please email any time.