Using APL to build science tutors for the high school level Manuel Alfonseca Universidad Aut6noma de Madrid (
[email protected])
Abstract
program proposes a given lesson, the models are used to generate problems. The definition of each problem model contains random variables, which receive a different value whenever the problem model is used. In this way, a single problem model may give rise to several different actual problems (up to several thousands, in some cases), so that the probability of the same student being invited to solve the same problem again is small. The following is an example of a problem proposed by the lowest level course on Mathematics:
This paper describes the procedure used to build several courses on the sciences for the high school level. An APL2 program has been written that accepts problem models, including explanation models, and uses them to generate many different probhms. Each course is provided with about one hundred problem modds, from which the student is invited to solve many thousands of different actual problems. The unique features of APL2 have made it very simple to develop the program that supports the courses. Versions exist for both DO5 and Windows. Introduction
Computer-aided education is a flourishing area. Educational multimedia products are announced every day on all conceivable subjects: Mathematics, Physics, Chemistry, Astronomy, Geology, Biology, Medicine, Languages, Grammar, Reading, Writing, Spdling, Drawing, Art, History, Geography, Dictionaries, Encydopedias, and general information [1]. We have developed a procedure to generate a family of educational multimedia applications, currently applied successfully to Mathematics and Physics at the high school level. These courses are different from the run of the mill, for they do not impart theoretical information, but guide the student to solve a potentially unlimited number of applied problems.
W h i c h is the 5 th t e r m of the a r i t h m e t i c whose first t e r m is 3 and whose d i f f e r e n c e is 2?
The courses
Each course consists of a number of lessons, each containing five probhm models. Every time the Permission to make digilsl or hard copies of all or part of this work for personal or classroom use is wanted without fee provided rha'z copies are not made or distributed for pro'lh or commercial advsnx -age and that copies beer 1his notice and the full citation on 1he first page. To copy otherwise, to republish, to po,st on servers or zo redistribute to lists, requires prior specific permission and/or • fee, APL'g8 7/98 Rome, Italy © 1 B99 ACM 1-5B 113-1B1-MI9910012.,,#5.00
APL98
progression
The student is supposed to solve the problem on a piece of paper, using a calculator or any other means, and to type the solution at the keyboard. The program solves the same problem, compares the student solution with its own (11 in the example) and provides feedback. If the given result is incorrect, the student is offered another try. If the new solution is also wrong, the correct way to solve the problem is explained, and a new problem of the same model is proposed to find out if the pupil has followed the explanations. In the example, the explanation would be: The N t h t e r m of an a r i t h m e t i c p r o g r e s s i o n is An = A + D. (N-l) w h e r e A is the first t e r m and D is the progression' s difference. R e p l a c i n g in this f o r m u l a the v a l u e s we h a v e b e e n given, we get: An = 3 + 2 .( 5 - i ) = ii
Each lesson is a text file containing all the program modds, separated by a special line. A program model
173
Using APL to Build ScienceTutors
contains a number o f lines with ASCH text, executable instructions, or resnlt definitions. The definition of the program model for the previous example is as follows: XEC
A~--? i 0
X E C D~--3+?5 X E C N~--7+?5 Which is the XEC N 'th term of the arithmetic progression' XEC 'whose first term is' A XEC 'and whose difference is' D RES A+DxN-i
'?'
where the lines beginning by XEC contain APL2 instructions that will be executed by the program, the line beginning by RES gives an APL2 expression calculating the result of the problem, and the remaining lines are assumed to be text that will be output as it is. The results of the executed instructions are shown at the screen only if the instruction does not contain any assignment. From this model, the program may generate 250 different actual problems, one of which has been given above. The explanation model is located after the program model, also separated by a special line. In our example, the explanation model is the following:
The
Nth
term
of
an
arithmetic
progression
is An = where
A + D. (N-i) A is the first term and D is the progression's difference. Replacing in this formula the values have been given, we get: XEC ' A n =' A '+' D '. (' N '- 1 ) =' (A+D~N- 1 )
we
The rules to interpret the explanation are the same as indicated for the problem enunciation. In this case, we only have executable lines and simple text lines. Let us look at a more complicated model, this time chosen from the highest course on Physics: XEC XEC XEC
H~--?20 (Ai W ) ~ - - l + ? 2 p 9 T~--.01x?10
XEC XEC
Ri