Skip to main content



By the end of this course, you will have completed six homework assignments, all of which involve a substantial amount of programming. Each assignment can be submitted multiple times without penalty, so you can use feedback from the automatic grader to revise your code. Note that your most recent score will be recorded as your grade.

Homework assignments turned in between one minute and one week late will receive a penalty of 25%. An assignment that would have scored 100 points would only receive 75 points if it is submitted 2 days late. Assignments turned in more than a week late will receive no points, but will still receive feedback from the autograder.  However please note that the edX system takes your last submitted score, not the maximum score, so do not re-submit after the deadline if you are already happy with your score, or you will end up being penalized for a late submission.

In addition to the homework assignments, there will be 4 quizzes. You will have only one chance to take each quiz, with the exception of Quiz 0 (the diagnostic quiz). You may take Quiz 0 as many times as you want. All quizzes must be turned in by the end of the day on the due date (midnight UTC). Late quizzes will receive 0 points.

  • Each of the 6 homework assignments will be worth 10% of the final grade.

  • The diagnostic quiz (Quiz 0) is worth 10% of the final grade.

  • Quiz 1, Quiz 2, and Quiz 3 are worth 10%, 10% and 10% of the final grade, respectively.

To earn a certificate for this class you must achieve a score of at least 50% overall.

Recommended Textbook

The recommended textbook for the class is Engineering Software as a Service (ELLS), Beta edition (0.10.2; 16-August-2013), by Fox and Patterson. While the book is recommended, it is not required, and there are many instructional materials available online for free.

Please note that the price and availability may vary based on the country that you live in. For more information on this issue, visit the textbook FAQ.


In a previous version of the course,

  • 50% of the students spent 6 hours or less per week on the course

  • 40% spent 6 to 12 hours a week

  • 10% spent more than 12 hours a week.


Course schedule:

Release schedule:

  • All lecture sequences are released on Thursdays.

  • The majority of homework assignments are released on Saturdays, and are due on Wednesday of the week after next (11 days later).
  • All quizzes are released on Mondays and due on Wednesday of the following week (9 days later).
DateTopicReadingSlidesLecture SequenceAssignmentDue
Oct 3 (Thu) Software Engineering and SaaS Architecture Ch. 1 Lecture 1 Lecture 1: SOA & Cloud Computing Quiz 0 Oct 16 (Wed)

Ch. 10.1 - 10.2

Ch. 3.1 - 3.4

Lecture 2 Lecture 2: Agile & Ruby Intro HW 0 Oct 16 (Wed)

Oct 10 (Thu) Ruby, BDD & TDD Ch. 3.5 - 3.8 Lecture 3 Lecture 3: More Ruby HW 1 Oct 23 (Wed)
    Ch. 8.1 - 8.2 Lecture 4 Lecture 4: BDD & TDD Intro Quiz 1 Oct 23 (Wed)

Oct 17 (Thu) Rails, SaaS and REST Ch. 2 Lecture 5 Lecture 5: SaaS Architecture & REST HW 1.5 Oct 26 (Sat)
    Ch. 4 Lecture 6 Lecture 6: Rails Intro HW 2  Oct 30 (Wed) 
      Lecture 7 Lecture 7: Rails continued    

Oct 24 (Thu) Behavior Driven Development (BDD)

Ch. 9.5

Ch. 7 

Lecture 8 Lecture 8: Metrics, User Stories, Tracker HW 3 Nov 6 (Wed)
      Lecture 9 Lecture 9: Lo-Fi & Cost Estimation Quiz 2 Nov 6 (Wed)

Oct 31 (Thu) Test Driven Development Ch. 8 Lecture 10 Lecture 10: Rspec & Red, Green, Refactor HW 4 Nov 13 (Wed)
      Lecture 11 Lecture 11: Testing Support Quiz 3 Nov 13 (Wed)

Nov 7 (Thu) Conclusion N/A N/A Farewell Video N/A