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).


Home