Programação de Dispositivos Móveis

Métodos de Ensino

Estratégia de aprendizagem apoiada na experimentação da matéria exposta nas aulas, através do desenvolvimento de módulos de software, com exemplos práticos. O sucesso escolar do estudante implica um estudo contínuo do estudante nas aulas e fora das aulas.
Aulas teóricas – A exposição é realizada com o apoio de diapositivos e exploração de aplicações previamente criadas e completadas em sala de aula. Requer-se a participação dos alunos na aplicação dos conhecimentos transmitidos.
Aulas práticas – Na componente prática (P), os estudantes desenvolvem, com o apoio de folhas de exercícios, módulos de software, dando especial ênfase às fases da análise do problema, do desenvolvimento da solução, aplicando as regras de Desenho da Interacção de forma a aumentar a Usabilidade dos sistemas móveis interativos.
A aquisição dos conceitos mais teóricos será avaliada através de uma prova escrita. As competências práticas serão avaliadas com base em trabalhos práticos.

Resultados de Aprendizagem

Pretende-se que os alunos adquiram conhecimentos que lhes permitam desenvolver aplicações para sistemas móveis, tendo em conta as especificidades destes dispositivos e desenvolvendo as seguintes competências:
• Desenvolvimento de aplicações para dispositivos móveis
• Análise e proposta de funcionalidades e formas de interação adequadas aos objetivos e contextos de utilização das aplicações
• Adequação e otimização de implementações de acordo com as capacidades dos dispositivos
• Criação de aplicações modulares seguindo padrões de programação adequados
• Desenvolvimento de capacidades de programação orientada a objetos
• Desenvolvimento de aplicações baseada em componentes
• Utilização de informação espacial e ambiental diversa no contexto das aplicações
• Gestão e manutenção de dados de forma persistente em sistemas com capacidades limitadas
• Disponibilização de aplicações a públicos específicos e/ou alargados.

Programa

1. Introdução a conceitos sobre sistemas móveis, sistemas disseminados e sistemas ubíquos.
2. Fundamentos sobre programação orientada a objetos
3. Conceitos sobre interação e usabilidade de aplicações para dispositivos móveis.
4. Programação de aplicações para dispositivos móveis.
5. Programação de sistemas pervasivos/inteligência ambiental.
6. Distribuição de aplicações e gestão de versões.

 

Estágio(s)

NAO

Bibliografia

 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/