Ideas for St. Mary's Projects



SMP Idea

Proposed by:

Dr. Simon Read's List

Prof. Simon Read

Acronym Generator

Prof. Matthew Burke

Agent-based Modeling

Prof. Matthew Burke

AOLserver/Annotea integration

Prof. Matthew Burke

Arimaa

Prof. Matthew Burke

Combinatorial Games Programs

Prof. Matthew Burke

Computers and New Literary Forms

Prof. Matthew Burke

Four Dimensional (and greater) Regular Solids

Prof. David Kung

Game Description Language

Prof. Matthew Burke

Geometry and Computer Graphics

Prof. Ivan Sterling

Geonotes

Prof. Matthew Burke

Go

Prof. Matthew Burke

Go Recorder

Prof. Matthew Burke

Havannah

Prof. Matthew Burke

Invasion Biology in the Plant Kingdom

Prof. Matthew Burke

Managing Trivia

Prof. Matthew Burke

Mathematical Biology

Prof. Matthew Burke

Monte Carlo Control Panel

Prof. Matthew Burke

Multi-point Synchronization

Prof. Matthew Burke

Music Box Explorer

Prof. Matthew Burke

North Atlantic Right Whales

Prof. Matthew Burke

OACS and dotLRN

Prof. Matthew Burke

OACS/Eprints integration

Prof. Matthew Burke

Open Problems in Combinatorial Games

Prof. Matthew Burke

PDA Cellular Automata Simulator

Prof. Matthew Burke

Ramsey Theory

Prof. Matthew Burke

Reminder Profiles

Prof. Matthew Burke

Rivendell

Prof. Matthew Burke

Ruby Annotation

Prof. Matthew Burke

Scientific Visualization

Prof. Matthew Burke

SMP Database

Prof. Matthew Burke

Timeslices

Prof. Matthew Burke

Virtual Board

Prof. Matthew Burke

Virtual St. Mary’s

Prof. Ivan Sterling

Wavelets and Image Compression

Prof. David Kung

Web-based Bookmarks with Smart Classification

Prof. Matthew Burke

Wave Animation

Prof. Katherine Socha


Proposed by Prof. Matthew Burke

Timeslices

I was in the archaeology museum in Heraklion on the isle of Crete looking at a particularly interesting piece of early Cycladic pottery and I wanted to know what did the contemporary pottery in Japan look like? Or in North America? Really, true story. Would I make this up?

Where were there telegraphs in 1878? What did population density look like in 14 BCE? I'd like an animation of the boundaries of the Roman Empire from the time of Augustus to the time of Justinian. And throw in the other major political contemporaries (oh, but who were the political contemporaries of the Roman Empire? Give me a list.). Let me choose the color scheme.

Your mission, should you choose to accept it, is to design and implement tools so that I can explore history in as flexible a manner as possible from the comforts of my computer desk in my study. This relates to the Scientific Visualization (SV) project, but it's not the way one typically thinks of SV.

(top)

Agent-based Modeling

Traditionally modeling in areas such as population biology, economics, traffic simulation relies on properties of the collection of objects. For example, population biology models deal with quantities such as the total population and as a modeler your task is to try and describe how that quantity changes over time by looking at average birth and death rates and the factors that influence those rates.

Agent-based modeling, however, starts with the individual entity. The premise is that if you accurately model how the individual behaves and then simulate a (large) number of individuals, the properties of the system as a whole will emerge from the simulation. The reason agent-based modeling is a potentially powerful and exciting technique is that it is often easier to empirically determine properties of individuals than it is to elucidate the mechanisms that determine system-level phenomena.

The tremendous increase in computational power available enables us to be more ambitious about the size of the populations we can model with agent-based modeling techniques. Alternatively more computing power gives us the ability to simulate individual behavior in more detail.

Two possible projects that could be used as testbeds to explore agent-based modeling techniques are how invasive plants manage to colonize new territory (see the Invasive Plants project listed below or simulating the entire population of North Atlantic Right Whales (see the Right Whales project).

(top)

Managing Trivia

How much of your hard drive would be used up if you didn't delete any of your email for a year (both sent and received)? How many bytes to store the email addresses of everyone you've ever exchanged email with? Why delete todo items? After all, don't you think 10 years down the road you might want to be reminded that you called the exterminator on 3 Feb 2003? The fact is that hard drives are cheap enough that there is no point in deleting anything.

One reason for not keeping all this information around is that there aren't good tools for managing and navigating hordes of trivial dribs and drabs of information. Perhaps a more important question is what would you do with all these bits if you did keep them around? Are there any implications for historical or social science research in having this sort of information available?

Take a look at the Factoid project to spark your thinking.

(top)

Game Description Language

Design a language for describing the rules for 2-player abstract games (a game description language or GDL). Several already exist, of which the language used in Zillions of Games is arguably the most powerful. But they all have flaws IMNSHO.

(top)

Virtual Board

It would be nice to have on hand the equipment necessary to play a wide variety of games without having to lug around a steamer trunk of pieces, boards, etc. One solution to this problem is a laptop or PDA with a program such as Zillions of Games. That's not a satisfactory solution because many game players find more enjoyment in moving physical pieces than in clicking a mouse.

I envision a set of shogi piece-shaped tokens with a simple CPU, a 256x256 pixel LCD screen, and BlueTooth. The board would consist of a tablet-style PC also with BlueTooth. When a user selected the game she wants to play, the piece tokens would automatically be configured via the BlueTooth connection to display an appropriate image to represent the various game pieces. As a bonus, design the system so that pieces flash red if you attempt to move them illegally (you'll probably need a GDL to accomplish this).

(top)

Computers and New Literary Forms

The rise of computers and the internet has led to new forms of literary expression and literary cleverness such as hypertext narratives, interactive fiction, blogs, google-whacking, and wikis. Further, it has been suggested that the amplification of our ability to find like-minded individuals and to track down obscure information has led to a resurgence of interest in puns, collective nouns and other forms of word play.

Are these new literary forms really new? If so, are current methods of literary analysis adequate for discussing these new works? Is there really an increase in interest in words and word play? How might we go about answering these questions?

(top)

Ruby Annotation

"Ruby" are short runs of text alongside the base text, typically used in East Asian documents to indicate pronunciation or to provide a short annotation. Develop software that extends web server-client content negotiation so that the server modifies the outgoing resource to include ruby annotations if the client requests them.

On a not-really-related note, the language Ruby is well-worth your becoming familiar with.

(top)

Reminder Profiles

Do you ignore those little stickers in the corner of your windshield reminding you when to get your oil changed? How often should you change the filter on your furnace? Do you remember to sharpen your lawn mower blades at the end of each fall (or at the beginning of each spring)?

Email reminder services are not new (see RemindMe --- sadly, the original aD version is no longer with us). A well-designed system, however, for periodically reminding you about a set of inter-related tasks (such as home maintenance) are sadly lacking. Are you up to the task of remedying this? Don't forget to base the data exchange on a well-established calendaring protocol such as vCalendar so that the reminders can automagically show up on my PDA.

(top)

Monte Carlo Control Panel

Monte Carlo simulations are a particularly powerful technique for studying a range of questions from risk analysis to calculation of values (such as the Buffon needle experiment to determine π). Organizing and running a Monte Carlo simulation can be challenging, particularly if you want to make use of a cluster or grid computer. The goal of this project is to design and implement software for flexibly managing Monte Carlo simulations.

(top)

PDA Cellular Automata Simulator

The goal of this project is to develop a flexible tool for running Cellular Automata on a PDA (PocketPC, PalmOS, or Linux-based). The initial step is to decide on a method for specifying the CA rules to be simulated---the two main choices are some sort of graphical means or the implementation of a CA rule language. The second step is to determine a means for specifying initial configurations, saving CA state and searching through saved configurations.

An additional goal, as time allows, is to study the efficacy of such a tool on any-time, any-place experimentation.

(top)

Multi-point Synchronization

Although there are many systems for keeping information synchronized between a PDA and a desk top computer, or between a desktop and a web server, these tools are still lacking in terms of ease of use, robustness and flexibility. In addition, tools for multi-point synchronization (i.e. syncing information between three or more sources) are still rather primitive.

SyncML might serve as a starting point for your research.

(top)

Rivendell

Rivendell is one of several ports of the TCL language to the PalmOS platform and is IMNSHO the most promising. It still has a ways to go but that presents you with an exciting opportunity to learn about language implementation and the PalmOS.

If you really can't get excited about TCL (shame on you) then there are a number of other languages just begging to be ported to PalmOS (Haskell, Icon, SETL, Brainf*, COBOL).

(top)

Music Box Explorer

Develop a system to design and simulate cylinders for music boxes. Either a GUI system or a domain-specific language for describing the cylinders. Also the component responsible for playing the tunes should allow for varying the tones assigned to each tooth.

(top)

Web-based Bookmarks with Smart Classification

Using one of the readily-available web-based bookmark systems (such as the OACS bookmarks module, or the Trean module from the Horde project) as a starting point, this project will investigate the feasibility of using knowledge management and document classification techniques to automatically categorize bookmarks according to user-specified criteria (both explicit and implicit).

A secondary goal of this project is to improve the usability of web-based bookmark systems mainly through UI improvements.

(top)

Acronym Generator

Many programs, projects, grant proposals, etc. are given names that are acronyms. Finding a good acronym for a project can be a difficult task. The purpose of this project is to develop a program that will read in a description of a project and suggest possible acronyms for the project's name.

As a final test, a description of the acronym generator will be used as input to the acronym generator, thus generating a good name for this SMP!

(top)

Scientific Visualization

Scientific Visualization is the field of research concerned with developing techniques for presenting large and/or multi-dimensional data sets in ways that facilitate our identifying patterns contained in the data.

(top)

SMP Database

The goal of this project is to develop a web-based database of SMP ideas and completed projects. Users will be able to search through ideas based on keywords, subject area, and name of proposer. Users can search through previous SMPs based on the same criteria as well as by year and name of implementor. The database of previous SMPs will at the least contain an abstract but will also contain the actual reports, code and other materials wherever possible.

(top)

OACS and dotLRN

The Open Architecture Community System (OACS) is a toolkit for developing web sites based on AOLserver and either Oracle or PostgreSQL, dotLRN, built on top of OACS, provides tools for building a community website geared towards an academic environment. While both of these toolkits are relatively mature they both still afford plenty of opportunity for learning about framework design and implementation. And both toolkits are in dire need for improved documentation.

If the general idea sounds appealing, but contributing to dotLRN doesn't give you sufficient egoboo, the dotWRK toolkit is in a much less mature state and is replete with opportunities to contribute. Also, see my for some ideas about a dotPLAY toolkit.

(top)

AOLserver/Annotea integration

If you've read this far, you've probably clued in to the fact that AOLserver is my favorite web server. Annotea is a project of the W3C relating to their vision of the semantic web. This project would involve designing and implementing an AOLserver module to allow AOLserver to function as an Annotea server.

(top)

OACS/Eprints integration

Eprints is a popular, open source system for making papers, articles, documentation available over the web. It would be interesting and useful to either extend or port the system so that it played nice with a community toolkit such as OACS.

(top)

Go Recorder

Although there are several PalmOS, PocketPC, etc. programs that allow one to record a game of Go, the more elegant solution would be to have a system that does it automatically (plus, I can never keep up with the pace at which good players play). One possibility is to modify a Go board so that it somehow records when plays are made. A neater and more flexible solution would be to devise a system based around a cheap PC camera. Lots of possibilities to dig into visual processing.

For the really motivated, add a robot arm to play back the recorded game.

(top)

Havannah

Christian Freeling has offered a prize of 1000 Euros for a program that can beat him 1 game in 10 at Havannah. Oh, you only have until 2012 to claim the prize.

(top)

Arimaa

Similarly, Omar and Aamir Syed are offering $10,000 USD for a program that can win a six-game match of Arimaa.

(top)

Go

Finally, don't forget there are a good number of prizes for a decent Go-playing program. And while Deep Blue can beat Kasparov with one CPU tied behind its back, the best computer Go program can't beat a good nine year old.

(top)

Geonotes

The idea behind GeoNotes (Digital Graffiti in Public Places) is to use wireless networking to attach information to physical locations. One project idea is to wire several locations on campus to support geonotes and study the impact on campus social interactions (of course, in addition to wiring several locations to support geonotes you would need to figure out how to equip a reasonable population of students, faculty and staff with the capability to read and write the notes).

This project relates to the Managing Trivia project described above.

(top)

Combinatorial Games Programs

There are many games described in Winning Ways for Your Mathematical Plays (the bible of Combinatorial Games Theory) that are just begging to be implemented. Additionally there are many possibilities for useful software tools that could be developed to assist researchers in studying combinatorial games.

See the Open Problems in CGT project.

(top)

Ramsey Theory

In brief: any large enough structure will necessarily contain an orderly substructure. For example, at any party with at least six people (so none of the ones I've ever thrown count) there has to be either three mutual acquaintances or three mutual strangers. Ramsey Theory has the distinction of having a proof that contains the largest number ever seriously proposed in a mathematical theorem (can you do a Google search and tell me who wrote the proof? Hint: at the time he worked at Bell Labs.).

Ramsey Theory, as well as many other graph-related topics, seems to be the kind of mathematics that is understandable to a nine-year old. Is it? Could you develop a curriculum module for third/fourth graders?

(top)

Open Problems in Combinatorial Games

Combinatorial Game Theory studies the mathematics of two-player games with no hidden information such as konane, chess or go. There are a number of open problems in the field that are accessible to undergraduates.

(top)

Mathematical Biology

Joel Cohen, Director of the Laboratory of Populations at Rockefeller and Columbia Universities, claims "Mathematics is Biology's next microscope, only better---Biology is Mathematics' next Physics, only better." From areas such as population biology to epidemiology to genetics, mathematics has played, and continues to play, an important role in biological research. If you are interested in any aspect of the relationship between these two fields, see me and I'm sure we can put together a worthwhile project. Some examples follow.

(top)

Invasion Biology in the Plant Kingdom

Alfred Crawley asks, "But what in heaven's name is the reason that the sun never set on the empire of the dandelion?" Why is it that Bromus tectorum rather than Bromus molus predominates in the Pacific Northwest? Did you realize that in some parts of the world, pine trees are considered pests? How did they become so?

These are questions for which it is difficult to design and implement experiments. Can mathematics give us the tools to learn the answers to these questions? More interested in programming than in proving theorems or solving differential equations? See the agent-based modeling project listed above.

(top)

North Atlantic Right Whales

There are less than 300 whales of the species Eubalaena glacialis despite decades of attempts to improve the population. One fact seriously hampering efforts to increase the population is the extreme lack of knowledge about how these creatures live their lives. Can mathematical tools such as the calculation of the fractal dimension of their movements give us insight into their daily lives and habits? More interested in programming than in proving theorems or solving differential equations? See the agent-based modeling project listed above.

(top)


Proposed by Prof. Ivan Sterling:

Geometry and Computer Graphics

Many properties of surfaces given by equations are subtle and difficult to analyze (or even notice) without seeing the actual surfaces.  Of particular interest are surfaces arising in classical geometry.  These are the simplest and most beautiful examples and they have been studied for hundreds of years.  There has been a huge resurgence of interest these surfaces due to their recently discovered connections with many fields of science, from blood cells to DNA to elementary particle physics.  For some nice pictures see http://www.smcm.edu/users/isterling/tof/ .

(top)

Virtual St. Mary’s

In the spring of 2002 Kevin Smith started a SMP which included raster imagery, elevation data, vector data, digital photographs, and 3-d models of the campus.  In the fall of 2002 three students joined Kevin and thus started the Virtual St Mary’s Team Project.  In the spring of 2003 four more students joined and thus a team of eight students were working on many aspects of virtual reality.  The team has had great success in securing nearly $40,000 in grants for top of the line computers, hardware and software.  Students are studying many rendering packages, creating visualization software, integrating interface modalities while expanding the project to include Historic St Mary’s City and “Future” St Mary’s City.  For more information see http://www.smcm.edu/nsm/MathCS/Projects/virtualcampus.html .

(top)


Proposed by Prof. David Kung:

Four Dimensional (and greater) Regular Solids

In three dimensions, there are only five regular solids (the tetrahedron, octahedron, cube, dodecahedron, and icosahedrons).  Each of these has both symmetry and rotation groups associated with it.  If we move to higher dimensions, how many regular solids are there?  What are the symmetry and rotation groups?  How can we picture higher-dimensional solids while living in a 3-D world?

(top)

Wavelets and Image Compression

Fourier analysis is based on the idea that functions can be represented as the sum of sine and cosine functions.  Over the last twenty years, mathematicians have taken this idea much further, writing functions as the sum of other classes of functions called wavelets.  These wavelet decompositions have been enormously successful in several areas of applications, notably signal processing.  All j-peg pictures on the internet are based on the mathematics of wavelets.  How exactly is this done?  What are the different types of wavelets and when is each appropriate?  How do changes in the mathematics affect changes in image quality?

(top)


Proposed by Prof. Katherine Socha:

Wave Animation

One idea I have for an SMP would require some one who is interested in computer graphics. I'm interested in having some one create animations of different kinds of wave motion. These animations should be somewhat quick to play on a website. The student would have to learn a little bit about the differential equations that govern wave behavior. (A plus: this work could become part of the SIAM whydomath website, which will count as "work accepted for publication on the SIAM website" or something like that. We're still working out the details.) Simon mentioned that he'd be willing to co-advise, since my CS/programming knowledge is pretty thin.

(top)