252-0216-00L Software Architecture and Engineering
Semester | Spring Semester 2013 |
Lecturers | M. Vechev, M. Pradel |
Periodicity | yearly recurring course |
Language of instruction | English |
Courses
Number | Title | Hours | Lecturers | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
252-0216-00 V | Software Architecture and Engineering | 4 hrs |
| M. Vechev, M. Pradel | |||||||||||||||||||||
252-0216-00 U | Software Architecture and Engineering | 3 hrs |
| M. Vechev, M. Pradel |
Catalogue data
Abstract | This course introduces both theoretical and applied aspects of software analysis and engineering. We will cover both the theoretical and practical aspects of: - Software Architecture - Modelling - Design Patterns - Code Refactoring - Program Testing - Dynamic Program Analysis - Static Program Analysis |
Objective | The course has 2 main objectives: - Obtain an end-to-end (both, theoretical and practical) understanding of the core techniques used for building quality software. - Understand how to apply these techniques in practice. |
Content | Some of the core technical topics covered will be: - modeling and mapping of models to code - common code design patterns and how to apply them - refactoring (as used in all modern development environments today): why, when and what to refactor - testing: functional, model-based, structural, object-oriented, fault-based testing - dynamic analysis: semantics, race detection, typestate analysis - symbolic execution - static program analysis: lattices, abstractions, fixed points, abstract domains. To aid in practical understanding, the course will contain 2 projects: one for testing and the other for static program analysis where for both the students will build practical analyzers gaining hands-on understanding for how the concepts work. |
Literature | Will be announced in the lecture. |
Performance assessment
Performance assessment information (valid until the course unit is held again) | |
Performance assessment as a semester course | |
ECTS credits | 8 credits |
Examiners | M. Vechev, M. Pradel |
Type | session examination |
Language of examination | English |
Repetition | The performance assessment is only offered in the session after the course unit. Repetition only possible after re-enrolling. |
Mode of examination | written 180 minutes |
Additional information on mode of examination | The grade will be determined by: - 1 coding project 20% - 1 coding project 20% - 1 written project 10% - Final Exam 50% |
Written aids | None. |
This information can be updated until the beginning of the semester; information on the examination timetable is binding. |
Learning materials
Main link | Information |
Only public learning materials are listed. |
Groups
No information on groups available. |
Restrictions
There are no additional restrictions for the registration. |
Offered in
Programme | Section | Type | |
---|---|---|---|
Computer Science Bachelor | Major in Computer and Software Engineering | O | |
Certificate of Advanced Studies in Computer Science | Compulsory Major Courses | W |