Software Engineering Principles — Fall 2017

Additional course details and policies will be posted during Summer 2017.


This course provides an overview of the principles of software engineering and opportunities to investigate critical activities necessary for success. The software development life cycle provides the framework, with emphasis on the activities that surround the writing of source code.

Major topics include: Software Life Cycle Models (comparative analysis); Collaborative Development; Requirements Engineering; Quality, Verification, & Validation; Software Metrics; Architecture & Design; Implementation; Debugging & Testing; Maintainability; Roles & Responsibilities; Deliverables & Milestones.

Participants will locate, critically review, and make extensive use of external resources.

Prerequisites: Senior standing and CS 3210, CS 3240, COM 2610, PHI 3370, and 12 additional credits of upper-division CS courses, all with a grade of “C” or better.

Required Books (complete list):

Cover of Tsui text Essentials of Software Engineering, Fourth Edition
by Frank F. Tsui, et al.
Jones & Bartlett (2016); ISBN 1284106004

Cover of Lencioni text The Clean Coder: A Code of Conduct for Professional Programmers
by Robert C. Martin
Prentice Hall (2011); ISBN 0137081073

Cover of DeMarco/Deadline text The Deadline
by Tom DeMarco
Dorset House (1997); ISBN 0932633390

Cover of Lencioni text The Five Dysfunctions of a Team
by P. M. Lencioni
Jossey-Bass (2002); ISBN 0787960756

Required Online References (partial list):

Logo for Jenkins Jenkins: Documentation (2017); Available Online

Logo for Redmine Redmine: User Guide (2017); Available Online

Logo for Redmine Software Engineering Code of Ethics and Professional Practice
by ACM/IEEE-CS (2015); Available Online

website link Software Engineering Resources (2017); Available Online

Logo for Subversion Version Control with Subversion
by B. Collins-Sussman, et al. (2017); Available Online


Required only for software design extra-credit assignments.

Cover of Wake text Refactoring Workbook
by William C. Wake
Addison-Wesley (2004); ISBN 0321109295
Required for Extra-Credit Assignments Only

Supplemental Books:

NOT required for this course. Provide extended coverage of specific areas.

Cover of Clean Code Clean Code: A Handbook of Agile Software Craftsmanship
by R. C. Martin
Prentice Hall (2008); ISBN 9780132350884

book cover image Exploring Requirements: Quality Before Design
by D. C. Gause and G. M. Weinberg
Dorset House (1989); ISBN 0932633137

book cover image Mastering the Requirements Process (3rd edition)
by S. Robertson and J. Robertson
Addison-Wesley (2012); ISBN 9780321815743

book cover image The Mythical Man-Month (Anniversary Edition)
by F. P. Brooks, Jr.
Addison-Wesley (1995); ISBN: 0201835959

book cover image Refactoring: Improving the Design of Existing Code
by Martin Fowler
Addison-Wesley (2000); ISBN 0201485672

book cover image Software Requirements, Third Edition
by K. Wiegers & J. Beatty
Microsoft Press (2013); ISBN 0735679665

book cover image Waltzing With Bears: Managing Risk on Software Projects
by T. DeMarco & T. Lister
Dorset House (2003); ISBN 0932633609


See also: