COM31007 Software Development for Mobile Devices
Summary |
This module aims to provide a thorough grounding in the
principles of software development for mobile devices. The
Android platform will be used as an example,
although the modules emphasizes general principles that are
common across all mobile platforms. An important aim of the
module is to demonstrate the real-world application of
object-oriented programming principles and design patterns
in software for mobile devices. Students undertake a
substantial software implementation project, working in pairs.
Students should be aware that there are limited places available on this course. |
Session |
Autumn 2023/24 |
Credits |
10 |
Assessment |
Students will work in small teams to complete a programming assignment, which will require them to design and implement a system that demonstrates achievements of all three learning outcomes. |
Lecturer(s) |
Mr Andrew Stratton |
Resources |
|
Aims |
- to develop an understanding of the software architecture
underlying modern mobile devices
- to develop an understanding of how design patterns are
used in software frameworks for mobile devices
- to develop skills in team working
- to develop an understanding of usability in mobile
applications
- to develop an understanding of how to process data in a mobile application
- to develop an understanding of how to access programmatically and use efficiently a phone's sensors
- to develop skills in implementing mobile software
applications that use text and touch input.
|
Learning Outcomes |
By the end of the unit, a candidate will be able to:
- Describe the software architecture of a modern mobile device (A1).
- Apply design patterns such as model-view-controller or MVVM when developing software for mobile devices (A2, A7).
- Create software for mobile devices, making use of unique features of these devices such as touch input, sensors, foreground and background services (A3, A5, A6, A7).
|
Content |
- Introduction to mobile computing
- How to design a mobile app
- Android framework
- Tools and development environments
- App lifecycle
- Views and layouts
- Sensors
- Persistence and databases
- Creating background and foreground services
- Sending data to a server
|
Restrictions |
Students should be experienced in Java programming and object-oriented software development. The maximum number of students allowed on the module is 55.
Cannot be taken with COM4510 or COM6510. |
Teaching Method |
There will be 1 lecture a week in a lecture theatre, and 1 hours of lab-based lecture. Lectures provide the basic technical material that students need to be able to understand (A1, A2, A4, A5, A6). Programming is a practical skill, so the lectures are supplemented with 1 hour of lab. According to the topic, one hour online lab may be turned into a lab-based lecture. |
Feedback |
Discussion with staff during lab classes provides formative assessment throughout semester. |
|