[Edu-sig] Python for Algorithms and Data Structures...

Jason Cunliffe Jason Cunliffe" <jasonic@nomadics.org
Fri, 23 Aug 2002 14:35:54 -0400


Thsee are my top 5 arguments to use Python as a teaching base today:

1. openness
    Python has good politics [license], good Karma. It is free and sends a
fundamental message about the open nature of programmability and social
implications of technology selection. Part of the global trend by public sector
administristrations to choose Linux and its ilk as the basis of government and
education platforms: Finland, Korea, China...

2. interoperability
    The scope and relationship to other major languages and toolkits [C, Java,
.NET etc] make it perhaps the most practical choice. Python is both superglue
and superstructure. And it travels cross-platform with almost no overhead.

3. community
    The diversity and quality of Python's on-line community has to be one its
greatest virtues/strengths. High signal to noise, talented, generous and
encourging.
    Used from Nasa to Hollywood, from Google to Multimedia API's, from advanced
university science departments to edu-sig high schools!
    Show them the library of contributed software [Vaults of Parnassus]

4. interactivity
    The instrinsic dynamics of CLI/script based system make it more conducive to
students.

5. readability
    For students this is especially important as they may spend much more time
reading code than writing it. This aids the transition from general algorithms
[pseudocode] to implementation and sharing. At the same time I believe Python
encourages clearer writing habits. Anyone care to debate this and why it might
be so?

I agree with Kirby that one must learn several languages. Python Seems to be a
great starting point. Habits, lessons learned, and issues will carry well to
other languages and complement theitr features.

Even the discussion on pointers in Python shows the pros and cons clearly. Forth
would be a good companion to studying pointers and hardware. There are some
great CLI Forths out there. People think Forth is dead, but they ignore that
Forth and its derivitives are widely embedded all around us in commercial
products. From washing machines to desktop printers.
A case in point [pun intended], Postcript is Forth :-)

good luck
./Jason