CS317 - Mobile App Development
TIMETABLE | TEACHING MATERIAL |
Credits | 20 |
Level | 3 |
Semester | Semester 2 |
Availability | Possible elective |
Prerequisites | CS207 - Advanced Programming |
Learning Activities Breakdown | Lectures: 20 hours | Labs: 16 hours Assignments: 100 | Self study: 64 |
Items of Assessment | 3 |
Assessment | 70% Coursework 30% Class Test |
Lecturer | Mark D Dunlop |
Aims and Objectives
Students should gain a good understanding of the issues in developing for mobile environments, approaches to handling these issues and skills in developing for a widespread mobile platform.
Learning Outcomes
On completion of the class, a student should:
- understand the special nature of mobile app development.
- understand and be able to develop graphical user interfaces for mobile apps.
- understand networking requirements/challenges for mobile app development and be able to understand and develop solutions.
- understand and be able to develop 2D and 3D graphics as appropriate for mobiles.
- have an awareness of research into advanced interaction techniques for mobiles
Transferable Skills and Cognitive Ability Learning Outcomes:
- To strengthen a student’s programming ability in environments with large APIs.
- To strengthen a student’s programming ability in unstable situations.
- To build team-development skills.
- To build skills in working with a common mobile platform.
Syllabus
Mobile Graphical User Interfaces (Application lifecycle, Event-based programming, defining flexible screen layouts, linking code with resources, Model-View-Controller design; permissions and app security); Data Storage on Mobile Devices (local databases, local files, settings); Networking (data exchange standards, designing for highly unstable networks, synchronisation); Mobile 2D Graphics (screen graphical elements, 2D standards, animation); Mobile 3D Graphics (Computer graphics 3D modelling and lighting, 3D standards); Linking to other phone services (sending texts and emails, showing maps); Sensors (typical range of sensors, location input, accelerometer input, approaches to handling sensor input, smoothing sensor data); Mobile Large Data Solutions (crowd sourcing and data sharing); Mobile Interaction Techniques (user experience vs usability, mobile interface guidelines, novel interaction approaches). Legal aspects of mobile computing and future directions. Alternative platforms and development environments and frameworks.
Recommended Reading
This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.
Turner, Matt H., Hands-On JavaScript for Mobile App Development: Building Cross-Platform Apps with React Native and Node.js – A Practical Guide, 2025
Haverbeke, M., Eloquent JavaScript, 4th Edition, 2024
Sakhniuk, M., and Boduch, A., React and React Native: Build cross-platform JavaScript and TypeScript apps for the web, desktop, and mobile Paperback (5th edition) 2024
Last updated: 2025-08-20 17:12:48