Chris Seberino <cseber...@gmail.com>: > Instead of learning only Scheme or only Python for a one semester > intro course, what about learning BOTH? Maybe that could somehow get > the benefits of both? > > I'm thinking that for the VERY beginning, Scheme is the fastest > language to get beginners up and running writing code due to the > extremely minimal simple syntax.
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. 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. > I'm thinking half way into the semester, instead of moving into > intermediate Scheme, perhaps that is a good time to switch to Python? What are you teaching? If you are teaching computer science, you should use languages to illustrate abstract ideas. Thus, Python can be used to introduce basic control and data structures, I/O, OOP etc. Scheme should be used to teach functional programming and maybe combinatory logic and computability. Prolog could be used to demonstrate logic programming and automated theorem proving. C could be used to understand the nitty-gritties under the hood and fear of SIGSEGV. Marko -- https://mail.python.org/mailman/listinfo/python-list