BE(Hons) - Software Engineering as a specified programme
The Bachelor of Engineering with Honours is the basis for a professional career in engineering, and at Waikato you're provided with plenty of opportunities to apply what you’ve learnt in real-life work situations.
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.
Apply to enrol
Key information
Years: | 4 |
---|---|
Points: | 480 |
Start Dates: | Trimester A (March) and Trimester B (July) |
Fees (Domestic): | $7,580 (approx) per year |
Fees (International): | $37,875 per year (any of years 1-3) |
Entry Requirements: | Undergraduate International |
Area of Study: | |
*Tuition fees shown are indicative only and may change. There are additional fees and charges related to enrolment please see the Table of Fees and Charges for more information. You will be sent an enrolment agreement which will confirm your fees. |
Career opportunities
- Chartered Software Engineer
- Usability Engineer
- Requirements Engineer
- Quality Assurance Engineer
- Cloud Engineer
- Cyber Security Engineer
- Embedded Systems Engineer
- Software Architect
- Software Researcher
Degree Planner
Degree planner — BE(Hons) in Software Engineering
If no point value is listed, papers are worth 15 points. This structure applies to study starting in 2021.
Year 4
500 level Specialised Quality Assurance Paper**
500 level Specialised Quality Assurance Paper**
Any 500 Level
COMPX Paper
Any 500 Level
COMPX Paper
- Stream
- Compulsory
- Elective
- Placement
Papers
Papers available within 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.
Software Engineering is available as a specified programme for the Bachelor of Engineering with Honours (BE(Hons)).
To complete the specified programme in Software Engineering, students must complete the following programme.
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, STATS221, or STATS222.
Students must also take one paper from the following General-Computing papers: COMPX205, COMPX222, ENGEE233, ENGEE281 or any 300 level COMPX paper.
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, or COMPX349.
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 two papers from the following Specialised-Quality-Assurance papers: COMPX519, COMPX529, COMPX539, COMPX552 or COMPX554.
100 Level
Code | Paper Title | Points | Occurrence / Location |
---|---|---|---|
APHYS111 | Physics in Context | 15.0 | 21A (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 | 15.0 | 21A (Hamilton) & 21A (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. | |||
CHEMY101 | Structure and Spectroscopy | 15.0 | 21A (Hamilton) & 21C (Hamilton) |
A theoretical and practical course covering aspects of analytical and inorganic chemistry. This course is required for the chemistry major. | |||
CHEMY102 | Chemical Reactivity | 15.0 | 21B (Hamilton) |
A theoretical and practical course covering aspects of physical and organic chemistry. This course is required for the chemistry major. | |||
COMPX101 | Introduction to Programming | 15.0 | 21A (Hamilton), 21A (Online), 21B (Hamilton) & 21X (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 | 21B (Hamilton), 21B (Tauranga), 21H (Hamilton) & 21X (Zhejiang University City College, Hangzhou China) |
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. | |||
ENGEN101 | Engineering Maths and Modelling 1A | 15.0 | 21A (Hamilton), 21A (Tauranga) & 21B (Hamilton) |
A study of the fundamental techniques of algebra and calculus with engineering applications. | |||
ENGEN102 | Engineering Maths and Modelling 1B | 15.0 | 21B (Hamilton), 21B (Tauranga) & 21G (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 | 21A (Hamilton), 21A (Tauranga) & 21G (Hamilton) |
This paper introduces computer programming in languages such as Python. It provides the basis for the programming skills required in more advanced papers. | |||
ENGEN110 | Engineering Mechanics | 15.0 | 21B (Hamilton), 21B (Tauranga) & 21G (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 | 21B (Hamilton), 21B (Tauranga) & 21X (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. | |||
ENGEN112 | Materials Science and Engineering | 15.0 | 21A (Hamilton) & 21A (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 | 21A (Hamilton) & 21A (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 | 21B (Hamilton) & 21B (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 | 21B (Hamilton) & 21B (Tauranga) |
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 for Engineers | 15.0 | 21A (Hamilton) & 21X (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 | Points | Occurrence / Location |
---|---|---|---|
COMPX203 | Computer Systems | 15.0 | 21A (Hamilton) & 21A (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 | 21B (Hamilton) & 21B (Tauranga) |
This paper provides an overview of the technologies and protocols involved in computer communications and cyber security. Practical work includes network programming. | |||
COMPX223 | Database Practice and Experience | 15.0 | 21A (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... | |||
COMPX241 | Software Engineering Development | 15.0 | 21A (Hamilton) |
An introduction to abstract data types and dynamic data structures, programming in Java, and with an introduction to the theory and practice of testing. Broader software engineering practices will be developed through a group project. | |||
COMPX242 | Software Engineering Design | 15.0 | 21B (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... | |||
ENGEE233 | Digital Electronics and Microprocessors | 15.0 | 21A (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 | 21A (Hamilton) |
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 | 21B (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 | 21X (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. | |||
ENGEN272 | Engineering Work Placement 1 | 30.0 | 21X (Hamilton) |
First work placement for the DipEPP 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 | Points | Occurrence / Location |
---|---|---|---|
COMPX301 | Design and Analysis of Algorithms | 15.0 | 21A (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 | 21B (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 | 21B (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. | |||
COMPX324 | User Experience Design | 15.0 | 21B (Hamilton) & 21X (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 Quality Assurance | 15.0 | 21A (Hamilton) |
This paper introduces methods to assure process and product quality for designing, constructing, testing and maintaining software. | |||
COMPX349 | Embedded Systems | 15.0 | 21B (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 | 21B (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... | |||
COMPX364 | Cryptography and Number Theory | 15.0 | 21A (Hamilton) |
An introduction to number theoretic ideas with emphasis on their applications in cryptography. | |||
COMPX374 | Software Engineering Industry Project | 15.0 | 21B (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. This paper includes a component on professional interaction skills within the workplace and CV pre... | |||
ENGEE319 | Smart Grids and the Internet of Things | 15.0 | 21B (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. | |||
ENGEN301 | Engineering Maths and Modelling 3 | 15.0 | 21A (Hamilton) |
Introduces numerical methods and statistical ideas relevant to Engineering. | |||
ENGEN370 | Engineering and the Environment | 15.0 | 21A (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 | 21X (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. | |||
ENGEN372 | Engineering Work Placement 2 | 30.0 | 21X (Hamilton) |
Second work placement for the DipEPP 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. |
500 Level
Code | Paper Title | Points | Occurrence / Location |
---|---|---|---|
COMPX502 | Cryptography | 15.0 | 21A (Hamilton) |
An introduction to cryptographic methods. | |||
COMPX513 | Topics in Computer Networks | 15.0 | 21B (Hamilton) |
One or more special topics in computer networks, at an advanced level. | |||
COMPX515 | Security for Advanced Networks | 15.0 | 21B (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 | 21A (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 | 21B (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 | Advanced Machine Learning | 15.0 | 21A (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. | |||
COMPX523 | Data Stream Mining | 15.0 | 21A (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. | |||
COMPX527 | Secure Cloud Application Engineering | 15.0 | 21B (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. | |||
COMPX529 | Engineering Self-Adaptive Systems | 15.0 | 21B (Hamilton) |
Software needs to manage itself to fullfill dynamic requirements in a changing environment. Self-adaptive software is currently employed in clouds, networks, IoT, autonomous robots, etc. Adaptation challenges include self-configuration, self-optimization, self-healing and self protection. | |||
COMPX532 | Information Visualisation | 15.0 | 21A (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 | 21A (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. | |||
COMPX542 | Web Search: Technical and Social Issues | 15.0 | 21A (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. | |||
COMPX544 | Applied Computational Methods | 15.0 | 21A (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. | |||
COMPX552 | Model Checking | 15.0 | No occurrences |
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 systems. | |||
COMPX553 | Extremely Parallel Programming | 15.0 | 21A (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 | 21B (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 | 21B (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. | |||
COMPX556 | Metaheuristic Algorithms | 15.0 | 21B (Hamilton) |
Metaheuristic are stochastic search algorithms for solving massive scale combinatorial problems where exact algorithms do not exist. This paper explores the state-of-the-art metaheuristics such as GRASP, particle swarm optimisation, and parallel metaheuristics, along with their applications in operations research, science and engin... | |||
COMPX560 | Turing Topics in Computer Science | 15.0 | 21X (Hamilton) |
One or more special topics in computer science, at an advanced level. | |||
ENGEN570 | Engineering and the Profession | 15.0 | 21D (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 | 21D (Hamilton) & 21X (Hamilton) |
This is the final year Honours, research and design "capstone" project. |
Scholarships and prizes
Selected scholarships for Software Engineering 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 School of Science or the School of Engineering at the University of Waikato. The scholarship will have a value of up to $3,000.
CMS International Exchange Scholarship Closed
For students who have completed at least one year of study in the School of Computing and Mathematical Sciences in the year of tenure and have applied for a University of Waikato exchange programme. By clicking on 'Apply Now' below, students will be taken to a list of possible exchange universities, and can then choose to apply once they have read further.
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 practical exam, which will be held on 17 October 2020.
Looking for more scholarships?
Subject links
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/WaikatoCMS