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.

Simon Campbell

Bachelor of Engineering with Honours
University of Waikato software engineering graduate Simon Campbell is enjoying his job as a developer at Hamilton company Enlighten Designs.

Alena Choong

Bachelor of Engineering with Honours
"...the degree structure at Waikato prepares you to become an engineer fit for any industry."

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.

 Career opportunities

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


Study Software Engineering in any of these qualifications

Year 1

Code Paper Title Occurrence / Location
COMPX101Introduction to Computer Science18A (Hamilton), 18A (Online) & 18B (Hamilton)
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 Programming18B (Hamilton), 18C (Zhejiang University City College, Hangzhou China) & 18S (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.
ENGEN170Engineering and Society18B (Hamilton)
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 Engineering18A (Hamilton)
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 Engineers18A (Hamilton) & 18B (Hamilton)
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 Engineers18A (Hamilton), 18B (Hamilton) & 18S (Hamilton)
A study of the fundamental techniques of calculus, including differentiation and integration for functions of one real variable, with engineering applications.
MATHS135Discrete Structures18B (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...

and 15 points from the following

Code Paper Title Occurrence / Location
APHYS111Physics in Context18A (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 Context18A (Hamilton)
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 Spectroscopy18A (Hamilton), 18A (Secondary School - Unistart) & 18C (Hamilton)
A theoretical and practical course covering aspects of analytical and inorganic chemistry. This course is required for the chemistry major.
CHEMY102Chemical Reactivity18B (Hamilton) & 18B (Secondary School - Unistart)
A theoretical and practical course covering aspects of physical and organic chemistry. This course is required for the chemistry major.
ENGEN110Engineering Mechanics18B (Hamilton)
This paper covers aspects of engineering mechanics.
ENGEN111Electricity and Electronics18A (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 Engineering18B (Hamilton)
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...
PHYSC100General Physics18A (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.
PHYSC101Physics for Engineers and Scientists18B (Hamilton) & 18B (Secondary School - Unistart)
This is a lecture and laboratory course covering fundamental physics concepts relevant to engineers and scientists. Topics covered include vectors, kinematics, force, work, energy, collisions, rotation, equilibrium, oscillations, waves, sound, electricity, magnetism, and light.

Year 2

Code Paper Title Occurrence / Location
COMPX203Computer Systems18A (Hamilton) & 18B (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 Security18B (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 Experience18A (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 Development18A (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 Process18B (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...
COMPX361Logic and Computation18B (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...
ENGEN201Engineering Mathematics 218B (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 118A (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.
ENGEN271Industry Placement 118C (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.

Year 3

Students must take the papers listed below including one of COMP321 or ENGG381 and 20 points chosen from COMP301, COMP311, COMP312 and COMP313.

Code Paper Title Occurrence / Location
COMP314Software Engineering Project18B (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, implementation and maintenance.
COMP317Design and Analysis of Algorithms18A (Hamilton)
A study of classical and recently developed algorithms for solving a diverse range of problems using computers. Issues of performance, scalability, applicability, adaptation and design are also discussed.
COMP325Human-Computer Interaction18B (Hamilton) & 18B (Tauranga)
An introduction to the theory and practice of human-computer interaction, including the interface development process in the system life-cycle, software tools and architectures to support modern interface and software usability.
COMP340Reasoning about ProgramsThis paper will not be taught in 2018.
This paper will not be taught in 2018.
COMPX324User Experience DesignThis paper will not be taught in 2018.
This paper will not be taught in 2018.
COMPX374Software Engineering ProjectThis paper will not be taught in 2018.
This paper will not be taught in 2018.
ENGG372Engineering Work Placement 218C (Hamilton)
The second Work Placement for the Bachelor of Engineering (Honours) degree.
ENGG379Reflection on Professional Workplace Experience18A (Hamilton)
Guided reflection on professional work placements in engineering.

Year 4 (BE(Hons))

Students must take ENGG492, at least one of COMP424 or COMP439 or COMP448, at least one of COMP426 or COMP452 or COMP454, and points chosen from any other 400 level Computer Science papers, if needed, to complete 120 points at 400 level. COMP401, COMP413, COMP414, COMP424, COMP426, COMP439, COMP440, COMP448, COMP452, COMP453 and COMP454 are recommended.

Code Paper Title Occurrence / Location
COMP424Topics in Interaction DesignThis paper will not be taught in 2018.
This paper will not be taught in 2018.
COMP426Engineering Interactive Systems18B (Hamilton)
This paper introduces the topic of engineering methods for interactive systems. It provides both the background theory and practical methods for modelling and testing interactive systems.
COMP439Usability Engineering18A (Hamilton)
This paper covers the design and evaluation of interactive computer systems with a focus on users and usability. Topics covered include: designing and performing user studies, ethnography, automated usability evaluation and ethical issues involved in studying human-computer interaction.
COMP448Developing Mobile Applications18A (Hamilton) & 18B (Hamilton)
This paper covers practical design and implementation of interactive applications for mobile devices such as smartphones and tablet computers.
COMP452Model Checking18A (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...
COMP454Specification Languages and Models18B (Hamilton)
This paper deals with various aspects of modelling systems using advanced good 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.
ENGG492Honours Research and Management Project18A (Hamilton), 18B (Hamilton), 18C (Hamilton) & 18Y (Hamilton)
An engineering research and development project, including design philosophy, market requirements, specifications, design and analysis, component and materials selection, prototype development, documentation, quality and failure analysis, standards and codes, IP protection, and project planning and management.

Brian Perry Charitable Trust Undergraduate Scholarship in Science & Engineering

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 $2,000.

Closing Date: 2017-05-31 23:59:00

CMS International Exchange Scholarship

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 are currently enrolled full-time in FCMS.

Closing Date: 2018-03-31 23:59:00

Computer Science Undergraduate Scholarship

For students who are currently in Year 12 or Year 13 and who are studying at a New Zealand High School. Students should be intending to enrol in a BCMS(Hons), BSc, BSc(Tech), BE(Hons) or BDes degree, in one of the computing streams, at the University of Waikato. Students will sit a Scholarship exam. The exam will be held on 20 and 21 October 2017.

Closing Date: 2017-09-22 17:00:00

Smartrak Software Development Scholarship

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.

Closing Date: 2017-09-01 23:59:00


Faculty of Computing & Mathematical Sciences

Phone: 0800 924 528 ext: 4322 or +64 7 838 4322