CC7162 - Mobile Application Design and Development (2017/18)
|Module specification||Module approved to run in 2017/18|
|Module title||Mobile Application Design and Development|
|Module level||Masters (07)|
|Credit rating for module||20|
|School||School of Computing and Digital Media|
|Total study hours||200|
|Running in 2017/18||No instances running in the year|
This module addresses key principles of software engineering for mobile applications, HCI design principles for mobile devices, and key mobile application development techniques and technologies.
Prior learning requirements
Object Oriented Programming Experience
This module aims to give students the opportunity to develop
- a good understanding of key principles of software engineering for mobile applications.
- a good understanding of HCI design principles for mobile devices.
- an awareness of various issues in the development of mobile applications.
- a good understanding of current mobile technology, application architecture, platforms and tools.
- skills to use an object oriented programming language to develop interactive mobile applications.
1. Key principles of software engineering for mobile applications
- Code reviews
- Source version control
- Unit tests.
2. HCI design principles, design lifecycles and design patterns for mobile applications.
3. Mobile platforms and software development SDKs (eg. iOS, Google Android, Windows Mobile)
4. Mobile application development environments (eg. XCode, Eclipse, Virtual Studio)
5. Modern programming languages used for mobile applications development (e.g. Objective C, Java, C#)
6. Mobile applications architecture (eg. MVC)
7. Mobile technologies
- Core Location Framework
- Map Kit Framework
- Persistence storage
- Quartz 2D
- OpenGL ES
- Mobile games
- Networking and Bonjour
- Augmented Reality
8. Methods for mobile applications development (eg. Prototyping, iterative)
9. Pervasive Computing Systems
10. Professional and ethical issues
Learning and teaching
Each week the students will attend a two-hour lecture that focuses on the current technologies in mobile and other Internet-based computing topics. Opportunities to reinforce understanding and practical application of many of these ideas are provided through two-hour scheduled workshop sessions. Additional practical work outside of scheduled teaching sessions is essential.
Indicative students' learning time on the module:
Class contact hours: 2 hours of lecture and 2 hours of workshop per week.
Total study hours = 200 hours
On successful completion of this module students will be able to:
LO1. Demonstrate a good understanding of key principles of software engineering for mobile applications.
LO2. Demonstrate a good understanding of HCI design principles for mobile devices.
LO3. Design an interactive mobile prototype to meet the real needs.
LO4: Develop substantial mobile applications using appropriate methodology, techniques, technologies and tools.
LO5: Develop skill to deal with professional and ethical issues.
The module is assessed 100% through coursework. The coursework involves the development of a mobile application that implements some of the current mobile technologies together with supporting documentation in the form of a research report and technical design report.
1. The source code of the mobile application.
2. The research report will be around 2000 words, and be topics related to the coursework subject.
3. The technical design report will be around 2000 words. It should outline how key principles of software engineering, the HCI design principle, and the software development method are applied in the coursework. Students also need to demonstrate consideration of how to deal with professional and ethical issues in the coursework context.
Timing of assessment:
1. Assessment details are made available during week 1 of the module.
2. Students will be given subjects for the coursework, but they can also come up with their own ideas. Student will need to submit a brief proposal of the subjects of their mobile applications by week 6, and there will be an interim presentation in week 7 to provide feedback and examine their progress.
3. The coursework is submitted and presented during week 15. All students are required to demonstrate their applications in week 15.
Assessment criteria: will be based on the:
- demonstration a good understanding of key principles of software engineering for mobile applications. [LO1]
- demonstration a good understanding of HCI design principles for mobile applications. [LO2]
- demonstration of knowledge and understanding of mobile design principles and methods. [LO3]
- demonstration of technical skills to develop mobile applications using appropriate methods, programming language, technologies and development tools; [LO4]
- demonstration of a good understanding of how to deal with professional and ethical issues in the field of mobile applications. [LO5]
Alencar p., Cowan D., (2012), Handbook of Research on Mobile Software Engineering: Design, Implementation and Emergent Applications, Idea Group, ISBN-10: 1466616105
Salmre I., (2005), Writing Mobile Code: Essential Software Engineering for Building Mobile Applications, Addison Wesley, ISBN-10: 0321269314.
Rogers Y., Sharp H., Preece J., (2011), Interaction Design: Beyond Human-Computer Interaction, John Wiley & Sons, 3rd edition, ISBN-10: 0470665769.
Nahavandipoor V., (2012), iOS 5 Programming Cookbook: Solutions & Examples for iPhone, iPad, and iPod touch Apps, Oreilly, ISBN-10: 1449311431
Turner J., (2011), Developing Enterprise iOS Applications: iPhone and iPad Apps for Companies and Organizations, Oreilly, ISBN-10: 1449311482
Ray J., (2011), Sams Teach Yourself iOS 5 Application Development in 24 Hours, 3rd Edition, Sams, ISBN-10: 067233576X
Gargenta M., (2011), Learning Android, O'Reilly Media, ISBN: 9781449390501
Darcey L., Conder S., (2010), Sams Teach Yourself Android Application Development in 24 Hours, Sams; 1 edition, ISBN: 9780321673350
Dalrymple M., Knaster S., (2008), Learn Objective-C on the Mac (Learn Series), APRESS, ISBN-10: 1430218150
iOS Developer Portal, http://developer.apple.com
Google Android SDK, on-line resource http://www.android.com