Computer Science (2018)

Computer Science involves the study of all aspects of computers: their technology, algorithms and programming, underlying theory, and their application.

Computer Science is available as a major for the Bachelor of Computing and Mathematical Sciences with Honours, the Bachelor of Science, and the Bachelor of Science (Technology). Computer Science may also be included as a second major or minor in other undergraduate degrees, subject to the approval of the Faculty in which the student is enrolled.

To complete Computer Science as a single major for the BCMS(Hons) or the BSc, students must gain 135 points from papers listed for Computer Science, including 105 points above 100 level, and 45 points above 200 level. Students must complete COMPX101, COMPX102, COMPX201, COMPX202, COMPX203, COMPX204, COMPX361 and at least 15 points from List A. Students in the BCMS(Hons) will also need to take at least 60 points in the subject of Computer Science at 500 level, including COMP520.

To complete Computer Science as part of a double major for the BCMS(Hons), BSc or other undergraduate degree, students must gain 120 points from papers listed for Computer Science, including 90 points above 100 level, and 30 points above 200 level. Students must complete COMPX101, COMPX102, COMPX201, COMPX202, COMPX203, COMPX204, COMPX361 and 15 points from List A. Students in the BCMS(Hons) will also need to take at least 60 points in the subject of their first major at 500 level including COMP520 if Computer Science is the first major.

To complete a minor in Computer Science, students must complete 60 points from the papers listed for the Computer Science major, including at least 30 points above 100 level, and including COMPX201.

Note: Students who commenced a major in Computer Science in 2017 or prior are encouraged to contact the Faculty of Computing and Mathematical Sciences for programme advice.


On this page

  • 100 level

    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.
    COMPX151The Computing Experience18A (Hamilton), 18B (Hamilton) & 18S (Hamilton)
    This laboratory-based paper introduces a range of computer tools for application in the sciences, the arts and other disciplines. Students tailor the paper to their own needs by selecting sets of exercises to extend their prior knowledge.
    COMPX161Computing Media18B (Hamilton)
    In this paper students will create multimedia web content using appropriate software packages. Web design concepts will be introduced for the effective use of text, images and sounds. Students will be introduced to relevant computing concepts and provided with software tutorials and related exercises.
    CSMAX170Foundations in Computing and Mathematical Sciences18A (Hamilton) & 18B (Hamilton)
    The objective of this paper is to provide students with the academic foundations for computing and mathematical sciences. The paper will cover the following areas: - Effective academic reasoning and communication - Information literacy and research skills - Academic integrity - Techniques and tools in the computing and mathematica...
    DSIGN125Introduction to Communication Design Production18A (Hamilton)
    This paper enables students to perform basic computing operations and to operate software packages for the manipulation of visual images and text for use in print and screen-based applications. Students will be introduced to basic computing concepts and provided with software tutorials and related exercises.
    DSIGN151A History of Visual Communication18B (Hamilton)
    Students consider the role of visual communication design in society and culture, from the evolution of writing to the revolutions of twentieth century modernism, through the study of visual images and critical theory.
    DSIGN171Design Methodology18A (Hamilton)
    The objective of this paper is to provide the students with the academic foundations for design. The first part will cover effective academic reasoning and communication, information literacy and research skills, and academic integrity. In the second part, particular methods of thinking and planning will be presented, discussed and...
    ENGEN103Engineering Computing18A (Hamilton) & 18B (Hamilton)
    This paper introduces computer programming in languages such as C# and Python. It provides the basis for the programming skills required in more advanced papers within the School of Engineering.
    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...
  • 200 level

    Code Paper Title Occurrence / Location
    COMP221Introduction to 3D Modelling and Animation18A (Hamilton), 18B (Hamilton) & 18S (Hamilton)
    This paper introduces 3D modelling concepts through self-paced laboratory exercises. Students will use polygons, nurbs and texturing to develop simple scenes. Basic key-framing, path animation and the use of dynamics are explored, along with the effects of lighting and cameras for rendering.
    COMPX201Data Structures and Algorithms18A (Hamilton)
    This paper introduces programming with data structures using Java. Students learn how to program in Java and become familiar with the design, analysis, and application of commonlyused data structures, including stacks, queues, lists, trees, and sets.
    COMPX202Mobile Computing and Software Architecture18B (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...
    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.
    COMPX221Programming for Creative Industries18A (Hamilton)
    A fundamental grounding in object-oriented programming that uses Processing software to creative visual outputs for creative industries.
    COMPX222Internet Applications18B (Hamilton)
    This paper provides a broad overview of the principles and technologies used in Internet Applications, with practical experience of client-side and server-side 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...
    COMPX251Information Discovery18A (Hamilton), 18A (Tauranga), 18B (Hamilton) & 18S (Hamilton)
    This paper enables students to widen their experience of computer software using an intensive laboratory programme. Students select from a variety of themes, including video editing, website design, digital library development, computer game construction, animation and 3D modelling.
    COMPX252Interactive Computing18A (Hamilton), 18B (Hamilton) & 18S (Hamilton)
    This paper provides an opportunity to explore several software applications in depth. It is based on an intensive laboratory programme, where students tailor their choices to their own needs and interests by selecting two themes from a set of modules.
    COMPX290Directed StudyThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    CSMAX270Cultural Perspectives for Computing and Mathematical Sciences18B (Hamilton)
    The paper provides students with an understanding of scientific and culture-specific perspectives on computing and mathematical science issues and the ability to apply these in diverse contexts.
    DSIGN252Cultural Perspectives for Design18A (Hamilton) & 18B (Hamilton)
    The paper provides students with an understanding of culture-specific perspectives on design issues and the ability to apply these in diverse contexts.
    ENGEE233Digital Systems18A (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.
  • 300 level

    Code Paper Title Occurrence / Location
    COMP301Operating Systems18B (Hamilton)
    This paper focuses on operating systems design and implementation. Topics include operating system architecture, process management, inter-process communication, memory management, and device drivers. Practical work will include programming in an operating system.
    COMP311Computer Systems Architecture18B (Hamilton)
    This paper considers interaction between computer hardware and software; instruction sets; memory and disk hierarchy, caching and performance; traps and exceptions; performance of compiled code.
    COMP312Computer Networks18A (Hamilton)
    A study of computer networks with a focus on Internet protocols. The aim of this paper is to develop a practical understanding of the operation and programming of core internet protocols, application protocols, and transmission technologies.
    COMP313Topics in Programming Languages18A (Hamilton)
    The design, implementation and use of a selection of imperative, functional, object-oriented and/or logic programming languages. Assignments will involve challenging programming problems.
    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.
    COMP315Information Systems Development18B (Hamilton) & 18B (Tauranga)
    Students address a real world problem by performing systems planning, analysis, design and implementation. Working in groups, they submit reports, conduct reviews, develop prototypes, and make formal presentations at appropriate milestones.
    COMP316Artificial Intelligence Techniques and Applications18A (Hamilton)
    This paper gives an overview of artificial intelligence, including intelligent search, logic-based and probabilistic knowledge representation and reasoning, and machine learning.
    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.
    COMP321Practical Data Mining18B (Hamilton) & 18B (Tauranga)
    This paper is a practical introduction to data mining. It covers important aspects of the data mining process such as feature selection, model building, parameter tuning and final evaluation.
    COMP324Interaction DesignThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    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.
    COMP329Database Systems18A (Hamilton)
    This paper will focus on practical aspects of designing, creating and maintaining a database system.
    COMP333Web Applications Development18A (Hamilton) & 18A (Tauranga)
    A paper on the design, development and programming of web document applications.
    COMP336Graphics and Computer Games18B (Hamilton)
    This paper introduces interactive computer graphics, 3D modelling, real-time rendering and animation, as applied to computer games.
    COMP340Reasoning about ProgramsThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP371Computer Science Placement 118C (Hamilton)
    This paper requires a period of work experience in an appropriate and approved industry or applied field. The paper is assessed on the basis of the work done.
    COMP372Computer Science Placement 218C (Hamilton)
    This paper requires a period of work experience in an appropriate and approved industry or applied field. The paper is assessed on the basis of the work done.
    COMP373Computer Science Placement 318C (Hamilton)
    This paper requires a period of work experience in an appropriate and approved industry or applied field. The paper is assessed on the basis of the work done.
    COMP390Directed Study18A (Hamilton), 18B (Hamilton) & 18C (Hamilton)
    A directed study involving the design, implementation and testing of the solution to a hardware and/or software engineering problem and production of a formal report.
    COMPX304Advanced Networking and Cyber SecurityThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMPX305Finding Patterns in DataThis 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.
    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...
    COMPX374Software Engineering ProjectThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMPX375Information Systems Industry ProjectThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    DSIGN350Intern Project18A (Hamilton)
    This paper will induct the design student into the professional environment where the student applies two and three dimensional design skills, research methodology and production skills to allocated projects. The relationship between the student and the client is monitored and guided by a tutor who also supervises and guides the st...
  • 400 level

    Code Paper Title Occurrence / Location
    COMP401Topics in Operating Systems18A (Hamilton)
    One or more topics in operating systems implementation, at an advanced level.
    COMP402Cryptography18A (Hamilton)
    An introduction to cryptographic methods.
    COMP413Topics in Computer Networks18B (Hamilton)
    One or more special topics in computer networks, at an advanced level.
    COMP414Carrier and ISP Networks18A (Hamilton)
    This paper studies large scale networks as used for public internet infrastructure. It covers the technologies used to implement such networks in a practical manner.
    COMP418Cyber Security18A (Hamilton)
    This paper introduces the key topics in the important field of cyber security. It will cover a range of topics relating to defensive security (e.g. malware analysis, social engineering, intrusion detection and prevention), offensive security (e.g. pen testing, Web app security) and preventative security (e.g. cryptography, applied ...
    COMP421Machine Learning Algorithms18A (Hamilton)
    This paper covers machine learning algorithms such as the ones implemented in the WEKA machine learning workbench at a more advanced level, including techniques that deliver state-of-the-art predictive performance.
    COMP422Relational Data MiningThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP423Data Stream Mining18A (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.
    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.
    COMP427Cloud Computing Technologies and Security18B (Hamilton)
    This paper explores cloud computing's underlying enabling technologies (e.g. virtualisation) and business models. It also covers key research topics in cloud computing security, trust and data privacy.
    COMP432Information Visualisation18B (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.
    COMP435Image ProcessingThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP436Advanced Graphics and Computer Games18A (Hamilton)
    A lecture and laboratory-based paper on 3D graphics as applied in computer games. Topics will centre around shade programming and algorithms implemented in shaders.
    COMP437User Interfaces for Information RetrievalThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP438Topics in Human-Computer InteractionThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    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.
    COMP440Software Engineering Methodologies18B (Hamilton)
    This paper focuses on mondern software design and development methodologies, with emphasis on the 'lightweight' methods. The paper will also examine safety-critical aspects of software engineering, in particular how safety analysis fits into the software lifecycle.
    COMP442Web Search: Technical and Social Issues18A (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.
    COMP443Information Management18B (Hamilton)
    One or more special topics in knowledge and information management, at an advanced level.
    COMP448Developing Mobile Applications18A (Hamilton)
    This paper covers practical design and implementation of interactive applications for mobile devices such as smartphones and tablet computers.
    COMP450Location Based Systems as Context-aware Systems18A (Hamilton)
    This paper will introduce techniques of location-based and context-aware systems (such as GPS and personalisation). Participants will develop a location-based system and evaluate its qualities as an information system. The lecturer has extensive experience with research in location-based systems - course participants will get hands...
    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...
    COMP453Extremely Parallel Programming18A (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.
    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.
    COMP455Bioinformatics18B (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.
    COMP456Metaheuristic Algorithms18A (Hamilton)
    This paper explores common metaheuristic algorithms such as simulated annealing and genetic algorithms, and their application in areas such as finance, engineering and science.
    COMP460Turing Topics in Computer Science18C (Hamilton)
    One or more special topics in computer science, at an advanced level.
    COMP477Report of an Investigation18A (Hamilton) & 18B (Hamilton)
    A directed investigation and report on an approved project or study topic.
    ENEL417Mechatronics18A (Hamilton)
    This paper covers embedded micro-programming, feedback control, interface to electro-mechanical systems involving gears, motors, belt drives, actuators, and sensors: the enabling technologies of robotics. A series of projects require students to integrate software, control, mechanical and electromotive skills to achieve practical g...
  • Prescriptions for the GradCert(CompSc) and GradDip(CompSc)

    A Graduate Certificate and Graduate Diploma are available to graduates who have not included Computer Science at an advanced level in their first degree.

    For further details, contact the Faculty of Computing and Mathematical Sciences Office.

    Code Paper Title Occurrence / Location
    ENGG501Control Theory and Image Processing18A (Hamilton)
    This paper deals with PID feedback control of linear systems using classical as well as state space methods. It also deals with signal processing with special attention to image processing. It is highly computer and project based.
  • Prescriptions for the BCMS(Hons), PGCert(CompSc), PGDip(CompSc), BSc(Hons), MCS, MSc, MSc (Research) and MSc(Tech)

    Most 500 level papers correspond to papers taught at 400 level. Students attend the same lectures, but additional assessment may be prescribed for 500 level students. Students in masters degrees are normally required to take a thesis and a selection of papers. Enrolment in papers towards the BSc(Hons) is only by invitation of the Chairperson. Candidates for these graduate qualifications should select their papers in consultation with the Graduate Adviser of the Department of Computer Science.

    To complete a BSc(Hons) in Computer Science, students must complete 120 points at 500 level, including at least 60 points from the papers listed for Computer Science, of which at least 30 points must be in research (normally COMP591).

    The compulsory papers for the Master of Cyber Security degree are COMP518, COMP527, either COMP592 or COMP593, LAWS526, and one of COMP501, COMP513 or COMP514.

    Code Paper Title Occurrence / Location
    COMP501Topics in Operating Systems18A (Hamilton)
    One or more topics in operating systems implemented at an advanced level.
    COMP502Cryptography18A (Hamilton)
    An introduction to cryptographic methods.
    COMP513Topics in Computer Networks18B (Hamilton)
    One or more special topics in computer networks, at an advanced level.
    COMP514Carrier and ISP Networks18A (Hamilton)
    One or more special topics in computer communications, at an advanced level.
    COMP518Cyber Security18A (Hamilton)
    This paper introduces the key topics in the important field of cyber security. It will cover a range of topics relating to defensive security (e.g. malware analysis, social engineering, intrusion detection and prevention), offensive security (e.g. pen testing, Web app security) and preventative security (e.g. cryptography, applied ...
    COMP520Report of an Investigation18C (Hamilton), 18D (Hamilton) & 18Y (Hamilton)
    No description available.
    COMP521Machine Learning Algorithms18A (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.
    COMP522Relational Data MiningThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP523Data Stream Mining18A (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.
    COMP524Topics in Interaction DesignThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP526Engineering 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.
    COMP527Cloud Computing Technologies and Security18B (Hamilton)
    This paper explores cloud computing's underlying enabling technologies (e.g. virtualisation) and business models. It also covers key research topics in cloud computing security, trust and data privacy.
    COMP532Information Visualisation18B (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.
    COMP535Image ProcessingThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP536Advanced Graphics and Computer Games18A (Hamilton)
    A lecture and laboratory based paper on the use of 3D immersive computer game engines. Topics will include 3D modelling, texturing, lighting effects, use of pixel shaders, game physics, scripting of game play, and use of games engines for non-game program development.
    COMP537User Interfaces for Information RetrievalThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP538Topics in Human-Computer InteractionThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP539Usability Engineering18A (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.
    COMP540Software Engineering Methodologies18B (Hamilton)
    This paper focuses on modern software design and development methodologies, with emphasis on the 'lightweight' methods. The paper will also examine safety-critical aspects of software engineering, in particular how safety analysis fits into the software lifecycle.
    COMP542Web Search: Technical and Social Issues18A (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.
    COMP543Information Management18B (Hamilton)
    One or more special topics in computer science, at an advanced level.
    COMP548Developing Mobile Applications18A (Hamilton)
    This paper covers practical design and implementation of interactive applications for mobile devices such as smartphones and table computers.
    COMP550Location Based Systems as Context-aware Systems18A (Hamilton)
    This course will introduce techniques of location-based and context-aware systems (such as GPS and personalisation). Participants will develop a location-based system and evaluate its qualities as an information system. The lecturer has extended experience with research in location-based systems - course participants will get hands...
    COMP552Model 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...
    COMP553Extremely Parallel Programming18A (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.
    COMP554Specification Languages and Models18B (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.
    COMP555Bioinformatics18B (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.
    COMP556Metaheuristic Algorithms18A (Hamilton)
    This paper explores common metaheuristic algorithms such as simulated annealing and genetic algorithms, and their application in areas such as finance, engineering and science.
    COMP560Turing Topics in Computer Science18C (Hamilton)
    One or more special topics in computer science, at an advanced level.
    COMP575Programming for Research 118A (Hamilton) & 18B (Hamilton)
    A paper in programming techniques applicable to a range of research applications in Computer Science.
    COMP576Programming for Research 218A (Hamilton) & 18B (Hamilton)
    A paper where research programming techniques are applied to a specific (elective) field in Computer Science.
    COMP585Research in Computer Science 118A (Hamilton) & 18B (Hamilton)
    A paper about how to plan, conduct and report research in the field of computer science, in which students gain skills in and understanding of reading and critiquing research materials, planning research projects and developing research proposals, carrying out literature surveys, and writing research papers.
    COMP586Research in Computer Science 218A (Hamilton) & 18B (Hamilton)
    A paper that puts into practice core research skills to plan, conduct and report research in a specific (elective) field of computer science.
    COMP589Programming for ResearchThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP590Research in Computer ScienceThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP591Dissertation18C (Hamilton) & 18D (Hamilton)
    A report on the findings of a theoretical or empirical investigation.
    COMP592Dissertation18C (Hamilton)
    A report on the findings of a theoretical or empirical investigation.
    COMP593Computer Science Thesis18C (Hamilton)
    An externally examined piece of written work that reports on the findings of supervised research.
    COMP594Computer Science Thesis18C (Hamilton)
    An externally examined piece of written work that reports on the findings of supervised research.
    ENEL517Mechatronics18A (Hamilton)
    This paper covers the design of electromechanical systems combining sensors and actuators interfaced to microcontrollers for feedback control: the enabling technologies of robotics. A series of projects require students to integrate hardware and firmware to achieve specific practical goals.
  • Prescriptions for the PGCertInfoTech and MInfoTech

    Candidates enrolled in the PGCertInfoTech must complete 60 points from COMP568 and COMP569.

    Candidates enrolled in the 120 point MInfoTech must complete 60 points from FCMS596, 15 points from either COMP587 or MSYS559, and at least 45 points from the 500 level Computer Science or Geography papers listed below (excluding COMP568 and COMP569), or courses listed in the University of Auckland Master of Information Technology Schedule.

    Candidates enrolled in the 180 point MInfoTech must complete 60 points from FCMS596, 30 points from COMP587 and MSYS559, and at least 90 points from the 500 level Computer Science or Geography papers listed below (excluding COMP568 and COMP569), or courses listed in the University of Auckland Master of Information Technology Schedule.

    Code Paper Title Occurrence / Location
    COMP501Topics in Operating Systems18A (Hamilton)
    One or more topics in operating systems implemented at an advanced level.
    COMP502Cryptography18A (Hamilton)
    An introduction to cryptographic methods.
    COMP513Topics in Computer Networks18B (Hamilton)
    One or more special topics in computer networks, at an advanced level.
    COMP514Carrier and ISP Networks18A (Hamilton)
    One or more special topics in computer communications, at an advanced level.
    COMP518Cyber Security18A (Hamilton)
    This paper introduces the key topics in the important field of cyber security. It will cover a range of topics relating to defensive security (e.g. malware analysis, social engineering, intrusion detection and prevention), offensive security (e.g. pen testing, Web app security) and preventative security (e.g. cryptography, applied ...
    COMP521Machine Learning Algorithms18A (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.
    COMP522Relational Data MiningThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP523Data Stream Mining18A (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.
    COMP524Topics in Interaction DesignThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP526Engineering 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.
    COMP527Cloud Computing Technologies and Security18B (Hamilton)
    This paper explores cloud computing's underlying enabling technologies (e.g. virtualisation) and business models. It also covers key research topics in cloud computing security, trust and data privacy.
    COMP532Information Visualisation18B (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.
    COMP535Image ProcessingThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP536Advanced Graphics and Computer Games18A (Hamilton)
    A lecture and laboratory based paper on the use of 3D immersive computer game engines. Topics will include 3D modelling, texturing, lighting effects, use of pixel shaders, game physics, scripting of game play, and use of games engines for non-game program development.
    COMP537User Interfaces for Information RetrievalThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP538Topics in Human-Computer InteractionThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
    COMP539Usability Engineering18A (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.
    COMP540Software Engineering Methodologies18B (Hamilton)
    This paper focuses on modern software design and development methodologies, with emphasis on the 'lightweight' methods. The paper will also examine safety-critical aspects of software engineering, in particular how safety analysis fits into the software lifecycle.
    COMP542Web Search: Technical and Social Issues18A (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.
    COMP543Information Management18B (Hamilton)
    One or more special topics in computer science, at an advanced level.
    COMP548Developing Mobile Applications18A (Hamilton)
    This paper covers practical design and implementation of interactive applications for mobile devices such as smartphones and table computers.
    COMP550Location Based Systems as Context-aware Systems18A (Hamilton)
    This course will introduce techniques of location-based and context-aware systems (such as GPS and personalisation). Participants will develop a location-based system and evaluate its qualities as an information system. The lecturer has extended experience with research in location-based systems - course participants will get hands...
    COMP552Model 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...
    COMP553Extremely Parallel Programming18A (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.
    COMP554Specification Languages and Models18B (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.
    COMP555Bioinformatics18B (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.
    COMP556Metaheuristic Algorithms18A (Hamilton)
    This paper explores common metaheuristic algorithms such as simulated annealing and genetic algorithms, and their application in areas such as finance, engineering and science.
    COMP560Turing Topics in Computer Science18C (Hamilton)
    One or more special topics in computer science, at an advanced level.
    COMP568Programming for Industry18A (Hamilton) & 18C (Hamilton)
    An examination of object-oriented programming and design. Key principles of object-oriented programming: typing, encapsulation, inheritance, polymorphism and composition. Fundamental object-oriented modelling and design techniques. Students will develop application software of reasonable complexity that draws on object-oriented lan...
    COMP569Programming with Web Technologies18A (Hamilton) & 18C (Hamilton)
    An examination of developing web-based applications. Client-side technologies: HTML, CSS and Javascript. Server-side technologies to support dynamic Web pages and data access. Fundamental relational database concepts and design techniques. Principles of Web-application design. HCI considerations and mobile clients.
    COMP587Information Technology Communication for Industry18A (Hamilton)
    A paper about developing the communication skills necessary for a person working in the ICT industry. Students will gain skills in reading and critiquing technical reports, planning industry projects, developing a proposal, carrying out literature surveys, and giving presentations.
    CSMAX570Preparing for the ICT Internship18A (Hamilton) & 18B (Hamilton)
    This paper will enable learners to develop the key soft and transferable skills and competencies important to be work-ready and prepared for the internship component of the Master of Information Technology (MInfoTech) programme at FCMS. These skills and competencies will be primarily developed through a software development projec...
    FCMS596Computer Science Internship18A (Block), 18B (Block) & 18C (Block)
    This internship enables the development of practical knowledge and hands-on experience through a supervised internship in the IT industry.
    GEOG538Automated Spatial Analysis using Geographic Information Systems18A (Hamilton)
    Automated techniques are the most practical method for the spatial analysis of large data sets. In this paper, students are introduced to program scripts for automated GIS analysis, which is extremely powerful compared to the 'point and click' environment, and is an area of expertise expected of GIS experts. An important part of th...
    GEOG548Advanced Geographic Information Systems Modelling18B (Hamilton)
    This paper provides a close examination of contemporary GIS modelling. GIS is used for a range of applications and in this paper students gain practical experience and understanding of many of these. Students are given the opportunity to develop GIS models in their choice of application.
    GEOG558Applied Geographic Information Systems for Research and Planning18A (Hamilton) & 18B (Hamilton)
    This paper is designed as an introduction to GIS for graduate students. Students learn about the use of GIS for spatial analysis and cartographic visualisation. Students gain 'hand on' experience with GIS laboratory exercises and undertake a graduate-level GIS project in an application of their choice.
    GEOG568Applications of Geographic Information Systems18A (Hamilton)
    Students work with three application areas: mobile GIS, point data analysis working towards location-based services and the analysis of areal data (such as satellite imagery or population data from Census sources) and their representation.
    RPLC570Professional Learning in an ICT SettingThis paper will not be taught in 2018.
    This paper will not be taught in 2018.
  • Prescriptions for the MPhil

    The Master of Philosophy is a one year research-based degree in which students undertake a programme of approved and supervised research that leads to a thesis which critically investigates an approved topic of substance and significance, demonstrates expertise in the methods of research and scholarship, displays intellectual independence and makes a substantial original contribution to the subject area concerned, and is of publishable quality.

    Code Paper Title Occurrence / Location
    COMP800Computer Science MPhil Thesis18C (Hamilton)
    No description available.
  • Prescriptions for the PhD

    The Doctor of Philosophy is a three year research-based degree in which students undertake a programme of approved and supervised research that leads to a thesis which critically investigates an approved topic of substance and significance, demonstrates expertise in the methods of research and scholarship, displays intellectual independence and makes a substantial original contribution to the subject area concerned, and is of publishable quality.

    Code Paper Title Occurrence / Location
    COMP900Computer Science PhD Thesis18C (Hamilton) & 18C (Tauranga)
    No description available.
    COMP901Computer Science Creative Practice PhD Thesis18C (Hamilton)
    No description available.

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

This page has been reformatted for printing.