ExpressoIdentifying and Correcting Java Programming Errors for Introductory Computer Science StudentsBy: Maria Hristova, Ananya Misra, Megan Rutter, Rebecca Mercuri Abstract: Programming in Java can be a daunting task for introductory students, one that is only compounded by the cryptic compiler error messages they see when they first write actual code. The goal of this project was to design an educational tool to detect common Java programming errors and misconceptions in a piece of code and to facilitate the learning process while ensuring that students interact directly with their code. This included compiling a list of typical errors made by novice programmers, and creating a tool that catches these errors and suggests corrective action. Background: Expresso was supported by a Collaborative Research Experience for Women (CREW) grant from the Computer Research Association in the 2001-2002 academic year. It became the senior thesis and/or junior independent work for the three Bryn Mawr College computer science students involved. Dr. Mercuri acted as the faculty supervisor for the project. Paper: Available here. Questions, comments and responses: (1) The drink is Espresso, not Expresso. We were aware of this, but named our project Expresso on purpose because we liked how it sounded. (2) Is the tool available anywhere? We recently dug out much of the project from an ancient zip disk. Originally, we had both Mac and Windows executables, but unfortunately only the Windows version was retrieved this time. Here is what we have on the web now:
(3) Some of the test programs are really weird. Yeah, we were having fun. (4) Is the source code available? It hasn't been compiled in years, but I think we have all of it, so we may provide it in the future. It would be nice to first have everyone's permission to share it. (5) Is it up-to-date with the latest version of Java? We have not modified it since 2002, and of course Java has changed since then, so no. But many of the beginners' errors we identified relate to the basics of the language rather than advanced technical details. These have probably remained consistent over time, so yes.
More questions? Let any (or all) of us know by
email: |