Algorithm Analysis Deep Dive

A course on the analysis of algorithms and data structures

I taught a course on the analysis of algorithms and data structures during Spring Quarter 2025 at Western Washington University. The course was designed to introduce students to algorithm analysis in a mathematically rigorous way, covering mathematical fundamentals, worst-case, probabilistic, and amortized analysis techniques. The course also focused on sorting algorithms and classic data structures. I flipped the classroom for the course and it was a great success, and shared the recorded lectures on YouTube. The course was well-received by students, with many expressing that they found the material engaging and the teaching style effective. The flipped classroom approach allowed students to learn at their own pace, and the interactive nature of the course fostered a deeper understanding of the concepts.

Surprisingly, learners beyond the course also found the course videos helpful, as they were able to learn the material at their own pace and apply the concepts in their own projects. I have received quite a few requests for the course materials from learners around the world, so I have decided to make them available online. The open-accessed version of the course is available on on GitHub now.