City scape

Advanced Software Engineering

Software Engineering has undergone a shift in emphasis from the traditional, process-oriented approach to more lightweight approaches where the emphasis is on the programmer, and the development of flexible, maintainable code. This masters programme aims to provide the industrial software engineer with the foundational skills necessary to apply these new developments in their own work.

This masters programme is especially geared at industry-based software engineers and so is not suitable for new graduates.

This programme is aimed at professional, experienced software developers who wish to advance their knowledge in specific areas of the software engineering and computer science fields. Participants should be computer science graduates who are actively involved in software development at a technical level, and keen to raise their skills to a higher level. Class sizes are small, and all participants are professional software developers, thus creating a unique learning environment where the collective knowledge of the class is greater than that of any individual participant. The learning environment is greatly enhanced by the exposure of participants to other experienced software developers working in different domains and company cultures, using divergent sets of tools, techniques and processes. Participants learn through traditional lectures, in-class discussions, group and individual assignments and term papers, as well as through an individual software engineering project co-designed with, and supervised by, a UCD academic specialised in the software engineering field.

Programme outcomes:
-Synthesise current trends in software methodology and appreciate the value of individual practices in different contexts
-Make use of software design patterns and principles during software development, and apply refactoring techniques appropriately
-Apply best practices in the development of high performance software systems, and understand how to measure and assess software performance
-Appreciate where software agents can be used, and construct and test software systems using agents
-Apply network analysis and machine learning appropriately to a broad range of problems that arise in the software engineering domain
- Identify current software research relevant to their professional practice and learn to apply this in the context of an individual software project.
-Understand how large-scale software systems are deployed and apply sound engineering principles to maintaining them.
-Demonstrate an understanding of knowledge-based techniques, and synthesize understanding of knowledge-based techniques with previous industrial experience.

Entry requirements

-This programme is intended for applicants with a degree in Computer Science or a cognate discipline, with a subsequent two or more years of industry experience in software development. An upper second class honours or international equivalent is required. Each application will be assessed on a case-by-case basis, and exceptions to these rules may be made.
-Required skills include: a high degree of proficiency in object-oriented programming, a working knowledge of object-oriented design using e.g. UML, and experience in software development as part of a team.
-Applicants whose first language is not English must also demonstrate English language proficiency of IELTS 6.5 (no band less than 6.0 in each element), or equivalent.


2 years part-time

Number of credits


Careers or further progression

This MSc programme aims to give industrial software engineers the skills to incorporate the new concepts, methodologies, tools and practices they learn on the course into the projects they are working on in their companies. Students may be experienced software development professionals who feel that they are missing out on certain developments, new technologies or topics in software engineering that they would not normally be exposed to in their job. Participants value the opportunity to meet other professional software engineers from different backgrounds and experiences and get a different perspective. For some, the course will open the door to the research world with opportunities to publish their work. Many participants have used this MSc as a stepping stone to significant career advancement.

Further enquiries

+353 1 716 4043

Subjects taught

The 2-year, part-time programme starts in January 2017 and involves taking six specialised modules (60 credits) and a masters dissertation (30 credits). If all modules are passed and an honours standard is achieved, the student may proceed to the dissertation component. Otherwise, the candidate graduates with a Graduate Diploma.

In each year the student takes three ASE specialised modules. Each ASE specialised module runs as a full-time, intensive unit over five consecutive days (9am-6pm, Mon-Fri) in order to facilitate the participation of industry-based software engineers. The dissertation period commences in May of the second year and the dissertation should be submitted by the following December.

Each specialised module typically comprises 24 hours lectures, 16 hours of hands-on laboratory work, as well as assignment/essay work to be undertaken in the student's own time.


Opportunity to win the Google Excellence Award for the best project on the MSc in Advanced Software Engineering.

Application date

* Courses will remain open until such time as all places have been filled, therefore early application is advised

Enrolment and start dates

Next Intake: 2018/2019 January

Remember to mention gradireland when contacting institutions!