So I have a few kids that is interested in learning programming. I know how things work but I am unable to make it exciting for them. I don`t want to bore them with technicalities which I tend to do. I was thinking something like the Battleship game. or maybe making something with a rasperry pi using nerves.
Any tips on how to engage kids with short attention spans would be greatly appreciated.
Hi! Have you seen https://www.tynker.com?
My brother is 12 years old and he likes it.
I tried to teach him by myself, but understood that it better to use Tynker.
It is not about Elixir, butā¦
In your place I would change some things in your plan.
I think teaching kids how to make a game is not good at start (at least not like that). They only need to solve problems and they will have only one satisfaction - when they done (and of course when they will play). If they notice an error while playing game then it can quickly discourage them.
I will recommend to think about modular project. You will wrote some base (core code of app) that is easy to extend. Kids probably will love that they will have a real impact on what they wrote. This also will help them think about what they want to do and not how to solve problem that someone give them. I think itās much more interesting and this is what children are looking for
Raspberry PI is good idea if they have easy access to it. For example use sshfs. Use good editor with lots of extensions. I will recommend Atom editor. Find some animations and effects when it will appear when kids will write code. Of course animations also should not be something that will distracting them.
I recommend: Activate Power Mode. You can search and install extensions in editor preferences or search in web and install via simple command.
Setup all hardest configuration, so after any change any child can see changes on own port (if they will write server-client code - HTTP(S) and/or WebSocket).
Add some good sources of images/sounds that they can use (for example on demo page).
Donāt leave them. First say something how they can start. Show them documentation and tutorials. Let them fail and wait for help requests - I mean help them, but donāt do all.
Most important: ask them what they want to do. What they want to see.
Maybe make funny app. Give him example idea and show that programming itās not only for solving troubles.
Make some cookies and milk/tea/other - kids have lots of energy, but everyone needs a break.
Do not stick to rigid rules, because children can not stand such behavior.
Donāt listen others - focus on your (kids) heart(s).
I have not children and there are no rules for all children of world, so keep distance for all tips. Iām just a big child that want to make funny projects, so I think that rules will work.
How about to make a puns game? Simple chat like (web) app, that have questions and answers. From mobile and PC. They should easily send link to images and chat box will embed them. Simple and funny.
Fast question next day: How to save questions?. And your response: Welcome in Ecto world!
I guess it depends on their age, but I would imagine it is similar to how we train puppies - make it fun and keep it short (training periods are usually no more than 15 minutes).
Another good āgetting startedā game would be Hangman. This is something that is relatively simple (much simpler than Battleship in any case) but will still need a little bit of programming (including a recursive loop until the answer is guessed).
This was one of the first things I made when I learned programming as a kid. It was a lot of fun because suddenly you have a computer program that knows something you donāt.
I tend to teach programming first by having people program a little micro-controller hooked up to a set of LEDās as Iāve found it to get people to understand the links between the hardware and the software far better than any other method.