![[QFK Logo]](qfklogo.gif)
Creating a computer-based environment that helps novice programmers learn Lingo is a significant challenge . How do I approach the learners when there are no person to person interactions involved? Fortunately, some of the practices that I witnessed during the QFK trip to Greece shed light on this problem. These practices are discussed here and their relative merits and short comings are detailed.
The first aspect of a computer-based
educational environment that students see is the interface. Therefore, it is
important that the interface is welcoming and helpful rather than formidable
and confusing. This is where a study of ancient Greek propylaea can help.
Propylaea are monumental gateways. They direct and constrain visitors' first impression of the monuments in ancient sanctuaries. Propylaea give visitors the best view of the monuments and originally gave visitors an opportunity to prepare themselves for the experience that was ahead of them. For instance, before entering the sacred ground of the sanctuary, ancient visitors contemplated and cleansed themselves in the propylaeum. Some propylaea were also decorated with objects of art that visitors could observe while they prepared to enter the sanctuary. Propylaea could also be intimidating, like The Lion Gate of Mycenae that was built to scare away enemies or at least make their attacks more difficult. Similarly, the propylaeum at Olympia was used to discourage athletes from cheating. Statues of all athletes who had cheated in past Olympics were placed along the propylaeum at Olympia that led into the stadium, a "Hall of Shame". The concepts of these examples can be translated into human-computer interface design. An interface should direct and constrain an individual's attention in a specific way that gives them the best initial view of the experience to come. Also, the interface should be either welcoming or forbidding depending on the desired effect. Some navigation buttons can be arranged in a natural setting that people intuitively follow and other buttons that are dimmed or disabled so that people won't have access. The use of passwords is another example that the interface only allows people with proper permission to access. In essence, the user interface should be carefully designed to act as a monumental gateway to the computer application behind it, giving the user the best view from the outset. The interface should also help prepare the user for what is to come.
The lion Gate of Mycenae
Unfortunately, even the best interface cannot overcome the difficulties that many students have when learning through a computer. The difficulties include:
Because I am well immersed in my field, I have strategies and
methodologies to support my learning of new computer applications
and languages. I have already developed the meta-cognitive skills
necessary for learning new computer application and languages.
However, during my visit to Greece, I had problems similar to
those listed above. For example, during our cruise around the
Aegean sea, we were exposed to many sites in a short period of
time. The schedule for our visits were tight, so we did not have
much time to look around and in several instances we did not have
a tour guide. I found that without a tour guide I lost my focus
and could not absorb as much of the site as I did when guided
by Stella or Steve. There were many tour books that had pictures
and explanations of the sites but there was not enough time to
absorb all of the text and images. The information provided in
the tour books is good for reference if I need more details but
I did not have the right medium (a tour guide) to convey their
stories of a site within a short period time. However, when first
introduced to something we need a quick overview and some expert
guidance to focus us on the most important aspects of what we
are looking at and determine where to go next.
During the visit to the National Archaeological Museum of Athens, Stella identified several artifacts by the period of time they were produced and the characteristics that each artifact has. She built a foundation of understanding which we relied on so that we could use that as a tool for reasoning and questioning. Steve gave us a much broader view of the Greek culture, "Aegean Civilization". The way he helped us reason through certain ancient activities gave us a good model for learning. His point of view of the Agora was another good case. I think the most valuable of all was the fact that they could answer our questions properly. This is the most difficult but important parts of a mediated multimedia to implement well. Why are Stella and Steve's approaches so effective? Try to remember the last time when you were trying to figure out how to use a map to explore an unfamiliar place, did the map help? Maps are useful because of their clear directions. People who design maps already eliminate the complexities of a real-world environment and use geometric shapes to define a higher level model of the place for us.
When we try to guide novices through learning programming we need to reduce the complexity, we need to use a map-like big picture to allow learners to know the boundaries and directions . The following Lingo codes are helpful in understanding the need for a big picture.
Examples:
set the foreColor of sprite 25 to 35
We have difficulty memberizing the codes without making sense of them. First of all, we have to understand what the whole sentence stands for. In computer terms, the whole sentence is a statement with its unique combination of syntax. Each word is very similar to plain English except for the number 25 and 35 which are confusing to us. If we could understand the syntax by looking at the big-picture, maybe it would not be so difficult. Before we try to understand whatforeColormeans and what the numbers 25 or 35 mean we might use plain English to decipher the codes.
Interpretation:
Define <set> the foreground color <a property calledthe foreColor>of an object on the 25th channel<sprite 25>and assign<to>a color code 35 (red) to the object to be displayed on the screen.
By looking at the codes this way, we understand that the whole sentence is a complete statement and that we could not have left out any of the words. We might replace some of the elements so that we have different uses of the functions and yet we stick with the same structure.
another example:
set the locH of sprite 25 to 300
So this is the same structure which allows us to change the horizontal location of an object on the screen. When we use this understanding to explore the syntax, the numbers and the keywords are no longer mysterious to us. All we need is the right sources to look at so that we know what each element stands for.
The use of a guide to represent an overview or big picture is not always without problems. What if a guide's thoughts are biased or flawed? Could a student tell the differences? Students need to learn to question their guide. I propose a two-step learning environment which has the benefits of the tour guide and yet it still encourages learners to be active and independent, acquiring the meta cognitive skills necessary to become good programmers.
The structure of the learning Lingo lesson units Ideas Goals Desired Outcomes Associated Learning Theories Propylaea/Guides Overview/Fundamentals Active Learners Cognitive Apprenticeship Allegory/Excavations Meta Cognitive Skills Life-long learners Case-based Reasoning
The hope is that this approach will overcome the challenge that Plato describes in his allegory and will motivate learners to seek a clearer understanding of programming independently in their life time.
How did the archaeologists excavate the great finds when the sites were buried underground? Where did they start digging in the first place? They investigated myths and other preserved artifacts well enough so that they could come up with the right places. Particularly good results are achieved when other disciplines are enlisted in the excavation of ancient sites. This interdisciplinary work is important in Lingo programming as well because many media are involved. Lingo programming involves audio, video and hypertext based multimedia that the breadth and the depth of this task is very similar to the process of the excavations. The key to unlocking the power of Lingo programming is to understand the attributes of the media, contents, interfaces and the target audience. Please remember that Lingo programming is not just writing sentences of instructions, it is the process to uncover the power which had been coded into Director by Macromedia engineers.
Allegory is an extended metaphor, a complete story that conveys a complex concept. For example, some scholars believe that the allegory of Pandora's box is an allegory for the fears of the female reproductive process (some people might also apply Pandora's allegory to computers). As another example, aspects of the myths in Hesiod's Theogeny can be interpreted as allegories for the forces in nature like evil and good and how they relate with each other. Allegories can help people understand unfamiliar and complex situations by putting them in a familiar context.
The sprites, the cast members and other terms in Director are the representations of computers codes which Macromedia programmers created to allow non-programmers to create interactive applications. The use of Allegory to reason and question the true form of knowledge is very helpful in building our understanding of Lingo programming. If we want to create an environment full of clickable objects that can be moved only when the users click on a object on the screen. It might be fine if we deal with five to ten of them. But what if there are few dozens of them and we need to assign specific Lingo codes to each sprite member idividually?Example:
set the locH of sprite ( the clickOn ) to 300This example might well solve the problem and give us the efficiency we need. But how to locate the property in the first place to solve the problem? We need to deal with users' behaviors of clicking on the objects and perform specific function for them. If we search for on-line help in the section C of the Lingo alphabetical elements, look for "click" or something similar that could facilitate collecting feedback from users and also a valid sprite number.
![]()
Soc. Herein lies the difficulty which I can never solve to my satisfaction-What is knowledge? Can we answer that question? ....
.....
Theaet. Then, I think that the sciences which I learn from Theodorus-geometry, and those which you just now mentioned-are knowledge; and I would include the art of the cobbler and other craftsmen; these, each and all of, them, are knowledge.
Soc. Too much, Theaetetus, too much; the nobility and liberality of your nature make you give many and diverse things, when I am asking for one simple thing.
.....
Soc. ..... When you speak of cobbling, you mean the art or science of making shoes?
Theaet. Just so.
Soc. And when you speak of carpentering, you mean the art of making wooden implements?
Theaet. I do.
Soc. In both cases you define the subject matter of each of the two arts?
Theaet. True.
Soc. But that, Theaetetus, was not the point of my question: we wanted to know not the subjects, nor yet the number of the arts or sciences, for we were not going to count them, but we wanted to know the nature of knowledge in the abstract. Am I not right?
.....
Soc. ..... How can a man understand the name of anything, when he does not know the nature of it?
.....
Soc. And when a man is asked what science or knowledge is, to give in answer the name of some art or science is ridiculous; for the -question is, "What is knowledge?" and he replies, "A knowledge of this or that."
How could we use this concept to enhance our understanding of the programming syntax? I would like to throw out more Lingo codes and hope these examples will help you understand more in-depth problem-solving skills.Examples:
set the locH of sprite 25 to 300We understand that this statement is used to move the object horizontally. But we might be skeptical that if there are more similar functions that might allow us to do a better job. The use of on-line help and the "dialogue" between it bring us more to the nature of the syntax. By clicking at the L section of the alphabetical elements, we find
the locV of spriteandthe loc of spritewhich allow us to move vertically or two dimensionally. We can expand our understanding even further by looking at the Lingo by feature section of on-line help. Since we are dealing with changing the property of an object (sprite), we can search for more information in the "sprites" section. In the section, there are all the relevant elements that are related to the attributes of "sprites." Though it is hard to create a mediated multimedia environment which has the power and knowledge to cope with such kind of dialogues, I hope to stimulate more intrinsic rewards for the learners so that they could reason and question independently and actively.
![]()
To learn more about the aspects of Greek culture that inspired this article, please continue to read the Artifacts Page