The Web-based backlash against the Stop Online Piracy Act, a bill aimed at taking down overseas distributors of copyrighted movies and music, was much like the Internet itself: decentralized, anarchic, and powerful enough to help persuade Senate Majority Leader Harry Reid (D-Nev.) to shelve the bill on Jan. 20. There was no official slogan for the public pushback against perceived government meddling with the Web, but the unofficial one might have been a headline that appeared on the online magazine Motherboard: “Dear Congress, it’s no longer ok to not know how the Internet works.”
A growing number of people agree that not only should Congress understand how software is made, so should everyone. Designers, economists, doctors, and others with no direct connection to the technology world are embracing coding as a way to advance their careers, automate boring tasks, or just a means of self-improvement, a hobby like learning Spanish or doing crossword puzzles. And they have access to an expanding universe of free online coding tutorials from startups and universities such as Stanford and Massachusetts Institute of Technology. Programming is becoming “a much more fundamental piece of knowledge, similar to reading or writing,” says Andy Weissman, a partner at New York’s Union Square Venures, which led a $2.5 million investment round for Codecademy, a site that teaches people basic programming skills.
On Jan. 1, Sims and Bubinski put up a Web page urging people to make learning to code their New Year’s resolution. As of Jan. 24, over 360,000 people had signed the pledge and agreed to let Codecademy send them new lessons—homework, essentially—each week. “There’s a cohort of hundreds of thousands of people who are all learning at the same time,” says Sims, “and they’ll be conversational in how to build basic Web applications and sites at the end of the year. It’s extraordinary.”
Universities including Stanford and MIT started making videos and materials for some of their classes available for free on YouTube and through iTunes a few years ago; computer science (CS) courses are among the most popular. “The introductory computing class has, on YouTube alone, over 2 million hits for the videos,” says Mehran Sahami, a CS professor at Stanford, who taught the class. “These are not short videos. These are hour-long lectures. Getting that kind of sustained demand for something so intensive in time and depth of study is really interesting to see.”
Last fall, Stanford took the idea further and conducted two CS courses entirely online. These included not just instructional videos but also opportunities to ask questions of the professors, get homework graded, and take midterms—all for free and available to the public.
Sebastian Thrun, a computer science professor and a Google fellow overseeing the search company’s project to build driverless cars, co-taught one of the courses, on artificial intelligence. It wasn’t meant for everyone; students were expected to get up to speed with topics like probability theory and linear algebra. Thrun’s co-teacher, Peter Norvig, estimated that 1,000 people would sign up. “I’m known as a crazy optimist, so I said 10,000 students,” says Thrun. “We had 160,000 sign up, and then we got frightened and closed enrollment. It would have been 250,000 if we had kept it open.” Many dropped out, but 23,000 students finished all 11 weeks’ worth of assignments. Stanford is continuing the project with an expanded list of classes this year. Thrun, however, has given up his tenured position to focus on his work at Google and to build Udacity, a startup that, like Codecademy, will offer free computer science courses on the Web.
One of Thrun’s students in the fall was Selene Liszka, who is not a technologist. Liszka studied psychology at the University of Pittsburgh and is now a physician’s assistant in charge of the pre-surgical ward at New York Downtown Hospital. The 28-year-old originally took up programming to better understand the career of her husband, a developer at Foursquare. She has since used her software skills to automate some of the routine tasks at her job, like keeping track of which patients require follow-up before surgery. It helps her communicate with the info tech specialists installing electronic medical records systems at her hospital.
It’s even improved how she deals with friends, family, and patients. “When there’s a problem with software, you have to be very specific about it, describing the expected behavior and the actual behavior,” she says. “People don’t spend enough time doing that. The software approach to life is different from the way many people approach life.”