-
Apresentação
Apresentação
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 uma linguagem/tecnologia específica mas sim abordar temas intemporais desta área como os vários Modelos de Desenvolvmento, Autonomia, Geo-localização, Conectividade ou Usabilidade.
-
Disciplina do curso
Disciplina do curso
-
Grau | Semestres | ECTS
Grau | Semestres | ECTS
Licenciado | Semestral | 6
-
Ano | Natureza | Lingua
Ano | Natureza | Lingua
3 | Obrigatório | Português
-
Código
Código
ULHT2531-16925
-
Pré-requisitos e co-requisitos
Pré-requisitos e co-requisitos
Não aplicável
-
Estágio Profissional
Estágio Profissional
Não
-
Conteúdos Programáticos
Conteúdos Programáticos
Faceta "conceptual"
- Computação Móvel / Sistemas Ubíquos / IoT
- Arquitetura e desenvolvimento de aplicações móveis (Web, Híbridas, Nativas) - Usabilidade e Interação
- Conectividade
- Geo-localização
- Autonomia
- Sensores
- Integração com serviços externos
- Modelos de negócio
Faceta "prática"
- Arquitetura de aplicações móveis
- Separação UI/Lógica de Negócio
- Programação de widgets
- Gestão de estado
- Testes unitários / integração
- Injeção de dependências
- Programação assíncrona
- Padrão repositório
-
Objetivos
Objetivos
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).
-
Metodologias de ensino e avaliação
Metodologias de ensino e avaliação
As aulas teóricas incluem muitos exercícios de "brainstorming" em que os alunos são expostos a um problema de computação móvel e têm que o resolver colaborativamente, em grupos formados espontâneamente na aula. Os resultados são partilhados com todos através da ferramenta padlet.
Existe um exercício teórico em que os alunos têm que preparar um vídeo durante o qual analisam criticamente uma aplicação móvel à sua escolha. A preparação do vídeo e gravação do mesmo trabalha a capacidade de análise, espírito crítico e criatividade, sem descurar a capacidade de comunicação.
Há uma aula com oradores convidados da indústria, que trabalham na área da computação móvel.
Nas aulas práticas, usa-se o modelo de "flipped learning" - são publicados vídeos a explicar os conceitos antes da aula prática, de forma a que os alunos possam usar o tempo das aulas para praticar e tirar dúvidas.
O projeto é sempre uma aplicação "realista", que poderia perfeitamente estar disponível na app store e google play.
-
Bibliografia principal
Bibliografia principal
- 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
-
Horário de Atendimento
Horário de Atendimento
-
Mobilidade
Mobilidade
Não