Teaching Python
Mediocre Person
mediocre_person at hotmail.com
Sat Jun 12 10:45:21 EDT 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
classes.
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!
Nick.
>
> 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