COURSE NUMBER AND TITLE: CEN 5035, Software Engineering OVERVIEW: This is a graduate-level survey course on the concepts and principles that underlie current and emerging methods, tools, and techniques for software development, validation, and maintenance. It is NOT a programming course! It is reading and discussion (as opposed to project) oriented, with some optional homework and in-class exercises. Formal methods are emphasized. PREREQUISITES: Familiarity with programming using a high-level language; basic knowledge of algorithms, data structures, and discrete math. TEXTBOOK: SOFTWARE ENGINEERING, 8th ed., by Ian Sommerville, Addison- Wesley. OUTLINE OF COURSE TOPICS: (subject to change!) Chapter numbers refer to the SOMMERVILLE text; ``LNO'' = Lecture Notes Only. (1) Introduction (Ch 1) (9) Distrib & Service-Oriented Sys (Chs 12, 31) (2) Software Processes (Ch 4) (10) Object- and Aspect-Oriented Design (Chs 14,32) (3) Project Management (Ch 5) (11) Software Reuse (Ch 18) (4) Software Requirements (Ch 6) (12) Verification and Validation (Ch 22) (5) Reqmts. Eng. Process (Ch 7) (13) Software Testing (LNO) (6) Prototyping/Rapid Development (14) Proofs of Correctness (LNO) (Ch 16.4, 17) (7) Formal Specification (Ch 10) (15) Software Evolution (Ch 21) (8) Architectural Design (Ch 11) (16) Process Improvement (Ch 28) EXAMINATIONS AND GRADES: Your course grade will be based solely on two equally-weighted, 90-minute exams. There are no projects or graded homework assignments. WORKLOAD: Students who take this course often comment that a great deal of material is covered in a relatively small amount of time.