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.
See links above for info about specific aspects of the course.
- Questions regarding wait list? See FAQ
- Time: MW 2:30pm-4pm
- CCN: 26580
- Prerequisites: CS61A & CS61B, or equivalent experience with functional & higher-order programming & object-oriented programming.
- September 4 & 9: International House, Chevron auditorium
- September 11-November 27: 306 Soda Hall
- December 2 & 4: Sibley Auditorium, Bechtel Engineering Center
- Why are we doing it this way?
- 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:
- Midterm 1: October 15, 6-9pm, 155 Dwinelle
- Midterm 2: November 26, 6-9pm, 155 Dwinelle
- Poster previews: during lecture, December 2, Sibley Auditorium
- Poster/demo presentations: December 10, 9-11am and 1-3pm, Wozniak Lounge, Soda Hall
- 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.)
- Full-length unedited lecture webcasts are available on https://www.youtube.com/playlist?list=PL-XXv-cvA_iAS_kCeleydK6mDc0kCbdhU approximately 1 day after live lecture.
- Grading: 4 units, letter graded. Determined by:
- 1/3 two midterms
- 1/3 five programming-related homework assignments
- 1/3 team project. Details and deadlines here.
- Discretionary bonus points that can help your final grade if it's borderline: being unusually helpful on discussion forums, suggesting questions for homework assignments on PeerWise. We'll announce in lecture and on Piazza how to do this.
- 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