Learning program abstractions: Formal model and empirical validation
Franz Schmalhofer, Ralph Bergmann, Stefan Boschert, Jörg Thoben · University of Regensburg Publication Server (University of Regensburg) · 1993
This paper proposes a construction-integration process that yields a coarse-grained representation from a concrete computer program in terms of a learner's situational knowledge (i.e a procedure schema).A procedure schema is a cognitive structure that is important for the comprehension, design, implementation, and maintenance of computer programs.A formal analysis yielded state and sequence abstraction mappings as a sufficient condition for the formation of such a schema.A simulation furthermore specified the required prior domain knowledge.Four think-aloud studies revealed the knowledge, which different learners actually used and showed how construction and integration episodes were interleaved.While learners, who elaborated programs in general terms, were found to form abstractions with deductive justifications, other learners induced and tested hypotheses from sample program inputs.Computer programs, such as an operating system written in the programming language C, an artificial intelligence system written in LISP, or even a Pascal program written by a computer science student, are rather complex patterns.Such programs must first be designed according to some specifications before they can be implemented on a computer.Later, they need to be maintained 1