Software
Proximity
This is my current project.
It's a large effort to create a
system that supports our research into relational knowledge discovery
(AKA
data
mining). See the on-line
tutorial for an overview of features. Technology: Java
(Swing UIs, lots more), unit
testing (via JUnit), MonetDB
(the 'vertical database' that's our back-end), Python
(via Jython), XML, SOAP. Previous version: JDBC, SQL,
and relational databases including PostgreSQL,
Informix,
and Cloudscape.
Screen shots: (Note: We switched to a browser-style UI from a more comlex
Swing-based one for many reasons, and it's worked well. However, the
screen shots don't look as impressive.) Here's
the main
window of the new 3.0 browser-style UI, with text and graphical windows
of a Qgraph query (showing the old query editor - written by a
student). Another one showing
the subgraph browser (written by a student) in the background, and a
graph vew in the foreground. Here's another - an image saved from the RPT viewer (using JGraph). Finally, a screen capture of the new Query Editor for
version 4.0 (2005-03), written using Piccolo, a ZUI (Zooming
User Interface) toolkit. I zoomed out to show more of the query, so
the labels are a bit hard to read. The new query editor was fun to
write - I used Test Driven
Development (which I use for all code), but in this case it was a
challenge given the visual nature of the project. It turned out great
- in-house users say the program is cleaner, more stable, more more
functional than before.
Older ones: This one from GUI
version 0.6 (2002-10) shows windows for attributes, collections, an
item, the database graph, and a script window. Here's one of the GUI we did for the DARPA
science fair (2001?) showing the iterative classifier.
Lewis Tutor
This project was a collaboration between CKC and
the Chemistry Department. I Managed, designed, and implemented a
three-tier client/server web-based tutor in Java for teaching Lewis
structures (chemistry).
Technology: Client: Complex applet supporting interactive
creation of structures and knowledge-based evaluation of them. Middle:
Servlets that show tutorials, assignment status, communicate with
applet, and handle bug reporting. Back end: JDBC/ODBC interface
to MS SQL Server. Successfully used by 100s of students.
Screen shots: Applet.
Forest Tutor
Tom Murray
and I worked on the
SimForest Project's Java version in 199x. I designed the
infrastructure that supported representing trees, forests, and the
internal equations that drive the simulator. I wrote a program that
edited and ran the simulation equations and animated growth.
Technology: Java (including serialization, complex Swing UI).
Screen shots: Species Table, Equation Editor, Main Window.
Chemland Applets
While working for CKC I oversaw the development of dozens of
award-winning Java applets designed to provide a discovery-based
learning experience for chemistry concepts (old links here
and
here ). I wrote many of them as well. Technology: Java
(applets, GUIs).
Screen shots: Electrolysis.
Eon
I worked on the Eon
project with
Tom Murray around 1994. I created the underlying architecture and
built a number of components, including the code to edit and run a
graphical flowline. Technology: SK8 (Apple's object-oriented
"visual basic killer" :-).
Screen shots: Document
Browser (on the left), Tutoring
Strategy Editor , Interaction
Editor, Presentation
Contents
Browser (on the right).
CLASP GUI
As a consultant to the
The Experimental Knowledge Systems Laboratory I developed a
Macintosh interface for statistical program called
CLASP. The Program was included as tool for students and teachers
with Professor Paul R. Cohen's statistical methods book. Technology:
Macintosh Common LISP, Mac UI.
Screen shots: Mac GUI (includes work by
others).
Telemetry Analysis Project
While at NASA's Kennedy Space Center I wrote an advanced
two-dimensional data graphing system and dynamic data analysis tools. Technology:
Common LISP, Symbolics graphics.
KATE
This is another NASA project, called the Knowledge-Based Autonomous
Test Equipment project. It reasoned about equipment failures from first
principles (using representations of the circuitry and hardware
involved) and automatically recovered from them. Technology: Common
LISP, assembler (interface to hardware).
ACLS Tutor
Developed proof-of-concept intelligent tutor for successful Phase I
proposal for Army AI/tutor contract, which resulted in winning large
Phase II contract. Presented work to Apple Computer's Advanced
Technology Group's External Research Open House. Earned Certificate of
Appreciation in recognition of Outstanding Contributions. Technology:
Common LISP, Mac UI.
Chip Shooter Tutor
The WISE Factory Simulator was a proof-of-concept tutoring system
I designed and implemented for CKC. Its goal was to teach students the
concepts and operation of a complex "chip shooter" integrated circuit
placement
machine. Technology: Java (Swing UI).