Software Engineering (2022)
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.
Note: Students are encouraged to contact the Division of Health, Engineering, Computing and Science for programme advice.
On this page
Code Paper Title Points Occurrence / Location APHYS111 Physics in Context 15.0 22A (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 22A (Hamilton) & 22A (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 22A (Hamilton) & 22C (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 22B (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 22A (Hamilton), 22A (Online), 22B (Hamilton), 22B (Internet Waikato College) & 22X (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 22B (Hamilton), 22B (Tauranga), 22C (Internet Waikato College), 22H (Hamilton) & 22X (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 22A (Hamilton), 22A (Tauranga) & 22B (Hamilton) A study of the fundamental techniques of algebra and calculus with engineering applications. ENGEN102 Engineering Maths and Modelling 1B 15.0 22B (Hamilton), 22B (Tauranga) & 22G (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 22A (Hamilton), 22A (Tauranga) & 22G (Hamilton) This paper introduces computer programming in languages such as the MATLAB language. It provides the basis for the programming skills required in more advanced papers. ENGEN110 Engineering Mechanics 15.0 22B (Hamilton), 22B (Tauranga) & 22G (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 22B (Hamilton), 22B (Tauranga) & 22X (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 22A (Hamilton) & 22A (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 22A (Hamilton) & 22A (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 22B (Hamilton) & 22B (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 22B (Hamilton), 22B (Tauranga) & 22C (Internet Waikato College) 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 22A (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.
Code Paper Title Points Occurrence / Location COMPX203 Computer Systems 15.0 22A (Hamilton) & 22A (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 22B (Hamilton) & 22B (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 22A (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 Design 1 15.0 22A (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 22B (Hamilton) 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. ENGEE233 Digital Electronics and Microprocessors 15.0 22A (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 22A (Hamilton) & 22H (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 22B (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 22X (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 22X (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. MATHS201 Continuing Calculus 15.0 22A (Hamilton) 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 22A (Hamilton) 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 22B (Hamilton) Systems of ordinary differential equations and their applications, including phase plane methods. Introduction to partial differential equations. Fourier series. STATS221 Statistical Data Analysis 15.0 22A (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.
Code Paper Title Points Occurrence / Location COMPX502 Cryptography 15.0 22B (Hamilton) An introduction to cryptographic methods. COMPX513 Topics in Computer Networks 15.0 22B (Hamilton) One or more special topics in computer networks, at an advanced level. COMPX515 Security for Advanced Networks 15.0 22B (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 22A (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 22B (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 22A (Hamilton) This paper exposes students to selected machine learning algorithms and includes assignments that require the implementation of these algorithms. COMPX523 Data Stream Mining 15.0 22A (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 22A (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. COMPX526 Engineering Interactive Systems 15.0 22A (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. COMPX527 Secure Cloud Application Engineering 15.0 22B (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 22A (Hamilton) Software-intensive systems need to manage themselves to fulfill dynamic requirements in a changing environment. Self-adaptation is employed in clouds/datacenters, digital twins, networks, IoT, autonomous robots, etc. Adaptation challenges include self-configuration, self-optimization, self-healing and self-protection. COMPX532 Information Visualisation 15.0 22A (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 22B (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 22A (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 22A (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 22A (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 No occurrences 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 22B (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 22B (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 22X (Hamilton) One or more special topics in computer science, at an advanced level. ENGEN570 Engineering and the Profession 15.0 22D (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 22X (Hamilton) 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...
2022 Catalogue of Papers information current as of : 22 October 2021 7:02pm