Software Development (CSC 321 2015F) : Handouts

Schedule


This is an approximate schedule. Expect things to change, perhaps significantly

Date Topic Readings Work Due
01 1 September 2015 An Introduction to the Course What is this course? Course goals. Why this course? Course structure. Work time.
02 8 September 2015 An Introduction to Software Engineering and SaaS What is software engineering? What is SaaS? Course goals, revisited. A quick consideration of Ruby. User stories. Work time. Chapter 1; Sections 10.1-10.2, 7.1, 7.3-7.4
03 15 September 2015 The Ruby Language Important aspects of Ruby. Puzzling aspects of Ruby. Discuss HW1. Start Chapter 4 (with partner). Chapter 3; Sections 8.1-8.2
04 22 September 2015 Ruby on Rails & Software as a Service Software as a Service. The Rails Architecture. Practice. Chapter 2; Chapter 4
05 29 September 2015 Ruby on Rails, Continued Adding a sort feature. Adding a filter feature. Adding persistence. Putting it all together. Morals from the assignment.
06 6 October 2015 Behavior-Driven Development BDD Basics. Cucumber Basics. Some Examples. Homework time. Sections 7.2; 7.5-7.12
07 13 October 2015 Codes of Ethics
Fall Break
08 27 October 2015 Test-Driven Development Review: Buggy code. Loop invariants. Code smells. Test-driven development. Code coverage. Work time. Sections 8.2-8.6; 9.5
09 3 November 2015 Pause for Breah Code smells. Designing databases. Big picture: Rails apps. Medium picture: Restful programming. TDD and BDD, revisited.
10 10 November 2015 Advanced Rails Chapter 5
11 17 November 2015 Ethics, Revisited Writing prompt. Three articles. Open questions. Possible approaches to prompt. Selected Articles
12 24 November 2015 Agile Project Management and Legacy Code Chapter 9 and Sections 10.4-10.9
13 1 December 2015 Design Patterns for SaaS Chapter 11
14 8 December 2015 Course Wrapup