CS 5010: Module 06
In this module we will learn about two related topics: branching structures, such as trees, and mutually recursive data definitions, such as lists of alternating strings and numbers. These two topics combine in the study of S-expressions. S-expressions are nested lists, such as the lists we write when we write Racket programs. S-expressions are one of the great inventions of modern programming. They were the original idea from which things like XML and JSON grew.
Read Part IV from our textbook.
- Lesson 6.1: Lists vs Structures
- Guided Practice 6.1
- Lesson 6.2: Trees
- Guided Practice 6.2
- Lesson 6.3: Mutually Recursive Data Definitions
- Guided Practice 6.3
- Lesson 6.4: Lists of Lists
- Guided Practice 6.4
- Lesson 6.5: Multi-Way Trees
- Guided Practice 6.5
- Lesson 6.6: Halting Measures for Tree-Like Structures
- Lesson 6.7: From Templates to Folds
- Guided Practice 6.7
Problem Set 06 was assigned on Monday, 20 February.