Software Architecture & Design

This programme is designed for software professionals, architects, and senior system design engineers. Managers of architecture teams will also benefit from this programme.

The programme aims to form part of the evolutionary path that a software developer takes to become a software architect, allowing each student to advance their technical career path.

Students will learn about the role of a software architect in creating an extensible and maintainable software solution by applying abstract knowledge and patterns to software architecture, and design. The traditional role of a software architect will also be critically assessed in the face of agile development methodologies and the adoption of tools, and practices that avoid or decouple up front systems or architectural design.

The programme is taught by industry and academic experts who are either practicing software architects, senior technical architects or research active academics in the field.

Software architecture spans a number of pillars which include the application, system, software and enterprise. Application architecture represent the fundamental building blocks of software and at this layer an architect needs to make decisions about the programming language, the constructs, libraries and frameworks that will be used to develop software.

It is rare that an application lives in isolation and typically a system is composed of multiple collaborating applications. At this system level, software architects focus on issues such as reliability, interoperability and integration.

Software architecture is also concerned with the significant elements of the software system from the structure and design of the code to deployment of that code to the live environment. At this layer, a software architect will focus on security, reliability, authentication, performance etc. Across these pillars, software architects make architectural decisions that shape a system and design decisions to ensure his/ her vision is realised.

The MSc in Software Architecture & Design programme will provide students with the principles and concepts involved in the analysis and design of large software systems. The programme was developed with significant input from industry's leading experts.

The programme is focused on developing a holistic view, seeing the bigger picture to understand how a software system works as a whole. This approach helps to differentiate software development and software architecture, it also helps to understand how somebody progresses from software development to a software architecture role.

Entry requirements

Admission Requirements
An honours primary degree in a Computing Discipline or equivalent.

Applicants who do not hold a Level 8 degree but have significant industrial experience will be considered on a case by case basis.

Subjects taught

The programme places significant emphasis on student learning by doing. It adopts a practical, hands-on, approach to learning, where all modules are fully assessed using continuous assessment methods. There are no formal end of semester written examinations and this ensures that you will learn by doing from the first module to the last.

Semester 1 (Autumn - Year 1)
Software Architecture & Design
Software Process Engineering

Decision Analytics
Programming Language Design

Semester 2 (Spring - Year 1)
Scalable Microservices
Research Practice & Ethics

Declarative & Concurrent Programming
Software Vulnerabilities

Semester 1 (AUTUMN - YEAR 2)
Metaheuristic Optimisation

Decision Analytics
Programming Language Design

Semester 2 (SPRING - YEAR 2)
Research Project (20 ECTS)


M.Sc.: 60 ECTS


Online over 4 Semesters.



Enrolment dates

Contact the college for the next start date.

Post Course Info

Graduates may also wish to continue to PhD level in this exciting field of study.

More details
  • Qualification letters


  • Qualifications

    Degree - Masters (Level 9 NFQ)

  • Attendance type


  • Apply to

    Course provider