Software Engineering – Bachelor of Information Sciences

Software engineering brings together the disciplines of computer science and information technology. This degree is a highly-practical and sought-after qualification that is practice-focused and industry-relevant.

Where you can study

Auckland campus
Distance and online
Tianjin, China
Manawatū campus (Palmerston North)

International students

International students are not New Zealand citizens or residents.

Definition of New Zealand citizens and residents

Open to international students on campus in New Zealand, or studying online outside New Zealand

Specialise in Software Engineering for your Bachelor of Information Sciences at Massey

Studying software engineering will see you gain the knowledge, tools and practical skills to be able to design, construct, test and maintain large software applications.

The Bachelor of Information Sciences (Software Engineering) is a joint major which means that you will study aspects of both computer science and information technology.

Your learning will focus on:

  • the design and construction of large software applications
  • both soft and hard software development skills
  • the technical knowledge of computer programming from computer science combined with the design and team skills of information technology.

In demand

Employers are always seeking increasing numbers of staff. Look at the SEEK website to see the demand for ICT professionals in New Zealand. The majority of the hiring is taking place because of increased demand and new projects.

Software engineering is a high demand area, including jobs for developers, architects, software testers, user requirement specialists and business analysts. As well as network security, project management and data/databases.

Software engineers are in high demand throughout the world, which means there are plenty of jobs out there for hard working graduates. 

Create real applications, while you study

An exciting part of the joint major is the team project in the third year, when you will work together with other students to create a new application.

You can change your major within the degree up until the end of your first year.

Further study

Once you graduate you can move on to advanced study in the Postgraduate Diploma in Information Sciences (one year of 120 credits in taught courses) or the Master of Information Sciences (180 credits including 120 credits of taught courses and a major professional project).

A Bachelor of Information Sciences in Software Engineering is a good fit if you:

  • are interested in the ‘big picture’ of software development
  • are interested in both computer science and information technology
  • are interested in the development of major software applications (such as web, apps, games and the Internet of Things).

Planning information

This is a guide. You are advised to check the Courses and specialisations section and the regulations for this qualification on this page for the latest information on courses.

Your first year

First year for a full-time student usually consists of eight courses.  Take electives (or courses from other majors) to get the total number of courses to eight.  Make sure you include courses that are prerequisites for the next level of courses you wish to study.  You can change your major up until the start of your second year and it is a good idea to keep your options open by taking courses such that you are ready to move on to several different majors.  In the first year of study, you should take the following courses:

  • 159100 Programing for Engineering and Technology or 159101 Technical Programming 1 
  • 159102 Technical Programming 2
  • 158100 Introductory Concepts for Information Technology
  • 158120 Fundamental Information Technologies
  • At least one mathematics course – one or more of 160105, 160101, 160102.  Note: you can also take 160104 as an elective in your degree but you require at least 160105 for the major. 
  • At least one statistics course – one of 161111 or 297101 Statistical Data Science. Note: 297101 is more relevant to computer majors
  • 247112 Science and Sustainability for ICT (or another Science and Sustainability course)
  • Also take one elective course (which could be 160104)

See the Courses and specialisations section for the required courses at 200-level and 300-level.

Minors

Completing a minor is optional. Minors increase the breadth of your degree. They give you extra knowledge, attributes and capabilities. A minor must be in a different subject from your major.

A Bachelor of Information Sciences (Software Engineering) with a minor

You may choose a minor from any University undergraduate degree that has recognised minors. If the minor is from another undergraduate degree, the regulations of that qualification will apply.

A software engineering minor (for students who are studying a different degree)  

If you are not studying towards a Bachelor of Information Sciences (Software Engineering) and wish to complete a minor in software engineering see the regulations for the requirements of this minor.  

Computer requirements

You will need:

  • Computer (laptop or desktop) (Mac or Windows) - needs to be no more than two years old at the commencement of your study
  • Recent version of operating systems
  • Chromebooks are not suitable

Official regulations

To understand what you need to study and must complete to graduate read the official rules and regulations for this qualification.

You should read these together with all other relevant Statutes and Regulations of the University including the General Regulations for Undergraduate Degrees, Undergraduate Diplomas, Undergraduate Certificates, Graduate Diplomas and Graduate Certificates.

Returning students

For returning students, there may be changes to the majors and minors available and the courses you need to take. Go to the section called ‘Transitional Provisions’ in the Regulations to find out more.

In some cases the qualification or specialisation you enrolled in may be no longer be taking new enrolments, so may not appear on these web pages. To find information on the regulations for these qualifications go to the Massey University Calendar.

Please contact us through the Get advice button on this page if you have any questions.

Courses you can enrol in

Course planning key

Prerequisites
Courses that need to be completed before moving onto a course at the next level. For example, a lot of 200-level courses have 100-level prerequisite courses.
Corequisites
Courses that must be completed at the same time as another course are known as corequisite courses.
Restrictions
Some courses are restricted against each other because their content is similar. This means you can only choose one of the offered courses to study and credit to your qualification.

Core courses for the Bachelor of Information Sciences

As well as the specialisation courses listed below, this qualification has core courses that you will need to complete.

Bachelor of Information Sciences core courses

Software Engineering courses

Compulsory courses

Choose 30 credits from
Course code: 159251 Software Engineering Design and Construction 15 credits

A study of techniques, methods and tools used to design and construct high-quality software systems.

Prerequisites: 159234

View full course details
Course code: 159336 Mobile Application Development 15 credits

The course covers many practical aspects of designing, creating, testing and publishing mobile applications. Students will develop mobile applications using a real software development toolkit and have the option of publishing their applications to an app marketplace.

Prerequisites: 159234 or 159235

View full course details

Subject courses (120 credits)

30 credits from

Course code: 158225 Systems Analysis and Modelling 15 credits

A study of methods used to capture, analyse and model system requirements. Students will acquire practical skills through case study work utilising techniques and software tools used by industry.

Prerequisites: 157150 or 157151 or 115107 or 1581xx or 1591xx Restrictions: 158254

View full course details
Course code: 158235 Networks, Security and Privacy 15 credits

A study of the basic principles of digital communications, Internet technologies, communications software, local area network design, client-server system design, middleware and available wide-area network services from the viewpoint of a software engineer/designer developing networked information systems.

Prerequisites: 1581xx or 1591xx or 157150 or 157151 or 115107

View full course details
Course code: 158244 Software Quality Assurance and Testing 15 credits

A discussion of testing concepts and techniques that can be applied to all software projects. This course explores a selection of topics relevant to the design and implementation of test plans in software including web-based applications. The course also looks at activity design to ensure that the project conforms to stakeholder expectations. This course will be of assistance to students who would like to become a Certified Tester through International Software Testing Qualifications Board (ISQTB) foundation level exams.

Prerequisites: One of 1571xx or 1581xx or 1591xx

View full course details
Course code: 158258 Web Development 15 credits

An introduction to web-based application development. Students will gain practical experience in the use of modern techniques relevant to the design and development of web-based systems.

Prerequisites: 1581xx or 1591xx Restrictions: 158256

View full course details
Course code: 297201 Data Wrangling and Machine Learning 15 credits

An introduction to the data science workflow involving the acquisition, processing, transformation and integration of data from disparate sources having inherently different data structures, from which actionable insights can be extracted. Entry-level machine learning and statistical techniques for analysing and extracting knowledge from data will be covered. Particular emphasis will be placed on attaining competency in using a high-level programming language for conducting data-driven problem solving and appreciating the necessary agility such tools afford.

Prerequisites: 297101 or 161122 or (one of 159101, 159100 and one of 1611xx, 160101, 160102) Restrictions: 158222

View full course details

45 credits from

Course code: 159201 Algorithms and Data Structures 15 credits

An introduction to the analysis and implementation of algorithms and data structures including linear data structures, trees, graphs, hash tables, searching algorithms, sorting algorithms, optimization problems and complexity analysis. The course includes a significant practical component covering the implementation and application of important data structures and algorithms.

Prerequisites: 159102 Restrictions: 159271

View full course details
Course code: 159234 Object-Oriented Programming 15 credits

An introduction to the principles of object-oriented programming. It covers both object-oriented programming techniques and their application to program design including classes, objects and objects lifecycle, abstraction, encapsulation, inheritance, polymorphism and generic programming, as well as some advanced programming features. The course includes a significant practical component involving designing and implementing object-oriented programs in Java.

Prerequisites: 159102

View full course details
Course code: 159235 Programming for Computer Graphics 15 credits

An introduction to the programming principles, methods and techniques of computer graphics. The course covers general graphics methods and techniques, graphics transformations, drawing algorithms, 3D rendering and animation. These are implemented using basic approaches as well as modern shader-based pipelines.

Prerequisites: 159102 Restrictions: 159360

View full course details
Course code: 159236 Embedded Programming 15 credits

A study of embedded programming using low-level programming languages. The course covers the hardware architecture of an embedded system and the techniques needed to write programs for simple peripherals such as switches, LEDs, timers and accelerometers.

Prerequisites: 159102 Restrictions: 159233, 159270

View full course details
Course code: 159272 Programming Language Paradigms 15 credits

An introduction to different programming paradigms with a focus on the functional paradigm – lists, recursion, lazy-evaluation, higher-order functions, currying and lambda expressions. The course includes a significant practical component designing and implementing functional solutions to problems using both pure and multi-paradigm languages.

Prerequisites: 159102 Restrictions: 159202

View full course details

15 credits from

Course code: 158326 Software Construction 15 credits

An advanced study of methods used to model, design, build and test robust software artefacts. The course provides an in-depth study of multiple techniques to support software design and implementation. It takes a practical approach using current methods and tools.

Prerequisites: 158256 or 158258 or 159234 or 159270

View full course details
Course code: 158335 The Internet of Things and Cloud Computing 15 credits

This course involves participants in solving problems whose solutions require active, sensing and connected “things” augmented with Cloud Computing capabilities. Students will design and implement things that participate in the Internet of Things (IoT) and Cloud Computing environments.

Prerequisites: 158235 and (158212, 158256 or 158258)

View full course details
Course code: 158337 Database Development 15 credits

A study of enterprise data models, including how data storage and retrieval methods have changed over time. Modern techniques for handling relational and non-relational data and their implications in transactional and analytical processing are evaluated. Students will gain practical skills in designing, creating and querying databases using database management systems.

Prerequisites: One of 1582xx or 1592xx Restrictions: 158247

View full course details
Course code: 158359 User Experience Design 15 credits

The course will move from conceptual analysis to the design, prototyping and implementation and evaluation of user interfaces. It will emphasise development processes that result in interfaces that provide a superior user experience. Examples of real-life interfaces, from sources such as desktop, multimedia, web, novel, and mobile technologies will be used. There will be a significant practical work component.

Prerequisites: 1572xx or 1582xx or 1592xx

View full course details
Course code: 297301 Applied Machine Learning and Big Data Processing 15 credits

An in-depth exploration of methods for developing intuition and insights about data that enables effective problem formulation and its solution through data-driven methods. A broad range of advanced machine learning and data mining algorithms will be used to build predictive models from real-world contexts. A particular emphasis will be on developing data-products, rapid prototyping and effectively communicating their value through visual storytelling and interpretable summaries. Practical skills for processing large datasets will be taught.

Prerequisites: 158222 or 297201 Restrictions: 158333

View full course details

30 credits from

Course code: 159302 Artificial Intelligence 15 credits

An advanced study of the principles and techniques used in developing Artificial Intelligence applications. The course includes the implementation and application of a range of AI methods including state-space representation and search, knowledge representation, constraint satisfaction, game playing, logic systems and machine learning.

Prerequisites: 159201 or 159234 Restrictions: 159372

View full course details
Course code: 159341 Programming Languages, Algorithms and Concurrency 15 credits

Advanced study in models of computation, programming languages and algorithms with a specific focus on concurrent programming. The course includes models of computation, programming language paradigms, programming language design, algorithm analysis, processes, threads, synchronisation and parallel programming.

Prerequisites: 159201 or 159202 Restrictions: 159331

View full course details
Course code: 159342 Operating Systems and Networks 15 credits

A detailed study of operating systems and network communication protocols. The course covers the technologies that underpin modern computer systems including the architecture of operating systems and their structures and methods along with computer network design, protocols and associated technologies.

Prerequisites: 159201 or 159234 Restrictions: 159334, 159335, 159354, 159355

View full course details
Course code: 159352 Advanced Web Development 15 credits

A study of the programming and scripting languages, frameworks and tools used to develop web and distributed applications with a consideration of the security issues involved in these technologies.

Prerequisites: 159201 or 159234 Restrictions: 159339

View full course details

Compulsory capstone course

Choose 15 credits from
Course code: 159333 Computer Science Project 15 credits

A capstone computer science project. Students will develop a piece of software or conduct a computer science research project under the supervision of an academic staff member. Projects will be completed individually or as part of a team depending on staff availability. Students must produce a written technical report and give an oral presentation demonstrating their work.

Prerequisites: Four (4) of 1592xx or One (1) of 1593xx

View full course details
Course code: 159356 Software Engineering Capstone Project 15 credits

Management of the software engineering process. A group project will form a significant component of this course.

Prerequisites: 159251 and 159352

View full course details

Entry requirements

Admission to Massey

All students must meet university entrance requirements to be admitted to the University.

Specific requirements

There are no specific entry requirements for this qualification, outside of university admission regulations.

English language requirements

To study this qualification you must meet Massey University's English language standards.

English language skills

If you need help with your English language skills before you start university, see our English for Academic Purposes (EAP) courses.

Can't meet the entry requirements?

If you need to do a course before you start your qualification, there may be options for you in Summer School.

Fees and scholarships

Fees, student loans and free fees scheme

Your tuition fees may be different depending on the courses you choose. Your exact fees will show once you have chosen your courses.

There will also be some compulsory non-tuition fees and for some courses, there may also be charges for things such as study resources, software, trips and contact workshops.

Already know which courses you're going to choose?

You can view fees for the courses that make up your qualification on the course details pages.

Student loans (StudyLink) and Fees Free scheme

You may be eligible for a student loan to help towards paying your fees.

The New Zealand Government offers fees-free tertiary study for eligible domestic students. Find out more about the scheme and your eligibility on the Fees Free website. To use the site's eligibility checking tool, you will need your National Student Number.

Current and returning Massey students can find their National Student Number in the student portal.

Fees disclaimer

This information is for estimation purposes only. Actual fees payable will be finalised on confirmation of enrolment. Unless otherwise stated, all fees shown are quoted in New Zealand dollars and include Goods and Services Tax, if any. Before relying on any information on these pages you should also read the University's Disclaimer Notice.

Careers and job opportunities

Graduates with the software engineering joint major possess a broad range of skills and practice and are able to move into any one of a wide range of employment opportunities.

This qualification will give you the skills to enter the computing profession at the level of software engineer. Later, you may be able to move into management of large software projects, including those in safety critical systems.

You’ll also have the necessary background to fully participate in software development teams. You’ll be particularly well-equipped to hold positions in the design and management of large software systems.

Roles available to qualification graduates include:

  • software engineer
  • systems analyst
  • requirements engineer
  • software developer
  • usability engineer.

There are a huge number of job opportunities in this area worldwide. Check out the SEEK website for the around 2000 ICT careers available in New Zealand at any one time.

International students

New Zealand is a great place to study. Massey University’s reputation is supported by our international rankings, accreditations and associations. We are rated five star plus by the QS World University Rankings.

Massey University has small class sizes, and our lecturers and staff are friendly and approachable.

As an international student, there are entry requirements that will apply to you. We recommend that you apply at least three months before your anticipated start date so your application can be processed in time. There are additional steps you will need to take. These include obtaining a visa and travel bookings if your study is to be in New Zealand.

What our students say

“Massey really set me up with the fundamentals - what you get taught at Massey is 100% relevant to the real world.”
Gray Salmond

Bachelor of Information Sciences (Software Engineering)

“I’ve always had a keen interest in technology so when it came time to choose a university, Massey in Auckland appealed to me for a number of reasons.”
Georgia Barnett

Bachelor of Information Sciences (Software Engineering)

Accreditations and rankings

Institute of IT Professionals New Zealand (IITP) accreditation

Massey's Bachelor of Information Sciences is accredited by IT Professionals New Zealand. Accreditation ensures that courses are relevant to the industry.

Learn more

Related study options