Skip to navigation | Skip to main content | Skip to footer

This is an archived syllabus from 2013-2014

COMP33411 Software Design using Patterns syllabus 2013-2014

COMP33411 Software Design using Patterns

Level 3
Credits: 10
Enrolled students: 105

Course leader: John Sargeant

Additional staff: view all staff


  • Pre-Requisite (Compulsory): COMP23420

Assessment methods

  • 50% Written exam
  • 50% Coursework
Sem 1 Lecture IT407 Wed 11:00 - 11:00 -
Sem 1 w1-2,4,7,9,11 Lecture 1.3 Tue 16:00 - 16:00 -
Sem 1 A w3+ Lab 3rdLab Tue 16:00 - 16:00 -
Sem 1 A w3+ Lab G23 Tue 16:00 - 16:00 -
Sem 1 A w3+ Lab Toot 0 Tue 16:00 - 16:00 -
Themes to which this unit belongs
  • Software Engineering


This is an advanced course on software design following on from the second year software engineering course COMP23420.

Although a number of software design technques are covered, the main emphasis is on design patterns, which are approcahes to hard design problems which have shown themselves to be useful in multuiple different situations.


This is not a conventional lecture course. In fact there will probably only be one conventional lecture. Rather than lecture handouts, the primary source of material will be the book "Applying UML and Patterns" by Craig Larman, and you will need to buy it. The book is neither cheap nor thin, but it is excellent, and every computer scientist should own a copy. You will be given detailed advice on which parts of the book to focus on, to avoid excessive reading time.

This is not just a 'reading course' however. There will be 23 contact sessions, but rather than lectures most of these will be of the following kinds:

  • Q&A: Question and answer sessions, where you can ask questions about the course material and have them answered.
  • Test: Sessions which include a half hour online test which counts for 10% of the total assessment for the course. There are five of these, each preceded by an optional self-assessment test which can be taken when convenient.
  • Review: Feedback on a previous test. A final review session will be held after the notional end of the course to review the mock exam.

The continuous assessment and accompanying feedback is made possible by the use of online exam software. See the additional information for more information on this form of assessment. The assessment will be based on a case study - applying UML and patterns to the design of an online exam system! This will run parallel to the case study in the book.

The primary aim of the course is stated in the title of the book: applying UML and patterns, as opposed to merely learning UML notation and pattern descriptions. The book contains a vast amount of sound advice on best practice in software development, and the students should internalise a reasonable subset of this.


Each week has a primary theme (in some weeks there may also be secondary topics) and the style of the two contact sessions for each week is also listed. Since this is a brand new course some of the details may be subject to change.

Week 1

The Unified Process Introductory lecture, Q&A

Week 2

Use case modelling Q&A, test 1 (Unified process)

Week 3

Non-functional requirements Q&A, review 1

Week 4

System sequence diagrams and interaction diagrams Q&A, test 2 (Requirements analysis)

Week 5

Domain modelling Q&A, review 2

Week 6

Operation contracts Q&A, test 3 (Modelling)

Week 7

GRASP patterns (1) Q&A, review 3

Week 8

GRASP patterns (2) Q&A, test 4 (GRASP patterns)

Week 9

GoF patterns (1) Q&A, review 4

Week 10

GoF patterns (2) Q&A, test 5 (Gof patterns)

Week 11

Statechart modelling Q&A, review 5

Feedback methods

Feedback is mainly through a series of 5 online tests. Student get individual feedback on these, and they are also reviewed at subsequent lectures.

Study hours

  • Assessment written exam (2 hours)
  • Lectures (17 hours)
  • Practical classes & workshops (5 hours)

Employability skills

  • Analytical skills
  • Innovation/creativity
  • Problem solving
  • Written communication

Learning outcomes

On successful completion of this unit, a student will be able to:

Learning outcomes are detailed on the COMP33411 course unit syllabus page on the School of Computer Science's website for current students.

Reading list

No reading list found for COMP33411.

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.