Spring 2016 Info

This is the general info page for the campus course for UC Berkeley matriculated students.  These pages do not contain any useful information for MOOC students of CS 169.1x/CS 169.2x on EdX.

Nonprofits, campus units, NGOs, etc. interested in suggesting a student project?  Guidelines here

“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  CS169S'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?”

At the moment our intention is to webcast it, but we haven't finalized all the arrangements and we don't know how soon after the live lectures the webcasts will be available.  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).

  • Spring 2015 syllabus/lecture schedule
  • Spring 2015 public folder (includes recent lecture slides, section handouts, etc.)
  • Spring 2015 SPOC (Small Private Online Course) materials. You'll need an account on edge.edx.org (which can be the same as your edx.org account, but it's still a separate account). Enrollment is open only to Berkeley students enrolled for credit in CS 169 Spring 15.
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.

See links above for info about specific aspects of the course.
  • Questions regarding wait list, project partners, project requirements, stuff like that? See FAQ
  • Logistics (Spring 2015)
    • Instructor, Staff, Office Hours
    • Lecture time: Tue & Thu 3:30-5:00pm, 10 Evans (Sections: Weds 1, 2, 3, 4, 5pm; Thu 10am)
    • CCN: 26412
    • Prerequisites: CS61A & CS61B, or equivalent experience with functional & higher-order programming & at least one object-oriented programming language. 
  • Important event 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, as job interviews DO NOT get you a free pass for missing these. The dates for these important events are on the syllabus/lecture schedule linked above:
    • In-lecture quizzes
    • Poster previews
    • Poster/demo presentations
  • 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. 15% homeworks, 20% in-lecture microquizzes, 30% three in-lecture quizzes, 35% project

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
Grading - approximate breakdown

15% homeworks

20% in-lecture microquizzes (some build on HWs)

30% three in-lecture ~40-minute quizzes

35% project

Tiebreakers: Participation and Altruism