Software Engineering (SWEN)
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 aspects. Students learn about the processes for managing
software projects involving many people, work together to solve problems and develop experience.
Entry Requirements
There are no entry requirements for the BE (SWEN). Ideally, you will have 16 credits of NCEA level-3
Maths. However, if you don't have enough credits, you can make up for this by taking one or more
bridging courses.
Planning your degree in Software Engineering
Planning your degree may seem daunting - there are lots of courses to choose from, and most have
prerequisite requirements (i.e. courses you must take before the one you want). To help you get
started, we have provided some example degree plans to use as a starting point.
You can find more details of all those courses offered in the school in the
Course List.
This includes a brief description of each course, along with its prerequisites requirements.
Example Degree Plan for Game Development
This degree plan focuses on the technical side of software development, and covers a broad range of
programming related topics. Shaded courses are those required by the degree, whilst the others are
electives that can be chosen by you.
Example Degree Plan or Business and Information Systems
This degree plan focuses on aspects of software engineering that are particularly relevant in a
business setting. The Part 3 is chosen to complement this by developing an understanding of
business operations and managerial organisation.
Notes on the Example Degree Plans
The example degree plans above are provided to give you some idea of how a combination of
electives complete a coherent programme with a "theme". However, there is a wide variety of courses
which could be included in your degree, not just those listed above. Also, you don't necessarily have
to take courses in the order indicated, and you may prefer to spread your degree over more than four
years. Finally, the example degree plans are viable at the time of writing. However, the University
timetable changes on a yearly basis, and we cannot guarantee you will be able to take courses
exactly in the order listed above.
REQUIREMENTS FOR BE (SWEN)
In addition to the general
requirements set out for the BE, a total of 480 points must be accumulated through
courses in the schedules of any first degree or postgraduate honours degree of this University. At
least 120 points must come from courses numbered 400-level or above. Furthermore, the required
and elective courses for the SWEN specialisation must be met.
Required Courses
The required courses are those which you have to take (and pass) in order to obtain your degree.
| Course |
Title |
Points |
Offered |
| Part 1 courses |
| ENGR 101 |
Engineering Technology |
15 |
Tri 1 |
| COMP 102 |
Introduction to Computer Program Design |
15 |
Tri 1, Tri 2 |
| COMP 103 |
Introduction to Data Structures and Algorithms |
15 |
Tri 1, Tri 2 |
| MATH 161 |
Discrete Mathematics and Logic |
15 |
Tri 2 |
| SWEN 102 |
Introduction to Software Modelling |
15 |
Tri 2 |
| PHYS 114 |
Physics 1A OR |
15 |
Tri 1 |
| PHYS 115 |
Physics 1B OR |
15 |
Tri 2 |
| PHYS 122 |
Introduction to Physics and Applied Physics |
15 |
Tri 2 |
| MATH 177 |
Probability and Decision Modelling OR |
15 |
Tri 2 |
| STAT 193 |
Statistics for Natural and Social Sciences |
15 |
Tri 1, Tri 2 |
| Part 2 courses |
| NWEN 241 |
Systems Programming |
15 |
Tri 1 |
| SWEN 221 |
Software Development |
15 |
Tri 1 |
| SWEN 222 |
Software Design |
15 |
Tri 2 |
| SWEN 223 |
Software Engineering Analysis |
15 |
Tri 1 |
| SWEN 224 |
Formal Foundations of Programming |
15 |
Tri 2 |
| SWEN 301 |
Structured Methods |
15 |
Tri 1 |
| SWEN 302 |
Agile Methods |
15 |
Tri 2 |
| SWEN 303 |
User Interface Design |
15 |
Tri 2 |
| Professional Practice |
| ENGR 301 |
Project Management |
15 |
Tri 1 |
| ENGR 302 |
Group Project |
15 |
Tri 2 |
| ENGR 401 |
Professional Practice |
15 |
Tri 1 |
| ENGR 489 |
Engineering Project |
30 |
Full Year |
| Work Experience |
| ENGR 291 |
Work Experience Preparation |
0 |
full year |
| ENGR 391 |
Practical Work Experience |
0 |
full year |
| ENGR 491 |
Professional Work Experience |
0 |
full year |
Electives
The elective courses allow you the choice of which course to take, helping you follow specific
interests. Normally, you must take the required number from each elective list.
| Course |
Title |
Points |
Offered |
| At least one course chosen from: |
| COMP 261 |
Algorithms and Data Structures |
15 |
Tri 2 |
| NWEN 242 |
Computer Organisation |
15 |
Tri 2 |
| At least one course chosen from: |
| COMP 303 |
Design and Analysis of Algorithms |
15 |
Tri 2 |
| COMP 304 |
Programming Languages |
15 |
Tri 1 |
| COMP 307 |
Introduction to Artificial Intelligence |
15 |
Tri 1 |
| COMP 312 |
Simulation and Stochastic Models |
15 |
Tri 2 |
| COMP 348 |
Computer Game Development |
15 |
Tri 1 |
| NWEN 301 |
Operating System Design |
15 |
Tri 1 |
| NWEN 302 |
Computer Network Design |
15 |
Tri 2 |
| NWEN 303 |
Concurrent Programming |
15 |
Tri 2 |
| NWEN 304 |
Advanced Network Applications |
15 |
Tri 1 |
| SWEN 304 |
Database System Engineering |
15 |
Tri 2 |
| At least three courses chosen from: |
| SWEN 421 |
Formal Software Engineering |
15 |
Tri 1 |
| SWEN 422 |
Human Computer Interaction |
15 |
Tri 1 |
| SWEN 423 |
Object Oriented Paradigms |
15 |
Tri 1 |
| SWEN 424 |
Model-Driven Development |
15 |
Tri 2 |
| SWEN 425 |
Design Patterns |
15 |
Tri 2 |
| SWEN 426 |
Advanced Software Engineering and Development |
15 |
TBA |
| SWEN 427 |
Advanced Software Engineering: Requirements and Design |
15 |
TBA |
| SWEN 430 |
Compiler Engineering |
15 |
Tri 2 |
| SWEN 431 |
Advanced Programming Languages |
15 |
Tri 2 |
| SWEN 432 |
Advanced Database Design and Implementation |
15 |
Tri 1 |
| SWEN 433 |
Web Information Systems |
15 |
TBA |
| SWEN 438 |
Special Topic in Software Engineering 1 |
15 |
TBA |
| SWEN 439 |
Special Topic in Software Engineering 2 |
15 |
TBA |
| SWEN 440 |
Directed Study |
15 |
TBA |
| At least one further course from: |
| COMP 421 |
Machine Learning |
15 |
Tri 1 |
| COMP 422 |
Data Mining, Neural Networks and Genetic Programming |
15 |
Tri 2 |
| COMP 423 |
Intelligent Agents |
15 |
Tri 1 |
| COMP 425 |
Computational Logic |
15 |
Tri 1 |
| NWEN 401 - NWEN 440 (see here) |
| SWEN 401 - SWEN 440 (see above) |