Software Engineering (2018)

Software engineering is the scientific, disciplined and quantifiable approach to developing, operating and maintaining complex software systems. These software systems include operating systems, networks, real-time and embedded systems, distributed and parallel systems, as well as engineering, scientific and business application software. The Software Engineering programme at Waikato emphasises the software engineering process, formal methods for software engineering, and human-computer interaction. The programme starts from scratch, and teaches programming skills using C# and Microsoft Visual Studio, before moving on to Java and even further to more modern languages. The final year project assimilates material taught in the earlier years with material from related disciplines such as electronics and industrial sources. It prepares students well for professional practice as well as continuing, or further, education and research.

Software Engineering is available as a specified programme for the BE(Hons).

To complete the specified programme in Software Engineering, students must follow the following programme.

Note: Students who commenced a specified programme in Software Engineering in 2016 or prior and are undertaking their third year in 2018 will do so using existing 20 point papers. Students are encouraged to contact the Faculty of Computing and Mathematical Sciences for programme advice.


On this page

  • 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 provdes 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)
    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)
    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.

2018 Catalogue of Papers information current as of : 10 November 2017 1:31pm

This page has been reformatted for printing.