COM5014 - Further Software Development

Objectives:

On successful completion of the module, students will be able to:
Demonstrate capacity to code effectively in an object-oriented language, such as C++;
Understand the difference between native apps and app wrappers as well as the principles of domain-driven design;
Understand and apply practices to enable live releases, continuous integration and continuous deployment;
Manage issues of app performance and security effectively;
Test and scale apps and evaluate the efficiency trade-offs between interpreted and compiled languages relative to specified applications.

Content:

This module provides an overview of computer programming and mobile app development, setting the technical skills within realistic commercial contexts. It draws upon foundational knowledge and understanding in COM4012 Introduction to Software Development, developing skills in higher-level programming and the mathematical understanding required to support more advanced programming tasks (such as algorithms and data structures).

The module supports the learning of C++ coding with the emphasis on providing an overview of the fundamental forms and processes of higher-level computer languages, such as: the use of IDE, strings and output, conditionals and control flow, functions, lists and dictionaries, loops, data structures, objects and classes, file handling (input and output), and libraries.

The module provides an overview of mobile app development (on platforms such as Android and iOS): native apps and app wrappers, patterns and terminologies of Domain Driven Design (DDD), scalability (database optimisation and load balancing), and mobile app security.

Learning and Teaching Information:

Students are expected to rehearse the development processes provided in COM4012 Introduction to Software Development. Interactive workshops clarify and support enhanced considerations: C++ programming, project management, and continuous integration and security considerations. There is also support for developing design specifications to the right level and scope, and for establishing a comprehensive and realistic project schedule.

Workshops
Hours: 100
Intended Group Size: Cohort

Guided independent study
Hours: 300

Further details relating to assessment
Case study 1: students design and justify a solution for a business problem.

Case study 2: this is an evaluation of brand resilience, potential for scaling and focusing the artefact, and evaluation against competitor products. This is submitted before the completion of the project so that feedback can be used formatively in the project.

Artefact: The assessment comprises the following:
1) Development and implementation of the software artefact;
2) A test;
3) A reflective evaluation of the software artefact, its design and workability.

The marking reflects excellence in the awareness of the key issues, rather than whether 'everything' is executed in the app.

Assessment:

Fact File

Module Coordinator - PRS_CODE=
Level - 5
Credit Value - 40
Pre-Requisites - NONE
Semester(s) Offered -