[lug] First Programming Language
Davide Del Vento
davide.del.vento at gmail.com
Thu Jan 4 08:17:31 MST 2018
My (elementary school) girls are starting with scratch, and will move to
python only after that.
On Thu, Jan 4, 2018 at 8:10 AM, Jack Rosenthal <jack at rosenth.al> wrote:
> Wanted to add my 2c FWIW:
>
> I've taught Python (amongst a few other languages) to never-ever
> programmers. Beginners do well when you can explain *every detail* of
> the syntax of the language to them: if there's anything that they "just
> have to type this" or you introduce features without explanation, they
> will continue to believe computer programming is magical, and rely on
> tinker-programming.
>
> On that note, don't expect to introduce OOP to beginners right away
> *and* have them understand why the heck they are doing it. Introduce it
> too early and it becomes a mundane syntax detail; not a programming
> paradigm.
>
> Designing a web application as a first programming project is a pretty
> bad idea too. You need to learn to crawl before you can walk; let alone
> fly. For the never-ever programmers I taught in the past, most of them
> did not have experience with HTML (nor CSS!) and introducing extra
> markup languages along with another language can be very confusing.
>
> I suggest learning a general purpose programming language with optional
> OOP features (for future learning), starting small, and make a few
> simple console programs, etc. Python fits the bill pretty well here.
>
> If you really want to make a web application AFTER that, it should be a
> simple CGI application. This takes the same SIMPLE concepts learned when
> developing console applications to the web. Beginners won't have to
> learn a whole lot new, and they can make something that works on the
> web. (exciting!)
>
> Now... most people would say: but CGI is so {old,bad,ugly,slow,...}! I
> argue this does not matter. No matter what you use for your first big
> software project, the code base will be total crap anyway. It's a
> totally unrealistic expectation to have beginners write beautiful code
> for their first project. Hopefully they will learn from the experience,
> and write something better (using something better than CGI) later down
> the road.
>
> If you want any of the Python resources I've used to teach in the past,
> feel free:
>
> https://coding.campinc.com/
> https://cstart.mines.edu/python/
> http://toilers.mines.edu/~jrosenth/101python/
>
> Jack
>
> --
> Jack M. Rosenthal ( http://inside.mines.edu/~jrosenth
> Graduate Student, Computer Science ) http://jack.rosenth.al
>
> BREAKFAST.COM Halted... Cereal Port Not Responding.
>
>
> _______________________________________________
> Web Page: http://lug.boulder.co.us
> Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug
> Join us on IRC: irc.hackingsociety.org port=6667 channel=#hackingsociety
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lug.boulder.co.us/pipermail/lug/attachments/20180104/aec307f8/attachment.html>
More information about the LUG
mailing list