
The book I mean is one you wrote, where you have two columns, with the answer on the right (you cover it with your hand or a piece of paper, and answer questions mentally, before sliding the paper down and checking your answer). I was pretty sure car and cdr were covered in that book. If not, I'm surprised that memory fails me. Yes, *that* book covers car/cdr and friends. But that's from 1984 (or even 1974, if you count the first edition). The book that matters for teaching in schools is "How to Design Programs". Also, I'd think you'd _want_ to cover car and cdr when approaching programming in Scheme Why? That would be silly. Teaching in middle school and even high school our objectives are to produce thinking kids who can use some programming tool not finished Python/Scheme programmers. If you come from a world of bits, bytes, loops and heavy syntax, learning Scheme is difficult. If you come with an open mind, it's easy. We hear that again and again. My "math through programming" approach is to build on terminology already evolved in ordinary math classes. I personally like talking about models and views and would like to see more of this phased in. In the meantime, what we already teach about are functions, relations, compositions of functions, domain, range, sets, intersection, union... the standard math topics, found in most text books the last 10-15 years. This is what math teachers like to see -- familiar terms. Neither "model" nor "view" is a prevalent term in that knowledge domain (again, I think this should change). Absolutely. Model and view is for us who know that Model is about functions, relations, compositions, domain, range, sets, ... (see TLL). View is about the stupid i/o crap that most languages impose on kids. -- Matthias