100-level

COSC101
Working in a Digital World
Description
This course provides students with an understanding of how the digital world is engineered, and exposes them to a range of tools commonly used by knowledge workers. Students will learn to critically evaluate systems from both a technical and human point of view.
Occurrences
Semester One 2026
Points
15 points
Restrictions
COSC110, DIGI101

COSC121
Introduction to Computer Programming
Description
An introduction to imperative computer programming using Python. Topics include: expressions, assignment, selection and iteration, structured data (lists, dictionaries, tuples, arrays), functional decomposition, file processing, using library code, and an introduction to object-oriented programming.
Occurrences
Semester One 2026
Semester Two 2026
Points
15 points
Restrictions

COSC122
Introduction to Computer Science
Description
An introduction to Computer Science, including algorithms, complexity and data structures.
Occurrences
Summer Nov 2025
Semester Two 2026
UCIC Trimester One 2026
UCIC Trimester Two 2026
UCIC Trimester Three 2026
Points
15 points
Prerequisites

COSC131
Introduction to Programming for Engineers
Description
Computer programming in a high-level language with special emphasis on numerical computation. This course is required for engineering and is an alternative to COSC121 as a prerequisite for COSC122 and all 200 level COSC and SENG courses. COSC131 teaches the fundamentals of computer programming using the Python language and can be taken by students who have no previous programming background. Topics include expressions, assignment, selection and iteration, structured data (lists, dictionaries, tuples, arrays), functional decomposition, file processing, numerical computation with numpy, graph plotting with matplotlib and an introduction to object-oriented programming.
Occurrences
Approved Start 2026
Semester One 2026
Semester Two 2026
UCIC Trimester One 2026
UCIC Trimester Two 2026
UCIC Trimester Three 2026
Points
15 points
Prerequisites
1) EMTH117 or MATH101, or 2) NCEA 14 Credits (18 strongly recommended) at level 3 Mathematics (including the standards 'Apply differentiation methods in solving problems (91578)' and 'Apply integration methods in solving problems (91579)'), or 3) Cambridge: D at A level or an A at AS level in Mathematics, or 4) IB: 4 at HL or 5 at SL in Mathematics, or 5) approval of the Head of Department based on alternative prior learning. (01 Jan 2024 - present)
Restrictions

200-level

COSC260
Turing: From the Computer Revolution to the Philosophy of AI
Description
This course is about Alan Turing, the logical and philosophical foundations of computing, and the philosophy of Artificial Intelligence. It is equally suitable for Arts, Science, Engineering, and Law students.
Occurrences
Semester Two 2026
Semester Two 2026 (Distance)
Points
15 points
Prerequisites
Any 15 points at 100 level in PHIL, COSC, LING, MATH (except MATH110), or PSYC, or any 60 points at 100 level from the Schedule V of the BA or the BSc.
Restrictions

COSC261
Formal Languages and Compilers
Description
This course deals with fundamental concepts and techniques in computer science. It covers automata, formal languages, compilers, computability and complexity theory.
Occurrences
Semester One 2026
Points
15 points
Prerequisites
(1) COSC121 or COSC131; (2) COSC122; (3) MATH120

COSC262
Algorithms
Description
This course teaches a range of fundamental algorithms and analyses their properties and behaviour.
Occurrences
Semester One 2026
Points
15 points
Prerequisites
(1) COSC121 or COSC131; (2) COSC122; RP: MATH120

COSC264
Introduction to Computer Networks and the Internet
Description
This course covers principles of theory and practice of computer networks and the Internet, and it studies important Internet technologies and protocols, including: Ethernet / Local Area Networks, TCP/IP, Routing, and HTTP.
Occurrences
Semester Two 2026
Points
15 points
Prerequisites
(1) COSC121 or COSC131; (2) COSC122; (3) EMTH119 or (MATH102 and MATH120) or (MATH102 and STAT101)

COSC265
Relational Database Systems
Description
An introduction to database systems, database design, relational databases and database management systems.
Occurrences
Semester Two 2026
Points
15 points
Prerequisites

300-level

COSC345
Professional, Ethical and Cultural Perspectives on Computer Science
Description
To prepare students to perform in a professionally and culturally appropriate manner in Computer Science and Information Technology roles in an Aotearoa-New Zealand context.
Occurrences
Semester One 2026
Points
15 points
Prerequisites
45 points at 200 level or above from COSC and/or INFO courses and/or ENCE260 and/or SENG201. Alternatively, permission from the Head of Department should be sought.
Restrictions

COSC362
Introduction to Cybersecurity
Description
The course covers principles and practices of cryptography, network security, software security, and system security. It provides a foundation for understanding cyber threats, attacks, and relevant defences.
Occurrences
Semester Two 2026
Points
15 points
Prerequisites

COSC363
Computer Graphics
Description
This course focuses on all aspects of fundamental computer graphics methods, including three-dimensional object representations, transformations, projections and rendering algorithms. The theoretical bases and implementation aspects of illumination and reflection models, texture mapping techniques and ray tracing are also covered. The course aims to provide a good foundation of OpenGL programming for the development of graphics applications using both fixed-function and programmable pipelines. The course also gives an introduction to WebGL programming.
Occurrences
Semester One 2026
Points
15 points
Prerequisites
(1) ENCE260; and (2) 30 points from COSC261, COSC262, COSC264, COSC265, SENG201; and (3) 15 points of MATH/STAT/EMTH (MATH120 recommended; excluding EMTH117, MATH101 and MATH110)

COSC364
Internet Protocols
Description
The Internet in its current form crucially relies on various communication protocols, which are distributed procedures and algorithms governing how different computers in the Internet can reach each other and exchange messages and data reliably. Two core classes of protocols are routing protocols, which help to find paths between arbitrary computers, and transport protocols, which achieve reliable data transfer over an inherently unreliable network. In this course we develop an advanced understanding of the operation, performance and scalability of selected protocols in these two classes (for example the OSPF routing protocol, and the TCP and other transport protocols). Students will implement and simulate selected aspects of such protocols and evaluate their performance.
Occurrences
Semester One 2026
Points
15 points
Prerequisites

COSC366
Research Project
Description
Students will gain experience in performing research in the fields of Computer Science and Software Engineering
Occurrences
Summer Nov 2025
Points
15 points
Prerequisites
(1) 45 points from COSC261, COSC262, COSC264, COSC265, ENCE260, SENG201; and (2) 30 points from EMTH/MATH/STAT (excluding EMTH117, MATH101 and MATH110); and (3) approval by Head of Department. RP: COSC110 or COSC101, ENCE260, COSC261, COSC262, SENG201

COSC367
Artificial Intelligence
Description
This course introduces major concepts and algorithms in Artificial Intelligence. Topics include problem solving, reasoning, games, and machine learning.
Occurrences
Semester Two 2026
Points
15 points
Prerequisites

COSC368
Human-Computer Interaction
Description
The course provides an introduction to Human-Computer Interaction (HCI). HCI is concerned with understanding, designing, implementing and evaluating user-interfaces so that they better support users in carrying out their tasks. On completing the course you will have knowledge of the theoretical foundations of designing for interaction between humans and computers. You will also have practical experience in implementing and evaluating graphical user interfaces.
Occurrences
Semester Two 2026
Points
15 points
Prerequisites
(1) COSC121 or COSC131; and (2) 30 points from COSC261, COSC262, COSC264, COSC265, ENCE260, SENG201; and (3) 15 points of MATH/EMTH/STAT/PSYC206 (excluding EMTH117, MATH101 and MATH110) RP: COSC101

COSC369
Programming languages
Description
This course focuses on the concepts of programming language theories and their implementations. The course also covers program semantics and program verification, which are powerful tools for guaranteeing the quality of software, for example, proving the correctness of program transformations and that a program is free of certain types of errors.
Occurrences
Semester Two 2026
Points
15 points
Prerequisites

Not Offered Courses in 2026

200-level

COSC241
Special Topic
Occurrences
Not offered 2026
For further information see COSC241 course details
Points
15 points

COSC242
Special Topic
Occurrences
Not offered 2026
For further information see COSC242 course details
Points
15 points

COSC243
Special Topic
Occurrences
Not offered 2026, offered in 2013 , 2014
For further information see COSC243 course details
Points
15 points

300-level

COSC371
Special Topic
Occurrences
Not offered 2026
For further information see COSC371 course details
Points
15 points

COSC372
Special Topic
Occurrences
Not offered 2026
For further information see COSC372 course details
Points
15 points