Course Brief

Use of mobile devices has been experiencing a very significant increase in recent years. This is driven by the lowering cost of hardware components, service infrastructures as well as software architectures. With the fast expansion of mobile devices, the development of applications for these devices, whilst still at the forefront of technology, is fast entering the mainstream of software development. Software developers entering this field need a critical awareness of how the characteristics of mobile devices and applications affect decisions about software design and be able to select, justify and use appropriate technologies, standards, APIs and toolkits to build mobile applications. This course aims to prepare students to lead in the area of mobile software development by enhancing their critical analytical abilities in this field. The course aims to develop a high level of awareness in the application of the relevant technologies and equip students with well developed skills in the design and development of mobile applications using up-to-date software development tools and APIs.

  • This course is offered in 65 hours
  • On completing this course successfully you will be able to:
  • Have a critical awareness of and understand the technical challenges posed by current mobile devices and wireless communications; be able to critically evaluate and select appropriate solutions.
  • Appreciate the need, and have the ability, to keep up with rapid changes and new developments; be able to identify, and predict changes in current trends in mobile communications technologies and systems.
  • Select and critically evaluate suitable software tools and APIs for the development of a particular mobile application and understand their strengths, scope and limitations.
  • Select and use appropriate application development tools to assist in the conception, design, writing and testing of various interactive programs for mobile devices.

Characteristics of wireless, mobile applications – examples, service requirement, technical challenges.
Programming mobile applications (e.g. using J2ME CLDC and MIDP).

APIs for mobile devices (e.g. Java ME, .NET CF).
HCI issues for software design on mobile devices and user interface development.
Security and maintenance of mobile computing systems.
Data persistence on mobile devices.

Networking (e.g. HTTP, Wireless Messaging, Bluetooth).
Multimedia on mobile devices (graphics, sound, music, video, games.

Coursework – 80%
Logbook – 20%