Unidade Curricular:Código:
Programação de Aplicações Móveis1126PAMO
Ano:Nível:Curso:Créditos:
1MestradoEngenharia Informática (Computação Móvel)6 ects
Período Lectivo:Língua de Instrução:Nº Horas:
Primeiro SemestrePortuguês/Inglês78
Objectivos de Aprendizagem:
Nesta unidade curricular (UC) pretende-se que os alunos conheçam os principais aspectos do desenvolvimento de aplicações móveis, com destaque para a plataforma Android. Mais concretamente:
• Identificar as principais características e tecnologias de aplicações móveis
• Perceber e comparar as principais ferramentas de desenvolvimento de apps
• Compreender e desenhar apps em função dos principais aspectos que influenciam a sua arquitectura
• Utilizar ferramentas de desenvolvimento na implementação de apps para Android
• Conhecer e aplicar ferramentas de testes unitários e integração
Conteúdos Programáticos:
1. Introdução às Aplicações Móveis
2. Plataformas de desenvolvimento de aplicações móveis
3. Desenho e Arquitectura de Aplicações Móveis
4. Programação de Aplicações Móveis em Android
Demonstração da Coerência dos Conteúdos Programáticos com os Objectivos da Unidade Curricular:
O conteúdo programático organiza-se em módulos, endereçando os diferentes aspectos na base do desenvolvimento de aplicações móveis. Em concreto, o módulo 1 aborda a evolução histótica das tecnologias e aplicações móveis; o módulo 2 aborda e compara as caraterísticas das principais ferramentas de desenvolvimento de aplicações; o módulo 3 foca-se nos aspectos de desenho e arquitectura das aplicações móveis. Paralelamente, o módulo 4 abrange os aspectos mais práticos de desenvolvimento de plicações móveis para a plataforma Android. Os módulos teóricos abordam os vários aspectos e tecnologias de base no desenvolvimento de aplicações móveis; os aspectos de desenvolvimento são aplicados no módulo 4 com recurso a vários exemplos práticos (hands-on labs) de aplicações Android (e.g. padrões de interacção e gestão de eventos, localização e mapas, recursos e armazenamento de dados, comunicações, etc.).
Metodologias de Ensino (Avaliação Incluída):
Os aspectos mais teóricos são introduzidos nas aulas teórico-práticas (TP), cobrindo a evolução histórica das aplicações móveis, as principais plataformas de desenvolvimento e os diferentes aspectos na base do desenho e desenvolvimentos de aplicações móveis. Nas aulas práticas laboratoriais (PL) promove-se o estudo da plataforma Android recorrendo a vários labs onde se exploram as diversas vertentes da plataforma. As aulas PL são organizadas por módulos, endereçando os diferentes aspectos da plataforma Android (cf. interfaces, localização e mapas, armazenamento, comunicações, etc.), complementando os aspectos abordados nas aulas TP.
A avaliação compreende duas componentes TP e PL:
50% TP (90% Test + 10% Cont. Eval) + 50% PL (20% Specs & Arch Report + 70% App + 10% Cont. Eval)
Demonstração da Coerência das Metodologias de Ensino com os Objectivos de Aprendizagem da Unidade Curricular:
A metodologia de ensino foca-se no estudo e comparação das principais tecnologias e plataformas utilizadas no desenvolvimento de aplicações móveis. As aulas TP cobrem os vários aspectos de arquitectura e desenvolvimento de aplicações (e.g. usabilidade, desempenho, comunicações, armazenamento e sincronização de dados, segurança, etc.). Paralelamente, as aulas PL orientam-se por exercícios modulares direcionados para as várias vertentes das aplicações Android. A resolução sequencial de labs (hands-on) estimulam o desenvolvimento prático dos conhecimentos sobre aplicações móveis. Esta prática permite consolidar os diversos aspectos do processo de desenvolvimento de aplicações móveis com recurso a exercícios concretos.
Bibliografia:
1. G. Coulouris, J. Dollimore & T. Kindberg, Distributed Systems: Concepts and Design, 4th Edition, Addison Wesley, 2005.
2. T. Mikkonen, Programming Mobile Devices: an introduction for practitioners, John Wiley & Sons, 2007.
3. Android Developers, http://developer.android.com/, (accessed September 2019).
Docente (* Responsável):
Rui Silva Moreira (rmoreira@ufp.edu.pt)