Fall 2018 Course Homepage

CSE 210 - Principles of Software Engineering
Tu-Th 11:00am - 12:30pm
EBU3b 4140
Bill Griswold
Office Hours: Tuesday 12:30-1:00pm and by Appointment
TA: Muhammad Haseeb Ahmad
Office Hours: TBD and by Appointment
Time of final project presentations is Wednesday December 12th, 11:30am - 2:30pm

Building a great, successful software system is an intellectually challenging activity that is more likely to fail than succeed. Yet, software is becoming increasingly sophisticated and now permeates every aspect of our lives. Thus, software is becoming harder to build, but it's increasingly important to build it right.

The methods for creating software have changed dramatically to keep pace, even while the core principles have not, because they are timeless. This course is about learning to read, think about, discuss, and practice software engineering in a way that helps you apply the timeless principles of software engineering to today's software engineering problems.

Specifically, the goals of this course are to:

We will study insightful case studies such as the Mythical Man Month and Microsoft Secrets, as well as classic and leading edge articles from the research literature, including Agile and Design Patterns.

An undergraduate background in computer science (or equivalent) is a prerequisite, but an undergraduate software engineering class is not.


Course Resources