52. Software Systems Development The primary purpose of our Computer Systems Research project is to investigate the feasibility and consequences of establishing a student workgroup based on a classical development lifecycle model. We modeled our project on the Waterfall Development Model, otherwise known as the Systems Development Lifecycle Model (SDLC).
53. Computational Models of Traffic The goal of my project is to make an accurate simulation of traffic in an multi-lane intersection world that will be easily mutable for work in studies on the effects of construction work and accidents on traffic flow. Traffic Simulations are used in a variety of ways. One of the most prominent and original uses was to use traffic simulations to evaluate alternate treatments.
54. Genetic Algorithms and Music Genetic algorithms use feedback resulting from evaluating data sets to optimize these data sets for the best performance as defined by the user. The main data processing is done in LISP. The creation of audio files is done using Csound.
55. Car Simulation This project will be used to simulate carrelated incidents from the real world. By working with this program, users will be able to benefit from responses to scenarios that may have hazardous consequences in real life. By showing real people the decisions of robots, human drivers will attempt to replicate the robots' acceptable actions.
56. Sorting Parts of Variable Width Problem Statement. To analyze the efficacy of sort parts by using slots and utilizing the variable angular velocities that result when parts of distinct physical dimensions move off of a relatively flat inclined surface. Purpose. The final goal is to assess the feasibility of quality control based on taking advantage of the different orientations at various time after release that are caused by deviations from the original product.
57. Robot Swarms My project is an agent based simulation, posing robots in a “game of life”, with each new generation of robot comes new genes using a random number selection process creating the mutations and evolutions that in real life we experience for DNA cross over and such.
58. Modeling Evolutionary Behavior The purpose of this project is to attempt to model evolutionary behavior in agents in an environment by introducing traits and characteristics that change with the different generations of agents. I hope to create an environment where certain agents will prosper and reproduce while others will have traits that negatively affect their performance. In the end, a single basic agent will evolve into numerous subspecies of the original agent and demonstrate evolutionary behavior.
59. Developing a Learning Agent The goal of this project was to create a learning agent for the game of bridge. I think my current agent, which knows the rules, plays legally, and finds some basic good plays, is a step in the right direction. This agent could and will be improved upon over the course of the year and will become smarter and learn faster throughout the year
60. Modeling a Bowling Ball The idea behind this project is to create a model of the dynamical bowling game system. By analyzing sets of physics equations and applying them to this system, a program can be created to calculate and output the path and other characteristics of a bowling ball's traversal across a bowling lane. This ouput is based on a set of initial conditions, including speed, angle, lane conditions, and starting rotation.
61. Optimization of a Traffic Signal The purpose of this project is to produce an intelligent transport system (ITS) that controls a traffic signal in order to achieve maximum traffic throughput at the intersection. To produce an accurate model of the traffic flow, it is necessary to have each car be an autonomous agent with its own driving behavior. A learning agent will be used to optimize a traffic signal for the traffic of the autonomous cars.
62. Modeling a Saturnian Moon This project hopes to add to our understanding of space systems by providing a comprehensive simulation of the Saturnian moon system. By doing this, this project attempts to expose what phenomena can't be explained with modern models and perhaps suggest theories to explain the unexplained.
63. Modeling Atmosperic Change My goal is to create a model of the atmosphere over time, predicting its strength given the increasing amount of pollution as well as the controversial but effective Montreal Protocol. Many projects are in place to save the ozone, and this model will assist in assessing the impact of anti-pollution movements and determine the longterm possible outcome given many parameters. This model features usercontrolled variables, allowing the user to manipulate the year, solar flux, and existence of anti-pollution projects.
64. An Investigation into Implementations of DNA Sequence Pattern Matching Algorithms There is an immense amount of genetic data generated by government efforts such as the human genome project and by organization efforts such as The Institute for Genomic Research (TIGR). there exist large amounts of unused processing power in schools and labs across the country. Harnessing some of this power is a useful problem not just for the specific application in Bioinformatics of DNA sequence pattern matching.
65. Modeling of Evacuation Centers Using NetLogo Modeling is a powerful tool that allows a programmer or social engineer to observe cause-and-effect relationships in occurences that a) happen too slowly or quickly to see, b) involve danger or safety concerns, c) occur on a scale too large or too small for study, d) is not a common occurrence. Using NetLogo, a multi-agent programmable modeling environment, the socio- and psychological factors affecting decision-making in these situations can be effectively simulated.
66. Construction and Application of a Pentium II Beowulf Cluster I plan to construct a super computing cluster of about 15-20 or more Pentium II computers with the OpenMosix kernel patch. Once constructed, the cluster could be configured to transparently aid workstations with computationally expensive jobs run in the lab. This project would not only increase the computing power of the lab, but it would also be an experiment in building a lowlevel, lowcost cluster with a stripped down version of Linux, useful to any facility with old computers they would otherwise deem outdated.
67. Study of Microevolution Using Agent-Based Modeling in C++ Agent Class class Organism { public: Organism(); Organism(int ident, int row2, int col2); Organism(Nucleotide* mDNA,Nucleotide* dDNA, int ident, bool malefemale, int row2, int col2); ~Organism(); void printGenome(); void meiosis(Nucleotide* gamete); Organism* reproduce(Organism* mate, int ident, int r, int c); int Interact(Organism* neighbors, int nlen); int GeneValue(bool parent, int chromnum, int gennum);
68. Creating a 3D Game With a Study of OpenGL Textures and Lighting Techniques To create a first person 3D game using OpenGL. The program consists of using models, textures, lighting, and polygons to create a 3D world in OpenGL. Various equations are used to calculate camera angles, movement, and physics. For example, to move the camera, “eye movements” are controlled by glLookAt, which takes an eye position with 3 points (x,y,z) and 2 vectors. One vectors is the up direction and the other is the forward direction.
69. Paintball Frenzy! Optimized Minimax Agent AI The purpose of this project is to create an innovative and enjoyable graphical game and program a minimax AI agent that performs optimally.
70. Using Machine Translation in a German – English Translator This project attempts to take the beginning steps towards the goal of creating a translator program that operates within the scope of translating between English and German.
71. A Study of Balanced Search Trees This project investigates four different balanced search trees for their advantages and disadvantages, thus ultimately their efficiency. Runtime and memory space management are two main aspects under the study. Statistical analysis is provided to distinguish subtle difference if there is any. A new balanced search tree is suggested and compared with the four balanced search trees.
72. Linux Kernel Debugging API The purpose of this project is to create an implementation of much of the kernel API that functions in user space, the normal environment that processes run in. The issue with testing kernel code is that the live kernel runs in kernel space, a separate area that deals with hardware interaction and management of all the other processes. Kernel space debuggers are unreliable and very limited in scope; a kernel failure can hardly dump useful error information because there's no operating system left to write that information to disk.
73. Machine Learning Techniques for Game Playing Machine learning allows the computer to create its own logical rules, and learn from its past experiences. Machine Learning allows an AI to increase its abilities over time, even without additional direct programmer input. My project hopes to develop a proficiency at Tic-Tac-Toe. My project hopes to create a new algorithm for a relatively simple game, Tic-Tac-Toe. Ideally, this algorithm will be modified according to its results to create better algorithms.
74. Part-of Speech Tagging with Corpora The aim of this project is to create and analyze various methods of part-of-speech tagging. The corpora used are of extremely limited size thus offering less occasion to rely entirely upon tagging patterns gleamed from predigested data. Methods used to analyze the data and resolve tagging ambiguities include Hidden Markov Models and Bayesian Networks. Results are analyzed by comparing the system-tagged corpus with a professionally tagged one.
75. Benchmarking of Cryptographic Algorithms The author intends to validate theoretical numbers by constructing empirical sets of data on cryptographic algorithms. This data will then be used to give factual predictions on the security and efficiency of cryptography as it applies to modern day applications.
76. Resource Locking and Synchronization in the Linux Kernel The goal of the KDUAL project is to create a C library which implements the kernel Application Programming Interface (API) in user-space and performs automatic debugging. Sections of kernel code can then be compiled against this library and run as ordinary programs for convenient testing. This particular section of the project aims to implement the kernel's resource locking API with automatic detection of deadlock situations. Locking will be implemented in two parts-the core algorithms, with their ownAPI designed to be convenient for the developers, and simple glue code bridging that API to the kernel API.
77. Algorithms for Computational Comparative Historical Linguistics Over time, languages change by regular, systematic processes. It is possible, by looking at the state of a language now and in the past, to deduce the exact changes that occurred, and the order in which they occurred. These changes also split languages, therefore it is also possible to, by using modern languages as input, induce the probable structure of their parent language. My goal is to develop algorithms by which computers may efficiently analyze the historical structure of languages and language families.
78. Optimizing Genetic Algorithms for Cypher Decoding Over the past several years, genetic algorithms have come into wide use because of their ability to find good solutions to computing problems very quickly. They imitate nature by crossing over strings of information represented as chromosomes, with preference given to the more fit solutions produced. They hold great promise in the field of cryptology, where they may be used to quickly find good partial solutions, thus eliminating much of the intense manual labor that goes into identifying initial coding schemes.
79. Decision Trees for Career Guidance This research project will be an investigation into the design and implementation of various decision trees for career guidance. A decision tree takes into account some sort of situation outlined by a group of parameters and outputs a Boolean decision to the situation. This project will take into account many aspects associated with decision trees including database building, searching and sorting, and algorithms for accessing data. My project utilizes numerous decision trees in an effort to serve as a tool for career guidance for young adults. A user will fill out a form of specified fields that will then be analyzed by the group of decision trees until a field of study/occupation is given to the user as the outcome. This group of decision trees will be built through database building techniques.
80. Archival of Articles via RSS and Datamining Performed on Stored Articles RSS (Really Simple Syndication, encompassing Rich Site Summary and RDF Site Summary) is a web syndication protocol used by many blogs and news websites to distribute information it saves people having to visit several sites repeatedly to check for new content. At this point in time there are many RSS newsfeed aggregators available to the public, but none of them perform any sort of archival of information beyond the RSS metadata. The purpose of this project is to create an RSS aggregator that will archive the text of the actual articles linked to in the RSS feeds in some kind of linkable, searchable database, and, if all goes well, implement some sort of datamining capability as well.
81. An Analysis of Sabermetric Statistics in Baseball For years, baseball theorists have pondered the most basic question of baseball statistics: which statistic most accurately predicts which team will win a baseball game. With this information, baseball teams can rely on technological, statistical-based scouting organizations. The book, Moneyball addresses the advent of sabermetric statistics in the 1980s and 1990s and shows how radical baseball thinkers instituted a new era of baseball scouting and player analyzation. This project analyzes which baseball statistic is the single most important. It has been found that new formulas, such as OBP, OPS, and Runs Created correlate better with the number of runs a team scores than traditional statistics such as batting average.
82. A Comparison of AI Types of Various Strengths Many different methods of Artificial Intelligence in games exist in todays world, such as a min-max search or goal-directed reasoning. By using a game that is less complex than chess, the standard game for testing AI's, I intend to compare various AI methods and their strengths in the game of Othello.
83. Developing an AI Player for Guess Who My project is to create a computerized version of the game "Guess Who?" complete with an AI player. This involves two research areas: Game AI and Data Mining. Data mining is the analysis of data and the use of software techniques for finding patterns and regularities in sets of data. My AI's strategy algorithm will formulate questions that eliminate 50% of the suspects, which is the optimal percentage.
84. Techniques of Asymmetric File Encryption Encryption programs have been created to protect privacy during a transfer of files and to make sure that sensitive files will be protected. My project is to create an asymmetric file encryption program. This means that encrypted files will need a pass-key to open that will be different from the key used to encrypt. This program could be applied practically to protect files during transfers.