Course Title: Mobile Programming Fundamentals

Part A: Course Overview

Course Title: Mobile 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 Coordinator: TBA

Course Coordinator Phone: +61 3 9925

Course Coordinator Email:

Pre-requisite Courses and Assumed Knowledge and Capabilities

COSC1073 Programming 1

Course Description

Mobile Programming Fundamentals provides a range of enabling skills for independent development of small scale industry standard mobile software applications.  These skills will equip you to be ready for commercial development and to meet the demand of small to medium sized organisations such as startups, small businesses and other ventures.

Emphasis is placed on the processes, tools and frameworks required to develop applications for current and emerging mobile computing devices.

In addition, you will learn industry level development methodologies as well as selected software engineering patterns such as the Model-View-Controller (MVC).  Through practical work, you will encounter a variety of real world scenarios.

Objectives/Learning Outcomes/Capability Development

On completion of this course you should be able to:

  1. Explain the fundamental challenges and opportunities of working with and developing mobile applications.
  2. Demonstrate proficiency with a mobile application development framework.
  3. Implement a range of techniques and procedures for developing a small mobile software application.
  4. Describe and Document Diagrammatically common OO design patterns such as Model View Controller (MVC) and Observer and apply in code.
  5. Design and manage the development life-cycle of a complete application.

This course is an option course in BP162, and BP232 programs.

PLO1: Knowledge - Apply a broad and coherent set of knowledge and skills for developing user-centric computing solutions for contemporary societal challenges.

PLO2: Problem Solving - Apply systematic problem solving and decision-making methodologies to identify, design and implement computing solutions to real world problems, demonstrating the ability to work independently to self-manage processes and projects.

PLO4: Communication - Communicate effectively with diverse audiences, employing a range of communication methods in interactions to both computing and non-computing personnel.

PLO6: Responsibility and Accountability - Demonstrate integrity, ethical conduct, sustainable and culturally inclusive professional standards, including First Nations knowledges and input in designing and implementing computing solutions.

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, as described in Overview of Assessment (below), 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


Teacher Guided Hours (face to face): 48 per semester

Teacher-guided learning will include lectures to present main concepts, small-class tutorials to reinforce those concepts, and supervised computer laboratory sessions to support exercises under guidance from an instructor.


Learner Directed Hours: 72 per semester

Learner-directed hours include time spent reading and studying lecture notes and prescribed and/or recommended text in order to better understand the concepts; working through examples that illustrate those concepts; and performing exercises and assignments designed by the teaching staff to reinforce concepts and develop practical skills across a variety of problem types.

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 Canvas and may be provided with copies of additional materials in class or electronically. Lists of relevant reference texts, resources in the library and freely accessible Internet sites will be provided.

Overview of Assessment

This course has no hurdle requirements.

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


Assessment 1: Assignment 1

Weighting 15%

This assessment task supports CLOs 2, 3 & 5


Assessment Task 2: Assignment 2

Weighting 25%

This assessment task supports CLO 2, 3, 4 & 5


Assessment 3: Class Test

Weighting 10% 

This assessment supports CLOs 1, 2


Assessment 4:  Final Exam

Weighting 50% 

This assessment supports CLOs 1, 2 & 4