7 ms·
I read this blog post by an Argentinian guy who teaches programming to elementary school students. Maybe not exactly what you're looking for since it's primaril
by nandemo 13y ago
I read this blog post by an Argentinian guy who teaches programming to elementary school students. Maybe not exactly what you're looking for since it's primarily about programming and not computer science in general, but it might give you some ideas. In particular, it might give you a sort of yardstick for how much kids can learn. He started them on Python (though some kids already had experience with another, pedagogical programming language), then switched to Haskell. I was surprised by this:
> When I presented Haskell at first time in both groups, they were making conclusions in only two hours about these topics:
Functions, expressions and types (they answer questions about the type of functions and expressions)
Parametric polymorphism and polymorphic functions
Currification
Sum and product types
Pattern matching.
Partiality and the use of Maybe.
And this is just beautiful:
>Map, filter and fold, comparing them with iterative implementations in Python. They infered the types of the paremeter functions. One girl understood the difference between foldr and foldl, and she said "if the binary operation is conmutative the result is the same".
Although he seems clearly excited with Haskell, I think the interesting issue isn't whether "Haskell is a better teaching language than Python" but just how much kids can learn by themselves, including theoretical stuff, as long as you don't underestimate them and give them interesting problems instead of paint-by-the-numbers programming.
Unfortunately the samples he presented at the end weren't that impressive.
http://sawafaso.blogspot.jp/2013/07/why-haskell-at-school-matters.html http://sawafaso.blogspot.jp/2013/07/why-haskell-at-school-ma...