| Outcomes (student should be able to) | Departmental Outcomes | Measured By |
| Understand when to use and write programs over structures,
lists, and trees | 1 | midterm, homeworks 1-4 |
| Write recursive and mutually recursive Scheme
programs | 1 | both exams, homeworks 2-4, project |
| Develop data models for programming
problems | 6 | midterm, homeworks 1-4, project |
| Write and use higher-order
functions | 1 | midterm, homework 3 |
| Develop data models for programming
languages | 1,6 | final, homework 4, project |
| Implement interpreters for basic domain-specific
languages | 1,6 | final, project |
| Describe languages and their features in
writing | 21 | homework 5 |
| Customize languages through macros | 1 | final, homework 6, project |