Explains the translation of for-expressions in Scala using map, flatmap, and filter functions, with examples and a discussion on its generalization to different types.
Covers the rod cutting problem and the change-making problem to optimize recursive calls and find the minimum number of coins needed for a given amount of money.
Covers how classes and objects are organized in packages, imports, Scala's class hierarchy, traits, top types, the Nothing type, exceptions, and includes an exercise on type determination.