Thursday, November 24, 2011
Free Online Course on Software As A Service (Saas) from Stanford University
Armando Fox, Associate Professor at UC Berkeley and David Patterson, Pardee Professor of Computer Science at UC Berkeley and current Director of the Parallel Computing Lab will be taking a course on Software Engineering for Software as a Service in February 2012.
The course will teach the engineering fundamentals for long-lived software using the highly-productive Agile development method for Software as a Service (SaaS) using Ruby on 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, RCov, Pivotal Tracker, and Heroku.
Prerequisites for the course are: Programming proficiency in an object-oriented programming language such as Java, C#, C++, Python, or Ruby. Basic Unix command-line skills are helpful; we will provide a cheat sheet. You must also have a computer running Windows, Mac OS, Linux, or Solaris operating systems and running x86 or AMD64/Intel64 hardware on which you can install and run VirtualBox virtual machine. It should have at least 512 MB of memory, or at least 1 GB if running Windows. See www.virtualbox.org.
Recommended Textbook: "Engineering Long-Lasting Software: An Agile Approach Using SaaS and Cloud Computing," Beta Edition, by Armando Fox and David Patterson, to be available January 17, 2012.
You can register for the course here.