Skip to main content

Syllabus

Grading

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.

Pair Programming

There are 10 points available for each part of your homework assignment for which you can submit an unlisted video of yourself pair programming. Please consider this part of the assignment optional in that if you cannot arrange to record a pairing session, and feel free to submit a video of yourself working solo on the assignment in order to get credit. If you are unable to access YouTube and/or G+ feel free to submit a link to a video hosted on some other service. If you have any problem with submitting a video for privacy reasons, then please feel free to submit a URL to a text document describing your thoughts and feelings on the assignment and pair versus solo programming. In each case you will be given full credit for the assignment; however we strongly encourage you to at least try remote pair programming.

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 sjoseph@hpu.edu

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.

Workload

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 10th 23:59 UTC.  

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

Course Content and Dates
Week #DateTopicReadingSlidesLecture SequenceAssignmentDue (Suggested)
-1 May 17th (Wed) Getting Started - -

Setting Up Courseware

Codecademy Ruby 1-10

- -
0 May 24th (Wed) Overview - - Version Control, Command Line & Git
Codecademy Ruby 11-19
- -
1 May 31st (Wed) Software Engineering and SaaS Architecture Ch. 1

Ch. 10.1 - 10.2
Ch. 3.1 - 3.4

Lecture 1
Lecture 2
Lecture 1: SOA & Cloud Computing
Lecture 2: Agile & Ruby Intro
Quiz 1
HW 1
Jun 12th (Mon)
2 Jun 7th (Wed) Ruby, BDD & TDD Ch. 3.5 - 3.8
Ch. 8.1 - 8.2 & 
Lecture 3
Lecture 4
Lecture 3: More Ruby
Lecture 4: BDD & TDD Intro & SaaS Architecture/REST
HW 2
Quiz 2
Jun 19th (Mon)
3 Jun 14th (Wed) Rails, SaaS and REST

Ch. 2
Ch. 4

Lecture 5

Lecture 6

Lecture 7

Lecture 5: SaaS Architecture & REST Cont.
Lecture 6: Rails Intro
Lecture 7: Rails continued
 HW 3 Jun 26th (Mon)  
4 Jun 21st (Wed) Behavior Driven Development (BDD)

Ch. 9.5

Ch. 7 

Lecture 8
Lecture 9
Lecture 8: Metrics, User Stories, Tracker
Lecture 9: Lo-Fi & Cost Estimation
HW 4
Quiz 3
Jul 3rd (Mon)
5 Jun 28th (Wed) Test Driven Development Ch. 8 Lecture 10
Lecture 11
Lecture 10: Rspec & Red, Green, Refactor
Lecture 11: Testing Support
HW 5
Quiz 4
Jul 10th (Mon)
6 Jul 5th (Wed) Conclusion N/A N/A Farewell N/A

This syllabus is subject to revision