Senior Capstone Projects

2007 - 2008 Projects

2006 - 2007 Projects

2005 - 2006 Projects

2004 - 2005 Projects

Senior Capstone Projects for 2007 - 2008

Alexander Bowring

xanTunes: A Networked Media Player

xanTunes is a networked media player application perfect for parties or shared living spaces. A single server is responsible for playing music through its soundcard, while many clients upload music to the server. Anyone can connect to a running server with another computer and use the xanTunes client to contribute music from their own library. The server plays all the music it receives, but changes the order, grouping similar songs together to make a more listenable playlist.

 

 

 

Kyle Brickman

1866: The Trails End

In the late 80s the game SimCity was released and, for the first time, players could create their own living, breathing, virtual cities. Now, two decades later, this project aims to recreate that gaming experience for an entirely new platform. 1866: The Trail?s End is a game created for the popular Nintendo DS handheld gaming system. While it intends to capture the gameplay of SimCity, it does so with a twist ? the game is set in the Old West, and immerses the player in all its sights, sounds, and action. Along with a demonstration of the game and the history of the project, the techniques and difficulties of programming for hardware with limited capability will also be presented.

Project Poster (pdf)

 

 

Ben Elliot

honeyB

honeyB is a proof-of-concept demonstration of Swarm Intelligence, a rapidly developing branch in Artificial Intelligence research. Swarm Intelligence, also known as distributed intelligence, demonstrates the ability of many autonomous entities to make simple decisions that culminate in a decision that is beneficial for the group. This project uses 3D graphics to simulate the interaction of bees with each other and their hive. The presentation will include a demonstration of a working simulated beehive, along with a brief overview and history of the project.

Project Poster (pdf)

 

 

Randall Hutcheson

Under-World AI Poker

The popularity of No Limit Texas Hold ?Em poker has led to the game being represented on many different mediums. Console games pit a human player against an Artificial Intelligence (AI) while online poker web sites allow players to compete against other people from around the world. However, there has yet to be a poker site that integrates both AI and human players. My project implements a web based, fully functional multiplayer poker program. Competitors are able to test their skills against each other and against an AI program in multiplayer mode or just against a selected number of AI players in single player mode. This program offers real time response to player actions with the ability to chat with each other.

Project Poster (pdf)

 

Sarah Truher (née Ziegler)

Quilting Revolution: Free Online Quilt Design Software

Traditional quilt designs require careful planning to create their characteristic geometric patterns. Many quilters use graph paper and a pencil to draw and redraw their designs until they are just right. Quilting Revolution offers users a way to work with designs easily on the computer, allowing them to create precise designs quickly. For this project, a website has been created that allows users to design quilt blocks, then save them to be modified at a later date. Also, the community can view all user-created blocks, allowing collaboration and sharing of ideas. The designer itself is implemented in ActionScript 3.0 and is embedded in a website built with Ruby on Rails.

Project Poster (pdf)

 

 

Senior Capstone Projects for 2006 - 2007

Matthew Rose

Path Finding with Computer Vision

Computer vision is an exciting field in computer science with many practical applications in both civilian and military settings. Unfortunately, images are a complicated form of data for a computer system to interpret; but with computer vision, an application can be programmed to extract the desired information. The application I developed enables a LEGO MINDSTORMS rover to navigate a path, avoiding obstacles while moving towards a user-provided destination. Such automated responses are important when precise movement and quick reactions are required or when human guided movement is impractical. Images are gathered from an overhead camera and sent to a computer vision system where they are analyzed with a canny edge map to detect possible obstacles. The rover is then sent updated movement orders through an infrared transmitter to detour around the obstacles without human intervention. I will discuss the design of the application, the object detection algorithms that I implemented, and provide a demonstration of the rover in action.

Matt is currently a software developer at WebMD.

Dan Uhl

Automated Music Composition  

Many believe that the great works of Beethoven, Mozart, Brahms, Chopin, and others are brilliant and beautiful works of art. However, it is often overlooked that classical music in the eighteenth century was created using a precise mathematical process. For my senior project I developed an application that uses an XML database and artificial intelligence algorithms to compose unique music following specific rules. By providing a song as input, the application is trained produce new music that emulates the style of late eighteenth century vocal chorales. The newly created music can be viewed as sheet music or listened to as a MIDI file using the music notation program LilyPond. In my presentation I will discuss all the features of the application including choice of tempo, length, and instrumentation, and present a demonstration of the automated music composition program.

Dan is currently a software engineer at sms.ac.

 

Senior Capstone Projects for 2005 - 2006

Adam Herr

Biogrammatics: Decomposing biological structures into context-sensitive grammars

Adam HerrBiological systems often have geometrical regularities that manifest in the form of repeated structural themes. For example, many species of plants exhibit such themes in the relative location of leaves and branches, and in their flowering patterns. The field of procedural computer graphics has produced a method for capturing the fractal nature of plant morphology by using a variation on context-free grammars called L-Systems. While L-Systems are common in computer graphics, these methods have scarcely found applications in actual biological research. This project extends the theoretical foundations of L-Systems to transform them into a device for studying molecular-biological structures. The goal of this project is to discover L-System grammars that describe themes within the backbone structure of proteins. The result is a very compact quasi-linguistic representation of the recursive themes contained in a protein structure. Once grammars have been generated for a group of proteins, the rules of these grammars are compared to discover commonalities in the fractal dimensions of proteins. This method may prove useful in structural biology and may offer a new direction in solving the protein folding problem.

Adam is currently the Vice President of Engineering at Immersive Media.

Youngjun Kim

Pacific University Web Search Engine  

Youngjun KimSearch engine technology has evolved rapidly to keep up with the expansion of the World Wide Web. Over the past two decades, a considerable number of studies have been conducted to improve the searching methodology. This interest has been continuing to grow in information and computer science. This project implements a search engine that utilizes matrix theory and linear algebra. The Pacific University Search Engine is presently scanning all HTML documents from Pacific University web sites. The keyword list, document specifications, and URL links using ranking and relevance feedback are placed into the database to allow for full text searching. This project, implemented in Java, uses a unique method of structuring the Information Retrieval system by utilizing online analytical processing features, such as SQL analysis functions and materialized views instead of traditional tables.

Youngjun has recently completed his Masters degree at OHSU and is now pursuing a Ph.D at the University of Utah.

Cesar Leal

3D Terrain Generator

Cesar LealThe most time consuming and expensive aspect of game creation is content development, such as generating maps and playing fields. The 3D Terrain Generator described here creates a 3D landscape from a randomly generated map or from an existing image loaded by the user, using procedural techniques. The goal of this project is to allow game developers to create realistic looking 3D terrain for use in video game development. Along with creating the terrain, game developers can export terrain in a format compatible with many 3D game engines such as the Quake engine. The 3D terrain generator also allows users to modify the 3D landscape using an erosion system and terrain filters. This software was developed using the C++ programming language and OpenGL.

Cesar is currently working at Yahoo.

Nathanael Merrill

Simple CMS: Content Management System for Web Designers  

Nathanael MerrilThere is no shortage of content management systems (CMS) on the market today, however many of these systems take a generic approach that does not work for most companies with an established brand. This type of company often requires a very specific look and feel that cannot be easily be implemented with most CMS systems. Simple CMS was designed around the idea of giving the web designer the ability to implement a CMS with an existing design, which would then allow the clients to update their own content. Not only does Simple CMS give the end user an intuitive and easy-to-use interface, but it also allows the web designer to format the content however they choose by using standard XHTML and CSS.

Timothy Prins

MorphMPI

Tim PrinsThe Message Passing Interface (MPI), first published in 1995, is the de facto standard for computer program communication in High Performance Computing environments. There are hundreds of implementations of the MPI standard, created by different groups in industry, academia, and government labs. However, as allowed by the MPI standard, each of these groups have implemented the MPI interfaces in slightly different ways. Due to these differences a program built for one implementation of MPI cannot run with another implementation of MPI without being rebuilt. This can lead to unexpected problems and can make testing and comparing different MPI implementations difficult. To help alleviate this problem, I designed and implemented MorphMPI, a translation library which provides a standard set of MPI interfaces. Applications built using MorphMPI can be run with most MPI implementations without being rebuilt.

Tim has recently completed his Masters degree at Indiana University and is now a software developer at Immersive Media.

Alan Rubin

Protein Structure Similarity: A Grammar Based Model  

Alan RubinProteins are important biological macromolecules which take on highly complex three dimensional structures. Protein comparison is important in many fields of biology, including evolutionary biology and pharmaceutical research. Commonly used methods of protein comparison consider only the amino acid sequence of the proteins, and ignore the importance of the structural information. A good method of comparing protein structures could allow researchers to find common elements in proteins with unrelated amino acid sequences. This project proposes a mathematical model that scores the similarity of two proteins based on their structures. The model compares structural grammars created by computer science student Adam Herr's Biogrammatics tool. It is implemented as a data driven website using PHP and MySQL.

Alan is pursuing a PhD at the University of Washington.

Kyle Tomita

PokerBot  

Kyle TomitaThe increased popularity of No Limit Texas Hold ‘Em has spawned many video games and online poker web sites in recent years. Poker video games offer players the ability to play against computer controlled opponents. Online poker sites offer an arena to play competitive poker against people over the internet. This project implements a full featured poker program, which combines the artificial intelligence in video games with real time online competitors. This user friendly program allows messaging between users. Developed using C#, multiple players are able to test their skills against each other and against the artificial intelligence program, codenamed PokerBot.

Kyle is currently working at Intel.

Jim Truher

3D Strategy Game Engine  

Jim TruherTwo industries are famous for pushing new hardware to its limits: supercomputing and gaming. However, this is not the case for turn-based strategy games, which in recent years have had little innovation. Though this genre is a small subset of the market, enthusiasts of these games are very dedicated and loyal to this style, despite the lack of variety. My project was to develop a new 3D game engine in order to push this technology forward. This engine improves the visual aspects of the medium though modern graphics techniques such as particle systems
and shader effects. Gameplay additions update the strategic options with new features such as player abilities which cause terrain deformation – something entirely new to this genre.

 

Ben Young

Adaptive firewall for Internet Defense 

Ben YoungThe Internet is a scary place. Malicious entities such as viruses, Trojan horses, worms, and zombies lurk near every piece of information transferred. Current firewalls are static, set-and-forget, all-or-nothing front lines to network security. This strategy means that once a path is opened through a firewall, anything can use that path to get into or out of a computer. By using artificial intelligence to analyze information that bypasses it, a firewall can provide a quicker response to network attacks. The Adaptive Firewall is a network security program that aims to counteract threats against a single system by looking at information the computer receives through its firewall. It then uses this information to identify current threats and modify the firewall to counteract those threats from the network. This results in a more secure system by creating a more dynamic front line of defense.

Ben is a software developer at Tiburon.

 


Senior Capstone Projects for 2004 - 2005

Dana Benson

Academic Course Scheduler

Dana Benson

Scheduling is one of the most difficult and interesting problems in Computer Science. One scheduling problem faced by educational institutions around the world is the scheduling of courses. The goal of this project is to find a close to optimal solution to the course scheduling problem, achieving as many desirable objectives as possible. For example no class, instructor, or room should be assigned more than once to a particular time slot. The complexity of the problem varies with the time and space resources as well as the number of objectives for the schedule. This project tackles the scheduling problem using a genetic algorithm: an optimization technique taken from genetics that employs randomization and heuristics to find an optimal solution. Furthermore, to aid the current manual scheduling process the project will include a graphical user interface for displaying and making modifications to the schedule. Results indicate that a genetic algorithm is a useful solution to this scheduling problem, and could be used as an aid to the manual process currently used at Pacific University.

 

 

 

Brian Merz

Binary Nucleotide Data Representation

Brian MerzBioinformatics is a field combining biology and computer science. Research in the area of bioinformatics is concerned with the management and ability to handle large amounts of data in reasonable time. An example of the type of data would be the Human Genome which contains approximately 3 billion nucleotides represented by single characters (A, G, C, and T). The substantial size and inefficiency of the current digital representation of DNA sequences highlights the need for a compression scheme. The recently sequenced Human Genome currently takes up almost three gigabytes of space on a disk. In order to reduce the data size of DNA sequences [e.g. the Human Genome], I have developed a compression algorithm that decreases the amount of disk space needed to represent a single nucleotide. In addition to saving disk space, the compressed sequence can be used in Bioinformatics operations such as sequence comparison and alignment, achieving the same functionality as the original format. Experimental results prove that the compression scheme developed halves the data size of any DNA sequence quickly and efficiently in a lossless compression.

 

 

Justin Silva

Automated Financial Forecasting

Justin SilvaInvestments in the stock market are an important source of income for many people and are essential for retirement. However, financial markets are notoriously difficult to predict, and this has led to a large amount of research into automated financial market systems. Using the performance history of a particular stock, these systems employ a variety of techniques to predict the future behavior of the stock. One such technique has been taken from the field of Artificial Intelligence (AI), and uses neural networks to recognize patterns in the stock market to predict the future price of the stock. Because the market is so competitive, algorithms for such systems are currently kept secret. However, these algorithms are based on general stock market theories that have been employed in the development of a financial forecasting system. The resulting system displays the effectiveness of neural networks in financial forecasting.

 

 

Dina Suehiro

BoxerBlog: A Blog Web Site for the College Community

Dina SuehiroBlogs are publicly accessible online journals that allow people to informally share their ideas with the world, show off their pictures, recap their day, or even repeat a funny joke they overheard. Blog popularity has grown in recent years. A survey conducted by PEW Internet & American Life Project found that in 2004, blog readership increased by 58% in the United States. BoxerBlog is designed for a college community, and gives students, professors, and staff members a convenient and quick way to communicate. It allows its members to create an account, post journal entries, customize their profile and blog, leave comments for other users, and search the database of members. In addition to the usual blog features, BoxerBlog allows users to send instant messages to blog members, and class lists set up by professors give students access to their classmates? blogs. Also, staff members have the ability to upload banner advertisements to remind people of upcoming events or important dates. BoxerBlog is an alternative form of communication that will help build academic and social relationships.

 

 

Ryan Uhl

Shadowlands: A Multiplayer Online Role-playing Game

Ryan UhlThe use of client/server programming is vastly expanding in today?s age, as more companies and individuals rely on using the Internet for both communication and data sharing. This is especially evident in the field of computer games, where many people turn for entertainment. Shadowlands is a project in client/server programming within the context of a Multiplayer Online RolePlaying Game (MORPG), where users create characters with unique skills (e.g. mage, fighter, ninja) that communicate with other players across the world, and interact in an exciting online environment. Players have the ability to fight monsters to further their characters? statistics. Shadowlands shows how programming techniques such as multi-threading, hash indexing and double-buffering can be combined to create virtual worlds for hundreds, or even thousands of players.

 

 

Chris Ventura

Artificial Intelligence in Soccer: Teamwork in Action


Chris VenturaWill a computer ever be able to play the game of soccer as well as human players? Many researchers have attempted to answer this question, but their solutions are highly complex, often involving probabilistic models and many heuristics. For this simulation of soccer a different approach has been taken, which utilizes techniques from the field of Artificial Intelligence (AI). At the heart of the game is a neural network that is trained using a minimal set of heuristics, such as passing the ball or taking a shot at the goal, which have been gathered from human soccer players and coaches. The players follow a training regimen similar to humans where they are rewarded for making a correct or clever move. The purpose of this project is to demonstrate teamwork between players, and the results show that the players are able to cooperate to win the game.