Mestrado | Informática

Desenvolvimento de Plataformas Android

Área Científica

Ciências Informáticas

Duração

Semestral

ECTS

5

Horas de Contacto Teórico Práticas

35h

OBJETIVOS DA APRENDIZAGEM

O1 – Conhecer a linguagem Kotlin, incluindo a sua sintaxe, estruturas de controle, funções, lambdas, classes, objetos e coleções
O2 – Configurar e utilizar o ambiente de desenvolvimento Android, e perceber a arquitetura de aplicações, UI e layouts, e gerir o ciclo de vida de aplicações.
O3 – Implementar persistência de dados local em aplicações Android.
O4 – Configurar e utilizar Firebase para autenticação e armazenamento
O5 – Consumir e desenvolver APIs REST, realizar parsing de JSON, e integrar uma aplicação completa em Android com uma base de dados relacional remota.
O6 – Integrar funcionalidades de localização, mapas, Bluetooth e APIs sociais em aplicações móveis.
O7 – Desenvolver um projeto final em grupo que demonstre a integração dos conhecimentos adquiridos no curso.

PROGRAMA

1. Linguagem Kotlin
1.1. Introdução ao Kotlin.
1.2. Sintaxe, variáveis, tipos de dados, operadores.
1.3. Controle de fluxo
1.4. Funções e Lambdas
1.5. Classes e Objetos
1.6. Coleções em Kotlin

2. Desenvolvimento Android
2.1. Configuração do Ambiente de Desenvolvimento
2.2. Arquitetura de uma Aplicação Android
2.3. UI e Layouts
2.4. Gestão de Eventos
2.5. Adaptação a Diferentes Dispositivos e Traduções
2.6. Ciclo de Vida de Aplicações Android

3. Persistência de dados local
3.1. SharedPreferences
3.2. SQLite

4. Backend as a Service (Firebase)
4.1. Configuração, autenticação, armazenamento.
4.2. Firebase Realtime Database
4.3. Firebase Cloud Firestore

5. Persistência remota e uso de APIs
5.1. APIs REST: Consumo de APIs REST, parsing de JSON.
5.2. Elaboração de API para ser consumida
5.3. Aplicação completa – demostração de aplicação completa usando API e base de dados relacional remota.

6. Integração com Sensores, Mapas e outras Apis
6.1. Localização
6.2. Mapas
6.3. Blutooth e outros sensores
6.4. Apis Sociais

7. Projeto Final – Desenvolvimento de App, em grupo
Para todos os módulos serão elaboradas pequenas aplicações para demonstrar as funcionalidades

DEMONSTRAÇÃO DE COERÊNCIA ENTRE CONTEÚDOS PROGRAMÁTICOS E RESULTADOS DA APRENDIZAGEM

Os conteúdos programáticos da UC são planeados para garantir uma progressão lógica na aprendizagem dos estudantes. Inicia-se com a aquisição de competências fundamentais na linguagem Kotlin, seguido pela aplicação dessas competências no ambiente de desenvolvimento Android. À medida que os alunos consolidam seus conhecimentos básicos, são introduzidos conceitos mais avançados, como a persistência de dados e a integração com serviços externos. Este planeamento garante que cada módulo construa sobre o anterior, culminando no desenvolvimento de um projeto final que sintetiza todos os conceitos aprendidos. Assim, o objetivo 1 é concretizado através dos pontos 1.1 a 1.6. Os pontos 2.1 a 2.6 permitem realizar o objetivo 2. O objetivo 3 pode ser alcançado através dos pontos 3.1 e 3.2. Os pontos 4.1 a 4.3 permitem realizar o objetivo 4. O objetivo 5 é concretizado através dos pontos 5.1 a 5.3. Finalmente, o objetivo 6 é alcançado através dos pontos 6.1 a 6.4, e o objetivo 7 é concretizado através do projeto final do ponto 7.

METODOLOGIA DE ENSINO E AVALIAÇÃO

A unidade curricular é de natureza teórico-prática, com 35 horas de contacto planeadas. A aprendizagem será fortemente baseada na prática, conforme é exigido pelo ensino de linguagens de programação e tecnologias associadas. O processo de ensino-aprendizagem será baseado na demonstração de conceitos teóricos, depois demonstração pratica e desenvolvimento de pequenas aplicações Android, realizadas individualmente. Estas aplicações são desenhadas para permitir que os alunos apliquem de forma concreta os conhecimentos teóricos adquiridos, facilitando a progressão na compreensão e na capacidade de aplicar os conteúdos estudados. No final é elaborado um projeto em grupo reunindo os conhecimentos adquiridos.
De acordo com o Regulamento de Funcionamento do ISTEC a avaliação é efetuada através de
um exame escrito individual e obrigatório. Na classificação final, poderão ser considerados
elementos de avaliação contínua, tais como testes, trabalhos individuais ou em grupo, assim
como a participação nas aulas presenciais e em recursos de aprendizagem proporcionados por
sistemas de e-learning.

DEMONSTRAÇÃO DE COERÊNCIA ENTRE METODOLOGIAS DE ENSINO E RESULTADOS DE APRENDIZAGEM

Na unidade curricular, a metodologia teórico-prática permite aos alunos assimilar conceitos fundamentais e aplicá-los na criação de aplicações móveis. Iniciando com a sintaxe da linguagem Kotlin, o curso progride para o ensino da arquitetura de aplicações Android, interfaces de utilizador e adaptação a diversos dispositivos, além de incluir módulos sobre persistência de dados e Firebase. O projeto final que integra todas as tecnologias estudadas demonstra efetivamente a coerência entre as práticas de ensino adotadas e os resultados de aprendizagem desejados, capacitando os estudantes a desenvolverem aplicações Android completas e funcionais.

BIBLIOGRAFIA

Devido à bibliografia existente em português usar linguagens de programação e versões de ambientes de desenvolvimento já desatualizadas, a bibliografia recomendada é constituída de livros na língua inglesa. Em virtude da natureza altamente dinâmica das áreas, serão disponibilizados recursos na internet atuais, bem como slides do professor.
Kotlin Programming: The Big Nerd Ranch Guide, 2nd Edition, David Greenhalgh, Josh Skeen, Andrew Bailey, 2021, Big Nerd Ranch Guides, ISBN-13: 978-0-13-689105-5
Android Programming: The Big Nerd Ranch Guide, 5th Edition, Bryan Sills, Brian Gardner, Kristin Marsicano, Chris Stewart, 202, Addison-Wesley Professional. Part of the Big Nerd Ranch Guides, ISBN-13: 978-0-13-764554-1 (versão baseada em Kotlin)
Slides disponibilizados pelo docente
Recursos atuais na internet