[Lazarus] Teaching Pascal at College

Chris Kelling kellingc at cox.net
Wed Oct 12 20:52:36 CEST 2016

I'll tell you, after years of doing top down modular programming, it 
took me a little time to adjust to event driven programing.  It wasn't 
until I used a FOR loop on a form to collect the input that I realized 
what the difference is.

For a beginning student, you can approach it in two ways - teach 
programming concepts or just teach the language.  This is what I learned 
in my Computer Science classes.

I had a couple of classmates who were hot shots in JAVA by reading the 
tutorials online.  Where as their mastery of JAVA was impressive, they 
had no concept of what they were doing in the context of programming. 
This was a data structures class, and concepts and how to apply them was 
totally lost on them.  Their code was sloppy, inefficient, and very hard 
to troubleshoot.

One exercise in my C class called for creating a linked list.  I used 
recursion, which took my instructor off guard.  He said it wouldn't 
work, and I asked, "It worked on all my tests, should I stop doing it 
this way?"  He looked at my code again, get a huge  smile and remarked 
I used recursion.  I said yes, the pre-req for the course was 
programming I and II, which is where we learned recursion.  He still 
have me more credit because most students were using some king of loop

The point being, the language doesn't matter except for syntax. 
Programming is programming.  That being said, more to what you asked.

To understand how the more advanced concepts work and are used, there 
needs to be a broad base.  I still write a lot of my logic in a unit and 
then add that unit into a project.  Defiantly start them off making 
simple console programs just to demonstrate the concepts.  I'd do it via 
the Lazarus IDE so they get used to that environment.  After they have 
the basic concepts, introduce what Lazarus is - a group of libraries 
extending FPC into the visual design.  They should have enough of a 
grasp on the concept of say arrays to understand how a
list control works, or how you can use conditional branching (both IF 
-THEN-ELSE and CASE) to check for radio button and check box states.

But then again, I'm not a professional educator.


On Wed, Oct 12, 2016 at 2:10 PM, Adrian De Armas via Lazarus wrote:

  Hello everyone, I am a professor of "introduction to programming". 
Currently we are working with matlab and c.

Today I had a meeting about doing the module more interesting to the 
students. Currently we teach algorithms making console applications and 
usually I receive questions like "Why don't we do something more 

I recommended that we should use Pascal in General and Lazarus in 
particular to teach how to create rich GUI Applications and to my 
surprise the idea was well recieved. Now I have to make suggestions 
about how to prepare the module starting from zero. Students do not know 
how to program and I need to include subjects as: variable declaration, 
operations, if, while, for, functions and procedure, arrays and 
multidimensional arrays.

I would love to know what you think about making the transition from 
console to GUI.
This is an exciting opportunity I'd love to make it right.



Lazarus mailing list
Lazarus at lists.lazarus-ide.org 
<javascript:parent.wgMail.openComposeWindow('Lazarus at lists.lazarus-ide.org')> 
<javascript:parent.wgMail.openComposeWindow('Lazarus at lists.lazarus-ide.org')>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20161012/3c5c2965/attachment.html>

More information about the Lazarus mailing list