Supporting Pascal Programming with an On-Line Template Library and Case Studies

Abstract We propose a template library as a good representation of programming knowledge, and programming case studies as part of an effective context for illustrating design skills and strategies for utilizing this knowledge. In this project, we devised an on-line network of Pascal programming templates called a template library, and tested it with subjects (classified as novice, intermediate, and expert Pascal programmers) both as a stand alone resource and in conjunction with programming case studies. We investigated three questions using these tools: 1) How do subjects organize templates? 2) How well can subjects understand and locate templates in the template library? 3) Does the template library help subjects reuse templates to solve new problems? Results suggest that the template representations helped subjects remember and reuse information, and that subjects gained deeper understandings if the representation was introduced in the context of a programming case study.

[1]  Françoise Détienne,et al.  An Empirically-Derived Control Structure for the Process of Program Understanding , 1990, Int. J. Man Mach. Stud..

[2]  Marcia C. Linn,et al.  Designing Pascal Solutions: A Case Study Approach , 1992 .

[3]  Mimi Recker,et al.  Student Strategies for Learning Programming from a Computational Environment , 1992, Intelligent Tutoring Systems.

[4]  Ronald M. Baecker,et al.  Readings in human-computer interaction : a multidisciplinary approach , 1988 .

[5]  N. B. Dale,et al.  Introduction to Pascal and structured design , 1983 .

[6]  Jean Scholtz,et al.  Learning second and subsequent programming languages: A problem of transfer , 1990, Int. J. Hum. Comput. Interact..

[7]  Elliot Soloway,et al.  From Problems to Programs via Plans: The Content and Structure of Knowledge for Introductory LISP Programming , 1985 .

[8]  Richard C. Anderson Some Reflections on the Acquisition of Knowledge , 1984 .

[9]  Marcia C. Linn,et al.  The case for case studies of programming problems , 1992, CACM.

[10]  C.-C. Yu,et al.  Plan-based representations of pascal and fortran code , 1987, CHI '88.

[11]  Marcia C. Linn,et al.  Can Experts' Explanations Help Students Develop Program Design Skills? , 1992, Int. J. Man Mach. Stud..

[12]  Ben Shneiderman,et al.  Directions in human-computer interaction , 1982 .

[13]  M. Linn,et al.  Cognitive consequences of Programming Instruction: Instruction, Access, and Ability , 1985 .

[14]  Doug Cooper,et al.  Oh! Pascal! , 1982 .

[15]  Dorothea P. Simon,et al.  Expert and Novice Performance in Solving Physics Problems , 1980, Science.

[16]  Kate Ehrlich,et al.  Empirical Studies of Programming Knowledge , 1984, IEEE Transactions on Software Engineering.

[17]  B. Adelson,et al.  The Role of Domain Expenence in Software Design , 1985, IEEE Transactions on Software Engineering.

[18]  Mimi Recker,et al.  How do Lisp Programmers Draw on Previous Experience to Solve Novel Problems , 1992 .