Knowing how to write computer code has probably never been more valuable. The barriers to learning code are low and keep getting lower — you just need a little patience and a dose of ambition. Some smartphone apps do a nice job of teaching the basics.
If you have never done any programming, the free Codecademy: Code Hour app for iOS is a great place to begin. The app aims to teach some fundamental principles of computer programming by leading you through pieces of code and explaining how and why they work.
Codecademy’s lessons use a split screen. The top half of the screen contains text explaining an important idea about programming or asking you to complete a task. The bottom half has an example of the program code you are trying to learn, with interactive boxes for typing in information or selecting the right item from a menu.
The lessons include making text appear on a screen and making a calculation work by using the right mathematical symbol. At the end of each code example, pressing a “Run” button will run the program. Then the app either tells you that you have done well, or explains where you went wrong and gives a hint on how to make the code work properly.
The app has a friendly tone and the instructions are well written, so you probably will not feel overwhelmed. It does a good job of teaching some very basic ideas about writing code, but it does not contain a huge amount of content. The app points you to Codecademy’s website for more detailed lessons.
For an even more straightforward introduction to coding, check out Lightbot, a $2.99 iOS and $2.75 Android app. This app is aimed at children, but it’s great fun and does a surprisingly thorough job of introducing some pretty complex principles of programming.
Lightbot’s lessons come in the form of a game, in which a little robot navigates a maze and turns on lights. You arrange symbols on the screen to command the robot to walk, turn, jump, switch on a light and so on. The maze and the list of symbols become more complicated as the lessons move on. What you’re actually doing is learning quite complex ideas in coding like loops, procedures and more — even though you are not typing in any sort of computer code that you may recognize.
Lightbot is extremely easy to use and has a simple interface. Though the problems you have to solve may seem basic at first, they do become quite tricky, so even though this is technically a children’s app I don’t think adults will find it patronizing. There are free Android and iOS editions with a small selection of lessons so you can try the app before you buy.
If Lightbot feels a bit too abstract, try the free iOS app Hopscotch. As with Lightbot, the idea is to learn fundamental coding ideas without worrying about typing in real code, but this app uses a more text-based approach.
The goal in Hopscotch is to make a drawing, for example, or to move graphics on the screen in a simple game. To achieve the goal, you drag and drop colored blocks containing instructions, putting them in the correct order. The final list of instructions is a computer program, but it does not look like standard code with all its weird words and symbols; instead the instructions have text like “Set line color to” or “Change costume.”
The main Hopscotch app is free, but later lessons will cost $1 each.
If you are already a bit confident about your programming powers, or you have worked through these apps and want to try something more challenging, then the online education system Udacity has a free iOS and Android app that may be ideal, called Learn Programming. This app is a prepackaged educational course that teaches some of the fundamentals of computer science and explains core ideas of writing a computer program, as well as testing your understanding of the code examples you have learned with some interactive pop quizzes.
The Learn Programming app is a set of videos that carefully explain the lesson content. Each video is quite brief, making it easier to digest. Like all good courses, the app starts with principles, then moves into complex examples.
Read more: Get Cracking on Learning Computer Code