Here are some projects I’m currently working on.

Proper scaffolding implies deep learning Two critical skills for succeeding in computer science are abstract reasoning and problem solving. Many students, prior to college, have lacked opportunity to hone these skills. If we are serious about diversifying the field, we need to provide support for these students. We have two published papers related to this project. “Scaffolding assignments: How much is just enough?” (download) and “With greater CS enrollments comes an even greater need for engaging teaching practices” (download).
The “World’s Tiniest” series abstracts video game genres down to their simplest features. The “World’s Tiniest RPG,” 2008 (play, source), uses a Facebook quiz to tell a story. In the “World’s Tiniest Platformer,” 2010 (play, source), the player runs and jumps to reach a castle. The “World’s Tiniest RTS” (source) and the “World’s Tiniest Fighting Game” are still in design stages. Worlds Tiniest Player.
Child at computer. Typing Tots screenshot. “Typing Tots” (download) is a game to help very young children become familiar with computers. The child presses a key on the keyboard, and the program responds by speaking the name of the key aloud and displaying the key. A more advanced version that displays images is under development.

This is a sample of projects that I’ve worked on in the past.

“Molly, the Molecule Manipulator,” J. Vanderhyde, N. Bohlig, and J. Kuestersteffen (main site). The Molly project is a chemistry program using the Jmol Java interface. Its purpose is to allow chemistry students to discover and test symmetry operations on simple molecules. Student comments forthcoming. This project began as a senior software development project at Benedictine College from 2013. Molly logo.
Diagram of jump path. “Jumping implementation in video games,” Joseph Rioux and J. Vanderhyde, Benedictine College Discovery Day, 2014 (poster, demo, source). Jumping is a single action in a video game allowing for limited, controllable aerial motion. This project explores the implementation of jumping in different video games.
“Topological simplification of isosurfaces in volumetric data using octrees,” J. Vanderhyde and A. Szymczak, Elsevier’s Graphical Models (download, requires subscription). This is an expansion on our technique published at Vis ’03 (below). We used an octree for compression and to speed up the procedure. The procedure simplifies the topology and repairs undefined regions in laser range scans and other volumetric data sets (source). Image of David's head. Slice of David's head showing octree.
Image of Buddha models of decreasing genus. “Extraction of Topologically Simple Isosurfaces from Volume Datasets,” A. Szymczak and J. Vanderhyde, IEEE Visualization 2003 (download). In this paper we show how to automatically repair the topology of surfaces. The algorithm examines each voxel one at a time to see if removing it would create a handle.
“Java Class Visualization for Teaching Object-Oriented Concepts,” H. L. Dershem and J. Vanderhyde, ACM SIGCSE 1998 (demo, try creating some ints). This program is an object-oriented experience. It lets you drag objects around and drop them into boxes to perform operations on them. Image of Frac class visualization.
A model filled with square balloons.A model filled with round balloons. “Filling Objects with Balloons,” U. Bischoff, B. Schopman, and J. Vanderhyde, CS 7491 class project, May 2004. The point of this project was to fill 3D objects with spheres or cubes. The benefits include compression and collision detection.
“Distribution Raytracing,” J. Vanderhyde, CS 7490 class project, May 2003. For this project I wrote a ray tracer from scratch in Java to produce beautiful pictures with soft shadows and glossy reflections.

Image demonstrating distributed ray tracing.

One frame of retargetted animation. “Retargeting Motion Capture Data Using Spacetime Constraints,” J. Vanderhyde, CS 7496 class project, April 2003 (document, video). The point of this project was to allow the user to edit recorded motions by specifying a new location at given times for a part of the body.
“Fractal Terrain Generation,” J. Vanderhyde, CS 6491 class project, April 2002 (source code). This project uses concepts from fractals to generate random mountains and lakes.

Image of fractal terrain.

Screenshot of 3D tetris. “The quest for the cubic trianguloid,” M. Nelson and J. Vanderhyde, senior project, May 1999. This is a three-dimensional Tetris game in Java, similar to the DOS classic Blockout. The real-time point-of-view rotation was one of our major contributions.