Course Title: Programming Principles 2A

Part A: Course Overview

Course Title: Programming Principles 2A

Credit Points: 12.00

Course Code




Learning Mode

Teaching Period(s)


Bundoora Campus


140H Computer Science & Information Technology


Sem 1 2006


City Campus


140H Computer Science & Information Technology


Sem 1 2006,
Sem 2 2006


RMIT University Vietnam


140H Computer Science & Information Technology


Viet2 2009,
Viet1 2010,
Viet3 2010

Course Coordinator: Dr Xiaodong Li

Course Coordinator Phone: +61 3 9925 9585

Course Coordinator Email:

Course Coordinator Location: 10.11.17

Pre-requisite Courses and Assumed Knowledge and Capabilities

You should be reasonably conversant with programming, having written small to medium-sized programs recently. This pre-requisite knowledge can be obtained by doing either:
Postgraduate: Introduction to Programming
Undergraduate: Programming 2

Course Description

This course extends the study of programming principles developed in pre-requisite courses, including use of defensive programming, debugging, testing, coding standards and practices; this material is presented using the C programming language as a vehicle for instruction. This course may serve as a foundation for further studies in Computer Science and Software Engineering.

Objectives/Learning Outcomes/Capability Development

This course contributes to the development of the following graduate capabilities:

Enabling Knowledge: You will develop knowledge and experience with: the use of the standard C programming language, good programming style, standards and practices in programming; and the implementation of dynamic data structures in a modular fashion in standard C.

Problem Solving and Critical Analysis: You will further develop your capacity to analyse and solve computing problems, develop suitable algorithmic solutions which are then coded in the C programming language.

On completion of this course you will be capable of the following, with respect to the C language:

  • Implement small to medium programs of varying complexity, using the most commonly used features of the language, whilst also adhering to standard (ISO) language features.
  • Employ good programming style, standards and practices, during program development.
  • Organise separate source translation units properly, for larger programs, so that they reflect the use of Abstract Data Types wherever required.
  • Use simple, possibly dynamically allocated, data structures in solutions.
  • Adapt programming experience and language knowledge to other programming language contexts.

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) focussed 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, as described in Overview of Assessment (below) and Assessment Tasks (part B course guide for this Teaching Period), 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.

Overview of Learning Resources

You will make extensive use of computer laboratories and relevant software provided by the School. You will be able to access course information and learning materials through the Learning Hub (also known as online@RMIT) 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.

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

Overview of Assessment

The assessment for this course comprises practical work involving the development of computer programs and a final exam.

See Assessment Tasks (part B course guide for this Teaching Period) for assessment details, including deadlines, weightings, and hurdle requirements. For standard assessment information relating to Computer Science and IT courses see: