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, requirements engineering, software design and architecture, project management, team development environments and methodologies, software metrics, and quality assurance and standards.

Syllabus

version Summer 2018

Lectures

This course includes 34 lectures about the following topics: 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; software cost estimation; size, scale, and cost factors; and, verification, validation, and testing.

My slides for each lecture are available below: