[Lazarus] Teaching Pascal at College

J├╝rgen Hestermann juergen.hestermann at gmx.de
Tue Oct 18 15:23:01 CEST 2016

Am 2016-10-18 um 12:53 schrieb Mehmet Erol Sanliturk via Lazarus:
 > Order of teaching is not so critical : As you say , write a GUI program for events : Say : "Now it is necessary to define what will be done for the events ? ... Its way is the following : Write your program parts in that way ..."

IMO the order is extremly important!
If you start with the fundamental informations
(how does the processor work in general,
how are variables stored (stack/heap/etc.),
what does the processor do in loops, etc.)
then this information is remembered very well
because everybody can imagine what goes on in general.
You can *predict* what will (should) happen in your program.

If you just start with clicking you do not know *why* it works
(if it works) nor do you know *why* it does not work (if it does not do so).
They would always need someone at hand with exprience to tell them how
to continue. This can be very frustrating for studends.

Therefore I would always present at least a rough overview about procedural
programming before starting with objects and events. In the end, the latter
is still processed in a procedural manner which every programmer should know.

 > My application was like the following ( as a very simple example ) :
 > Pose a problem "Display your name ."
 > After this is done :
 > "Display your name 10 times ."
 > The students were not able to write their programs . Then , solution was
 > "You should use a loop ."
 > "A loop is defined in the following ways : ... "
 > Such an approach is used frequently in Mathematics text books :
 > Subject text .
 > Problems ..
 > Last problems were "Unsolvable" with the above text .
 > Solution :
 > "Read the next chapter ..."
 > Such approaches are "the Art of Teaching" ...

IMO this "approach" has a severe drawback:
The students do not get an overall picture of what
*can* be done and *how* it can be done.
If they do not know about loops how should they
know that they exist? They would need to read *everything*
that is available and hope to find something helpful.
That is very frustrating and can lead to suboptimal solutions
because they get tired of reading yet another chapter and
instead use something else (like copying the code in the editor 10 times).

More information about the Lazarus mailing list