Startup Engineering

Please sign up now for the free Coursera version of the class here.

Stanford's new course on building a startup from the ground up. Offered on campus and online, taught by successful entrepreneurs. Start here.

Stanford CME184 / CS184 - Startup Engineering - 3 units -
                    Winter 2013

Course

CME/CS184
Winter 2013
01/07/2013 - 03/15/2013
Stanford CME184 / CS184 - Startup Engineering - Classroom -
                    Hewlett 201 - T/Th 11-12:15

Lectures

Hewlett 201
Tuesdays and Thursdays
11:00 am - 12:30 pm

Syllabus

Week Topic Assignment
1/7 Overview, Introduction and Quickstart HW1
1/14 Tools: Unix (VMs, IAAS/PAAS, shell) and the Command Line (Text Editors, DVCS, Dotfiles) HW2
1/21 Frontend: HTML/CSS/JS, Wireframing, Market Research HW3
1/28 Backend: SSJS, Databases, Frameworks, Data Pipelines HW4
2/4 APIs: Client-side templating, HTTP, SOA/REST/JSON, API as BizDev HW5
2/11 Devops: Testing, Deployment, CI, Monitoring, Performance HW6
2/18 Dev Scaling: DRY, Reading/Reviewing/Documenting Code, Parallelizing Project
2/25 Founding: Conception, Composition, Capitalization Project
3/4 Business Scaling: Promotion, CAC/LTV/Funnel, Regulation, Accounting Project
3/11 Summary and Wrapup Project
3/18 Demo Week (Demo Day on March 22, 2013) Project

About the Course

The first half of the course will cover modern software engineering principles with a focus on mobile HTML5 development, taught via lectures, quizzes, and programming assignments. Guest lecturers from top Silicon Valley startups including Uber, Square, Stripe, AirBnb, Twilio, Taskrabbit, Judicata, Counsyl, Asana, Heroku, and Twitter will bring these concepts to life with real engineering problems from their work.

In the second half, you will apply these concepts to develop a simple command line application, expose it as a webservice, and then integrate other students' command line apps and webservices together with yours to create a mobile HTML5 app as a final project. Lectures will continue in the second half, but will be focused on the design, marketing, and logistical aspects of creating and scaling a startup. No other homework will be given in the second half to permit full focus on the final project.

Grading will be based on class participation (10%), homework (40%), and the final project (50%). The best final projects in each category (e.g. genomics, transportation, law, etc.) will qualify for prizes sponsored by startups.

Background

Familiarity with basic programming at the level of Stanford's CS106B is required, and some exposure to HTML, CSS, and Javascript will also be helpful. To get a sense of the energy humming through Silicon Valley, the following reading is also highly recommended:

This class takes up where CS183 left off, putting theory into practice. Here's a more formal description from the Stanford Bulletin:

Spiritual sequel to Peter Thiel's CS183 course on startups. A new course that bridges the gap between academic computer science and production software engineering. Fast-paced introduction to key tools and techniques (command line, dotfiles, text editor, distributed version control, debugging, testing, documentation, reading code, deployments), featuring guest appearances by senior engineers from successful startups and large-scale academic projects including Uber, Square, Stripe, AirBnB, Twilio, Taskrabbit, Judicata, Counsyl, Asana, Heroku, and Twitter. Over the course of the class, students will build a command line application, expose it as a web service, and then link other students' applications and services together to build an HTML5 mobile app. General principles are illustrated through modern Javascript and the latest web technologies, including Node, Backbone, Coffeescript, Bootstrap, Git, and Github. Prerequisites: Basic computer science as per CS106B. Recommended: some familiarity with HTML, CSS, and Javascript.

Instructors

Balaji S. Srinivasan - Stanford University

Balaji S. Srinivasan

Balaji S. Srinivasan is the co-founder and CTO of Counsyl, a genomics startup that grew from a Stanford dorm room to test more than 2.5% of all US births within less than three years after launch. Counsyl won the Wall Street Journal's Innovation Award for Medicine, was named one of Scientific American's Top 10 World Changing Ideas, and is now one of the largest clinical genome centers in the world. Prior to co-founding Counsyl, Dr. Srinivasan taught data mining, statistics, and computational biology in the Department of Statistics at Stanford University.

Vijay S. Pande - Stanford University

Vijay S. Pande

Vijay S. Pande is a professor of chemistry, structural biology, and computer science (by courtesy) at Stanford University, the director of Stanford's Biophysics Program, and the founder of Folding@Home. The project integrates volunteered computers and PlayStations to perform simulations of protein folding for disease research, and is the Guinness record holder for "most powerful distributed computing network". Professor Pande's current work includes novel simulation methods for high-precision drug binding affinity calculations, protein design, and synthetic bio-mimetic polymers.