Module Details

CE881-7-SP-CO: Mobile & Social Application Programming

Year: 2017/18
Department: Computer Science and Electronic Engineering
Essex credit: 15
ECTS credit: 7.5
Available to Study Abroad / Exchange Students: No
Full Year Module Available to Study Abroad / Exchange Students for a Single Term: No
Outside Option: No

Staff
Supervisor: Ms Jialin Liu
Teaching Staff: Dr Jialin Liu
Contact details: CSEE School Office, email: csee-schooloffice (non-Essex users should add @essex.ac.uk to create full e-mail address), Telephone 01206 872770

Module is taught during the following terms
Autumn Spring Summer

Module Description

Summary

A huge industry has grown up in the last few years delivering a wide range of apps for mobile devices, including application areas such as games, social networking, information, and productivity. Given the power of modern mobile devices coupled with their range of inputs (audio, camera, GPS, motion sensor, touchscreen) this creates an exceptionally interesting platform to develop applications for. Furthermore, these platforms come complete with their own marketplaces meaning that successful applications can achieve a large market share based largely on their merit.

The purpose of this module is to teach the main aspects of programming applications for such devices. Such a course could be taught at an abstract level, independent of the particular type of device in question, but the approach taken on this module is to explore one particular platform (Android), in a hands-on and in-depth manner. This is a popular platform with a range of excellent devices (including low cost ones) from a variety of manufacturers. The platform is well designed and well documented, and has the significant advantage of being Java based, meaning that students can get up to speed relatively quickly and concentrate on the interesting issues involved in developing a high quality app without having to learn a new language at the same time.

Learning Outcomes

On successful completion of the course students should be able to:

1. Demonstrate an understanding of the business models behind mobile and social applications and the issues involved in publishing an app for a mobile platform
2. Demonstrate an ability to use the main elements of the Android API
3. Implement mobile applications that connect with social networking sites
4. Utilise appropriate date persistence mechanisms
5. Design and implement a non-trivial Android app

Outline Syllabus

HelloAndroid: Android SDK, using an IDE, Application Structure, XML descriptors, Intents, Activities, Fragments, Tasks. Resources and context, components and lifecycles, packaging an Android app, porting apps to Android.

GUI Building: main elements of Android GUIs and interactions between the GUI and the application.

Graphics: writing interactive graphics applications with fast and smooth animation for applications such as games.

Handling and persisting data: SQLite, JSON, binary serialization, XML serialization.

Developing and exploring content providers: defining a public content provider API, implementing a content provider, content observation, declaring a content provider. Using and exploring an existing content provider. Integrating with social networking sites.

Rich applications: multimedia, handling audio and video. Location-based applications, GPS, integration with mapping services such as Google maps. Utilising sensor inputs: audio, camera, gesture, motion (tilt, accelerometer).

Google Play Store: deploying an app to the market, maintaining and updating an app, utilising feedback from users. Charging for apps. Using advertisement APIs. Internationalisation.

Learning and Teaching Methods

Lectures & laboratories

Assessment

100 per cent Coursework Mark

Coursework

Progress Test - with a weighting of 10% to be taken in week 20. Lab Work - with a weighting of 15%. 5 lab works will be marked with a weight of 3% each. Assessment 1 - with a weighting of 25%. App essentials programming based on lab scripts. To be submitted via FASER in week 21. Assessment 2 - with a total weighting of 50%. Comprising: a. Complete app (30%), to be issued in week 21 and submitted via FASER in week 25 b. Report (10%) No longer than 5 pages; to be issued in week 21 and submitted in FASER in week 25. c. Presentation (10%), New product release conference. This will take place during the last lab (week 25).

Other information

STUDENTS SHOULD NOTE THAT THIS MODULE INFORMATION IS SUBJECT TO REVIEW AND CHANGE.

Bibliography

  • Recommended reading
  • Programming Android: Java Programming for the New Generation of Mobile Devices, By Zigurd Mednieks, Laird Dornin, G. Blake Meike, Masumi Nakamura
  • Publisher: O'Reilly Media, July 2011