These examples should give you an idea of the kinds of things I've supervised in the past. Some of these now lie outside of my scope of interest, but I enjoyed them!
Dave Hall studied how one designs a neural network to solve a classification problem. He applied his ideas to the problem of identifying DNA base pairs from chemical analysis graphs.
Trevor Sheeley implemented a program that could construct and rebut legal arguments, using a technique called cased-based reasoning. He based his program on a well-known research program in the legal artificial intelligence.
Becky Lohr did a lengthy analysis of the role that intelligent agents could play in virtual reality simulation of an operating room. Such a simulation would be invaluable as an educational tool.
Scott Hendrickson implemented a web-based gradebook program using ColdFusion.
Scott Bevan implemented a software tool to select a development team for a software project. He read about and applied an AI technique called Sponsor-Selector to assemble teams based on user input of project charcteristics and a database of candidate profiles.
Peter Yezek implemented a cool web-based program interactive game.
Mike Blocksome implemented search mechanisms to make moves in the strategy game "Axis and Allies".
Kyle DeBrower wrote a program that uses AI techniques to play the game Mancala.
Kyle Clinton wrote a program that took spoken natural language inputs and interacted with his desktop calendar program.
Avery Regier implemented a program that was capable of scheduling Computer Science's courses for a semester, including faculty and room assignments. He used a simple planning algorithm to assemble schedules from databases of faculty preferences and course characteristics.
Brent Wills studied the topic of virtual reality and several software packages that support VR. He then implemented a simple virtual world to demonstrate basic concepts in the area.
Felix Gonda study the topic of fuzzy logic and its use in control systems. He then implemented a simple fuzzy logic controller for a simulated hot water heater to experiment with system parameters.
Chris Turner experimenting with "zoomable" interfaces and built a prototype PowerPoint-like tool with such an interface, using the Jazz toolkit from Ben Shneiderman's group at the University of Maryland. Most excellent!
Patrick Burke built a natural language processing system that could translate from German to English and back.
Derek Lawless implemented a web-based tool for searching a catalog of design patterns, using XML and Java.
Radu Dragan built a framework that allows programmers to easily create Java modules that connect to a database and allow querying the database over the Internet or any other HTTP-based medium. His framework was based on JDBC, Java Server Pages and Servlets.
One of the things I liked most about Dave's and Felix's projects was that they went beyond writing a program to examining the program's behavior and analyzing the results. In both cases, they were able to improve the programs on the basis of their analyses.
My only current MS student in the thesis/project phase is Jayapal Prabakaran. He is working on a search engine for images on the web.
Diana Tanase explored the relationship between software frameworks and pattern languages by studying the JHotDraw framework extensively, building several applications using it, and then writing a framework to document how to build systems using the framework -- capturing all the head-banging, one-off problems that never show up in 'real' documentation. Diana's project was my most ambitious project yet, as writing a pattern language is not the easiest thing to do. And then she had to write a thesis analyzing the language and writing experience! Take a look at Diana's master's thesis.
Troy Bull attacked the prblem of spam by building a spam filter that learns from user preferences using a Bayesian algorithm. I use Troy's spam filter personally and find it to be just right. Take a look at Troy's research paper.
Masatomo Noborikawa explored the relationship between patterns and refactoring in the construction of large OO systems, of which he built two. Take a look at Masa's research paper.
Fred Zelhart first surveyed the state of intelligent tutoring systems as part of an independent readings course. He then synthesized this material and proposed an architecture for an intelligent tutor on the topic of adding and subtracting numbers. His final step was to implement a prototype tutor based on his architecture. Take a look at Fred's master's thesis.
Mike Holmes implemented several programs that learned to play the card game Euchre and is analyzing the results, with a focus on the relative advantages and disadvantages of certain types of learning for domains like Euchre. Take a look at Mike's master's thesis.
Bharath Sreerangam implemented a web-based tool for creating, delivering, and grading on-line quizzes and exams. He used ColdFusion, too.
Valerie Turner implemented web-based program for middle-school students to use in learning fractions.
Tom Oleson experimented with potential improvements to an OO virtual machine by using techniques such as instruction pipelining and lookahead.