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. 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.
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
- Here is the link to Fall 2008 offering of CS194-4, Software as a Service.
Spring 2008
- CS294-23 Software as a Service graduate project course
- CS198-10/CS98-10 Intro to Web 2.0 Development Using Ruby on Rails. Introduction to Software-as-a-Service development targeted at early undergraduates, with an emphasis on agile development and the effective use of current best practices & tools.
I also maintain information about a number of Ruby on Rails-related events, software, etc. in and around the Berkeley EECS Dept.