Module Title:   Advanced Programming for Mobile Devices

Module Credit:   20

Module Code:   CM-1078D

Academic Year:   2015/6

Teaching Period:   Semester 2

Module Occurrence:   A

Module Level:   FHEQ Level 7

Module Type:   Standard module

Provider:   Computer Science

Related Department/Subject Area:   School of Electrical Engineering & Computer Science

Principal Co-ordinator:   Dr Dhavalkumar Thakker

Additional Tutor(s):   -

Prerequisite(s):   None

Corequisite(s):   None

To enhance students programming skills for mobile devices running on different platforms and to address the privacy and security issues in coding.

Learning Teaching & Assessment Strategy:
Lectures and lab sessions make up the contact time. The lectures will present the relevant theory underpinning the subject and the practicals will enable students to apply the theory to practical situations. Assessment is by coursework and closed book written examination.

Lectures:   24.00          Directed Study:   150.00           
Seminars/Tutorials:   0.00          Other:   0.00           
Laboratory/Practical:   24.00          Formal Exams:   2.00          Total:   200.00

On successful completion of this module you will be able to...

demonstrate an advanced understanding of design, development and distribution of mobile applications for iOS, Android and Widows based devices.

On successful completion of this module you will be able to...

analyse and effectively use Integrated Development Environment (IDE) for mobile application programming.

On successful completion of this module you will be able to...

display the ability to transfer theoretical concepts to practical applications.

  Coursework   40%
  Design and development of a mobile application
  Examination - closed book 2.00 60%
  Closed book written examination

Supplementary Assessment:
As Original

Outline Syllabus:
Advanced topics in programming mobile devices: An overview of device-specific frameworks, e.g. Android SDK, iOS Framework, Windows Phone; memory and thread management, design principles for applications to run on multiple mobile device platforms; development tools and techniques for building mobile systems and their understanding for multitude of platforms; REST services, internationalisation and localization; privacy and security issues for mobile computing; use of emulators for development, debugging and user interface testing.
Reading List:
Book1: Phillips, B., & Hardy, B. (2013). Android Programming: The Big Nerd Ranch Guide. Pearson Education.
Book2: Napier, R., & Kumar, M. (2014). iOS 7 Programming Pushing the Limits: Develop Advance Applications for Apple iPhone, iPad, and iPod Touch. John Wiley & Sons.
Book3: Conway, J., & Hillegass, A. iOS Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides).
NB: This may be subject to change and an updated list can be found via the library catalogue at:

Version No:  1