You are here

Startup Engineering

Date: 
Monday, June 17, 2013
Platform: 

About the Course

Spiritual sequel to Peter Thiel's CS183 course on startups. 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. 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. 

Course Syllabus

The syllabus is optimized to enable students to iterate on their final projects as soon as possible, with technical material in the first half of the class and entrepreneurial considerations in the second half.

  • Introduction and Quickstart
  • Tools: VMs, IAAS/PAAS, Unix Command Line, Text Editors, DCVS
  • Frontend: HTML/CSS/JS, Wireframing, Market Research
  • Backend: SSJS, Databases, Frameworks, Data Pipelines
  • APIs: Client-side templating, HTTP, SOA/REST/JSON, API as BizDev
  • Devops: Testing, Deployment, CI, Monitoring, Performance
  • Dev Scaling: DRY, Reading/Reviewing/Documenting Code, Parallelizing
  • Founding: Conception, Composition, Capitalization
  • Business Scaling: Promotion, CAC/LTV/Funnel, Regulation, Accounting
  • Summary and Demo Week

Recommended Background

Familiarity with basic programming at the level of Stanford's CS106B is required. Some exposure to HTML, CSS, and Javascript will also be helpful.

Suggested Readings

To get a sense of the energy humming through Silicon Valley, the following reading will be helpful: 
This class takes up where CS183 left off.

Course Format

The first half of the course will cover modern software engineering principles with a focus on mobile HTML5 development, taught via 5-10 minute video lectures with in-class questions, programming assignments, and quizzes. Guest lecturers from top Silicon Valley startups 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 an open-source 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.

FAQ: 

  • Will I get a certificate after completing this class?
    Yes. Students who successfully complete the class will receive a certificate signed by the instructor. 

  • What audiences will benefit most from this class?
    The class will be particularly useful for CS undergrads, grad students or alumni in other STEM disciplines, people looking to found or join a startup, and new startup hires. 
  • What resources will I need for this class?
    You will need an internet connection and the ability to sign up for free  Amazon Web Servicesand Github accounts.  
  • What is the coolest thing I'll learn if I take this class?
    You will learn how to turn knowledge into power.

Instructor(s)

Balaji S. Srinivasan

Balaji S. Srinivasan is the co-founder and CTO of Counsyl, a genomics startup that began in a Stanford dorm room and now tests more than 2.5% of all US births.

Vijay S. Pande

Professor

Vijay S. Pande is a professor of chemistry, structural biology, and computer science (by courtesy) at Stanford University and the director of Stanford's Biophysics Program.