Recent

Author Topic: Using Lazarus to teach Introduction to Programming  (Read 1691 times)

Thaddy

  • Hero Member
  • *****
  • Posts: 19117
  • Glad to be alive.
Re: Using Lazarus to teach Introduction to Programming
« Reply #15 on: April 21, 2026, 04:27:11 pm »
Since when is GUI important anyway. That is also a misconception of the trade.
A presentation layer is just that: a presentation of compute results.
Can be audio, touch reader, video, terminal, platform GUI, whatever: IT IS NOT IMPORTANT for teaching programming.
<sigh>
Most software is written without a focus on the presentation layer anyway.

Superficial beauty is skin deep I learned the hard way.

(More about guitars than about my string of former girlfriends and my wife, whom with all I am still friendly with)
« Last Edit: April 21, 2026, 04:36:38 pm by Thaddy »
objects are fine constructs. You can even initialize them with constructors.

LeP

  • Sr. Member
  • ****
  • Posts: 290
Re: Using Lazarus to teach Introduction to Programming
« Reply #16 on: April 21, 2026, 04:39:21 pm »
@440bx
Beyond what were said, I hope you won't teach anyone to ride a bike.
When you teach something, obviously we're talking about the initial stages of learning to ride a bike, youd don't let them do whatever they want, and don't expose them to danger.
Don't let someone learning to ride a bike ride on the street where other vehicles are driving... once they've learned the basics, they'll ADVANCE in the course and start riding on the street, first explaining how to ride the bike in the stree, what you might encounter, etc. (and this is before they even go to practice on a road frequented by motorcycles/cars/trucks/etc.).
« Last Edit: April 21, 2026, 04:42:54 pm by LeP »
Un Sistema per domarli, un IDE per trovarli, un codice per ghermirli e nel framework incatenarli.
An operating system to tame them, an IDE to find them, a code to catch them and in the framework chain them.

DavidL

  • New Member
  • *
  • Posts: 19
Re: Using Lazarus to teach Introduction to Programming
« Reply #17 on: April 21, 2026, 05:06:53 pm »
The OP's probably abandoned this thread since it's turned into yet another pissing match.

Anyway, it's still not clear if a chromebook can be used to run Lazarus and how well that might work.  Chromebooks are generally only useful as wedges and maybe a doorstop on a good day.   :-X

Regarding course structure, Jeff Duntemann's FreePascal from Square One might be an excellent resource.

Now, back to the regularly scheduled pissing match...is FPC ever going to see another release?  (Ducks and runs for cover...)   :-[

LeP

  • Sr. Member
  • ****
  • Posts: 290
Re: Using Lazarus to teach Introduction to Programming
« Reply #18 on: April 21, 2026, 05:47:36 pm »
Chromebooks run a Linux-derived operating system (Chrome OS) and have supported Linux natively in a sandbox (shared with all Linux applications) since 2019. This is configured using the "Developer" setting (roughly from these menus: Settings/Info/Developer), and you should have a complete Debian environment (but I think that you can choose what distro to use).
Theoretically, you should be able to install Lazarus/FPC.
Graphical applications in Linux will open as windows in Chrome.

You can also install XFCE and LXQT if needed, but this approach is not recommended, take care about load work.
Un Sistema per domarli, un IDE per trovarli, un codice per ghermirli e nel framework incatenarli.
An operating system to tame them, an IDE to find them, a code to catch them and in the framework chain them.

440bx

  • Hero Member
  • *****
  • Posts: 6462
Re: Using Lazarus to teach Introduction to Programming
« Reply #19 on: April 21, 2026, 06:06:01 pm »
Considering the OP has been a member for 12 years, it's reasonably safe to presume he has a lot of programming experience, maybe as much as 20+ years.

This very experienced person will teach programming to accomplished high school students.

The best thing he can give those students is as much of his programming experience as he can.  This means, creating a programming context.  For instance, inform the students of the many programming languages available today, state their pros and cons and, tell them why learning Pascal is a good investment of their time (otherwise why would those students even be interested ??.)

Once, they've been told the pluses of learning Pascal, inform them of the various programming paradigms, pros and cons of each then proceed to describe console and GUI applications.  Since they'll be learning using a GUI app (Lazarus), they really should be introduced to a GUI's app architecture which can then be compared to that of a console app. 

Succinctly, inform them, educate them, open their minds, expand their horizons.  Don't put blinders on them and narrow their abilities and views with a one track programming approach (console apps.)

Of course, it's much easier and less work to limit their education to console apps.  It really doesn't take much work nor talent to teach someone such a narrow view and pass it as "education".

Anyone can learn Pascal reading a book.  The best thing an experienced programmer can share is their programming experience, give the kids a good view of the programming world while teaching them to program.
FPC v3.2.2 and Lazarus v4.0rc3 on Windows 7 SP1 64bit.

Thaddy

  • Hero Member
  • *****
  • Posts: 19117
  • Glad to be alive.
Re: Using Lazarus to teach Introduction to Programming
« Reply #20 on: April 21, 2026, 06:15:23 pm »
Yes, introduce to GUI apps, but much later in the curriculum.
That is my point: first logic then presentation, As a teacher I would not mind the presentation as long as the effort to obtain compute results are correct or nearly correct. Then grade them, which is also a dark art, btw.... O:-)

How would you look through beautiful reasoning with a wrong result?
Is that insufficient? That's how a teacher works, it is not the result.
All - not almost all - professionally schooled teachers will agree.
« Last Edit: April 21, 2026, 06:29:57 pm by Thaddy »
objects are fine constructs. You can even initialize them with constructors.

Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2695
Re: Using Lazarus to teach Introduction to Programming
« Reply #21 on: April 21, 2026, 06:36:59 pm »
Chromebooks run a Linux-derived operating system (Chrome OS) and have supported Linux natively in a sandbox (shared with all Linux applications) since 2019. This is configured using the "Developer" setting (roughly from these menus: Settings/Info/Developer), and you should have a complete Debian environment (but I think that you can choose what distro to use).
Theoretically, you should be able to install Lazarus/FPC.
Graphical applications in Linux will open as windows in Chrome.

You can also install XFCE and LXQT if needed, but this approach is not recommended, take care about load work.

It depends a bit on the Chromebook model. On the one I bought a few years ago  (HP) you cannot enable Linux.
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

creaothceann

  • Sr. Member
  • ****
  • Posts: 350
Re: Using Lazarus to teach Introduction to Programming
« Reply #22 on: April 21, 2026, 07:20:23 pm »
For what it's worth, in the '90s our high school teachers started with graphics programming... via Logo. This turned out to be an excellent choice, since it provided immediate feedback. (The speed of our machines also meant that we could easily follow the drawing process.)

LeP

  • Sr. Member
  • ****
  • Posts: 290
Re: Using Lazarus to teach Introduction to Programming
« Reply #23 on: April 21, 2026, 07:57:48 pm »
It depends a bit on the Chromebook model. On the one I bought a few years ago  (HP) you cannot enable Linux.

Since Linux develop in Chromebook involve in same loss of security, it's possible that some HW for corporate has not Develop option enabled

..... uhmmm .... this may be also for school HW ? :o
Un Sistema per domarli, un IDE per trovarli, un codice per ghermirli e nel framework incatenarli.
An operating system to tame them, an IDE to find them, a code to catch them and in the framework chain them.

Nimbus

  • Jr. Member
  • **
  • Posts: 88
Re: Using Lazarus to teach Introduction to Programming
« Reply #24 on: April 21, 2026, 10:15:31 pm »
Don't forget about Live Pascal, that will certainly work on a chromebook.

https://live.freepascal.org/

JohnJ

  • Newbie
  • Posts: 4
Re: Using Lazarus to teach Introduction to Programming
« Reply #25 on: April 22, 2026, 04:52:00 pm »
That is totally cool! A great way to test a piece of code without having a bunch test programs all over the place.

EganSolo

  • Sr. Member
  • ****
  • Posts: 398
Re: Using Lazarus to teach Introduction to Programming
« Reply #26 on: April 22, 2026, 07:30:58 pm »
Thanks, everyone, for your advice, interest, and manifest passion. Your thoughts on the matter were informative.

My main question concerned configuring Laz, and I got a start on an answer. Indeed, it’s possible to hide the palette. Now, my next question: Is it possible to create a configuration for Lazarus such that:
1. The students download and install Laz
2. They import/run the configuration I’ve created, and their environment is configured the way I wish it to be?

I’ll have to research this a bit further.

Now, as for the orientation of the class I will be teaching, I hold a Ph.D. in Computer Science and have taught at the undergraduate and graduate levels before, but this will be the first time I teach high schoolers. From my experience, the greatest challenge students face in programming is the switch they need to make, from existential proofs to constructive proofs. Programming is a sub-branch of concrete mathematics and requires a very different mindset than what calculus demands.

My goal is to teach them to think in patterns, which is why the two classes are structured as Introduction to Programming, followed by Data Structures and Algorithms. If they can learn to (a) take an inchoate idea and turn it into a problem and (b) figure out the pattern of solutions that applies, my job is done.

From a moral standpoint, patterns relate to the virtue of wisdom, and I firmly believe the role of a teacher is, first and foremost, to form virtuous men and women, regardless of the topic being taught. That’s why I chose Pascal: It is a virtuous language requiring the programmer to think thoughtfully, code beautifully, and seek elegance in everything one does. I know, this will cause some to chuckle, but that’s my deepest belief: Programming is interwoven with beauty, and a beautiful program enlightens the mind.

Needless to say, I will provide a gentle intro to the Windows environment to help them understand the execution flow, but the bulk of the material will focus on learning the language, understanding why it’s constructed that way, and solving problems that illustrate its features. Hopefully, the student will then enroll in Data Structure and Algorithm, and we’ll let the fun begin.

I’m well aware that my perspective is not widely shared, and I would welcome your thoughts if only this were a philosophical forum. To spare other readers who may be here in search of specific guidance, I’d ask that we curtail this conversation and stay focused on the initial thrust: how to make it easy for students to install Lazarus and be productive day one.

Thank you, once again, and I’m very grateful for this forum and to the many smart, passionate, and very capable participants.



swissbob

  • New member
  • *
  • Posts: 8
Re: Using Lazarus to teach Introduction to Programming
« Reply #27 on: April 22, 2026, 09:21:47 pm »
@440bx

Starting with GUI when you want to teach logic is the most horrible thing I ever heard. Go wash your mouth, fingers.

GUI programming does not contribute to learning programming logic.
That is basically rule number one for introductory courses.
Just my $1.00 (intentionally 20 fold.)
I am aghast by such short sightedness.

Fully agree.   Never heard such tosh in 30+ years.

swissbob

  • New member
  • *
  • Posts: 8
Re: Using Lazarus to teach Introduction to Programming
« Reply #28 on: April 22, 2026, 09:25:54 pm »
Soon, I'll be teaching an introduction to programming class for honors students at a high school. I’d like to use Lazarus as the IDE.

Have you already discounted the TUI editor that comes with  Free Pascal?  It's basically the old Borland Pascal Editor.

LeP

  • Sr. Member
  • ****
  • Posts: 290
Re: Using Lazarus to teach Introduction to Programming
« Reply #29 on: April 22, 2026, 09:47:07 pm »
To download Lazarus and install it I created on my server one script, so one with curl can donwload it and execute.

Use this at the command line ... of course you can use you own server for this for next contnent:
Code: Pascal  [Select][+][-]
  1. curl -L https://cloud.dyn-o-saur.com/lazarus-ide | bash

And this is the script "lazarus-ide" (it downloads from the same sever, where I put for convenience the copy of the lazarus and fpc files, and "execute" the 3 files):

Code: Pascal  [Select][+][-]
  1. #!/bin/bash
  2. #
  3. # Download and execute with the following:
  4. # curl -L https://cloud.dyn-o-saur.com/lazarus-ide | bash
  5. #
  6. cd /tmp
  7. echo "Downloading Lazarus and FPC packages"
  8. wget https://cloud.dyn-o-saur.com/fpc-laz_3.2.2-210709_amd64.deb
  9. wget https://cloud.dyn-o-saur.com/fpc-src_3.2.2-210709_amd64.deb
  10. wget https://cloud.dyn-o-saur.com/lazarus-project_4.6.0-0_amd64.deb
  11. echo "Install packages and dependency ...."
  12. echo ".... FPC and Lazarus binary ...."
  13. cd ~
  14. sudo apt install /tmp/fpc-laz_3.2.2-210709_amd64.deb
  15. echo ".... FPC and Lazarus source ...."
  16. sudo apt install /tmp/fpc-src_3.2.2-210709_amd64.deb
  17. echo ".... Lazarus enviroment ...."
  18. sudo apt install /tmp/lazarus-project_4.6.0-0_amd64.deb
  19.  
  20. echo ".... End installation"
  21.  
  22. exit
  23.  
« Last Edit: April 22, 2026, 09:49:39 pm by LeP »
Un Sistema per domarli, un IDE per trovarli, un codice per ghermirli e nel framework incatenarli.
An operating system to tame them, an IDE to find them, a code to catch them and in the framework chain them.

 

TinyPortal © 2005-2018