CS 342 Principles of Programming Languages Apr 27, 1991 WHAT TO READ IN KAMIN The basic (B) readings are the minimum that should be read; I don't think you can get a B in this course without understanding them. The advanced (A) readings will be helpful for solidifying knowledge of all students, and I don't think you can get an A or A- in this course without understanding most of them. The ignore readings are related to topics we won't even think about. Readings not mentioned in any of these categories can be ignored, but may still be helpful. They often present things in a different way, or summarize information, and as such may be helpful to all students. I would suggest using the summaries as a check for yourself: cover up the definition and give one yourself, then see if your definition matches the author's. Basic Advanced Ignore Why ---------------------------------------------------------------------- Appendix A syntax description technique 1.1, 1.2 1.3, Appendix B basic language, interpreter 2.1, 2.2, 2.3 2.4 LISP: lists, examples recursion 2.5.3 side effects 2.5.4 macros 3.1, 3.2, 3.3 APL: language, examples expression language 3.4 syntax and orthogonality 4.1, 4.2 to 107 page 107-110 Scheme: functional programming lambda, closures 4.3, 4.4 4.5 examples 4.7 scope 4.8 to p. 140 4.8.1 types, polymorphism p.153-155, 5.1 5.3 SASL: lazy evaluation, thunks infinite data 5.2, 5.5 5.4 examples 5.6.2 5.6.1 Z-F expressions, pattern match 5.8-5.8.2 5.8.3-5.8.4 lambda calculus 5.9.2-5.9.4 (graph reduction) 6.1, 6.2 6.3 CLU: data abstraction, examples 6.4 example 6.5 type checking, iterators, exception handling 8.1, 8.2 8.3 Prolog, examples, semantics 8.4 blocks world example 8.6 logic and Prolog 7.1 7.2 Smalltalk basics, collections 7.3 7.4,7.5 Numbers, simulation, real ST