Accessibility Skip to Global Navigation Skip to Local Navigation Skip to Content Skip to Search Skip to Site Map Menu

AIML401 Programming for Artificial Intelligence

Programming for Artificial Intelligence using the Python programming language.

Programming is at the heart of artificial intelligence (AI) and it’s impossible to understand AI without being a competent programmer. This paper will help you develop both fundamental programming skills and the skills needed to be an AI programmer using the most common AI programming language – Python.

Paper title Programming for Artificial Intelligence
Paper code AIML401
Subject Artificial Intelligence
EFTS 0.1667
Points 20 points
Teaching period Semester 2 (On campus)
Domestic Tuition Fees (NZD) $1,409.28
International Tuition Fees Tuition Fees for international students are elsewhere on this website.

^ Top of page

36 points above 200-level

Some programming experience preferred.


Computer Science Adviser

Teaching staff

Professor Brendan McCane

Paper Structure

AIML 401 is 100 per cent internally assessed. There are six mastery tests and two programming assignments. Topics covered include: the fundamentals of programming, numpy, scipy, scikit-learn, tensorflow, some fundamental AI problems, ethics of AI programming.


A coursebook will be supplied as a PDF.

Graduate Attributes Emphasised

Interdisciplinary perspective, Lifelong learning, Communication, Critical thinking, Cultural understanding, Ethics, Information literacy
View more information about Otago's graduate attributes.

Learning Outcomes

Students who successfully complete the paper will:

  • Understand fundamental concepts relating to computer programming
  • Demonstrate the ability to write computer programs for artificial intelligence applications
  • Develop an understanding of the needs of artificial intelligence programming including but not limited to: data input and output, data manipulation, data visualisation, matrices, vectors and arrays
  • Make use of common artificial intelligence tools and libraries including but not limited to: numpy, scipy, scikit-learn, and tensorflow or similar
  • Develop an understanding of ethical and best practice issues associated with collecting and storing data including indigenous data

^ Top of page


Semester 2

Teaching method
This paper is taught On Campus
Learning management system

Computer Lab

Stream Days Times Weeks
A1 Tuesday 16:00-17:50 28-34, 36-41
Thursday 16:00-17:50 28-34, 36-41


Stream Days Times Weeks
A1 Monday 13:00-13:50 28-34, 36-41
Wednesday 13:00-13:50 28-34, 36-41