Teaching Python

Ryan Paul segphault at sbcglobal.net
Sat Jun 12 08:14:00 CEST 2004


On Sat, 12 Jun 2004 03:22:23 +0000, Mediocre Person wrote:

> Well, after years of teaching grade 12 students c++, I've decided to 
> make a switch to Python.
> 
> Why?
> 
>     * interactive mode for learning
>     * less fussing with edit - compile - link - run - debug - edit - 
> compile - link - run -.....
>     * lots of modules
>     * I was getting tired of teaching c++! Bored teacher = bad instruction.
>     * thought about tcl/tk but it's just too different syntactically 
> (for me, not my students!) after so much time with languages like 
> c++/ada95/pascal/BASIC/Fortran, etc.
>     * it appears to be FREE (which in a high school environment is 
> mightily important) from both python.org or activestate.com. I think I 
> like activestate's ide (under Win98) a bit better than idle, but your 
> comments/suggestions?
> 
> I've decided to give John Zelle's new book a try as a student 
> textbook--it's as good an introductory CS book in any language I've 
> seen. I've done a couple of small projects with tkinter, like what I 
> see, and would like to introduct my students to it, although Zelle 
> doesn't make use of it in his text.
> 
> So, what pitfalls should I look out for in introducing Python to 
> students who have had a year of Visual BASIC?
> 
> Regards,
> 
> chackowsky dot nick at portal dot brandonsd dot mb dot ca <-- have the 
> spambots figured this one out yet?

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.

I may not be a curriculum expert, but I would recommend replacing your
lower level visual basic class with a python class, and teaching something
far more advanced to 12th grade students. If you are getting bored with
c++, maybe switch to a functional language, like ocaml or haskell.

Python is a powerful language, and the simplicity and consistency of its
syntax enables developers to produce useful applications in very short
periods of time - but I question python's capacity to 'challenge' a
student that is already familiar with another object oriented programming
language. 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?

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