CSC 313 — Software Engineering

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.


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.


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.