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

This is an archived syllabus from 2014-2015

COMP33411 Software Design using Patterns syllabus 2014-2015

COMP33411 Software Design using Patterns

Level 3
Credits: 10
Enrolled students: 99

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 - 12:00 -
Sem 1 w1-2,4,7,9,11 Lecture Alan Turing G.107 Tue 16:00 - 17:00 -
Sem 1 A w3+ Lab G23 Tue 16:00 - 17:00 -
Sem 1 A w3+ Lab Toot 0 Tue 16:00 - 17: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.


In the past, this has not been a conventional lecture course.  The primary source of material has been the book "Applying UML and Patterns" by Craig Larman, and  it is still highly recommended.

Overall there will be 25 contact sessions, of the following kinds:

  • Lectures (13)
  • Tests (5): 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 (5): Feedback on a previous test, followed by a “mini-lecture” .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.  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 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.  

Week 1

Introductory lecture, intro to the Unified process

Week 2

Agile software development, GRASP patterns (1)

Week 3

Test 1 (Unified process), GRASP patterns (2)

Week 4

Review of test 1, “chapter 23”  design patterns (1)

Week 5

Test 2 (GRASP patterns) “chapter23 “ design patterns (2)

Week 6

Reading week – optional catch-up time.

Week 7

Review of test 2, further design patterns (1)

Week 8

Test 3 (“chapter 23” design patterns), further design patterns (2)

Week 9

Review of test 3, Aspect-oriented programming (1)

Week 10

Test 4 (further design patterns), aspect-oriented programming (2)

Week 11

Review of test 4, review of course

Week 12

Test 5 (AOP), review of test 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

Programme outcomeUnit learning outcomesAssessment
A2 A4 B1 B2 B3 C5 D4A student successfully completing this course should be able to explain the following techniques and apply them appropriately in software development: *Iterative development as exemplified by the Unified Process. *Use-case modelling and realisation. *Static and dynamic domain modelling. *The fundamental GRASP patterns. *A selection of the classic 'Gang of four' design patterns.
  • Examination
A2 A4 B1 B2 B3 C5 D4The student should also know when and where to look for additional techniques and patterns.
  • Examination

Reading list

Applying UML and patterns: an introduction to Object-Oriented analysis and design and iterative development (3rd edition)Larman, Craig0131489062Prentice Hall2004

Additional notes

Course unit materials

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