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

John Zelle john.zelle at wartburg.edu
Mon Oct 17 19:45:41 CEST 2005


Carlos,

I doubt that you'll get much disagreement on this list about Python 
being an excellent first language choice. Hence, there is unlikely to be 
  much of a "discussion." I wrote a paper titled "Python as a First 
Language" back in 1998, you can find it at:
http://mcsp.wartburg.edu/zelle/python

Carlos Eduardo Sotelo Pinto wrote:
> Hi people 
> i was making a researching about python for computer
> science students as a first language, and it coul be
> good in Peruvian Universities and Colleges, may you
> have some experiences, or articles or ideas about it.
> Coul you send me to my personal email address.
> Also I propose to you to began a discussion about this
> topic.
> 
> I think in my personal opinion, python could be better
> for students, for one so imoprtant reazon: Python is
> clearly and powerfull; and because of it, students
> just think in solve problems and learning programming,
> and the language could be an excellent easy learning
> progamming tool. Also teachers can use the power of
> python for making good problems for the students.
> 

Based on my actual experience, I can say that Python _is_ a much better 
first language choice than C, C++, Java, or Visual Basic. It has most of 
the advantages of Scheme, but with a smoother transition to more 
traditional languages. More and more CS programs are discovering the joy 
of teaching Python first. So far, I've not heard of any program that 
tried Python and then went back to something like C++ or Java.

Incidentally, I think Python is a marvelous tool throughout the CS 
curriculum. It's a language that gets out of your way so that you can 
concentrate on fundamental concepts. I even use Python in my Op Systems 
class, something I'm frequently told Python isn't good for. Not true. 
Python is (arguably) the simplest vehicle that allows my students to 
program directly with underlying Posix system calls. It's simpler than 
doing systems programming in C or C++. To say nothing of trying to 
access the OS in Java... While I would not try to write an OS in Python, 
it sure is a lot easier for teaching _about_ them. That is, I am using 
the programming as a learning tool, not trying to teach them how to 
program an OS.

--John

-- 
John M. Zelle, Ph.D.             Wartburg College
Professor of Computer Science    Waverly, IA
john.zelle at wartburg.edu          (319) 352-8360


More information about the Edu-sig mailing list