SWEN 301Scalable Software Development

This course introduces the processes, practices, and tools required to engineer medium to large software systems, and to address challenges arising from the emerging complexity of such systems. Topics include software craft, architecture, design, implementation, testing, maintenance, quality assurance, configuration management, build automation and principled use of components and libraries, and open-source development. Practical work will use integrated development environments, automation, and domain specific languages.

Choose when and where to take this course.

No information for 2024

SWEN 301 is not offered in 2024. We're showing course information for 2025.

Academic year
Course options (1)
Select a course offering to view its details below
Select a course offering to view its details
Select offering Dates Location
Trimester One of three teaching periods that make up the academic year—usually March to June, July to October, and November to February.
CRN A unique number given to a single version of a course. It differentiates between courses with the same course code that are taught in different trimesters or streams, or in different modes (for example, in person or online).

Course details

Dates
7 Jul 2025 to 9 Nov 2025
Starts
Trimester 2
Fees
NZ$1,197.60 for
International fees
NZ$5,477.70
Lecture start times
  • Tuesday 3.10pm
  • Wednesday 3.10pm
  • Friday 3.10pm
Campus
Kelburn
Estimated workload
Approximately 150 hours or 8.8 hours per week for 17 weeks
Points
15

Entry restrictions

Prerequisites
Corequisites
None
Restrictions
None

Taught by

School of Engineering and Computer ScienceFaculty of Engineering

Key dates

Find important dates—including mid-trimester teaching breaks—on the University's key dates calendar.

You'll be told about assessment dates once the course has begun.

Key dates

About this course

This course integrates key engineering practices such as software architecture design, implementation, process automation, and quality assurance, including testing.

Building on foundational programming knowledge from 200-level courses, students will develop these skills through weekly labs, which alternate with help desk sessions to provide support for assignment work.

Course learning objectives

Students who pass this course should be able to:

  1. Demonstrate an understanding of the main issues involved in the engineering of medium to large software systems.

  2. Demonstrate competence in software engineering processes, practices, and tools.

How this course is taught

This course is designed to be taught in person, but we will make all lectures and assessments available online for those unable to attend in person. 
 
We will have regular helpdesks available on campus, if you’re studying remotely and would like a helpdesk session please contact the course coordinator to arrange.

During the trimester there will be three lectures and one tutorial or help desk per week.

Assessment

  • Exam (2 hours, during assessment period) Type: IndividualMark: 40%
  • Assignment 1 (25 hours) Type: IndividualMark: 20%
  • Assignment 2 (25 hours) Type: IndividualMark: 20%
  • Assignment 3 (25 hours) Type: IndividualMark: 20%

Assessment dates and extensions

Once you've signed up to this course, you can use to see due dates for assessments and information about extensions.

Mandatory requirements

There are no mandatory requirements for this course.

Lecture times and rooms

What you’ll need to get

You do not need to get any texts or equipment for this course.

Who to contact

Jens Dietrich portrait

Dr Jens Dietrich

Course Coordinator

Past versions of this course

You may be able to access older versions of this course through our course archive.

View course archive

Student feedback

You can search for and read previous students’ feedback on this course.

Student feedback database

Selected offering

SWEN 301

7 Jul–9 Nov 2025

Trimester 2 · CRN 17183

2025 course optionsOptions (1)