The Best of Creative Computing Volume 2 (published 1977)

Page 30 << PREVIOUS >> NEXT Jump to page:
Go to contents Go to thumbnails
This book is also available for the Kindle

The Computer "Glass Box" - Teaching with A Programming Language (characteristics, examples of Glass Box programs, Computer-Assisted Instruction)
by Howard A. Peelle

graphic of page

The Computer ''Glass Box''

Teaching With A Programming Language
Howard A. Peelle
University of Massachusetts

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

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

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

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:

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.


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.


Page 30 << PREVIOUS >> NEXT Jump to page:
Go to contents Go to thumbnails
This book is also available for the Kindle