[erlang-questions] Erlang for youngsters

Torben Hoffmann torben.hoffmann@REDACTED
Mon Jun 16 21:28:34 CEST 2014


Lloyd R. Prentice writes:

> Hi Torben,
>
> +1 for for teaching Erlang to kids. 
>
Great - hope you can accept Elixir if it ends up like that. (Ducking the stones!).

> Back when dinosaurs roamed the earth, I was founding editor/publisher of Classroom
> Computer News, the first magazine in the U.S. devoted exclusively to instructional
> computer applications in K-12 classrooms. Subsequently I founded a company largely
> devoted to development of educational and consumer software for major publishers.
> We developed over 100 products ranging from Pockets the Learn and Do Kangaroo for
> pre-school youngsters to Algebra I for the high school set to The Scarsdale Medical
> Diet for obese adults for publishers ranging from Bantam to World Book. 
>
Experience is highly underrated these days, so thanks for contributing.

> I bore you with this to make several points:
>
> 1) Don't underestimate what properly motivated kids can learn--- they're hard-wired to learn 
> 2) Don't underestimate intrinsic curiosity as a motivator--- at least until it's squelched by repressive pedagogy
> 3) Create exploration environments to leverage intrinsic curiosity
> 4) Break the learning tasks into single key concepts that rest 100 percent on what the youngster already knows so concepts build one upon another
> 5) Keep it playful and fun
> 6) Tie the concepts into real-world (the child's world) issues and concerns
> 7) Challenge the youngster, but make success attainable
> 8) Reward success
> 9) Empower the youngster with demonstrable knowledge and skills that matter from the kid's perspective
>
I totally agree with these points. In the dark ages I taught Java at the Technical
University of Denmark and I tried - intuitively - to incorporate all of the points
you mention. The course ratings went from 1.5 with the previous pedagogy heavy
oldster to 4.5 on a 5 point scale. I used real-world examples and games.

So I would say that these principles applies to all learners - regardless of age. As
adults many forget to have fun and continuously tickle the learning desire in us.

> Additional thoughts
>
> --- My software development company was based on Forth so I was active in the
> exciting and innovative Forth community of the time. Given the limited resources of
> pcs of the era, Forth gave us tremendous competitive advantages. But I saw the
> Forth community wane and fizzle into near oblivion due, in part, to neglect of the
> interests of the upcoming generation of programmers.  
>
That is a very instructive story. I, for one, want to fight this.
> --- Tie into the Raspberry Pi phenomenon
>
> --- Show kids (and child-minded adults) how to build super computers out of
> Raspberry Pi, Odroid U3s or the super-cheap "mini pcs" coming out of China. (I'd
> love to work with anyone into that). 
>
At ESL we have worked with the R-Pi and created the Erlang/ALE library, but it has
been a bit slow after the main driver left the company :-(


> Also, see:
>
> http://info.marygrove.edu/MATblog/bid/74832/Explore-Graph-Theory-with-Gifted-Elementary-Students
>
Great resource.
It sort of reinforces my core belief that in the right wrapping kids can learn a lot
more than we think.

Cheers,
Torben

> [PDF] A Tangible Construction Kit for Exploring Graph Theory
> E Schweikardt, N Elumeze, M Eisenberg, MD Gross - code.arc.cmu.edu
> ABSTRACT Graphs are a versatile representation of many systems in computer science, the 
> social sciences, and mathematics, but graph theory is not taught in schools. We present our 
> work on Graphmaster, a computationally enhanced construction kit that enables children ...
>


> All the best,
>
> LRP
>
>
> Sent from my iPad
>
>> On Jun 16, 2014, at 3:51 AM, Torben Hoffmann <torben.hoffmann@REDACTED> wrote:
>> 
>> Hi,
>> 
>> The wonderful thread on "Beginners tutorials"
>> (http://erlang.org/pipermail/erlang-questions/2014-June/079485.html) that Joe started
>> after the EUC last week has touched something in me and I want to get some feedback
>> on my ideas.
>> 
>> I think that Joe's original suggestion in the "Beginners tutorials" thread can do
>> something with regards to easing people into Erlang, but it cannot be the only thing.
>> 
>> I saw Garrett's wonderful talk at the EUC last week - Why the Cool Kid's Don't Use
>> Erlang (http://www.erlang-factory.com/euc2014/garrett-smith) - and it suggested a
>> number of things we, as a community, can do better.
>> 
>> One thing that stood out in relation to this thread was HardToLearn.
>> 
>> HardToLearn influences a lot of things, but it also drives the worry
>> FindingDevelopers, which bad for the career prospects for all of us.
>> See Garrett's talk (when online) and you will understand.
>> 
>> Why is Erlang HardToLearn?
>> 
>> One can point to documentation and say it is not optimal.
>> One can ask for books on Erlang Concurrency Patterns as Joe did.
>> 
>> But I feel there is a more fundamental problem that we need to address:
>>    how to think like an Erlanger.
>> 
>> Erlang is a concurrent functional language with a unique failure model.
>> More than 2 nines of the people being taught anything on programming will be exposed
>> to procedural or object oriented languages with exceptions and be told that threads
>> are hard (they are 'cause they will make you loose your hair).
>> 
>> I think that a learning resource focused on teaching people the Erlang model from the
>> ground up would be a great improvement. A clear narrative around how do we solve a
>> problem the Erlang way. Teaching the basic constructs is not the problem.
>> 
>> My initial target for such a learning resources would be young people in the higher
>> grades of elementary school, say 12-15 years. Why? Because I want to influence them
>> before their minds are totally corrupted by other programming models.
>> 
>> I don't think we would have to dumb anything down in particular for this group - we
>> just have to find a cool example and organise the learning around how to become so
>> good that one can solve such a problem.
>> Some sort of game will probably be the best candidate, say, some sort of Transport
>> Tycoon clone?!?!
>> 
>> And now for the controversial part of my idea: this should probably be done using
>> Elixir plus something for the GUI.
>> Yes, I said the other E word, so I'm ready to be stoned ;-) [1]
>> 
>> Why Elixir?
>> 
>> Programming Elixir requires the same understanding of the Erlang concurrency model in
>> order to program well. Otherwise you are just doing Ruby-on-BEAM, which is kinda lame
>> and misses the boat totally.
>> 
>> So using Elixir would allow us to expose people to the Erlang model, which I think is
>> the main point. The more people that uses the BEAM, the better for the
>> FindingDevelopers problem.
>> 
>> What is better about Elixir from a learning standpoint is, in my highly subjective
>> opinion, that you can get started quite easily with the mix tool.
>> 
>> Furthermore, the Elixir syntax is more familiar to youngsters. I asked my 12 year old
>> son to have a look in the "Introducing Elixir" book and his initial reaction was
>> "That's easy to read, it looks like lua." Minimising the amount of surprise is a good
>> thing!
>> 
>> Given that I think games are awesome for teaching there needs to be some sort of GUI
>> element at some point and here I'm leaning towards Elm (http://elm-lang.org) since it
>> is functional, but other suggestions are most welcome.
>> 
>> Am I on the right track to anything with this?
>> Is there a need for such a learning resource?
>> Is Concurrent, Functional Programming relevant enough to warrant putting some energy into?
>> 
>> Cheers,
>> Torben
>> 
>> [1] https://www.youtube.com/watch?v=SYkbqzWVHZI
>> -- 
>> Torben Hoffmann
>> CTO
>> Erlang Solutions Ltd.
>> Tel: +45 25 14 05 38
>> http://www.erlang-solutions.com
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions


-- 
Torben Hoffmann
CTO
Erlang Solutions Ltd.
Tel: +45 25 14 05 38
http://www.erlang-solutions.com



More information about the erlang-questions mailing list