Measurement is essential to understanding. The measurement of software products, programs, is a critical activity for software engineers as we try to understand our products and processes sufficiently to plan and enact improvements. Unfortunately, counting features of programs is a tedious activity, one which will not engage the student. Hence, to provide students with the data necessary to reason about their products and processes we must first reduce the level of labor required to produce the data. Initial data gathering can focus on easily retrieved information from the source code. These direct measures can be used to produce other measures that may be more descriptive and helpful in understanding the coding activity.
Process improvement requires the existence of data that allows the individual to reason from. Furthermore, learning is in part an activity that requires we be able to compare previous and current performance to determine how we have changed. The envisioned system should be usable by students in taking the programs they develop and returning measures. The data produced should be exportable to other programs for data representation or storage.
Develop a system that will provide measurement data for undergraduate student programs. The data should provide a quantitative view of their programming assignments regardless of paradigm. The data should provide students with a retrospective view of their performance over their course of study in the CIS major.
A working prototype for the system and all associated documentation for operating and maintaining the system. The accompanying documentation should include data from initial user testing to determine the level of interest and accessibility of the system.
Work on the project begins February 1, 1999. The work concludes on or before the first day of final exams.
Customer: Richard Upchurch, Professor, CIS Department.