SWEN423 (2021) - 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

The course is primarily offered in-person, but there will also be a remote option and there will be online alternatives for all the components of the course for students who cannot attend in-person.
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.
If the assessment of the course includes tests, the tests will generally be run in-person on the Kelburn campus. There will be a remote option for students who cannot attend in-person and who have a strong justification (for example, being enrolled from overseas).
The remote test option will use Zoom for online supervision of the tests and you must be able to use Zoom with a camera, microphone, and screen-sharing. Students who will need to use the remote test option must contact the course coordinator in the first two weeks to get permission and make arrangements.

Withdrawal from Course

Withdrawal dates and process:


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.
In 2019 we required in-person submission of short paper reports.
In 2021 we have instead 6 unmarked "Engagement submissions"
Those will include reports for course readings and mock term tests.
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: 05 July 2021 - 08 October 2021
  • Break: 16 August 2021 - 29 August 2021
  • Study period: 11 October 2021 - 14 October 2021
  • Exam period: 15 October 2021 - 06 November 2021

Class Times and Room Numbers

05 July 2021 - 15 August 2021

  • Monday 14:10 - 15:00 – 104, Te Toki a Rata, Kelburn
  • Tuesday 14:10 - 15:00 – 104, Te Toki a Rata, Kelburn
30 August 2021 - 10 October 2021

  • Monday 14:10 - 15:00 – 104, Te Toki a Rata, Kelburn
  • Tuesday 14:10 - 15:00 – 104, Te Toki a Rata, 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:

  • 5 (over a total of 6) Engagement Submissions, they must be submitted on time and show a fair attempt to complete it.
  • Achieve at least a D grade on the final term test, to demonstrate achievement of all the CLOs 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_2021T2/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_2021T2/LectureSchedule

Communication of Additional Information

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

Offering CRN: 18663

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