Since June of last year, I have been working with Professor Chris Kauffman on the development of a game designed as an educational tool. The AIDS Educational Game is intended for use in a college biology classroom, and demonstrates several stages of HIV infection at a molecular level. The eventual goal is to study whether using the program helps students to understand the material better than they would using more traditional methods.
My main role on this project is writing the actual code for the software, and gradually testing it as development advances. The program is written in Java, but we are using a framework that allows the software to be run in many different ways, including as an in-browser app. As a Computer Science major, this gives me a lot of insight into how multiple tools can be integrated together for use in one project, and how my coding skills can be applied to real-world problems. Working as an undergraduate research assistant has given me the opportunity to explore the idea of introducing new technologies to the classroom, and testing the effectiveness of the methods of teaching that these technologies present.
I am also learning how small design decisions early on in development can have a huge impact on the eventual product and its quality. Recently, I faced a challenge caused by flawed assumptions in the design of one aspect of the program, and as a result, I had to re-assess our approach to a new feature I was about to implement.