Foundations of Software Engineering
COMP 7012 • Spring 2018
Dr. Scott Fleming, Instructor
Syllabus
eCourseware
Piazza
Helpful Resources
Schedule
Introduction
Mon 1/15
- M. L. King, Jr. Holiday—no class
Wed 1/17
Mon 1/22
Boot Camp on Web App Development
Wed 1/24
Mon 1/29
Wed 1/31
- Lecture: MVC and the View (slides)
- Demo: Adding a (Mostly) Static View Page (video)
- Demo: Adding an Image to a Web Page (video)
- Assigned: Homework 3 (instructions)
Mon 2/5
- Activity: Boot Camp Studio (Attendance Required!)
- Demo: Using Git and GitHub for Version Control and Collaboration (slides,video)
- Lecture: Databases and MVC Models (slides,video)
- Demo: Creating a Model Class (video)
- Assigned: Homework 4 (instructions)
Wed 2/7
- Activity: Boot Camp Studio (Attendance Required!)
- Demo: Creating Model Validations and Tests (video)
- Due: Homework 2 (instructions)
- Due: Homework 3 (instructions)
Mon 2/12
- Lecture: MVC Controllers (slides)
- Demo: Creating an Index Controller Action (video)
- Demo: Creating a Show Controller Action (video)
- Assigned: Homework 5 (instructions)
Wed 2/14
- Demo: Creating New/Create Controller Actions (video)
- Demo: Creating Edit/Update Controller Actions (video)
- Demo: Creating a Destroy Controller Action (video)
- Demo: Adding Alerts and Error Handling to Controller Actions (video)
- Demo: Generating Controller Actions with Scaffolds (video)
- Due: Homework 4 (instructions)
Mon 2/19
- Lecture: Model Associations (slides)
- Demo: Creating a Has-Many Association (video)
- Assigned: Homework 6 (instructions)
Wed 2/21
Mon 2/26
- Demo: Adding User Logins and Authentication with Devise (video)
- Assigned: Project Proposals (instructions)
Wed 2/28
Mon 3/5
Wed 3/7
Initial Planning Iteration 0
Mon 3/12
- Due: Project Proposals by 9am in eCourseware dropbox (instructions)
- Activity: Project Selection and Team Assignments
Wed 3/14
- Lecture: Software Engineering Process (slides)
- Lecture: Software Requirements (slides)
- Activity: Team meets with customer to create user stories (template); terminology used in the USs should be defined in a glossary (template)
Mon 3/19
- Due: User Stories and Glossary Draft 1 by 10am in eCourseware dropbox; this set of USs should cover all the main features of the system, and each team member must have authored at least 5 USs
- Assigned: Project Overview (instructions)
- Assigned: Milestone 0 (instructions)
- Activity: Peer Evaluation of User Stories and Glossaries (instructions)
Wed 3/21
- Lecture: Planning and Estimation (slides)
- Activity: Initial Project Planning: (1) Team creates initial designs (sitemap, wireframes, model classes), customer prioritizes USs, and (2) team chooses USs for Iteration 1 and fills out Iteration 1 Individual Assignment Specifications (instructions)
- Assigned: Milestone 1 (instructions)
- Assigned: Iteration 1 Individual Assignment Specification (instructions)
Development Iteration 1
Mon 3/26
- Due Draft of Individual Assignment Specification for Iteration 1 by start of class in eCourseware dropbox and bring 4 printouts to class (instructions)
- Activity: Peer Review of Individual Assignments (instructions)
- Due: Corrected Individual Assignment Specification for Iteration 1 in eCourseware dropbox (instructions)
- Due: Milestone 0 (instructions)
- Assigned: Iteration 0 Teammate/Customer Evaluations (see email instructions)
Wed 3/28
- Due: Marked up printouts of Individual Assignment Specs from last class by start of class
- Demo: Feature Branch Workflow and Pull Requests in GitHub (video)
- Due: Milestone 0 Teammate/Customer Evaluations by Fri (see email instructions)
Mon 4/2
- Lecture: Software Testing (slides)
- Demo: Functional (Controller) Testing in Rails plus Many-to-Many Model Associations (video)
Wed 4/4
Mon 4/9
- Lecture: White-Box Testing (cont’d)
- Assigned: Milestone 2 (instructions)
Wed 4/11
- Interactive Demo Session (In-class)
Development Iteration 2
Mon 4/16
- Due: Draft of Individual Assignment Specification for Iteration 2 by start of class in eCourseware dropbox and bring 4 printouts to class (instructions)
- Activity: Peer Review of Individual Assignments (instructions)
- Lecture: Security Exploits and Countermeasures (slides)
- Due: Corrected Individual Assignment Specification for Iteration 2 in eCourseware dropbox (instructions)
- Due: Milestone 1 (instructions)
- Assigned: Milestone 1 Teammate/Customer Evaluations (see email instructions)
Wed 4/18
- Due: Marked up printouts of Individual Assignment Specs from last class by start of class
- Lecture: Design Patterns Part 1: Observer, Singleton, & Adapter (slides)
- Due: Milestone 1 Teammate/Customer Evaluations by Fri (see email instructions)
Mon 4/23
- Lecture: Design Patterns Part 2: Builder & Memento (video,slides)
- Activity: Project Studio (attendance optional)
Wed 4/25
- Exam 2
- Assigned: Milestone 2 Teammate/Customer Evaluations (see email instructions)
Mon 4/30
Wed 5/2
- Interactive Demo Session (Public)
- Special Time: 10:00–12:00
- Special Place: UC Lobby
- Due: Milestone 2 (instructions)
- Due: Milestone 2 Teammate/Customer Evaluations by Thu (see email instructions)
- Due: Complete your SETEs in my.memphis.edu by midnight, Thu!
Instructions
Project
Homeworks