SWEN423 (2020) - 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:
- Describe what it might mean to label something with the phrase object-oriented.
- Understand and use the mathematical metalanguage used to formally define object-oriented programming languages.
- Understand and describe object-oriented designs of frameworks, patterns and APIs.
- Compare different designs for object-oriented patterns, frameworks and languages.
- Discuss, describe, and evaluate the applicability of those techniques, designs, and languages.
The popularity of the object-oriented term has grown so much that the phrase object-oriented has become something of a catch-phrase for all that is good in Computing, expanding out of the programming language field and influencing (as an example) software engineering and databases.
This course attempts to obtain a deep understanding of object oriented concepts and to examine various application of object oriented methodologies. We will read and discuss papers about different topics within OO, including inheritence and method dispatch techniques, reasoning and typing techniques, frameworks and library design and language evolution.
Withdrawal from Course
Withdrawal dates and process:
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 2020 we plan to have instead 9 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.
2019 details were:
During the trimester there will be two lectures per week. There are no labs, tutorials, or help desks, however the forum is a fundamental tool used in this course to provide help and clarifications.
Student feedback on University courses may be found at: www.cad.vuw.ac.nz/feedback/feedback_display.php
Dates (trimester, teaching & break dates)
- Teaching: 13 July 2020 - 18 October 2020
- Break: 17 August 2020 - 30 August 2020
- Exam period: 19 October 2020 - 25 October 2020
Set Texts and Recommended Readings
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:
- 7 (over a total of 9) 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 Item||Due Date or Test Date||CLO(s)||Percentage|
|Assignment 1||Week 2||CLO: 1,2,3,4,5||10%|
|Term Test 1 (formalisms)||Week 4||CLO: 1,2,3,4,5||20%|
|Term Test 2 (patterns)||Week 8||CLO: 1,2,3,4,5||20%|
|Term Test 3 (frameworks)||Week 11||CLO: 1,2,3,4,5||20%|
|Term Test 4 (all material)||Week 13||CLO: 1,2,3,4,5||30%|
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.
Assignments will be marked according to the criteria on the course web page - https://ecs.wgtn.ac.nz/Courses/SWEN423_2020T2/Assignments
SWEN423 does not incorporate group work.
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
Communication of Additional Information
All online material for this course can be accessed at https://ecs.wgtn.ac.nz/Courses/SWEN423_2020T2/
Links to General Course Information
- Academic Integrity and Plagiarism: https://www.wgtn.ac.nz/students/study/exams/integrity-plagiarism
- Academic Progress: https://www.wgtn.ac.nz/students/study/progress/academic-progess (including restrictions and non-engagement)
- Dates and deadlines: https://www.wgtn.ac.nz/students/study/dates
- Grades: https://www.wgtn.ac.nz/students/study/progress/grades
- Special passes: Refer to the Assessment Handbook, at https://www.wgtn.ac.nz/documents/policy/staff-policy/assessment-handbook.pdf
- Statutes and policies, e.g. Student Conduct Statute: https://www.wgtn.ac.nz/about/governance/strategy
- Student support: https://www.wgtn.ac.nz/students/support
- Students with disabilities: https://www.wgtn.ac.nz/st_services/disability/
- Student Charter: https://www.wgtn.ac.nz/learning-teaching/learning-partnerships/student-charter
- Terms and Conditions: https://www.wgtn.ac.nz/study/apply-enrol/terms-conditions/student-contract
- Turnitin: http://www.cad.vuw.ac.nz/wiki/index.php/Turnitin
- University structure: https://www.wgtn.ac.nz/about/governance/structure
- VUWSA: http://www.vuwsa.org.nz
Offering CRN: 18663
Prerequisites: SWEN 225; 30 300-level COMP, NWEN or SWEN pts.
Duration: 13 July 2020 - 25 October 2020
Starts: Trimester 2