252-0216-00L  Rigorous Software Engineering

SemesterSpring Semester 2019
LecturersZ. Su, M. Vechev
Periodicityyearly recurring course
Language of instructionEnglish
CommentPreviously called Software Architecture and Engineering


AbstractThis course introduces both theoretical and applied aspects of software engineering and analysis. It covers:

- Software Architecture
- Informal and formal Modeling
- Design Patterns
- Code Refactoring
- Program Testing
- Dynamic Program Analysis
- Static Program Analysis
ObjectiveThe course has two main objectives:

- Understand, end-to-end (theoretical and practical), the core techniques for building quality software

- Understand how to apply these techniques in practice
ContentSome of the core technical topics covered will be:

- modeling and mapping of models to code
- common code design patterns
- functional and structural testing
- dynamic and static analysis
LiteratureWill be announced in the lecture.