School of Engineering and Computer Science

Software Engineering

Please note: Information on this page relates to the 2016 academic year unless otherwise specified.

On this page:

This subject is taught by the School of Engineering and Computer Science.


Almost all aspects of the modern world involve computers. The critical component of computers, which allows them to be used in so many different ways and for so many different applications, is the software.

Designing and implementing software systems is the task of the software engineer, who must manage the enormous complexity of software systems, ensure efficiency and make sure the design is useful. The increasing interconnectedness of software systems makes these problems continually challenging.

Victoria’s Software Engineering programme gives students the expertise needed for solving these problems. Software engineers must not only have a range of technical expertise, but must also be able to work with other people—other engineers, clients and systems users.

The courses in the Software Engineering programme address these issues. Students learn about the processes for managing software projects involving many people and work together to solve problems and develop experience. The final-year courses explore a range of advanced topics in Software Engineering, building directly on the research expertise of the academic staff.

Software Engineering can be taken as a major in the Bachelor of Engineering with Honours BE(Hons).

Back to top ^

Undergraduate information

Software Engineering students must complete the following components to obtain their BE(Hons) in Software Engineering.

Part 1

This consists of the following courses, which provide the necessary foundation for a BE(Hons) (SWEN):

Please note:

  • Students may substitute PHYS 114, PHYS 115 or ENGR 142 for PHYS 122 
  • Students may substitute (MATH 161; and one of MATH 177, QUAN 102 or STAT 193) for (ENGR 121 and ENGR 123)

A full programme of study consists of eight courses per year. If you are doing seven courses we recommend that you take a Part 3 paper.

To gain entry to Part 2, students will need to pass their Part 1 courses with at least a B average.

Part 2

This is the core component of the BE(Hons), and is made up of various 200, 300 and 400-level courses:

  • ENGR 301, 302, 401, 489
  • NWEN 241, SWEN 221, 222, 223, 224, 301, 302, 303
  • At least one of COMP 261, NWEN 242 or NWEN 243
  • At least one other course from COMP 301-399, NWEN 301-399, SWEN 304
  • At least three courses from SWEN 401-439 and ENGR 440, at least one further course from SWEN 401-439, NWEN 401-439, COMP 401-479, ENGR 440-441

Part 3

This consists of three courses outside of your major forming a coherent addition to your programme of study. This is an opportunity to explore some other interests outside of the BE(Hons) programme. These can be any level, but at least one of the courses must be at 200-level or above and need to be approved by the Dean once chosen.

Work experience

This consists of 800 hours of approved work experience in an engineering environment.

Postgraduate information

Information about postgraduate study in Software Engineering can be found on the School of Engineering and Computer Science's postgraduate study pages.

Back to top ^

How to find out more

Want to find out more about studying at Victoria? Register now to find out more about your study options and keep updated on application and enrolment information, open days and events.

If you need help deciding what degree might be right for you, or what courses to take, talk with a liaison officer or book a course planning session with us, call 0800 VICTORIA (842 867) or email

If you’re a returning or transferring student, contact the Faculty Student and Academic Services Office, for help with degree planning and for information on admission requirements and transfer credit from other institutions.

Back to top ^

Related subjects and careers

Related subjects Careers

Network Engineering
Electronic and Computer Systems Engineering
Computer Science
Information Systems

Software Development
Communication Network Design and Management
Robot Design
Systems Development
Hardware Development
Software Engineer
Network Engineer
Traffic Engineer

Back to top ^

List of courses

Courses, degrees and other qualifications in Engineering are taught by the School of Engineering and Computer Science.

School Office: Cotton Building 358, Kelburn Campus
Phone: 0-4-463 5341

100 Level Courses

COMP 112 – Introduction to Computer Science

ENGR 101 – Engineering Technology

ENGR 110 – Engineering Modelling and Design

ENGR 121 – Engineering Mathematics Foundations

ENGR 122 – Engineering Mathematics with Calculus

ENGR 123 – Engineering Mathematics with Logic and Statistics

ENGR 142 – Engineering Physics for Electronics and Computer Systems

SWEN 131 – Programming for Software Development

200 Level Courses

ENGR 291 – Work Experience Preparation

SWEN 221 – Software Development

SWEN 222 – Software Design

SWEN 223 – Software Engineering Analysis

SWEN 224 – Formal Foundations of Programming

300 Level Courses

ENGR 301 – Project Management

ENGR 302 – Group Project

ENGR 391 – Practical Work Experience

SWEN 301 – Structured Methods

SWEN 302 – Agile Methods

SWEN 303 – User Interface Design

SWEN 304 – Database System Engineering

400 Level Courses

ENGR 401 – Professional Practice

ENGR 440 – Directed Individual Study

ENGR 441 – Directed Individual Study

ENGR 489 – Engineering Project

ENGR 491 – Professional Work Experience

SWEN 421 – Formal Software Engineering

SWEN 422 – Human Computer Interaction

SWEN 423 – Object-Oriented Paradigms

SWEN 424 – Model-Driven Development

SWEN 425 – Design Patterns

SWEN 426 – Advanced Software Implementation and Development

SWEN 427 – Advanced Software Engineering: Requirements and Design

SWEN 430 – Compiler Engineering

SWEN 431 – Advanced Programming Languages

SWEN 432 – Advanced Database Design and Implementation

SWEN 433 – Web Information Systems Engineering

SWEN 434 – Data Warehousing

SWEN 438 – Special Topic in Software Engineering 1

SWEN 439 – Special Topic: Database System Development