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.

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 5 homework assignments will be worth 14% of the final grade.

  • The quizzes are worth 30% 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 75% 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.

If you have any concerns regarding inappropriate behaviour in remote pair programming 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 (ELLS), First edition (1.1.1; 16-Sept-2014), 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 Tuesdays.

  • All homework assignments and quizzes are released on Thursdays, and are due on Monday the week after (11 days later).

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

Week#DateTopicReadingSlidesLecture SequenceAssignmentDue
-1 Oct 6 (Tues) Getting Started - -

Setting Up the VM

- -
     

 

  CodeAcademy Ruby 1-10     

0 Oct 13 (Tues) Overview - - Version Control, Command Line & Git
- -
     

 

  CodeAcademy Ruby 11-19    

1 Oct 20 (Tues) Software Engineering and SaaS Architecture Ch. 1 Lecture 1 Lecture 1: SOA & Cloud Computing Quiz 1 Nov 02 (Mon)
     

Ch. 10.1 - 10.2

Ch. 3.1 - 3.4

Lecture 2 Lecture 2: Agile & Ruby Intro HW 0 Nov 02 (Mon)

2 Oct 27 (Tues) Ruby, BDD & TDD Ch. 3.5 - 3.8 Lecture 3 Lecture 3: More Ruby HW 1 Nov 09 (Mon)
      Ch. 8.1 - 8.2 Lecture 4 Lecture 4: BDD & TDD Intro Quiz 2 Nov 09(Mon)

3 Nov 3 (Tues) Rails, SaaS and REST Ch. 2 Lecture 5 Lecture 5: SaaS Architecture & REST    
      Ch. 4 Lecture 6 Lecture 6: Rails Intro HW 2  Nov 16 (Mon) 
        Lecture 7 Lecture 7: Rails continued    

4 Nov 10 (Tues) Behavior Driven Development (BDD)

Ch. 9.5

Ch. 7 

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

5 Nov 17 (Tues) Test Driven Development Ch. 8 Lecture 10 Lecture 10: Rspec & Red, Green, Refactor HW 4 Nov 30 (Mon)
        Lecture 11 Lecture 11: Testing Support Quiz 4 Nov 30 (Mon)

6 Nov 24 (Tues) Conclusion N/A N/A Farewell N/A  
               

Google Calendar

This syllabus is subject to revision