Teaching Python

Mediocre Person mediocre_person at hotmail.com
Sat Jun 12 16:45:21 CEST 2004

Python is an excellent introduction to object oriented ideas and
> methodology, but if the students already know VB, they have already
> learned object oriented programming, right?
Well, there's OOP and then there's OOP, right? The first year students 
have learned to _use_ pre-defined objects, but not design and create 

You state, "Python is REALLY easy to learn. Your concern should probably 
be: "are they going to learn this so quickly that I run out of material 
in a month?" I've seen 6th graders learn to write relatively impressive,
object-oriented python programs within about 2 months." Can you give me 
some references to this, such as samples of student work? I would like 
to see what grade 6 students can do in two months!

I agree that the syntax of Python makes it is easy to learn. However, I 
think I've got a pretty good imagination where material is concerned! 
There are excellent tie-ins to their mathematics, physics, chemistry, 
and biology curricula. For instance, I recently came across the concept 
of partitions in number theory, and computing all the partitions of an 
integer is a dilly of a pickle of a problem!

And, of course, it's really not about the language, in the end, after 
all, but what you can learn to do with it. In which case, you say, 
"AHA--so what was wrong with c++???" In a word, nothing. And I'll *miss* 
all the lovely memory management lessons we did to develop our own 
vector and list classes. In the end, I think the change is mostly for me!

I know nothing about ocaml or haskell, but I'll be sure to research them 
this summer, so thanks for the tip!



> If you do end up teaching python to advanced programming students, you
> might want to look at David Mertz' 'charming python' articles. He deals
> with a few rather sophisticated and interesting concepts, which managed to
> spark a few insightful paradigm shifts (for me at least):
> http://gnosis.cx/publish/tech_index_cp.html

> -- SegPhault

More information about the Python-list mailing list