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