background preloader

Learning

Facebook Twitter

Learnable Programming. Here's a trick question: How do we get people to understand programming?

Learnable Programming

Khan Academy recently launched an online environment for learning to program. It offers a set of tutorials based on the JavaScript and Processing languages, and features a "live coding" environment, where the program's output updates as the programmer types. Because my work was cited as an inspiration for the Khan system, I felt I should respond with two thoughts about learning: Programming is a way of thinking, not a rote skill. Learning about "for" loops is not learning to program, any more than learning about pencils is learning to draw.People understand what they can see.

Thus, the goals of a programming system should be: to support and encourage powerful ways of thinkingto enable programmers to see and understand the execution of their programs A live-coding Processing environment addresses neither of these goals. Alan Perlis wrote, "To understand a program, you must become both the machine and the program. " L’enseignement de l’informatique en France - Il est urgent de ne plus attendre - Rapport de l'Académie des sciences - Mai 2013 - rads_0513.pdf. L'école et le numérique : savoir coder doit devenir aussi important que savoir lire. Et si le code devenait le nouvel alphabet ?

L'école et le numérique : savoir coder doit devenir aussi important que savoir lire

(CARO FOTOS/SIPA) La métaphore de la noix Des deux façons d'ouvrir une noix, "L’une est celle du marteau et du burin. Le principe est simple : on pose le tranchant du burin contre la coque, et on tape fort. Pour illustrer la deuxième approche, la première parabole qui m’est venue à l’esprit, c’est qu’on plonge la noix dans un liquide émollient, de l’eau simplement pourquoi pas, de temps en temps on frotte pour qu’elle pénètre mieux, pour le reste on laisse faire le temps. Les lignes ci-dessus sont d’Alexandre Grothendieck, un des plus grands mathématiciens de l’histoire. Depuis 30 ans qu’on a identifié nos faiblesses, on s’entête à essayer d'enseigner les usages plutôt que d’enseigner la matière elle-même. Les investissements visant à faire utiliser les technologies numériques par les élèves se multiplient (tableaux interactifs, classes numériques).

Five iPad apps that want to teach programming skills to kids. When I was young, I had a Commodore 64 computer.

Five iPad apps that want to teach programming skills to kids

Some friends did too, while others had ZX Spectrums or Amstrad CPCs. Arguments over which was best could be heated, but what all these home computers shared was the fact that you could write your own programs for them, not just run those of commercial developers. Bizarre though it may sound to kids today, my generation spent a fair amount of time copying programs out of magazines, typing them in character-by-character on our computers to make them run, and (in many cases) learning from this process in order to write our own programs.

Stimulating fun for most of us, but an early start on the path to a career making games or software for some. Fast forward to 2013, and children are using computers in greater numbers than ever, from PCs to games consoles, handhelds and tablets. Or perhaps they are. Hakitzu: Code of the Warrior (iPad, Free) Turtles are nowhere to be seen in this more-recent app from Kuato Studios.