Spring 2016 Info

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

  • Questions regarding project partners, project requirements, etc? See Project Requirements FAQ
  • Logistics (Spring 2015)
    • Instructor, Staff, Office Hours
    • Lecture time: Tue & Thu 3:30-5:00pm, 10 Evans (Sections: Thursday afternoons & Friday)
    • 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.1.1 or later. (We are working on getting v1.2.1 ready, but we'll provide free PDFs of the diffs to version 1.1.1 to anyone who bought 1.1.1.  Kindle Edition buyers will get free upgrade to 1.2.1 automatically when it becomes available.)
  • 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 theseThe dates for these important events are on the syllabus/lecture schedule linked above:
    • THREE 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, three midterms 20% each, 25% project, 5% discretionary (altruism, participation, etc.)
    • Homework assignments are due at 11:59pm on the due date, which is usually a Tuesday; check the syllabus to be sure. Assignments submitted up to 24 hours late are penalized 25%, and submissions up to 48 hours late are penalized 50%. Some assignments are recommended to be completed in pairs if noted.

“CS169 in Spring 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?”

Most of the lectures will be webcast, but they may not appear online for up to a day after the live lecture.  If you do enroll in CS 169 it will be your responsibility to be up-to-date with lectures (i.e., 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, <sasson@berkeley.edu>

Course Goals
Students will:
  • 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