Mobile Computing
MODULE CODE
CREDIT VALUE
Module Aims
Aim 1
To develop an understanding of contemporary mobile development platforms and skills required to develop applications for mobile devices (phone and tablets)
Aim 2
To explore a range of technical problems and solutions inherent in developing software applications for mobile computing including connectivity, security and data storage.
Aim 3
To develop an understanding of the key challenges in creating usable and effective interactive mobile applications and design techniques to address them
Aim 4
To develop understanding of the unique features of contemporary mobile devices and how they can be used in interactive mobile application. For example, gestural input, location awareness, on-board-sensing (eg accelerometers).
Module Content
Mobile devices are increasingly becoming a large part of our work and daily lives with an associated increasing demand and market place or mobile apps. Improvements in wireless networks, hardware technology, and protocols for the provision of distributed services have rapidly increased the capability and popularity of personal ICT (mobile phones, personal digital assistants and mobile PCs). The enabling technologies provide both technical and user-interface challenges for the software developer. This module explores key underlying technologies used to support mobile applications, and extends development skills to produce software for mobile devices, along with skills to understand how to design successful mobile applications.
Syllabus Content
Mobile development
-Introduction to key mobile platforms (Android, iOS, Windows Mobile etc) to support informed choice and discussion of development approach
-Development using a development platform for mobile applications, (e.g. Android).
-Development of distributed applications e.g. server-side programming and n-tier applications
-Understanding of programming considerations for accessing data from a remote server (e.g. using SQL)
-Key features of wireless network technologies from a developer perspective: short-range (e.g. Bluetooth), local (e.g. IEE802.11 wireless LAN), metropolitan (e.g. WIMAX), wide area (e.g. GPRS).
Mobile Interface Design
-Introduction to key areas with HCI and Interaction Design that focus on usability and user experience
-Exploration of relevant techniques for user-centred design and evaluation in a mobile context
-Understanding of key user and user-interface issues when developing interactive application for mobile devices.
Learning Outcomes
On successful completion of this module, a student will be able to:
Teaching Methods
The module provides students with a firm grounding in the Java programming language within the context of a range of highly valuable mobile and network-related technologies. This is combined with a more theoretical understanding of important mobile computing, networking and wireless communication issues which are then enhanced through applied examples (in Java). The student first learns to program in Java, refines their skills creating web-based applications, and creates mobile applications (which can integrate with web applications). The student explores mobile application development using Google Android. At this point the student has a set of desirable technical skills utilising Java in Enterprise and mobile contexts and is progressing with the coursework assignments. The module then moves on to teaching the important underlying issues and theory associated with mobile computing and wireless communication technologies. This gives the student a deeper understanding of the complexities of the mobile computing domain which is then assessed through the exam at the end of the module.
A combination of lectures, tutorial and lab exercises will be used to deliver the material. Lectures will consider the technology and discuss the applications. Tutorials will be used to compare technologies, including discussing the results of students’ investigations, and to prepare for practical work, particularly for programming exercises in the lab. Practical work will develop programming and user-interface design.
Where appropriate lectures have an associated lab sheet with tasks that allow students to apply the material covered in the lecture and learn skills relevant to the coursework assignment and the wider area of mobile computing. The tasks to be completed in the lab are structured to support students in continuing their learning outside of the classes, which they are expected to do every week. The assignment will involve the development of a mobile application which is designed with consideration of the issues inherent in mobile computing.
Assessment Methods
This module is assessed through a coursework and an examination.