News
- The first lecture will be on Tuesday, March 31
Overview
| Professor | Dr. Iulian Neamtiu |
![]() | |
| Office hours: T 2:10 p.m. - 3:10 p.m. and R 5:00 p.m. - 6:00 p.m., Engineering BU2 (ENGR2) room 412 | |
| TAs | Georgios Chatzimilioudis |
| Office hours: F 3:00 p.m - 4:00 p.m. and M 2:00 p.m - 4:00 p.m. in ENGR2 room 363 | |
| Malcolm Mumme | |
| Office hours: T 10:30 a.m. - 12:00 p.m. and R 10:30 a.m - 12:00 p.m. in ENGR2 room 110 | |
| Lectures | TR 12:40 p.m. - 2:00 p.m., Sproul Hall (SPR) room 2365 |
| Lab (section 021) | R 2:10 p.m. - 5:00 p.m., ENGR2 room 129. TA: Malcolm |
| Lab (section 022) | W 3:10 p.m. - 6:00 p.m., ENGR2 room 127. TA: Georgios |
| Grading | Project (50%) + Final exam (25%) + Midterm (20%) + Quizzes (5%) |
| Textbook | Fundamentals of Software Engineering (2nd edition) by Ghezzi, Jazayeri, Mandrioli. Book website. |
| Midterm | April 28 |
| Final exam | June 11 |
| Prerequisites | CS 141 |
| Moodle page |
Catalog description: A study of software engineering techniques for the development, maintenance, and evolution of large software systems. Topics include requirements and specification; system design and implementation; debugging, testing, and quality assurance; reengineering; project management; software process; tools; and environments.
Schedule
| Day | Date | Topic | Reading | Slides | Notes |
| Tue | March 31 | Introduction | Chapter 1 |   | |
| Tue | April 2 | Software: Its Nature and Qualities Software Engineering Principles |
Chapters 2, 3 |   | |
| Thu | April 7 | The Software Production Process | Chapter 7 (sections 7.1--7.6) How Microsoft Builds Software (optional) Two case studies of open source software development: Apache and Mozilla |
  | |
| Thu | April 9 | Rapid Software Development (includes Extreme Programming) |
PDF (optional) Get Ready for Agile Methods, with Care |
  | |
| Tue | April 14 | Management of Software Engineering | Chapter 8 (sections 8.1, 8.2 (up to, and
including 8.2.3.1), and 8.3) Software risk management: principles and practices by Barry Boehm |
  | |
| Thu | April 16 | Specification | Chapter 5 (sections 5.1--5.4) |   | |
| Tue | April 21 | Finite State Machines Petri Nets |
Chapter 5 (section 5.5) |   | |
| Thu | April 23 | Logic Specification Axiomatic Semantics |
Section 5.6.2 (up to, and including, 5.6.2.2) An Axiomatic Basis for Computer Programming by C.A.R. Hoare |
  | |
| Tue | April 28 | Midterm |   |   |   |
| Thu | April 30 | Design and Software Architecture | Chapter 4 (sections 4.1--4.2.2) On the Criteria To Be Used in Decomposing Systems into Modules by David L. Parnas |
  | |
| Tue | May 5 | Design Notation, Abstraction and Refinement | Chapter 4 (sections 4.2.3--4.2.6) |   | |
| Tue | May 7 | Verification: Introduction | Chapter 6 (up to 6.3.4.1) |   | |
| Thu | May 12 | Structural (White-box) Testing | Chapter 6 (section 6.3.4.1) |   | |
| Tue | May 14 | Functional (Black-box) Testing Testing in the large |
Chapter 6 (sections 6.3.4.2--6.3.5.3) |   | |
| Thu | May 19 | Verification: Program Analysis | Section 6.4 (omit 6.4.2.2 and 6.4.2.3) |   | |
| Thu | May 21 | Symbolic Execution | Sections 6.5 (omit 6.5.2) and 6.7 |   | |
| Tue | May 26 | Tools and Environments | Section 9.3 |   | |
| Thu | May 28 | Review | Ariane 5: Who Dunnit?> |   | |
| Tue | June 2 | Project presentations |   |   |   |
| Thu | June 4 | Project presentations |   |   |   |
| Thu | June 11 | Final Exam |   |   |   |
Projects
Details on Moodle.Quizzes
There will be several unannounced quizzes at the beginning of class. Quizzes are designed to test students' understanding of the material assigned in advance for that class (section or chapter in the textbook) or to reinforce material studied in previous lectures. When computing the student's final score, the lowest quiz score will be dropped. There are no make-up quizzes.Resources
Optional books:- The Mythical Man-Month by Frederick P. Brooks
- Software Engineering by Ian Sommerville.
