The disclosure of the power

Using Macromedia Director to teach Lingo programming

Interfaces and Reasoning -- Ideas Page

[QFK Logo]

Interfaces to Greek Culture

Propylaea are monumental gateways that were used at many ancient sanctuaries to constrain and direct the visitors' view as they enter the site.  It is essentially an interface between a sanctuary and the outside world. The function and purpose of propylaea in ancient Greece will be examined in this article and will be translated into modern computer interface design. It transpires that the metaphor of propylaeum as interface is quite useful when developing a mediated environment to teach Lingo.

[Propylaea Picture]

Another, type of interface to Greek culture that I encountered on the QFK trip were our tour guides, Stella and Steve. Stella and Steve used their understanding of the Greek culture to walk us through the odyssey of ancient Greece in a relatively short period of time. It is very important for students to be given the type of big picture and guidance that guide like Stella or Steve can provide. This initial guidance is much more helpful to novice programmers than learning through program examples, or by trial and error. If we could build a robust instruction environment that includes the useful aspects of a propylaeum and a tour guide, we could make it easier for multimedia designers to learn how to program.


Reasoning - Going beyond the nuts and bolts

As mentioned earlier, computer programming is not just a matter of learning a language, it also involves complex a problem-solving skills. Knowing the nuts and bolts of a language only allows programmers to deal with individual problems. It is also important for novice programmers to learn how to approach a complex situation and decompose it into a set of individual problems. This is like archaeology in many ways. When we visited archaeological sites in Greece, I was fascinated by how people excavated the archaeological sites when the ruins were buried underground. In many cases, archaeologists spent years of research, trying to determine where to dig. In a sense, before we create a computer program, we have to determine the right spot to "dig". Well before we start programming, we have to analyze the problem at hand and determine the best approach. At many ancient sites in Greece, I was also impressed that people combined original pieces with new pieces made from exactly the same materials to reconstruct the monuments.

[Piece Picture]
An excavation site in Olympia, original artifact pieces and new materials are used for reconstruction.

This combination of new and old is akin to what experienced programmers do when we write computer programs. We look for existing sections of code that have some of the functionality that we need and then we combine these with new code to create a fully functional program.

This comparison between computer programming and archaeology might help novice programmers understand the overall process of digging into a problem and then constructing a program from new and old computer code. However, there is an additional aspect of teaching novice programmers how to write computer programs. Since one of the goals of programming is to make efficient programs that don't take a lot of time to write, run and maintain, novice programmers need to gradually  develop a deeper understanding of the language so that they can write programs that are more elegant and efficient. The main challenge here is to stimulate users to be active, lifelong learners who reflect upon their own solutions and  try to find better solutions by themselves. This challenge is well described in Plato's allegory in The Republic Book VII.

...when any of them is liberated and compelled suddenly to stand up and turn his neck round and walk and look towards the light, he will suffer sharp pains; the glare will distress him, and he will be unable to see the realities of which in his former state he had seen the shadows; and then conceive some one saying to him, that what he saw before was an illusion, but that now, when he is approaching nearer to being and his eye is turned towards more real existence, he has a clearer vision...

....my opinion is that in the world of knowledge the idea of good appears last of all, and is seen only with an effort; and, when seen, is also inferred to be the universal author of all things beautiful and right, parent of light and of the lord of light in this visible world, and the immediate source of reason and truth in the intellectual; and that this is the power upon which he who would act rationally, either in public or private life must have his eye fixed.

What's intriguing to me about this dialog is not about a right answer or a wrong one. It is about the endless possibilities. This allegory is an inspiration when we try to learn a language. In computer languages, you can achieve a single goal with different approaches and the best solution depends on a programmer's proper decomposition and analysis of the problem. So, important questions that novice programmers need to ask themselves include: What is the problem? Am I looking at the right thing or am I just looking at the shadow of the problem?

When it comes to learning computer programming, some people might exclaim "Don't throw me any possibilities, just give me an answer." The problem is "I can't!" I might provide learners with an interface that would constrain their attention to the proper direction. I might also be able to give learners guidance, necessary tools to dig, and a sense of the various possibilities and solutions to a problem but it is the learners' job to develop their programming styles and problem solving skills. Allegories give guidance but not the answer and are therefore very powerful and can be used to teach a complex concept without giving a single answer.

To get a better sense of how these ideas can be used to create a more effective environment for teaching multimedia designers to program in Lingo please continue to read the practices page.

Main || Ideas Page || Practices Page|| Artifacts Page