Skip to main content



By the end of this course, you will have completed five 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.

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 1 (the diagnostic quiz). You may take Quiz 1 as many times as you want. 

  • Each of the 5 homework assignments will be worth 16% of the final grade.

  • The quizzes are worth 20% of the final grade, with the lowest scoring quiz being dropped.

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


50% of the grade from each homework assignment comes from pair programming.  The pair programming is particularly important if you would like to be considered for the upcoming 169 part 3 project course, which will involve developing software in agile teams for real non-profit and charity clients.  The 169 part 3 capstone gathers together all the skills from 169 parts 1 and 2 (Agile Development using Ruby on Rails basic and advanced); and allows to become certified as an Agile software developer.

The pair programming component involves submitting videos, but note that you are NOT required to use a webcam, and all that is required is that you record the screen, i.e. the editor being used to work on the code for the assignment.  We encourage the use of Agile Ventures Pair Programming on Air to make it easy to record pairing sessions using Google Hangouts and YouTube unlisted videos.  However, if you are unable to access YouTube and/or Google hangouts then feel free to submit a download link to a screencast recorded by other means and/or hosted somewhere else.

If you have any concerns regarding inappropriate behaviour in remote pair programming sessions please do not hesitate to contact Professor Sam Joseph at

Recommended Textbook

The recommended textbook for the class is Engineering Software as a Service (ESaaS), First edition (1.2.1; May-2016), 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 many countries the Kindle format will be bundled free with the print book.


Estimated time spent on course per week: 12 hour

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 Wednesdays.

  • All homework assignments and quizzes are released on Fridays.  In order to be eligible for a certificate all assignments and quizzes must be turned in by July 17th 23:59 UTC.  Final submission of peer review components must be completed by July 19th 23:59 UTC to be counted for certificate generation.

  • Note the precise details of this schedule are subject to change

Week#DateTopicReadingSlidesLecture SequenceAssignmentDue (Suggested)
-1 May 25 (Wed) Getting Started - -

Setting Up Courseware

- -


  Codecademy Ruby 1-10     

0 Jun 1 (Wed) Overview - - Version Control, Command Line & Git
- -


  Codecademy Ruby 11-19    

1 Jun 8 (Wed) Software Engineering and SaaS Architecture Ch. 1 Lecture 1 Lecture 1: SOA & Cloud Computing Quiz 1 Jun 20 (Mon)

Ch. 10.1 - 10.2

Ch. 3.1 - 3.4

Lecture 2 Lecture 2: Agile & Ruby Intro HW 1 Jun 20 (Mon)

2 Jun 15 (Wed) Ruby, BDD & TDD Ch. 3.5 - 3.8 Lecture 3 Lecture 3: More Ruby HW 2 Jun 27 (Mon)
      Ch. 8.1 - 8.2 & Ch. 2 Lecture 4 Lecture 4: BDD & TDD Intro & SaaS Architecture/REST Quiz 2 Jun 27 (Mon)

3 Jun 22 (Wed) Rails, SaaS and REST Ch. 2 Lecture 5 Lecture 5: SaaS Architecture & REST Cont.    
      Ch. 4 Lecture 6 Lecture 6: Rails Intro HW 3  Jul 4 (Mon) 
        Lecture 7 Lecture 7: Rails continued    

4 Jun 29 (Wed) Behavior Driven Development (BDD)

Ch. 9.5

Ch. 7 

Lecture 8 Lecture 8: Metrics, User Stories, Tracker HW 4 Jul 11 (Mon)
        Lecture 9 Lecture 9: Lo-Fi & Cost Estimation Quiz 3 Jul 11 (Mon)

5 Jul 6 (Wed) Test Driven Development Ch. 8 Lecture 10 Lecture 10: Rspec & Red, Green, Refactor HW 5 Jul 18 (Mon)
        Lecture 11 Lecture 11: Testing Support Quiz 4 Jul 18 (Mon)

6 Jul 13 (Wed) Conclusion N/A N/A Farewell N/A  

This syllabus is subject to revision