# [Lazarus] Teaching Pascal at College

Chris Kelling kellingc at cox.net
Thu Oct 13 16:18:33 CEST 2016

```Because there are some basic controls that use array logic (lists, combo
boxes, even edit boxes when dealing with positions of characters in a
string), I'd introduce the concept with the variables. If the student
can make the connection between the visual controls and concept of array
logic, the inserting, selecting, and manipulation of that data should be
easy to grasp.

Considering your audience, it should fit in with stuff they are already
familiar with, just not thought of in the way of how a computer
organizes memory?  Meh, may be I'm getting too far down into the weeds.

On Thu, Oct 13, 2016 at 9:37 AM, Adrian De Armas via Lazarus wrote:

> First of all,
> subject.
> First, some clarifications. When I wrote "modern" my comparison was
> againts
> console applications. Even those students who won't do a line of code
> except in my class realize that console applications are not what they
> have
> been using since they approached to a computer.
>
> Introducing GUI is an efford to make the module more attractive to the
> students (the droupout rate is high). The module is taught as a basic
> science. All my students will be civil, environmental or bio engineers
> but
> not computer engineers. So I have two modules (Introduction to
> programming
> and advanced programming) to give them an idea of what programming is.
>
> My main focus now is "introduction to programming". It is a
> four-months
> course and given your advice, I will split the course in two months
> parts.
>
> First part will be all console applications where I will introduce the
> basics of pascal:
>
>    - structure of a pascal program
>    - variable declarations (integers, doubles, strings...)
>    - operations (+. -, *, /)
>    - if, case, while, for, repeat/until
>    - procedures and functions
>    - algorithms like getting prime numbers, fibonacci series, etc
>
> The second part will introduce:
>
>    - GUI environment. Dropping components on a form and arrange them.
>    Changing properties.
>    - Event oriented programming
>    - simple and multidimensional arrays
>    - ¿files?
>
> I will use some specific components to help the transition for
> example:
> var
>   a, b, c: integer
> begin
>   ...bla..bla...
> c=a+b;
> end;
>
> In GUI a, b, and c will be spinedits with a "value" integer property
> so I
> can write:
>
> spineditc.value := spinedita.value+spineditb.value;
>
>
> editc.Text := IntToStr(StrToInt(Edita.Text)+StrToInt(Editb.Text));
>
> Comboboxes and list control will be used in case statements with the
> "ItemIndex" property
>
> Memo.Lines and arrays will be given at the same time...
> etc...
>
> What do you think?
>
>
> Regards
>
>
>
>
>
>
>
>
>
>
>
> 2016-10-13 7:02 GMT-03:00 Graeme Geldenhuys via Lazarus <
> lazarus at lists.lazarus-ide.org>:
>
>> On 2016-10-13 10:04, Michael Schnell via Lazarus wrote:
>>> IMHO it's a shame, but new
>>> projects in Pascal seem to be declining,
>>
>> That's got nothing to do with the Object Pascal being modern or not
>> (I
>> think it is modern enough). The decline is about marketing and
>> popularity contests, and management decisions (how easy is it to
>> replace
>> a Object Pascal developers vs a Java developer).
>>
>> Delphi being sold every other year doesn't help with the stability of
>> Object Pascal in the marketplace either.
>>
>> Regards,
>>   Graeme
>>
>> --
>> _______________________________________________
>> Lazarus mailing list
>> Lazarus at lists.lazarus-ide.org
>> http://lists.lazarus-ide.org/listinfo/lazarus
>>
>
>
>      ------------------------------
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus-ide.org
> http://lists.lazarus-ide.org/listinfo/lazarus
```