Computer games, done properly, could be a good teacher of rationality. If you fail to observe the laws of nature that happen to apply in the game and act accordingly, you die / can’t get to the goal. Also, debugging programs has been good for me: plenty of times I could not see an error in my algorithm, but knew there had to be one (modulo system bugs), and so I learned what does and does not constitute valid argument that way. Put these ideas together (games where you have to program things that work in the game universe) and it’d be interesting. Some AI competitions work that way, but we could probably build an iPad app for kids with the right ideas. For example, I’m not talking about teaching basic or some terrible “easy” language. Why not base the programming language of the game off some other Turing-complete system, like, say, cellular automata. The automata rules could change from time to time to keep them guessing. The game could be a sequence of problems: fill in these squares correctly in order to get the desired result and move to the next level. Actually, maybe Markov algorithms would be better. Or a version of the untyped lambda calculus (http://worrydream.com/AlligatorEggs/). Having a good baseline programming “world” is an important part of getting them to think about the right kinds of abstractions.
Thanks.
I also noticed Learn to code as related.
I’m not sure I should continue here or there. I’ll finish here with a link to Blocky maze which is a fairly vanilla example of making coding into a game using a simplified traditional visual programming language, rendered in javascript.
Computer games, done properly, could be a good teacher of rationality. If you fail to observe the laws of nature that happen to apply in the game and act accordingly, you die / can’t get to the goal.
The laws may carry their own message.
Space Invaders: However high you build your score, the alien horde (i.e. Death) crushes you in the end.
First Person Shooters: Killing your enemies is fun!
Tetris, Kingdom of Loathing, Evony, etc.: Clicky-clicky-clicky! Better than life!
That’s not quite what I had in mind, but, well, if we make our own game it can have it’s own laws. For example, you gain power by understanding the rules of the game and acting accordingly, not just by reflexes or level grinding. If you understand the rules keenly, you act in subtly different ways that are vastly more effective, perhaps. Maybe you can collaborate to achieve more than you can individually, etc....
Here’s a game that, at least, makes you figure out the game mechanics a bit to live:
http://www.ludumdare.com/compo/ludum-dare-23/?action=preview&uid=7288
Variations on this requiring more clever tool building, say, would be interesting. But I think it is possible to build a game around a turing machine if we are clever about it.
Computer games, done properly, could be a good teacher of rationality. If you fail to observe the laws of nature that happen to apply in the game and act accordingly, you die / can’t get to the goal. Also, debugging programs has been good for me: plenty of times I could not see an error in my algorithm, but knew there had to be one (modulo system bugs), and so I learned what does and does not constitute valid argument that way. Put these ideas together (games where you have to program things that work in the game universe) and it’d be interesting. Some AI competitions work that way, but we could probably build an iPad app for kids with the right ideas. For example, I’m not talking about teaching basic or some terrible “easy” language. Why not base the programming language of the game off some other Turing-complete system, like, say, cellular automata. The automata rules could change from time to time to keep them guessing. The game could be a sequence of problems: fill in these squares correctly in order to get the desired result and move to the next level. Actually, maybe Markov algorithms would be better. Or a version of the untyped lambda calculus (http://worrydream.com/AlligatorEggs/). Having a good baseline programming “world” is an important part of getting them to think about the right kinds of abstractions.
We’ve had at least one discussion on video games as a rationality teaching tool in the past.
Thanks. I also noticed Learn to code as related. I’m not sure I should continue here or there. I’ll finish here with a link to Blocky maze which is a fairly vanilla example of making coding into a game using a simplified traditional visual programming language, rendered in javascript.
you are right!
The laws may carry their own message.
Space Invaders: However high you build your score, the alien horde (i.e. Death) crushes you in the end.
First Person Shooters: Killing your enemies is fun!
Tetris, Kingdom of Loathing, Evony, etc.: Clicky-clicky-clicky! Better than life!
That’s not quite what I had in mind, but, well, if we make our own game it can have it’s own laws. For example, you gain power by understanding the rules of the game and acting accordingly, not just by reflexes or level grinding. If you understand the rules keenly, you act in subtly different ways that are vastly more effective, perhaps. Maybe you can collaborate to achieve more than you can individually, etc....
Here’s a game that, at least, makes you figure out the game mechanics a bit to live: http://www.ludumdare.com/compo/ludum-dare-23/?action=preview&uid=7288 Variations on this requiring more clever tool building, say, would be interesting. But I think it is possible to build a game around a turing machine if we are clever about it.