Search Course Outline
Showing 25 course outlines from 794 matches
126
COMPSCI 130
: Introduction to Software Fundamentals2025 Semester One (1253)
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
127
COMPSCI 130
: Introduction to Software Fundamentals2025 Summer School (1250)
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
128
COMPSCI 210
: Computer Organisation2025 Semester Two (1255)
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
129
COMPSCI 210
: Computer Organisation2025 Semester One (1253)
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
130
COMPSCI 215
: Data Communications and Security2025 Semester One (1253)
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
131
COMPSCI 220
: Algorithms and Data Structures2025 Semester Two (1255)
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
Restriction: COMPSCI 717, SOFTENG 284
132
COMPSCI 220
: Algorithms and Data Structures2025 Semester One (1253)
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
Restriction: COMPSCI 717, SOFTENG 284
133
COMPSCI 225
: Discrete Structures in Mathematics and Computer Science2025 Semester Two (1255)
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
Restriction: MATHS 254, SOFTENG 282
134
COMPSCI 225
: Discrete Structures in Mathematics and Computer Science2025 Semester One (1253)
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
Restriction: MATHS 254, SOFTENG 282
135
COMPSCI 230
: Object Oriented Software Development2025 Semester Two (1255)
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
Restriction: SOFTENG 281
136
COMPSCI 230
: Object Oriented Software Development2025 Semester One (1253)
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
Restriction: SOFTENG 281
137
COMPSCI 235
: Software Development Methodologies2025 Semester Two (1255)
An introduction to software development, including processes, best practices, tools and quality assurance techniques such as testing.
Prerequisite: COMPSCI 130
Restriction: COMPSCI 280
Restriction: COMPSCI 280
138
COMPSCI 313
: Computer Architecture2025 Semester Two (1255)
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
Restriction: SOFTENG 363, COMPSYS 304
139
COMPSCI 315
: Data Communications Technologies2025 Semester Two (1255)
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
Restriction: COMPSCI 314
140
COMPSCI 316
: Cyber Security2025 Semester Two (1255)
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
141
COMPSCI 320
: Applied Algorithmics2025 Semester Two (1255)
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
142
COMPSCI 331
: Large-Scale Software Development2025 Semester One (1253)
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
Restriction: SOFTENG 325
143
COMPSCI 335
: Web Programming and Distributed Services2025 Semester Two (1255)
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 Science, or SOFTENG 281
144
COMPSCI 340
: Operating Systems2025 Semester Two (1255)
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
Restriction: SOFTENG 370
145
COMPSCI 350
: Mathematical Foundations of Computer Science2025 Semester One (1253)
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
146
COMPSCI 351
: Fundamentals of Database Systems2025 Semester One (1253)
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
Restriction: COMPSCI 751, SOFTENG 351
147
COMPSCI 361
: Machine Learning2025 Semester One (1253)
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
Restriction: COMPSCI 762
148
COMPSCI 367
: Artificial Intelligence2025 Semester Two (1255)
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
Restriction: COMPSCI 761
149
COMPSCI 369
: Computational Methods in Interdisciplinary Science2025 Semester One (1253)
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 or SOFTENG 284, and COMPSCI 225 or MATHS 254
150
COMPSCI 373
: Computer Graphics and Image Processing2025 Semester One (1253)
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
Restriction: COMPSCI 771