CSCI 250 - Programming Practicum
Spring 2012
Programming Project 4: Databases
Overview
In this project, each team will develop a desktop application using
SQLite and Jython.
Jython is a complete implementation of Python 2.5 (including the standard
libraries) for the JVM. It integrates very nicely with Swing. To create
a Jython project in Eclipse, select PyDev when creating a new project.
Then select Jython as the interpreter. It will ask you to configure the
interpreter; the Jython jar is in /usr/share/java/jython.jar.
SQLite is an application database system. You can think of it as an
alternative to using the regular filesystem for the storage of persistent
data. To use it, place the JDBC Jar file in your project
directory. This JAR file contains both the SQLite implementation itself
along with the Java bridge code. In your Jython project properties, select
PyDev - PYTHONPATH and add the JAR.
Ideas
The only domain requirement for your team's application is that there is a
natural need for persistent data storage. It should also have a GUI
built using Swing. Beyond these requirements, you may implement anything
you and I can agree upon. Here is a skeletal Chess
program (and its unit tests) that
demonstrates how Swing can be employed from Jython.
Developing the Features and User Interface
For your application, develop a written scenario to contextualize the
application, its features, and its user interface. Justify each feature
and user interface element in terms of the scenario that describes the target
domain.
Teams
This assignment will be completed in teams of two or three:
- Kyle Wilshusen, John Nelson Huffman, Benjamin Smith
- Kaleigh Clary, Grace Dubiskas, David Malick
- Thierry Kimenyi, Brandon McNew
Deadlines
- Monday, March 12:
- Written scenario completed
- Tentative feature list completed
- Sketch made of user interface
- Proposed division of labor ready
- 5-minute oral presentation
- Friday, March 16:
- Tuesday, March 27 (5 pm)
- First code review due; one per person
- Wednesday, April 4
- Final system demo, during class
- Friday, April 6