3 ms·
While this is not truly for kids since I was teaching university students I always wanted to investigate if domain specific languages should be used more. We d
by kriro 10y ago
While this is not truly for kids since I was teaching university students I always wanted to investigate if domain specific languages should be used more.
We did some unpublished experiments for an AI class on agent development where groups developed a card playing agent in Prolog and a domain specific language for that card game. The DSL agents were quite a bit more sophisticated.
My point being...I think usually we assume kids should be taught general programming. It might be more fruitful to pick a cool domain and a language suited for that domain. Unfortunately a lot of the programming exercises/projects across all age groups are rather boring for lots of the students from anecdotal evidence. I'm envisioning something like this:
Educator: Tell me something that's cool.
Kid 1: Pokemon!
Kid 2: Football!
Educator: Ok, tomorrow we'll learn how to program (Pokemon stuff here) and (football stuff here). Educator goes home, configures the PokemonLanguage and FootballLanguage and starts teaching that language with Pokemon/Football specific examples.
Does it scale...probably not but we're in the business of doing things that done't scale, right?
- jumasheff 10y agoThis made me think of Micropython on a $1.79 ESP8266 board[0] Educator: Tell me something that's cool. Kid 1: Pokemon! Kid 2: Football! Educator goes home, gets ESP, modules, sticks them together, write examples. Does it scale? It's doable: there should be common libs (pre-written snippets) for moving chassis, limbs, RC over wifi, object detection[1], swarm control/collaboration etc. Educator would fit hardware/software together and rock the class. [0]http://aliexpress.com/item/New-Upgraded-version-ESP-01-ESP8266-serial-WIFI-wireless-module-wireless-transceiver/32633226881.html http://aliexpress.com/item/New-Upgraded-version-ESP-01-ESP82... [1]Look at http://openmv.io http://openmv.io