Course Title: Advanced Programming in Python

Part A: Course Overview

Course Title: Advanced Programming in Python

Credit Points: 12.00

Course Coordinator: Minyi Li

Course Coordinator Phone: +61 3 9925 8991

Course Coordinator Email:

Course Coordinator Location: 014.08.008-2

Course Coordinator Availability: by appointment

Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Prerequisites: 

COSC1519 Introduction to Programming  


COSC2676 Programming Fundamentals for Scientists 

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.

Course Description

This is a second year programming course, designed specifically for the purpose of Data Science. More advanced concepts of programmatic problem solving, program design, implementation and testing/debugging are introduced, enabling more complex data processing and design of applications. The basics of object-oriented concepts are also introduced.


Advanced Programming in Python provides you with sufficient programming skills to undertake more advanced programming courses in the Bachelor and Master of Data Science degrees.

Objectives/Learning Outcomes/Capability Development

Program Learning Outcomes


This course contributes to the following Program Learning Outcomes for BP340 Bachelor of Data Science:


Enabling Knowledge (PLO1)

You will gain skills as you apply knowledge with creativity and initiative to new situations. In doing so, you will:

  • Demonstrate mastery of a body of knowledge that includes recent developments in computer science, information technology and statistics;
  • Understand and use appropriate and relevant, fundamental and applied mathematical and statistical knowledge, methodologies and modern computational tools;
  • Recognise and use research principles and methods applicable to data science.

Critical Analysis (PLO2)

You will learn to accurately and objectively examine, and critically investigate computer science, information technology (IT) and statistical concepts, evidence, theories or situations, in particular to:

  • Analyse and manage largae amounts of data arising from various sources
  • Evaluate and compare solutions to data analysius problems on the basis of organisational and user requirements;
  • Bring together and flexibly apply knowledge to characterise, analyse and solve a wide range of statistical problems.

Problem Solving (PLO3)

Your capability to analyse complex problems and synthesise suitable solutions will be extended as you learn to:

  • Design and implement data analytic techniques that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification;
  • Apply an understanding of the balance between the complexity / accuracy of the mathematical / statistical models used and the timeliness of the delivery of the solution.

Communication (PLO4)

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 technical and non-technical personnel via technical reports of professional standard and technical presentations.


Responsibility (PLO6)

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 and a high level of accountability. Specifically, you will learn to:

  • Effectively apply relevant standards, ethical considerations, and an understanding of legal and privacy issues to managing and processing data;
  • Contextualise outputs where data are drawn from diverse and evolving social, political and cultural dimensions;
  • Reflect on experience and improve your own future practice;
  • Locate and use data and information and evaluate its quality with respect to its authority and relevance.

Course Learning Outcomes (CLOs):


On completion of this course you should be able to:


  1. use an appropriate programming language in the implementation of small to medium sized application programs that illustrate professionally acceptable coding and performance standards;
  2. demonstrate knowledge of the basic principles of the object oriented development process and apply this understanding to the analysis and design of solutions for small to medium scale problems;
  3. describe and apply basic algorithms and data structures, in particular, programs for text and data processing, and preparing data sets for the applications of Data Analytics techniques;
  4. implement basic applications using the object oriented paradigm, particularly to illustrate the results of a Data Science analysis for a given domain

Overview of Learning Activities

The learning activities for this course include:


  • Key concepts will be explained in lectures, classes or online, where syllabus material will be presented and the subject matter illustrated via demonstrations and examples;
  • Tutorials and/or labs and/or group discussions and activities (including online forums) focused on projects and problem solving will provide practice in the application of theory and procedures, allowing exploration of concepts with teaching staff and other students, to provide feedback on progress and understanding;
  • Assignments, as described in Overview of Assessment (below), including group assignments, will provide simulation of workplace activities and an opportunity to demonstrate an integrated understanding of the subject matter; and
  • Private study, working through the course materials as presented in class and gaining practice at solving conceptual and technical problems.

Teacher-directed 48, student-directed 72

Overview of Learning Resources

You will make extensive use of computer laboratories and relevant software provided by the School and/or available for download onto private laptops/machines. You will be able to access course information and learning materials via MyRMIT/Canvas and may be provided with copies of additional materials in the library or via freely accessible internet sites.


Use the RMIT Bookshop’s textbook list search page to find any recommended textbook(s).

Overview of Assessment

This course has no hurdle requirements.



The assessment for this course comprises practical work involving working with team members, class tests, and a final exam.


Assessment Task 1: Assignment 1

Weighting 15%

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


Assessment Task 2: Mid-term Test

Weighting 10%

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


Assessment Task 3: Assignment 2

Weighting 25%

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


Assessment Task 4: Final written exam

Weighting 50%

This assessment supports CLOs 1, 2, 3, 4.