The purpose of this project is to create a Jython programming environment, called the Jython Environment for Students (JES), which will be used by students in the new Introduction to Media Computation (CS1315) class at Georgia Tech. The target students for the class are those that are not engineering or computer science majors. Therefore the user interface for the development environment must be easy to use for people with little programming experience. Features such as keyword highlighting and descriptive error messages will be build into the program to help students as they learn how to program. The final product will be an IDE that is simpler than commercial ones, but will be easier to understand and use for students specifically taking this class.
Once finished, JES will be continually revised by Professor Guzdial during its use in class. To help with the maintainability of the program, the code must be well documented and extremely readable. The IDE will be implemented in Jython, which runs on a Java Virtual Machine. This allows the system to be platform independent. Error messages, as well as other default settings, will be included in a constants file so that they can be easily modified after the release of the project. The system will provide the basic tools an inexperienced user needs to succeed in the class. The system will be expandable, since people other than the original authors will modify it at a later date.
The functional requirements for JES can be separated out into three distinct categories: Jython File Interactions, Jython Interpreter Interactions, and User Interface Requirements. These three categories are listed in the following sections:
2.1) Jython File Interaction Requirements
The system must allow users to create new Jython files.
The system must allow users to open Jython files.
The system must allow users to save Jython files.
The system must allow users to edit Jython files.
The system must provide minimal preprocessing of Jython files, which can be defined within an external file. This file will be used for importing specific modules for the users of JES to use.
The system must only have one Jython file open at a time.
2.2) Jython Interpreter Interaction Requirements
The system must allow users to execute Jython files.
The interpreter should run as a separate thread so that the GUI will still function when the user is running code.
The system must provide a method to the users that will pop up a window that shows all visible variables.
The system must open the debug window displaying variables when an error occurs while running a user’s code.
The system must give error messages that would be clear to first time programmers.
The system must make error messages editable from an external file.
The system should highlight lines that contain errors after a user attempts to run the Jython file.
The system should highlight Jython keywords so users can tell keywords from non-keywords.
The system must allow user to interrupt the program.
The system should indicate areas in the code for the client’s later use. In the future, JES will be enhanced with some additional functionality. The area where these modifications must be made will be clearly indicated in the code. These enhancements include: