Computação Móvel | Disciplinas | Universidade Lusófona
Esta UC é cada vez mais fundamental numa sociedade onde o número de smartphones já ultrapassa largamente o número de computadores e onde se prevê que, num futuro próximo, cada indivíduo se faça acompanhar de um conjunto de dispositivos móveis (smartwatches, smart glasses, sensores, etc.) programáveis, criando a oportunidade para que os engenheiros informáticos possam resolver um vasto conjunto de problemas cuja resolução era até agora impossível ou excessivamente dispendiosa.
A dificuldade está em passar conhecimento que não se esgote no dia em que terminam a UC, dada a velocidade vertiginosa a que evoluem as tecnologias associadas à computação móvel. Nesse sentido, esta UC não pretende apenas ensinar a programar Android mas sim abordar temas intemporais desta área como os vários Modelos de Desenvolvmento, Autonomia, Geo-localização, Conectividade ou Usabilidade.
ULHT260-16925
Linguagens de Programação 2, Programação Web, Redes
Computação Móvel / Sistemas Ubíquos / IoT
Arquitetura e desenvolvimento de aplicações móveis (Web, Híbridas, Nativas) - Usabilidade e Interação
Dispositivos emergentes: smartwatches, dispositivos activados por voz
O objectivo desta unidade curricular é introduzir os conceitos fundamentais da computação móvel. O aluno deverá ser capaz de perceber como tirar o máximo partido das vantagens da computação móvel (localização, sensores, contextual), quando aplicados à resolução de problema concretos. O aluno deverá estar sensibilizado para os constrangimentos típicos de uma aplicação móvel (autonomia, conectividade, usabilidade) e conhecer os mecanismos que permitem ultrapassar esses constrangimentos.
Concretamente, o aluno deverá conhecer os 4 modelos de desenvolvimento de aplicações móveis (Web, Híbrido-Web, Híbrido-Nativo e Nativo) e saber aplicar os conceitos utilizando pelo menos 2 destes modelos - nomeadamente Híbrido-Nativo (Flutter) e Nativo (Android Kotlin).
A disciplina é teórico-prática, havendo uma alternância entre a componente expositiva e participativa. As aulas teóricas seguem o programa definido, apresentando os conceitos teóricos sustentados por exemplos práticos. A aprendizagem dos conceitos é validada através de pequenos exercícios e discussão aberta entre os alunos, que permitem ao professor aferir da eficácia das suas explicações. Nas aulas práticas os alunos aplicam os conceitos teóricos à resolução de exercícios de programação feitos em computador, de forma individual ou em grupo. As aulas práticas decorrem sempre em sintonia com as aulas teóricas da semana anterior.
Componente teórica (40% da nota final, min: 9,5), com uma frequência presencial (70%), participação (5%) e um trabalho teórico individual com apresentação (25%).
Componente prática (60% da nota final, min: 9,5), com 1 Mini-projeto prático individual (25%), quizzes (5%) e um projecto em grupos de 2 alunos (70%)
Poslad, S. (2011). Ubiquitous computing: smart devices, environments and interactions. John Wiley & Sons.
Griffiths, D., & Griffiths, D. (2021). Head First Android Development. Third edition. O'Reilly Media, Inc.
Mota, C. (2020). Android Training Program (curso online) - https://www.youtube.com/channel/UCIEBWb2nz2huEllUHhH4Lfg