University of Technology Sydney

41889 Application Development in the iOS Environment

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

Subject level:

Undergraduate

Result type: Grade and marks

Requisite(s): 48023 Programming Fundamentals OR 31267 Programming Fundamentals OR 41039 Programming 1
Anti-requisite(s): 42889 iOS Application Development

Recommended studies:

Students would benefit from completing other programming subjects, particularly 31251 Data Structures and Algorithms.

Description

This subject is an introduction to iOS application development. Students learn the Swift programming language, the iOS development environment and explore the iOS app frameworks. The subject has an emphasis on giving students practical exposure to software development in the iOS environment.

Subject learning objectives (SLOs)

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

1. Design a well-structured programming solution that satisfies given software requirements. (C.1)
2. Implement the solution using Swift programming language under the iOS development environment. (D.1)
3. Independently explore and utilise various iOS frameworks and APIs. (D.1)
4. Demonstrate the fully tested software using iOS simulator for iPads and iPhones. (D.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)

Teaching and learning strategies

This subject is composed of formal lectures, video learning materials, practical programming exercises/projects, lab quizzes and a collaborative report.

The lectures will present new topics on iOS each week. Live code demonstrations will be provided in the lectures to enhance students' understanding of the topic. Students are encouraged to follow the demonstrations on their own computers whenever possible. Questioning by students is actively encouraged.

The video materials provide the detailed demonstration on how to use iOS development environment and focus on GUI programming. They will give student the opportunities to self study these topics prior to the lectures and the laboratory exercises.

The laboratories consist of small programming exercises that help student to get practical understanding of the software development concepts delivered in the lectures. The expected results from the exercises are provided so that students can check their progresses. There will be three small quizzes in the laboratories at various stages to check students' knowledge. This ensures students acquire necessary knowledge at a consistent pace. The last three laboratories will be dedicated to group collaboration work for Project 3. Laboratory assistants will be there to facilitate the sessions, answering questions, providing comment and encourage group collaboration.

The individual projects will present the students with the opportunity to practise the knowledge and the skills learned from the lectures and the laboratory exercises. The students will create small, useful, working programs independently. The projects will be assessed by both fellow students (peer assessment) and the laboratory assistants.

The group project ensures the students have the capabilities to collaboratively explore the vast amount of online iOS documentation and knowledge bases and apply the knowledge into practical usage. The project also encourages the students to learn from their peer group via peer assessment.

Content (topics)

Topic 1: Swift

  • Classes, inheritance, polymorphism
  • Data type
  • Loops and Conditionals

Topic 2: Cocoa Framework

  • Foundation Framework
  • Numbers, strings, collections
  • File I/O
  • GUI controls

Topic 3: iOS

  • App lifecycle and design
  • iOS frameworks
  • Building and testing app for iOS simulator and device

Assessment

Assessment task 1: Individual Programming Project 1

Intent:

The project will require the students to demonstrate their understanding and skills in programming including:

  • Data types
  • Loops and conditionals
  • Strings and arrays
  • Classes and OOP
  • Dynamic memory allocation and deletion
  • Testing and debugging
  • Using version control
Objective(s):

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

1, 2 and 4

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

C.1 and D.1

Type: Laboratory/practical
Groupwork: Individual
Weight: 25%
Length:

200-300 lines of code

Criteria:

Details of the assessment criteria will be made available in the project specification.

Assessment task 2: Individual Programming Project 2

Intent:

The project will require the students to demonstrate their understanding and skill in building a practical iPhone/iPad application solution from given customer requirements.

  • Designing the solution.
  • Building a GUI program.
  • Using the various GUI components.
  • Testing and debugging.
Objective(s):

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

1, 2 and 4

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

C.1 and D.1

Type: Laboratory/practical
Groupwork: Individual
Weight: 30%
Length:

300 – 400 lines of code

Criteria:

Details of the assessment criteria will be made available in the project specification.

Assessment task 3: Group Project

Intent:

This group project requires students to explore and understand specific iOS frameworks using available online resources, develop working code examples that utilise the iOS frameworks.

Objective(s):

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

2 and 3

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

D.1

Type: Case study
Groupwork: Group, group assessed
Weight: 30%
Length:

About 5 min presentation.

Criteria:

Details of the assessment criteria will be made available in the project specification.

Assessment task 4: Quiz 1

Intent:

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

Objective(s):

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

2

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

D.1

Type: Quiz/test
Groupwork: Individual
Weight: 5%
Length:

20 to 30 minutes

Assessment task 5: Quiz 2

Intent:

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

Objective(s):

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

2

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

D.1

Type: Quiz/test
Groupwork: Individual
Weight: 5%
Length:

20 to 30 minutes

Assessment task 6: Quiz 3

Intent:

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

Objective(s):

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

2

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

D.1

Type: Quiz/test
Groupwork: Individual
Weight: 5%
Length:

20 to 30 minutes

Minimum requirements

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

Required texts

There is no textbook. Most are out of date. Apart from lecture notes, students will be referred to iOS Developer Center website. See below. Students should familiarise themselves with the iOS Developer Centre, as well as common concepts of iOS development.

Other resources

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.

Canvas