Cracking the Code: Programming Classes for the Masses
by Leslie Meredith, TechNewsDaily Senior Writer
January 25 2012 11:00 AM ET
One of the biggest challenges in learning to code is understanding that every character counts. Get it right, and a website runs smoothly; get it wrong, and you’ll see nothing but error messages. If you lean a little toward the obsessive-compulsive, the demands of coding will feel familiar. Otherwise you’ll have to develop an anal-retentive sense of detail, as I’ve been learning in a new online course called Codecademy.
The free self-directed programming school has huge aspirations and big supporters. Founders Zach Sims and Ryan Bubinsky, who left their studies at Columbia University to start Codecademy, believe that everyone should become programming-literate. And the President Obama agrees. He’s added it to his Summer Jobs+ initiative, a program designed to create more than 180,000 jobs for low-income youth this summer.
Codecademy launched in August 2011 with a handful of lessons, but then kicked off 2012 with a full program called CodeYear, a 12-month course that promises to give you the skills to make your own app and website. CodeYear already has 368,828 participants, including New York City Mayor Michael Bloomberg — and me.
Even if you have no interest in making your own site, Sims said, coding helps you understand today’s world.
“We're using iPhone , computers, and more without understanding how they work,” Sims said. “Programming helps to build an algorithmic understanding of the way the world works.” For non-programmers, what he meant was that the precise directions required to “tell” a device or program what to do help us understand what seems like magic.
That every-character-counts lesson begins with the Web address: The site is Codecademy — no “a” after “Code.” Typing in CodeAcademy will land you on a site for a Chicago-based programming and web design school. Same idea, but not a free course for beginners.
No toe-dipping once you get to the site. Codecademy founders believe in “learning by doing” and invite visitors to jump in with their first coding lesson before even signing up for an account. Students can save and return to their work once they have “enrolled” with their names, email addresses and passwords or logged in through Facebook. The first module “Getting Started with Programming” contains 42 exercises organized in eight lessons.
I was happy to see that lessons can be completed in minutes. I learned that programming puts numbers over names. My name required quotation marks around it to be read without an error message, while I could write simple calculations like 2+2 without the quotes and press “enter” for an answer. Codecademy saved my login and place in the lesson, so it was easy to fit a lesson in between my dropping off my daughter at lacrosse practice and bringing her back for dinner.
Students can retake lessons as many times as they wish. I found that repeating a lesson before starting a new one actually saved time. Inevitably, I had forgotten the correct order in a “string” of code. Despite the hints that Codecademy provides in each exercise, it was quicker for me to start a session with the previous lesson and then move through subsequent ones.
You may opt into Codecademy’s CodeYear program, which will deliver a lesson to your inbox each Monday morning. But that’s too much pressure for me. Miss a week, and I start to feel like I can’t catch up. I like to proceed at my own pace — sometimes a turtle, sometimes a hare.
Coding can become second nature, but it won’t happen overnight.
Help is available through Codecademy’s new user Q&A forums. You can ask a question or post a description of a problem you’re having, and other participants will answer. Don’t be afraid to ask anything. I noticed someone inquired, “Where’s the console?” It seems painfully obvious, as it’s the big box on the screen where you type in your work. But the word is unfamiliar to many non-programmers.
The other student answered without a hint of disdain: “The console is the window on the right where it's gray and has the ‘>’ and a darker grey rectangle next to it. Similar to a DOS prompt.” OK, that last sentence may have sown further confusion for a newbie, but can be ignored.
Coding with friends
Codecademy awards achievement badges and points whenever a lesson is successfully completed. Badges can be posted to your Facebook and Twitter accounts so your friends can see your progress. Sims says sharing badges with friends helps participants stay motivated, the same way working out with a friend improves commitment. However, I left the competition to the kids and was happy to see that sharing progress was optional.
Codecademy has just introduced “meetups” — where participants meet at a real-world location to discuss their progress and problems. Any CodeYear or Codecademy participant can sign up to host their own meetup or to attend one at codeyear.com/meetups. The first CodeYear Global Meetup is set for Feb. 7, 2012. To date, meetups have been scheduled in 78 cities, representing 187 “programmers.” At last, a place where programmers and ordinary people can connect.
Is a programming career in my future? No, but by the end of the course, I will be able to create a basic website and hold my own over coffee with my techie friends.