practical experience in top-down structured software production in an academic setting
Much has been said about the importance of teaching top-down program design and structured programming in computer programming courses. However, instruction in these concepts has usually been limited to short homework assignments and at most to term projects. This type of experience is very different from the production programming environment encountered in industry, where the problems tackled are generally more complex and on a larger scale. Also, in many cases industrial programs are produced by a programming team under constraints in both time and resources. For students who aspire to a career in the software area, experience in a realistic production programming environment is desirable. Such experience is not provided in the traditional courses and novel ways have to be devised in order to bring it on campus. At Harvey Mudd College, an academic program, called the Mathematics Clinic, has been institured with the aim of providing this type of realistic experience to the student. The Mathematics Clinic brings problems from industry to be studied and solved by small teams of students under faculty supervision. The problems are selected for their educational value, but attention is paid to the feasibility of producing results that are of value to the sponsoring industrial concern. The general organization of the Clinic program has been described by Spanier (1). In the present paper, a production programming project undertaken by the Mathematics Clinic is described with emphasis placed on the mode of instruction and the experience gained by the students.
practical experience structure software product teaching program design computer programming instruction concept assignment project programming environment industrial general complexity scale teams constraint timing resource student order mathematics faculty education value attention organization paper