EE 360F - Introduction to Software Engineering

Office Hours

Monday & Wednesday -- 11:00-12:00 am in POB 5.124
Summer: By Appointment


This course is an introduction to software engineering with an emphasis on the methods, techniques and technology to build and evolve software systems. The emphasis is on software engineering principles, and not on programming (an assumed skill and a relatively small part of building and evolving systems). We will cover the main activities of building systems (requirements engineering, system architecture and design, system construction, and deployment and maintenance) and the elements that are integral to those activites (evolution, measurement and evaluation, teamwork, and management of project artifacts). In addition we will cover process engineeering and project management.

Additional information

A sample exam

Class Policies

Cell Phones: OFF during class - no texting, no answering phones, etc

Grading for Undergraduate Credit:

Grading for Graduate Credit: Examinations CHEATING:

Simply stated: the work on any homework and any exam MUST be your own work. Collaborating in any way on homework (unless specifically allowed) is cheating. Plagiarizing from any source for homework is cheating. Using any sources for homework (unless explicitly allowed) is cheating.

You may, of course, study in groups for exams, BUT during the exam providing information to, or obtaining information from, another student is cheating. Obtaining information from books, notes, etc during a closed-book exam is cheating.

Official ECE Policy: Faculty in the ECE Department are committed to detecting and responding to all instances of scholastic dishonesty and will pursue cases of scholastic dishonesty in accordance with university policy. Scholastic dishonesty, in all its forms, is a blight on our entire academic community. All parties in our community -- faculty, staff, and students -- are responsible for creating an environment that educates outstanding engineers, and this goal entails excellence in technical skills, self-giving citizenry, and ethical integrity. Industry wants engineers who are competent and fully trustworthy, and both qualities must be developed day by day throughout an entire lifetime. Scholastic dishonesty includes, but is not limited to, cheating, plagiarism, collusion, falsifying academic records, or any act designed to give an unfair academic advantage to the student. The fact that you are in this class as an engineering student is testament to your abilities. Penalties for scholastic dishonesty are severe and can include, but are not limited to, a written reprimand, a zero on the assignment/exam, re-taking the exam in question, an F in the course, or expulsion from the University. Don't jeopardize your career by an act of scholastic dishonesty.

University Honor Code

Any students with disabilities may request appropriate academic accommodations from the Division of Diversity and Community Engagement, Services for Students with Disabilities, 471-6259.

Reading Assignments

Reading assignments are to be read before class in preparation for class discussions.
With few exceptions, classes will NOT have PPT lectures, but will be class discussions and examples,
A * indicates a previously read paper - used for a different emphasis

Frederick Brooks, Mythical Man Month, 20th Anniversary Edition

[01] 26 Aug: Introduction - Systems and Complexity - Overview - [Lecture Slides] [Study Questions] [02] 31 Aug: Elements of engineered software systems [Supplementary Slides] [Study Questions] [03] 2 Sept: Requirements - Elicitation [Supplementary Slides] [Study Questions] [04] 9 Sept: Requirements - World & Machine; Prototyping [Study Questions] [05] 14 Sept: Architecture - Overview [Study Questions] [06] 16 Sept: Architecture - Mismatch, Example of Linux, Product Line Architecture and more (see supplemental slides) [Supplemental Slides] [Study Questions] [07] 21 Sept: Design - Design Principles [Supplemental Slides] [Study Questions] [08] 23 Sept: Design - Design Methods [Supplemental Slides] [Study Questions] [09] 28 Sept: Design - Design Experience [Study Questions] [10] 30 Sept: Construction & Deployment [Supplemental Slides] [Study Questions] [11] 5 Oct: Maintenance and Evolution [Study Questions] [12] 7 Oct: Artifacts and their Management - Configuration Mgmt [Supplemental Slides] [Study Questions] 12 Oct: 1ST EXAM -- Covers the first half of the semester (to this point)

[13] 14 Oct: Measurement & Evaluation - Reviews [Supplemental Slides] [Study Questions]

[14] 19 Oct: Measurement & Evaluation - White and Black Box testing [Supplemental Slides] [Study Questions] [15] 21 Oct: Measurement & Evaluation - Integration Testing [Study Questions] [16] 26 Oct: Measurement & Evaluation - Empirical Studies I [Supplemental Slides] [Study Questions] [17] 28 Oct: Measurement & Evaluation - Empirical Studies II [Supplemental Slides] [Study Questions] [18] 2 Nov: Team Work - [Study Questions] 4 Nov: NO CLASS - Extra Credit Homework -- Email to me,, by the beginning of class on Monday, 9 November.

[19] 9 Nov: Process - Introduction [Supplemental Slides] [Study Questions]

[20] 11 Nov: Process - Requirements, Architecture, Design [Supplemental Slides] [Study Questions] [21] 16 Nov: Process - Measurement, Evaluation & Improvement [Study Questions] [22] 18 Nov: Process - Measurement, Evaluation & Improvement [Study Questions] [23] 23 Nov: Project Management [Study Questions] 25 Nov: NO CLASS -- Thanksgiving

[24] 30 Nov: Ethics in Software Engineering [Supplemental Slides]

2 Dec: 2nd EXAM -- Covers everything after the second exam + pretty much all of original chapters (1-15) of Brooks


Dewayne E. Perry - This information last updated August 2009
Copyright © 1996-present. All rights reserved.