[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