Gwybodaeth am Fodiwlau
Course Delivery
Assessment
| Assessment Type | Assessment length / details | Proportion |
|---|---|---|
| Semester Assessment | 50 Hours Programming Assignment | 70% |
| Semester Exam | 2 Hours Written Examination | 30% |
| Supplementary Assessment | 50 Hours Programming Assignment Students must resit failed examination and/or resubmission of failed/non-submitted coursework components or ones of equivalent value. | 70% |
| Supplementary Exam | 2 Hours Written Examination | 30% |
Learning Outcomes
On successful completion of this module students should be able to:
Compare, critically evaluate and discuss different options for implementation and deployment of a mobile app idea.
Design, implement and evaluate the human user interface of a mobile application against manufacturers’ guidelines and current best practice.
Select and apply relevant design patterns in mobile app implementation.
Build and test mobile applications for iOS, using appropriate language features.
Build iOS apps that function as part of a larger distributed architecture.
Brief description
The module explores the different ways in which people are using handheld devices such as phones and tablets, and the larger systems those devices are part of. The module will cover types of devices and users, the importance of user interface issues, the different kinds of trade-offs that are made when building for mobile devices, and techniques for building an app as part of a distributed system. It will ground these issues in the practical development of iOS apps built using Swift. There will be consideration of how the ideas in iOS can be transferred to other mobile platforms.
Aims
Mobile phones and tablets have become a ubiquitous computing device that people will often use even if they may not own another type of computer. Designing for such devices involves a range of skills that students do not often exercise in other contexts. This module will explore the techniques and design choices involved in building apps, and give concrete experience of doing so for one of the main phone app development environments. The core skills learned will be transferrable to development on mobile platforms.
Content
Scope of mobile systems, mobile web, native apps, design choices, main platforms, overview of implications for mobile development.
2. Software engineering for mobile
Relevant design patterns, platform design considerations, handling data, handling device variation, using sensors and location.
3.User interfaces for mobile
Developing ideas that work on different screen sizes, taking account of internationalisation and accessibility. Applying the user interface guidelines when developing apps.
4. Learning Swift
Basic language features. Playgrounds. Collection types. Classes, Structures and Enumerations. Optionals. Protocols. Closures.
5. iOS app development
Building and debugging apps in Xcode and the simulator. Finding solutions to problems. Using SwiftUI to develop apps for different screen sizes. Working with data, including data processing in the application, displaying data and using Swift APIs for data persistence and network transfer. Applying concurrency for providing responsive applications. Applying automated testing. Using animation to enhance the user experience. Using design patterns to support app development.
6. Comparison with other mobile platforms
Consideration of other platforms, tools and techniques that can be used for mobile development, including Android and current cross-platform tools.
Module Skills
| Skills Type | Skills details |
|---|---|
| Application of Number | Inherent to the module. |
| Communication | Program produced must be understandable. |
| Improving own Learning and Performance | Continuous examples of what is being learnt enable self-evaluation. |
| Information Technology | Inherent to the module. |
| Personal Development and Career planning | Experience of module will enhance students' career prospects. |
| Problem solving | Inherent to the module. |
| Research skills | Need to find information on how to address specific programming challenges. |
| Subject Specific Skills | Module focuses on useful subject specific skills. |
| Team work | None. |
Notes
This module is at CQFW Level 6
