<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 12, 2016 at 11:52 AM, Chris Kelling via Lazarus <span dir="ltr"><<a href="mailto:lazarus@lists.lazarus-ide.org" target="_blank">lazarus@lists.lazarus-ide.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div align="LEFT"><font color="#000000" size="2" face="Verdana">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.</font></div><font color="#000000" size="2" face="Verdana"><br></font><div align="LEFT"><font color="#000000" size="2" face="Verdana">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.  </font></div><font color="#000000" size="2" face="Verdana"><br></font><div align="LEFT"><font color="#000000" size="2" face="Verdana">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.</font></div><font color="#000000" size="2" face="Verdana"><br></font><div align="LEFT"><font color="#000000" size="2" face="Verdana">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</font></div><div align="LEFT"><font color="#000000" size="2" face="Verdana">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</font></div><font color="#000000" size="2" face="Verdana"><br></font><div align="LEFT"><font color="#000000" size="2" face="Verdana">The point being, the language doesn't matter except for syntax. Programming is programming.  That being said, more to what you asked.</font></div><font color="#000000" size="2" face="Verdana"><br></font><div align="LEFT"><font color="#000000" size="2" face="Verdana">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</font></div><div align="LEFT"><font color="#000000" size="2" face="Verdana">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.</font></div><font color="#000000" size="2" face="Verdana"><br></font><div align="LEFT"><font color="#000000" size="2" face="Verdana">But then again, I'm not a professional educator.</font></div><font color="#000000" size="2" face="Verdana"><br></font><div align="LEFT"><font color="#000000" size="2" face="Verdana">-Chris</font></div><div align="LEFT"><font color="#000000" size="2" face="Verdana"> </font></div><div align="LEFT"><font color="#000000" size="2" face="Verdana">On Wed, Oct 12, 2016 at 2:10 PM, Adrian De Armas via Lazarus wrote:</font></div><font color="#000000" size="2" face="Verdana"><br></font><div align="LEFT"><font color="#000000" size="2" face="Verdana"> <font size="3">Hello everyone, I am a professor of "introduction to programming". Currently we are working with matlab and c. </font></font></div><font color="#000000" size="3" face="Verdana"><br></font><font color="#000000" size="2" face="Verdana"><br></font><div align="LEFT"><font color="#000000" size="3" face="Verdana">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?".  <font size="2"></font></font></div><font color="#000000" size="3" face="Verdana"><br></font><font color="#000000" size="2" face="Verdana"><br></font><div align="LEFT"><font color="#000000" size="3" face="Verdana">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. <font size="2"></font></font></div><font color="#000000" size="3" face="Verdana"><br></font><font color="#000000" size="2" face="Verdana"><br></font><div align="LEFT"><font color="#000000" size="3" face="Verdana">I would love to know what you think about making the transition from console to GUI. <font size="2"></font></font></div><div align="LEFT"><font color="#000000" size="3" face="Verdana">This is an exciting opportunity I'd love to make it right. <font size="2"></font></font></div><font color="#000000" size="3" face="Verdana"><br></font><font color="#000000" size="2" face="Verdana"><br></font><div align="LEFT"><font color="#000000" size="3" face="Verdana">Regards <font size="2"></font></font></div><font color="#000000" size="2" face="Verdana"><br></font><font color="#000000" size="2" face="Verdana"><br></font><div align="LEFT"><font color="#000000" size="2" face="Verdana">------------------------------</font></div><br></blockquote></div><br><br><br></div><div class="gmail_extra">I have taught mostly Fortran programming to the students ( with Cobol , but , less frequently ) in a University ( Pascal in another University ) .<br><br></div><div class="gmail_extra">In those days , there was no any GUI programming facility like Lazarus .<br><br></div><div class="gmail_extra">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 :<br><br><br></div><div class="gmail_extra">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 .<br><br><br></div><div class="gmail_extra">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 .<br><br><br></div><div class="gmail_extra">Mehmet Erol Sanliturk<br><br><br></div><div class="gmail_extra"><br><br><br><br><br></div></div>