Topics to know for chapter 3 test:
- State variables
- Message passing
- Using a dispatch procedure to handle messages and dispatch procedures
- Assignment
- set! (= in Java)
- set-car!
- set-cdr!
- Box-and-pointer diagrams (again) to show how lists are changed by assignment, for example
- What we give up when using assignment
- Substitution model of evaluation
- Procedures that are not necessarily functions
- Environment diagrams
- Scope
- Frames
- When a user-defined procedure is called, draw a frame. Always.
- If a let is used, draw the corresponding lambda and then the frame. Remember that a let is syntactic sugar for a lambda that is immediately executed.
- I won't ask you to draw one from scratch, but I will give you one and some code snippets and ask you to modify the diagram
- Testing for equality
- = (numeric comparison)
- eq? (literal comparison)
- equal? (structural comparison)
- Data Structures
- Trees
- Binary trees
- Binary search trees
- Queues
- Stacks
- Tables (called Maps in Java)