CodePath goes back to school
To bridge the gap between industry best practices and what’s taught in academia we plan to have CodePath classes running in hundreds of universities within the next three years. CodePath has spent years training senior engineers and designers inside of companies like Facebook, Dropbox, and Google on the latest technologies in mobile and web development. We believe that bringing the same classes to universities and introducing modern technologies like iOS, Android, and Node.js in the context of building practical apps will complement the traditional computer science curriculum.
As students near graduation, this can also help expose and prepare them for the thousands of opportunities in tech companies in Silicon Valley as well as other tech hubs. However, this program is not just for existing computer science students. We believe that introducing technology through building web and mobile apps will attract a diverse population who had not previously considered computer science.
The gap between school and industry
By the time I entered college as a Computer Engineering major, a nerd father, nerd summer camps, and years of nerd training prepared me well for my freshman year. With several programming languages under my belt, I felt at ease in the early logic and algorithm classes. And yet, in 1999, I had a vague sense that I was on the sidelines as my more adventurous friends were tackling PHP and throwing around words like “shopping cart” and “session cookies”. By the time I decided to explore more, it seemed like the crowd had already moved on to Cold Fusion and ASP. I still remember the general sense of frustration and confusion I felt after graduation as I was trying to understand the actual technical landscape that was so different from my textbooks.
This is not a condemnation of computer science programs. Critics of traditional degree programs will sometimes cite the fact that, in practice, most programmers don’t write compilers or operating systems or rebalance binary trees or route through graphs. While it’s true that web and mobile apps require a completely different set of tasks, I don’t regret learning the fundamentals. You can be a successful car mechanic without ever learning about the principles of combustion or aerodynamics, but you’ll probably never build your own race car.
However, there is a distinct gap between what’s taught in school and what’s practiced in industry. Our courses are designed to run in conjunction with university programs and bridge that gap. As students prepare for the transition into industry, the practical skills we give them will open thousands of doors. On the flip side, companies spend millions on university recruiting, focusing on only the top 50 schools and running interview drills that they know to be imperfect assessments. We hope that our program will pave the way for students from thousands of colleges and universities to discover and prepare for the opportunities they’re looking for.
“Started from the bottom, now I am an intermediate iOS developer. Bootcamp fulfilled all the promises Tim made. ”
– Stanford Student in Spring 2015 iOS Class
CodePath pilots iOS Class at Stanford
Earlier this year, we ran our first university class in iOS development for a group of 20 Stanford students sponsored by Andreessen Horowitz. Our instructor co-taught with a student instructor and a team of three TAs, and students participated either for independent study credits or no credits. We used the same policies that we have for our professional classes: unexcused absences or incomplete weekly projects will result in being withdrawn from the class. Despite having overburdened class schedules and other commitments, 15 students were able to successfully submit all projects and present a final group project which is an app they designed and built. Students in the program connected with senior iOS engineers from Wealthfront, Amazon, Linkedin, and Nest. Andreessen Horowitz also agreed to provide access to their portfolio of companies to all students in the program. To top it off, CodePath provided a $5,000 cash prize to the top student projects.
This program is not just for senior computer science students. Over the past few years, we’ve run an extremely successful program teaching designers how to build native mobile apps that was initially created for Facebook. Even though the designers have limited or no programming experience, they’re driven to create the apps they can see in their imagination. The class isn’t just about building apps like the one shown below. Designers gain confidence in their ability to pursue their own ideas, can work more seamlessly with engineers, and earn greater respect from their more technical peers.
Teaching designers successfully has helped us confirm that programming can be learned relatively quickly even by those with no prior experience. Unfortunately, in many universities there is a belief that only those who have been programming since childhood or with exceptional abilities in math or logic can learn new languages in a reasonable timeline. Furthermore, programming is rarely thought of as a field for those seeking to express creativity in their work.
We believe that a big part of the achievement gap in programming is in fact a motivation gap.
Most non-technical people are puzzled when programmers refer to themselves as the creative type or go on about the joys of seeing their ideas come to life. It doesn’t help that most introductory programming courses emphasize that the field is only for the ‘logical’ and the ‘gifted’. It’s no wonder that most creative, intelligent young people steer clear of dreary computer science classes. We believe that a big part of the achievement gap in programming is in fact a motivation gap. By motivating students with a clear vision of the things they can create, they’ll be inspired to learn more and to get through the difficult parts of the learning process. We’re in the early days of our university program, but we’re excited by the impact that we’ll have in this community and beyond.