[Edu-sig] A suggestion for a high school programming project
barrett at stsci.edu
Tue Sep 7 05:46:22 CEST 2004
I was at SciPy (the Scientific Python Conference) in Pasadena, CA last
week. There were some good talks about scientific applications of
Python. One talk by Michel Sanner and his collaborators of the Scripps
Research Institute was about their Vision library, which used to be
called Viper. Michel has demonstrated this software at previous SciPy
Conferences and possibly at one of the Python Conferences in the last
For those who are not familiar with the module. Vision
(http://www.scripps.edu/~sanner/python/viper/) is a visual-programming
environment in which a user can interactively build networks describing
novel combinations of computational methods, and yielding new
visualizations of their data without actually writing code. Nodes
encapsulating specific computational methods are organized in libraries
and displayed in Vision. The user can drag-and-drop them onto a canvas
and connect their input and output ports to define an execution flow.
Subnetworks can be encapsulated into macro nodes, allowing nesting of
Also during lunch on Friday, I was given a tour of the CalTech Infrared
lab, where they are building some IR detectors for one of their
telescopes. To control and test one of the new IR detectors, they use a
commercial application called LabView, which allows electronics
engineers to create programs visually by connecting the outputs of one
node to the inputs of other nodes. Sounds like Vision doesn't it.
For a number of years now (about a decade or so), I've had this vision
(not to be confused with the Python library) of being able to use Python
to develop space missions for NASA from beginning-to-end. That is from
the hardware development phase of a NASA mission, where the scientists
and engineers are building and testing the hardware, to the publication
phase, where scientists are preparing their results for publication.
The SciPy community is starting to get close to this ideal. We currently
have numarray, the multidimensional array library, matplotlib, the
cross-platform graphics library, and the scipy package of scientific
algorithms. However, there is currently no software for programming and
testing electronics hardware like LabView. My suggestion therefore is to
create such a package using Vision.
In my opinion, creating such a package should not be too difficult.
Vision already provides the visual programming environment. The next
step is to extend it with software for creating electronic circuits. I'm
guessing that advanced high school students should be able to tackle
this project with some guidance from a computer science teacher and an
electronics teacher. In addition, a possible application of this package
would be to create an OBDII (On-Board Diagnostics 2) scanner for reading
information from a car's microprocessor. Hardware, which can be used to
interface the car's microprocessor to a laptop, can be purchased for
Having heard Jeff Elkner talk about his experiences teaching Python to
students at Yorktown HS in Arlington, VA, I think this project is
achievable for a group of advanced high school students. What I think is
nice about this project is that it has practical applications.
Any takers or am over the top on this one?
Paul Barrett, PhD Space Telescope Science Institute
Phone: 410-338-4475 ESS/Science Software Branch
FAX: 410-338-4767 Baltimore, MD 21218
More information about the Edu-sig