There are as many ways to learn to code as there are ways to use your coding ability. You can learn it from college courses, books, online resources — or from one of several growing boot camps for developers of all ages. We talked to the founders of two such boot camps: David Graham of Code Ninjas, for kids 7–14 and Michael Choi of Coding Dojo, for teens and adults. They explained their different approaches, both of which give their students the ability to build their own applications.
Michael Choi learned to code in Korea at age 12, with help from a friend who would make whole computer games in a day. When he went to university, he found their computer science classes didn't address his needs. His Coding Dojo program trains students in just 14 weeks.
"Our goal is, how can we get people to be a self-sufficient developer?" says Choi. In the first 3–4 weeks, students learn to "think like a computer" with five core concepts: if/else statements, for loops, functions, variables and object-oriented programming.
The next 10 weeks are spent on learning specific languages and how each language handles those five concepts. This part isn't just useful for students learning to code for the first time, but also for working developers who want to expand their career options. "They spend their entire career using one language, but now they need to pick something new", says Choi.
Coding Dojo can train a developer in a new language in 3–4 weeks, says Choi, versus 6–9 months learning on their own. But most of the work is done in assignments, not lectures. One reason college courses didn't work for him is that they involved long lecture. "People only retain about 20 minutes of lecture", he says, so he boils lessons down as much as possible, assigning 4–5 hours of work based on that lecture.
While Graham's Code Ninjas follows the same principle of learning through building, it works on a much longer scale. The full curriculum lasts 3–4 years and kids progress through it like a martial arts program, earning coloured belts as they complete different levels.
Students learn every concept by using it to build a video game. They can even draw their own art for the game. This makes the class feel less like another school subject and more like a fun project — learning to code becomes a game in itself.
The kids make some wild games, with things like characters who fart rainbows. "That was not in our original curriculum!" says Graham. "Their imaginations are endless. I thought it would be kind of paint by numbers. What we found out is that kids don't have those boundaries and walls in their thinking that adults do". He's convinced that Super Mario Brothers, where plumbers stomp on mushrooms and turtles, must have been influenced by kids.
Graham staffs the school with high school seniors and college students, who can relate to the kids better than adults would. (He also points out that because coding jobs pay so well, he just can't afford to hire adult coders.)
Graham emphasises that his curriculum teaches real coding — "any kid can whip something up from a template", he says, but a Code Ninjas black belt can build an app for the App Store from scratch. Or could — Choi has the full curriculum planned out, but Code Ninjas only opened in March 2017, so his first students have only reached the intermediate phase. (Code Ninjas is rapidly expanding and currently lists 264 locations in 32 states.)
Changing career paths, getting an idea for an app out of your head, or just learning something new and useful are all great reasons to get started programming. Learning a programming language might sound as intimidating as learning an actual foreign language, but with the right tips, hints and resources (conveniently provided below), you can go from bumbling bash user to the viscount of vim.
Graham and Choi agree that young people have an advantage when learning to code. Graham, who has also taught adults to code, says that kids move faster because they're just more used to soaking up knowledge and following instructions. "Critical thinking isn't bad, but it doesn't lend itself to learning as quickly". Choi says that younger students might have a "slightly easier" time, but his students range from 16 to their 60s.
Of course, you can learn to code without a camp. You can still teach yourself, or start solo before moving onto a camp or other social method. Choi recommends the tutorials at W3Schools and the online edX version of Harvard's CS50 course. But he warns about the latter, "It goes pretty deep pretty quickly".