Professional Documents
Culture Documents
Teaching Programming To Beginners: Paul Fischer
Teaching Programming To Beginners: Paul Fischer
My opinion
I think programming techniques are essential. Many tasks previously performed by mechanical devices are now performed by computers. An engineer has always been taught to evaluate dierent designs of mechanical objects. He knows when to use rivets, when to use nuts and bolts and when to weld. Likewise should he know and be able to evaluate alternatives when it comes to software solutions.
Personal opinion
Even when teaching programming techniques, one should choose a language which is not too exotic or abstract. The problem with an unusual language is that people might think that the programming paradigms they learned can only be used with that language and are not supported by more common languages.
Instructional means I
Show the skilled programmers that they do not know everything: Transform boolean conditions, e.g., change between WHILE(cond) and REPEAT . . . UNTIL(cond).
Use advanced data structures (trees, maps, tables), and components (iterators, comparators). Wrong use of recursion (Compute Fibonacci(40)). Small (voluntary) competitions.
Instructional means II
For the less skilled programmers: Structured presentation Abstract programming concept. Examples for appropriate use. Implementation. Show alternatives and discuss when to use which one. Example: Encapsulation and inheritance support dierent implementations of an abstract data type.
Powerful enough to demonstrate the programming concepts. Easy to learn (rather restrict to a part of the language than to drop important concepts). Not error-prone: Get running programs fast. Good documentation, suciently many good books. Easy to use development tools. Well supported fun things: Graphics, accessing the web.