Introduction to Software Engineering

I am teaching Introduction to Software Engineering (CSE360) this Summer. I have taught this course for a year –Summer 2017, Fall 2017, and Summer 2018. CSE360 presents an overview of software life cycle models, project management, team development environments and methodologies, software architectures, and quality assurance and standards.


Fall 2017 version


CSE360 has 37 lectures and includes the following topics: linear and iterative process models; evolutionary models; the unified process; agile methods; requirements; requirement specification; use cases; activity diagram and state machine diagrams; validating requirements; software requirement specification (SRS); requirement patterns; structure modeling; class diagrams; software design patterns (observer, singleton and decorator); software architecture; architecture patterns (MVC, layered, blackboard, and client/server); software metrics; tools for software measurements; software cost estimation; size and scale factors; cost factors; and, verification, validation, and testing. My slides for each lecture are available below: