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

Reply via email to