|Prerequisites||Strong object-oriented programming skills in a language like Java, C++, or C#; Some appreciation of distributed systems development issues|
|Availability||Available only to MSc Advanced Computer Science, MSc Advanced Software Engineering, fifth year MEng Computer Science and fifth year MEng Computer & Electronic Systems students|
|Contact||Lectures: 20 | Tutorials: 0 | Labs: 20
Assignments: 80| Self study: 80
|Lecturer||Dr Sotirios Terzis|
To develop an understanding of the underpinning theories, paradigms, algorithms and architectures for building software applications to function in mobile computing environments.
On completion of the class, a student should be able to:
- appreciate and explain the problems associated with mobile software environments
- identify and explain the models and techniques typically employed in the design and development of a range of software for mobile environments, and appreciate the limitations of these
- appreciate the role and impact of context-awareness and persuasion in modern mobile applications
- demonstrate the ability to implement selections from a range of the software typically used in mobile environments.
- Review of mobile system characteristics and their implications.
- Physical and logical mobility.
- Mobile systems architectures, programming models and middleware.
- Sensing and context-awareness.
- Mobile security and privacy.
- The Android OS and development platform.
- Research issues and emerging trends, e.g. persuasive computing, self management, etc.
* This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.