![[Propylaea Picture]](propylaea.jpg)
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.
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...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?....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.
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