Re: [dev] Programming as a hobby - which language?

From: Jonathon Fernyhough <jonathon_AT_manjaro.org>
Date: Mon, 6 May 2019 17:04:06 +0100

On 06/05/2019 16:39, Laslo Hunhold wrote:
> On Mon, 06 May 2019 17:06:13 +0200
> sZpak <szpak_AT_reakcja.org> wrote:
>
> Der sZpak,
>
>> I prepare myself for doing programming classes/course for
>> kids/teenagers in a local community center. And I need your advice.
>>
>> **I have to choose language/technology/environment to teach.**
>>
>> My current ideas are.
>>
>> For older teenagers:
>> * PYTHON, +pygame. (I've already did such classes in the past and It
>> worked pretty well.)
>
> go for Julia. Python will be the new Java in 5-10 years and it makes
> more sense to learn a language that is consistent within itself. But
> this thread will explode so please guys, I don't want to discuss that
> here.
> Julia has become very popular here at the CS and theoretical physics
> departments in Cologne,

Who are all teenagers just beginning programming?

Python and pygame are perfectly fine. As is Racket.

>> For younger ones:
>> * SCRATCH (I don't like it but maybe 7-12-year-olds do.)
>>
>> Most of you have many years of programming experience and many of you
>> started pretty early. So I'll be very happy to hear your ideas.
>>
>> But please note that it's going to be a "programming AS A HOBBY"
>> course, not
>> "programming course for your future professional career".
>
> One should start with C, using K&R's "The C Programming Language". It's
> the only way to know how computers work behind the scenes. Everything
> else is an abstraction.

C for seven-year-olds is... ambitious. Scratch, on the other hand, is
perfect. (Though, C via Arduinos is an excellent approach for the 11+
range - limited syntax with real-world physical effects is impossible to
beat.)


The **most important thing** is that you understand **how** to teach,
not **what** you teach.

You can teach systematic/programmatic thinking with any programming
language. What's important is the approach, not the language.

Make sure you know what you want the children to learn (e.g. the
"learning outcome" for each session), then pick whichever language you
know best and are able to explain inside and out. That is, you can
always answer a child's question of "But _why_ does it work like that?"
with a proper answer, not "Because it does".

If you don't understand why a thing works, and you can't explain it to a
child, you shouldn't be teaching it.


J



Received on Mon May 06 2019 - 18:04:06 CEST

This archive was generated by hypermail 2.3.0 : Mon May 06 2019 - 19:00:09 CEST