COMP309 (2021) - Machine Learning Tools and Techniques


This course explores a range of machine learning tools and techniques for analysing data and automatically generating applications. The course will address tools for classification, regression, clustering and text mining, and techniques for preprocessing data and analysing the results of machine learning tools. Students will gain practical experience in applying a range of tools to a range of different data sets from different domains.

Course learning objectives

Students who pass this course will be able to:

  1. Describe a range of standard machine learning problems, algorithms, and tools.
  2. Classify a particular problem into the appropriate category of machine learning problem.
  3. Choose and apply an appropriate machine learning algorithm or tool to solve a particular problem, choose appropriate values for the parameters of the algorithm or tool, and be able to evaluate the quality of the solution.
  4. Explore and understand input data and apply the appropriate tools and techniques to prepare the data for use in a machine learning tool.

Course content

The course is primarily offered in-person, but there will also be a remote option and there will be online alternatives for all the components of the course for students who cannot attend in-person.
Students taking this course remotely must have access to a computer with camera and microphone and a reliable high speed internet connection that will support real-time video plus audio connections and screen sharing.  Students must be able to use Zoom; other communication applications may also be used. A mobile phone connection only is not considered sufficient.   The comuputer must be adequate to support the programming required by the course: almost any modern windows, macintosh, or unix laptop or desktop computer will be sufficient, but an Android or IOS tablet will not.
If the assessment of the course includes tests, the tests will generally be run in-person on the Kelburn campus. There will be a remote option for students who cannot attend in-person and who have a strong justification (for example, being enrolled from overseas).
The remote test option will use Zoom for online supervision of the tests and you must be able to use Zoom with a camera, microphone, and screen-sharing. Students who will need to use the remote test option must contact the course coordinator in the first two weeks to get permission and make arrangements.

Withdrawal from Course

Withdrawal dates and process:


Dr Andrew Lensen (Coordinator)

Dr Marcus Frean

Dr Qi Chen

Teaching Format

This course will be offered in-person and online.  For students in Wellington, there will be a combination of in-person components and web/internet based resources. It will also be possible to take the course entirely online for those who cannot attend on campus, with all the components provided in-person also made available online.
The course will be taught by a combination of in-person lectures (that will be recorded) and tutorials (during the lecture slots). Turorials will be used to enable students to use the tools and techniques from the lectures and assignments. Online forums will be available to ask questions to tutors remotely and help desks will be available in-person. The assignments and project will allow students to explore and apply their knowledge to practical data problems, where working at home or in laboratories is permitted. The project will use in-person marking where possible, while all other assignments are submitted online and marked remotely. The project can be marked remotely where the onus is on the student to provide functioning code including the machine learning models.

Student feedback

Student feedback on University courses may be found at:

Dates (trimester, teaching & break dates)

  • Teaching: 05 July 2021 - 08 October 2021
  • Break: 16 August 2021 - 29 August 2021
  • Study period: 11 October 2021 - 14 October 2021
  • Exam period: 15 October 2021 - 06 November 2021

Class Times and Room Numbers

05 July 2021 - 15 August 2021

  • Tuesday 15:10 - 16:00 – MT228, Student Union, Kelburn
  • Wednesday 15:10 - 16:00 – MT228, Student Union, Kelburn
  • Thursday 15:10 - 16:00 – MT228, Student Union, Kelburn
30 August 2021 - 10 October 2021

  • Tuesday 15:10 - 16:00 – MT228, Student Union, Kelburn
  • Wednesday 15:10 - 16:00 – MT228, Student Union, Kelburn
  • Thursday 15:10 - 16:00 – MT228, Student Union, Kelburn


There are no required texts for this offering.

Mandatory Course Requirements

In addition to achieving an overall pass mark of at least 50%, students must:

  • submit reasonable attempts for at least three of the four assignments, and
  • submit a reasonable attempt at the final project.

If you believe that exceptional circumstances may prevent you from meeting the mandatory course requirements, contact the Course Coordinator for advice as soon as possible.


Assessment ItemDue Date or Test DateCLO(s)Percentage
Assignment 1: Introduction to Machine Learning Problems, Tasks, and Techniquesweek 5CLO: 1,320%
Assignment 2: The Data Mining Process and Exploratory Data AnalysisStart of mid-term breakCLO: 1,2,3,412%
Assignment 3: Kaggle Competitionweek 8CLO: 2,320%
Assignment 4: Performance Evaluation and Optimisationweek 10CLO: 1,412%
Capstone project (Code, scripts, and report on a solution to a problem)Assessment periodCLO: 1,2,3,436%


The penalty for assignments that are handed in late without prior arrangement (or use of "late days") is one grade reduction per day. Assignments that are more than one week late will not be marked.


There will be three late days automatically available across the assessment in the course. These will be automatically applied in the assessment system. These are intended to cover common reasons for short extensions, such as overlapping deadlines; technical difficulties; or unforeseen changes in personal circumstance.
Individual extensions beyond the three late days will only be granted in exceptional personal circumstances, and should be negotiated with the course coordinator before the deadline whenever possible. Documentation (eg, medical certificate) may be required.

Submission & Return

All work is submitted through the ECS submission system, accessible through the course web pages. Marks and comments will be returned through the ECS marking system, also available through the course web pages.

Turnitin may be used to check for plagarism in written assessment.


Although the workload will vary from week to week, you should expect to spend approximately 10–12 hours per week on the course to give a total of 150 hours study time for the course.

Teaching Plan


Communication of Additional Information

All online material for this course can be accessed at

Offering CRN: 30098

Points: 15
Prerequisites: COMP 261 or (DATA 201 and DATA 202) or NWEN 241 or SWEN 221
Duration: 05 July 2021 - 07 November 2021
Starts: Trimester 2
Campus: Kelburn