Introduction to Software Engineering

I am teaching Introduction to Software Engineering (CSE360) this Summer. I have taught this course for a year –Summer 2018, Fall 2017, and Summer 2017.

CSE360 presents an overview of software life cycle models, requirements engineering, software design and architecture, project management, software cost estimation, software metrics, and software testing.

Syllabus

version Summer 2018

Lectures

This course includes 29 lectures and the following topics are covered: process models (linear, iterative and evolutionary); agile methods; requirements; requirement specification; use cases; UML diagrams; software requirement specification (SRS); 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; COCOMO model; and, unit testing.

My slides for each lecture are available below: