On Sun, May 10, 2015 at 3:16 PM, Marko Rauhamaa <ma...@pacujo.net> wrote: > Scheme is my favorite language. I think, however, it is a pretty > advanced language and requires a pretty solid basis in programming and > computer science. > > Python, in contrast, is a great introductory programming language. Sure, > you *can* get quite advanced with it, too, but you can get quite a bit > of fun stuff done with just the basics.
MIT famously used Scheme in their introductory course for more than two decades. Although they switched to Python a few years ago, I don't think they did so because there was anything wrong with Scheme. Wikipedia informs me that Yale and Grinnell are still using Scheme for their introductory courses. > Of course, you could introduce Scheme with similar simplifications. > However, such simplifications (say, iterative constructs) are > nonidiomatic in Scheme. The students should not get into bad habits > that they need to be weaned off of later. You don't need iterative constructs to teach an introductory course. The full text of SICP (the "wizard book") is available on the web for anyone to read at https://mitpress.mit.edu/sicp/. I don't think it ever even *mentions* "iterative constructs". Where it distinguishes recursive algorithms from iterative ones, recursive syntax is used in both cases. >> I'm thinking half way into the semester, instead of moving into >> intermediate Scheme, perhaps that is a good time to switch to Python? No, stick with one language for at least the first course. Needing to learn the syntax and semantics of *two* programming languages, especially two such different ones, is just going to distract students from the fundamental concepts that the introductory class is intended to teach. -- https://mail.python.org/mailman/listinfo/python-list