CGI FORM PROCESSING SYSTEM
Arila Atanassova-Barnes
May, 1997

The Common Gateway Interface (CGI) Form Processing System is a web page interface to a collection of CGI scripts related to HTML forms. It provides two main functions: form generating and form processing. It also complies with several important objectives: security, speed, and user-friendliness. It is a web application, platform independent, and accessible from any browser supporting HTML 2.0 and higher. It looks and feels like HTML forms accessible from anywhere on the World Wide Web. In a sense, it is a form to create and process other forms. It comes with a default set of processes, but it can be modified and expanded anytime new processes are invented.


An Object Oriented Approach to Ray Tracing
John Coloccia
May 1997

The goal of this thesis is to show how object oriented programming can be used to produce a practical implementation of a ray tracer. Ray tracing background and theory is introduced. Then a general design for the overall system is given. This in not intended to be a step by step instruction manual to constructing a ray tracer. For that, a study of the source code will provide many insights. The main thrust is to show how the power of OOP can be exploited to make for a consistent and easily extendible system. An effort was made to avoid "special case" programming. Although necessary at times, OOP has all but eliminated the need.


Research Tutor- A Teaching Aid for Computer Legal Research
Felicia Fielding
May 1997

The current method of conducing legal research is to use a computerized database containing all case data and a commercial search tool to find relevant information. The proper and effective use of the commercial search tool is a difficult skill that must be learned. There are basically two methods available to teach research skills. The first is to use the regular commercial application in the classroom and the second is to use a simulation of that application for instructional purposes. A simulation has many advantages over using the regular commercial application.

Research Tutor is one such simulation. It is intended to be used as a teaching aid for computer legal research. The Research Tutor can be divided into three subcomponents. The first is a dictionary of legal terms to aid in using legal terminology. The second is a structured tutorial to point out some key features of the Research Tutor and provide a more interactive experience than a simple description in a book. Lastly, the third component is a simulation search tool to allow the user to practice using computerized search techniques on a limited and controlled database.


Temporal Relational DataBase Management System
Hongbin Ji
May 1997

This thesis project is to use a currently available relational database management system to implement a temporal relational database management system. Conventional databases are non-time-varying. This is, the contents of the database are current data. As the real world changes, new values become availabl through updating the old values, and the old values are removed from the database. For some applications, conventional databases work well. However, they are insufficient for those applications in which the complete history of the data is required. For these applications, there is a need for temporal database. After studying several temporal data models and the query languages for temporal databases, I decided to use S.B. Navath’s Temporal Relation Model (TRM) to design the Temporal Relational Database. The TRDBMS consists of a user interface and Temporal Relational Database (TRDB). The user interface is implemented using Microsoft Visual Basic 4.0 Professional Version, and the TRDB is stored as a Microsoft Access ".mdb" file.


IntraWEB Software Distribution System
Danielle Morse
May 1997

Genetic Programming: Evolving Reusable Code for Function Optimization and Solving NP-Complete Problems
Maysa-Maria Peterson
May 1997

Genetic Programming has proven to be a viable method of generating code for particular instances of a problem. Automatically Defined Functions (ADFs) grew out of research in the evolution of code generation in attempts to "teach" computers to program themselves. These ADFs were found to be reusable building blocks for solving larger, more complex problems within a particular problem domain. Genetic Algorithms excel in evolving solutions to problems of optimization. Any decision based NP-complete problem can be mapped to an optimization problem. Genetic Programming is a related evolutionary algorithmic field that evolves programs as the solution rather than solutions for a particular problem. In evolving programs of varying complexity for NP-complete problems, it should be demonstrated that these that these modules or "subprograms" are common across various instances of any particular problem (these subprograms being what Koza called Automatically Defined Functions) and are helpful in generating more generic solutions. I believe that they are building blocks for problems that gow in complexity and will be key in developing an algorithm/program for solving NP-Complete problems for a statistically significant majority of instances.


ReUSE-WWW: A World-Wide Web Based Tool for code Reuse
John Petren
May 1997


Reverse Engineering a Relational Schema
William Williams
May 1997

This project’s approach to reverse engineering a relational schems is an assimilation of the approaches fund in its reference papers. The end result of this project is an executable system that will extract an Entity-Relationship Data Model (ERDM) from an existing database. This project examines the pros and cons of each approach and uses the most desirable aspects of each to build its own approach. Assumptions are utilized to extract basic information required t identify the key-based inclusion dependencies present in the database. Once identified, they are used to derive all strong entities, weak entities, aggregation entities, limited specialization entities, and relationships. The entities and relationships are then used to create an ERDM.