SCHOOL OF ENGINEERING AND COMPUTER SCIENCE

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.

SWENDegreePlan1.png

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.

SWENDegreePlan2.png

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)