Exercises for Learning Scala Section 1 Fundamentals: types, reasoning, and composition Section 2 Algebraic data types Section 3 Functions and generic types Section 4 Collections L-System Case study using algebraic data types and collections.