[Edu-sig] Re: Teaching Python instead of Java? (Jeffrey Elkner)

Matthias Felleisen matthias@rice.edu
Mon, 12 Mar 2001 09:34:34 -0600 (CST)


  Hi David!

  Thanks for your interest in exploring Python as an introductory
  programming language!  I am a high school teacher who has been using
  Python to teach our intro course for two years now.  I have never seen a
  better language for that purpose.

  The main aim when teaching students to program is to give them an
  understanding of the processes of thought and the underlying concepts
  used in getting a machine to follow their will.  This is a daunting task,
  and no programming language could make teaching students to think
  logically easy.

Sorry, it's not about machines at all. It is about formulating
computational solutions that people read, modify, extend, debug. 
The machine comes last, and the point of high-level language is 
to hide the machine. Totally. Period. 

  The best programming language in the world for teaching programming would
  be one that does not add any additional overhead to the problem of
  teaching students to understand variables, conditional branches, and
  loops.  As a Python programmer yourself I'm sure you will understand when
  I say that Python does that better than any other language I know of.

I question the "loop" part. You want to match the program organization to
the data organization. Loops hardly ever match, unless all your data are
linear (natural numbers, lists). XML is all about trees. No sound mind
should process them with loops. And students should be able to mainpulate
XML-like stuff after a few weeks or so with total ease. 

  To be concrete about this, let's compare Python with Java.  I agree with
  you that Java is a fine language (and it is definite improvement over C++
  for beginners), but it can't compare with Python as a first language.

Why don't you compare Python with a true competitor such as Scheme? 

It has the same advantages as Python, has been around much longer, is
regular, and is already taught at hundreds of colleges and high schools. 

-- Matthias

Matthias Felleisen
Professor of Computer Science
Rice University

For a new way to look at the world of high school computing, 
see 

 http://www.teach-scheme.org/
 http://www.htdp.org/

"Computer Science is no more about computers than astronomy is 
 about telescopes."	
                                             -- E. W. Dijkstra