Berkeley - coursera : SaaS


This free online coursera course was not only about Software As A Service, but about best practices on software development. I took this course in order to improve my skills in these areas.

Various subjects are taught, such as:

  • Web development
  • Git
  • Deployment
  • Testing
  • Behaviour Driven Design
  • Ruby and Ruby On Rails


The course is 5 weeks long. Each week is composed of videos, quizz and programming exercises (automatically checked online). It took me about 6 hours a week, composed of roughly 2 hours watching the videos and 3 hours answering the quizz and exercices.

The exercises made me discover additionnal services such as:

  • Heroku, a Platform As A Service (PaaS)
  • Github, a web-based hosting service for software development projects that use the Git revision control system (we were given coupon in order to access freely to private repositories)
  • Amazon EC2, a cloud computing platform (we were given coupon in order to access freely to the service)

Here is the complete syllabus:

Week 1

  1. Engineering Software, Engineering Hardware
  2. Development Processes: Waterfall vs. Agile
  3. Assurance
  4. Productivity
  5. Software as a Service
  6. Service-Oriented Architecture
  7. Cloud Computing, Fallacies and Pitfalls

Week 2

  1. The Web as a Client-Server System; TCP/IP Introduction
  2. HTML and CSS
  3. 3-tiered Shared-Nothing Architecture and Scaling

Week 3

  1. Ruby 101
  2. Ruby Objects and Methods
  3. Object Oriented Programming in Ruby
  4. Ruby Metaprogramming
  5. Ruby Blocks, Iterators, Functional Idioms

Week 4

  1. Introduction to Behavior-Driven Design and User Stories
  2. SMART User Stories
  3. Introducing and Running Cucumber and Capybara
  4. Lo-Fi UI Sketches and Storyboards
  5. Enhancing Rotten Potatoes Again
  6. Explicit vs. Implicit and Imperative vs. Declarative Scenarios
  7. Fallacies & Pitfalls, BDD Pros & Cons

Week 5

  1. Testing Overview
  2. FIRST, TDD and Getting Started with RSpec
  3. More Controller Specs and Refactoring
  4. More Controller Specs and Refactoring (continued)
  5. Fixtures and Factories
  6. TDD for the Model & Stubbing the Internet
  7. Coverage and Testing Concepts and Perspectives
  8. Fixtures and Factories


This is an excellent introduction to best practices on software web engineering. Though audio quality of videos could be improved, the exercices materials were very good and moreover I learnt to use PaaS services. Though, I wasn't able to finish in time the exercices and quizz of Week 5 (explaining why my rating is not perfect) ; I wanted to attend to the Game Dev Party 2 event as well as the USPTO challenge on the last week.

Saas Statement

comments powered by Disqus