Programação de Dispositivos Móveis

Teaching Methodologies

Learning strategy supported by experimenting with the material exposed in class, through the development of software modules, with practical examples. A student’s academic success implies continuous student study in and out of class.
Theoretical classes – The exhibition is held with the support of slides and exploration of applications previously created and completed in the classroom. Student participation in the application of the acquired knowledge is required.
Practical classes – In the practical component (P), students develop software modules, with the support of worksheets. There is special emphasis on the phases of problem analysis and solution development. In order to increase the usability of interactive mobile systems, the application of Interaction Design rules is also necessary.
The acquisition of the most theoretical concepts will be assessed through a written test. Practical skills will be assessed based on practical work.

 

Learning Results

Students should acquire knowledge that will allow them to develop applications for mobile systems, considering the specificities of these devices, developing the following skills:
• Development of applications for mobile devices
• Analysis and proposal of functionalities and forms of interaction that are appropriate to the objectives and contexts for using the applications
• Adaptation and optimization of implementations according to the capabilities of the devices
• Creation of modular applications following appropriate programming standards
• Development of object-oriented programming capabilities
• Component-based application development
• Use of diverse spatial and environmental information in the context of applications
• Persistently managing and maintaining data on systems with limited capabilities
• Making applications available to specific and/or broad audiences.

Program

1. Concepts about mobile systems, disseminated systems and ubiquitous systems.
2. Fundamentals on object-oriented programming
3. Concepts about interaction and usability of applications for mobile devices.
4. Mobile applications development.
5. Programming pervasive systems/environmental intelligence.
6. Application distribution and version management.

Internship(s)

NAO

Bibliography

 Katz, M., Moore, K. & Ngo, V. (2021). Flutter Apprentice (First Edition): Learn to Build Cross-Platform Apps. Raywenderlich Tutorial Team Editor.
 Zaccagnino, C. (2020). Programming Flutter: Native, Cross-Platform Apps the Easy Way (The Pragmatic Programmers). Michael Suaine Editor.
 “Flutter documentation”, https://flutter.dev/docs
 Sande, J. & Galloway, M. (2021). Dart Apprentice (First Edition): Beginning Programming with Dart. Raywenderlich Tutorial Team Editor.
 “Dart documentation”, https://dart.dev/guides
 “Dart packages”, https://pub.dev/
 Banga, C. and Weinhold, J. (2014). Essential Mobile Interaction Design: Perfecting Interface Design in Mobile Apps (Usability).
 “Nielsen and Norman Usability Group”, https://www.nngroup.com/topic/mobile-and-tablet-design/