Explore UCD

UCD Home >

COMP40070

Academic Year 2024/2025

Design Patterns (COMP40070)

Subject:
Computer Science
College:
Science
School:
Computer Science
Level:
4 (Masters)
Credits:
10
Module Coordinator:
Assoc Professor Mel Ó Cinnéide
Trimester:
Autumn
Mode of Delivery:
Online
Internship Module:
No
How will I be graded?
Letter grades

Curricular information is subject to change.

This module examines Design Patterns in detail, their role in the software lifecycle, how and where they should be applied, and the potential benefits that accrue from their use.

NB. This is a professional module which is part of a professional MSc

About this Module

Learning Outcomes:

On successful completion of this module, a student should be able to: appreciate the benefits of design patterns, apply design patterns in their own programs, analyse the relationships between various design patterns, understand the application of design patterns in an industrial context, synthesize knowledge of design patterns with previous industrial experience

Student Effort Hours:
Student Effort Type Hours
Lectures

24

Practical

36

Autonomous Student Learning

140

Total

200


Approaches to Teaching and Learning:
Combination of lectures and hands-on practical work.

Requirements, Exclusions and Recommendations
Learning Requirements:

Students joining this module must have a minimum 2.1 honours degree in Computer Science (or a cognate discipline), and have a subsequent two years or more experience in the software industry as a software engineer/developer. Students on the Masters in Advanced Software Engineering have already been assessed and can take this module; all other interested students must contact the Module Coordinator who will determine if they have a suitable background for this module.


Module Requisites and Incompatibles
Not applicable to this module.
 

Assessment Strategy  
Description Timing Component Scale Must Pass Component % of Final Grade In Module Component Repeat Offered
Exam (Online): Final written exam End of trimester
Duration:
2 hr(s)
Graded No

30

No
Reflective Assignment: Lab Journal based on practical work undertaken during module Week 1, Week 2, Week 3, Week 4, Week 5, Week 6, Week 7, Week 8, Week 9, Week 10, Week 11, Week 12 Graded No

70

No

Carry forward of passed components
Yes
 

Remediation Type Remediation Timing
In-Module Resit Prior to relevant Programme Exam Board
Please see Student Jargon Buster for more information about remediation types and timing. 

Feedback Strategy/Strategies

• Group/class feedback, post-assessment
• Peer review activities
• Self-assessment activities

How will my Feedback be Delivered?

Not yet recorded.

There is no required text for this module, and it is probably possible to study this module using only the notes (which will be published on the web) and various web resources. The Gamma et al is the most relevant for this module; the others listed below would also be of use.

Erich Gamma et al, Design Patterns:Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
This is the bible of the patterns movement and is still one of the best books about on design patterns. Most of the patterns we look at in this module are covered in this book.

Eric Freeman et al, Head First Design Patterns, O’Reilly, 2004
An easy-to-read books that explains the Gamma et al patterns in a very digestible format. The “Heads First” idiosyncratic style isn’t for everyone though.

Josh Kerievsky, Refactoring to Patterns, Addison-Wesley, 2005.
This text looks in detail at the topic of refactoring a program to introduce design patterns. We’ll spend some time on this topic.

A.N. Other, Java Patterns Revealed!, etc. some publisher, some year.
This a catch-all for the plethora of “Java+Patterns” books on the market. Those I’ve encountered make a contribution and are certainly worth reading, though none stands out in my opinion.