Course Title: Machine Learning

Part A: Course Overview

Course Title: Machine Learning

Credit Points: 12.00



Course Coordinator: Assoc. Prof. Vic Ciesielski

Course Coordinator Phone: +61 3 9925 2926

Course Coordinator Email: vic.ciesielski@rmit.edu.au

Course Coordinator Location: 14.08.16


Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Pre-requisites:  COSC2627 Discrete Structures in Computing, COSC1076 Advanced Programming Techniques

Enforced Co-requisites:  COSC2123 Algorithms and Analysis


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, reinforcement learning, 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):

  • Enabling Knowledge:

You will gain skills as you apply knowledge effectively in diverse contexts. This will include knowledge of

 

  • Critical Analysis:

You will learn to accurately and objectively examine and consider computer science and information technology (IT) topics, evidence, or situations, in particular to:

-- analyse and model requirements and constraints for the purpose of designing and implementing solutions to a learning challenge;

-- evaluate and compare approaches and algorithms on the basis of the nature of the problem/task being addressed.

 

  • Problem Solving:

Your capability to analyse problems and synthesise suitable solutions will be extended as you learn to: select and apply algorithms to address particular machine learning problems, based on analysis of the problem and characteristics of the data involved.

 

  • Communication:

You will learn to communicate effectively with a variety of audiences through a range of modes and media, in particular to: interpret abstract theoretical propositions, choose methodologies, justify conclusions and defend professional decisions to both IT and non-IT personnel via technical reports of professional standard and technical presentations.

 

  • Responsibility:

You will be required to accept responsibility for your own learning and make informed decisions about judging and adopting appropriate behaviour in professional and social situations. This includes accepting the responsibility for independent life-long learning. Specifically, you will learn to: effectively analyse problems for appropriate approach, while accounting for ethical considerations.

 


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 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 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 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

This course has no hurdle requirements.

Assessment tasks

Assessment Task 1: An assignment that involves preparation and analysis of a dataset representing a specific machine learning challenge, along with application of one or more techniques of a certain class of machine learning techniques (e.g., supervised technique).

Weighting 20%

This assessment task supports CLOs 1, 3 & 4

 

Assessment Task 2: A second assignment involving a different type of machine learning challenge (e.g., text mining), requiring application of a different class of machine learning technique from that in Assessment Task 1.

Weighting 20%

This assessment task supports CLO 1, 3 & 4

 

Assessment 3: One or more class test(s), conducted during lecture times, to provide feedback to students on their progress wrt understanding concepts and to identify any challenges in their learning. This may comprise a more substantial mid-semester test involving exam-style questions.

Weighting 10% 

This assessment supports CLOs 1, 2, 5 & 6

 

Assessment 4: A final written exam, designed to provide a comprehensive analysis of students’ understanding of core concepts introduced in the course.

Weighting 50% 

This assessment supports CLOs 1, 2, 5 & 6