About CS210
Slide introduction to CS210
Melding Academia and Corporate

You are invited to participate in CS210: Project-Based Computer Science Innovation & Development. In this two-quarter, upper level depth sequence, you'll work with Stanford faculty, students, staff and their extraordinary network. The course emphasizes the spirit of innovation and excellence that combine so powerfully at Stanford and the larger Silicon Valley to produce many of today's foremost computer science driven technologies.
Student teams collaborate with corporate partners to develop a project theme of interest to the partner into a viable software solution.
In this course, Stanford students are introduced to the tools, methods and strategies needed to successfully design and develop significant and ongoing oftware projects. Our students are highly skilled at navigating the entire software design and development process, from conceptual brainstorming to rapid prototyping and, primarily, software development. In one two-quarter project, student teams typically put in well over a person-year (3-5 students, 35% effort level) in addition to significant contributions from faculty and other aspects of the Stanford network.
In The Community - Projects For Social Good
In addition to exposing students to "real world" software engineering in corporate environments, CS210 exposes students to how their skills and talents can be powerfully used for social good. Each year, one project in the course is a project of this kind, where students collaborate with non-profit organizations to make a positive and real social impact through application of computer science.
Teaching Team
Jay Borenstein (CS) instructs the course and is aided by Masters and PhD graduate students as teaching assistants. Before joining Stanford, Jay was the founder and CEO of Integration Appliance (www.intapp.com). The course also leverages Jay's and Stanford's extensive network to bring in industry leaders and visionaries as guest lecturers. Additionally, when practical, teams are assigned an industry coach - volunteers who typically have graduated from the Stanford CS department and have between five and thirty years of professional experience with vast networks in the Bay Area and the global technical community. In short, you will be working with an extraordinary team.
Successful Project Features
Projects for 210 are suggested by industry partners and refined through consultation with the teaching team. Successful projects commonly focus on new-product-related innovation challenges driven by real-world issues that are of interest to the company. They provide students considerable freedom of action and decision-making authority while challenging their creative and intellectual abilities. Projects should be conceptually and technically demanding while manageable in size.
The best projects are the result of close and open collaboration between the student team, company liaison, and the teaching team.
Real Software, Real Knowledge
Student teams drive the project forward implementing an agile development philosophy that emphasizes advancing products through an aggressive design-development-release cycle. In every step of the process, the work product becomes more refined and more real. At the end of the project, student teams present their fully functional final prototype at the Stanford Software Faire in June.
Concurrently, actions and ideas are continuously documented and summarized at the end of each quarter in a comprehensive document. The first report (delivered in March) defines client-customer objectives as well as specific functionality or performance targets. It is also used to capture benchmarking from the quarter and to highlight proposed solutions. The second report (delivered in June) documents project realization, outcome characterization, and includes testing metrics. To quote Donald Knuth (CS), the goal is to "capture the intelligence of the design, not just the outcome of the design."
Liason Guidelines
The academic and corporate success of a project in CS210 depends greatly on the existence of an effective company liaison. It is important that the liaison is willing to serve as the point-of-contact for corporate expertise and has project background information to assist in developing design requirements and concepts.
Liaisons should plan on a face-to-face meeting with the student team during the initial stages of the project in January/February and at least one other meeting on campus or at company sites over the course of the project. We also recommend weekly or twice-monthly communication via email, telephone and/or videoconference, but the exact style of interaction with the team varies and is up to the liaison.
Company Financial Commitment
For one two-quarter project, the gift amount is $75,000 which supports Stanford University and CS210. The gift is tax deductible. It covers all costs and includes university infrastructure charges, teaching team time, computing/classroom services, travel, telecommunication services, any prototype fabrication requirements as well as enabling CS210 to ensure that 25% of team projects each year are ones that serve a greater good
(see CS210 in the community). The exact terms and routing of payments are negotiated on a flexible case-by-case basis.
Project Proposal Timing
In order to ensure your collaboration slot in the course, it's requested that you confirm participation in CS210 for the academic year 2009-2010 as soon as possible. Collaboration slots are reserved on a first-come, first-served basis according to when we receive a commitment in the form of a simple, one-page gift letter which we will provide. The timing of the remittance of these funds can be worked out on a case by case basis. The receipt of the funds confirms a project in CS210. After a slot has been reserved for you, the teaching team will coordinate with you to develop a 1-4 page project theme. It is desirable to have a first iteration of this as early as possible and no later than the end of December.
If you would like to begin the project development process, please contact the CS210 instructor, Jay Borenstein, at borenstein@cs.stanford.edu or +1 (650) 736-8242.