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 (stacks, lists, queues, etc.), and discrete math. TEXTBOOK: SOFTWARE ENGINEERING, 7th or 8th ed., by Ian Sommerville, Addison- Wesley. (Note: the 8th edition includes three additional chapters reflecting topics that are not a focus of this course. Therefore, access to the 7th edition is sufficient.) OUTLINE OF COURSE TOPICS: (subject to change!) Chapter numbers refer to the SOMMERVILLE text; ``LNO'' = Lecture Notes Only. (1) Introduction (Ch 1) (9) Distrib Sys Architecture (Ch 12) (2) Software Processes (Ch 4) (10) Object-Oriented Design (Ch 14) (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) Proofs of Correctness (LNO) (6) Prototyping/Rapid Development (14) Software Testing (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 quizzes (60% of final grade) plus a comprehensive final exam (40% of final grade). 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.