An instructional aid for student programs

Analyzing and grading programs in an introductory computer science course can require a great deal of time and effort from the course instructor. This paper investigates the development of a system called Instructional Tool for Program ADvising (ITPAD) that assumes some of the instructor's duties by keeping student profiles and assignment profiles, by detecting possible plagiarism, and by providing suggestions directly to the students for improving their programs. The design of the ITPAD system is based mainly on the direct application of code optimization techniques to FORTRAN source programs. Several software science measures also provide some of the profile characteristics. The results of test runs show that this system helps the instructor monitor the progress of the students through the term and also helps the instructor determine the individual algorithmic approaches for a particular programming assignment. The system can further benefit the students directly by providing suggestions that emphasize the use of good programming style.