Mestrado | Informática

Aplicações Web Móveis

Área Científica

Ciências Informáticas

Duração

Semestral

ECTS

5

Horas de Contacto Teórico Práticas

35h

OBJETIVOS DA APRENDIZAGEM

01 – Compreender as técnicas básicas do desenvolvimento Web Mobile
02 – Aprender os conceitos essenciais de Inteligência Artificial
03 – Explorar técnicas de Processamento de Linguagem Natural (PLN)
04 – Aplicar visão computacional para reconhecimento de imagens
05 – Desenvolver sistemas de recomendação de conteúdo
06 – Integrar soluções de IA em Aplicações Web Mobile
07 – Desenvolver e implementar aplicações completas web mobile com IA

PROGRAMA

1. Fundamentos do Desenvolvimento Web Mobile

1.1. Introdução ao desenvolvimento de aplicações web e mobile.
1.2. Exploração de frameworks populares para desenvolvimento mobile
1.3. Arquitetura básica e ciclo de vida de uma aplicação web/mobile

2. Introdução à Inteligência Artificial e Aprendizagem de Máquina

2.1. Visão geral da Inteligência Artificial e Aprendizagem de Máquina
2.2. Conceitos básicos como Redes Neurais, Classificação e Regressão
2.3. Introdução a ferramentas de IA como TensorFlow e Keras

3. Processamento de Linguagem Natural (PLN)

3.1. Fundamentos do Processamento de Linguagem Natural
3.2. Técnicas de tokenização, stemming e lematização
3.3. Construção e integração de chatbots utilizando APIs e serviços de PLN

4. Visão Computacional e Reconhecimento de Imagens

4.1. Introdução à Visão Computacional e Redes Neurais Convolucionais (CNNs)
4.2. Técnicas de reconhecimento de imagens e detecção de objetos
4.3. Uso de bibliotecas para implementar visão computacional

5. Sistemas de Recomendação

5.1. Conceitos e tipos de sistemas de recomendação
5.2. Filtragem Colaborativa vs Filtragem Baseada em Conteúdo
5.3. Desenvolvimento de modelos de recomendação usando bibliotecas

6. Integração de IA em Aplicações Web Mobile

6.1. Boas práticas para integração de IA em aplicações web mobile
6.2. Utilização de APIs de IA e serviços em nuvem
6.3. Desafios de performance, segurança e privacidade na implementação de IA

7. Projeto Final

7.1. Desenvolvimento de um projeto final, uma aplicação web mobile com IA, que integre os conceitos adquiridos ao longo da unidade curricular

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

Os conteúdos programáticos da UC são estruturados para garantir uma progressão lógica e coerente na aprendizagem dos estudantes. Iniciamos com os fundamentos do desenvolvimento web e mobile (O1), proporcionando uma base sólida em frameworks populares e arquiteturas de aplicações. Em seguida, os alunos são introduzidos aos conceitos essenciais de Inteligência Artificial (O2), que incluem redes neurais e algoritmos de aprendizagem, preparando-os para aplicações práticas. Avançando para técnicas específicas, exploramos o Processamento de Linguagem Natural (PLN) (O3) e Visão Computacional (O4), capacitando os alunos a construir chatbots e sistemas de reconhecimento de imagens. Posteriormente, a disciplina aborda sistemas de recomendação (O5), fundamentais para personalizar conteúdo em aplicações web e mobile. A integração de IA é consolidada ao ensinar boas práticas para a inclusão de IA em aplicações (O6), considerando performance e experiência do usuário. Finalmente, os conhecimentos adquiridos são aplicados no desenvolvimento de um projeto integrador (O7), que sintetiza as técnicas de IA e o desenvolvimento web/mobile num projeto final.

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 de conceitos e desenvolvimento de pequenas aplicações Web Mobile, Inteligência Artificial e integração das duas. 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.
A avaliação será efetuada com base em projetos (individuais e/ou em grupo), podendo ser utilizados 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 é essencial para que os alunos adquiram uma compreensão robusta e apliquem de forma eficaz os conceitos apresentados. Iniciamos com os fundamentos do desenvolvimento web e web mobile, criando uma base sólida em frameworks populares e na arquitetura de aplicações. À medida que os alunos progridem, são introduzidos aos princípios fundamentais de Inteligência Artificial, incluindo redes neurais e algoritmos de aprendizagem. O curso avança para técnicas específicas de Processamento de Linguagem Natural e Visão Computacional, permitindo a criação de chatbots e sistemas de reconhecimento de imagens. A metodologia de ensino enfatiza a prática ao explorar sistemas de recomendação e a integração de IA em aplicações web e mobile, abordando desafios de performance e experiência do usuário. O curso culmina com um projeto final integrador, que sintetiza todos os conhecimentos adquiridos, validando a coerência entre a abordagem prática e os objetivos de aprendizagem, e capacitando os estudantes a desenvolverem soluções web mobile com IA integrada.

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.
Eisenman, B. (2016). Learning React Native: Building Native Mobile Apps with JavaScript. O’Reilly Media.
Biessek, A. (2020). Flutter for Beginners: An Introductory Guide to Building Cross-Platform Mobile Applications with Flutter and Dart 2. Packt Publishing.
Dabit, N. (2019). React Native in Action. Manning Publications.
Russell, S., & Norvig, P. (2010). Artificial Intelligence: A Modern Approach. Pearson.
Chollet, F. (2018). Deep Learning with Python. Manning Publications
Géron, A. (2019). Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems (2nd ed.). O’Reilly Media.
Slides disponibilizados pelo docente
Recursos atuais na internet