The book assumes some familiarity with basic data structures. You should have played with fundamental data structures like linked lists, heaps, and binary trees. It also assumes that you have written some code in a functional language.
Scala is used as an implementation language. We do highlight related Clojure features too. The idea is to illustrate the basic design principles.
We explain the language concepts as needed. However, we just explain the basics and give helpful pointers, so you can learn more by reading the reference links.
We try to site links that offer hands-on code snippets, so you can practice them yourself.
Walking through an algorithm and discussing the implementation line by line is an effective aid to understanding. ...