Course Title: Programming Fundamentals

Part A: Course Overview

Course Title: Programming Fundamentals

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


140H Computer Science & Information Technology


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


City Campus


171H School of Science


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

Course Coordinator: Dr Huong Ha

Course Coordinator Phone: by email

Course Coordinator Email:

Course Coordinator Availability: By appointment, by email

Pre-requisite Courses and Assumed Knowledge and Capabilities

There are no enforced requisites.

Course Description

Programming skill represents a generic problem solving ability, and is considered essential for anyone involved in the development and maintenance of software systems.

This course aims to introduce you to foundational knowledge about:

  • computer systems;
  • their components and interactions between components;
  • the conceptual building blocks necessary for programming; and
  • basic computer programming skills.

Objectives/Learning Outcomes/Capability Development

Program Learning Outcomes:

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:

  1. Analyse simple computing problems.
  2. Devise suitable algorithmic solutions and code these algorithmic solutions in a computer programming language.  
  3. Develop maintainable and reusable solutions using the object oriented paradigm.

Overview of Learning Activities

1. Teaching staff inputs:

Syllabus material will be presented, explained and illustrated with demonstrations, examples and problems in pre-recorded lectures, tutorials, laboratories or online. Problem solving exercises, assignments and discussions are designed to develop your analytical skills, drawing on knowledge and frameworks covered in lectures.

2. Your inputs as a learner:

Your active and constructive participation in lectorials, and tutorial discussions is expected in addition to weekly private study, completion of tutorial and laboratory questions and careful planning and completion of assessment tasks.

Please note that postgraduate students are expected to demonstrate knowledge and skills at postgraduate level.

Overview of Learning Resources

You should make extensive use of computer laboratories and relevant software provided by the School. You should 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

Note: There are no hurdle requirements in this course.

On-campus Version:

Assessment Task 1: Assignment 1
Weighting 20%
This assessment task supports CLOs 1, 2 & 3

Assessment Task 2: Assignment 2
Weighting 30%
This assessment task supports CLOs 1, 2 & 3

Assessment Task 3: In-class challenges
This task comprises of 2 in-class challenges
Weighting 20%
This assessment task supports CLOs 1, 2 & 3

Assessment Task 4: Final coding project
Weighting 30%
This assessment task supports CLOs 1, 2 & 3

RMIT Online Version:

Assessment Task 1: Problem-solving Exercises
This task comprises of 4 exercises
Weighting 20%
This assessment task supports CLOs 1, 2 & 3

Assessment Task 2: Class Tests 1 and 2
This task comprises of 2 tests
Weighting 25%
This assessment task supports CLOs 1 & 2

Assessment Task 3: Class Test 3
Weighting 25%
This assessment task supports CLOs 1, 2 & 3

Assessment Task 4: Object Oriented Application
Weighting 30%
This assessment task supports CLOs 1, 2 & 3