Resources

Textbooks

We don’t have a textbook for the course. Here are some references:

For more advanced material, refer to the following texts:

  • algorithms.wtf - Jeff Erikson: Algorithms — a free, very readable introduction to algorithms & data structures.
  • CLRS — Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms (4th ed.) — the gold standard reference for rigorous algorithm analysis.
  • Sedgewick & WayneAlgorithms (4th ed.) — accessible coverage with strong emphasis on implementation.

Kotlin Reference

You already know Kotlin; these are lookup references for the parts that come up most in DSA work.

DSA in Kotlin

Algorithm Visualization

These tools are language-agnostic and useful for building intuition:

  • VisuAlgo — step-through animations for 24+ structures and algorithms; supports custom input.
  • Algorithm Visualizer — open-source, community-driven; lets you trace execution with annotated pseudocode.

Complexity Reference

  • Big-O Cheat Sheet — time and space complexities for common structures and sorting algorithms at a glance.

Practice

Both platforms support Kotlin submission:

  • LeetCode — graded problems across all difficulty levels; good for targeted practice by topic.
  • Codeforces — competitive programming with an active Kotlin community; useful for timed practice.

Typesetting (LaTeX)

Technical documents in this course may require mathematical notation. LaTeX is the standard tool.

Good starting points:

For local editing, any text editor works. Recommended options: