Software Engineering for SaaS | networked life sciences | Scoop.it

Armando Fox, David Patterson

University of California Berkeley

 

Start: 13 July 2012 (5 weeks long)
Computer Science: Programming & Software Engineering

 

This course teaches the engineering fundamentals for long-lived software using the highly-productive Agile development method for Software as a Service (SaaS) using Ruby on Rails.

 

This course teaches fundamental processes of software engineering using the highly-productive Agile development method for Software as a Service (SaaS) using Ruby on Rails. This is not a "web programming" course: the emphasis is on learning the processes, tools and concepts, using SaaS as the vehicle. We chose SaaS and Rails because we believe the best tools for teaching these concepts are those in the Rails ecosystem. We will spend the first 2 weeks laying some foundations in terms of the Ruby language and important SaaS architectural concepts, then move into Agile development using Rails.

 

Agile developers continuously refine and refactor a working but incomplete prototype until the customer is happy with result, with the customer offering continuous feedback. Agile emphasizes user stories to validate customer requirements; test-driven development to reduce mistakes; biweekly iterations of new software releases; and velocity to measure progress. We will introduce all these elements of the Agile development cycle, and go through one iteration by adding features to a simple app and deploying it on the cloud using tools like Github, Cucumber, RSpec, SimpleCov, Pivotal Tracker, and Heroku.

This course is based on the first five weeks of a University of California at Berkeley course for senior computer science majors. We plan to offer the second five weeks of the course in late October/ early November.


Via Dr. Stefan Gruenwald