by Howard A. Peelle
The Computer ''Glass Box'' Teaching With A Programming Language Howard A. Peelle University of Massachusetts *** Introduction The COMPUTER GLASS BOX is a bold new approach to teaching with A Programming Language. In this approach, short and quickly comprehensible computer programs are given to students for their direct viewing. Each program embodies a concept, a procedure, or a relationship and is written as simply and clearly as possible. The inner workings of such a program are visible and, hence, become the basis for learning. This approach utilizes a computer program more as a "glass box" than a black box. The program's formal definition - expressed in the explicit terms of a programming language - serves to elucidate and reveal understanding. By observing the structure of a program as well as its behavior, key concepts may become transparent to the student. *** Related Research The glass box approach represents a synthesis of ideas put forth by three other researchers. MIT's Seymour Papert has recommended that children study procedures actively by using a computer programming language (called LOGO) as a conceptual framework [1]. Kenneth Iverson of IBM has persistently stressed simplicity and generality in using APL to expose fundamentals in a variety of mathematical and scientific disciplines [2]. IBM's Paul Berry first advocated open use of APL as a strategy for teaching in what he called the "functional approach" [3]. *** Characteristics of the COMPUTER GLASS BOX Approach In contrast to conventional computer-assisted instruction (CAI), the glass box approach allows the student significant control over his own learning processes. This control is achieved through the activity of programming. Programs can be entered independently by the student via a computer terminal, and their use requires no other prestored curriculum material - as do most CAI applications. Indeed, making the full power of the computer accessible to the learner is 180° from the kind of CAI characterized by programmed instruction, tutorial, or drill-and-test sequences. This approach is pedagogically suitable for a wide range of educational levels - from elementary school children to university graduate students. Especially for children who have been held powerless in lock-step educational systems, use of the computer in this way opens up new worlds of learning - active learning, learning with power. Using glass box computer programs, students can proceed to learn during several complementary activities. Specifically, they can: examine the program's definition (intuitively) analyze the program's definition (logically) predict the outcomes of the program execute the program on a computer scrutinize the program's behavior experiment with different applications of the program modify or expand the program generalize the program invent new or related programs, and discuss implications with teachers and peers. These student-initiated, student-responsible, success oriented activities differ dramatically from frantic handwaving about abstract concepts often seen in classrooms. The ideal glass box program is also expository - it 'speaks' to its reader, explicating concepts and procedures in concrete terms. Desirable characteristics of such a program are: Simplicity Comprehensibility Flexibility Generality Elegance Provocative Implications By "simplicity" I mean that a single idea of modest scope is to be taught using a brief program (about 10 lines of APL coding, taking less than 5 minutes to type). By "comprehensibility", I mean using clear, readable commands (usually one per line) with well-chosen mnemonic identifiers. By "flexibility" I mean a program design which is easily modified and which can be used with other programs in modular structuring (nested sub-programs with explicit resultants). By "generality" I mean developing mathematical models which can extend to a class of cases. By "elegance" I mean choosing expressions which strike one's aesthetic chords. And, finally, a glass box program is "provocative" when its implications suggest interesting folIow-up discussions. To the extent that these characteristics foster insight and learning, a glass box program is, itself, a pedagogical agent. *** Examples of Glass Box Programs To illustrate this approach, some sample glass box APL programs are described below, with accompanying suggestions for extending their use in teaching-learning settings. *** COMPUTER - ASSISTED INSTRUCTION In order to emphasize the contrast with conventional uses of computers for teaching, the first glass box program illustrated is from the area of computer-assisted instruction. Instead of concealing the CAI program - usually designed to control the child's behavior - we show him the mechanism itself so that he may see how it works and ultimately control the computer. Consider the APL program below which exposes the essence of drill-and-practice in multiplication skills. In drill-and-practice, typically, a student is given a series of problems to solve, is asked for his answers, and the answers are judged for correctness, etc. Indeed, the computer is an excellent vehicle for administering drill-and-practice, but a programming language can also describe this process clearly. The DRILL program begins with a NEWPROBLEM and prints 'MULTIPLY', a simplified message telling the student what to do with the two numbers that will follow. The FIRST number is an integer randomly chosen between 1 and 20, and the SECOND number likewise. *** [image]1 A Programming Language (abbreviated APL) is a new multipurpose computer programming language developed by Kenneth Iverson of IBM. Originally conceived as a unifying mathematical notation, APL has since been used successfully in fields such as business, scientific research and education. *** 30