Syllabuses - UG

CS451 - Design Patterns and Software Architecture

TIMETABLETEACHING MATERIAL
Credits20
Level4
SemesterTerm 2
AvailabilityAvailable to participants taking UG Graduate and Degree Apprenticeship programmes, e.g. BSc Hons IT: Software Development.
PrerequisitesCS351 Programming 3
Learning Activities Breakdown12 tutorials, online study and preparation for the assignment and class test.
AssessmentThe class will be assessed 60% via a class test and 40% via a coursework assignment. 
LecturerStuart 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: 

  1. Have a practical understanding of how to automatically evaluate software systems using static and dynamic analysis. 
  2. Identify, understand, and apply common software design patterns. 
  3. Have a practical understanding of the software development process using frameworks. 
  4. 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