[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Easy and fun introduction to TLA+ for children?



So, having just read this article on The Atlantic "The Coming Software Apocalypse"..

https://www.theatlantic.com/technology/archive/2017/09/saving-the-world-from-code/540393/

..I must ask, is there some way to make this accessible for children and young adults? I don't seem to be finding anything doing a Google search for "TLA+ for kids".

Do you have to be an utter genius to understand this, with years of formal training at a college/university? Or is there some way to make it easy for youngsters to get a glimpse of it?



I would suggest taking a look at Scratch, a visual block assembly system for teaching programming to children, that doesn't require typing any code to make functional programs. Just drag blocks around and snap them together.

https://scratch.mit.edu/

(Scratch based on Flash which we all know is dying out, but there's a fork of it called Snap! that is pure Javascript / HTML5, requires nothing to be installed to use it, and can save to cloud storage.)

http://snap.berkeley.edu/



Of course, you can't do anything significantly complex or important with Scratch/Snap!, like write a vehicle automation system, or a 911 call routing system, but that's not the point.

Getting kids to think logically about how to problem solve, is the point. If it's fun and draws them in, and gets them interested in assembling code blocks and making shapes fly around the screen and make noises without having to know anything about syntax, order of operations, APIs, CLIs, file paths, text editors, etc, that is the point.



So, would there be some way to implement the essence of TLA+ as a GUI browser / tablet implementation, with draggable tiles and shapes, a touch interface, etc, and make it very easy for youngsters to grasp, without drowning them in complex technical abstractions?

If you want a revolution, then I think you are going to have to start as young as possible, and possibly before a potential new user of this "better way" of designing software has even seen regular typed programming.