Python for Engineers and (non-Computer) Scientists

These pages have no special status or blessing.  See the links below for the official language websites.

See http://userlinux.com/cgi-bin/wiki.pl?David_MacQuigg  or  http://ece.arizona.edu/~edatools  for info about me or the course I teach at University of Arizona.

Learning Python

Learning Python, 2nd ed., by Mark Lutz and David Ascher ( LP2E ) is a great introductory text for a one-semester course.  It is too long, however, for just a few weeks in a course on circuit-design tools.

PythonOOP.doc is my attempt to distill just what we need from the OOP chapters in LP2E.  The goal of these pages is to present a short, simple introduction to Python OOP for engineers and scientists who are technically smart, but not proficient in computer languages.

    Examples and Exercises – for OOP chapter.  TeachingNotes.doc

Python in a Nutshell, by Alex Martelli is my top choice for someone already proficient in computer languages.  Had I been familiar with this book, I might not have written my OOP chapter above.  This is the one I come back to when I need to review a topic.  {10/28/04}

Other Python Topics

Python/ECE474/overview – Logic Design Tools in Python – projects for ECE474. {11/22/04}

Reload Basics – rewrite of pp. 267-269 in LP2E

Python 3

These are ideas that could make Python simpler without sacrificing any power.  Our focus is on new and part-time users, like engineers and scientists who don't have time to learn the intricacies of a computer language.  Python can be an excellent tool for these users.  We are hoping to make it even better.

Unified Function Syntax – examples comparing Python 2 with proposed syntax.

PrototypeSyntax.htm – Proposed syntax for prototypes.  This is a collection of ideas from various languages, with one key requirement:  It must be possible to automatically translate existing Python programs to the new syntax.  Most of the changes suggested here are not backward compatible with old versions of Python.  This does not mean we have to sacrifice ten years of software development in Python.  The "migration" requirement still allows for some major changes.  PrototypeSyntax.doc -- original format with change bars and figures.

Prototypes.htm –This is what our OOP chapter might look like in Python 3.  With a simpler syntax, it might be possible to teach OOP in four hours.  Prototypes.doc – original format with change bars and figures.

Animals.py – a complete OO zoo, for testing ideas about new language syntax.  This is working Python code, with one of everything important to basic OOP.  Whatever new language we come up with must do all these things easily.

Python4.htm – Far out ideas, with no constraints as in the Python 3 proposal above.  Python4.doc – original formatting.

Links

http://python.org – Python home page.

http://www.ruby-lang.org/en -- Ruby home page.

http://www.prothon.org – Prothon home page.

http://www.faqts.com – Has a section on Python.

http://open.nit.ca/wiki/?page=PrototypesForPython – Prototypes for Python wiki page.

 

Documents needing revision:

Syntax Suggestions – Goal is a core language that is so simple even a PhD electrical engineer can use it. :>)

Extension Syntax – Keep the core language clean and simple while not sacrificing advanced features.

Terminology – Suggestions for terminology to use in our discussions and in teaching Python.

{Last Updated 11/22/04}