<DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">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 FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">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 FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">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 FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">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 FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">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 FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">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 FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">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 FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">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 FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">But then again, I'm not a professional educator.</FONT></DIV><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">-Chris</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"> </FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">On Wed, Oct 12, 2016 at 2:10 PM, Adrian De Armas via Lazarus wrote:</FONT></DIV><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"> <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 FACE="Verdana" SIZE="3" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="3" COLOR="#000000" LETTERSPACING="0" KERNING="0">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 FACE="Verdana" SIZE="3" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="3" COLOR="#000000" LETTERSPACING="0" KERNING="0">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 FACE="Verdana" SIZE="3" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="3" COLOR="#000000" LETTERSPACING="0" KERNING="0">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 FACE="Verdana" SIZE="3" COLOR="#000000" LETTERSPACING="0" KERNING="0">This is an exciting opportunity I'd love to make it right. <FONT SIZE="2"></FONT></FONT></DIV><FONT FACE="Verdana" SIZE="3" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="3" COLOR="#000000" LETTERSPACING="0" KERNING="0">Regards <FONT SIZE="2"></FONT></FONT></DIV><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">------------------------------</FONT></DIV><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">-- </FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">_______________________________________________</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">Lazarus mailing list</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#3333FF" LETTERSPACING="0" KERNING="0"><A HREF="javascript:parent.wgMail.openComposeWindow('Lazarus@lists.lazarus-ide.org')" TARGET=""><U>Lazarus@lists.lazarus-ide.org</U></A><FONT COLOR="#000000"><A HREF="javascript:parent.wgMail.openComposeWindow('Lazarus@lists.lazarus-ide.org')" TARGET=""> </A></FONT></FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#3333FF" LETTERSPACING="0" KERNING="0"><A HREF="http://lists.lazarus-ide.org/listinfo/lazarus" TARGET="_blank"><U>http://lists.lazarus-ide.org/listinfo/lazarus</U></A><FONT COLOR="#000000"><A HREF="http://lists.lazarus-ide.org/listinfo/lazarus" TARGET="_blank"> </A></FONT></FONT></DIV>