42889 iOS Application 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 2025 is available in the Archives.
Credit points: 6 cp
Subject level:
Postgraduate
Result type: Grade and marksRequisite(s): 48023 Programming Fundamentals OR 32555 Fundamentals of Software Development
These requisites may not apply to students in certain courses. See access conditions.
Anti-requisite(s): 41889 Application Development in the iOS Environment
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 thinking and decision-making methodologies in new contexts or to novel problems, to explore, test, analyse and synthesise complex ideas, theories or concepts. (C.1)
- Technically Proficient: FEIT graduates apply theoretical, conceptual, software and physical tools and advanced discipline knowledge to research, evaluate and predict future performance of systems characterised by complexity. (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:
|
---|---|
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.
|
---|---|
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. Students will be recommended to referred to iOS Developer Center web site. See below. Students should get familiarised 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