CSC 498 - Senior Project
Fall 2004-2005 Semester

Project Summaries

Section A (Howard)

Blake Bryan, "AudioEdit"

My project is going to be a program that allows the user to easily create music with the computer. MIDI sequences will be created using a graphical representation of a keyboard, guitar strings, and drum pads. MIDI sequencing hardware will also be used to interface with the software to allow the user to use a more physical piece of equipment to create music. The sequences will be saved as files that can later be converted to WAV files. These WAV files will have effects that can be added to them. Multi-effects (many effects layered on top of each other) will be able to be created and saved by the user.

At the completion of the software, I plan on creating a website that will market the software and allow people to download a demo version. Users will also be able to upload MIDI sequences, WAV files, and multi-effects that they have created to share with other users.

Chris Colvard, "Collaborative Perspective for Programming Language Learning (CPPLL)"

This project's goal is to develop a plugin for the Eclipse IDE (www.eclipse.org) that provides a perspective geared towards education and collaboration in learning new programming languages. This project generalizes the work done on the FUNNIE project (funnie.sourceforge.net) during the summer of 2004 for usage with any language. Extension points are provided by CPPLL so that language plugin developers would only have to define language specific classes for use with this plugin. This would allow for a common perspective for language learning without much more work for developers beyond writing their language tools in Java. For example interpreters for programming languages already written in Java can be used without any changes to the existing code. JavaScript and Jython extensions to CPPLL will be developed along with other language extensions if time permits. If time permits, a stand-alone version of CPPLL will be developed using the Eclipse Rich Client Platform.

David Hafley, "The Automated House"

For my senior project, I will be focusing on the automation of electrical processes in a house. This idea came to me two summers ago when I was an intern for an engineering firm in St. Louis. There, I assisted the engineers in automation of processes in factories. My main work was done designing Human Machine Interfaces for placement on the factory floor.

I plan to be able to control most every electric process in the house, but have not decided on a final list. The mostly likely list will include some if not all of the following:

Another feature added would be timed operations. For example, the user will be able to set timers for specific lights to be turned on and off on a regular basis if the user is out of town. Another feature will be for the user to control the HV/AC on the same basis, turning the temperature up in the day when no one is at home and cooling it down right before everyone returns home after work. This will save energy and money for the consumer.

James Hamlin, "Roommate Accounting Made Easy"

I am designing a windows based program for users who live in an environment with roommates who all contribute to paying the bills. The ultimate purpose of this program will be to display the amount each roommate is owed by the other roommate(s) in order for them all to pay the same amount each month. Users will log into the program which will allow them to input the bills that they pay, as well as any other expenses that they feel should be distributed amongst the group. Each user will have a unique ID and password so that users are not able to modify or delete other users. inputs. By integrating the unistroke handwriting algorithm into the program, users will be able to enter data through the keyboard as well as using a pen based method.

Jason Pease, "A Computer Animated Film Short"

Growing up I was always amazed at the production of computer graphics. Producing a life like image digitally and making it act is something that I would like to be able to do. Computer animation is a big part of the film industry today with movies such as Star Wars, and The Incredible Hulk, along with complete cgi films such as Monsters Inc, and Final Fantasy. For my senior project I would like to create a computer animated film short. The film would be approximately 5 to 7 minutes in length. In order to create this film I will be using a 3D animation program which was developed by Carnegie Mellon. Alice 2.0 is a program that lets me directly manipulate 3-dimensional objects that I create, and program them to move and act by utilizing python. Alice's capability to program the object along with camera position and movement within a 3-dimensional world make it possible to create computer animated film or video game cut scene.

Alice 2.0 would be the main software that I would use for this project, however I would also gain valuable knowledge of 3D imaging programs such as Discreet's 3ds Max, and Right Hemisphere's Deep Paint 3D or other graphics programs. These programs allow me to create realistic 3D rendered images with real lighting effects and shading to produce an object or even a digital actor for my film. Using all of this software will allow me to create a 3-dimensional world where all my creations can interact.

Along with all of the 3d rendering software I will be using some of my own personal digital Video and Sound editing software for the editing and sound dubbing. The software that I will use will be Sony's Vegas package and Soundforge's Acid 4.0. I will use Camtaisa to capture the video from Alice.

Kyle Schaefer, "Car integrated media computer"

This project is the design of a user interface to integrate a personal computer into an automobile. The main goal of this is to easily allow the driver access to a large amount of entertainment options that have previously not been available in a car. To do this a computer will be placed in the trunk and wired into the car's factory equipped speakers and a small touch screen placed in the dash to allow the user more input and output options. The computer will draw its power from the car's battery but be wired into the car's alarm system so that when the alarm is armed the computer will power down so that the battery will not be depleted. This computer touchscreen combination would then give the driver access to a large searchable database of mp3, mpeg and all other standard computer media formats, as well as predefined play lists and browsing by album and artist. All functions will be easy enough to use that they will not be more distracting to the driver then operating a standard in car radio.

Section B (Olowoyeye)

Audra Butts, "Tee to Green Stats"

Tee to Green Stats will be a database driven high school golf statistical program that will also aid in conducting competitions (matches and tournaments). The program will have a database backing in Microsoft Access with a VBA interface for user-friendly design. The program will be designed to accommodate the specifics of high school golf and will track data associated with each players round of competitive golf throughout an entire season of play. Coaches will be able to develop a multitude of reports through comparison and reproduction of data within the database to foster better coaching and produce competition results. Ultimately this program will be sold to high school golf coaches for use, but this is not the focus of this project.

I will start with developing the database in Access. I chose Access because it is a common database tool that is found on most computer systems. The Access database will be a collection of tables that will hold large amounts of data pertaining to approximately 150 golfers. The front-end will be an interface used by coaches (and occasionally players) to populate the tables with data they will later use to develop reports. These capabilities will presented to the user using a variety of menus developed using VBA.

David James, "PocketFuse"

PocketFuse is an extension of the existing Media Services inventory management system (Fuse) to allow real-time access to the system from wireless networking enabled Pocket PC devices such as the Dell Axim handhelds in use on campus. The existing system tracks equipment location, status, and assignment information about each item, as well as a checkout history and maintenance history. In order to access this information, users must currently have access to a computer equipped with Microsoft Access and have access to the inventory database file via the campus Novell Netware system.

PocketFuse allows users to access the inventory information from the database via PocketPCs, rather than calling into the office and having a desk worker retrieve the needed information. The PocketFuse system replicates nearly all of the functionality of the desktop system, allowing users to view information about existing equipment, edit details concerning an item (such as changing its location), and add new items to the inventory. The PocketPCs will access the system through Pocket Internet Explorer via the campus wireless network.

Anne Mahoney, "ΑΧΩ Website"

My senior seminar project consists of a website that I am going to construct for the DePauw Chapter of my sorority, Alpha Chi Omega. I will be redesigning the current Alpha Chi Website, which does not have a database end to it, to be a more effective, user-friendly design containing the same useful information. There will be two types of user roles: site members who consist of alumnae and students, and general users who consist of guests. A general user comes across the website and has no affiliation with the sorority; however, he or she can learn about the sorority. I am going to create a clear, user-friendly web page layout and combine it with a useful database of alumnae from the DePauw chapter. After logging in, members can view announcements, add comments, view and edit their personal profiles, learn more about the sorority and events, see photos, make donations to the Alpha Chi Omega Foundation, and search for alumnae and view each alumna's profile. The alumnae will consist of the current senior Alpha Chi Omega class graduating in 2005. I will be using HTML, SQL Queries and Cold Fusion software with the programs Macromedia Dreamweaver MX 2004 for the website design and Microsoft Access for the database set-up plus a Microsoft 2000 Server for a web server. The Access database will consist of tables to hold the sorority members, which include information about students and alumnae.

Nate Nichols, "BEARHuGS"

Rape is a major problem facing all societies, both modern and pre-modern; although progress is certainly being made, disturbing statistics—in 2002, for example, there were approximately 250,000 victims of rape, attempted rape or sexual assault in America alone (www.rainn.com)—make it clear that our efforts up to this point have not been sufficient. Noting this, a number of evolutionary psychologists (especially Randy Thornhill and Craig T. Palmer) have proposed a radical new idea concerning the ultimate cause of rape. Referencing a number of statistics concerning rape, these two scientists reject the typical social scientist explanation—that rape mainly results from a misogynistic culture that preaches violence and domination—and instead insist that we should look into our own evolutionary past to root out the motivations for rape and then draw future policy changes from this increased knowledge.

Not surprisingly, their claims—that rape is often an unfortunate outcome of several male genetic motivating factors, or that there is actually a male "rape gene"—are hotly debated in scientific circles; while many arguments are simply knee-jerk morality claims, some scientists have doubts about whether such violently anti-social behavior could actually evolve. They cite statistics concerning the extremely low pregnancy rate stemming from rapes, as well as the violence frequently perpetrated against caught rapists as evidence that rape doesn't really increase the rapists' reproductive potential.

My hope is that BEARHuGS will be able to help inform these debates by simulating early humans and studying their rape patterns. I intend BEARHuGS to be a scientific tool; therefore, I will be spending the majority of my time in programming the simulation and not on an appealing interface or assistive help files. The core of the agent-based simulation is a population of creatures (HuGs) each driven by their personal neural net, which is composed of a number of "action modules". They have a number of possible actions (sleep, hunt, chat, etc.), each represented by an action module, and they choose between the actions based on the output of these modules. If a female happens to conceive, the child's genes will be a combination of its parents' genetic code. Each creature will have an opportunity in turn to take an action; once the entire population has acted, one cycle of the simulation will be complete and the next will begin. As new babies are born and older creatures die, the species will evolve with each cycle. After the simulation has been completed to the user's satisfaction, BEARHuGS will output an HTML report with statistics and the story of each individual creature. By modifying various parameters of the simulation and studying the final reports, users will be able to study under what circumstances rape occurs and is selected for, and hopefully, new ideas for ending this awful crime.

Ben Steffen, "Skeleton 3D Model"

This project will be to create a 3D model editing program which can be used to create a "skeleton" for the model that is used for animation, similar to "bones animation" used in many commercial 3D modeling and animation programs. In bones animation, vertices of the model are assigned to units of the skeleton and move along with those units during animation. The project will differ from standard bones animation, however, in that the units making up the skeleton will be assigned physical properties, such as mass and volume, which will allow the model to be animated in a physics-based animator. Therefore, as the second component to the project, there will also be a keyframe animator which can generate physics-based animations from the physical attributes of a model's skeleton. The potential application of this project would be to increase the realism and interactivity of animations in computer games and other real-time interactive simulations.

Section C (Bell)

Robert Bruder, "Electronic Forms Design: Real Estate Forms"

In his project Rob will take common paper forms used in a real estate broker's office and convert them to an easy to use electronic forms application. The main focus of Rob's project will be a graphical user interface which will be designed with the forms designer included with MS Access.net. An MS Access.Net database will be used to support the data storage capacity. Currently all real estate forms are filled out by hand. It is Rob's goal to make a more efficient easy to use program that will allow the realtor to complete the forms electronically and print them on a printer.

David Egger, "digiState"

A web based piece of software, utilizing PHP and MySQL, as well as Javascript and XML. Users will be able to create multiple business entities, as well as multiple real estate entities in the database. Each real estate entity will contain full information about the property, as well as keep track of mortgage payments, expenses both deductible and not, income, tenants and tenant incidents. Storage of lease agreements for later reference will be included. The site will also be able to let tenants log in and make rental payments via PayPal. Property Managers will be able to enter rental dates, triggering emails to property owners (short term rental properties like condos).

Anthony Jacob, "The Science of Checkers"

My project "The Science of Checkers" will take a closer in depth look into the scientific aspect to the game of checkers, also known as English Draughts. I will create a program that will allow a human to play checkers against the computer following the standard rules of the game. I will focus mainly on the Artificial Intelligence part of the program by creating a database that keeps track of the consequences of the decisions made by the computer. The computer will always evaluate its available options based on the success of its former moves. This will make the computer's moves gradually better through reinforcement learning. I will then incorporate a graphical interface into the program after the implementation and construction of the actual game play and reinforcement learning is complete.

Seth Kinnett, "Writer-Launcher"

Students who use pen-based computers often find the pen to be effective for some operations in Windows, but not for others. Frequently switching from mouse to pen to keyboard takes up valuable time that could be spent elsewhere. The purpose of Writer-Launcher is to provide a medium through which users can quickly launch programs of their choosing by using a single pen stroke. For the apt user, such a program will eliminate the need to move back and forth to the mouse and may speed up time spent launching programs. Users of the program would store their preferred gestures and associate them with any installed program they wish to run. For example, if users wanted to launch Visual C++.NET, they might decide they prefer to draw a 'C.' They could draw the C and associate it to launch C++. Then, anytime they later drew a 'C,' Visual C++.NET would be executed.

Atanas Vlahov, "Solving Assignment Problems and Simulating the Behavior of Intelligent Agents"

The first goal of my project is to examine two approaches for making a decision. The decision to be made is how to assign a number of workers to the same number of jobs so that the jobs are completed in the least amount of time. The first way to solve the problem is to represent it as an optimization problem and use methods from the field of operations research. This type of problem is a balanced transportation problem in which all supplies and demands are equal to 1 and is also called an assignment problem. The second way to approach the problem is to use a genetic algorithm to arrive at a solution. Each member of the population of the genetic algorithm will be a possible assignment of which worker should do which job. For instance, if there are three jobs to be done then the individual | 3 | 1 | 2 | represents assigning worker 1 to complete job 3, worker 2 to complete job 1, and worker 3 to complete job 2.

The second goal of my project is to simulate how a colony of ants finds and gathers food. I will develop several different ant behaviors and test them against each other. The test will consist of putting two colonies of ants with different behaviors on a map with limited resources. The winner will be the colony that manages to bring the most food items back to its anthill in a certain amount of time.

Adam Webb, "Gedric-Enhanced Application Software (GEAS)"

My senior project, named GEAS (Gedric-Enhanced Application Software), will be a gedric-driven software launching application which will allow the user to launch the program of his or her choice by making the corresponding gesture within the designated drawing area in the lower-right corner of the screen. GEAS users will be able to create and save their own gestures and assign them to launch additional applications beyond the default set of gestures provided by GEAS. Beyond launching applications, GEAS will enable users to assign gestures to gain access to their favorite websites in one easy step. This project will focus on presenting the user with an intuitive, easy navigable interface which I will refine based on feedback gained from several usability tests of both beta and final versions of this application. Also, the design of GEAS's interface should allow students who are pressed for time to have quick and easy access to core programs such as Microsoft Internet Explorer, Microsoft Office programs such as Microsoft Word, Excel, Powerpoint and email applications such as Novell GroupWise. Ideally, I wish to enable my fellow students to stay up-to-date on email while reducing the amount of "hunting" through menus to find their desired application to open and print assignments with the minimum amount of user stress.