Course Title: Advanced Programming

Part A: Course Overview

Course Title: Advanced Programming

Credit Points: 12.00


Course Code




Learning Mode

Teaching Period(s)


City Campus


140H Computer Science & Information Technology


Sem 1 2006,
Sem 2 2006,
Sem 1 2007,
Sem 2 2007,
Sem 1 2008,
Sem 2 2008,
Sem 1 2009,
Sem 2 2009,
Sem 1 2010,
Sem 2 2010,
Sem 1 2011,
Sem 2 2011,
Sem 1 2012,
Sem 2 2012,
Sem 1 2013,
Sem 2 2013,
Sem 1 2014,
Sem 2 2014,
Sem 1 2015,
Sem 2 2015,
Sem 1 2016


City Campus


171H School of Science


Sem 1 2017,
Sem 2 2017

Course Coordinator: Dr. Andy Song

Course Coordinator Phone: Phone: 03 9925-9761

Course Coordinator Email:

Course Coordinator Location: City Campus, Building 14, level 8, room 11

Course Coordinator Availability: By appointment

Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Prerequisite: COSC 2531 Programming Fundamentals or equivalent.

You may not enrol in this course if you have previously passed Java for Programmers.

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 course extends the study of basic programming principles introduced in Programming Fundamentals. Advanced concepts of program design, implementation and testing will be introduced within a framework of object oriented programming using the Java programming language.

Objectives/Learning Outcomes/Capability Development

This course is an option course for several programs and a core course in MC208 Master of Information Technology contributing to the following Program Learning Outcomes:
1. Enabling Knowledge:
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 and information technology

2. Critical Analysis:
You will learn to accurately and objectively examine, and critically investigate computer science and information technology (IT) concepts, evidence, theories or situations, in particular to analyse and model complex requirements and constraints for the purpose of designing and implementing software artefacts and IT systems.

3. Problem Solving:
Your capability to analyse complex problems and synthesise suitable solutions will be extended as you learn to: design and implement software solutions that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification.

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

5. 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 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 designing software applications and IT systems.

Course Learning Outcomes 

Upon successful completion of this course you should be able to:

CL01:use the Java programming language in the implementation of small to medium sized application programs that  illustrate professionally acceptable coding and performance standards.

CL02: 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.

CLO3: describe and apply basic algorithms and data structures, in particularrecursive algorithms, simple searching and sorting algorithms and simple linked list structures.

CLO4: implement basic event-driven programming and graphical user interfaces using Java.

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

A total of 120 hours of study is expected during this course, comprising:

Lectures (2 hours per week) will introduce key concepts related to the learning objectives. Some assessment will also be performed during lecture time.

Tutorial/lab sessions (2 hours per week total) will provide opportunity for interaction in smaller classes to perform exercises designed to deepen understanding of concepts and to perform practical programming exercises under supervision of a tutor who is an experienced Java programmer.

Assignments, as described in Overview of Assessment (below), requiring an integrated understanding of the subject matter, will contribute to your learning to practically apply the range of concepts covered in the course.

Private study and assessment preparation will contribute to your learning.

Feedback will be regular both in response to submitted assignments, learning sessions and through interaction with teaching staff.



Overview of Learning Resources

The course is supported by the Blackboard learning management system which provides specific learning resources. See the RMIT Library Guide at

Overview of Assessment

Note: This course has no hurdle requirements.


Assessment tasks


Assessment Task 1: Mid-term test

Weighting 20%

This assessment task supports CLOs 1, 2, 3.


Assessment Task 2: Programming Assignment 

Weighting 30%

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


Assessment Task 3: Final written examination.

Weighting 50% 

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