Learning To Programming (The easy way?)
Last year, I wrote a post about learning unity focused on programming. I also included information about learning to program not specifically focused on unity. Based on the feedback I received, i decided to write a little more about it and suggest other (simpler?) ways to start learning to programm.
First of all, I’m not sure there’s an easy way to learn anything, unless you were born a genius in that specific subject. And even if you are a genius, you will have to work a lot to bring that genius to your fullest potential. Mozart is undoubtedly a musical genius, but he practiced on the piano and wrote music for many hours a day since he was 4 years old. If you add that programming requires something (abstract thought) that is not as natural to most people as sound (music) or images (drawing), you have a real problem to handle.
“It’s only the “hard” way because it uses a technique called instruction. Instruction is where I tell you to do a sequence of controlled exercises designed to build a skill through repetition. This technique works very well with beginners who know nothing and need to acquire basic skills before they can understand more complex topics. It’s used in everything from martial arts to music to even basic math and reading skills.”
I changed from hard to easy to emphasize that this is not a canonical way of learning I’m proposing, it’s more a way to increase how you can think algorithmically and then you can move to a other kinds of learning. But again, it’s based on the feedback I received from my last post on the subject. People asked for even simpler things than CodingGame. I think, these are the simplest things to do to learn how to program. If you know other simpler ways that I don’t mention, please let me know.
If you have a hard time learning to programm, even those I suggest in my post learning unity, then try a real (maybe commercial) game that explores programming concepts. Disclaimer: I have no connection to any of the games bellow, it’s just a list of games that I think can help you learn more about programming.
Human Resource Machine is a very good game that explores the concepts of algorithms and tasks done by computers.
Another game (you can run it from a web browser) is Blockly Maze Game, made by Google.
Great Permutator is about logic and movement, and also explores a programmatically way of thinking.
In The Magic Circle “you are the hero of an unfinished fantasy game, and your designers have failed you. Steal the power of a game god – trap their creations, swap behaviors and body parts, crafting your own unique solutions to free-form puzzles. Can you release a game …from the inside?” Although not a completely a game that uses programming, it’s very good and unusual game.
Zachtronics is game studio speciallized in games that explore handling process and, sometimes, education. Their latest game, SHENZHEN I/O, is about assembling circuits and construct electronic devices. Don’t start with this one, it’s not for beginners, but it’s a fun game if you know (and like) low level programming.
One tool that’s very useful for prototyping and can be used to learn at least programming logic (not in a canonical sense when you use a traditional programming language) is PuzzleScript. It’s also insteresting because all you need is a web browser and your idea. It was proposed as a game engine to build “tile-based puzzle games”, but it can also be used to create other 2D games.
There are a lot of other games you can pick to start learning programming (Steam has a category of these games), but there’s one last tittle that is worth mentioning, which is the big hit Minecraft. There are many sites that learn to code using Minecraft, like this one (which it’s also based on Blockly Game)
or Khan Academy.
Microsoft, the owner of the studio that produces Minecraft, has a project to use the game as a plataform to develop research on Artificial Intelligence. It’s called Project Mamo.
If you still need more tips on how to program, send me an email through the Contact link. Enjoy
End of Line