Online Course Materials
This page provides access to online lectures, lecture slides, and
assignments for use in teaching and learning from the book
An Introduction to the Analysis of Algorithms. It is
appropriate for use by instructors as the basis for a "flipped" class
on the subject, or for self-study by individuals.
Flipped class. If you are an an instructor teaching the analysis of algorithms, an effective way for you to teach the material in a
typical college class is to adhere to a weekly cadence, as follows:
Important note: A common mistake in teaching a flipped class
is to add too much enrichment material. Our experience is that time in
class meetings is much better spent preparing students for success on
problem sets and exams. If an instructor makes it clear that the best
way to prepare for exams is to watch the lectures and do the reading,
most students will do so. Class meetings then can involve interacting
with students and with the material in such a way as to reinforce
understanding. For example, working with potential exam questions is an
excellent activity. You can find examples at right in the table below.
- Each week, send an e-mail note to all students in the
class that briefly describes assignments for that week (lectures, reading,
and problem sets). The e-mails used in the Spring 2017 offering at Princeton
are accessible in the table below; please feel free to edit them and use
them in your own class.
- Students watch the lectures at their own pace, do the reading
and work on the problem sets (each lecture ends with a few suggestions
for assignments, which instructors typically tailor to their own needs.
- A weekly "class meeting" is scheduled for discussion of the material,
reviews for exams, informal interaction with students,
and any enrichment material you may wish to cover.
Self-study. An effective way to learn the material on your own
is to play the lectures on some regular schedule, do the associated
reading, and attempt to solve some of the assigned exercises on your
own. If you get stuck on a particular exercise, find some others in
the book or on this website, or try to solve some of the problems
given in the lectures without looking at the solutions there. In the
future, we plan to add more exercises with solutions to this website,
but that is work in progress.
While some of the reading material may be difficult for a typical
undergraduate to master on such a quick pass through, a substantial
fraction of the coverage is elementary, and the lectures provide
a firm basis for understanding the key concepts.
Princeton students. At Princeton, we use these materials to teach the
first half of our senior-level undergraduate course An Introduction to Analytic Combinatorics (the second half
of the course is on the Analytic Combinatorics booksite). Click on the COS 488 tab on the sidebar for logistical details. We update the material as the semester progresses. You can look ahead in the table below to get an idea of what is to come, but assignments are not "official" until you receive them by e-mail.