The Turing Tumble lets you and your kids build real mechanical computers
techcrunch.com
techcrunch.com
However I don't see this game to be very successful in making someone curious about programming. It's based on the concept of using a computer as a mechanical calculator and, while this is the formal underpinning of all programming, it's not avery spectacular application.
I think the thing that is most mind-blowing from a user perspective is how to get a computer to perform all kinds of tasks that don't seem to have to do anything to do with computations: Creating images and animations, driving complex machinery, communicating, etc. The gap from theory to application isn't that interesting from a theoretical CS point of view but I think it's more important for teaching programming.
Would you please expand on this thought?
Then you move from that to instantiating binary representations in the real world, with light switches or checkboxes, and you start getting the "this is how it works in real life" light bulbs that embed the new knowledge in their existing web of knowledge where it'll become permanent.
(edit: let me plug my favorite how-to-program book here, while I'm thinking about it. It and GEB were the kernel of understanding around which I built the rest of my knowledge of math and CS. https://en.wikipedia.org/wiki/Code:_The_Hidden_Language_of_C...)
Once that conncetion is there, you absolutely want to teach more abstract concepts.
As an alternative example, I remember a nold intro to programming that involved a "turtle" - a virtual robot that you could direct on screen and that would draw a line. You could give it basic commands to move around and see it react. then, you could introduce more complex concepts (loops etc) that would enable you to draw more complex pictures - and so on...
I kind of agree with you... but on the other hand, I distinctly remember asking as a child: "But why?" in an almost endless chain. Apply that question to most ideas about programming, and you'll eventually end up at ideas that are reified by this board.
So what I'm saying is that -- assuming my son or daughter take up programming as an interest -- this will be one of the legs of tuition. You're right that the initial excitement will probably come from doing some cool graphics or audio stuff, but this will make all the "magic" vanish. In that sense, as a dad, this is definitely interesting!
One of the examples given in the Kickstarter page is pattern forming: a group of 2 blue balls, then a group of 4 blue balls, and then a group of 8 blue balls, with each group separated by a single red ball
It would be fun to try to form your own patterns or do other operations. If you get the CAD files, you could add your own parts, make a bigger board, and do other computations.
I think there will be still some iteration when going for injection molds.
I was also thinking that Kickstart project makers should ask more from their community. I would love to translate to a Dutch version for example.
However, we've run a Kickstarter project ourselves. The involvement is not like that in practice. :-) It would be nice though to have a more collaborative creation process.
By the way, any suggestion for more fun and smart game?
It looks like this project might raise well above the $48k, though. (It's at $108k as of now.)
I recognize that this can be both a blessing and a curse when it comes to Kickstarters. With regards to NRE, though - hopefully it's straightforwardly a good thing.
The project is nearly double its Kickstarter goal as I write this so maybe that is accounted for now, but I would have guessed the goal should have been 2 to 4 times higher.
My only concern is that the speed of execution is rather quick (and rather difficult to control since... you know... gravity). Besides very trivial examples, I think younger children will likely have a difficult time "debugging" and reasoning their way to a solution. The "stopper" piece can certainly be helpful for students to use as they slowly build out their solution, though, and so that may be sufficient.
I've always had success with toys or other instructional materials that have tried to make computational logic a physical, tangible thing for students. There are plenty of toys in this category that have a physical element to it yet it is simply a by-product of the computation that is still "hidden" in software. There's a reason why Papert was so fascinated by gears. I'm incredibly excited about this and can't wait to try it out.
[Edited to clarify Galileo's use of a slightly tilted ramp.]
This webpage from 2007 is the first place I saw the same fundamental board design: http://woodgears.ca/marbleadd/
Direct video link: https://www.youtube.com/watch?v=GcDshWmhF4A
The design in the two links above is fairly simple (I'd hate to see the patent office decide it was unique[ly patentable], for example), and so I doubt that this person from 2007 was the first to build it.
But I wouldn't be surprised if this particular design and video served as some serious inspiration for the linked product.
To clarify, I recognize that this system far surpasses the basic wooden adder I've linked. But the similarities are there.
Thanks very much for this. I expect that the simple design that I (and others - https://news.ycombinator.com/item?id=14452315) posted was likely inspired by this - which is interesting!
I suppose the essence of a mechanical computer is that it transmits and process signals as mechanical stress, thus sound and ultimately phonons instead of electrons. How hard are big IT companies looking into it?
This is an old military instructional video about fire (artillery) control computers, explaining the mechanical aspects of how they work. It's beautiful in its elegance! I have watched it on multiple occasions just for the sheer beauty of the mechanisms involved. And, yes, of course I'm a nerd!
https://en.wikipedia.org/wiki/Z1_(computer)
BTW - if you're going to link about the Analytical Engine, you have to link to this site:
http://mindsontoys.com/kits.htm
it's not turing complete, but it goes a long way and is fun to build!
Plus we barely see any demos of an actual puzzle solution in the video. Because the number of ball drops needed to do anything sophisticated is probably overbearing. The cringe factor is very high. I don't trust this dude, the "Im making educational lollypops for kids" pitch is oversold for what is an underwhelming product.
As for number of ball drops for anything "sophisticated", it all depends on the meaning of "sophisticated" -- basically what the guy proposes is a modern, more flexible version of 1960s marble teaching computers like the DigiComp II. You couldn't use them to compute anything practical, yes, but that wasn't the point. Here's a link to the DigiComp II manual to see what you could do with them: http://cdn2.evilmadscience.com/KitInstrux/DCII-manual.pdf
I am intrigued by the included gears shown in the Kickstarter video that make the system "Turing complete". The fact that the creator is willing to give away the CAD files as one of the reward levels means in that you could design you own really huge set: perhaps big enough to emulate a really slow (one bit?) CPU! ;-)
Here's the text that showed me "how computers work". Page after page of Verilog, VHDL and gate-design, all equivalent! ...
https://www.amazon.com/Hdl-Chip-Design-Synthesizing-Simulati...
Question for me is does it actually matter? Do they care? And will understanding this actually make them want to engage with the topic further?
Even me growing up back in the Amiga 500 days I couldn't really care less how the machine actually worked, the impetus to learn how to control it came from the want to make my own games not to understand how it did something as boring as add two numbers together.
But more importantly, does it matter? At a collective level, absolutely. When there's a layer of a system you don't understand, you introduce a couple of potential problems.
1. The system has a flaw at that level and you don't know what to do about it. A real world example of this is hardware manufactured by the lowest bidder not matching the specifications, potentially introducing bugs that are impossible to debug without an understanding of what's happening at the hardware level.
2. The system has a potential exploit at a level you don't understand, and someone uses it to take advantage of you. This is basically all home owners getting their computers infected with malware. Sure, they can run their antivirus in 99.9% of cases, but if they ever get a virus that isn't in their antivirus' list, then they're effectively out a computer.
So yes, people should know how a computer works (at least in principle) at every level. This is essentially the same as knowing how your car works so when it breaks you can fix it instead of sending it to a mechanic for overpriced repairs.
[0] https://lapinozz.github.io/learning/2016/11/19/calculator-wi...
[1]: https://www.kickstarter.com/projects/871405126/turing-tumble...
That's one of the nice things about these abstract computers. Doing something sophisticated would be difficult, but doing something simple (yet non-trivial) requires thought and planning. Check out the KS page for demonstrations of Red-Red-Blue-Blue, binary counting, and powers of 2.