James Madison University

Spotlight on Projects

Students and faculty in the Computer Science Department work on a variety of different projects. Students become involved in projects for many different reasons. Some get involved for course credit (e.g., independent studies, theses), some get involved to earn a salary (e.g., as a research assistant on a funded project, as an intern), and some get involved just for fun.

There are far too many projects to describe them all; here are a few.

Visual Cryptography


IMAGE: Visual CryptographyStudents in the course on Selected Topics in Cryptography were told to create a Java applet that demonstrates the use of visual cryptography. There were three teams and each came up with something slightly different. In all of the applets (Which can be run by clicking on the links below), you need to drag the images on top of each other to decrypt. In the first example, each of the two transparencies is a normal picture. However, when you stack them JMU's logo will appear. The second example behaves the same way but the resulting image is different. In the third example, there are four transparencies. Stacking any two of the transparencies will not "leak" anything. Stacking three or four will show another picture.

The Creature


IMAGE: The CreatureRob MacHardy '08 combined his interests in art and computer science on several different graphics and animation projects while he was a student. He developed two small video games, wrote a plug-in for Maya, and created the animated creature shown here. Watch Movie.

FragMend


IMAGE: FragmendData carving is an important aspect of the recovery process during cyber forensics investigations. When performing data carving, an investigator attempts to reconstruct files from unstructured data blocks, which are often found in unallocated space on file systems, slack space, or damaged/corrupted media. Prof. Florian Buchholz, and several undergraduate and graduate students including Sam bertram, Netwon Campbell, Chris Holt '11, Evan Jacobs '09, and Brenton Kohler '09 are developing FragMend, an easy-to-use and extensible data carving tool.

3D Computer Graphics


IMAGE: Ray TracerSeth Fowler '08 worked on several 3D computer graphics projects. The image here demonstrates a scene rendered by a ray tracer that he developed. What made this project particularly interesting is that Seth used numerical optimization algorithms to find the intersection between the light rays and surfaces rather than traditional methods. Seth also worked with Everette Clemmer '08 and Rob MacHardy '08 to develop a visualization of historical storm tracks. The OpenGL program is not available but there is a "movie" (that's much less impressive) if you'd like to take a look. Watch movie.

The Tautochrone Property of Cycloids


PHOTO: Screenshot of projectDavid Burgess '09, Mitchell Charchalis '09 and Brenton Kohler '09 were studying differential equations and wanted to demonstrate that cycloids exhibit the tautochrone property. That is, that a particle sliding on a cycloid will exhibit simple harmonic motion and the period will be independent of the starting point. To that end, they wrote an application and used it to create a "movie" of balls moving down a hill. Then they decided to get creative and changed the balls to a mouse, cat and dog. Watch Movie

Zeitline


PHOTO: Screenshot of projectWhen building a timeline of events that occurred on multiple systems for a cyber forensics investigation, the forensic analyst needs to account for computer clocks set to different times, clock skew over time, and a multitude of different timestamp formats and granularities. The Zeitline tool aims to provide a single platform to import evidence from multiple systems and sources, translate all timestamps to a common reference time, and let the user build hierarchical timelines of events important to an investigation. Prof. Buchholz is and has been working with undergraduate students on this long-term project, including Michael Maurer '12, Ryan Tighe '10, Glenn Henderson '08, Erik Heidenthal '09, Mike Fletcher '09, Patrick Gabriel '09, Chris Plummer '09, and Matt Parent '08.

Tint


PHOTO: Screenshot of projectDuring the Spring of 2009, students in CS446 wrote an interpreter for a small language called T. T programs specify finite state transducers, which are abstract machines with finitely many states and no memory. Transducers compute by consuming data and changing from state to state depending on their input. They produce output based on the state transitions that they make. Students first designed and wrote a lexical analyzer for T programs using the tool JFlex. They then wrote a recursive descent parser that built an abstract syntax tree as it parsed T programs. Students then wrote code to traverse the syntax tree to create a transducer. Finally, the transducer was executed. The result of all this work was Tint, a program to interpret (that is translate and execute) T programs.

Wellness Activities and Gaming


PHOTO: Screenshot of projectThere have been many attempts over the years to make exercise fun and to help people want to exercise, both at home and in the clinic. The Wellness Activities and Gaming Group at James Madison University conducts research into how computing and communications technologies can be used to achieve these goals. The group is just getting started but already includes faculty and students in a variety of disciplines. Two projects are in the early stages and have already generated a lot of excitement. For more information visit the WAG site.

Spatial Analysis


PHOTO: Screenshot of projectA variety of different departments at JMU use Geographic Information Systems (GISs) in both their teaching and their research. Unfortunately, as is true of many commercial software products, GISs can be fairly inflexible. As a result, several people have come to the Computer Science Department for to see if we could help. To that end, Kris Kalish '10 developed an extensible application (in Java) that can be used for various kinds of spatial analysis. Along the way, he also explored the ways in which multi-core processors might be used in these kinds of analyses. Ultimately, he wrote his Honors Thesis in this area.

Welcome from Computer Science

PHOTO:Sharon Simmons

The Computer Science department strives to be an intellectual community that continually explores the broad field of computing, applies this knowledge to solve problems in a variety of domains, and engages with the profession and society at large. More >

Announcements


  • New - Fall 2011 Advising Newsletter
  • March 5-9 -Spring Break
  • March 16 - James Madison Day
  • March 19 - Registration for Summer Session Begins
  • April 3 - Registration for 2012 Fall Semester Begins
  • April 27 - Last Day of Classes
  • April 30 - May 4 - Final Exams
  • May 4 - Graduate School Commencement
  • May 5 - Undergraduate Commencement