Fall 2012

  • CS 169, Software Engineering, with focus on SaaS.  See description under Fall 2010.
  • CS 169.1x and CS 169.2x: two free online courses on EdX that cover the first 5.5 weeks and second 5.5 weeks of CS169, respectively.

Spring 2012

  • CS 169, Software Engineering, with focus on SaaS.  See description under Fall 2010.
  • Non-Berkeley students can also take the first 5 weeks of this course for free online, including the same quizzes, programming homeworks, etc.  So far over 53,000 people have signed up!
  • I’m trying to blog about how the course and preparation for the online onslaught is proceeding.

Fall 2010

  • CS 169, Software Engineering.  Software engineering focusing on the design, development, testing, deployment and operation of software as a service (SaaS).  Topics include: software architecture and design patterns, agile development, fundamental differences between developing/deploying SaaS vs. SWS (shrink-wrapped software), cloud computing, distributed SaaS applications, service-oriented architectures, SaaS security, and a focus on testability, including behavior-driven design and test-first development.  Ruby on Rails is used as the vehicle for an open-ended team project of each team’s choosing, to be deployed on public cloud for demo.  Prereqs: CS61A, and either CS61B or experience with an OO language such as C++ , C# or Java.  Knowledge of Ruby on Rails is not required.
  • CS294-61, Toward Highly Productive Parallel Programming (with Dave Patterson).  Can we provide productivity-level, domain-expert programmers with tools that will yield effective parallel code whose performance competes with code hand-authored by parallel computing experts?  We have some interesting ideas on how to do this.  Take the course and find out.

Fall 2009

  • CS194-4, Software as a Service.  This is an upper division, letter graded, lab intensive course that explores the challenges of developing, analyzing, deploying, and operating Software as a Service, as distinct from conventional shrink-wrap software. We use Ruby on Rails as the vehicle for labs & course projects, but the focus of the material is the SaaS challenges including scalability, availability, hot upgrade, and agile team collaboration. NOTE: this course is the successor to our earlier CS98-10/CS198-10 (below), which we expect to bring back in the next one or two semesters. Watch the RoR@Berkeley page for details.

Fall 2008

Spring 2008

I also maintain information about a number of Ruby on Rails-related events, software, etc. in and around the Berkeley EECS Dept.