Teaching Mathematics with APL: Workshop Design
Vector 9:3, page 29
Transcribed from the printed issue; not yet reviewed. Read it in the PDF of the issue, page 29
Origins¶
The following describes the design of a series of introductory workshops using APL to teach selected topics in mathematics. Constructivist teaching methods are emphasized. This design is modelled on a 15-week teacher-training course "Teaching Mathematics with APL", offered at the University of Massachusetts’ School of Education since 1987. The workshops described here may be conducted in such a series, or with fewer sessions — even a single "one-shot" workshop.
Goal and Purposes¶
The overall goal of the workshop(s) is to create an exemplary learning environment. Specific instructional purposes are to:
- introduce APL as an executable mathematical notation
- present a subset of APL in order to study selected topics
- reveal how APL software can be used for experimentation
- show how APL can empower students’ learning and teachers’ teaching
- gain insights into students’ cognitive processes
- discuss mathematical content from a new perspective, and
- provide resources for continued learning.
Audience¶
These workshops are designed expressly for mathematics teachers in training (pre-service or in-service), although the approach is suitable for their students as well (when given ample time). Hence, both teachers in the workshop and students will be referred to as "learners" here. About 15 learners can be accommodated in a workshop, or more if additional instructors can assist.
Equipment and Software¶
The number of microcomputers needed is best determined by equipment available at the workshop site and/or by the number of learners. Brand of microcomputer is not critical, since the APL language is fundamentally the same on most microcomputers. Typical brands are: IBM compatibles (MS-DOS); Apple IIe; Macintosh. A free copy of I-APL (International standard APL) is provided for each learner to take home. It is public domain software, which may be copied and distributed to other students and teachers. Recipients will be asked to supply their own disks.
Role of Computer and APL¶
Ideally, there will be one microcomputer for everyone in the workshop, although learners are encouraged to pair up. In any case, spontaneous dialogue among learners is welcomed, with the computer acting as a third party. Since APL is interactive, it promotes active learning. Typically the interaction involves typing a short (one-line) expression, getting an immediate response, thinking about it, and then typing another expression, in succession. Having a computer available not only facilitates testing and experimentation but also allows attention to higher level concepts.
Familiarity with microcomputers is desirable, but not required since the software will be "up and running" at the outset, and the workshop leader will be available for help with editing programs or any other problems related to computer usage. N.B. The emphasis is on learning mathematics — not computers. Learners are not expected to be familiar with APL, nor will they be expected to learn much APL. Only a small subset of APL is needed for a given topic; and, typically, only simple programs can be developed in the short time available. N.B. The emphasis is on learning mathematics — not the programming language.
Role of Leader and Workshop Format¶
The workshop leader is responsible for arranging and organizing the workshop(s) in advance, as well as conducting them. Basically, conducting a workshop involves giving initial instructions to the group as a whole; then circulating around to help individual learners work with APL at computers, especially offering suggestions for experimentation; and finally, moderating a wrap-up group discussion.
The following format and time frame may be used as a guideline for tailoring a 90-minute workshop to particular classroom/lab needs — for instance, for a 45-minute period, either by dividing the allotted time in half or by alternating 1 and 2 with 3 and 4 on successive days:
- Introduction: 15 minutes (first workshop only).
Ask the learners to introduce themselves (if they are not yet acquainted); state the workshop goals, format and time frame; briefly introduce APL and microcomputer facilities; identify relevant resources. - Hands-on Exploration: 30 minutes (+15 after first workshop).
Distribute the handout on a selected topic; let learners explore, analyse and experiment with APL expressions using the computer. - Minds-on Construction: 30 minutes.
Encourage learners to construct programs to represent the concept or algorithm being studied; help with editing, modifying and saving programs on disk. - Discussion: 15 minutes.
Bring learners back together into a group and facilitate discussion of mathematical content they discovered plus any insights into their thinking; help organize thoughts; offer overviews, summaries and connections to other topics.
Topics¶
Suitable topics may be drawn from and stretch somewhat beyond the traditional mathematics curriculum in elementary algebra, number theory, probability, statistics and intellectual games. Sample topics are:
Averaging · Triangular Numbers · Pascal’s Triangle · Pythagorean Theorem · Divisors and Primes · Function Tables · Propositional Logic · Sets · Sorting · Mean, Median, Mode, Standard Deviation, Correlation · Binary Search Game · Recursion · Fibonacci Sequence · Tower of Hanoi Puzzle · Coin Toss Simulation · Polynomials · Root-Finding
Methods and Materials¶
To begin with, the learner selects a topic and is given a one-page handout containing a sequence of APL expressions. The workshop leader proffers these only as examples of expressions containing primitive mathematical functions, "tools" to study and try out. The learner is encouraged to try other similar expressions in order to understand more fully how they work. The implicit goal is to re-invent a formal definition of these new tools by generalizing from enough examples. The explicit goal is to use these tools to construct a program as an object for understanding the algorithm illustrated (and related concepts).
A self-teaching APL book [1] is recommended for those learners who wish to study more about the programming language per se (later). Additional APL literature can be made available for perusal. Learners are invited to bring mathematics textbooks for reference and comparison of topic treatments.
Constructivist Approach and Cognitive Processes¶
At a minimum, the learner can enter and execute the given expressions by computer and observe the results. Further, the learner is encouraged to form mental hypotheses about the behaviour of each expression and to predict results before confirming them by computer. Formulating these and additional self-directed expressions provokes thinking, which often elicits the learner’s own "What-if" questions. Ensuing surprises may lead to realizing misconceptions, or reconceptualizations, or other insights.
The interplay between the learner’s previous knowledge of a topic (plus how to teach it) with new knowledge of how it is represented in APL (plus how it may be taught using APL) is expected to create some disequilibrium: while affording the opportunity to see the same topic from a different perspective, APL stimulates questions because it is somewhat different from conventional mathematical notation, which is fraught with ambiguities and inconsistencies (see [4]). Fortunately, however, more personal experience with APL can lead the learner to appreciate why it is attractive as a mathematical notation: APL is precise, unambiguous and internally logical (because it has be be executed by computer); it is unified across many areas of mathematics useful from elementary school through college and professional research and applications development; and it often yields shorter, more general expressions which may be easier to understand.
This approach honours alternatives. Learners often find different ways to express the same thing, that is, alternative algorithms which can be compared in terms of efficiency of time and space, or simplicity, generality, etc. By testing special cases and "edge conditions" in particular, learners can challenge themselves to generalize their expressions and embody them as robust programs.
Learners will take responsibility for their thinking more readily when they build something concrete and manipulable — like a program. They can save programs for later use, especially as building blocks to create larger programs ("modular programming"). In APL, each sub-program ("module") can be defined and tested separately before being combined (see [4]). Or, when given a "glass box" program — designed for the learner to examine — one can modify it to gain ownership and use it to explore related topics (see [3]).
Additional time for group discussion is recommended, of course, as a follow-up. Since not all learners are expected to discover (‘get’) the same understandings, convening in a group is important to share individual views — whether problematical or insightful — and to enable the workshop leader to add structure to the experience so they can see "the big picture". In sum, by reflecting on what has been discovered, by sharing actual programs built, by reviewing the cognitive impact of new outlooks toward a topic (plus pedagogical approach), and by openly valuing others’ ideas, each learner’s workshop efforts can be validated constructively.
References¶
[1] Peelle, H.A. "APL: An Introduction" (Holt, Rinehart & Winston, 1986).
[2] McIntyre, D. "Language as an Intellectual Tool: From Hieroglyphics to APL" (IBM Systems Journal, Vol.30, No.4, 1991).
[3] Peelle, H.A. "Computer Glass Boxes: Teaching Children Concepts with APL" (Educational Technology, Vol.14, No.4, April 1974).
[4] Peelle, H.A. "Introduction to APL for Learning Mathematics" (Journal of Computers in Mathematics and Science Teaching, Vol.9(1), 1989).