Topics to know:
- Data Abstraction (possibly the single most important topic to learn in this class)
- Once the abstraction is built, its constructors and selectors (and mutators, to be discussed in Chapter 3) are to be used.
- Put another way, there is no such thing as the cdr of Andrew Gerber-Duffy
- Some abstractions that were covered in chapter 2:
- Rational numbers
- Intervals
- Lists (and lists as trees)
- Mobiles
- Binary Search Trees (make sure you study binary search trees)
- Lambda
- Lists/Pairs
- Box-And-Pointer diagrams
- List/Pair constructors
- cons (creates a pair, not a list; if is part of a sequence terminating in a cdr that is an empty list, then it can be thought of as a list constructor; also, (cons a l) where l is a list returns the list with a as its first element)
- list (puts all arguments into a list; if there are N arguments, it creates N pairs)
- append (merges two lists)
- List/Pair selectors
- List/Pair predicates
- List functions of note