Context: The Hoffman Forest Project was the final group project in the undergraduate software engineering course in Spring 2006. The students were grouped into teams of 4-5 and had six weeks to complete the project. The project was the final deliverable at the end of the semester. Students worked on the project during the two-hour lab sessions each week and met outside of class. Deliverables for the project were broken up into four iterations, during which the students had to demonstrate their progress to the TA during lab sessions and received a grade based on their progress. The total project grade was a combination of the individual iteration scores and the functionality of the final deliverable. Additionally, each of the homework assignments completed earlier in the semester was directly integrated into the final project, thus, the students had some prior experience with the domain and the application itself before undertaking the group project.
The project itself was a web application to assist in managing data collected from the Hoffman Forest, a state forest overseen by the Department of Forestry at NCSU. The project was sponsored by the Department of Forestry and the requirements (the desired functionality for the project) came directly from department faculty. The purpose of the application was to enable forestry staff to record scientific data from samples taken in the Hoffman forest through a web interface, and then allow visitors to the website (students, faculty, staff from other institutions) to search through this data. The best project from among the the student projects was then used by the Department of Forestry for collecting and dispersing the data. Our primary goal in selecting this project was to increase student interest in the project and in the discipline as a whole by concretely demonstrating that software could be used for socially-responsible purposes, and to give the students a chance to participate in this type of project firsthand. Additionally, this project exposed students to salient challenges common in the software industry, such as web application development, security and changing customer requirements.
Artifact: Project website snapshot, including project description, requirements and test cases (note: website snapshot contains broken links and ancient HTML/CSS)
Reflection: Project reflection paper