[Edu-sig] A suggestion for a high school programming project

Paul Barrett 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 
few years.

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 
about $100.

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

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 mailing list