Course Description:

An introduction to the principles of the foundations of contemporary software design. Topics include software subsystem modeling, design patterns, design tradeoffs, and component-based software development, with a focus on application of these concepts to concrete design problems. The relationship between design and related process issues such as testing, estimation, and maintenance are also discussed.

Course Topics:

The course will encompass a variety of concepts and topics, among them are the following:

Course Objectives:

Show that developing software systems can follow established design principles and patterns to make it an engineering activity rather than just a programming activity.

Learing Outcomes and Exam Study Guides

Method of Instruction:

This course will combine a small amount of lecture, student presentations, and many in-class activities. Team project work will exist throughout the entire term. Some class time will be used for team meetings and discussions between the instructor and teams.

Textbook(s):

Required:

Attendance Policy:

Attending class is important because there will be class activities in almost every class session that contribute to 10% of your grade. Most classes will also have team meeting time, some of which will be with the instructor discussing project work with each team. During these meetings with the instructor, you will able able to ask questions about the project and receive early feedback on your project work.

Grading Breakdown:

A final course grade is a combination of your grades on exams, class activities, online discussion, and team projects.

Component Percentage of Final Grade
Activities 10%
Mini-Designs 10%
Design project R1 17.5%
Design project R2 17.5%
Refactoring Project 5%
Midterm Exam 1 10%
Midterm Exam 2 10%
Final Exam 20%

Note: Individual adjustments to the team project grades (Design Project, Refactoring Project) may be made in either direction based on the assessment of your contribution by the instructor and your colleagues on the team.

Minimum Passing Grade

The prerequisite for registering for coop is SWEN-262 with a grade of C-.

Grading Letter Breakdown:

The following chart will be used to determine your letter grade at the conclusion of the term.

Grade Percentage Range
A >= 93
A- >=90 and <93
B+ >=87 and <90
B >=83 and <87
B- >=80 and <83
C+ >=77 and <80
C >=73 and <77
C- >=70 and <73
D >=60 and <70
F <60