[lug] First Programming Language

Jack Rosenthal jack at rosenth.al
Thu Jan 4 08:10:04 MST 2018


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.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.lug.boulder.co.us/pipermail/lug/attachments/20180104/98293264/attachment.sig>


More information about the LUG mailing list