Course Title: Advanced Programming in Python
Part A: Course Overview
Course Title: Advanced Programming in Python
Credit Points: 12.00
Please note that this course may have compulsory in-person attendance requirements for some teaching activities.
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.
171H School of Science
|Sem 2 2021|
175H Computing Technologies
|Sem 2 2022|
Course Coordinator: Minyi Li
Course Coordinator Phone: by email
Course Coordinator Email: firstname.lastname@example.org
Course Coordinator Location: 14.08.13
Course Coordinator Availability: by appointment
Pre-requisite Courses and Assumed Knowledge and Capabilities
Enforced Pre-requisite Courses:
Successful completion of:
COSC1519/ COSC2429 / COSC2452 / COSC2663 / COSC2680 / COSC2709 - Introduction to Programming (Course ID 004337)
COSC2676 - Programming Fundamentals for Scientists (Course ID 051907)
COSC1284 - Programming Techniques (Course ID 004301)
COSC2802 - Programming Bootcamp 2 (Course ID 054080)
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.
This is an advanced programming course, designed specifically for students who are interested in the field of Data Science.
Advanced programming concepts and techniques for the purposes of data processing (e.g., data parsing, cleansing, integration, etc.) will be taught, enabling more complex data pre-processing and getting data ready for down-stream analysis. These include, for example, the handling of data stored in different formats (e.g., CSV, JSON, XML,), the handling of bad and missing data, and the integration of data from different sources. The course will also introduce both fundamental and the state-of-the-art advanced techniques for text pre-processing, to convert raw natural language text data to feature representations that can be directly used in downstream analysis. The course will also explore a simple web app development framework, which enables students to deploy their developed data driven applications online.
A Python environment will be used for implementation throughout the course.
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 large amounts of data arising from various sources
- Evaluate and compare solutions to data analysis 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.
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.
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:
- CLO 1: Programmatically parse data in the required format;
- CLO 2: Programmatically identify and resolve data quality issues;
- CLO 3: Programmatically integrate data from various sources for data enrichment;
- CLO 4: Pre-process natural language text data to generate effective feature representations;
- CLO 5: Document and maintain an editable transcript of the data pre-processing pipeline for professional reporting;
- CLO 6: Build small to medium scale data-driven applications using a Web development framework.
Overview of Learning Activities
The learning activities for this course include:
- Key concepts will be explained in pre-recorded lecture videos, activity notebooks, and workshops, where syllabus material will be presented and the subject matter illustrated via demonstrations and examples;
- Workshops will focus on hands-on activities and problem solving, 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), 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 (available online and 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 an in-class coding exercise, two project assignment work and a technical interview.
Assessment Task 1: In-class Coding Exercise
This assessment task supports CLOs 1, 2, 3.
Assessment Task 2: Assignment 1
This assessment task supports CLOs 1, 2, 3, 5.
Assessment Task 3: Assignment 2
This assessment task supports CLOs 4, 5, 6.
Assessment Task 4: Technical Interview
This assessment supports CLOs 1, 2, 3, 4.