100-level

COSC121
Introduction to Computer Programming
Description
Computer programming in a high-level language with special emphasis on style and structure. This course is a prerequisite for COSC122 and higher level Computer Science, Computer Engineering and Software Engineering courses. It is an alternative to COSC131, with both courses teaching 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, and an introduction to object-oriented programming.
Occurrences
Semester One 2024
Semester Two 2024
Points
15 points
Restrictions

COSC122
Introduction to Computer Science
Description
An introduction to Computer Science, including algorithms, complexity and data structures.
Occurrences
Summer Nov 2023
Semester Two 2024
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 intermediate 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
Semester One 2024
Semester Two 2024
Points
15 points
Prerequisites
1) 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.
Restrictions

200-level

SENG201
Software Engineering I
Description
This course provides an introduction to the principles, processes, practices, techniques and tools of software engineering. The underlying theory and practical applications of a variety of topics in software engineering are covered with particular reference to object-oriented software development.
Occurrences
Semester One 2024
Points
15 points
Prerequisites
(1) COSC121 or COSC131; (2) COSC122. Recommended preparation: 15 points from MATH, STAT or EMTH. MATH120/STAT101 are strongly recommended.

PROD221
Game Design in Context
Description
This course explores a wider view of games and society. Topics include: 1. Ethics, Social Issues, and Games: How are various segments of the population portrayed in games? Specific focus will be on the representation of women and minorities in games, discussions of violence in games, games addiction, and how design choices affect, and are affected by, society. 2. Applied Games: Games are primarily used for entertainment purposes. But many argue that they could and should also be used for other purposes where motivation is important, such as games for learning, games for training, games for health, and games for behaviour change. 3. Bi-culturalism in Games: Maori themes and motivations in games are important in the New Zealand context. How can game designers better support a Maori audience specifically, and various cultures more generally?
Occurrences
Semester One 2024
Points
15 points
Prerequisites
one of COSC101 or PROD121 or DIGI101

PROD222
Gaming Project Studio 1
Description
This course allows students to create substantial immersive experiences using techniques such as structured brainstorming, rapid prototyping (fail often, fail early), constructive critiquing, and iteration. Students will create several major works during the course, working in teams, formally presenting their ideas, and working with client constraints. Several technologies will be introduced, such as collaborative project management and tracking tools, code repositories, and presentation software.
Occurrences
Semester Two 2024
Points
30 points
Prerequisites
1) one of PROD101, PROD142 or SENG201; and 2) either PROD121 or PROD223

PROD223
Immersive Game Design
Description
This paper introduces students to the technologies and techniques used to create Virtual Reality (VR) and Augmented Reality (AR) experiences. Students will design and build games using VR and AR head-mounted displays, 6-degree-of-freedom motion controllers, depth cameras, and other leading-edge technologies, such as Arduino-controlled input and output. We will look at three main topics: 1. The Human Sensory Systems: What are the strengths and weaknesses of the main human senses of vision, audio, haptics (touch), smell and taste? 2. Multi-sensory Technologies: What technologies exist to deliver content to each of these senses? 3. Holistic Design: What are the design concerns when choosing an appropriate set of sensory "displays" for immersive experiences? Which types of cues are needed for a given user/task/environment combination?
Occurrences
Semester One 2024
Points
15 points
Prerequisites

PROD224
Computation for Games
Description
This course introduces the fundamentals of mathematics, statistics, and algorithms for game development. The topics covered are an introduction to linear algebra, statistics for game balancing, and algorithms in computer games and computer graphics. The practical aspect of this course will teach the students how to apply the theoretical concepts in game development on one of the standard game engines.
Occurrences
Semester Two 2024
Points
15 points
Prerequisites
PROD121, and recommended preparation: 15 points of MATH, EMTH or STAT courses

PROD225
Special Topic: Game Development in Unreal and C++
Description
This course provides an introduction into the world of game development in Unreal Engine 4, with a focus on C++ programming. You will learn about the fundamentals of programming in C++, including pointers, compilers, header files, declaration vs. definition, compiler macros and how these things all come together when creating games. The second half of this course will focus on bridging the gap between C++ and Unreal’s visual programming system Blueprints, and how you can augment the artist focused system with the programmer focused language through the creation of your own Unreal Engine game. All game developers looking to get into the industry are encouraged to learn C++ due to the essential role it plays in many game development projects. Examples of the use of C++ in industry will be demonstrated throughout the course.
Occurrences
Semester Two 2024
Points
15 points
Prerequisites
COSC121 or COSC131 COSC122 Subject to the approval of the Head of School.

300-level

PROD321
Interactive Computer Graphics and Animation
Description
In this paper, students will learn about the technical aspects of how moving images are generated for use in video games. This includes topics such as geometric modeling, the rendering pipeline, the use of various texturing techniques, and programmable shaders. In addition, students will learn various techniques for making objects move, such as forward and inverse kinematics, behavioural animation, and physically-based animation.
Occurrences
Semester One 2024
Points
15 points
Prerequisites

PROD323
Game Engines and Artificial Intelligence
Description
In this paper, students will learn about game engine design through the use of existing engine source code. Students will extend existing functionality through the use of programming techniques. In addition, students will become comfortable designing and creating game-based artificial intelligence (AI) constructs.
Occurrences
Semester One 2024
Points
15 points
Prerequisites