- Dr David Wakeling (Senior Lecturer, Computer Science/Director of Education Computer Science - University of Exeter)
|Delivery Type||Delivery length / details|
|Practical||20 x 2 Hour Practicals|
|Lecture||10 x 1 Hour Lectures|
|Assessment Type||Assessment length / details||Proportion|
|Semester Exam||2 Hours Written Examination||40%|
|Semester Assessment||50 Hours Programming Assignment||60%|
|Supplementary Assessment||50 Hours Assignment Students must resit failed examination and/or resubmission of failed/non-submitted coursework components or ones of equivalent value.||60%|
|Supplementary Exam||2 Hours Students must resit failed examination and/or resubmission of failed/non-submitted coursework components or ones of equivalent value.||40%|
On successful completion of this module students should be able to:
1. Compare, critically evaluate and discuss different options for implementation and deployment of a mobile app idea.
2. Design, implement and evaluate the human user interface of a mobile application against manufacturers’ guidelines and current best practice.
3. Select and apply relevant design patterns in mobile app implementation.
4. Build and test mobile applications for either iOS or Android, using appropriate language features.
5. Build Android apps that function as part of a larger distributed architecture.
Mobile phones and tablets have become the most numerous form of computer, and the most frequently used. Designing for such a small device 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.
Scope of mobile systems, mobile web, native apps, design choices, main platforms, overview of implications.
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 your ideas, getting the interface right, appropriate user interface guidelines. Accessibility.
4. Java’s role in Android
Revision of Java with focus on Classes, Inner classes, Packages, Interfaces and generics. The Android class library. Some Java 8 features: Lambda expressions, Streams. Model-View-Controller and Android. Brief introduction to Kotlin.
5. Building and debugging in Android Studio. Finding solutions to problems. Android application architecture. UI elements, views and Activity lifecycle. Data and its display: ListViews, files, preferences and SQLite. Threading for responsiveness. Content providers for sharing data. Intents for sharing functionality. Security using permissions. Dealing with multiple screen resolutions and sizes including the use of fragments. Gestures and animations. Services and working with the web. Testing.
|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.|
This module is at CQFW Level 6