Software design (CS 309) semester project and personal summer project

Technologies used

Java, Google App Engine, JSTL, Javascript, HTML, CSS

Skills acquired

Knowledge of model-view-controller pattern, software lifecycle, software design, usability testing, customer communication and interaction


I worked in a four-person team in CS 309 to develop an online attendance system for the ISU Marching Band. We completed a full prototype of the system during the semester and received the award for the Best Software Engineering Practices among the 28 teams in the class.

The following summer, we re-evaluated our design and completed the system for use with the marching band in August. The system incorporates an HTML5 webapp to take attendance on the field, even while offline, and an online portal for students, TAs, and directors to manage their attendance and message about attendance items. The system implements the grading scheme for the band, and automatically takes pre-approved class conflicts into account when calculating grades and approval of absences.

For the marching band of 320 students, the system saved hundreds of hours of work per year and eliminated paper waste from the system. The code for the project is available at Github.

Student view of the attendance system.Director view of the attendance system.