Alfred University Senior Project
As part of the graduation requirements for the undergraduate Computer Science program at Alfred University, I completed a semester-long senior programming/research project. The final project defense and other materials are available here.
The software engineering efforts I made to design and build the system ended up being important topics in the project defense. The paper discusses the use of an object-oriented language (Java), a “use case centered” methodology, design patterns, and unit testing tools to create a working program and flexible API.
Abstract (from the project defense available below)
ImagiViewer tools and applications: a natural language visualization platform
Visualization is a powerful way for people to communicate and learn. However, today’s computer applications commonly do not have interfaces that facilitate real-time creation and sharing of simple visual ideas. I designed and implemented an object-oriented programming platform, called ImagiViewer, enabling the ad-hoc visualization of ideas through the use of natural language recognition. This platform provides a programming interface for integration into a variety of applications, flexible vocabulary features, instant rendering of basic graphical objects, and some capabilities to import and export images and text. The platform allows text and possibly speech input. I will discuss the experience of using design patterns to create an object-oriented API for this system, the successes and difficulties of designing and implementing a natural language interface, and the possibilities for this system’s future.
Journal
Until the last two months of the project, I kept an online journal of my thoughts and progress. After that, my senior year of college was just too busy and I stopped posting journal entries.
Documents and downloads
I offer all of the papers and presentations for direct download. Soon, I may also have an online image gallery available. Please contact me if you are interested in the executable, source code, design documents, or other materials not listed here.
- User manual
- Thesis/Defense
- Project presentation
- All documents in one .zip file — all of the above, plus the project proposal and evaluation of the initial prototype
About senior projects at Alfred University
The AU Computer Science program requires each senior to define, analyze, design, and implement a project. The definition of “project” is open-ended — it could be any sort of hardware or software. Many students create a program for some personal or business client. My project is basically for it’s own sake. I had completed many professional projects over the past few years while working for the AU Webteam, including the University’s student portal, so I used the senior project as an opportunity to work on something more academic and exploratory.