Course Title: Machine Learning

Part A: Course Overview

Course Title: Machine Learning

Credit Points: 12.00

Important Information:

Please note that this course may have compulsory in-person attendance requirements for some teaching activities. 

To participate in any RMIT course in-person activities or assessment, you will need to comply with RMIT vaccination requirements which are applicable during the duration of the course. This RMIT requirement includes being vaccinated against COVID-19 or holding a valid medical exemption. 

Please read this RMIT Enrolment Procedure as it has important information regarding COVID vaccination and your study at RMIT:

Please read the Student website for additional requirements of in-person attendance: 

Please check your Canvas course shell closer to when the course starts to see if this course requires mandatory in-person attendance. The delivery method of the course might have to change quickly in response to changes in the local state/national directive regarding in-person course attendance. 


Course Code




Learning Mode

Teaching Period(s)


City Campus


171H School of Science


Sem 2 2018,
Sem 2 2019,
Sem 1 2020,
Sem 1 2021


City Campus


175H Computing Technologies


Sem 1 2022


RMIT University Vietnam


171H School of Science


Viet1 2019,
Viet1 2020,
Viet1 2021


RMIT University Vietnam


175H Computing Technologies


Viet1 2022

Course Coordinator: Dr Ruwan Tennakoon

Course Coordinator Phone: +61 3 9925 3306

Course Coordinator Email:

Course Coordinator Location: 14.11.03

Course Coordinator Availability: by appointment

Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Pre-requisite Courses:

Successfull completion of:


COSC2627 - Discrete Structures in Computing (Course ID 049804)
MATH2411 - Mathematics for Computing 1 (Course ID 054076)
MATH1150 - Discrete Mathematics (Course ID 008610)


COSC1076 / COSC2082 / COSC2136 / COSC2696 - Advanced Programming Techniques (Course ID 004068)
COSC2802 - Programming Bootcamp 2 (Course ID 054080)
COSC2815 - Advanced Programming in Python (Course ID 054117)
COSC2288 / COSC2391 / COSC2440 / COSC2684 / COSC2786 - Further Programming (Course ID 014052)


Note: it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course.

For your information go to RMIT Course Requisites webpage.

Course Description

Machine Learning involves automatically identifying patterns in data to suggest future predictions about a task: e.g., predicting future house prices from historical data and trends. The explosion of data in different fields, such as health and finance, and in sources such as social media, has made Machine Learning an increasingly core Computer Science competency, with many companies investing in data analytics and the world’s major IT companies (such as Google, Facebook, and others) establishing Machine Learning labs.

This course will introduce the basic Machine Learning concepts, covering supervised and unsupervised techniques, evaluation, as well as specific approaches such as deep neural networks. Students will learn how to apply such techniques to a range of problems, using open source Machine Learning toolkits, and learn how to analyse outputs from the applications. Students will perform assignments that involve a variety of real world datasets from a variety of domains.


Objectives/Learning Outcomes/Capability Development

This course contributes to the following Program Learning Outcomes for BP094 Bachelor of Computer Science, BP096 Bachelor of Software Engineering, BP214 Bachelor of Information Technology (Games and Graphics Programming):

  • PLO1: Knowledge - Apply a broad and coherent set of knowledge and skills for developing user-centric computing solutions for contemporary societal challenges.

  • PLO2: Problem Solving - Apply systematic problem solving and decision-making methodologies to identify, design and implement computing solutions to real world problems, demonstrating the ability to work independently to self-manage processes and projects.

  • PLO4: Communication - Communicate effectively with diverse audiences, employing a range of communication methods in both computing and non-computing personnel.

  • PLO6: Responsibility and Accountability - Demonstrate integrity, ethical conduct, sustainable and culturally inclusive professional standards, including First Nations knowledges and input in designing and implementing computing solutions.


On completion of this course you should be able to:

  1. understand the fundamental concepts and algorithms of machine learning and applications   
  2. understand a range of machine learning methods and the kinds of problem to which they are suited  
  3. set up a machine learning configuration, including processing data and performing feature engineering, for a range of applications   
  4. apply machine learning software and toolkits for diverse applications   
  5. understand major application areas of machine learning   
  6. understand the ethical considerations involved in the application of machine learning.

Overview of Learning Activities

The learning activities included in this course are:

  • key concepts will be explained in pre-recorded lectures, classes or online, where syllabus material will be presented and the subject matter will be illustrated with demonstrations and examples;
  • tutorials and/or labs and/or group discussions (including online forums) focused on projects and problem solving will provide practice in the application of theory and procedures, allow exploration of concepts with teaching staff and other students, and give feedback on your progress and understanding;
  • assignments, as described in Overview of Assessment (below), requiring an integrated understanding of the subject matter; and
  • private study, working through the course as presented in classes and learning materials, and gaining practice at solving conceptual and technical problems.

Total study hours


Teacher Guided Hours (face to face): 48 per semester

Teacher-guided learning will include pre-recorded lectures to present main concepts, small-class tutorials to reinforce those concepts, and supervised computer laboratory sessions to support programming practice under guidance from an instructor.


Learner Directed Hours: 72 per semester

Learner-directed hours include time spent reading and studying lecture notes and prescribed text in order to better understand the concepts; working through examples that illustrate those concepts; and performing exercises and assignments designed by the teachers to reinforce concepts and develop practical skills across a variety of problem types.


Overview of Learning Resources

You will make extensive use of computer laboratories and relevant software provided by the School. You will be able to access course information and learning materials through MyRMIT, Canvas, and may be provided with copies of additional materials in class or via email. Lists of relevant reference texts, resources in the library and freely accessible Internet sites will be provided.

Overview of Assessment

Overview of Assessment

The assessment for this course comprises both practical and theoretical work involving the development and analysis of machine learning systems, machine learned modules, and machine learning tools.

Across all assessment tasks you will be required to demonstrate your critical analysis and problem solving skills. While this course will require software development and implementation to use machine learning software and train models, the focus of the assessment is on analysis and problem solving.

This course has no hurdle requirements.

Assessment tasks

Assessment Task 1: Practical & Written Assignment (individual) Weight: 30%

Description: This assignment involves preparation and analysis of a dataset representing a specific machine learning challenge, along with the application of one or more techniques of a certain class of machine learning techniques (e.g., supervised technique).

This assessment task supports CLOs 1, 3, 4

Assessment Task 2: Practical &Written Assignment (group/individual) Weight: 50 %

This assignment is an extended project of an in-depth investigation and analysis of a machine learning problem using a different machine learning challenge from Assignment 1. Students may be able to propose and negotiate their own project and machine learning challenge. This task may be completed individually or in groups.

This assessment task supports CLOs 1, 3, 4, 6

Assessment Task 3: Virtual Presentation & Interview (individual) Weight: 20 %

Students are to conduct a virtual presentation presenting a brief summary and critical analysis of the project work that is done in Assessment Task 2, as well as improvements/extensions that could be made for his/her own work based on a literature review of the state-of-the-art approaches. Upon completion of the presentation, students are required to answer a number of follow-up questions related to their project work andstudies.

This assessment task supports CLOs 1, 2, 5, 6