COMPSCI (Computer Science)

← Back to all subjects

Stage I

COMPSCI 101 - Principles of Programming (15 pts)🏳

A practical introduction to computers and computer programming in a high-level language. The course is lab-based and focuses on reading and writing computer programs. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management.

Restriction: Cannot be taken with or after COMPSCI 105, 107, 130, 210-220, 230-289, 313-399

COMPSCI 110 - Introduction to Computer Systems (15 pts)🏳

An introduction to the various layers that make up a modern computer system: encoding of data and instructions, hardware, low-level programming, operating systems, applications and communications.

Restriction: Cannot be taken with or after COMPSCI 210

COMPSCI 111 - An Introduction to Practical Computing (15 pts)🏳

A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the internet as a communication medium, applying programming concepts, and social implications of technology.

COMPSCI 120 - Mathematics for Computer Science (15 pts)🏳

Basic mathematical tools and methods needed for computer science are introduced. Elementary mathematical skills for defining, analysing and reasoning with abstract objects used in programming are developed. Topics include integers and rational numbers, strings and sets, methods of proof (including induction), algorithms and functions, and elementary introductions to graphs, trees, counting and probability.

Prerequisite: MATHS 102 or at least 13 credits in Mathematics at NCEA Level 3 or D in CIE A2 Mathematics or C in CIE AS Mathematics or 3 out of 7 in IB Mathematics

Restriction: Cannot be taken with, or after, COMPSCI 225, MATHS 254

COMPSCI 130 - Introduction to Software Fundamentals (15 pts)🏳

Fundamental programming techniques and processes, such as conditionals, iteration, recursion, functions, testing and debugging. Efficient ways to organise and manipulate data, including sorting and searching algorithms. Writing software that uses and implements common abstract data types such as lists, stacks, queues, dictionaries and trees.

Prerequisite: COMPSCI 101, or B+ or higher in ENGGEN 131, or Achievement Standard NCEA Level 3 Digital Technologies and Programming: 91906 Use complex programming techniques to develop a computer program, or 91637 Develop a complex computer program for a specified task

Restriction: COMPSCI 105, 107

Stage II

COMPSCI 210 - Computer Organisation (15 pts)🏳

The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly and disassembly of instructions. Assembly language programming. How a high-level language is implemented at the machine level. The memory subsystem. Hardware support necessary to implement a secure multi-user operating system.

Prerequisite: COMPSCI 110, 130

COMPSCI 215 - Data Communications and Security (15 pts)🏳

An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement the application layer. An introduction to secure communication and computer systems.

Prerequisite: COMPSCI 110, 130, PHYSICS 140

COMPSCI 220 - Algorithms and Data Structures (15 pts)🏳

An introduction to the analysis of algorithms and data structures. Common abstract data types and their implementations. Asymptotic complexity analysis. Sorting and searching algorithms. Depth-first and breadth-first search and applications. Graph optimisation problems.

Prerequisite: COMPSCI 120, 130

Restriction: COMPSCI 717, SOFTENG 284

COMPSCI 225 - Discrete Structures in Mathematics and Computer (15 pts)🏳

Science An introduction to the foundations of computer science, mathematics and logic. Topics include logic, principles of counting, mathematical induction, recursion, sets and functions, graphs, codes, and finite automata.

Prerequisite: COMPSCI 120 or MATHS 120

Restriction: MATHS 254, SOFTENG 282

COMPSCI 230 - Object Oriented Software Development (15 pts)🏳

The design and implementation of object-oriented programmes. Analysis and design. Modelling with UML. Design for reuse, for testing, and for ease of change. Programming with classes, objects and polymorphism.

Prerequisite: COMPSCI 130

Restriction: SOFTENG 281

COMPSCI 235 - Software Development Methodologies (15 pts)🏳

An introduction to software development, including processes, best practices, tools and quality assurance techniques such as testing.

Prerequisite: COMPSCI 130

Restriction: COMPSCI 280

COMPSCI 289 - Research Seminar in Computer Science (15 pts)🏳

An introduction to research topics in computer science. Students will be expected to prepare and deliver a review of research in a topic of their choice. Research articles will be provided during the course, and will consist of key scientific publications.

Prerequisite: Minimum GPA of 5.0 and COMPSCI 110, 120, 130

COMPSCI 290 - Special Topic (15 pts)🏳

Stage III

COMPSCI 313 - Computer Architecture (15 pts)🏳

Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing.

Prerequisite: COMPSCI 210, PHYSICS 140

Restriction: SOFTENG 363, COMPSYS 304

COMPSCI 315 - Data Communications Technologies (15 pts)🏳

The structure of data communications and networks, including the internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internet working, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing.

Prerequisite: COMPSCI 210, 215

Restriction: COMPSCI 314

COMPSCI 316 - Cyber Security (15 pts)🏳

Introduces various concepts related to software, system and network security. Covers a range of topics including attacks on privacy and attack surface, static and dynamic analysis of malware, hardware security (trusted computing base, secure boot, and attestation), network security and some hot topics in cryptography including elliptic curve, blockchain and bitcoin.

Prerequisite: COMPSCI 210, 215 or COMPSYS 201

COMPSCI 320 - Applied Algorithmics (15 pts)🏳

Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed.

Prerequisite: COMPSCI 220, and COMPSCI 225 or MATHS 254

COMPSCI 331 - Large-Scale Software Development (15 pts)🏳

Students will understand how to develop large-scale software systems, and learn about the issues associated with large-scale software systems and techniques for addressing them.

Prerequisite: COMPSCI 230, 235

Restriction: SOFTENG 325

COMPSCI 335 - Web Programming and Distributed Services (15 pts)🏳

Covers web programming concepts, with applications to data integration from heterogeneous and asynchronous collections. Building web and cloud clients and services, with emphasis on high-level declarative and functional techniques. Dynamic web applications. Security and performance as overarching factors of web application development.

Prerequisite: COMPSCI 230 and 15 points at Stage II in Computer

COMPSCI 340 - Operating Systems (15 pts)🏳

Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems.

Prerequisite: COMPSCI 210, 230

Restriction: SOFTENG 370

COMPSCI 345 - Human-computer Interaction (15 pts)🏳

Human behaviour and humans' expectations of computers. Computer interfaces and the interaction between humans and computers. The significance of the user interface, interface design and user centred design process in software development. Interface usability evaluation methodologies and practice. Includes a group development and evaluation project using current implementation techniques and tools.

Prerequisite: COMPSCI 230 or SOFTENG 206

Restriction: SOFTENG 350

COMPSCI 350 - Mathematical Foundations of Computer Science (15 pts)🏳

The aim of this course is to present mathematical models for programming languages and computation, and derive some theorems regarding what can and cannot be computed. Abstract programming languages (finite automata, context- free grammars, Turing and register machines) are studied. Basic concepts for programming languages, limits on computational power and algorithmic complexity are presented. Church-Turing thesis and quantum computing are briefly and critically discussed.

Prerequisite: COMPSCI 220 or PHIL 222, and COMPSCI 225 or MATHS 254

COMPSCI 351 - Fundamentals of Database Systems (15 pts)🏳

Database principles. Relational model, Relational Algebra, Relational Calculus, SQL, SQL and Programming Languages, Entity Relationship Model, Normalisation, Query Processing and Query Optimisation, ACID Transactions, Transaction Isolation Levels, Database Recovery, Database Security, Databases and XML.

Prerequisite: COMPSCI 220, and COMPSCI 225 or MATHS 254

Restriction: COMPSCI 751, SOFTENG 351

COMPSCI 361 - Machine Learning (15 pts)🏳

Machine learning is a branch of artificial intelligence concerned with making accurate, interpretable, computationally efficient, and robust inferences from data to solve a given problem. Understand the foundations of machine learning, and introduce practical skills to solve different problems.

Prerequisite: COMPSCI 220, and 15 points from DATASCI 100, STATS 101, 108, and 15 points from COMPSCI 225, MATHS 254, 255

Restriction: COMPSCI 762

COMPSCI 367 - Artificial Intelligence (15 pts)🏳

Covers algorithms and representational schemes used in artificial intelligence. AI search techniques (e.g., heuristic search, constraint satisfaction, etc.) for solving both optimal and satisficing tasks. Tasks such as game playing (adversarial search), planning, and natural language processing. Discusses and examines the history and future of AI and the ethics surrounding the use of AI in society.

Prerequisite: COMPSCI 220 and COMPSCI 225 or MATHS 254, or SOFTENG 282 and 284

Restriction: COMPSCI 761

COMPSCI 369 - Computational Methods in Interdisciplinary Science (15 pts)🏳

Many sciences use computational methods that involve the development and application of computer algorithms and software to answer scientific questions. This course looks at how to tackle these interdisciplinary problems through methods like probabilistic computer modelling, computer-based statistical inference, and computer simulations. The material is largely motivated by the life sciences but also uses examples from other sciences. It focuses on modelling and analysing real-world data with an emphasis on analysing DNA sequence data. No background in physical or life sciences is assumed.

Prerequisite: COMPSCI 220, and COMPSCI 225 or MATHS 254

COMPSCI 373 - Computer Graphics and Image Processing (15 pts)🏳

Basic geometric processes including transformations; viewing and projection; back projection and ray tracing. Graphics modelling concepts: primitives, surfaces, and scene graphs, lighting and shading, texture mapping, and curve and surface design. Graphics and image processing fundamentals: image definition and representation, perception and colour models, grey level and colour enhancement, neighbourhood operations and filtering. Use of the OpenGL graphics pipeline.

Prerequisite: COMPSCI 210, 230, or COMPSYS 201 and SOFTENG 281

Restriction: COMPSCI 771

COMPSCI 380 - (15 pts)🏳

COMPSCI 380A - (7.5 pts)🏳

COMPSCI 380B - Project in Computer Science (7.5 pts)🏳

Each student taking one of these courses will be expected to do an individual practical project under the supervision of a member of staff. Only students with excellent academic records will be allowed to take these courses, and only after a supervisor and topic have been agreed upon by the Head of Department.

Prerequisite: Approval of Academic Head or nominee

Restriction: COMPSCI 690

and B, or COMPSCI 380

COMPSCI 389 - Research Methods in Computer Science (15 pts)🏳

An overview of research methods and techniques used across the discipline of Computer Science, including formal proof techniques and empirical methods that involve quantitative and/or qualitative data. Students will be expected to apply the research methods in a collaborative research project.

Prerequisite: GPA of 5.0 or higher and COMPSCI 289 and 30 points at Stage II in Computer Science

COMPSCI 390 - Special Topic (15 pts)🏳

COMPSCI 391 - Special Topic (15 pts)🏳

COMPSCI 392 - Special Topic (15 pts)🏳

COMPSCI 393 - Special Topic (15 pts)🏳

COMPSCI 399 - Capstone: Computer Science (15 pts)🏳

Students work in small groups to complete a substantial problem applying the knowledge learnt from the different courses in the Computer Science major. Teams are expected to reason on a problem, devise a solution, produce an artefact and present their work. The capstone provides an opportunity for students to further develop their technical and communication skills.

Prerequisite: 30 points at Stage III in Computer Science and COMPSCI 210, 220, 230

Diploma Courses

COMPSCI 601 - Special Topic (15 pts)🏳

Prerequisite: Approval of the Academic Head or nominee

COMPSCI 690A - (15 pts)🏳

COMPSCI 690B - Graduate Diploma Research Project (15 pts)🏳

Restriction: COMPSCI 380

A and B

COMPSCI 691A - (15 pts)🏳

COMPSCI 691B - Postgraduate Diploma Research Project (15 pts)🏳

Restriction: COMPSCI 780

A and B

Postgraduate 700 Level Courses

COMPSCI 700 - Special Topic (15 pts)🏳

COMPSCI 701 - Creating Maintainable Software (15 pts)🏳

Developing maintainable software has been an ongoing challenge in the software industry. This course presents the principles and practices that have been proposed for developing maintainable software systems. It will evaluate and critique these principles and practices through examining their application in practice and through understanding the research on their effectiveness.

Recommended preparation: COMPSCI 331 or 718

COMPSCI 702 - Security for Smart-devices (15 pts)🏳

Covers security features supported by the different platforms for smart devices. Provides an overview of the most popular OS platforms in the market and focuses on security for Android and iOS. Recommended preparation: COMPSCI 340

COMPSCI 703 - Generalising Artificial Intelligence (15 pts)🏳

AI deep learning has significantly advanced image understanding, language modelling, speech recognition, game playing, and more. These developments enable near-human capabilities in text and image generation. Explores highly specialised knowledge in planning, reasoning, explanation, natural language understanding, and knowledge acquisition, and assess their contribution to highly competent, general AI systems. Includes a significant individual research project.

Prerequisite: 15 points from COMPSCI 361, 367, 761, 762, or COMPSCI 713 and 714

COMPSCI 704 - Fundamentals in Human-Computer Interaction (15 pts)🏳

Human behaviour and humans’ expectations of interaction. Computer interfaces and the interaction between humans and computers. The significance of the user interface, interface design and user centred design process in system development. Interface usability evaluation methodologies and practice. Includes processes of evaluation, design, and implementation using current techniques and tools.

Restriction: COMPSCI 345, SOFTENG 350

COMPSCI 705 - Advanced Topics in Human Computer Interaction (15 pts)🏳

Human aspects of computer systems, relevant to commercial solution development and computer science research. Sample topics: advanced evaluation methods; support of pen and touch-based interaction; trends with domain specific user interface design, such as interfaces for enterprise systems.

Prerequisite: COMPSCI 345 or 704 or SOFTENG 350

Restriction: SOFTENG 702

COMPSCI 706 - Special Topic (15 pts)🏳

Prerequisite: Approval of the Academic Head or nominee

COMPSCI 707 - Special Topic (15 pts)🏳

Prerequisite: Approval of the Academic Head or nominee

COMPSCI 710 - Directed Study (15 pts)🏳

Prerequisite: Approval of the Academic Head or nominee

COMPSCI 711 - Parallel and Distributed Computing (15 pts)🏳

Computer architectures and languages for exploring parallelism, conceptual models of parallelism, principles for programming in a parallel environment, different models to achieve interprocess communication, concurrency control, distributed algorithms and fault tolerance. Recommended preparation: COMPSCI 320 or 335

COMPSCI 712 - AI Agency, Ethics and Society (15 pts)🏳

Introduces students to a range of philosophical and normative topics relating to artificial intelligence. Examines key ideas of intelligence, privacy, consent, and discusses other ethical issues that arise in the development and use of AI. The importance of Māori rights and interests in AI and data are explored. Possible approaches to addressing these various concerns are considered.

COMPSCI 713 - AI Fundamentals (15 pts)🏳

Examines the core concepts and techniques in AI, including breakthroughs in symbolic AI, machine learning, and neural networks. Real-world applications are presented, with a focus on AI research in Aotearoa/NZ and ethical considerations. The course is designed to be accessible to students with limited programming experience.

COMPSCI 714 - AI Architecture and Design (15 pts)🏳

Equips students with the ability to develop AI applications by introducing well-established AI frameworks and using web-based interactive computing platforms. Students will acquire the skills to implement simple AI techniques using these frameworks and evaluate their performance. Introduces basic practical technologies to investigate artificial intelligence techniques.

COMPSCI 715 - Advanced Computer Graphics (15 pts)🏳

An advanced look at current research issues in computer graphics. Typical topics include: ray-tracing acceleration methods; radiosity; subdivision surfaces; physically-based modelling; animation; image-based lighting and rendering; non-photorealistic rendering; advanced texturing.

Prerequisite: Approval of the Academic Head or nominee

Recommended preparation: COMPSCI 373

COMPSCI 717 - Fundamentals of Algorithmics (30 pts)🏳

Fundamental techniques are covered for the design of algorithms such as greedy algorithms, divide-and-conquer, and dynamic programming. Data structures are explored that help implement algorithms. Essential tools are taught for analysing algorithms, for example worst- and average-case analyses of space and time. Recommended preparation: COMPSCI 120, 130

Restriction: COMPSCI 220, 320, SOFTENG 250, 284

COMPSCI 718 - Programming for Industry (30 pts)🏳

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 language features, and contemporary APIs, frameworks and tools.

COMPSCI 719 - Programming with Web Technologies (30 pts)🏳

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. Students will build a Web-based application that dynamically generates content involving relational database access.

COMPSCI 720 - Advanced Design and Analysis of Algorithms (15 pts)🏳

Selected advanced topics in design and analysis of algorithms, such as: combinatorial enumeration algorithms; advanced graph algorithms; analytic and probabilistic methods in the analysis of algorithms; randomised algorithms; methods for attacking NP-hard problems.

Recommended preparation: COMPSCI 320

COMPSCI 721 - Randomised Algorithms and Probabilistic Methods (15 pts)🏳

Randomised algorithms are algorithms that β€œflip coins” to make decisions. In many cases, such algorithms are faster, simpler, or more elegant than the classical, deterministic ones. Covers basic principles and techniques used to design and analyse randomised algorithms, and applications of randomised methods in mathematics and computer science. Recommended preparation: STATS 125, COMPSCI 225 or MATHS 254, COMPSCI 320

COMPSCI 725 - Usable Security and Privacy Engineering (15 pts)🏳

The human aspect of cyber security and privacy engineering is relevant to commercial solution development and cyber security and privacy research. Sample topics: secure systems design; usable security systems evaluation; privacy-preserving software systems; threat modelling; economics of usable security and privacy; OWASP Top 10 vulnerabilities. Recommended preparation: 30 points from COMPSCI 313, 314, 320, 335, 340, 351, 702, 734, 742

COMPSCI 726 - Network Defence and Countermeasures (15 pts)🏳

Focuses on the use and deployment of protective systems used in securing internal and external networks. Examines in detail the widely used protocols including SSL, IPSec, DNSSEC as well as covers infrastructure platform protocols including wireless security (IEEE 802.11). Explores current research and developments in the area of network defence and countermeasures. Recommended preparation: COMPSCI 314, 315

COMPSCI 727 - Cryptographic Management - Level 9 (15 pts)🏳

Builds on best practices, and compliance standards to establish an advanced understanding of modern cryptographic systems used in securing communications and data storage. Advanced knowledge in modern cryptography management issues such as algorithm selection, generation, distribution, and revocation of encryption keys are applied through a research-based report and a group project. Recommended preparation: COMPSCI 210 or MATHS 120

COMPSCI 732 - Software Tools and Techniques (15 pts)🏳

An advanced course examining research issues related to tools and techniques for software design and development. Topics include: techniques for data mapping and data integration, software architectures for developing software tools, issues in advanced database systems. Recommended preparation: COMPSCI 331 or SOFTENG 325 or COMPSCI 718 and 719

Restriction: SOFTENG 750

COMPSCI 734 - Web, Mobile and Enterprise Computing (15 pts)🏳

Examines advanced and emerging software architectures at the confluence of XML, web services, distributed systems, and databases. Includes advanced topics in areas such as: mobile computing, remoting, web services for enterprise integration, workflow orchestrations for the enterprise, peer-to-peer computing, grid computing. Recommended preparation: COMPSCI 335 or 718

COMPSCI 742 - Advanced Internet: Global Data Communications (15 pts)🏳

The course covers wide area networks, global routing, network and protocol performance, buffering and queuing, advanced network measurement, network application performance, content networks, and advanced networking concepts. Recommended preparation: COMPSCI 314 or 315

COMPSCI 747 - Computing Education (15 pts)🏳

An overview of topics related to the use of technology in education and how people learn computer science concepts. Topics include research methodologies used in computer science education, how novices learn to program, and how technology can engage students in active learning, facilitate collaboration and enhance traditional educational practice. Recommended preparation: 30 points at Stage III

COMPSCI 750 - Computational Complexity (15 pts)🏳

Definitions of computational models and complexity classes: time complexity (e.g., P and NP), space complexity (e.g., L and PSPACE), circuit and parallel complexity (NC), polynomial-time hierarchy (PH), interactive complexity (IP), probabilistic complexity (BPP), and fixed-parameter complexity. Recommended preparation: COMPSCI 320 or 350

COMPSCI 751 - Advanced Topics in Database Systems (15 pts)🏳

Database principles. Relational model, relational algebra, relational calculus, SQL, SQL and programming languages, entity-relationship model, normalisation, query processing and query optimisation, ACID transactions, transaction isolation levels, database recovery, database security, databases and XML. Research frontiers in database systems. Recommended preparation: COMPSCI 220, 225 or COMPSCI 718

Restriction: COMPSCI 351, SOFTENG 351

COMPSCI 752 - Big Data Management (15 pts)🏳

The deep diversity of modern-day data from many companies requires data scientists to master many technologies that rely on new principles to represent, describe, access, and analyse data. The course will provide insight into the rich landscape of big data modelling, management, and analysis in distributed and heterogeneous environments. Recommended preparation: COMPSCI 220, 351

COMPSCI 753 - Algorithms for Massive Data (15 pts)🏳

Modern enterprises and applications such as electronic commerce, social networks, location services, and scientific databases are generating data on a massive scale. Analysis of such data must be carried out by scalable algorithms. This course exposes data science practitioners and researchers to various advanced algorithms for processing and mining massive data, and explores best-practices and state-of-the-art developments in big data. Recommended preparation: COMPSCI 320

COMPSCI 760 - Advanced Topics in Machine Learning (15 pts)🏳

An overview of the learning problem and the view of learning by search. Covers advanced techniques for learning such as: decision tree learning, rule learning, exhaustive learning, Bayesian learning, genetic algorithms, reinforcement learning, neural networks, explanation- based learning and inductive logic programming. Advanced experimental methods necessary for understanding machine learning research.

Prerequisite: COMPSCI 361 or 762

COMPSCI 761 - Advanced Topics in Artificial Intelligence (15 pts)🏳

Examines the cornerstones of AI: representation, utilisation, and acquisition of knowledge. Taking a real-world problem and representing it in a computer so that the computer can do inference. Utilising this knowledge and acquiring new knowledge is done by search which is the main technique behind planning and machine learning. Research frontiers in artificial intelligence.

Prerequisite: COMPSCI 220 and 225, or COMPSCI 220 and MATHS 254, or COMPSCI 713 and 714, or COMPSCI 718

Restriction: COMPSCI 367

COMPSCI 762 - Foundations of Machine Learning (15 pts)🏳

Machine learning is a branch of artificial intelligence concerned with making accurate, interpretable, computationally efficient, and robust inferences from data to solve a given problem. Students will be introduced to the foundations of machine learning and will gain practical skills to solve different problems. Students will explore research frontiers in machine learning.

Prerequisite: COMPSCI 713 and 714, or COMPSCI 718, or 15 points from DATASCI 100, STATS 101, 108 and COMPSCI 220 or 717 and COMPSCI 225 or MATHS 254

Restriction: COMPSCI 361

COMPSCI 764 - Deep Learning - Level 9 (15 pts)🏳

Critically analyses the fundamentals of deep neural networks alongside current state-of-the-art advancements in this field. Students will acquire specialised knowledge in state-of-the-art deep learning architectures and gain the ability to apply deep learning in various fields, including natural language processing and computer vision. Includes a significant individual research project.

Prerequisite: COMPSCI 361 or 762, or COMPSCI 713 and 714

COMPSCI 765 - Modelling Minds (15 pts)🏳

How can researchers of artificial intelligence effectively model subjective aspects of minds, such as emotional states, desires, perceptual experience and intrinsic goals? This course draws upon interdisciplinary methods and considers classic and emerging approaches to try to answer this question. Recommended preparation: COMPSCI 367

COMPSCI 767 - Intelligent Software Agents (15 pts)🏳

An introduction to the design, implementation and use of intelligent software agents (e.g., knowbots, softbots etc). Reviews standard artificial intelligence problem- solving paradigms (e.g., planning and expert systems) and knowledge representation formalisms (e.g., logic and semantic nets). Surveys agent architectures and multi- agent frameworks.

Prerequisite: COMPSCI 367 or 761, or COMPSCI 713 and 714

COMPSCI 769 - Natural Language Processing - Level 9 (15 pts)🏳

Examines the progress in enabling AI systems to use natural language for communication and knowledge storage. Explores knowledge formalisation, storage, multiple knowledge systems, theory formation, and the roles and risks of belief, explanation, and argumentation in AI. Includes a significant individual research project.

Prerequisite: COMPSCI 361 or 762, or COMPSCI 713 and 714

COMPSCI 771 - Advanced Topics in Computer Graphics and Image (15 pts)🏳

Processing Basic geometric processes including transformations; viewing and projection; back projection and ray tracing. Graphics modelling concepts: primitives, surfaces, and scene graphs, lighting and shading, texture mapping, and curve and surface design. Graphics and image processing fundamentals: image definition and representation, perception and colour models, grey level and colour enhancement, neighbourhood operations and filtering. Use of the OpenGL graphics pipeline. Research frontiers in computer graphics and image processing. Recommended preparation: COMPSCI 210, 230

Restriction: COMPSCI 373

COMPSCI 773 - Intelligent Vision Systems (15 pts)🏳

Computational methods and techniques for computer vision are applied to real-world problems such as 2/3D face biometrics, autonomous navigation, and vision-guided robotics based on 3D scene description. A particular feature of the course work is the emphasis on complete system design. Recommended preparation: COMPSCI 373 and 15 points at Stage II in Mathematics

COMPSCI 778 - Internship - Level 9 (60 pts)🏳

Enables the development of practical knowledge and hands-on experience through a supervised internship in the IT industry. Students complete a research-informed project, and present both written and oral reports of their findings.

COMPSCI 779 - (30 pts)🏳

COMPSCI 779A - (15 pts)🏳

COMPSCI 779B - Internship - Level 9 (15 pts)🏳

Enables students to gain workplace experience, the development of practical knowledge, and hands-on experience on research-informed AI projects through a supervised internship with an external organisation. At the end of the internship, students are expected to present both written and oral reports of their findings.

Prerequisite: Academic Head or nominee approval

and B, or COMPSCI 779

COMPSCI 780 - (15 pts)🏳

COMPSCI 780A - (7.5 pts)🏳

COMPSCI 780B - Postgraduate Project in Computer Science 1 (7.5 pts)🏳

Prerequisite: Approval of Academic Head or nominee

Restriction: COMPSCI 691

and B, or COMPSCI 780

COMPSCI 789A - (15 pts)🏳

COMPSCI 789B - Honours Research Project - Level 9 (15 pts)🏳

Prerequisite: Approval of Academic Head or nominee

A and B

COMPSCI 791 - (30 pts)🏳

COMPSCI 791A - (15 pts)🏳

COMPSCI 791B - Research Project - Level 9 (15 pts)🏳

and B, or COMPSCI 791

COMPSCI 792 - (30 pts)🏳

COMPSCI 792A - (15 pts)🏳

COMPSCI 792B - Research Project - Level 9 (15 pts)🏳

Prerequisite: Academic Head or nominee approval

and B, or COMPSCI 792

COMPSCI 796A - (60 pts)🏳

COMPSCI 796B - MSc Thesis in Computer Science - Level 9 (60 pts)🏳

A and B Data Science