Python's a good choice of language when you want to talk about "programming as computation" to people who don't have a lot of CS or math background. It's also good for talking about algorithm correctness. And I use it all the time as pseudocode and one-shot scripts.
It's not so good for talking about "programming as exploiting your computer", i.e. when it comes time to implement an algorithm *efficiently*. Toby > 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: > > http://mcsp.wartburg.edu/zelle/python > > > > 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 > http://www.cs.luther.edu/~bmiller > jabber: [EMAIL PROTECTED] > > > 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 > > [email protected] > > http://mail.python.org/mailman/listinfo/edu-sig > > > > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > http://mail.python.org/pipermail/edu-sig/attachments/20051017/a34c8dfd/attachment.htm > -------------- next part -------------- > A non-text attachment was scrubbed... > Name: PGP.sig > Type: application/pgp-signature > Size: 186 bytes > Desc: This is a digitally signed message part > Url : > http://mail.python.org/pipermail/edu-sig/attachments/20051017/a34c8dfd/PGP.pgp > > ------------------------------ > > _______________________________________________ > Edu-sig mailing list > [email protected] > http://mail.python.org/mailman/listinfo/edu-sig > > > End of Edu-sig Digest, Vol 27, Issue 29 > *************************************** > > -- Dr. Toby Donaldson School of Computing Science Simon Fraser University (Surrey) _______________________________________________ Edu-sig mailing list [email protected] http://mail.python.org/mailman/listinfo/edu-sig
