[Edu-sig] Python as a first language for computer sciencist

Chuck Allison chuck at freshsources.com
Thu Oct 20 19:38:17 CEST 2005

RS> A highly intelligent programmer can do better with a dumb compiler, than
RS> a dumb programmer with a highly intelligent compiler.

Great quote! May I reuse it?

>> If I were to teach a class to middle-schoolers or high-schoolers
>> (which I hope to do soon), Python probably wouldn't be my first
>> choice (although I'd be sorely tempted). I'd probably lean toward
>> Scheme for high-schoolers (the DrScheme environment is quite
>> impressive from an educational standpoint), and Squeak for
>> middle-schoolers. I joined this list because I genuinely want to
>> engage in discussion about how to make Python more suited for
>> education.

RS> I could certainly try Scheme and Squeak in a pedagogical context.
RS> Right now, I can give only my testimony that Python syntax and rich
RS> library support makes it an adequate tool for introductory CS and
RS> Computer Engineering courses. It is a much better choice than C or Java,
RS> that are currently largely adopted here in Brazil. And I am fighting  
RS> to change
RS> that.

I have in recent years taught Python, Scheme (DrScheme), ML (SML),
SmallTalk (Squeak), and Prolog (SWI) to college seniors in a
Programming Languages course. Without any scientific "evidence", I can
only tell you that they *loved* Python and tolerated the rest. But of
course, how this would apply to a less sophisticated audience I cannot

>> 6. I want to wrap this up with one more point that I'd love to see
>> discussed here. It seems to me that ideally, an educational
>> programming language should emphasize one of the dominant
>> programming paradigms in a very "pure" fashion. But Python, as
>> useful as it is, is anything but "pure".

RS> "Although practicality beats purity." [3]

This is an important consideration. How many "pure" languages can you
use and get paid? Our focus at UVSC is to prepare graduates for useful
employment, while at the same time not skimping one whit on theory and
still requiring them to think. There's nothing like solving real
problems. One must emerge from Toyland eventually. It should be before

RS> But since Python should never be the *only* tool to be taught,
RS> when purity matters the teacher can fall back to the usual
RS> suspects.


Best regards,

More information about the Edu-sig mailing list