University of Technology Sydney

40005 Advanced iOS Development

Warning: The information on this page is indicative. The subject outline for a particular session, location and mode of offering is the authoritative source of all information about the subject for that offering. Required texts, recommended texts and references in particular are likely to change. Students will be provided with a subject outline once they enrol in the subject.

Subject handbook information prior to 2024 is available in the Archives.

UTS: Information Technology: Computer Science
Credit points: 6 cp
Result type: Grade and marks

Requisite(s): 42889 iOS Application Development OR 41889 Application Development in the iOS Environment

Description

This subject provides students with an advanced understanding of iOS application development using Swift and SwiftUI. Students will explore a range of advanced concepts, frameworks, and tools to build robust and innovative iOS applications. The subject emphasises practical exposure to industry-standard development practices and encourages students to develop solutions that meet real-world software requirements.

Subject learning objectives (SLOs)

Upon successful completion of this subject students should be able to:

1. Design well-structured solution blueprints that satisfy given software requirements within the iOS development environment. (C.1)
2. Develop skills and competencies in implementing a solution using Swift programming language with the iOS development environment. (D.1)
3. Work with teams when designing and developing iOS applications and communicate the developed solution to a wider audience. (E.1)

Course intended learning outcomes (CILOs)

This subject also contributes specifically to the development of the following Course Intended Learning Outcomes (CILOs):

  • Design Oriented: FEIT graduates apply problem solving, design and decision-making methodologies to develop components, systems and processes to meet specified requirements. (C.1)
  • Technically Proficient: FEIT graduates apply abstraction, mathematics and discipline fundamentals, software, tools and techniques to evaluate, implement and operate systems. (D.1)
  • Collaborative and Communicative: FEIT graduates work as an effective member or leader of diverse teams, communicating effectively and operating within cross-disciplinary and cross-cultural contexts in the workplace. (E.1)

Teaching and learning strategies

This subject will be delivered through a series of lectures and labs. Students will attend a lecture (1.5 hours) and a lab class (1.5 hours) each week. The lecture includes various kinds of activities, such as topic/concept explanation by the lecturer, Q/A, student discussion, student presentation and software demonstration.

The lectures are supported by hands-on lab sessions to complement the concepts taught during the lectures. Each lab class includes explanation of concepts with examples by the tutor and exercises for students to practise to gain better understanding of the iOS development environment for knowledge presentation, and knowledge-based reasoning and inference for better decision making.

Content (topics)

  1. Introducing SwiftUI
  2. Data Management
  3. Advanced API Interaction and Integration
  4. Advanced Software Development Practices
Each of the above topics will have sub-topics contained.

Assessment

Assessment task 1: Solution Pitch Evaluation

Intent:

Check students' knowledge on the subject and provide feedback on progress.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1

Type: Presentation
Groupwork: Individual
Weight: 10%
Length:

2 minutes

Assessment task 2: Project 1 - iOS application development with object and protocol-oriented concepts

Intent:

This project will enhance the students’ understanding and skills in building a practical iPhone/iPad application by applying the concepts of object and protocol-oriented concepts and managing unexpected user’s input.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1 and 2

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1 and D.1

Type: Project
Groupwork: Individual
Weight: 30%
Length:

200-300 lines of code

Assessment task 3: Project 2 - iOS application development with external tools

Intent:

This group project will enhance practical skills in applying advanced iOS concepts to design and a taste on developing a market-ready prototype iOS applications utilising variety of external tools and platforms and mechanism introduced so far in the course to handle and reporting errors.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1 and 2

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1 and D.1

Type: Project
Groupwork: Individual
Weight: 30%
Length:

300 – 400 lines of code

Assessment task 4: Project 3 - iOS application development with Further external tools

Intent:

This group project will enhance practical skills in applying advanced iOS concepts to design and a taste on developing a market-ready prototype iOS applications utilising variety of external tools and platforms and mechanism to handle and reporting errors.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1 and 3

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1 and E.1

Type: Project
Groupwork: Group, individually assessed
Weight: 30%
Length:

5 minutes presentation and live project demonstration.

Minimum requirements

In order to pass the subject, a student must achieve an overall mark of 50% or more.

Recommended texts

iOS Developer Center

https://developer.apple.com/devcenter/ios/index.action

There is a vast range of articles, downloads (including XCode), sample code, etc located here. Any iOS developer will make extensive use of this resource.