Even at Stanford, according to Vijay Pande, professor of chemistry and, by courtesy, of structural biology and of computer science, students really don't know much about software engineering. They might know how to program a bit, but if writing a novel is a metaphor for launching a startup, he said, then all they know is grammar. And that's not enough.
So Pande and a colleague, Balaji Srinivasan, both with strong research and entrepreneurial backgrounds, taught a traditional classroom course in software engineering winter quarter aimed at future chief technology officers. It was so successful they're now going to go virtual, and starting June 17 they will begin teaching a 10-week massive open online course titled Startup Engineering. The idea is to reach thousands of people around the world who want to start their own companies but lack the requisite integration skills.
Srinivasan, who holds a doctorate in electrical engineering from Stanford, was a lecturer in statistics before he co-founded Counsyl, a genomics company that started up in a Stanford dorm room. The company, in which Pande also participates, develops genetic tests so potential parents can discover whether their future children are at risk for certain inherited diseases. The test analyzes DNA from saliva samples.
The trial run of their course, Computer Science 184/Computational and Mathematical Engineering 184, was aimed at bridging the gap between academic computer science, which Pande said is more theory than practice, and production software engineering.
"We see a lot of smart kids, both in companies and here at Stanford, who have to pick it up on the job by osmosis, and there's a huge cost in time," he said. "You acquire bad habits that can lead to inferior work products. But if you do software engineering well, you can move very quickly."
The fast-paced course for 150 undergraduates and graduate students featured frequent visits from senior engineers at leading technology firms. The class met once a week for 10 weeks, learning front-end and back-end HTML5 development. The second half of the class was largely hands-on as students created and scaled their future company or product.
Some of those projects involved digital currency, or bitcoin, which has been in the news lately, but back in January, when the class was taught on campus, Pande's students seemed to know about it way ahead of everyone else.
"Our students sensed it was a coming thing," Pande said, "and their interest in bitcoin was very intriguing." Among the bitcoin projects developed in the class was one that enabled people in India to use the digital currency to pay for things and another that allowed people to buy things on eBay and pay with bitcoin. "So our students have a head start," Pande said. In fact, a few have received venture funding to develop their projects this summer.
Changing lives online
The online version of their course, offered on the Coursera platform using Amazon Web Services (AWS), will replicate CS184, with technical and theoretical material in the first half followed by the more hands-on work in the second half. There will be 5- to 10-minute video lectures, online quizzes and assignments. Students may work as individuals or in teams, and their engineering projects also will use AWS as a platform. Pande is optimistic that motivated students will learn lots, learn fast and create virtual communities.
His optimism is based in part on having founded Folding@home, a distributed computing project that simulates protein folding and computational design for disease research. It uses the capacity of around 200,000 idle computers owned by volunteers who have installed appropriate software so their computers can problem-solve while they themselves are asleep or otherwise engaged. He has been in touch with those volunteers for years, and the results have had an astounding impact on medical research. So he knows the hidden potential that lies out there.
Pande is from Trinidad, and his father is Indian. "Balaji's and my dream," he said, pointing to a photograph of his extended family in an Indian village, "is that our course could really be of use for these people, for people like my family." When he was in the village recently, he found a physics textbook in one of the houses, the same one he used when he was a student at Princeton. "They're studying hard so they can pass exams and leave the village, just like my dad did," he said. "Our dream is that we can help them not only pass their exam but help them create a company that will give them revenues and profits. These are skills that can help the world in ways that a textbook on its own cannot."
The course, both in its classroom and online versions, is billed as the "spiritual sequel" to CS183, Tech Startup, taught in spring 2012 by Silicon Valley investor and entrepreneur Peter Thiel, who famously encouraged budding entrepreneurs to drop out of school and start companies. Thiel, one of the founders of PayPal, earned BA, BS and JD degrees from Stanford.
Stanford's distinctive role
The combination of Stanford's scientific work and its decades-long role in fomenting entrepreneurship and industry was the object of a study published last fall that estimated that companies established by Stanford entrepreneurs have generated world revenues of $2.7 trillion annually and have created 5.4 million jobs since the 1930s. Some 39,000 companies have been created by Stanford alumni and faculty since the 1930s. The lead author of that study was Chuck Eesley, assistant professor of management science and engineering, who himself has taught an online course on entrepreneurship.
Software engineering, Pande said, is essentially what enables that entrepreneurial ecosystem to flourish. Resorting to another non-tech example, he pointed to the post office. Just as the post office ensured that a business could receive and deliver, so too with startups today. You need web design, you need to connect your website with other people's websites (say, eBay, if you're figuring out how to pay with bitcoin) and you need application programming interfaces to integrate it all.
In short, Pande said, "you're connecting things."