Course Title: Programming Fundamentals

Part A: Course Overview

Course Title: Programming Fundamentals

Credit Points: 12.00

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

Course Coordinator: Dr Charles Thevathayan

Course Coordinator Phone: +61 3 9925 9604

Course Coordinator Email:

Course Coordinator Location: 14.10.12

Course Coordinator Availability: By appointment

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 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 lecture, 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.    


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

Teacher-guided activities (48 hours): 2 hours per week of lectures and 2 hours per week of tutorial/laboratory classes.

Student-directed activities (72 hours): To achieve high levels of academic results you are expected to spend on average an additional 6 hours per week on self-directed independent learning (reading, online activities and assignments).    


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

Please note: This course has no hurdle requirements.

The assessment for this course comprises assignments involving the development of Java programs, and a final written exam. For standard assessment details, relating to Computer Science and IT courses see:


Assessment 1: Control Structures and Arrays

Weighting 20%

This assessment task supports CLOs 1 & 2


Assessment 2: O-O Programming Practice

Weighting 25%

This assessment task supports CLOs 1, 2 & 3


Assessment 3: Class Tests (weeks 3 - 12)

Weighting 15% 

This assessment supports CLOs 1, 2 & 3


Assessment 4: Written Exam

Weighting 40% 

This assessment supports CLOs 1 & 2


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