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 lots of resources online, such as videos, animations, visualizations, practice problems and solutions, which you are encouraged to explore to deepen your understanding of the material. However, you must be careful not to search the internet for specific problems with the intent of finding their solutions. Copying solutions from the internet violates academic honesty.
Below is a list of resources (by no means exhaustive) which I used and which I highly recommend.
- Visualizations with visualgo
- Mergesort demo
- Sorting vizualization
- Stanford CS 161
- UIUC Algorithms by Jeff Erickson
- Tim Roughgarden’s algorithms
- Tim Roughgarden’s Stanford algorithms
- Berkeley cs 170 algorithms
- Steven Skienna’s class which includes lectures and video recordings
- Williams College Algorithms