Software Engineering
Software is everywhere: from spacecraft to smart watches. Software Engineers design, develop, maintain and oversee complex software-intensive projects while assuring their quality. These highly interconnected systems must meet multiple requirements, including correctness, usability, performance, safety and security. They leverage technologies, such as cloud, web, database, networks, mobile, IoT and embedded systems.
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, with a range of devices 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.
Key information
Study Locations: | Hamilton, Tauranga Papers offered differ by location. The Catalogue of Papers has full location info. |
---|---|
Area of Study: |
Study Software Engineering in these qualifications
Study Software Engineering as a specialisation of
Career opportunities
- Chartered Software Engineer
- Usability Engineer
- Requirements Engineer
- Quality Assurance Engineer
- Cloud Engineer
- Cyber Security Engineer
- Embedded Systems Engineer
- Software Architect
- Software Researcher
Papers
Available Software Engineering papers
Year 1
Students must take the following papers: COMPX101, COMPX102, ENGEN101, ENGEN102, ENGEN170, ENGEN180 and MATHS135.
Students must also take one paper from the following General -Engineering-Science papers: APHYS111, CHEMY100, CHEMY101, CHEMY102, ENGEN110, ENGEN111, ENGEN112, PHYSC100 or PHYSC101.
Year 2
Students must take the following papers: COMPX203, COMPX204, COMPX223, COMPX241, COMPX242, ENGEN270 and ENGEN271.
Students must also take one paper from the following Intermediate-Mathematics papers: ENGEN201, MATHS201, MATHS202, MATHS203, DATAX221, or DATAX222.
Students must also take one paper from the following General-Computing papers: COMPX205, COMPX222, ENGEE233, ENGEE281 or any paper from the Advanced-Computing papers as defined in the Year 3 section.
If you are studying the Diploma in Engineering Management, concurrent with the BE(Hons), you must complete ENGEN272 (in place of ENGEN271).
Year 3
Students must take the following papers: COMPX301, COMPX324, COMPX341, COMPX361, COMPX374, ENGEN370 and ENGEN371.
Students must also take two papers from the following Advanced-Computing papers: COMPX304, COMPX307, COMPX310, COMPX322, COMPX323, COMPX364, COMPX367, COMPX349 or ENGEE319.
If you are studying the Diploma in Engineering Management, concurrent with the BE(Hons), you must complete ENGEN372 (in place of ENGEN371).
Year 4
Students must take ENGEN570 and ENGEN582, and 30 points from 500 level COMPX papers listed under Software Engineering.
Students must also take at least two papers from the following Specialised-Software-Engineering-Design papers: COMPX518, COMPX519, COMPX526, COMPX527, COMPX529, COMPX532, COMPX539, COMPX552, COMPX553, or COMPX554.
100 Level
Code | Paper Title | Points | Occurrence / Location |
---|---|---|---|
APHYS111 | Physics in Context - Ahupūngao o te Ao | 15.0 | 24A (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... | |||
CHEMY100 | Chemistry in Context - Matū o te Ao | 15.0 | 24A (Hamilton) & 24A (Tauranga) |
This paper covers a broad range of chemical concepts that are fundamental to the sciences and engineering. A strong emphasis is made to teach concepts through real-life examples from the world around us. He toro na tenei pepa i nga tumomo tuapapa o te matai matu kei te tuapapa o nga horopaki putaiao, pukaha hoki He kaha hangai te ... | |||
CHEMY101 | Structure and Spectroscopy - Tūramaramatia i ngā Hanganga | 15.0 | 24A (Hamilton) & 24C (Hamilton) |
A theoretical and practical course covering aspects of analytical and inorganic chemistry. This course is required for the chemistry major. He pepa tirotiro i nga tuahua o te wetewete i te matauranga matuwaro me tona kore paraumu, he pepa matua o roto o te tohu matuora. | |||
CHEMY102 | Chemical Reactivity - Tauhohehohe Matū | 15.0 | 24B (Hamilton) |
A theoretical and practical course covering aspects of physical and organic chemistry. This course is required for the chemistry major. He pepa a-aria, a-mahinga hoki hei tirotiro i nga tuahuaranga o te matuora a-kikokiko, a-paraumu hoki He pepa matua o roto o te tohu matuora. | |||
COMPX101 | Introduction to Programming | 15.0 | 24A (Hamilton), 24A (Online), 24B (Hamilton), 24B (Hamilton Waikato College), 24B (Secondary School - Unistart), 24X (Hainan University, Haikou, China) & 24X (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... | |||
COMPX102 | Object-Oriented Programming | 15.0 | 24B (Hamilton), 24B (Secondary School - Unistart), 24B (Tauranga), 24C (Hamilton Waikato College), 24H (Hamilton), 24X (Hainan University, Haikou, China) & 24X (Zhejiang University City College, Hangzhou China) |
This paper builds on introductory programming experience, and assumes a knowledge of basic programming techniques, which it expands on particularly in the areas of data organisation and algorithms. It also provides an introduction to: object-oriented programming, computer architecture, Boolean algebra, assembly language, and progra... | |||
ENGEN101 | Engineering Maths and Modelling 1A | 15.0 | 24A (Hamilton), 24A (Secondary School - Unistart), 24A (Tauranga) & 24B (Hamilton) |
A study of the fundamental techniques of algebra and calculus with engineering applications. | |||
ENGEN102 | Engineering Maths and Modelling 1B | 15.0 | 24B (Hamilton), 24B (Secondary School - Unistart), 24B (Tauranga) & 24G (Hamilton) |
A further study of the fundamental techniques of algebra and calculus with engineering applications. Includes an introduction to relevant statistical methods. | |||
ENGEN103 | Engineering Computing | 15.0 | 24A (Hamilton), 24A (Tauranga), 24G (Hamilton) & 24X (Hainan University, Haikou, China) |
This paper introduces computer programming in languages such as the MATLAB and Python languages. It provides the basis for the programming skills required in more advanced papers. | |||
ENGEN110 | Engineering Mechanics | 15.0 | 24B (Hamilton), 24B (Tauranga) & 24G (Hamilton) |
Statics and dynamics of rigid bodies. Application of freebody diagrams and equations of equilibrium to calculate internal and external forces and moments on/in structures and mechanisms. Kinetics and kinematics of particles. Geometric properties of areas. | |||
ENGEN111 | Electricity for Engineers | 15.0 | 24B (Hamilton), 24B (Tauranga) & 24X (Hamilton) |
Concepts underlying electricity such as current, voltage and power will be introduced, and apply these concepts to analyse electrical energy systems. | |||
ENGEN112 | Materials Science and Engineering | 15.0 | 24A (Hamilton) & 24A (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... | |||
ENGEN170 | Engineering and Society | 15.0 | 24A (Hamilton) & 24A (Tauranga) |
Introduction to the role of engineering in society with a focus on sustainable development, data analysis, holistic systems thinking, and the future of work within a global and New Zealand context including an introduction to the Treaty of Waitangi. | |||
ENGEN180 | Foundations of Engineering | 15.0 | 24B (Hamilton) & 24B (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. | |||
MATHS135 | Discrete Structures | 15.0 | 24B (Hamilton), 24B (Secondary School - Unistart), 24B (Tauranga), 24C (Hamilton Waikato College) & 24X (Hainan University, Haikou, China) |
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... | |||
PHYSC100 | General Physics | 15.0 | 24A (Hamilton) & 24X (Hainan University, Haikou, China) |
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 | Points | Occurrence / Location |
---|---|---|---|
COMPX203 | Computer Systems | 15.0 | 24A (Hamilton) & 24A (Tauranga) |
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. | |||
COMPX204 | Practical Networking and Cyber Security | 15.0 | 24B (Hamilton) & 24B (Tauranga) |
This paper provides an overview of the technologies and protocols involved in computer communications and cyber security. Practical work includes network programming. | |||
COMPX216 | Artificial Intelligence | 15.0 | 24A (Hamilton) |
This paper provides an introduction to artificial intelligence, including techniques for knowledge representation and reasoning, searching and problem solving, and machine learning. | |||
COMPX222 | Web Development | 15.0 | 24B (Hamilton), 24B (Tauranga) & 24X (Zhejiang University City College, Hangzhou China) |
This paper provides a broad overview of the principles and technologies used in Web Applications, with practical experience of client-side and server-side programming. | |||
COMPX223 | Database Practice and Experience | 15.0 | 24A (Hamilton), 24A (Secondary School - Unistart) & 24A (Tauranga) |
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... | |||
COMPX241 | Software Engineering Design 1 | 15.0 | 24A (Hamilton) |
This paper covers object-oriented software development in Java focusing on abstract data types and dynamic data structures, while introducing design methodologies in software construction, software process, and software testing. A group project reinforces broader software engineering practices. | |||
COMPX242 | Software Engineering Design 2 | 15.0 | 24B (Hamilton) & 24B (Tauranga) |
This paper continues object-oriented software development in Java introducing design methodologies in software architecture, detailed design, design patterns, software configuration management, and software testing. Project work starts with GUI development and works through to the development of mobile applications. | |||
COMPX278 | Technology and Complex Problems | 15.0 | 24H (Hamilton) |
This paper centres on Complex Problem Solving in Context (e.g., within real world scenarios). In this paper, students will learn how to identify complex problems, break them down into smaller, more manageable problems, and solve these problems using a variety of processes and tools. | |||
DATAX221 | Statistical Data Analysis | 15.0 | 24A (Hamilton) |
This paper introduces students to the R programming language which is used to investigate a collection of real data sets. Analysis of variance, multiple regression, non parametric methods and time series are covered. | |||
DATAX222 | Principles of Probability and Statistics | 15.0 | 24B (Hamilton) |
This paper introduces the theoretical background that underpins modern probability and statistics. Topics include discrete probability and mathematical statistics from a frequentist and Bayesian viewpoint. | |||
ENGEE233 | Digital Electronics and Microprocessors | 15.0 | 24A (Hamilton) |
This paper provides students with an introduction to digital electronics and microprocessors. It covers combinatorial and sequential logic, hardware description languages, and processor architecture and construction. | |||
ENGEN201 | Engineering Maths and Modelling 2 | 15.0 | 24A (Hamilton) & 24H (Online) |
Calculus of Several Variables and its Applications. Vector calculus (Green's, Gauss' and Stokes' theorems). Taylor's Theorem in n dimensions. Introduction to ordinary differential equations and methods to solve them. | |||
ENGEN270 | Engineering and Business | 15.0 | 24B (Hamilton) |
This paper focuses on empowering students to become “business savvy” and prepared to enter the workplace and solve real-world problems. Topics covered include; team formation, design thinking, Lean Canvas, project management, Agile, risk management, project finance, professional ethics, preparing for the workplace, and business... | |||
ENGEN271 | Engineering Work Placement 1 | 0.0 | 24X (Hamilton) |
This paper is taken by students undertaking their first work placement for the BE(Hons). It involves 400 hours of engineering-related work experience. The paper is typically undertaken during the November to February window after completing the two years of engineering study. | |||
ENGEN272 | Engineering Work Placement 1 | 30.0 | 24X (Hamilton) |
This paper is taken by students undertaking their first work placement for the BE(Hons) concurrent with the Diploma in Engineering Management or Certificate in Professional Engineering Practice. It involves 400 hours of engineering-related work experience. The paper is typically undertaken during the November to February window aft... | |||
MATHS201 | Continuing Calculus | 15.0 | 24A (Hamilton) & 24X (Hainan University, Haikou, China) |
Calculus of Several Variables and its Applications. Vector calculus (Green's, Gauss' and Stokes' theorems). Taylor's Theorem in n dimensions. The gamma and beta functions. | |||
MATHS202 | Linear Algebra | 15.0 | 24B (Hamilton) & 24X (Hainan University, Haikou, China) |
A formal approach to linear algebra, with applications. Topics include: axioms of a vector space, linear independence, spanning sets and bases. Linear transformations, the Gram-Schmidt process. | |||
MATHS203 | Differential Equations and Modelling | 15.0 | No occurrences |
Systems of ordinary differential equations and their applications, including phase plane methods. Introduction to partial differential equations. Fourier series. |
300 Level
Code | Paper Title | Points | Occurrence / Location |
---|---|---|---|
COMPX301 | Design and Analysis of Algorithms | 15.0 | 24A (Hamilton) |
This course gives a survey of advanced algorithms and analysis of their performance, along with heuristic methods that include basic Artificial Intelligence techniques. | |||
COMPX304 | Advanced Networking and Cyber Security | 15.0 | 24A (Hamilton) |
A study of computer networks with a focus on Internet protocols, application protocols and transmission technologies; followed by an analysis and in-lab replication of common security vulnerabilities, and secure software engineering techniques to defend against them. | |||
COMPX307 | Principles of Programming Languages | 15.0 | 24B (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. | |||
COMPX310 | Machine Learning | 15.0 | 24B (Hamilton) & 24B (Tauranga) |
This paper introduces Machine Learning (ML) which is the science of making predictions. ML algorithms strive to be fast and highly accurate, while processing large datasets. This paper will use standard Python-based ML toolkits to teach the fundamentals of ML. | |||
COMPX322 | Advanced Web Development | 15.0 | 24A (Hamilton) & 24X (Zhejiang University City College, Hangzhou China) |
This paper covers a range of topics relating to the development of web applications. These include the latest developments in HTML, CSS and JavaScript; asynchronous communication using AJAX; security issues; object-oriented JavaScript; RESTful web services; XML; JSON and development libraries and frameworks. | |||
COMPX323 | Advanced Database Concepts | 15.0 | 24A (Hamilton) |
This paper provides an introduction to the advanced features of database management systems. Students will learn to use and manipulate advanced features, and to understand and explore the technical background of large database management systems. They will have hand-on practice in using these features to create, query and maintain ... | |||
COMPX324 | User Experience Design | 15.0 | 24B (Hamilton), 24B (Tauranga) & 24X (Zhejiang University City College, Hangzhou China) |
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. | |||
COMPX341 | Software Engineering Methods | 15.0 | 24A (Hamilton) |
Software Engineering is the systematic design, construction, testing and maintenance of software systems. The various processes (and engineering specialisations) comprising the methods of Software Engineering will be presented with a specific focus on assuring a high quality of software in requirements, design, construction, testin... | |||
COMPX349 | Embedded Systems | 15.0 | 24B (Hamilton) |
This course covers the principles and design of embedded systems, including micro-controllers, embedded system architecture, real-time programming and operating systems, and Field Programmable Gate Arrays. | |||
COMPX361 | Logic and Computation | 15.0 | 24B (Hamilton) & 24B (Tauranga) |
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... | |||
COMPX364 | Cryptography and Number Theory | 15.0 | No occurrences |
An introduction to number theoretic ideas with emphasis on their applications in cryptography. | |||
COMPX374 | Software Engineering Industry Project | 15.0 | 24B (Hamilton) |
Students work in small groups to engineer a prototype for a medium-sized software project. Following established software engineering design principles, they elicit requirements and document specifications, design the system architecture and user interface, carry out documentation preparation, implementation, and plan for maintenan... | |||
ENGEE319 | Smart Grids and the Internet of Things | 15.0 | 24B (Hamilton) |
This paper is concerned with the application of sensors and IoT to modern smart grid electrical power systems including; sensor interfacing, data processing, power flow control and network stability. | |||
ENGEN370 | Engineering and the Environment | 15.0 | 24A (Hamilton) |
This paper covers sustainability in engineering design and renewable energy generation through the critical lens of environmental impact assessment, risk and resilience, sustainable infrastructure and development, material and energy flow analysis, emissions, carbon accounting and life cycle analysis. | |||
ENGEN371 | Engineering Work Placement 2 | 0.0 | 24X (Hamilton) |
This paper is taken by students undertaking their second work placement for the BE(Hons). It involves 400 hours of engineering-related work experience. The paper is typically undertaken during the November to February window after completing the three years of engineering study. | |||
ENGEN372 | Engineering Work Placement 2 | 30.0 | 24X (Hamilton) |
This paper is taken by students undertaking their second work placement for the BE(Hons) concurrent with the Diploma in Engineering Management or Certificate in Professional Engineering Practice. It involves 400 hours of engineering-related work experience. The paper is typically undertaken during the November to February window af... |
500 Level
Code | Paper Title | Points | Occurrence / Location |
---|---|---|---|
COMPX502 | Cryptography | 15.0 | No occurrences |
An introduction to cryptographic methods. | |||
COMPX515 | Security for Advanced Networks | 15.0 | 24B (Hamilton) |
Networks have evolved considerable in the last decade, leading to new technologies. Changes in the attack surface make network security a permanent concern. Novel approaches to protect them are required. | |||
COMPX518 | Cyber Security | 15.0 | 24A (Hamilton) |
This paper introduces the key topics in the important field of cyber security. It will cover various aspects of defensive, offensive and preventative security. Selective topics from a wide range, such as security vulnerabilities, secure software, intrusion detection and prevention, cryptography, applied cryptography, authentication... | |||
COMPX519 | Malware Analysis and Penetration Testing | 15.0 | 24B (Hamilton) |
This paper goes through two important aspects of Cyber Security. It first covers the defensive security techniques of malware analysis and then examines the offensive security techniques of penetration testing. | |||
COMPX521 | Machine Learning Algorithms | 15.0 | 24B (Hamilton) |
This paper exposes students to selected machine learning algorithms and includes assignments that require the implementation of these algorithms. | |||
COMPX523 | Machine Learning for Data Streams | 15.0 | 24A (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. | |||
COMPX525 | Deep Learning | 15.0 | 24A (Hamilton) |
This paper provides an introduction into Deep Learning, focussing on both algorithms and applications. It covers both the basics of Neural networks and current mainstream and advanced Deep Learning technology. | |||
COMPX527 | Secure Cloud Application Engineering | 15.0 | 24B (Hamilton) |
Software Engineering on the Cloud is extremely prevalent nowadays. In this paper, you will learn how to design, develop and test cloud-native applications with a special focus on satisfying requirements. | |||
COMPX532 | Information Visualisation | 15.0 | 24A (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. | |||
COMPX539 | Usability Engineering | 15.0 | 24A (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. | |||
COMPX544 | Advanced Applied Computational Methods | 15.0 | 24B (Hamilton) |
This paper explores numerical methods with applications to real world problems. A variety of classes of problems will be introduced, and appropriate numerical methods for each will be explored. Each problem will be solved by writing code from scratch. Aspects of parallel methods will also be introduced. | |||
COMPX553 | Extremely Parallel Programming | 15.0 | 24A (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. | |||
COMPX554 | Specification Languages and Models | 15.0 | 24B (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. | |||
COMPX555 | Bioinformatics | 15.0 | 24B (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. | |||
COMPX560 | Turing Topics in Computer Science | 15.0 | 24X (Hamilton) & 24X (Tauranga) |
One or more special topics in computer science, at an advanced level. | |||
ENGEN570 | Engineering and the Profession | 15.0 | 24D (Hamilton) |
The roles and responsibilities of professional engineers are examined. Topics include; project management, leadership, negotiation, ethical responsibilities, legal duties, Treaty of Waitangi, intellectual property and professional communication. | |||
ENGEN582 | Honours Research and Development Project | 45.0 | 24X (Hamilton) & 24X (Tauranga) |
This paper provides the "capstone" project required to complete an accredited engineering degree. The paper builds on the knowledge and skills students have gained in the first three years of their professional engineering degree and reinforces the multidisciplinary aspect of engineering. Students will learn how to carry out a Res... |
Scholarships and prizes
New to Waikato? The International Excellence Scholarship is worth up to $10,000.
Visit our Scholarship Finder for information about possible scholarships
Contacts
School of Computing and Mathematical Sciences
Phone: +64 7 838 4322
Email: [email protected]
Website: cms.waikato.ac.nz
Facebook: https://www.facebook.com/WUcms