COM4510 Software Development for Mobile Devices
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
groups. The module will be taught primarily using the Java and/or Kotlin languages.
Students should be aware that there are limited places available on this course.
||Coursework. Students will plan, design and develop
an Android application, working in groups.
||Dr Po Yang & Dr Temitope Adeosun
- 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 object-oriented programming
- to develop skills in team working
- to develop an understanding of usability in mobile
- 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 an understanding of how to optimise the performance of mobile applications software
- to develop skills in implementing mobile software
applications that use text and touch input, as well as sensors.
|| By the end of the unit, a candidate will be able to:
- Describe the software architecture of a modern mobile device
- Apply design patterns such as model-view-controller or MVVM when developing software for mobile devices
- Create software for mobile devices, making use of unique features of these devices such as touch input, sensors, foreground and background services.
- Understand the importance of usability in mobile applications and know best practices in implementing mobile apps
- Introduction to mobile computing
- How to design a mobile app
- Android framework
- Tools and development environments
- App lifecycle
- Views and layouts
- Persistence and databases
- Creating background and foreground services
- Sending data to a server
||This module is only suitable for students who are strong programmers in an object oriented language (Java is a requirement). The maximum number of students allowed on the module is 45.
||Students should be very experienced in object-oriented software development.
|| There will be 1 lecture a week in a lecture theatre, and 2 hours of lab-based lecture. Lectures provide the basic technical
material that students need to be able to understand.
Programming is a practical skill, so the lectures are
supplemented with lab-based classes in which specific technical topics are thought and applied. These classes support the
development of practical programming skills.
|| Feedback on solutions to laboratory exercise sheets,
throughout the semester
Feedback on interim and final stages of the project work
- Android architecture components
- Android Interface guidelines
- Android design guidelines