(NB: Since your son is 18 this probably doesn't apply, but I'll comment here in case it's useful for others with younger children.)
My 7 year old has gotten into programming through her iPad.
In particular, she uses:
- Tynker
- code.org
- Swift Playgrounds
All three have well-considered tutorial material. Tynker is the one she's most excited about, and the one she's currently spending the most time in. Some of the stuff she's cooked up without any help from her dad... really brings a smile to my face.
I'm old enough to have learned programming on a C64 -- BASIC first, then 6510. Back then, the game was to understand the machine and figure out how you could coax it to do new things. Today, so much programming feels like stringing together black (or at least dark gray) boxes, and hoping that the resulting value is greater than the mental overhead of managing said boxes.
Tynker/code.org/Swift Playgrounds hearken back to the immediacy and narrowness that I loved from the old C64 days. My daughter seems to genuinely be learning from them. That moment when she really "got" variables and loops... big moment!
Seconding this. And Tynker has skins for pretty much anythiNg your kid is currently watching on tv so it’s more alluring that a command line out of the box.
My 7 year old has gotten into programming through her iPad.
In particular, she uses:
All three have well-considered tutorial material. Tynker is the one she's most excited about, and the one she's currently spending the most time in. Some of the stuff she's cooked up without any help from her dad... really brings a smile to my face.I'm old enough to have learned programming on a C64 -- BASIC first, then 6510. Back then, the game was to understand the machine and figure out how you could coax it to do new things. Today, so much programming feels like stringing together black (or at least dark gray) boxes, and hoping that the resulting value is greater than the mental overhead of managing said boxes.
Tynker/code.org/Swift Playgrounds hearken back to the immediacy and narrowness that I loved from the old C64 days. My daughter seems to genuinely be learning from them. That moment when she really "got" variables and loops... big moment!