CS451 - Design Patterns and Software Architecture
TIMETABLE | TEACHING MATERIAL |
Credits | 20 |
Level | 4 |
Semester | Term 2 |
Availability | Available to participants taking UG Graduate and Degree Apprenticeship programmes, e.g. BSc Hons IT: Software Development. |
Prerequisites | CS351 Programming 3 |
Learning Activities Breakdown | 12 tutorials, online study and preparation for the assignment and class test. |
Assessment | The class will be assessed 60% via a class test and 40% via a coursework assignment. |
Lecturer | Stuart Gale |
Aims and Objectives
The aim of the class is to enable participants to understand the challenges of advanced software design and the issues associated with large-scale software architectures, frameworks, patterns, and components. Participants will develop their understanding of tools and techniques that may be used for static and dynamic analysis of software.
The class focuses mainly on practical aspects of software development involving extensive Java programming and investigating the application of large Java frameworks.
Learning Outcomes
After completing this class participants will be able to:
- Have a practical understanding of how to automatically evaluate software systems using static and dynamic analysis.
- Identify, understand, and apply common software design patterns.
- Have a practical understanding of the software development process using frameworks.
- Identify and apply classical software architectural styles.
Syllabus
Indicative content:
- Software Design: key design principles and heuristics and trade-offs between these.
- Design Patterns
- Software Architecture
- Frameworks
- Major approaches to automated evaluation and analysis: dynamic analysis and static analysis
Recommended Reading
This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.
Design patterns [internet resource]: elements of reusable object-oriented software, Gamma, Erich, 9780321700698, Addison-Wesley, 2009
Last updated: 2022-12-15 10:59:25