smp by m38x6O1R


									ID#              Name                 Dept.                           SMP Title

 94091 Allen, David Scott      Computer Science   Connectivity problem in graphs

140328 Atencio, Adam Joseph    Computer Science   Stereoscopic vision system for autonomous
                                                  mobile robots

 95342 Awofolu, Omotola        Computer Science   Machine translation : a case study in Yoruba

142760 Baker, Craig Joseph     Computer Science   Genetic algorithms : exploring the genotype

 95701 Barbieri, Louis Peter   Computer Science   Construction of a parser generator

246763 Becker, Ian Spencer     Computer Science   Self-stabilizing paired domination of graphs
 95630 Bernstein, Andrew Todd Computer Science   Database topics

206422 Best, James Gregory    Computer Science   Intensive network algorithms in support of real-
                                                 time computer games

 94964 Bunch, Brett Ray       Computer Science   RSA encryption

147965 Catterton, Jason       Computer Science   Investigating patterns in the combinatorial game
       Kenneth                                   Drone

 94475 Clancy, Sean Michael   Computer Science   Virtual St. Mary's College of Maryland

 92319 Coker, Kristen Maree   Computer Science   Illustrating computer graphics techniques using
 95092 Deranek, Richard Harold Computer Science   Teaching a computer to play “Rock, paper,

 94222 Dombrosky, Thomas       Computer Science   Music station [computer program]

 94174 Donofrio, Andrew Neil   Computer Science   Beowulf clusters

125031 Dumas, Matthew John     Computer Science   3D modeling on the Web : the future St. Mary‟s
                                                  College of Maryland boathouse

296019 Eaton, Marshal          Computer Science   Mutative training of a learning algorithm in Go

146113 Eirich, David           Computer Science   Virtual feng-shui : furniture arrangement through
                                                  backtracking algorithms
 94968 Felmey, Jonathan       Computer Science

 95160 Fogus, Michael Eli     Computer Science   Computer chess

 95266 Furey, Andrew Edward   Computer Science   Digital glimpse of rugby

194668 Gould, Benjamin        Computer Science   Intensive network algorithms in support of real-
       Douglass                                  time computer games

127923 Gray, Robert Scott     Computer Science   Investigation of online interactive systems

127923 Gray, Robert Scott     Computer Science   Investigation of online interactive systems
 93931 Heigl, Barbara Ann      Computer Science   Virtual St. Mary‟s College audio processing

209662 Hickman, David Ray      Computer Science   Exploring ethics and social concerns in
                                                  introductory computer science courses

224564 Householder, Nathan     Computer Science   Meeting people through mobile devices using
       Daniel                                     Bluetooth

170250 Huang, Mary Ching-Mei Computer Science     Three-dimensional Tetris : history and
                                                  mathematical implications

 94485 Huhn, Amanda Leslie     Computer Science   3n+1 problem

 99738 Keeling, Michael Ryan   Computer Science   Virtual St. Mary‟s College
 81528 Keene, Anthony Lee     Computer Science   Understanding your PC

129641 Kempner, Jeremy Paul   Computer Science   P.U.L.S.E., Project : Universal Life Simulation
                                                 Engine, Project : 01, The Tome of Esirilia : a role-
                                                 playing game

 94669 Khangulov, Victor S.   Computer Science   Classroom scheduling database

 79323 Kitchen, Blair Davis   Computer Science   Searchable herb database

128453 Kleban, Jason D.       Computer Science   Peer to peer connections among untrusted
                                                 private networks with dynamic port forwarding

 95750 Kostenko, Constantin   Computer Science   Software process improvement for small to
                                                 medium organizations
     96649 Lapato, Brian Robert     Computer Science   Virtual St. John‟s site : applying new technologies
                                                       to aid the understanding of the past

     76597 Lawrenz, Hans Robert     Computer Science   Natural language generation

    181175 Lummis, William B.       Computer Science   Virus removal engine using Flex and Bison

     96996 Lyman, Jeremy Adam       Computer Science   Virtual housing project

199829;    Marshall, James          Computer Science   Introduction to 3-D game creation using
199146     Christopher; Nierenberg,                    Microsoft‟s XNA
           Matthew Carl

     95171 Marzulli, John Francis   Computer Science   SimpleGen software synthesis system
222447 McGreevy, James Ryan Computer Science         Genetic algorithm for Pathfinding in robots

100213 Miller, Tonya D.           Computer Science   Microsoft Certified Systems Engineer core study

245423 Nearing, Virginia Bailey   Computer Science   Controlling multiple robots with a multi-touch

 97597 Neumann, Bryan             Computer Science   Design pattern interface to the Windows
                                                     operating system

104960 Nichols, Charles Joseph Computer Science      Virtual tour of Historic St. Mary's City

144481 Nichols, Keith Andrew      Computer Science   Meta-communicating with instant messaging
 87594 Norris, Jennifer Lynne   Computer Science   Creating a virtual St. Mary‟s College of Maryland
                                                   and Historic St. Mary‟s City circa 1685

 95643 Orazem, Geoffrey Bryon Computer Science     Research engine

 94838 Parker, Alicia Marie     Computer Science   SMC osprey nest of information

 94974 Paulding, Clayton Yates Computer Science    Automated music generator

152837 Reitinger, Eric Emerson Computer Science    Database with Palm syncronization

 95631 Ringer, Patricia Anne    Computer Science   Software engineering and PSP (personal
                                                   software process)
 94619 Ruhl, Brian Christopher   Computer Science   Defining a new Internet language

 95588 Seltrecht, Kim Rae        Computer Science   Topics in data mining

138812 Senner, John Patrick      Computer Science   Inductive logic programming with Zendo

 94966 Single, Stacey Lyn        Computer Science   Class scheduling database

 94507 Smith, Gregory Scot       Computer Science   What is steganography? : an overview of the
                                                    world of steganography

 74446 Smith, Kevin Thomas       Computer Science   Creating geospecific 3-dimensional databases for
                                                    real-time visual simulations
223851 Soussov, Yuri          Computer Science   High performance computing : a comparison of
                                                 OpenMP, MPI, and distributed computing

 95664 Stevenson, Craig       Computer Science   ProofWorx : a pedagogical tool for proof
                                                 designed using object oriented techniques

220606 Stonebraker, Gareth    Computer Science   Inferno : the Virgil redux

 95079 Thompson, Daniel       Computer Science   Design of intelligent go player

 95128 Torgerson, Jesse       Computer Science   Creating a Java program for a weekly update

 94621 Travatello, Jennifer   Computer Science   Applying the software development process to
       Michelle                                  create a database for the St. Mary‟s County
                                                 Office on Aging
192520 Turner, Steven F.       Computer Science    Inexpensive robotics platform for autonomous
                                                   mapping and genetic algorithm integration

198738 Whiteford, Brooks       Computer Science    Portable radio station interface device

145289 Whitesell, David William Computer Science   St. Mary's project

 94832 Young, Samuel           Computer Science    Fundamentals and practice of software metrics

164810 Ballew, Joshua Thomas Mathematics           Mathematically modeling tsunamis

 76083 Beanland, Kevin James Mathematics           Four dimensional regular polytopes
207608 Brady, Katherine Helen   Mathematics   Hensel's Lemma

 74963 Butler, Bonnie Nicole    Mathematics   Exploring Geometer‟s Sketchpad

147894 Byrne, Lisa Dawn         Mathematics   Magic squares and elliptic curves

 94695 Cavanaugh, Timothy       Mathematics   SMC math web : an interactive approach to math
       Kevin                                  and computer science

147011 Clewell, David Lloyd     Mathematics   Wave equation and the violin string

 95656 Courtney, Rachel         Mathematics   Diffusive properties of the probability density of
       Katherine                              the Gaussian wave packet
     95432 Creager, Kimberly Rey    Mathematics   Interactive cyber-course in financial mathematics

94819;     Culp, Clayton Williams; Mathematics    Design, construction, and function of a sculling
94438      Wasser, Jamie Stephen                  skiff

    186923 Fao, Angela Lynn         Mathematics   Automatic scaling of garment patterns

     94750 Glaude, Felecia D.       Mathematics   Felecia's algebra tutorial [website]

    207834 Hargraves, Elizabeth     Mathematics   Friendly introduction to LC-quasigroups

    166779 Hildreth, Kendra Leigh   Mathematics   Overcoming math anxiety on a middle school
139396 Hilmar, Jan Laurenz    Mathematics   Rational points on elliptic curves : finding a lower
       Valentin                             bound on the rank of certain classes of elliptic

157735 Huntemann, Tabitha     Mathematics   Simple method of parameter estimation for the
       Lind                                 left-truncated normal distribution and its use for
                                            ensemble quantitative precipitation forecasts

112860 Kasprzak, John B.      Mathematics   Fun math projects for a rainy day

 94769 Lloyd, Kara Michelle   Mathematics   Answers to some problems in probability

149248 Lo, Peter Kwok Kuen    Mathematics   Effect of using mathematics activities on
                                            students‟ interest in and attitude toward

177387 McKenna, Joseph        Mathematics   Regular polytopes and symmetry
 94990 Parent, Jami Elizabeth   Mathematics   Effects of teaching style on math anxiety and
                                              math performance in middle school students

 95066 Pollard, Amy Jean        Mathematics   2D graphics of differential equations

123299 Roinestad, Kristine A.   Mathematics   Connectivity of Julia sets of cubic polynomials

120244 Scarborough, Sara        Mathematics   Assisting the Introduction to Advanced
                                              Mathematics class

 95454 Shelton, Megan           Mathematics   Implementation of the math standards in lessons
                                              for the math student

130619 Sprinkle, Elizabeth Rose Mathematics   Math of population dynamics
 94552 Steurer, Aliza Anne     Mathematics   Linear algebraic properties of semi-magic

 95736 Tiderman, Laura Lou     Mathematics   Exploring Fibonacci

 94281 Vignati, Aimee Jewell   Mathematics   Exploration of symmetry

 80737 Wagner, Amber Jean      Mathematics   Non-periodic tiling

141723 Whieldon, Gwyneth       Mathematics   Recusion formulas for paths of length 2 on (q+1)-
       Rose                                  regular trees

 95135 Wilson, Kenya           Mathematics   Using ethnomathematics to create multicultural
                                             lesson plans
85282 Zablotny, Vannah   Mathematics   Fourier series and sound

[no abstract]

In this paper, I present a brief overview of how stereoscopic vision works and what my SMP robot is capable of. Included in
this is a very brief overview of the history of autonomous robotics. An explanation edge detection and visual disparity is also
included as they are both fundamental parts of a stereovision robot. A comparative is made between stereovision and its
alternatives. Descriptions of my robot, as well as the program architecture are given.

In recent decades, the field of artificial intelligence has covered much research in the area of computer translation. However,
little or no AI-related research has been done with the less mainstream languages. In particular, for various reasons many
African cultures are without access to computer translation. This sometimes hinders their progress in a globalized world, as
they are more susceptible to exclusion from translation efforts. The aim of my project is to provide a machine translator for
the English and Yoruba languages that would be beneficial as a pacesetter for other West African languages in
computational linguistics. In this paper, I provide some background information on Yoruba linguistics and its relevance to the
development of the translator. I also summarize the process behind the construction of the translator, discuss the scope of
its accuracy, and provide suggestions for future research and further expansion of the translator.

In evolutionary computation, principles of selection and evolution are applied to competing populations of algorithms. The
individual's "genotype" is thus a representation of an algorithm, which is expressed as a behavior in its environment. A
number of different representations for the genotype have been used in other experiments. In order for adaptation to be
flexible, this representation must effectively accommodate heritable mutations in a space that produces viable genotypes;
also, in the case of crossover, it would appear ideal for cohesive parts of the genotype to be traded. We propose a "modular
boolean logic network" representation, allowing for mutation and crossover of nested and recurring "modules" of
interconnected boolean functions, and explore the effects of varied levels of "modularity" in these networks. The networks
are employed as controllers in a 2-dimensional game of pursuit and evasion between simulated agents.

The purpose of this program is to: Generate and output the set of LR(0) items for the user-defined grammar (which is taken
as input), generate and output a parse table for the user-defined grammar, generate and output a first set and follow set for
each of the non-terminals in the user-defined grammar, parse a machine-generated input string according to the user-
defined grammar in order to determine if the input string is a member of the user-defined grammar, and to generate and
output intermediate code (in the form of quadruples) for the machine-generated input string according to user-defined
semantic routines. Note: The input string mentioned in (4) and (5) above, and (2) below must have undergone lexical
analysis, and must be of the appropriate form (the exact form will be discussed later). It does not necessarily have to be
machine-generated, although a compiler could perform this task for the user.

The paired domination problem was first introduced by Haynes and Slater in 1998. In this version of the domination problem,
for each vertex that is added to the dominating set, an adjacent vertex is also added and is designated as a backup. We say
that a set is a paired dominating one if it is a dominating set where the induced subgraph contains at least one perfect
matching (a matching of size n/2). Self-stabilization provides a framework for solving the paired domination problem despite
a changing graph. This paper describes a self-stabilizing algorithm for finding a minimal paired dominating set using a serial
Database use has grown immensely in the past decade and is expected to continue at an unprecedented rate. Some
historians have defined our time as the computer or internet age, however I would like to hypothesize that today can be
defined as a subset likened to a database age. The following consists of an investigation and overview of contemporary
database topics. These topics include distributed databases, database security, data warehousing, and the object oriented
database model.

The St. Mary‟s Project (SMP) is a collaborative project between myself and Ben Gould to create a model/experiment of our
new ideas in the realm of real-time multiplayer computer gaming and networking applications. This paper will cover my
research and prior knowledge of real-time multiplayer computer gaming as well as extensively explaining the background of
the field and why research in this field is important to real-time multiplayer computer gaming. After the background
information, the paper will give a full description of the design of our model and go into depth about all the components in our
design from the graphical user interface to the algorithms that drive the program. It will also cover the contribution that our
design would make to the field and any future work that could be done to expand the model and the design of these kinds of
algorithms. My own personal contributions will be explained and the reasoning behind working as a two person team will also
be justified. Finally, a conclusion will wrap up the paper to highlight the importance of the SMP.
[abstract not available]

We have created a 2-dimensional impartial combinatorial game, Drone, to explore various game properties compared to
other popular one-dimensional games such as Nim and Kayles. Drone is played on a hexagonal lattice where each player
has a choice of three moves on his turn. We have created a program to determine the Grundy values of interesting game
positions, specifically position patterns such as strands, rings, and propellers. The Grundy value of each game position tells
us if the game position is a first player winning position or a first player losing position. After investigating these patterns we
encountered run-time hindrances which leave us many opportunities to further our research.

[no abstract]

The project evolved from a desire to work with Maya, a three dimensional computer graphics modeling and animation
program made by Alias-Wavefront. For a long time I have been interested in the world of computer graphics, modeling, and
animation. Despite my interest in wanting to create a three dimensional short film, I realized time and my resources
available made this a non-workable idea. My advisor, Dr. Simon Read helped work my idea into a useable St. Mary‟s Project.
We decided that I would teach myself Maya, and would formulate everything I learned into a teaching module for his
computer graphics class. I had already taken the class, and while I had enjoyed it, I had mourned the lack of a hands-on
modeling program to show us what we were learning. Maya is a perfect tool to show this, as it is very powerful, reliable, and
When one thinks of the term, “scholarly interest,” and the term, “Rock, Paper, Scissors,” one does not usually associate the
two. On the contrary, the game of “Rock, Paper, Scissors (RPS),” is usually thought of as a simple kids‟ game. Usually it is
not played with an overall strategy. Have you ever started playing a game or two with a friend and thought at the beginning,
“I‟m gonna throw Rock, Rock, and then throw in a Paper and completely blow them away?” I don‟t think anyone has ever
played like that. Though I don‟t believe people intentionally play the game with patterns in mind, I do believe they play with
patterns. Everything that humans do is through patterns and routine. When we look at word and mathematical problems,
we look for patterns that might give us a clue as to how to solve them. Pattern searching is innate in human nature. It is my
hypothesis that humans will play RPS with unconscious patterns and favoritism, and that this can be exploited by analyzing
the data taken from the games they play. [from report]
[no abstract]

[no abstract]

One of the hottest current trends in computer science is that of creating WebApps, or applications that are interactive with or
accessible through the World Wide Web. Using software such as Maya and Macromedia Director, it is possible to create
detailed scenes containing buildings, landscapes, sky, etc. and to publish these scenes to the Web to capitalize on this
trend. There is great potential for economic and aesthetic uses for such projects, especially for an organization like St.
Mary‟s College. For my SMP, I have created a virtual scene containing a representation of the yet to be built new boathouse
and its surrounding area. This project has been a long and arduous process, but overall has proved an invaluable learning
experience. In this paper, I will be sharing my experiences, trials, and tribulations incurred while working on the virtual
boathouse for approximately the past year.

Go playing programs have been around since the late 1960s yet to this day none is able to play at the level of a competent
professional player. While other games such as chess and backgammon have been conquered, go remains a challenge to
developers. The purpose of this project is to study the effects of training on learning algorithms in Go.

The goal of this project is to create a Java program, called Virtual Feng-Shui, capable of intelligently placing items of
furniture into a standard sized St. Mary‟s College dorm room. The purpose of the program is to quickly provide users with a
series of floor plans to introduce new ideas and provide them with greater insight for organizing their own room. Pen and
paper methods for planning a room can be slow and limited, while Virtual Feng-Shui can transform a small number of user
preferences into a number of fully fleshed room layouts. These user preferences are the rules, or constraints, the program
uses to determine the validity of any given furniture placement. The program follows a backtracking algorithm to assign a
placement for every item in accordance to the user‟s list of rules. The final output of the program is a graphical display of a
virtual room, where the user can browse through the highest quality room arrangements. (EFC) is an e-commerce website which sells various products for students who live away form
home. The products vary from bath towels to desk lamps. The idea of the site was to put everything students need to live on
their own in one place. The site is based on a text style database, which contains all of the information on all of the products.
Each product has a product number, category, name, price, quantity in stock, and description. When a user first visits the
website he/she is asked to pick a department in which they would like to shop. EFC then searches the database to find all
the products that match that department request. The next page displays all the products that are in that department. Based
on the product‟s picture, price and description the customer can pick an item they‟d like to add to their shopping cart. Next
the customer is asked to select how many of that product they‟d like. Once they have selected the quantity EFC again
searches the database to make sure that there is enough in stock to complete the order. If there is not then the customer is
This paper describes the process and philosophy that was used to design and program a computer chess program for my
final senior project. It explores the features, design, and algorithms used in the program. Also, I will mention the alternatives
that were discarded during and the motivation for doing so. The limitations will be discussed as well as possible solutions to
be explored for correcting them in the future. A basic knowledge of chess and C programming is assumed throughout this

This … was created to combine my academic and recreational interests. It has allowed me to gain experience with many
different pieces of software. The needs of the project sent me out looking for new software. I spent many hours, and many
pots of coffee completing this project. I hope in the future, the knowledge contained on this disc will be used by new players
to grasp the basic concepts of the sport. Rugby is an extremely complex sport. I have been playing rugby for 5 years, and
still learn something new on the field every day. It is this accumulation of knowledge, coupled with dedication, that allows a
player to grow …. For digital video and still image editing, I used the following software: Xara 3D, Adobe Premiere, Windows
Movie Maker, Adobe Photoshop, TMPGEnc, ACDSee PowerPack, DVD2AVI, Camtasia Studio. For web design, I used
HTML and Java … I found that TextPad is a very useful text editing program. It recognized and annotates a variety of
programming languages. Microsoft FrontPage was handy to graphically design what would otherwise have taken countless
This paper is a post-mortem report on my computer science St. Mary‟s Project. The basic premise of our project was
basically to develop a new network architecture and algorithms to increase the scalability of real time strategy video games.
In this paper, I will first examine the background, and appeal of writing a real time strategy game; as well as its appealing
network demand (in that it is a network intensive game genre); explaining the development of our ideas and plans in relation
to some of the literature we reviewed. I will then examine the process of our project development, including detailed
examinations of the particularly complex aspects; mostly from the perspective of the server, as this was my focus in the
project. Next, I will discuss the outcomes of our project thus far; conclusions, new ideas, etc. Finally, I will give some
explanation of what I think the next step in the project would have been, had we had more time to develop the project (as
almost every computer science project is forever a work in progress).
For my [project], I wanted to investigate the idea of an online interactive system. That is an environment in which one or
many users can interact with each other or with some form of artificial intelligence unit. One of the most widely used online
interactive systems is a massively multi-player online game. This is a game in which an incredibly large number of players
can all interact in some game-world. In order to learn more about this and to increase my knowledge of online systems, I
designed and implemented my own multi-player game. It was a very simple game: it was all text-based although designed in
a way that it can be upgraded to graphics; players could only interact through spoken words and through pre-coded actions
that they could trigger with some text-command; and the artificial intelligence units were only as advanced as I was able to
make them while handling all other aspects of the game. But regardless of how simple the game system was, it did allow me
to identify three essential components fields for a successful online game and in effect, a successful online interactive
The objectives of this project are to investigate multi-user online interactive systems. Online interactive systems are one of
the fastest growing areas of computer today. The next logical step for the internet is going from the world of 2-dimensional
web pages to a 3-dimensional interactive world in which users do not just read the content but can interact with the site using
3-dimensional rendering software. At St. Mary‟s College of Maryland for instance a team is already developing a virtual
reality campus; combined with our research on interactive systems this software could include an artificially intelligent tour-
guide. There could be a kiosk application of the software allowing visitors to the campus with the help of the kiosk‟s
interactive AI attendant to generate the shortest distance to their destination and then show them on the 3-dimensional map.
This software could be included in packets to prospective students allowing them to receive a tour guided by an AI escort;
this escort could even cater to the interests of the student or used on an admissions web page. [from paper]
This St. Mary‟s Project (SMP) was done in conjunction with a team of students lead by Kevin Smith. Kevin‟s 2002 SMP
involved the construction of a virtual St. Mary‟s College (SMC) campus using computer flight simulation software. The college
recognized the potential for future improvements to Kevin‟s work. A team of students was formed to implement additional
functionality. My area of responsibility was to implement computer sound into the simulation. The sound was intended to
make the virtual flight through St. Mary‟s College more realistic by playing sounds recorded on campus. [from introduction]

Are you willing to write software that would be used to kill? Is it wrong to “borrow” your neighbor‟s unprotected WiFi
connection? These are just two of several topics students explored in our Introduction to Computer Science course. Typical
Introduction to Computer Science courses teach theory and programming but don‟t have the students explore the reasons
they choose to study, and eventually apply Computer Science. Their exposure to these topics is a worthwhile venture. Our
research involved comparing three methods to expose students to some of the current issues in Computer Science and
encourage them to research and form an opinion on each weekly topic. At the end of each week they share their opinions
and the class discusses the topic. Each method offers a different approach to exposure and preparation for the weekly
discussion. A “classic” paper method has the students perform research and then turn in their opinions on paper. Another
approach uses online forums. The students post their opinions early enough that their peers can review them before the end
My project was to develop a light weight mobile device application with one purpose in mind. The idea for my project came
from my own lack of good short term memory. When ever I would be introduced to somebody I would forget their name
almost immediately. With mobile devices becoming more and more prevalent in our every day lives and becoming more
powerful with each new generation; I set out to make an application that would help me with my short term memory
problems. The idea is that since almost every phone has Bluetooth on it I wanted to harness this power to share information
between people‟s phones. On each phone a person would create a profile for their phone. This profile would only contain the
person‟s name and a picture that they choose. The picture would be one they select out of all the pictures currently
contained on the person‟s phone. Although the person is instructed to select a picture of them selves there is no way of
enforcing that. If the person doesn‟t select a picture of themselves it will defeat the purpose of my application and you will
Tetris is a widely-popular game that has taken many different forms throughout the years. By just visiting the official site of
Tetris,, one can find several versions of the game, and with some searching online, there are version with
different size blocks, different scoring systems, and even 3D versions. Behind this seemingly simple and addicting game is a
very complicated history and many mathematical implications. This paper will attempt to at least address several aspects of
the Tetris game, as well as an implementation of 3d Tetris using Java. Firstly, the complexity of Tetris can be measured, in a
sense. Thus, one can approximate the difficulty of Tetris when restricting the game play and when shifting the game into 3D.
Secondly, one can surmise from the existing theories on Tetris, how the complexity of the game changes when the game
pieces change and how in reality, Tetris is a complex game overall.

This paper examines a recursive function that has been the object of much analysis. It has been proposed, but not proven,
that the function under study will always produce an answer of one. As a result, many mathematicians have attempted to
prove that the function is solvable. This paper also discusses some aspects of recursive function theory and logic in order to
give some background for the study of this function. The function‟s behavior is observed and certain attributes are reported.
This paper seeks to explore the function and its behavior using induction.

My SMP was to develop a viewer application that can render an OpenFlight database on a Windows machine. The "Virtual St
Marys College" directory contains the viewer application, support libraries, support files and the OpenFlight database of the
college. The "Documents" directory contains the documentation on how install, run and use the viewer application. It also
contains notes on who else was involved in the project. Furthermore, my report on the work I've done on the viewer
application and suggested improvements for those who wish to use my project as basis for theirs is included in this directory.
The "MFC 7" directory contains additional libraries that the viewer may require. The "Source" directory contains a copy of the
latest version of the viewer application and copies of the libraries used to make the application. The directory also includes
notes on where to find instructions on how to install the libraries and compile the source. [from ReadMe.txt]
This project's goal is to help you understand the inner workings of your PC and to give you the option of putting one together
yourself so you can have a PC that performs exactly the way you want it to perform and you will save money in the process.
If you wish to use the Buyers Guides, please have an active internet connection, as there are links to web sites with prices
on components. It is recommended that you consult all of the manuals that come with your hardware before you attempt to
begin building your own PC. This guide is a general approach to building a PC, the hardware you buy will have specific
guidelines for installation. [from cd_index.htm]

P.U.L.S.E.: Project Universal Life Simulation Engine is at its core, an original creation devised to be a highly adaptable
simulation tool. P.U.L.S.E. is a “system” of complex rules and algorithms, meant to represent numerically physical, mental,
and social capabilities of living beings. This system is primarily meant for use in resolving small-scale scenarios, hence its
initial application as the backbone to an original role-playing game, “The Tome of Esirilia.” “The Tome of Esirilia,” is a fantasy
themed role-playing game that utilizes the features of the P.U.L.S.E. system. Because of the P.U.L.S.E. system‟s design, it is
quite adaptable, and can in theory be modified and tailored to any role-playing or real life simulation setting. P.U.L.S.E while
primarily designed for small-scale simulation does not exclude large-scale simulation. Mass combat scenarios are entirely
possible to simulate with the P.U.L.S.E. system, and such simulations could be run at high speeds in a computer program
given the integration of the concepts of the combat rule set in the program‟s code. P.U.L.S.E. is the culmination of four hard
[no abstract]

At Historic St. Mary‟s City, a public museum recreating life in Maryland‟s first capital, there is some research being conducted
on the historical use of herbs. The idea for the Searchable Herb Database grew out of a discussion as to whether or not it
would be possible to index this research electronically in order to facilitate searching. The searchable herb database is an
attempt to provide a means of gathering the researched information into a central location, thus allowing for easy indexing,
storage and retrieval of the data. The searchable herb database was implemented using separate components: an SQL
database server, a graphical user interface, and an interface between the SQL database server and the GUI. Furthermore,
in implementing the database, every effort was made to achieve three goals: leveraging preexisting code and software
whenever possible, extensibility, and cross-platform operation. Open source software was used throughout the project in
order to cut down on the amount of code that must be written and tested from scratch. In addition, the graphical user
[abstract not available]

This paper is designated to be informative and instructional. It familiarizes the reader with the problems that small to medium
size companies face when attempting to establish an organized (and documented) software development process. After
analyzing various data sources, including new processes designed for smaller companies, the author comes up with a
practical methodology that may aid smaller companies in establishing their software process development policies and
suggest measures to be taken in order to increase the maturity of the process.
While computer science and industry is pushing towards the next technology and progression, it is also important to look
towards new applications of technology that is already around. For example, the United States Army has begun using current
computer game engines for tactical training. A few new ideas needed to be applied, but for the most part what they needed
was out there in various different places. Another application is current graphics technology and historical records. An
important aspect of historical understanding is in visualization of concepts. This is true especially in a teaching atmosphere.
To give a person the ability to see something for himself, as opposed to reading text descriptions or two dimensional
drawings, can greatly enhance the understanding. This has always been done to an extent. For example, Historic St. Mary‟s
City, a Southern Maryland Historical Site, is building replicas of many of the buildings that were initially there. This helps
visitors get a sense of what is was like to be in and around these buildings, but even a large scale project such as that has its
[abstract not available]

My project is a scriptable virus removal engine developed using Flex and Bison. It is designed to provide a simple interface
for technical professionals without programming experience to easily develop portable solutions to removing viruses. The
project involved unifying the linux tools of Flex and Bison with the Microsoft Windows API, and has the capability to delete
malicious files, folders, registry keys, and registry values. The tool is broken down into 3 major components, the lexical
parser generated by Flex, the grammar specified by and generated by Bison, and the abstract syntax tree written in C++.
The lexical parser scans the input for patterns and passes the matching tokens to Bison, which processes them based upon
their context in the grammar. It in turn builds the abstract syntax tree, which is finally traversed at the end of the read to
execute the instructions provided by the script.

My St. Mary‟s project began in the spring of 2003 with a two credit semester. During this semester I was introduced to the
world of 3d modeling and data-basing. I joined the team of computer science majors that were working on the “Virtual St.
Mary‟s Project.” This consisted of a very large database and 3d rendering platform that took on the task of presenting the
entire SMCM campus in a virtual world. I was responsible for finding and creating all the buildings that were not yet in the
database. This job meant spending hours immersed in the model, and then wandering through campus trying to spot the
differences. I developed a thorough list and began to hone my new modeling skill using Creator. This is a utility that was
designed for 3d modeling of mainly architectural shapes, and so was well suited for the task. As the semester continued I
learned how to accurately texture and light models with the help of Kevin Smith, the original creator of the virtual SMP. He
showed me how to add new models to the existing database using Terra Vista software and make the integration flow with
The world of interactive computer graphics is incredibly broad, and upon first glance infinitely complex. When one is
designing and programming an interactive project, such as a game, there are many different areas that need attention.
Building and drawing the graphical objects, dealing with creating cameras, user input, and creating sound are but a handful
of the areas that need to be dealt with. The goal of this St. Mary‟s Project (SMP) is to provide a set of tutorials for Computer
Science majors to help introduce them to the world of interactive computer graphics, and specifically to making interactive 3-
D computer games. The tutorials include three components: the eight videos which provide an overview of the concept for
that section, the source code for each of the eight projects, and a written accompaniment, including the script for the videos,
which goes into more detail on the eight sections. [from introduction]

The SimpleGen System allows for the creation of computer programs without explicit knowledge of programming languages.
This release allows for the limited creation of programs in the C++ programming language. A PowerPoint presentation is
included on this CD-ROM describing the architecture of the software. A README file is included describing how to start the
In our project, a genetic algorithm was created to perform pathfinding for a robot in order for it to find its way through a set of
obstacles to a specified goal. Traditional pathfinding algorithms such as A* can be computationally intensive but generate
optimal paths, a feature not needed for this project. A set of robots demonstrating predator-prey dynamics was the original
goal of the project, so less than optimal and more natural appearing paths were desired over perfect and rigid ones. The
algorithm developed produces correct and generally near optimal paths, though future work will include efforts to make
optimal outcomes more certain especially when dealing with complex obstacles.

To upgrade to Novell NetWare 5.0 or to convert to Microsoft Windows NT 4.0 is a large and complex decision for the St.
Mary‟s College staff and administrators. This decision cannot be made in haste, due to the complex issues of faculty, staff,
and student dependencies on the St. Mary‟s College network. In this paper, I compare and contrast the Novell NetWare 5.0
(released earlier this year) network operating system with the Microsoft Windows NT 4.0 network operating system. Until
recently, NT seemed like the obvious intranet route, but shipment delays and performance problems are allowing other
options back into the picture. When I started this project in January 1998, I would have definitely been an advocate of
converting the SMCM Local Area Network over to the Microsoft Windows NT 4.0 network operating system. However, since
the release of Novell NetWare 5.0 in September 1998, I would now choose upgrading the existing Novell NetWare 4.0 to the
Novell NetWare 5.0 network operating system. My opinions for the best network operating system are solely based on the
In this paper, we look at the problem of controlling multiple robots. It is a field that has been widely studied and has many
open problems, but primarily our concern is with utilizing a multi-touch interface to allow a user to control multiple robots.
Specifically, we are looking at the possibility of using off the shelf products to downsize the multi-touch controller such that
the entire system can portable, and thus more practical as a tool. Ideally we are looking to provide a framework to further
explore the variety of interesting open problems that a multitouch multi-robot system will pose.

This paper introduces a selection of popular Windows graphical user interface (GUI) design solutions. How these solutions
are used and the positive and negative aspects of each will be discussed. This paper proposes an alternative solution, which
uses design patterns to overcome many of the complications and problems associated with using the existing Windows GUI
methodologies. Analysis of specific design patterns and their application to this alternative solution are presented in the form
of a case study.

My project was to model the town of Historic St. Mary's City during the time period of 1685. The goal was to create a virtual
tour of the town using many different technologies. Working with the representatives from Historic and past team members I
plan to create the city in its entirety. Modeling in Alias Wavefront Maya is no easy task to say the least. It is and always will
be a pain to make walls/windows/door/frames line up exactly. This is most present in the early builds of the "generic" building
for our historic database. To start modeling in Maya is not as easy as it might sound. The learning curve associated with this
software is and always will be an uphill battle. To start out with making simple structures in Maya it is often a good idea to
model something that actually exists. This is how the first couple of weeks of the project went, bringing in everyday items and
developing to basic set of skills required to tackle a city wide project. After the initial shock, modeling in Maya went relatively
smoothly. I believe that I actually modeled up to 5 buildings with the program. [from introduction]
SMP-Bot is the proof of concept for a service to allow for anonymous chat communication between Prospective and Current
Students at various institutions. This communication occurs chiefly over the AOL Instant Messaging (AIM) protocol which is
commonly used by many students. After signing up for the service a prospective student may choose from a list of schools to
find students who are currently enrolled and available for chatting. Every User is given a handle to use for the service so
users are able to maintain their anonymity, and still be able to contact the same user on another occasion. While using the
service there are various commands they are able to initiate by typing in the chat window. Messages that are not commands
are forwarded to the user they are currently chatting with. The bot is able to maintain many conversations at one time. The
design of the project is divided up into three parts: the bot, the database, and the web interface. The bot is an AIM robot that
is written in PERL. PERL is commonly used in web programming because of its text processing capabilities, but it is also a
The idea for this St. Mary‟s Project is a continuation of a previous project started by Kevin Smith. In the Fall of 2002 a team
of students were put together as a St. Mary‟s Project team to expand and continue with the idea of a Virtual St. Mary‟s
College of Maryland. The initial idea for the project stemmed from the development of flight simulators for the Navy at the
Naval Air Systems Command, in Patuxent River, Maryland. The database is different from those used in simulators in that it
has a much more local focus and does not cover such a large area. However, this allows us to densely populate the
database with a number of cultural features. In other words, more buildings, trees, fences, boats, etc.… When first beginning
work on the Virtual St. Mary‟s Campus and project team, there was a huge learning curve. This meant spending time
watching and learning as more work was done to complete the Virtual Campus, and also taking on tasks to learn the
software and exactly how to create a model. After creating a few sample buildings and some training sessions with Kevin
My research engine is similar to a search engine like Yahoo! or Ask Jeeves. The difference is that my engine would sacrifice
speed for depth. The user would enter a query through a form that resembles an outline. The engine then uses a series of
search engines and the library research utilities to gather articles and web-sites. The engine sorts the articles and text from
the sites and places them into files that correspond to the outline topics. The sorting process would be based on natural
language identification both to determine the validity and how to organize it. However search engines are only able to find
around 20% of the relevant sites out there. To find more of the information available the engine will use the links found in
profitable sites and examine them as well, treating them as though they had been brought up by the engine originally. The
engine will also try to weed out “impostor” sites. By impostor I mean sites that are pornographic, vendors, or any site that
has included key words that are misleading. It will use lists of checked sites to ensure that a single site is not visited
The object of this project was to create a message board that anyone with Internet access could utilize. There are no
membership fees involved, nor are there signup procedures. Anyone who so desires can post a message by simply typing in
a name, a subject, and then the message. The point of this project was to learn to code in PERL and utilize HTML to my
advantage for formatting and pretty printing techniques. Finally, in order to interact with the Internet, I had to learn about
Common Gateway Interface (cgi), how it worked, and how to utilize it. My server used was on a LINUX platform, which
required learning basic commands. [from introduction]

The goal of my Saint Mary‟s Project was to create a computer program that could write music dynamically based on criteria
the user entered. These songs could then be recorded and saved for later playback. I had several reasons for choosing
such a project. First, I hoped to expand my programming skills with a project that was fairly large in size and performed a
non-trivial task. Second, I hoped to learn a new programming language, specifically Java, because this will expand my skill
set. Third, I wanted to write a program with a GUI (Graphical User Interface) because this is something I had never done
before and it would be a useful experience for future programming. Lastly, I wanted to do something creative, something a
little different. The Automated Music Generator fulfilled all of these requirements. [from report]

I competed in track for most of my high school career. During those years, I would try to keep track of all of my results for
every event from every meet. The coaches tried to keep track and store them for future reference. I thought it would be
easier to have a program where the coaches could input the information into a database to store it permanently, making it
easy to pull specific information should they need to or if a team member asks for a report of their times. Along those lines, I
figured that the coaches hate carrying around a folder of papers finding times that they need at a moments notice. Why not
the data move over to a PDA so the information could be found in a few seconds? Data could be pulled to help the coaches
make quick decisions when they needed too. I made this a basic model with few features but this does allow for
expandability for future use. In order to do a basic database program on the desktop, a few pieces of software are needed. I
needed a database program, which I decided to use MySQL server, a language to create the GUI and interact with the
The purpose of this St. Mary's project is to explore programming using Software Engineering practices and the Personal
Software Process (PSP) defined by the Software Engineering Institute (SEI). The Software Engineering practices will be
defined further in this introduction and PSP will be defined in further writings included in the project. This project concerns
two different programs to calculate Huffman encoding of designated inputs. Since two different approaches were used, one
functional and the other object oriented, I was able to track my progress using the PSP to verify the Software Engineering
principles used. The requirements for the programs are contained in a single document with the only difference between the
programs being the implementation.
I spent the first half of my project teaching myself the XML markup language, and some of the languages it has defined. I
learned how XML works, when it should be used, and the benefits of using it, amongst other things. Then using XML, I
developed a very small language. The tags that I added to the language modified the presentation of certain pages within a
site, all of which had a static style enforced upon them by a styling language. While there are benefits to having a style
dynamically applied to all the pages of a site, I allowed for the unique styling of certain pages for two reasons. First, it helped
me to learn more about XML and what can be done with it. Second, I realized that a developer does not always want a style
to be defined throughout the entire site. Using XML, XML-RPC and Manila, I defined the procedures that modify the
appearance of the page. The first procedure modifies the headers on an individual page in a site. The second procedure
modifies the style on an individual page in site. I used an XML-RPC debugger to add headers and styles to a storage table,
This project was divided into two major phases: data mining research into methods and algorithms, and software
development using the data collecting during the research phase. Phase one was done during the Spring 99 semester and
included multiple research papers following my research. Phase two, to be completed during the Fall 99 semester, is a
continuation of research, ending in the development of software for the purpose data mining. Between phase one and two, I
required myself to learn Visual C++ in order to meet my final goal, learning to use an object oriented programming language.
The original project plan was to include learning LISP, but was changed shortly after the project began after I found few
benefits to using LISP and several for using Visual C++. Primary goals: introduction to the field of data mining to include a
study of algorithms currently being used in the field; software development using research; learn to use an object oriented
programming language.
Inductive Logic Programming (ILP) uses complete algorithms to arrive at a hypothesis that accurately states the definition of
a rule or concept in first order logic. Zendo, a game based on human induction, consists of an unknown rule and multiple
examples of instances that are known to follow the rule or not follow the rule. Experimenting with the HYPER hypothesis
refiner, my Saint Mary‟s Project defines background concepts and the structure of instances so that one can create a
number of positive and negative examples. PROLOG‟s recursive engine creates a tree of plausible hypotheses that explain
the rule until a „best‟ solution is found. Hypotheses that contain fewer and simpler terms are favored over others. The
program as it is presented will generally find the simplest possible rule that can be applied to example instances without
including any negative examples. Relational attributes, such as interactions between two objects within a given instance, can
also be considered thanks to the use of first-order logic. Given a randomly generated set of instances, the program will find a
This St. Mary‟s Project entailed building a database whose main purpose is to allow staff members to schedule rooms for
their classes each semester. A system such as this would be useful because it would allow professors to schedule their own
classes instead of having to funnel all information through one individual who performs the scheduling. This would ensure
that professors get the time slots they desire; if these are not available, no extra coordination with a scheduler is required to
make alternate plans. Professors can also check various pieces of information, such as the times a particular room is
occupied, to help determine the constraints on their classes before they attempt to schedule them. Having this advance
knowledge will make scheduling faster and easier. This system is designed to be multi-user, and as such could be adapted
into a web-based application. Professors could then log into the system from their office computers to schedule their
classes. If this system were updated with information for the entire campus, this would also allow professors to schedule
What is Steganography? This is a question that I have been asked every time I tell people what I am researching. I tell them
that it basically means that we take a message or something meant to transfer data, and we hide it inside of something else.
It is all the details that make the subject confusing. When it (steganography) started out it was not nearly as involved as it
has become in the new information age.

Virtual SMCM is a 3-dimensional model of St. Mary's College of Maryland as it exists today. The database utilizes
geospecific imagery and correlated vector data to place 3-dimensional features very accurately upon a detailed terrain skin.
Unlike the extraordinarily detailed landscapes you might find in computer-rendered films, this database can be traversed in
real-time. Whereas it may take overnight to render a scene for Hollywood, the database is redrawn at 60fps, fast enough to
make any lag unnoticeable to the naked eye. The buildings and other 3-dimensional features, including trees, light posts, etc.
were created in MultiGen Creator, a modeling tool heavily utilized in real-time database development. The database was
assembled using Terrex TerraVista, a comprehensive tool that simplifies the integration of all the database components
including: elevation data, raster imagery, vectors, models, and textures. Specific sources from this database include Digital
Terrain Elevation Data (DTED), Digital Feature Analysis Data (DFAD), Digital Orthographic Quarter Quadrant (DOQQ)
With multiprocessor hardware becoming more common and affordable, it is important to understand different approaches to
implementing High Performance Computing (HPC) software. This paper considers three of the most common HPC
architectures. Considered are Shared Memory, Message Passing, and Distributed architectures. First, the history of each
architecture is given. Then, a comparison of the most popular implementations for every architecture is included, with an
analysis of the difficulty in converting existing code to utilize each system. Following this, the runtime performance increases
are given for variable amounts of computing resources. The paper concludes with a discussion of potential future research

Historically, the concept of mathematical proof has been difficult for both, students to grasp and professors to teach.
ProofWorx is a pedagogical tool that is intended to help professors teach the concept of proof as well as students grasp the
concept easier.

When I originally proposed to design and create “Inferno,” I described it as “The world and characters of a video game… (As)
my own interpretation… of (Dante‟s) vision of Hell and its Nine Circles.” What has evolved is an amalgamation of an entirely
creative story, with particular parts of the action acted out by the player through the game. The story is several dozen pages
in length and chronicles the accidental fall of a warrior of Heaven into the Inferno. It documents its interactions with a guide
and several of the souls, and its eventual escape. The interactive portion is solely combat-centric. In it, the player assumes
the role of the fallen angel itself. The player guides the angel through several of the circles — not all of them, because not
every part of the journey necessarily lends itself to combat — and one or two non-circle combat areas. Interspersed between
the action sequences are bits of the story, presented as reading, to help explain what‟s going on. For anyone who has played
video games in the past decade, this “Story Mode” format will be very recognizable. [from introduction]
[abstract not available]

This project consists of a group of programs that send information in a manner resembling web page forms. The purpose of
this project is to provide a method to get messages to those that need them, without flooding people with useless
information. The users are put into groups based on the kind of information they need. Users can belong to multiple groups.
Then messages are directed to the appropriate groups. The program is written in Java. Java was chosen because it is easy
to use with the web, because it simplifies remote communication and it provides Applets. Basically Applets are programs
that can run on web pages. A Java Applet creates a form that gives people a menu of groups to send the message to, a
spot to fill in their name, and a text area to write the message. The server program receives the message and makes sure
everyone in the groups it is directed to will receive the message. At some point a systems administrator will run an applet
that will cause the server program to write the updates to files. Updates can be viewed by going to the web address where
For this project, I worked with the Director of the Office on Aging in order to build a database in a customer/developer type of
scenario. Documents were written to accompany the software lifecycle phases, including a Requirements Specification, a
Design Document, and a Test Plan. The purpose of the actual database is to keep track of basic client contact information,
the services they request, assessments that are carried out by the St. Mary‟s County Health Department, the Department of
Human Resources, and the DelMarVa Foundation to determine whether a client is eligible to receive services, the plan of
care for eligible clients as determined by the Maryland Department of Aging, the services that are provided, the providers,
the case managers, and the administrative costs for the Office on Aging. In addition to tracking this information, the database
allows the user to add, edit, and delete client information as well as print reports of specified administrative costs. A
culminating essay discusses the phases of the project, points out advantages and disadvantages of working to satisfy a
Genetic algorithms represent an efficient means of autonomous path planning with highly dynamic paths. Typically, in an
undergraduate environment, cost constraints limit researchers to computer-based simulations of agent behavior when
implementing aforementioned complex systems. This paper aims to investigate the design and implementation of low cost
robotics hardware and software, as an addition to simulation and their applications to a capable mobile wireless development
platform, accessible to students with accurate motion planning and inexpensive sensing. The final goal of this project is to
model predator-prey dynamics with low cost agents, but future work is necessary for complete analysis.

The original focus of this St. Mary‟s project was to create an “all-in-one” device that provides the ability to broadcast an audio
stream to a remote server from anywhere on the internet. This functionality is already available on standard personal
computers; however a small “all-in-one” package does not yet exist. In its practical use, this device provides a radio station
with the ability to perform a broadcast from a remote location using a standard internet connection. Since internet
connectivity is easy to attain in many locations, the HawkCaster will make excellent use of existing infrastructure …. This
project is deeply founded in my personal convictions for the advancement of educational radio, and it‟s presence in
educational institutions at all levels. The HawkCaster device is designed to simplify the concept of remote broadcasting for
radio stations, while the Great Mills High School installation will provide students with a new educational opportunity for years
to come. It is without question that I will continue my ventures in providing opportunities such as these to students of all
[no abstract]

This study explores the possible relationship between module functional cohesion and source code entities such as global
variables, development time, and faults. In the past, determining functional cohesion was subjective and rated on a non-
numeric ordinal system. The ordinal rating system has made evaluating source code cohesion with other coding entities and
attributes empirically impossible and meaningless. Today, new metric research in source code cohesion has provided a new
objective method of measuring the most desirable form of cohesion, functional cohesion. “Slice Abstraction,” a standardized
group of metrics developed at the University of Colorado and Michigan, can now be used to empirically determine objectively
the degree to which a module is functionally cohesive. This case study is an attempt at using this new technique in helping
the computer science community to better understand cohesive code quality in relation to other source code attributes and
entities while possibly giving a new perspective on code quality.
Tsunamis are powerful ocean waves caused primarily by disturbances on the sea floor. These waves can be devastating, as
seen in the tsunamis that struck various areas of the Indian Ocean basin on 26 December 2004. In order to better
understand tsunamis and make better predictions about their strengths and speeds, mathematicians are devising models to
simulate the behavior of tsunamis. Derivation and analysis of these models involves knowledge of the physics of fluids.
Solutions for tsunami behavior have been analyzed for deep water and shallow water, and involve the use of the Laplace
equation and KdV equation. This paper examines the conditions imposed by the physics of the situation for tsunami behavior
in the transition zone at or near the continental slope.

As with the fourth dimension in general, the 4-dimensional regular polytopes tend to be hard to imagine with our dimensional
limitations, but through building 3-dimensional projections we are able to get an understanding of what is occuring at the root
of all of the mathematical computations. The symmetry present in these regular polytopes is a good represenation of how
different types of mathematics, each with there individual complexities, can be used to describe solids and properties of
solids that one couldn't possibly infer intuitively. [from conclusion]
[no abstract]

My St. Mary‟s Project was based on software called The Geometer‟s Sketchpad. I learned the software and created
geometry lesson plans including the application of the software. I then designed a workshop that consisted of video, a power
point presentation and hands on training. I presented this workshop at two schools in the Calvert County school system to in-
service teachers. The teachers filled out evaluation forms regarding the workshop so that I could have feedback.

Do the points of order dividing n on an elliptic curve form a magic square? Do the elements of Zn x Zn form a magic square?
These two questions are equivalent, and this paper seeks to answer the second question in order to answer the first. For n
odd and n divisible by four this paper contains algorithms proven to generate magic squares of order n. For n even but not
divisible by four, this paper contains a method for forming magic squares of order n and provides some examples. We also
discuss the background material in magic squares and elliptic curves needed to approach these questions. Finally, our
exposition concludes with the concrete example of a magic square of order four with entries in the group of points of order
dividing four on the elliptic curve y2 = x3 + 4x.

For my St. Mary's Project I have created an interactive web site, devoted to introducing users to interesting problems in
Mathematics and Computer Science. In this site I explore several topics in the two fields. I give a background for the
problems as well as programs for the users to use as tools in order to solve the problems. I also have created games that
give the user the opportunity to see mathematical algorithms at work. This web site delves into topics such as shortest path
problems, block tiling, Langton's Ant, and the N-queens problem. For each topic I have created one to three programs that
let the users learn about, explore, solve, and have fun with the subject. For each program, I have given the user a pop-up
"help" dialog box and an "about" box that goes deeper into the problem and the way that program works. One goal of this
project was to take all of this functionality and place it into a user-friendly environment that can be accessed all around the
world. I have accomplished this goal in the form of an easy to use, graphically pleasing web site. Now anyone with an
In the 18th century, one of the most important mathematical problems was solving the wave equation. D'Alembert derived
and studied the equation in 1746, followed by other famous mathematicians including Euler, Bernoulli, and Lagrange. The
wave equation is a partial differential equation (PDE) which includes the speed of the wave [Bo]. We will solve the wave
equation in detail, including an explanation of the eigenfunctions and eigenvalues. We will relate these eigenfunctions to the
overtones of a violin. We will then relate these overtones to harmonics. We will then begin to explore the motion of a bowed
string, called Helmholtz Motion, and its visual representation. We start with Fourier Series to understand of the wave
equation proof techniques. [introduction]

Diffusion properties of the probability density of the Gaussian wave packet are investigated. The study suggests that the
packet should have an extra quantum mechanical energy due to its random oscillation about its‟ classical trajectory.
I have created an interactive website designed to make connections between mathematics and the stock market. It provides
the necessary mathematical and finance background needed to study option pricing and teaches the foundations of option
pricing, including the random walk theory, the Martingale model, Ito's Lemma, and the Black-Scholes model. Throughout the
website, there are problems to solve as well as solutions. There are links to further explanations of terms and concepts that
may be unfamiliar. The site will be posted to the St. Mary's College Mathematics Department web page, but it can also be
accessed on this disk ....

This project … came from the idea that a St. Mary‟s Project should apply discipline to the real world. We wanted to create
something tangible that was relevant to our lives. As members of the crew club, mathematics majors, and having an interest
in education, we decided to design and build a sculling skiff. With the help of students from Great Mills High School and the
plans for a one-man sculling skiff we facilitated the design and construction of a two-man sculling skiff. We lengthened the
boat by dividing it into sections, portion ally lengthening each section, and making no adjustments to the width. We tested
the boat‟s buoyancy by first constructing a scale model (1/6 th of the actual size) and then determining proportional weights to
test the model with. All aspects of the model were successful in testing. From here we began to construct the boat. In
addition to the rowing shell, we also handcrafted four sculling oars and two sliding seat packages. The construction took six
months, lots of work, energy, and financial support, as well as a great deal of collaboration. During this process we consulted
A common problem in clothes today is their lack of customized fittings. The first step in solving this problem is the person
sewing his or her own clothes. However, even if the person buys a pattern and follows the directions word for word, the
garment sewn still may not fit. A perfect fit requires the sewing pattern to be sized exactly for the person wearing the
garment. Creating this perfect fit is difficult and time consuming to do by hand and, if a mistake is made, is difficult to
readjust. However, with the right directions (code), a computer can draw the perfect pattern faster and easier as well as
offering the option to adjust the pattern with a few keystrokes.

The webpage that I‟ve designed is called Felecia‟s Algebra Tutorial. Felecia‟s Algebra Tutorial covers the most important
parts of general math, pre-algebra, and algebra skills that middle school students will need to know in the future. When
making this page, I had to take into consideration who will be reading it, mainly middle school students. So, I tried to make it
as fun as possible. I will teach the techniques that I used when I took algebra. Those techniques earned me my pre-algebra
and algebra awards. Sometimes, following a math book can be very difficult. This page was created so there will be better
approaches to math problems.

A quasigroup is a set along with a closed binary operation that has unique inverses but is not necessarily associative, and a
loop is a quasigroup with an identity element. To better understand the structure of quasigroups, we consider identities that
are weaker than the associative law, called Bol-Moufang identities. In this research project, I consider LC-loops and LC-
quasigroups. An LC-loop is a loop that satisfies the Bol-Moufang identity: xx ∙ yz = (x ∙ xy)z, for all x, y and z. This identity is
equivalent, in loops, to each of the following three identities: x (x ∙ yz) = (x ∙ xy)z, x (x ∙ yz) = (xx ∙ y)z and x (y ∙ yz) = (x ∙ yy) z.
In quasigroups, however, each of those four identities defines a different variety of quasigroup, namely the LC1-, LC2-, LC3-,
and LC4-quasigroups, repectively. We explore certain subsets of these loops and quasigroups generated using the Bol-
Moufang identities, determine if they are subquasigroups, and test if they are normal.

Students in middle school are at a critical point in learning mathematics; they are transitioning from learning the process of
mathematics to applying the process in more complex situations. Math classes rapidly become more abstract as the student
progresses through school. It is not uncommon for middle school students to believe that any success in mathematics is
because of luck, but attribute failure to lack of ability or stupidity. By looking at the early signals that could evolve into
mathematics anxiety, we were able to use interventions to possibly prevent the development of anxiety that could hinder
learning. This study isolated and began interventions to alleviate mathematics anxiety with a small sample of middle school
students. A group of students was given a survey at the beginning and the end of an eight-week period. Another small
sample of students was interviewed about their history with mathematics, and a math biography was written. Based on these
student‟s needs, a personalized intervention plan was created to help alleviate their anxiety. The students who participated in
[abstract not available]

The left-truncated normal (LTN) distribution has useful properties for modeling the probability distribution of precipitation
forecasts made by ensembles. This is particularly true if its parameters can be easily estimated. The resulting fit must be
shown to be close to that found in the ensembles. In this St. Mary‟s Project, a simple parameter estimation method is derived
by using a geometrical approximation to the parent normal distribution. The parameter estimation method is applied to
artificial data having LTN distributions with known specified parameters. The estimation method closely reproduces the
known parameters. The parameter estimation method is then applied to ensemble distributions to assess goodness of fit of
the LTN distribution to distributions from the ensembles. A comparison of probability estimates using the LTN distribution and
relative frequencies from an ensemble with observed precipitation is also made to see if the smoothing effect of the LTN
improves probabilistic forecasts.
This project was designed to supplement the secondary school mathematics curriculum. Many times in education classes,
students discuss enrichment exercises. However, it does not seem that these exercises are included very often in an
educator‟s lesson plans, and so, many students become bored with the subject. In my experience as a math major at St.
Mary‟s, I have encountered many ideas that can be made very hands on and interactive, but at the same time remain
mathematical. I hope that by introducing students to these concepts in a way that they can understand and have fun with,
students will be excited about the mathematics that they encounter in the future. Every lesson plan included within this paper
is completely accessible to all middle and high school mathematics students. Included in my project are ideas that range
from infinity to algebraic topology and a discussion of the true nature of mathematics. Every lesson plan includes suggested
grade levels, a list of necessary materials, a discussion of how to set the project up for the class, and most importantly
[abstract not available]

With the reform in mathematics education, researchers and teachers are constantly searching for new ways to motivate and
interest students in the subject. My St. Mary‟s Project examines this topic by investigating possible activities and instructional
strategies that can increase students‟ interest in mathematics or promote a positive attitude toward the subject. Throughout
the school year, I volunteered in an after school program and engaged students in various mathematical or logical activities.
Although the change in interest and attitude is minimal, the activities made some changes in students‟ perception of the
subject, and both the students and I had an exciting time together as we explored the various math concepts.

[no abstract]
The purpose of this project was to see if two different teaching styles, student-centered and teacher-centered, had an effect
on math anxiety and math performance. The student-centered classroom had many hands on and guided discovery activities
while the teacher-centered was lecture based. The results of the study show that math anxiety decreased more among
students in the second class (student centered) while math performance was higher in the first class (teacher centered).
These results indicate that a combination of both teaching styles would be the most beneficial for the majority of students.

I have written a computer program that graphs specific examples of first order ordinary differential equations. My program
has been written in C/C++ with gtk and OpenGL libraries to draw the lines and create buttons, sliders, etc. It was written on
an SGI with a Unix operating system. The purpose of my program is to study the behavior of first order ordinary differential
equations. It has the capability to draw the direction fiels, to draw a line through any point, and to draw a specific set of up to
thirty solution curves. Graphically, I can change the bounds of the domain and range of the graph shown, I can zoom in and
zoom out, and I can change the color of the solution curves, background, and direction fields. I can also increase the width
of the lines and increase the size of the window. I can also show the tangent line moving along the solution curve to see how
the behavior of the specific solution curve changes as the value for x increases. Expanding this capability to drawing the
tangent line moving along all thirty of the set number of solution curves also shows how the behavior of the solution changes
[abstract not available]

Faculty members of the mathematics department wrote a book for the Introduction to Mathematics class during the summer
of 1997. My project entailed the writing of a solutions manual for this book. I began this project with the intention of achieving
a greater understanding of the concepts taught in the class. The book that I was to write a solutions manual for includes the
following subjects: logic, set theory, construction of the number systems, and group theory. In the spring of 1998, after
having read the book thoroughly and attended the Introduction to Advanced Mathematics classes, I felt better prepared to
begin finalizing the solutions to the problems that I had been working on in the fall of 1997. The project is a complete set of
the solutions to the first three chapters of the book. These solutions are derived from my interactions with several students
from the class, from suggestions by my mentors, from my own work, and from research. An additional aspect of my project
was to incorporate my solutions into the text of the book. To do this I had to learn a mathematical typesetting program called
As a future teacher, it is important to understand the knowledge the student should have when he/she enters my classroom,
know what the student is expected to retain when he/she leaves my classroom, and how this knowledge can be applied in
the student‟s daily life. My St. Mary‟s Project is an introduction to the Principles and Standards in Mathematics Teaching. I
have relied on Principles and Standards for School Mathematics published by the National Council of Teachers of
Mathematics as my primary source of information. Most states base their curriculum on these principles and standards, in
order to apply cohesiveness in mathematics teaching throughout the United States. Included in this project is an overview of
the six principles and ten standards. The lessons focus on Geometry and were prepared in response to Methods classes I
took in for my teacher certification. The objectives address the applicable standards and are from the benchmarks published
by St. Mary‟s County Public Schools in Maryland. [from introduction]
Mathematical models are an important tool in understanding population dynamics. Models can be used to describe single
populations or interacting populations such as the relationship between predator and prey. They can be very helpful in
studying both the causes of population changes as well as the effect that those changes have on a population. Additionally,
once it is shown that a certain model can be used to describe a particular population or ecological system, that same model
can then be very useful in studying and understanding other similar systems. Perhaps one of the most important applications
of population modeling is in studying extinction rates. Mathematical models allow us to use current population data to predict
the future of a population which is currently endangered. We can use modeling to estimate how much longer the population
can survive at its current level of pressure. (This pressure might include interspecific and intraspecific competition, predation,
habitat destruction, poaching or hunting by humans, and much more.) Furthermore, we can estimate at what level of
[no abstract]

The objective of my project was to expose middle school students to a mathematical concept that they can readily identify in
the natural world. I divided the overall project into three stages: (1) Exploration of patterns and sequences, (2) Discovery of
the Fibonacci sequence, and (3) Identification of the Fibonacci sequence in the natural world. During the course of
implementation I learned that ability level was not related to the level of motivation displayed and that giving concrete
examples was more affective than mathematical explanation. [from introduction]

We have explored symmetry in a number of different areas: math, physics, nature, art, and architecture. While most people
believe that symmetry is solely bilateral symmetry, we have shown that it is much more. We have watched the definition
expand to include beauty, harmony, and proportion. Starting with the basic definition of bilateral symmetry, we altered it to
include transformations that resulted in an image identical to the initial state. The definition then grew to encompass
congruencies and similarities, so that an image was viewed to be symmetrical to its initial state if the shape and/or size was
preserved. Again, the definition was altered slightly, this time to be applied to the physical laws of nature. When we viewed
symmetry in art and architecture, the focus was directed to proportion, balance, and harmony rather than perfect bilateral
symmetry. This is because broken symmetry is considered to be more appealing and interesting. However, the repetition of
the same proportions illustrates translational symmetry. [from conclusion]
Although the art of tiling has been thoroughly researched for centuries, the science of tiling has only recently become of
interest to mathematicians. Much work has been done on periodic tilings in the past few centuries, and this paper will review
the major information about periodic tilings, including tilings by regular polygons, tilings by polyominoes, tilings by rep-tiles,
and tilings by irregular polygons. Until the 1960‟s, mathematicians believed that there was no such thing as a set of prototiles
that would make only non-periodic tilings. However, following the discovery of an aperiodic set of more than 20,000 Wang
tiles, the field of non-periodic tiling exploded with discovery. The history of Robinson tiles, Ammann tiles, Wang tiles, and
most importantly, Penrose tiles will be discussed. Major characteristics of the Penrose tilings will be reviewed. Finally, the
recent crystallographic discoveries that have been linked to Penrose tilings will be explained.

[abstract not available]

This paper serves a few important purposes. First, I wanted to show that there is a need for ethnomathematics to be studied
and to be taught. This is shown by reviewing the definitions of mathematics of mathematics and culture. Then
ethnomathematics was defined and I analyzed research that had already been done on the subject. In showing that there is
a need for this subject to be studied, I proved that mathematics is not completely Eurocentric. This was done by looking at
different aspects of African American Culture from a mathematical perspective. It was discovered that mathematics was
influenced by a large part of African American Culture and other non European cultures. The implications of this information
are amazing. With today‟s classroom moving towards more of a multicultural curriculum, this new information will serve a
very important purpose. Ethnomathematics will allow instructors to teach an accurate history of mathematics.
Ethnomathematics will give students and teachers something to relate to. This subject will enhance students‟ interest in the
There are several ways to approximate functions in mathematics. Power series, Taylor series, and Fourier series are well-
known methods. Power series use a succession of derivatives to obtain the coefficients. Taylor series require the function
to be differentiable because each term contains a derivative. This is problematic for many periodic functions because they
are not continuous or differentiable. Fourier series can approximate both continuous and discontinuous functions and they
can approximate functions with sharp corners in their graph. Fourier Series use terms of sines and cosines to approximate
periodic functions. Fourier transforms can approximate non-periodic functions by expanding the period of the Fourier series
to infinity. Fourier Series can be found in physics problems involving vibrations and oscillations like the tuning fork,
pendulum, sound/water waves, heat conduction, light, and AC circuits. There are several occurrences of Fourier Series in
sound. Musical notes are made up of an infinite sum of sine and cosine terms, each representing a harmonic. For stringed
        Mentor      Date yyyy-mm   Language        Format        Award
                                    (blank =
Oh, Andrew D.       2000-05                    diskette/MS

Read, Simon         2005-05                    CD-R/MS
                                               Word/18200 KB

Malita, Mihaela     2002-05                    CD-R/MS
                                               Word/22130 KB

Read, Simon         2005-05                    audio CD-R/7030

Hunter, Scott B.    1999-12                    diskette/MS
                                               Word/126 KB

Jamieson, Alan C.   2010-05                    CD-R/MS
                                               Word/805 KB
Washel, Patricia L.   2000-05   diskette/MS
                                Word/173 KB

Jamieson, Alan C.     2009-05   CD-R/MS
                                Word/390 KB

Hunter, Scott B.      1999-05   diskette/MS
                                Word/1050 KB

Burke, Matthew M.     2006-05   CD-R/MS
                                Word/619 KB

Washel, Patricia L.   2000-05   CD-R/html/5530

Read, Simon           2004-05   CD-RW/MS
                                Word/309000 KB
Washel, Patricia L.    2002-05   CD-R/MS
                                 Word/5800 KB

Washel, Patricia L.    2002-05   diskette/C++/31

Hunter, Scott B.       1999-05   diskette/MS
                                 Word 97/111 KB

Sterling, Ivan         2004-05   CD-R/MS
                                 Word/58800 KB

Jamieson, Lindsay H.   2010-05   CD-R/pdf/149 KB

Read, Simon            2006-05   CD-R/MS Word
Hunter, Scott B.    2001-05   diskette/MS
                              Word/259 KB

Hunter, Scott B.    1999-05   diskette/MS
                              Word/752 KB

Malita, Mihaela     2002-12   CD-R/699000 KB

Jamieson, Alan C.   2009-05   CD-R/pdf/755 KB

Read, Simon         2004-05   diskette/MS
                              Word/29 KB

Read, Simon         2005-05   CD-R/2720 KB
Sterling, Ivan     2003-05   CD-R/MS
                             Word/56100 KB

Read, Simon        2007-05   CD-R/MS

Read, Simon        2009-05   CD-R/MS
                             Word/30 KB

Read, Simon        2007-05   CD-R/MS
                             Word/107 KB

Cook, Phyllis D.   2000-05   diskette/MS
                             Word/196 KB

Sterling, Ivan     2003-05   CD-R/MS         Geneva Boone
                             Word/186000     2003
                             KB/13 p.
Malita, Mihaela       2003-05   CD-R/html/7460

Burke, Matthew M.     2005-05   CD-R/MS
                                Word/2761 KB

Hunter, Scott B.      2000-12   diskette/C++/117
                                0 KB

Sterling, Ivan        2002-12   CD-R/MS
                                Word/31400 KB

Read, Simon           2004-05   CD-R/pdf/1980

Washel, Patricia L.   2001-05   CD-R/MS
                                Word/210 KB
Sterling, Ivan        2004-05   CD-R/MS
                                KB/7 p. summary

Washel, Patricia L.   2002-05

Read, Simon           2007-05   CD-R/MS
                                Word/478 KB

Sterling, Ivan        2004-05   CD-R/MS
                                KB/4 p. summary

Sterling, Ivan        2008-05   CD-R/DVD-R

Hunter, Scott B.      2001-05   CD-R/32400 KB
Jamieson, Alan C.   2009-05   CD-R/pdf/259 KB

Hunter, Scott B.    1998-12   diskette/MS
                              Word 97/50.5 KB

Jamieson, Alan C.   2010-05   CD-R/pdf/191 KB

Burke, Matthew M.   2004-12   CD-R/pdf/17800

Sterling, Ivan      2004-05   CD-R/MS
                              Word/7 p.

Burke, Matthew M.   2005-05   CD-R/see disk
Sterling, Ivan        2003-05   CD-R/MS
                                KB/9 p.

Hunter, Scott B.      2000-05   diskette

Hunter, Scott B.      2001-05   diskette/MS
                                Word/1360 KB

Washel, Patricia L.   2001-05   diskette/MS
                                Word/91 KB

Burke, Matthew M.     2006-05   CD-R/MS
                                Word/271 KB

Washel, Patricia L.   2000-05   diskette/MS
                                Word/47 KB
Hunter, Scott B.      2000-05   diskette/MS
                                Word/144 KB

Hunter, Scott B.      1999-05   diskette/MS
                                Word/175 KB

Burke, Matthew M.     2005-05   diskette/text/23

Hunter, Scott B.      2000-12   diskette/MS
                                Word/7500 KB

Washel, Patricia L.   2002-05   diskette/MS
                                Word/475 KB

Sterling, Ivan        2003-05   CD-                Geneva Boone
                                R/pdf/171000       2003
                                KB/15 p.
Jamieson, Alan C.   2010-05   CD-R/MS
                              Word/166 KB

Read, Simon         2003-05   CD-R/MS
                              Word/48800 KB

Jamieson, Alan C.   2009-05   CD-R/MS
                              Word/133 KB

Hunter, Scott B.    1999-12

Hunter, Scott B.    1999-05   diskette/MS
                              Word/84 KB

Hunter, Scott B.    2000-05   diskette/MS
                              Word/874 KB/27
Jamieson, Alan C.     2009-05   CD-R/pdf/16.9

Sterling, Ivan        2008-05   CD-R/pdf/81 KB

Read, Simon           2007-05   CD-R/16.4 MB

Washel, Patricia L.   2000-05   diskette/MS
                                Word/298 KB

Socha, Katherine S.   2007-05   CD-R/MS
                                Word/181 KB

Kung, David T.        2002-05   diskette/text/55
Goldstine, Susan     2009-05   CD-R/pdf/155 KB

Johnson, Angela C.   2003-05   diskette/MS
                               Word/233 KB

Goldstine, Susan     2006-05   CD-R/pdf/267 KB

Tanton, James S.     1999-05   diskette/MS
                               Word/20 KB +

Kung, David T.       2006-05   CD-R/pdf/1.73

Mita, Katsunori      2001-05   diskette/MS
                               Word/737 KB
Robb, Raymond E.       1999-05   diskette/MS
                                 Word/24 KB +

Strickland, Susan R.   2001-05   CD-R/MS           Geneva Boone
                                 Word/73 KB/19     NSM 2001

Socha, Katherine S.    2007-05   CD-R/MS
                                 Word/861 KB

Strickland, Susan R.   1999-05   diskette/MS
                                 Word/883 KB

Goldstine, Susan       2008-05   CD-R/pdf/401 KB

Kung, David T.         2007-05   CD-R/MS
                                 Word/229 KB
Rosson, Holly J.     2004-05    diskette/pdf/288

Burke, Matthew M.    2006-05    CD-R/MS
                                Word/2477 KB

Tanton, James S.     1998-05    56 p.

Qazi, Fozia S.       1998-12    diskette/dvi/53

Kung, David T.       2006-05    CD-R/MS
                                Word/386 KB

Meadows, Alexander M. 2008-05   CD-R/pdf/1.16
Strickland, Susan R.   1998-05   82 p.

Sterling, Ivan         2001-05   diskette/MS
                                 Word/162 KB

Kung, David T.         2004-05   CD-R/pdf/17292

Stark, Richard K.      1998-05   44 p.

Strickland, Susan R.   2001-05   CD-R/MS
                                 Word/6375 KB

Burke, Matthew M.      2004-05   CD-R/MS
                                 Word/4641 KB
Strickland, Susan R.   2000-05   diskette/MS
                                 Word/160 KB

Qazi, Fozia S.         2002-05   diskette/MS
                                 Word/1210 KB

Stark, Richard K.      2001-05   diskette/MS
                                 Word/18700 KB

Stark, Richard K.      2003-05   zip disk/MS
                                 KB/54 p.

Rosson, Holly J.       2004-05   CD-R/pdf/4480

Ford, Iris C.          2002-05   diskette/MS
                                 Word/1010 KB
Qazi, Fozia S.   2002-12   diskett/dvi/100
                      Notes                Release form
                                         blank=not on file


Release: "Without restriction, except    C
redistribution of executable program."



Cannot read disk.











Release: "Please ask me first."   C


Release: "That I give verbal permission upon     C


Release: "Please get written permission before   C
using this for anything. Email is fine."

Project is not in Archives.


Release: "Express permission request."   C




Release: "Identifying info removed."   C


See N drive for .pdf (188 KB).   Y
Cannot open folder.






Project is not in Archives.


Release: "Not-for-profit."   C




Release: "Cannot be used without contacting   C

See N drive for .pdf (264 KB).                Y




Cannot read disk.



Release: "Ask my permission each time someone C
wants to see it."



Cannot open file.   Y

To top