On Wed, Oct 12, 2016 at 11:52 AM, Chris Kelling via Lazarus < lazarus@lists.lazarus-ide.org> wrote:
> 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 that > 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. > > -Chris > > 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 modern?". > > > 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. > > > Regards > > > ------------------------------ > > I have taught mostly Fortran programming to the students ( with Cobol , but , less frequently ) in a University ( Pascal in another University ) . In those days , there was no any GUI programming facility like Lazarus . When GUI is started , it was assumed that the students may learn more effectively . My opinion is that such an assumption is misleading , because , it is very easy to generate a GUI program . When it comes to perform some , let's say , data processing , it is becoming necessary to write some Pascal procedure parts ( or procedures ) within GUI program . In that part , the students becoming helpless because they do not know how to write such procedures or parts . To help to the students , my opinion is that , a double way approach should be used : First teach how to program in plain Pascal , for example , input - process - output in a console program which is easy to write . After the students have learned what can be down , embed main steps of this console program into a Lazarus ( GUI ) program . In that way , the students will learn how to write an algorithm in Pascal and test it in a simple console program , and then how to make it a GUI program . They in that way learn how to generate a GUI program . Sometimes by beginning from a console program or directly beginning a GUI program and improve its procedures supplied by Lazarus generated sources , they will be able to develop a software by selecting whichever way is easy and suitable for them . Mehmet Erol Sanliturk
-- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus