great point, i've found the htdp/recursion scheme approach works quite well, even when using some smaller local models... i loved taking prof. kiczales course, the materials are publicly available, still:
-
https://cs110.students.cs.ubc.ca
-
https://cs110.students.cs.ubc.ca/admin/links.html