This information is for UC Berkeley students enrolled in CS169 on campus.
These pages do not contain any useful information for MOOC students of CS 169.1x/CS 169.2x on EdX.
If you're looking for information about the EdX MOOC, try here. Nonprofits, campus units, NGOs, etc. interested in suggesting a student project? Guidelines here
Logistics, prereqs, etc
- Questions regarding project partners, project requirements, etc? See Project Requirements FAQ
- Instructor, Staff, Office Hours
- Lecture time: Tue & Thu 9:30-11:00am, 105 Stanley (Sections: Tuesday afternoons & Wednesdays)
- Tentative Syllabus/Lecture Schedule
- Other public materials: handouts, lecture slides (available shortly after lecture), etc.
- Prerequisites: CS61A & CS61B, or equivalent experience with functional & higher-order programming & at least one object-oriented programming language.
- Required textbook: Engineering Software as a Service by Fox & Patterson, v1.2.1 or later.
- Important dates: according to the Academic Requirements for Scheduling Conflicts, you must tell us by the end of the second week of classes if you will have conflicts with the following. Job interviews DO NOT automatically get you a free pass for missing these. The dates for these important events are on the syllabus/lecture schedule linked above:
- TWO EVENING MIDTERMS
- Poster previews (in lecture)
- Poster/demo presentations (dead week)
- Students with disabilities/special requirements: you must submit your requests for special consideration by the end of the second week of classes (i.e. by January 30) or we cannot guarantee resources will be available to accommodate you.
- Online materials
- The SPOC (Small Private Online Course) contains assignments, edited lecture videos, self-check questions, and more. (This SPOC is accessible only to UC Berkeley students enrolled in the course during the current semester.)
- Grading: 4 units, letter graded.
- 10% homework
- 40% project
- 40% two midterms (20% each); no final
- 5% in-lecture microquizzes (graded on effort)
- 5% altruism, participation, being a good Piazza citizen, etc
assignments are due at 11:59pm on the due date, which is usually a Friday. No credit if late. No extensions. Medical emergencies need a note; known-in-advance conflicts/issues need at least 48-hour notice to GSI. Some assignments are recommended to be completed in pairs
“CS169 in Fall 2016 has a final exam conflict with course X that I want to take, but I’ve heard CS169 doesn’t have a final. So is it OK to take both CS169 and X?”
We do not plan a final in CS169 S'16. BUT, we do have a final project/poster demo session. In the past, we have always been able to schedule the poster/demo session during Dead Week. HOWEVER, if there are students who have hard conflicts during Dead Week, we cannot force them to attend this activity during Dead Week. Therefore, theoretically, we must leave open the possibility of scheduling the demo/poster session during the final exam slot, even though so far we have never had to do this. We will know by the end of the second week of class whether it will be necessary to use our final exam slot in this way or not.
“I have a systematic lecture conflict. Will CS169 be webcast?”
Webcast with 3-day delay. Many lectures will be used to do non-lecture stuff. Plan to come to lecture, please. We will not grant requests for homework extensions or special consideration on quizzes because you missed a lecture and the webcast wasn't available in time.
I'm on the waiting list. Will I get in? (Or: How come I'm on the waitlist if Telebears shows open slots in the course?)
Our goal is to accommodate as many as possible, but Telebears gives preference will be given to CS seniors & juniors, then EECS upper division and lower division students, then non-EECS students. Except for very special cases, the Registrar and the Department, not the instructor, manipulate the waiting list. You have to be admitted to both a specific section and the lecture to be in the course. To check your waitlist status, email Michael-David Sasson, <email@example.com>
- understand the new challenges, opportunities, and open problems of SaaS relative to SWS (shrink-wrapped software)
- take an SaaS project from conception thru planning, development, assessment/testing, deployment, and operations, experiencing the attendant challenges of each stage, using RoR for development and Cloud Computing for deployment
- understand and use agile development methodologies and tools, including lo-fi UI sketching, user stories, behavior-driven development, version control for team-based development, and management tools for cloud-computing environments
- develop both technical and collaboration skills for working in "one-pizza" software teams
- understand and apply fundamental programming constructs and techniques including design patterns for software architecture, higher-order functions, metaprogramming, reflection, etc. to improve the maintainability, modularity and reusability of their code