Resources
Textbook: The class is based on the following textbook: Cormen, Leiserson, Rivest and Stein, Introduction to Algorithms, 3rd Edition, McGraw Hill, New York. The book is not required. It is available online, and there are copies in Searles 224.
If you want to dive deeper into proofs and the mathematics of computer science, here are two good (free) resources:
Building blocks for theoretical computer science by Margaret Fleck
Mathematics for Computer scienceby Lehman, Leighton and Meyer
There are many resources available online and you are encouraged to explore. Anything that helps you learn is a good resource! If you find a good resource, we would appreciate sharing with the class so that everyone can use it.
- Mergesort demo
- Sorting vizualization
As instructor I have quite a bit of freedom to decide the syllabus (e.g. what topics to include, what type of practice problems, how many, hard/easy balance, pace of the class, etc). I spend a lot of time checking out algorithm classes at other institutions and adapting resources, with the overall goal of teaching a class that is both suitable for Bowdoin, and at the same time similar and competitive with classes elsewhere. Below is a list of classes (by no means exhaustive) which I used and which I highly recommend as you look for resources.
- Most recently, Stanford CS 161
- UIUC Algorithms by Jeff Erickson
- Tim Roughgarden’s algorithms
- Berkeley cs 170 algorithms
- Williams College Algorithms