Senior projects can take many different forms. Here are some representative examples:
Extending Rhiemann Mapping for Sage (2011; mentors: Adams, Mike Bolt) - Ethan Van Andel wrote and optimized a rhiemann Python module that is now a standard part of the Sage software system. This project was done for honors; the final report is available in PDF format and in the CS Department office.
iPhone app for Wycliffe (2011; mentor: Plantinga) - Brad Greco built an iPhone app that Wycliffe will use for distributing literature and multimedia in countries around the world.
Melodic Search Engine (2011; mentor: Plantinga) - Nat Burns built a melodic search engine for hymnary.org that enables users to play a few notes on a virtual keyboard and find matching melodies from hymnary.org's massive database. The search engine uses a sophisticated approximate matching algorithm and is the only such resource we know of.
Document Expansion (2008; mentor: Vander Linden) - Nathan Beach built a search tool for his ChristNotes website (http://www.christnotes.org/) that addressed term mismatch problems in information retrieval using document expansion. This project was done for honors. The final report is available in PDF format.
Spatial VR System and Software (2007; mentor: Adams) - Josh Holtrop assembled and configured a virtual reality system, wrote a library for creating VR applications, and a "Jedi Trainer" application. This project was done for honors, and resulted in a paper presented at the 2008 ITiCSE conference. The final report is available in the CS Department office.
Galapagos (2006; mentor: Frens) - Andy Meneely built a genetic algorithms framework for use in research and education. You can see his system here: http://galapagosga.sourceforge.net. This project involved both software development and experimental design.
Konfidi (2005; mentor: Vander Linden) - David Brondsema and Andrew Schamp built a framework of trust based on a network of authenticated people. You can find the results of their work here: http://www.konfidi.org. This project was done for honors (by one of the partners) and resulting in a research publication (for details, see MTW-2006).
VanAndel Gene Bank (2006; mentors: Bailey, Kyle Furge) - Justin Kent built a web-based bio-information system in collaboration with researchers at the Van Andel Institute. Here's the final report: Kent2006.doc
CAYVAN (2006; mentor: Laverell) - Jason Roelofs worked on an Engineering senior project team to build a media streaming system for the Hekman library. Here's his final report: Roelofs2006.doc and the Engineering team he worked with: Stream Come True.
Bibles and Commentaries Browser (2003; mentor: Plantinga) - Matt Hanchett designed an implemented a new web-based user interface for browsing Bibles and commentaries or other resources in parallel columns.
Zuse: High Level Language Localizer (2003; mentor: Adams) - Wes Morgan wrote a "meta" languate/compiler that would allow a programmer to type a program in his or her native language, and the system would translate that program into the corresponding standard (English) code, and then compile that code. Or it could take a program in a standard language and translate it into one's native language. The system was modular, so that any of several natural languages could be used, and any of several programming languages. The final report is available in the CS Department office.
Image Based Rendering (2002; mentor: Plantinga) - David Koop implemented a system for rendering a video sequence of motion "inside" the space represented in a 2-D image when the depths of points in the image are known.
Online Voting: A Distributed Interactive Approach to Ballot Storage (2002; mentor: Adams) - Matt Post designed and prototyped a system to do eVoting securely, using encryption, paper trails, and so on. The final report is available in the CS Department office.
Delight: page image lighting correction algorithm for OCR (2001; mentor: Plantinga) - Jason Bode designed and implemented an algorithm for correcting lighting variations that occur in digital images of pages of books, to improve OCR results.
Slick: An Experiment in Self-Modifying Code (2000; mentor: Adams) - Elliot Nelson designed and built a translator for a programming language with C-like syntax that let programs modify their own statements at run-time. The goal was to have a language to facilitate machine learning by allowing a program to change its logic on the fly. The final report is available in the CS Department office.
Use these only as examples; don't let them limit your potential options.