Principles of mobile applications

Login to access the course.
Principles of mobile applications (Main course) B6B39PDA
Credits 6
Semesters Summer
Completion Assessment + Examination
Language of teaching undefined
Extent of teaching 2P+2C
Annotation
Student who successfully passed the course get overview about properties and about limits of single mobile technologies. The course is focused on specific problems related to limitations and new capabilities of mobile devices. Attention is paid to maximal utilization of environment characteristics in which the mobile application is used. Course is not focused on introduction of basic programming techniques for mobile application development - it is expected that students already have this skills or will be gained by means of self-study.
Study targets
The goal of this course is to teach the students the right way of design and implementation of mobile applications.
Course outlines
Introduction, HCI, Mobile apps, Design guidelines
Prototyping, Screen space, Screen size and shape, Information grouping
Information packing, lists, scrolling, UI patterns
Testing
Development: Native and hybrid apps, Mobile web
Development: Android
Development: iOS
API, SDK, services, notifications
Sensors, context
Gestures, voice, text entry
Development: Advanced Android
Wearables, connected devices, accessibility
Beyond traditional UI design
Exercises outlines
Design guidelines 1 - application analysis
Design guidelines 2 - application design
Design patterns, best practices, electronic prototyping
Semester project assignment, electronic prototyping, testing
Individual work D1
Android basics
iOS
Data
Camera, Accelerometers, Sensors
Bluetooth + GPS
Notifications, gestures, REST API
Individual work D2
Presentation of semester projects
Literature
1. Perea P., Giner P., UX Design for Mobile, Packt Publishing, 2017
2. Jones M.,Marsden G. Mobile Interaction Design, Wiley, 2006
3. Weiss S. Handheld usability, Wiley, 2002
4. Cooper A., Reimann R., Vronin D. About Faces - The Essentials of Interaction Design, Wiley, 2007
Requirements
Knowledge of higher programming languages (e.g., Java, C++, C#).
Details can be found on the web https://moodle.fel.cvut.cz/courses/B6B39PDA