Conhecimentos de Base Recomendados
Competências mínimas de programação
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, os estudantes desenvolvem 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 provas escritas. As competências práticas serão avaliadas com base num trabalhos prático.
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
- Introdução a conceitos sobre sistemas móveis, sistemas disseminados e sistemas ubíquos.
- Fundamentos sobre programação orientada a objetos
- Conceitos sobre interação e usabilidade de aplicações para dispositivos móveis.
- Programação de aplicações para dispositivos móveis.
- Programação de sistemas pervasivos/inteligência ambiental.
- Distribuição de aplicações e gestão de versões.
Docente(s) responsável(eis)
José Manuel Meireles MarinhoMétodos de Avaliação
- Nota prévia: a realização de provas orais complementares poderá constituir um instrumento de avaliação adicional, sempre que se considere necessária para dissipar dúvidas ou esclarecer situações suspeitas de fraude ou plágio.
- Exame escrito (todas as épocas)
- Peso na nota final: 4
- Mínimos: 25%
- Incide sobre toda a matéria lecionada.
- Análise crítica de interfaces do utilizador
- Incide sobre projetos desenvolvidos por estudantes de anos letivos anteriores.
- Atividade individual realizada em aula, com aviso prévio dos estudantes dos períodos de realização.
- No caso dos estudantes com estatuto de trabalhador-estudante, pode ser realizada em períodos alternativos, fora das aulas e previamente acordados com os docentes.
- Peso na classificação final: 1.5
- Sem mínimos
- Mini-testes e atividades em contexto de aula
- Aviso prévio dos estudantes dos períodos de realização.
- No caso dos estudantes com estatuto de trabalhador-estudante, podem ser realizados em períodos alternativos, fora das aulas e previamente acordados com os docentes.
- Peso total na classificação final: 1.5
- Sem mínimos
- Trabalho prático
- Grupos de 2 elementos
- Avaliação do protótipo
- Realizada nas aulas da oitava semana.
- No caso dos estudantes com estatuto de trabalhador-estudante, pode ser realizada em períodos alternativos, fora das aulas e previamente acordados com os docentes.
- Peso na nota final: 3
- Mínimos: 25%
- Avaliação de acompanhamento semanal
- Realizado em aula.
- No caso dos estudantes com estatuto de trabalhador-estudante, pode ser realizada em períodos alternativos, fora das aulas e previamente acordados com os docentes.
- Peso na nota final: 3
- Sem mínimos
- Avaliação final do trabalho
- Data de entrega: 23h59 do dia anterior ao período de apoio a exames
- Entrega através do Nónio
- Defesa obrigatória
- Peso na nota final: 6
- Realizada no período de apoio a exames.
- Poderão ser solicitadas alterações ao trabalho durante a defesa.
- Mínimos: 25%
- Avaliação do poster
- Entrega através do Nónio, juntamente com o trabalho para avaliação final.
- Peso na nota final: 1
- Sem mínimos
Estágio(s)
NAO
Bibliografia
Bibliografia recomendada:
- “Flutter documentation”, https://flutter.dev/docs
- “Dart documentation”, https://dart.dev/guides
- “Dart packages”, https://pub.dev/
- “Nielsen and Norman Usability Group”, https://www.nngroup.com/topic/mobile-and-tablet-design/
Bibliografia complementar:
- Banga, C. and Weinhold, J. (2014). Essential Mobile Interaction Design: Perfecting Interface Design in Mobile Apps (Usability).
- Katz, M., Moore, K. & Ngo, V. (2021). Flutter Apprentice (First Edition): Learn to Build Cross-Platform Apps. Raywenderlich Tutorial Team Editor.
- Sande, J. & Galloway, M. (2021). Dart Apprentice (First Edition): Beginning Programming with Dart. Raywenderlich Tutorial Team Editor.
- Zaccagnino, C. (2020). Programming Flutter: Native, Cross-Platform Apps the Easy Way (The Pragmatic Programmers). Michael Suaine Editor.