On Oct 17, 2005, at 12:45 PM, John Zelle wrote:

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:


Carlos,

John also has an excellent textbook:  Python Programming: An Introduction to Computer Science.  We are in our second year of using this book in our CS1 class and are very happy with it.  Because of its power and simplicity we have found that students enjoy the class and can do more interesting projects in their first course than they could with Java.  

For example my students are now (in week 7 of the semester) writing functions to enlarge images, smooth the enlarged images, and do edge detection on the images the image library is so simple that the students can really concentrate on the problem solving parts of the exercise.  For me these are great introductory exercises that get them using nested loops, simple conditionals, and functions.  I think the students have more fun and are more successful when they can see the results of their work visually.

We also use Python in our CS2 course which focuses on data structures, and one of our colleagues is using Python in his advanced data structures course this year.  The great thing about using Python in a data structures course is that there is almost a one-to-one mapping from pseudocode to Python.  So the students can really see the how the concepts get mapped to code without all the extra overhead that a language like Java imposes.

Of course we also teach and use Java but we don't introduce our students to Java until the third course in our introductory sequence.  The nice thing about holding off on Java until the third course is that the students now know enough computer science that we can work on bigger and more interesting problems while they are learning Java.  In addition I can now use Python to compare and contrast as I introduce new language concepts in Java.


Brad
--
Brad Miller, PhD
Assistant Professor
Luther College

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
[EMAIL PROTECTED]          (319) 352-8360
_______________________________________________
Edu-sig mailing list


Attachment: PGP.sig
Description: This is a digitally signed message part

_______________________________________________
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig

Reply via email to