Course Schedule
The following is the planned schedule for the course. Assignments and due dates are subject to change, so be sure to attend class so you don't miss any important announcements.
Here is a short guide on how to get help when you're stuck.
Schedule
Week | Topic | Wednesday Reading | Weekly Assignment |
---|---|---|---|
1 | Software engineering | Chapter 2 | Github |
2 | Process Models | Chapter 4 | Project Brainstorming |
3 | Agile Development | Chapter 5 | Team Formation |
4 | Principles and Practice | Chapter 7 | Team Agreement |
5 | Understanding Requirements | Chapter 8 | Statement of Work |
6 | Requirements Models | Chapter 9, 10, or 11 (as assigned) | User Stories |
7 | Design Concepts | Chapter 12 | UI Design |
8 | Design Frameworks | Chapter 13, 14, 15, 16, 17, or 18 | Project Milestone Plan |
9 | Quality Control | Chapter 19 and 20 | - |
10 | Software QA | Chapter 21 | Milestone 1 Report |
11 | Software Testing | - | - |
12 | Security | - | Milestone 2 Report |
13 | Estimation | - | - |
14 | Maintenance | - | Milestone 3 Report |
15 | Project Presentations | - | Final Project Report |
Finals | Final Exam | - | - |
Course Rhythm
The majority of assignments in this course are team-based. Unless otherwise specified, the class will use the following schedule:
Mondays - Software Design Case Study
Every Monday we'll analyze and discuss the a popular piece of software. We'll explore mobile, web, and desktop software, as well as some IOT / physical computing examples. We'll look at design, security, and privacy principles, focusing on the engineering decisions that led to the final product.
Your team will carry out the first round of the analysis in class. Afterwards, you'll discuss your results with the rest of the class.
Wednesdays - Reading Quizzes and Discussion
Pre-class Reading
Prior to arriving to class on Monday, you should have read the assigned chapter reading. Unless otherwise specified, all readings come from Software Engineering: A Practitioner's Approach - 8th Edition by Pressman and Maxim. Links are provided below for readings not found in the text.
RATs
You'll take an Individual Readiness Assessment Test on the reading material. After those are collected, you'll take a Team-Based Readiness Assessment Test on the same material (with the same questions).
Note that IRAT and TRAT quizzes are meant to gauge your readiness for the class discussion. As such, they cannot be taken late.
If a student or team answers an IRAT/TRAT question incorrectly, but feels that their answer is just as good or better than the provided answer, they may submit a one-paragraph appeal in writing by the end of the day, explaining their position and citing relevant sources.
Team Activities
Following the quizzes, we'll have a variety of team-based activities, class-discussions, and demos related to the topic of the week.
Fridays - Team Project Day
On Fridays you'll spend time working on your team project, a semester-long software engineering project designed to solve a real-world problem for an external sponsor.
You'll have a team project assignment due every Saturday by 11:30 PM. More details about the scope and breadth of the project will be given in class.