Breadcrumbs

Map NZ Map World

Software Engineering

When you study software engineering, you'll be learning about how to use a scientific and disciplined approach to designing and developing complex software systems. You'll also learn how to operate and maintain such systems.  From ATM machines to smart phones to cars - many aspects of modern society are driven by software which we expect to operate correctly and be reliable and flexible at all times.

During your studies at Waikato, you'll develop an understanding of reliable processes and formal methods for software engineering. You'll learn how to use systematic techniques to test software systems. You'll develop the skills you need to be able to prove that safety-critical systems operate correctly under all possible operating conditions.

You'll work with a range of software systems, from operating systems and networks to real-time and embedded systems. You'll learn about distributed and parallel systems. You'll also develop knowledge and skills relating to engineering, scientific and business application software.

There's a strong connection between critical, complex systems and the people who use them or are affected by them. At Waikato, the relationship between systems and human interaction is emphasised.

You'll be able to develop your professional skills by doing 800 hours of real-world work experience. This work is supported by the Cooperative Education Unit. You'll be able to work on major research design projects which have a commercial focus and have an opportunity to showcase your work to industry at the annual Oji Fibre Solutions Engineering Design Show.

You can complete a BE(Hons) in Software Engineering at the University of Waikato. This is an innovative four-year degree. In the first year, you start with C# programming and building model boats. You progress to advanced programming techniques and computer hardware labs in the second year. In the final two years, you learn a wide variety of software development skills.  As well as these skills, during the degree you’ll study design, marketing and engineering management.

Waikato's BE(Hons) in Software Engineering is internationally accredited by Engineering New Zealand (formerly IPENZ). This means that once you graduate your degree will be recognised by engineers and employers worldwide.

Computing facilities at Waikato

The computing facilities at the University of Waikato are among the best in New Zealand, ranging from phones and tablets for mobile application development to cluster computers for massively parallel processing.

You will also have 24 hour access to computer labs equipped with all the latest computer software.

Build a successful career

As a Software Engineer, you can work in a wide range of roles, from building and maintaining traditional applications to developing the programs that drive newer devices. There is demand in a range of industries, from healthcare software, to entertainment and telecommunications.

Apply to enrol

Key information

Study Locations: Hamilton; Tauranga
Faculties:

Study Software Engineering in these qualifications

Software Engineering as a specialisation of

Career opportunities

  • Network Engineer
  • Product Development Engineer
  • Software Architect
  • Software Consultant
  • Software Developer
  • Systems Engineer
  • Test Engineer

Year 1

Students must take the following papers: COMPX101, COMPX102, ENGEN170, ENGEN180, ENGEN183, ENGEN184 and MATHS135.

And 15 points from the following: APHYS111, CHEMY100, CHEMY101, CHEMY102, ENGEN110, ENGEN111, ENGEN112, PHYSC100, PHYSC101.

Year 2

Students must take the following papers: COMPX203, COMPX204, COMPX223, COMPX241, COMPX242, COMPX361, ENGEN201, ENGEN270 and ENGEN271.

Year 3

Students must take the following papers: COMPX301, COMPX304, COMPX307, COMPX324, COMPX341, COMPX374, ENGEV342, ENGEN301, and ENGEN371.

Year 4

Students must take ENGEN570 and ENGEN582, 30 points from any 500 level COMPX paper, one of COMPX526, COMPX552 or COMPX554, and one of COMPX524, COMPX539 or COMPX548.

100 Level

Code Paper Title Occurrence / Location
APHYS111Physics in Context19A (Hamilton)
This is an introductory paper in physics for students who have not studied physics or mathematics at NCEA level 2 or 3. It is intended to support a major in other science subjects. Emphasis is placed on describing everyday physics concepts using correct terminology. Examples of physics in action are drawn from many science areas. T...
CHEMY100Chemistry in Context19A (Hamilton) & 19B (Tauranga)
This is an introductory paper for students with a limited background in chemistry. There is a strong emphasis on teaching chemical concepts through real-world examples relevant to different science and engineering disciplines.
CHEMY101Structure and Spectroscopy19A (Hamilton), 19A (Secondary School - Unistart) & 19C (Hamilton)
A theoretical and practical course covering aspects of analytical and inorganic chemistry. This course is required for the chemistry major.
CHEMY102Chemical Reactivity19B (Hamilton) & 19B (Secondary School - Unistart)
A theoretical and practical course covering aspects of physical and organic chemistry. This course is required for the chemistry major.
COMPX101Introduction to Computer Science19A (Hamilton), 19A (Online), 19B (Hamilton) & 19C (Zhejiang University City College, Hangzhou China)
This paper introduces computer programming in C# - the exciting challenge of creating software and designing artificial worlds within the computer. It also covers concepts such as the internals of the home computer, the history and future of computers, cyber security, computer gaming, databases, mobile computing and current researc...
COMPX102Object-Oriented Programming19B (Hamilton), 19C (Zhejiang University City College, Hangzhou China) & 19S (Hamilton)
This paper continues from COMPX101, expanding upon data organisation and algorithms, and introducing code contracts, computer architecture, Boolean algebra, assembly language, program analysis and object-oriented programming.
ENGEN103Engineering Computing19A (Hamilton), 19A (Tauranga) & 19T (Hamilton)
This paper introduces computer programming in languages such as C# and Python. It provides the basis for the programming skills required in more advanced papers within the School of Engineering.
ENGEN110Engineering Mechanics19B (Hamilton) & 19B (Tauranga)
This paper covers aspects of engineering mechanics.
ENGEN111Electricity and Electronics19A (Hamilton), 19A (Tauranga) & 19T (Hamilton)
Students are introduced to underlying concepts in electricity such as current, voltage and power, and apply these concepts in a laboratory by making circuits and measuring them with common laboratory instruments.
ENGEN112Materials Science and Engineering19B (Hamilton) & 19B (Tauranga)
Introduction to engineering materials (metals, ceramics, polymers, composites, semiconductors and biomaterials) and their atomic structure and mechanical properties. Includes; elastic and plastic deformation, fracture mechanisms, failure in service, iron-carbon phase diagram, redox reactions in corrosion, production of polymers, ce...
ENGEN170Engineering and Society19B (Hamilton) & 19B (Tauranga)
Introduction to the role of engineering in society in particular understanding of Treaty of Waitangi, history of science, engineering and technology, philosophy and ethics and public participation, participatory design, sustainability.
ENGEN180Foundations of Engineering19A (Hamilton) & 19A (Tauranga)
Introduction to the engineering design process and computer aided design, fundamental principles of engineering analysis, open ended problem solving, engineering economics and the skills of a successful engineer. Includes a design-build-test experience.
ENGEN183Linear Algebra and Statistics for Engineers19A (Hamilton), 19A (Tauranga), 19B (Hamilton) & 19B (Tauranga)
A study of introductory statistics and the fundamental techniques of algebra including Gaussian elimination, vector and matrix algebra, complex numbers, eigenvalues and eigenvectors, as well as basic statistical notions and tools, with engineering applications.
ENGEN184Calculus for Engineers19A (Hamilton), 19A (Tauranga), 19B (Hamilton), 19B (Tauranga), 19S (Hamilton) & 19S (Tauranga)
A study of the fundamental techniques of calculus, including differentiation and integration for functions of one real variable, with engineering applications.
MATHS135Discrete Structures19A (Hamilton)
An introduction to a number of the structures of discrete mathematics with wide applicability in areas such as: computer logic, analysis of algorithms, telecommunications, networks and public key cryptography. In addition it introduces a number of fundamental concepts which are useful in Statistics, Computer Science and further stu...
PHYSC100General Physics19A (Hamilton)
This paper provides an introduction to the core ideas in physics. Topics covered include kinematics, mechanics, fluids, electric and magnetic forces and fields, electric circuits, optics, modern physics and relativity, taught in a problem solving context.

200 Level

Code Paper Title Occurrence / Location
COMPX203Computer Systems19A (Hamilton)
This paper provides an overview of the operation of computer systems. The central theme is the way in which the hardware and software co-operate to allow the execution of programs written in a high-level language.
COMPX204Practical Networking and Cyber Security19B (Hamilton)
This paper provides an overview of the technologies and protocols involved in computer communications and cyber security. Practical work includes network programming.
COMPX223Database Practice and Experience19A (Hamilton)
This paper approaches the subject of databases from a practical perspective - how do I create a database and how do I retrieve/update data. Both aspects are heavily addressed in this paper. Database creation and querying, using SQL, will be introduced in lectures as you will master practical skills associated with a commercial Data...
COMPX241Software Engineering Development19A (Hamilton)
Students will learn how to program in Java and design, analyse, and apply commonly used data structures. Broader software engineering practices will be developed through a group project.
COMPX242Software Engineering Process19B (Hamilton)
This paper covers object-oriented programming, primarily as seen in Java, but also touching on alternative approaches. It introduces software development methodologies and the use of support tools, particularly repositories and a testing framework. Project work starts with GUI develoment in Java and works through to the constructio...
ENGEN201Engineering Mathematics 219B (Hamilton)
Calculus of Several Variables and its Applications. Vector calculus (Green's, Gauss' and Stokes' theorems). Taylor's Theorem in n dimensions. Introduction to partial differential equations. Fourier series.
ENGEN270Engineering Professional Practice 119A (Hamilton)
Preparation for success in the engineering workplace including CV preparation, interview techniques, job seeking skills, online profile, workplace and engineering business cultures and norms, ethics, communication and management structures.
ENGEN271Engineering Work Placement 119C (Hamilton), 19S (Hamilton) & 19T (Hamilton)
First work placement involving 400 hours of work experience at an approved engineering organisation relevant to your studies. Typically undertaken during the summer semesters at the end of second year.

300 Level

Code Paper Title Occurrence / Location
COMPX301Design and Analysis of Algorithms19A (Hamilton)
This course gives a survey of advanced algorithms and analysis of their performance, along with heuristic methods that include basic Artificial Intelligence techniques.
COMPX304Advanced Networking and Cyber Security19B (Hamilton)
A study of computer networks with a focus on Internet protocols and security. The aim of this paper is to develop a practical understanding of the operation and programming of core internet protocols, application protocols, and transmission technologies.
COMPX307Functional Programming19B (Hamilton)
The design, implementation and use of programming languages, in particular the use of functional languages to implement imperative languages will be studied. Assignments will involve challenging programming problems.
COMPX324User Experience Design19B (Hamilton) & 19B (Tauranga)
An introduction to the field of human-computer interaction (HCI) where students develop skills and techniques for the design and evaluation of modern computer interfaces.
COMPX341Software Engineering Methodology19A (Hamilton)
This paper introduces the central ideas of risk analysis and testing as ways of developing high quality of software leading to good practice in test development.
COMPX361Logic and Computation19B (Hamilton)
The syllabus includes: further development of predicate logic with application to program verification; mathematical induction including structural induction; finite state automata and regular languages; Kleene's Theorem; Turing machines, the Church-Turing thesis, universal Turing machines and the Halting problem; formal grammars a...
COMPX374Software Engineering Industry Project19B (Hamilton)
Students work in small groups to build a medium sized software project. They develop requirements and specification, design the system structure and user interface, carry out documentation preparation, implementation, and maintenance.
ENGEN301Engineering Mathematics 319A (Hamilton)
Introduces numerical methods and statistical ideas relevant to Engineering.
ENGEN371Engineering Work Placement 219C (Hamilton)
Second work placement involving 400 hours of work experience at an approved engineering organisation relevant to your studies. Typically undertaken during the summer semesters at the end of third year.
ENGEV342Sustainable Engineering19A (Hamilton)
This paper covers sustainability in engineering design within the context of quality standards, emissions, carbon accounting and life cycle analysis.

500 Level

Code Paper Title Occurrence / Location
COMPX502Cryptography19B (Hamilton)
An introduction to cryptographic methods.
COMPX514Carrier and ISP Networks19B (Hamilton)
One or more special topics in computer communications, at an advanced level.
COMPX518Cyber Security19A (Hamilton)
This paper introduces the key topics in the important field of cyber security. It will cover a range of topics relating to defensive security (e.g. malware analysis, social engineering, intrusion detection and prevention), offensive security (e.g. pen testing, Web app security) and preventative security (e.g. cryptography, applied ...
COMPX521Advanced Machine Learning19A (Hamilton)
This paper exposes students to more advanced topics in machine learning. Rule induction, numeric prediction, clustering and state-of-the-art ensemble learning methods are among the topics covered.
COMPX523Data Stream Mining19A (Hamilton)
Data streams are everywhere, from F1 racing over electricity networks to news feeds. Data stream mining relies on and develops new incremental algorithms that process streams under strict resource limitations.
COMPX527Cloud Computing Technologies and Security19B (Hamilton)
This paper explores cloud computing's underlying enabling technologies (e.g. virtualisation) and business models. It also covers key research topics in cloud computing security, trust and data privacy.
COMPX532Information Visualisation19A (Hamilton)
This paper aims to provide an awareness of the potential offered by information visualisation techniques, a familiarity with the underlying concepts, and an understanding and ability to effectively design and apply information visualisations in a given context.
COMPX536Advanced Graphics and Computer Games19A (Hamilton)
A lecture and laboratory based paper on the use of 3D immersive computer game engines. Topics will include 3D modelling, texturing, lighting effects, use of pixel shaders, game physics, scripting of game play, and use of games engines for non-game program development.
COMPX539Usability Engineering19A (Hamilton)
This paper covers the design and evaluation of interactive computer systems with a focus on user studies. Topics covered include: scenarios, ethnography, designing and performing user studies, and ethical issues involved in studying human-computer interaction.
COMPX540Software Engineering Methodologies19B (Hamilton)
This paper focuses on modern software design and development methodologies, with emphasis on the 'lightweight' methods. The paper will also examine safety-critical aspects of software engineering, in particular how safety analysis fits into the software lifecycle.
COMPX542Web Search: Technical and Social Issues19A (Hamilton)
This paper covers the operation of web search engines, the development of web spam and techniques for combating it, and social issues raised by centralised search engines.
COMPX550Location Based Systems as Context-aware Systems19A (Hamilton)
This course will introduce techniques of location-based and context-aware systems (such as GPS and personalisation). Participants will develop a location-based system and evaluate its qualities as an information system. The lecturer has extended experience with research in location-based systems - course participants will get hands...
COMPX552Model Checking19A (Hamilton)
This paper shows how reactive systems can be modelled and analysed using finite-state machines and temporal logic, and how model checking tools can be used to verify crucial properties of safety-critical systems. It also provides an introduction into the algorithms and data structures used to model check very large finite-state sys...
COMPX553Extremely Parallel Programming19A (Hamilton)
This paper covers advanced parallel programming for large-scale parallelism. A variety of programming techniques will be covered, with application to cluster computers, GPU computing, many-core computing and cloud computing.
COMPX554Specification Languages and Models19B (Hamilton)
This paper deals with various aspects of modelling systems using advanced best practice methods from the software engineering field. It will introduce at least one of the main software modelling languages, Z, including its semantics, logic and associated tools.
COMPX555Bioinformatics19B (Hamilton)
An introduction to bioinformatics, open to students majoring in computer science or biology. It includes an overview of molecular biology, genomics, script language programming, algorithms for biological data, an introduction to machine learning and data mining, and relevant statistical methods.
COMPX560Turing Topics in Computer Science19C (Hamilton)
One or more special topics in computer science, at an advanced level.
ENGEN570Engineering Professional Practice 219Y (Hamilton)
Role engineers in industry, business and society, contract law and legal responsibility, Treaty of Waitangi considerations, intellectual property, teamwork and leadership skills, responsibilities of a professional, ethics with industrial case studies.
ENGEN582Honours Research and Development Project19A (Hamilton), 19B (Hamilton), 19C (Hamilton) & 19Y (Hamilton)
This is the final year Honours, research and design "capstone" project.

Alena Choong "After my first work placement at the Bay of Plenty Regional Council, I realised that the degree structure at Waikato prepares you to become an engineer fit for any industry."

Read stories from other students


New to Waikato? The International Excellence Scholarship is worth up to $10,000.

Brian Perry Charitable Trust Undergraduate Scholarship in Science & Engineering  Closed

For students who are enrolled in the second year of full-time study towards an undergraduate degree, in the Faculty of Science and Engineering at the University of Waikato. The scholarship will have a value of up to $5,000.

CMS International Exchange Scholarship  Closed

For students who have completed at least one year of study in the Faculty of Computing & Mathematical Sciences (FCMS), applied for a University of Waikato exchange programme, and who will be enrolled full-time in FCMS in the year of tenure.

Computer Science Undergraduate Scholarship  Closed

For students who are currently in Year 12 or Year 13 at a New Zealand secondary school. Candidates must be intending to enrol full-time in a BCMS(Hons), BSc, BSc(Tech), BE(Hons) or BDes degree, in one of the computing streams, at the University of Waikato. Candidates will sit a Scholarship exam, which will be held on 19 and 20 October 2018.

Smartrak Software Development Scholarship  Closed

For students enrolled full time in the second to last year of study towards a BE(Hons) majoring in software engineering or a BCMS with a focus on software development or a BSc(Tech) majoring in computer science with an emphasis on software development. The scholarship will have a value of $4,000.

Looking for more scholarships?

Visit our Scholarship Finder


Subject links


Documents


Contacts

Faculty of Computing & Mathematical Sciences

Phone: 0800 924 528 ext: 4322 or +64 7 838 4322
Email: cms@waikato.ac.nz
Website: cms.waikato.ac.nz
Facebook: facebook.com/WaikatoFCMS