Cliff Shaffer's Research Projects

Here is information and pointers to websites for some of the research projects that I have been involved with. My research time is split roughly equally between two areas: Problem-Solving Environments (primarily for Computational Biology) and Digital Education (with a focus on Algorithm Visualization).

Problem-Solving Environments

Problem-solving environments (PSEs) are software environments intended to support scientists and engineers with large modeling problems. Typical characteristics of such systems are that they involve modeling and simulation, visualization, optimization (often in high dimensions), and software engineering to put it all together. Since the mid 1990's, I have been involved in projects that span a wide variety of scientific domains. These have included modeling wood-based composite presses, preliminary aircraft design, watershed assessment, and wireless systems design.

My main PSE-related research interest at the moment is in the area of Systems Biology, a subfield of Computational Biology. I work with John Tyson in the Biology Department, designing software to support his lab's efforts to model the cell cycle [Allen03, SZRT09]. JigCell is the problem solving environment that we developed for this purpose. [ Allen06, Vass06] We continute to develop tools and modeling techniques appropriate for cell cycle modeling, and more generally for modeling molecular regulatory networks.

This is only one of many projects our CS Department is involved in related to Computational Biology and Bioinformatics.

Some particular topics that we are currently working on include

The following are PSE-related projects that are not currently active or I am not actively working with them now.


Computer Aided Education

I have been involved in a number of projects related to computer aided education over the years.

We have worked for many years on Algorithm Visualizations (AVs) [Shaffer10a]. Our primary goal is to improve CS education through use of AVs in computer science courses. Our flagship project is the AlgoViz Portal, which is an online educational community aiding instructors and developers of AVs [Shaffer10b]. My research group also develops state-of-the-art AVs, and tries to understand the key factors that make for successful AVs [SSMN04]. See my projects list for efforts that I am seeking students to help with.

Starting in 2011, I have headed OpenDSA, a major effort to develop a complete eTextbook for use in Data Structures and Algorithms courses [Shaffer2011a, Shaffer2011b]. This is an open source, creative commons effort that involves collaboration with many AV developers around the world. There are always many ways that people can volunteer to help with this project. For undergraduates, many students over the years have done an Independent Study or Undergraduate Research project that involves writing an exercise or an AV. For graduate students, we have a long list of research questions associated with the OpenDSA project

I also work with the ENSEMBLE project, which is the Computer Science component of NSF's National STEM Digital Library (NSDL) [Fox10, Akbar11].

Here are some descriptions of earlier projects that I have worked on. Much of this software is still in use, and I have projects on the project list related to GeoSim and SABLE.

The first and most successful was Project GeoSim: Simulations for Geography Education [Shaffer94]. This software has been used by many thousands of students around the world, and is still actively used. I am in the process of working on an update to the IntlPop population simulator.

Learning in the Networked Community (LiNC) was an early effort to incorporate the internet and online education into K12 education [Koenemann]

SABLE: Statistics Activity-Based Learning Environment has completed. But I am interested in extending this work.

Swan: A Data Structure Visualization System was our initial prototype system for supporting data structure visualization [Shaffer96, Yang95]. We are not presently pursuing the Swan system, but we are actively creating new visualizations in Java.

Return to Cliff Shaffer's homepage.