Education & Computing 8 (1992) 239-244
Elsevier
239
Tools and methods for teaching informatics
at school: an advanced Logo course
Rumen Nikolov
University of Sofia, 5 Anton Ivanov Str., 1126 Sofia, Bulgaria
Abstract
Nikolov, R., Tools and methods for teaching informatics at school: an advanced Logo course, Education & Computing 8
(1992) 239-244.
The paper discusses an approach for acquainting fourth grade unwersity students in informatics with various tools and
methods of teaching informatics at school. The language Logo is used as an unwersal tool for:
(1) introducing one variant of school informahcs curriculum;
(2) introducing some basic notions, principles and methods of informatics and a number of tools and specific approaches for
their explanation and clarification;
(3) demonstrating a variety of applications of computers in different fields: mathematics, language, drawing, music, physics,
biology, history, etc.;
(4) developing a sophisticated programming environment corresponding to the problem being solved and the specific users'
needs;
(5) demonstrating some basic principles of developing educational software, passing through all the phases of the software
life cycle;
(6) applying artificial intelligence methods and tools when developing and using educational software.
The students get self-confidence both as teachers in informatlcs and as educational software designers. So they can step
towards a new pedagogy in a rich computerized learning environment.
Keywords: school mformatics; educational software; Logo; teaching methods.
Introduction
T e a c h i n g a n d applying informatics at school
n o r m a l l y follows o n e of two quite different approaches. T h e m a i n e m p h a s i s in the first o n e is
o n p r o g r a m m i n g . I n the o t h e r a p p r o a c h s t u d e n t s
use r e a d y - m a d e programs. T h e i r i n t e r e s t is focused mostly o n the subject m a t t e r b e i n g covered
by the software w i t h o u t paying m u c h a t t e n t i o n to
the way the p r o g r a m was i m p l e m e n t e d . T h e universities a n d the o t h e r t e a c h e r t r a i n i n g institutions face the c h a l l e n g e to e d u c a t e a n d t r a i n
p e o p l e c a p a b l e of b o t h t e a c h i n g informatics a n d
p r o d u c i n g a n d m a i n t a i n i n g e d u c a t i o n a l software
systems of d i f f e r e n t r a n g e of complexity.
I n d e s i g n i n g a course o n Tools a n d M e t h o d s
for T e a c h i n g I n f o r m a t i c s at School for fourth-
grade s t u d e n t s in informatics at Sofia University,
a n a p p r o a c h lying b e t w e e n these two extremes is
chosen. T h e course is b a s e d o n the e x p e r i e n c e of
the R e s e a r c h G r o u p o n E d u c a t i o n [7-13,16] a n d
the m a i n principles applyed in designing seco n d a r y school textbooks in m a t h e m a t i c s a n d informatics [2,14,17,18].
The course objectives and structure
T h e course is d e d i c a t e d to s t u d e n t s who are
expected to b e e m p l o y e d as teachers in informatics o r / a n d e d u c a t i o n a l software developers. T h e
g e n e r a l objective of the course is p r e p a r i n g stud e n t s to b e c o m e k n o w l e d g e a b l e a n d flexible experts in e d u c a t i o n a l informatics.
0167-9287/92/$05.00 © 1992 - Elsevier Science Publishers B.V. All rights reserved
240
R. Nikolou / An advanced Logo course
The main course modules are: Tools and
Methods for Teaching Informatics at School; Design of School Informatics Curriculum; Techniques and Tools for Introducing Basic Notions
and Ideas of Informatics; Integrating Informatics
into the Curriculum; Developing a Personal Software Environment; Working on Advanced Projects; Teaching at School.
As a general effect of the course students are
expected to get a systematic knowledge in educational informatics, a "bag of tools" and real practice in programming which can serve as background for other courses, for example, Artificial
Intelligence, Programming in Prolog, Intelligent
Tutoring Systems, Computer Graphics, etc.
Basic m o d u l e s o f the course
Tools and Methods for Teaching lnformatics at
School
The module aims at briefly presenting and
analyzing different software tools, techniques, and
methods of teaching informatics at school and
making sure the students can evaluate and select
similar ones by themselves. Students are acquainted with some ideas and concrete examples
and experience of using computer as a teacher,
adviser, tool, and learning environment.
The main attention is paid to the last two
approaches and the role of teaching programming at school. Logo is regarded both as a programming language very suitable for novices and
as a real philosophy of education. Some statements that the course is built around are presented to the students, for example:
(1) Programming is a universal tool for training
and self-training in all school subjects and for
all school ages;
(2) the choice of a suitable programming language is of vital importance for the novices;
(3) the concept of debugging (known from programming) is fundamental for the education
in general;
(4) the most important factor for successful
learning is the richness of the learning environment;
(5) Learning and discovery in a computer-based
learning environment can happen in a way
very similar to the way children normally discover the world around them.
The statements posed are expected to be
proved during the course.
Design of school inforrnatics curriculum
Some concrete examples, ranging from a curriculum entirely based on programming to a curriculum based on so-called "button-press informatics", are presented and evaluated. Some national strategies based on different new information technology products are discussed as well.
An example of an informatics curriculum for
all school ages [10] is taken as a basis for illustration of some basic ideas and principles. Following
the Research Group on Education scheme, the
informatics education is regarded in three levels:
(1) Primary level (lst-4th grade). Its objective
is providing initial, non-systematic knowledge in
an encyclopedic style about the children's environment. Some notions, like algorithms, coding,
decoding, variable, assigning a value to a variable,
table, graph, procedure, etc. are introduced and
applied in some rasonable school activities. The
educational software includes a set of computer
games, microworlds and Logo extensions, including one for controlling Lego machines, editors
(text, music, graphics), simple databases, etc.
(2) Secondary junior level (5th-7th grade). A
relatively systematic hand-on course in informatics on the base of variety of problems and activities closely related to other school subjects is
developed [10,11,13]. The variety of problems enables every pupil to follow his own way to informatics. Apart from informatics, some computer
applications penetrate deeper and deeper the
other school subjects. The educational software
includes a number of Logo-based microworlds
and software tools providing a good basis for
acquiring problem solving and information processing skills.
(3) Secondary senior level (8th-12th grade).
Computers are used as real universal laboratories
in mathematics, language, science, arts, music,
etc. when teaching some integrated X and Informatics subjects [10,18]. The subject Mathematics
and Informatics is expected both to enrich the
students' knowledge in informatics and to motivate studying mathematics. Special attention is
paid to pupils with special interests in informatics
who can even help teachers in software development.
R. Nikolov / An advanced Logo course
Some non-traditional approaches are discussed, for example:
(1) building an informatics curriculum by using
problem solving scenarios developed both
vertically (in grades) and horizontally (within
the same grade), rather than by using a number of artificial small problems [17];
(2) using "glass-box toy systems" (text editors,
databases, picture editors) instead of professional software systems [2];
(3) revealing some secrets of how to build new
Logo extensions by using the ideas of procedural and data abstraction [14];
(4) building up a system of analogies and
metaphors through which to describe both
the real computer and the models of some
imaginary machines [2];
(5) dividing the optional informatics topics into
"arms" which are to be chosen by the teacher
for the pupils according to their interests [18].
Techniques and tools for introduction of the basic
notions and ideas of informatics
The module includes a few topics presenting
some techniques and a set of metaphors and
analogies appropriate for introducing beginners
to the basic notions and ideas of informatics. The
students are offered a teaching method which
could be applied when teaching pupils in the
classroom.
The ideas of "playing the turtle" and "playing
computer" techniques, the advantages of iconic
programming when clarifying the hard parts of
Logo [4], the pigeon holes metaphor explaining
the scope rules for variables in Logo [15], the
substitution model for procedure execution, the
little people metaphor, etc. are demonstrated and
discussed. Special attention is paid to the methods for clarifying the notion of recursion and
helping pupils understand and write their own
recursive procedures. The most exploited is the
leap and faith method which is very helpful when
writing recursive procedures [5], applied together
with a bag of recursive procedure templates. For
the pupils who are interested in the process of
recursive procedure execution the telescope
model, the tracing and little people method [5]
could be used. A discussion on iteration and
recursion is provoked and exploited for clarifying
these notions. The ideas of using glass-box toy
241
systems at different levels of abstraction [2] are
also discussed in detail and illustrated by some
concrete examples.
Integrating informatics into the curriculum
The integration of informatics into the school
curriculum can be done at two levels:
(1) by using problems from the other school subject as a basis for clarifying some informatics
notions [9];
(2) by applying the methods and tools of informatics to understand better some topics of a
certain school subject.
For instance, an extended variant of the program given in [3] for an adjective comparison
form generation could be used when introducing
such notions as procedure, operation, scope rules
for variables, word and list processing, predicates,
logical operations, top-down programming, procedural abstraction and naming, debugging, etc.
The same program can be also used then teaching English as a second language at school.
TO MORE :ADJ
(LOCAL "L "SL)
IF VOWELS :ADJ> 2 [OUTPUT SENTENCE "MORE
:ADJ]
MAKE "L LAST :ADJ MAKE "SL LAST BUTLAST :ADJ
IF AND CONSONANTP :SL EQUALP :L "Y [OUTPUT
WORD :ADJ "IER]
IF OR EQUALP :ADJ "GOOD EQUALP :ADJ " W E L L
[OUTPUT "BETTER]
IF EQUALP :ADJ "BAD [OUTPUT "WORSE]
IF DOUBLEP :ADJ [OUTPUT (WORD :ADJ :L "ER)]
OUTPUT WORD :ADJ "ER
END
TO CONSONANTP :LETTER
OUTPUT NOT VOWELP :LETTER
END
TO VOWELP :LETTER
OUTPUT MEMBERP :LETTER [A E I O U]
END
TO VOWELS :WORD
IF EMPTYP :WORD [OUTPUT 0]
IF VOWELP FIRST :WORD [OUTPUT I + V O W E L S
BUTFIRST :WORD]
OUTPUT VOWELS BUTFIRST :WORD
END
TO DOUBLEP :ADJ
(LOCAL "L "SL "TL)
MAKE "L LAST :ADJ MAKE "SL LAST BUTLAST :ADJ
MAKE "TL LAST BUTLAST BUTLAST :ADJ
IF AND VOWELP :SL VOWELP :TL [OUTPUT "FALSE]
242
R. Nikolov ,/An advanced Logo course
IF OR (EQUALP :L "W) (EQUALP :L "Y) [OUTPUT
"FALSE]
IF AND VOWELP :SL CONSONANTP :L [OUTPUT
"TRUE]
OUTPUT "FALSE
END
Developing a personal software environment
A great part of the course is d e v o t e d to illust r a t i n g the idea that w h e n u s i n g a l a n g u a g e like
Logo you can initially b u i l d a l a n g u a g e e n v i r o n m e n t c o r r e s p o n d i n g to y o u r way of t h i n k i n g and
the p r o b l e m b e i n g solved. T h e l a n g u a g e can be
e n r i c h e d with m a n y powerful c o n t r o l and data
s t r u c t u r e s t a k e n from the o t h e r p r o g r a m m i n g languages: WHILE, REPEAT-UNTIL, FOR, CASE, iteration over a list, m a p p i n g , filters, arrays, sets,
trees, etc. [3,5,6]. S o m e t h i n g m o r e - - y o u c a n add
some exotic control and data s t r u c t u r e s which
b e t t e r fit c o n c r e t e personal needs and interests.
A d e f i n i t i o n of the w e l l - k n o w n control structure CASE is given below:
TO CASE :EXPR :LVRTS
IF LABELP EVAL :EXPR :LVRTS [CASE1 EVAL :EXPR
:LVRTS]
IF EQUALP "ELSE FIRST LAST :LVRTS [RUN LAST
LAST :LVRTS]
END
ciples of educational software development. The
importance of using powerful and user-friendly
software tools as different editors, tracers,
workspace and file managers, etc. is pointed out
and illustrated by examples. A bag with such
tools is developed by using some advanced programming techniques. A number of software tools
which can support the educational software development are proposed as well. For example, if
the CASE control structure has been already defined, a variant of the Single Keystroke Program
Generator [5] can be defined:
TO ONEKEY :NAME :COMMDS
LOCAL "TEXT
MAKE "TEXT [[ ] [LOCAL "CH] [PRINT [TYPE ? FOR
HELP]] [MAKE "CH RC]]
MAKE "TEXT LPUT SE [CASE :CH] FPUT.:COMMDS [ ]
:TEXT
MAKE "TEXT LPUT (LPUT (LIST "GIVEHELP
:COMMDS) [IF EQUALP :CH "?]) :TEXT
MAKE "TEXT LPUT FPUT :NAME [] :TEXT
DEFINE :NAME :TEXT
TO GIVEHELP :COMMDS
IF EMPTYP :COMMDS [STOP]
PRINT (SE FIRST FIRST :COMMDS "- LAST FIRST
:COMMDS)
GIVEHELP BF :COMMDS
END
TO CASE1 :CONST :LVRTS
IF EMPTYP :LVRTS [STOP]
IF EQUALP :CONST FIRST FIRST :LVRTS [RUN LAST
FIRST :LVRTS]
IF AND LISTP FIRST FIRST :LVRTS MEMBERP :CONST
FIRST FIRST :LVRTS [RUN LAST FIRST :LVRTS]
CASE1 :CONST BF :LVRTS
END
Now a family of Instant-like programs can be
easily produced, for example:
TO LABELP :CONST :CASE.LIST
IF EMPTYP :CASE.LIST lOP "FALSE]
IF LABELP1 :CONST FIRST FIRST :CASE.LIST [OP
"TRUE]
OP LABELP :CONST BF :CASE.LIST
END
I n the Logo workspace you can find the proced u r e s given below:
TO LABELP1 :CONST :LBLCOM
IF EQUALP :CONST :LBLCOM [OP "TRUE]
OP AND LISTP :LBLCOM MEMBERP :CONST :LBLCOM
END
TO EVAL: EXPR
IF LISTP :EXPR [OP RUN :EXPR]
OP :EXPR
END
Another basic direction considered in this
module concerns some guidelines and basic prin-
ONEKEY "INSTANT [[F [FORWARD 1011 [B [BACK 10]]
[R [RIGHT 151][L [LEFT 1511][P [PENS]]]
ONEKEY "PENS [[U [PENUP INSTANT]] [D [PENDOWN
INSTANT]] [E [PENERASE INSTANT]]]
TO INSTANT
LOCAL "CH
PRINT [TYPE ? FOR HELP]
MAKE "CH RC
CASE :CH [[F [FORWARD 10]] [R [BACK 10]] [R [RIGHT
15]] [L [LEFT 15]] [P [PENS]]]
IF EQUALP :CH "? [GIVEHELP [[F [FORWARD 10]] [R
[BACK 10]] [R [RIGHT 15]] [L [LEFT 15]] [P [PENS]]]]
INSTANT
END
TO PENS
LOCAL "CH
PRINT [TYPE ? FOR HELP]
MAKE "CH RC
R. Nikolov / An advanced Logo course
CASE :CH [[U [PENUP INSTANT]] [D [PENDOWN
INSTANT]] [E [PENERASE INSTANT]]]
IF EQUALP :CH "? [GIVEHELP [[U [PENUP INSTANT]][D
[PENDOWN INSTANT]] [E [PENERASE INSTANT]]]]
PENS
END
By means of a tool like ONEI<EY, a variety of
computer games, picture, text, and music editors
can be generated and used in the primary school
curriculum.
Working on advanced projects
The module includes t e a m work on more advanced projects according to the following
scheme:
(1) reading and understanding a research p a p e r
or separate chapter of a book dealing with
specific application of Logo and adapting the
programs included in it;
(2) enriching and modifying the programs;
(3) finding some reasonable educational applications in the existing school curriculum.
The proposed projects cover all the mentioned
aspects of teaching informatics at school including:
(1) developing specialized software tools and language extensions, for example, object-oriented Logo extension, file manager, a tool for
generating a family of Animals-like programs,
including an editor for data base binary tree
manipulation and its graphical display, a tool
for adventure games writing, etc.
(2) developing and applying subsets of programming languages, for example Pascal, s o l o ,
LISP;
(3) developing some glass-box toy systems:
databases, text, picture and music editors,
graphics system, etc.;
(4) developing learning environments in mathematics, language, physics, and music;
(5) working on, and finding reasonable applications in education of some advanced topics of
AI: knowledge representation, symbolic manipulation, expert systems, natural language understanding, etc.
Every t e a m should present its project at specially organized seminars and final performances.
Thus the scope of the topics included in the
course is extended by the students.
243
Teaching at school
Every student goes for two months into a real
school and teaches pupils following the existing
curriculum in informatics. Under the guidance of
some advanced teachers the students can compare their dreams with the reali2c.in school.
Conclusions
Though most educators agree that educational
software should be produced by' the joint efforts
of teachers and programmers, most of the existing software is not developed in this way. The
practising teachers do not have suitable qualification, self-confidence, or simply willingness and
time, to write their own pieces of software. The
programmers usually have only a slight impression of the school's curriculum and the methods
of teaching. Education needs a new type of specialists capable of applying the power of the
computer when developing new methods of
teaching in a very rich learning environment. The
course delivered at the D e p a r t m e n t of Mathematics and Informatics of Sofia University is only
a slight move towards a new pedagogy.
References
[1] H. Abelson and G. Sussman, Structure and Interpretatton
of Computer Programs (MIT Press, Cambridge, MA.
1985).
[2] D. Dicheva and R. Nikolov, Glass box toy-systems in
school informatics. In: G. Schuyten and M. Valcke, eds.
Proceedmgs of the Second European Logo Conference,
Gent, Belgium (1989) 638-649.
[3] M. Friendly, Advanced Logo (Lawrence Erlbaum, Hillsdale. NJ, 1988).
[4] P. Goldenberg, Iconic programming. In: Logo '86 (MIT
Press, Cambridge, MA, 1986) 32-34.
[5] B. Harvey, Computer Sctence Logo Style, V1 (MIT Press,
Cambridge, MA, 1985).
[6] B. Harvey, Computer Science Logo Style, V3 (MIT Press,
Cambridge, MA, 1987).
[7] R. Nikolov, A learning environment in informatics. PhD
Thesis (Sofia University, 1987) (in Bulgarian).
[8] R. Nikolov, Teacher training in Logo. In: F. Lovis and D.
Tagg, eds. Informattcs and Teacher Training, Proceedings
of the IFIP WG 3.1 Working Conference (North-Holland, Amsterdam, 1984) 59-68.
[9] R. Nikolov, Integrating informatics into the curriculum,
Education & Computing 3 (1987) 269-274.
244
R. Nikolov / An advanced Logo course
[10] R. Nikolov and E. Sendova, Informatics for all school
ages. Submitted to EUROLOGO '9L Parma, Italy.
[11] R. Nikolov and E. Sendova, Informatics textbooks for
beginners. In: Proceedings of the First International Conference "Children in an Information Age", Varna, Bulgaria (1985) 621-629.
[12] R. Nikolov and E. Sendova, Can the teacher's creativity
overcome the limited computer resources? Education &
Computing 4 (1988) 179-184.
[13] R. Nikolov, E. Sendova and D. Dicheva, What to teach in
informatics and how--a Bulgarian experiment. In: F.
Lovis and D. Tagg, eds. Computers in Education (NorthHolland, Amsterdam 1988) 427-432.
[14] R. Nikolov and D. Dicheva, Introducing the concept of
data types using Logo. In: G. Schuyten and M. Valcke,
eds. Proceedings of the Second European Logo Conference, Gent, Belgium (1989) 650-662.
[15] I. Nikolova, A metaphor explaining scope rules for variables in Logo. Submitted to EUROLOGO '91, Parma,
Italy.
[16] E. Sendova and R. Nikolov, Teachers have been growing
up. In: F. Lovis and D. Tagg, eds. Computers in Education (North-Holland, Amsterdam, 1988) 145-148.
[17] E. Sendova and R. Nikolov, Problem solving scenarios in
secondary school textbooks in mathematics and informatics. In: G. Schuyten and M. Valcke, eds. Proceedings of
the Second European Logo Conference, Gent, Belgium
(1989) 650-663.
[18] E. Sendova, R. Nikolov and D. Dicheva, Mathematics
and informatics--an attempt for integration in the secondary school curriculum. In: Proceedings of the Third
International Conference "ChiMren in the Information
Age", Sofia, Bulgaria (1989) 155-166.
Rumen Nikolov was born in 1955 in
the town of Pernik, Bulgaria. He
graduated from the Faculty of Mathematics and lnformatics at Sofia University in 1980, where he is still working as an assistant professor. In 1987
he obtained a PhD in the field of
Informatics and Education. Since
1982 he has been involved in the activities of the Research Group on Education at the Bulgarian Academy of
Sciences and the Ministry of Education. Dr Nikolov is the author of several textbooks and papers, and he takes part in teaching
students and teachers. As a Unesco expert he gave Teacher
Training Consultancy in Syria and Egypt. Since 1989 he has
been a member of the IFIP Working Group 3.5.