SWEN423 (2022) - Design: Patterns, Frameworks and Languages


Object-orientation is the basis for many different programming languages, frameworks and programming patterns. This course explores advanced topics in formal design techniques for OO Languages, OO Frameworks and OO Programming Patterns, and connects those formal designs with practical programming examples.

Course learning objectives

Students who pass this course should be able to:

  1. Describe what it might mean to label something with the phrase object-oriented.
  2. Understand and use the mathematical metalanguage used to formally define object-oriented programming languages.
  3. Understand and describe object-oriented designs of frameworks, patterns and APIs.
  4. Compare different designs for object-oriented patterns, frameworks and languages.
  5. Discuss, describe, and evaluate the applicability of those techniques, designs, and languages.

Course content

2022: The course is primarily offered in-person, and there are components such as tests, labs, tutorials, and marking sessions which require in-person attendance. There will be remote alternatives for all the components of the course, but these are only available to students studying from outside the Wellington region. The remote option for tests will use a Zoom-based system for online supervision of the tests. 
Students taking this course remotely must have access to a computer with camera and microphone and a reliable high speed internet connection that will support real-time video plus audio connections and screen sharing. Students must be able to use Zoom; other communication applications may also be used. A mobile phone connection only is not considered sufficient. The computer must be adequate to support the programming required by the course: almost any modern windows, macintosh, or unix laptop or desktop computer will be sufficient, but an Android or IOS tablet will not.

Withdrawal from Course

Withdrawal dates and process:


Dr Marco Servetto (Coordinator)

Teaching Format

This course will be offered in-person and online.  For students in Wellington, there will be a combination of in-person components and web/internet based resources. It will also be possible to take the course entirely online for those who cannot attend on campus, with all the components provided in-person also made available online.
We require in-person submission of short paper reports and mocks.
The course is covers 3 main topics: formal models of PL, advanced programming patterns and frameworks.
Each topic has its own dedicated term test, and there is a final term test at the end of the course.
At the start of the course there is a smaller assignment about refreshing the required pre-requisite knowledge.
During the trimester there will be two lectures per week. There are no labs, tutorials. If the student request it, we could organize some help desks.

Student feedback

Student feedback on University courses may be found at:  www.cad.vuw.ac.nz/feedback/feedback_display.php

Dates (trimester, teaching & break dates)

  • Teaching: 11 July 2022 - 14 October 2022
  • Break: 22 August 2022 - 04 September 2022
  • Study period: 17 October 2022 - 20 October 2022
  • Exam period: 21 October 2022 - 12 November 2022

Class Times and Room Numbers

11 July 2022 - 21 August 2022

  • Tuesday 15:10 - 16:00 – 120, Easterfield, Kelburn
  • Friday 14:10 - 15:00 – 120, Easterfield, Kelburn
05 September 2022 - 16 October 2022

  • Tuesday 15:10 - 16:00 – 120, Easterfield, Kelburn
  • Friday 14:10 - 15:00 – 120, Easterfield, Kelburn


Lecture readings are accessible via Talis Aspire (linked from the course website).

Mandatory Course Requirements

In addition to achieving an overall pass mark of at least 50%, students must:

  • Achieve at least a D grade on the final term test, to demonstrate achievement of all the CLOs of the course.
  • Complete at least 90 questions on the Web Assessment Tool by the end of the course.

If you believe that exceptional circumstances may prevent you from meeting the mandatory course requirements, contact the Course Coordinator for advice as soon as possible.


Assessment ItemDue Date or Test DateCLO(s)Percentage
Web Assessment toolWeek 2CLO: 1,2,3,4,510%
Assignment 1 (formalisms)T.B.D.CLO: 1,2,3,4,525%
Assignment 2 (patterns)T.B.D.CLO: 1,2,3,4,520%
Term Test (all material)Assessment periodCLO: 1,2,3,4,530%


The penalty is 10% per week day after the deadline and essays more than three days late may not be marked, unless prior agreement with the course coordinator has been made at least 24 hours in advance with respect to the corresponding due date. Approval for late submission will only be given in exceptional circumstances.
Term Tests must be completed in the given time frame.


Individual extensions will only be granted in exceptional personal circumstances, and should be negotiated with the course coordinator before the deadline whenever possible. Documentation (eg, medical certificate) may be required.

Submission & Return

Work will be submitted via ECS's submission system, accessible through the course web pages. Marks and comments will be returned through the ECS marking system, also available through the course web pages.

Marking Criteria

Assignments will be marked according to the criteria on the course web page - https://ecs.wgtn.ac.nz/Courses/SWEN423_2022T2/Assignments

Group Work

SWEN423 does not incorporate group work.

Peer Assessment

SWEN423 does not incorporate peer assessment.


In order to maintain satisfactory progress in SWEN 423, you should plan to spend an average of 10 hours per week on this paper. A plausible and approximate breakdown for these hours would be:

  • Lectures: 2 hours per week
  • Readings: 4 hours per week
  • Assignments and/or preparation for term tests: 4 hours per week

Teaching Plan

See: https://ecs.wgtn.ac.nz/Courses/SWEN423_2022T2/LectureSchedule

Communication of Additional Information

All online material for this course can be accessed at https://ecs.wgtn.ac.nz/Courses/SWEN423_2022T2/

Offering CRN: 18663

Points: 15
Prerequisites: SWEN 225; 30 300-level COMP, NWEN or SWEN pts.
Duration: 11 July 2022 - 13 November 2022
Starts: Trimester 2
Campus: Kelburn