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,
Thank you all who spent your time reading and suggesting about this 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...)
   - read, readln, write, writeln
   - 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;

instead of

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@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@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus



     ------------------------------

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to