Apresentação

Este Master em Inteligência Artificial na Programação irá fornecer-lhe uma perspetiva holística sobre como a IA impacta e melhora todas as fases do desenvolvimento de software"

##IMAGE##

A importância da Inteligência Artificial na Programação assenta na sua capacidade de potenciar e automatizar processos, otimizando o desenvolvimento de software e melhorando a eficiência na resolução de problemas complexos. A sua capacidade de analisar grandes volumes de dados e encontrar soluções ideais levou a avanços significativos em domínios como a otimização de algoritmos, a criação de interfaces mais intuitivas e a resolução de problemas complexos em diferentes áreas. 

É por isso que a TECH desenvolveu este Mestrado Próprio, que surge como uma solução estratégica para aumentar as oportunidades profissionais e o crescimento dos informáticos nas suas carreiras. Será abordada a melhoria da produtividade no desenvolvimento de software através da IA, explorando as técnicas e ferramentas que automatizam processos, otimizam o código e aceleram a criação de aplicações inteligentes. 

Para além disso, o Master centrar-se-á no papel crucial da IA no âmbito do QA Testing, implementando algoritmos e métodos de IA para melhorar a qualidade, a precisão e a cobertura dos testes, detetando e corrigindo erros de forma mais eficiente. Será também aprofundada a integração da aprendizagem automática e das capacidades de processamento da linguagem natural no desenvolvimento da Web, criando sites inteligentes que se adaptam e oferecem experiências personalizadas aos utilizadores. 

Também se aprofundará as técnicas de IA para melhorar a usabilidade, a interação e a funcionalidade das aplicações móveis, para criar aplicações inteligentes e preditivas que se adaptem ao comportamento do utilizador. Proceder-se-á também a uma análise aprofundada da arquitetura do software com IA, incluindo os vários modelos que facilitarão a integração de algoritmos de IA e a sua implantação em ambientes de produção. 

Com o objetivo de qualificar especialistas em IA altamente competentes, a TECHconcebeu um MMasterabrangente baseado na metodologia exclusiva Relearning. Esta abordagem permitirá aos alunos consolidar a sua compreensão através da repetição de conceitos fundamentais.

Irá liderar projetos inovadores adaptados às exigências de um mercado tecnológico em constante evolução. Do que está à espera para se inscrever?"

Este Master em Inteligência Artificial na Programação conta com o conteúdo educativo mais completo e atualizado do mercado. As suas principais caraterísticas são:

  • O desenvolvimento de casos práticos apresentados por especialistas em Inteligência Artificial na Programação 
  • Os conteúdos gráficos, esquemáticos e eminentemente práticos com os quais foi concebido fornecem informação científica e prática sobre as disciplinas que são essenciais para a prática profissional 
  • Exercícios práticos onde o processo de autoavaliação pode ser levado a cabo a fim de melhorar a aprendizagem 
  • A sua ênfase especial em metodologias inovadoras  
  • Lições teóricas, perguntas ao especialista, fóruns de discussão sobre questões controversas e atividades de reflexão individual 
  • A disponibilidade de acesso ao conteúdo a partir de qualquer dispositivo fixo ou portátil com ligação à Internet 

Irá explorar os aspetos fundamentais da arquitetura de software, incluindo o desempenho, a escalabilidade e a manutenção, graças aos recursos multimédia mais inovadores"

O corpo docente do Master inclui profissionais do setor que trazem a sua experiência profissional, para além de especialistas reconhecidos de sociedades de referência e universidades de prestígio.  

O seu conteúdo multimédia, desenvolvido com a mais recente tecnologia educativa, permitirá ao profissional uma aprendizagem situada e contextual, ou seja, um ambiente simulado que proporcionará uma preparação imersiva programada para praticar em situações reais.  

A conceção deste Master baseia-se na Aprendizagem Baseada em Problemas, através da qual o profissional deverá tentar resolver as diferentes situações da atividade profissional que surgem ao longo do percurso académico. Para tal, contará com a ajuda de um sistema inovador de vídeo interativo desenvolvido por especialistas reconhecidos.

Pretende especializar-se em Inteligência Artificial? Com este Mestrado Próprio, irá dominar a otimização do processo de aplicação e a integração da IA na computação em nuvem"

##IMAGE##

Irá aprofundar a integração de elementos de IA no Visual Studio Code e a otimização do código com o ChatGPT, tudo através de um percurso académico abrangente"

Programa de estudos

Este Mastero emInteligência Artificial na Programação destaca-se pela sua abordagem integral, abrangendo não só a implementação de algoritmos inteligentes, mas também a melhoria da produtividade no desenvolvimento de software e a aplicação da IA em áreas-chave como QA Testing, projetos Web, aplicações móveis e arquitetura de software. A combinação de competências técnicas, ferramentas avançadas e a aplicação prática da IA em várias fases do desenvolvimento posiciona-o como líder, proporcionando aos profissionais uma compreensão completa e detalhada da aplicação da IA na Programação. 

##IMAGE##

Irá explorar a aplicação prática da IA em projeto Web, incluindo o desenvolvimento de front-end e back-end"

Módulo 1. Fundamentos da Inteligência Artificial

1.1. História da Inteligência Artificial

1.1.1. Quando é que começámos a falar de inteligência artificial?
1.1.2. Referências no cinema 
1.1.3. Importância da inteligência artificial 
1.1.4. Tecnologias que permitem e apoiam a inteligência artificial

1.2. Inteligência Artificial em jogos

1.2.1. Teoria dos jogos 
1.2.2. Minimax e poda Alfa-Beta 
1.2.3. Simulação: Monte Carlo

1.3. Redes neuronais

1.3.1. Fundamentos teológicos 
1.3.2. Modelo computacional 
1.3.3. Redes neuronais supervisionadas e não supervisionadas 
1.3.4. Perceptron simples 
1.3.5. Perceptron multicamadas

1.4. Algoritmos genéticos

1.4.1. História 
1.4.2. Base biológica 
1.4.3. Codificação de problemas 
1.4.4. Criação da população inicial 
1.4.5. Algoritmo principal e operadores genéticos 
1.4.6. Avaliação dos indivíduos: Fitness

1.5. Tesauros, vocabulários, taxonomias

1.5.1. Vocabulários 
1.5.2. Taxonomias 
1.5.3. Tesauros 
1.5.4. Ontologias 
1.5.5. Representação do conhecimento: web semântica

1.6. Web semântica

1.6.1. Especificações: RDF, RDFS e OWL 
1.6.2. Inferência/razoabilidade 
1.6.3. Linked Data

1.7. Sistemas periciais e DSS

1.7.1. Sistemas periciais 
1.7.2. Sistema de apoio à decisão

1.8. Chatbots e Assistentes Virtuais

1.8.1. Tipos de assistentes: assistentes de voz e texto
1.8.2. Partes fundamentais para o desenvolvimento de um agente: Intenções, entidades e fluxo de diálogo 
1.8.3. Integração: Web, Slack, Whatsapp, Facebook 
1.8.4. Ferramentas para o desenvolvimento dos agentes: Dialog Flow, Watson Assistant

1.9. Estratégia e implantação de IA 
1.10. Futuro da inteligência artificial

1.10.1. Compreendemos como detetar as emoções através de algoritmos
1.10.2. Criação de uma personalidade: linguagem, expressões e conteúdo
1.10.3. Tendências da Inteligência Artificial
1.10.4. Reflexão

Módulo 2. Tipos e Ciclo de Vida do Dado 

2.1. A Estatística

2.1.1. Estatística: estatística descritiva, inferências estatísticas
2.1.2. População, mostra indivíduo
2.1.3. Variáveis: Definição de medição

2.2. Tipos de dados estatísticos

2.2.1. De acordo com o tipo

2.2.1.1. Quantitativos: dados contínuos e dados discretos
2.2.1.2. Qualitativo: dados binomiais, dados nominais, dados ordinais

2.2.2. De acordo com a sua forma 

2.2.2.1. Numérico
2.2.2.2. Texto 
2.2.2.3. Lógico

2.2.3. De acordo com a sua fonte

2.2.3.1. Primários
2.2.3.2. Secundários

2.3. Ciclo de vida dos dados

2.3.1. Etapas do ciclo
2.3.2. Marcos do ciclo
2.3.3. Princípios FAIR

2.4. Etapas iniciais do ciclo

2.4.1. Definição de metas
2.4.2. Determinação de recursos necessários
2.4.3. Diagrama de Gantt
2.4.4. Estrutura de dados

2.5. Recolha de dados

2.5.1. Metodologia de recolha
2.5.2. Ferramentas de recolha
2.5.3. Canais de recolha

2.6. Limpeza de dados

2.6.1. Fases de limpeza de dados
2.6.2. Qualidade dos dados
2.6.3. Manipulação de dados (com R)

2.7. Análise de dados, interpretação e avaliação dos resultados

2.7.1. Medidas estatísticas
2.7.2. Indicadores de relação
2.7.3. Mineração de dados

2.8. Armazém de dados (Datawarehouse)

2.8.1. Elementos incluídos
2.8.2. Design
2.8.3. Aspetos a considerar

2.9. Disponibilidade dos dados

2.9.1. Acesso
2.9.2. Utilidade
2.9.3. Segurança

2.10. Aspetos regulamentares

2.10.1. Lei da Proteção de Dados
2.10.2. Boas práticas
2.10.3. Outros aspetos regulamentares

Módulo 3. O dado na Inteligência Artificial 

3.1. Ciência de dados

3.1.1. A ciência de dados 
3.1.2. Ferramentas avançadas para o cientista de dados

3.2. Dados, informação e conhecimento

3.2.1. Dados, informação e conhecimento
3.2.2. Tipos de dados 
3.2.3. Fontes de dados

3.3. Dos dados à informação

3.3.1. Análise de Dados 
3.3.2. Tipos de análise 
3.3.3. Extração de informação de um Dataset

3.4. Extração de informação através da visualização

3.4.1. A visualização como ferramenta de análise 
3.4.2. Métodos de visualização
3.4.3. Visualização de um conjunto de dados

3.5. Qualidade dos dados

3.5.1. Dados de qualidade 
3.5.2. Limpeza de dados
3.5.3. Pré-processamento básico de dados

3.6. Dataset

3.6.1. Enriquecimento do Dataset 
3.6.2. A maldição da dimensionalidade 
3.6.3. Modificação do nosso conjunto de dados

3.7. Desequilíbrio

3.7.1. Desequilíbrio de classes 
3.7.2. Técnicas de mitigação do desiquilíbrio 
3.7.3. Equilíbrio de um Dataset

3.8. Modelos sem supervisão

3.8.1. Modelo não supervisionado 
3.8.2. Métodos 
3.8.3. Classificação com modelos não supervisionados

3.9. Modelos supervisionados

3.9.1. Modelo supervisionado 
3.9.2. Métodos 
3.9.3. Classificação com modelos supervisionados

3.10. Ferramentas e boas práticas

3.10.1. Boas práticas para um cientista de dados 
3.10.2. O melhor modelo
3.10.3. Ferramentas úteis

Módulo 4. Exploração de dados. Seleção, pré-processamento e transformação 

4.1. A Inferência estatística

4.1.1. Estatística descritiva vs. Inferência estatística 
4.1.2. Procedimentos paramétricos 
4.1.3. Procedimentos não paramétricos

4.2. Análise exploratória

4.2.1. Análise descritiva
4.2.2. Visualização 
4.2.3. Preparação de dados

4.3. Preparação de dados

4.3.1. Integração e limpeza de dados
4.3.2. Normalização de dados 
4.3.3. Transformando atributos

4.4. Os valores perdidos

4.4.1. Tratamento de valores perdidos 
4.4.2. Métodos de imputação de máxima verosimilhança 
4.4.3. Imputação de valores perdidos utilizando a aprendizagem automática

4.5. O ruído dos dados

4.5.1. Classes de ruído e atributos 
4.5.2. Filtragem de ruído
4.5.3. O efeito do ruído

4.6. A maldição da dimensionalidade

4.6.1. Oversampling 
4.6.2. Undersampling 
4.6.3. Redução de dados multidimensionais

4.7. De atributos contínuos a discretos

4.7.1. Dados contínuos versus dados discretos 
4.7.2. Processo de discretização

4.8. Os dados

4.8.1. Seleção de dados
4.8.2. Perspetivas e critérios de seleção 
4.8.3. Métodos de seleção

4.9. Seleção de instâncias

4.9.1. Métodos para a seleção de instâncias 
4.9.2. Seleção de protótipos 
4.9.3. Métodos avançados para a seleção de instâncias 
4.10. Pré-processamento de dados em ambientes Big Data

Módulo 5. Algoritmo e complexidade na Inteligência Artificial

5.1. Introdução às estratégias de design de algoritmos

5.1.1. Recursividade 
5.1.2. Divide e conquista 
5.1.3. Outras estratégias

5.2. Eficiência e análise dos algoritmos

5.2.1. Medidas de eficiência 
5.2.2. Medir o tamanho da entrada 
5.2.3. Medir o tempo de execução 
5.2.4. Caso pior, melhor e médio 
5.2.5. Notação assintótica 
5.2.6. Critérios de Análise matemática de algoritmos não recursivos 
5.2.7. Análise matemática de algoritmos recursivos 
5.2.8. Análise empírica de algoritmos

5.3. Algoritmos de ordenação

5.3.1. Conceito de ordenação 
5.3.2. Ordenação da bolha 
5.3.3. Ordenação por seleção 
5.3.4. Ordenação por inserção 
5.3.5. Ordenação por mistura (Merge_Sort) 
5.3.6. Ordenação rápida (Quick_sort)

5.4. Algoritmos com árvores

5.4.1. Conceito de árvore 
5.4.2. Árvores binárias 
5.4.3. Caminhos de árvore 
5.4.4. Representar expressões 
5.4.5. Árvores binárias ordenadas 
5.4.6. Árvores binárias equilibradas

5.5. Algoritmos com Heaps

5.5.1. Os Heaps 
5.5.2. O algoritmo Heapsort 
5.5.3. As filas de prioridade

5.6. Algoritmos com grafos

5.6.1. Representação 
5.6.2. Busca em amplitude 
5.6.3. Busca em profundidade 
5.6.4. Ordenação topológica

5.7. Algoritmos Greedy

5.7.1. A estratégia Greedy 
5.7.2. Elementos da estratégia Greedy 
5.7.3. Câmbio de moedas 
5.7.4. Problema do viajante 
5.7.5. Problema da mochila

5.8. Pesquisa de caminhos mínimos

5.8.1. O problema do caminho mínimo 
5.8.2. Arcos negativos e ciclos 
5.8.3. Algoritmo de Dijkstra

5.9. Algoritmos Greedy sobre grafos

5.9.1. A árvore de extensão mínima 
5.9.2. O algoritmo de Prim 
5.9.3. O algoritmo de Kruskal 
5.9.4. Análise de complexidade

5.10. Backtracking

5.10.1. O Backtracking 
5.10.2. Técnicas alternativas

Módulo 6. Sistemas inteligentes 

6.1. Teoria dos agentes

6.1.1. História do conceito 
6.1.2. Definição de agente 
6.1.3. Agentes na Inteligência Artificial 
6.1.4. Agentes em Engenharia de Software

6.2. Arquiteturas de agentes

6.2.1. O processo de argumentação de um agente 
6.2.2. Agentes reativos 
6.2.3. Agentes dedutivos 
6.2.4. Agentes híbridos 
6.2.5. Comparativa

6.3. Informação e conhecimento

6.3.1. Distinção entre dados, informação e conhecimento 
6.3.2. Avaliação qualidade dos dados 
6.3.3. Métodos de recolha de dados 
6.3.4. Métodos de aquisição de informação 
6.3.5. Métodos de aquisição de conhecimento

6.4. Representação do conhecimento 

6.4.1. A importância da representação do conhecimento 
6.4.2. Definição da representação do conhecimento através das suas funções 
6.4.3. Caraterísticas de uma representação do conhecimento 

6.5. Ontologias 

6.5.1. Introdução aos metadados 
6.5.2. Conceito filosófico de ontologia 
6.5.3. Conceito informático de ontologia 
6.5.4. Ontologias de domínio e ontologias de nível superior 
6.5.5. Como construir uma ontologia? 

6.6. Linguagens para ontologias e Software para a criação de ontologias 

6.6.1. Triples RDF, Turtle e N 
6.6.2. RDF Schema 
6.6.3. OWL 
6.6.4. SPARQL 
6.6.5. Introdução às diferentes ferramentas de criação de ontologias 
6.6.6. Instalação e utilização do Protégé 

6.7. A web semântica 

6.7.1. O estado atual e futuro da web semântica 
6.7.2. Aplicações da web semântica 

6.8. Outros modelos de representação do conhecimento 

6.8.1. Vocabulários 
6.8.2. Visão global 
6.8.3. Taxonomias 
6.8.4. Tesauros 
6.8.5. Folksonomias 
6.8.6. Comparativa 
6.8.7. Mapas mentais

6.9. Avaliação e integração das representações do conhecimento

6.9.1. Lógica de ordem zero 
6.9.2. Lógica de primeira ordem 
6.9.3. Lógica descritiva 
6.9.4. Relação entre diferentes tipos de lógica 
6.9.5. Prolog: programação baseada na lógica de primeira ordem

6.10. Raciocinadores semânticos, sistemas baseados no conhecimento e Sistemas Periciais

6.10.1. Conceito de raciocinador 
6.10.2. Aplicações de um raciocinador 
6.10.3. Sistemas baseados no conhecimento 
6.10.4. MYCIN, história dos Sistemas Periciais 
6.10.5. Elementos e Arquitetura dos Sistemas Periciais 
6.10.6. Criação de Sistemas Periciais

Módulo 7. Aprendizagem automática e mineração de dados 

7.1. Introdução aos processos de descoberta de conhecimentos e aos conceitos básicos da aprendizagem automática

7.1.1. Conceitos-chave dos processos de descoberta do conhecimento 
7.1.2. Perspetiva histórica dos processos de descoberta do conhecimento 
7.1.3. Etapas dos processos de descoberta do conhecimento 
7.1.4. Técnicas utilizadas nos processos de descoberta do conhecimento 
7.1.5. Caraterísticas dos bons modelos de aprendizagem automática 
7.1.6. Tipos de informação de aprendizagem automática 
7.1.7. Conceitos básicos de aprendizagem 
7.1.8. Conceitos básicos de aprendizagem não supervisionado

7.2. Exploração e pré-processamento de dados

7.2.1. Tratamento de dados 
7.2.2. Tratamento de dados no fluxo de análise de dados 
7.2.3. Tipos de dados 
7.2.4. Transformação de dados 
7.2.5. Visualização e exploração de variáveis contínuas 
7.2.6. Visualização e exploração de variáveis categóricas 
7.2.7. Medidas de correlação 
7.2.8. Representações gráficas mais comuns 
7.2.9. Introdução à análise multivariada e à redução da dimensionalidade

7.3. Árvore de decisão

7.3.1. Algoritmo ID 
7.3.2. Algoritmo C 
7.3.3. Excesso de treino e poda 
7.3.4. Análise dos resultados

7.4. Avaliação dos classificadores

7.4.1. Matrizes de confusão 
7.4.2. Matrizes de avaliação numérica 
7.4.3. Estatística Kappa 
7.4.4. A curva ROC

7.5. Regras de classificação

7.5.1. Medidas de avaliação das regras 
7.5.2. Introdução à representação gráfica 
7.5.3. Algoritmo de sobreposição sequencial

7.6. Redes neuronais

7.6.1. Conceitos básicos 
7.6.2. Redes neuronais simples 
7.6.3. Algoritmo de Backpropagation 
7.6.4. Introdução às redes neuronais recorrentes

7.7. Métodos bayesianos

7.7.1. Conceitos básicos de probabilidade 
7.7.2. Teorema de Bayes 
7.7.3. Naive Bayes 
7.7.4. Introdução às redes bayesianas

7.8. Modelos de regressão e modelos de resposta contínua

7.8.1. Regressão linear simples 
7.8.2. Regressão linear múltipla 
7.8.3. Regressão logística 
7.8.4. Árvores de regressão 
7.8.5. Introdução às máquinas de suporte vetorial (SVM) 
7.8.6. Medidas de adequação

7.9. Clustering

7.9.1. Conceitos básicos 
7.9.2. Clustering hierárquico 
7.9.3. Métodos probabilísticos 
7.9.4. Algoritmo EM 
7.9.5. Método B-Cubed 
7.9.6. Métodos implícitos

7.10. Mineração de texto e processamento linguagem natural(PLN)

7.10.1. Conceitos básicos 
7.10.2. Criação do corpus 
7.10.3. Análise descritiva 
7.10.4. Introdução à análise de sentimentos

Módulo 8. Redes neuronais, a base da Deep Learning

8.1. Aprendizagem Profunda 

8.1.1. Tipos de aprendizagem profunda 
8.1.2. Aplicações da aprendizagem profunda 
8.1.3. Vantagens e desvantagens da aprendizagem profunda

8.2. Operações

8.2.1. Adição 
8.2.2. Produto 
8.2.3. Deslocalização

8.3. Camadas

8.3.1. Camada de entrada 
8.3.2. Camada oculta 
8.3.3. Camada de saída

8.4. Ligação de Camadas e Operações

8.4.1. Design de arquiteturas 
8.4.2. Conexão entre camadas 
8.4.3. Propagação para a frente

8.5. Construção da primeira rede neuronal

8.5.1. Design da rede 
8.5.2. Estabelecer os pesos 
8.5.3. Treino da rede

8.6. Treinador e Otimizador

8.6.1. Seleção do otimizador 
8.6.2. Estabelecimento de uma função de perda 
8.6.3. Estabelecimento de uma métrica

8.7. Aplicação dos Princípios das Redes Neuronais

8.7.1. Funções de ativação 
8.7.2. Propagação para trás 
8.7.3. Ajuste dos parâmetros

8.8. Dos neurónios biológicos aos neurónios artificiais

8.8.1. Funcionamento de um neurónio biológico 
8.8.2. Transferência de conhecimentos para os neurónios artificiais 
8.8.3. Estabelecer de relações entre os dois

8.9. Implementação do MLP (Perceptron Multicamadas) com o Keras

8.9.1. Definição da estrutura da rede 
8.9.2. Compilação do modelo 
8.9.3. Treino do modelo

8.10. Hiperparâmetros de Fine tuning de Redes Neuronais 

8.10.1. Seleção da função de ativação 
8.10.2. Estabelecer a Learning rate 
8.10.3. Ajuste dos pesos 

Módulo 9. Treino de redes neuronais profundas 

9.1. Problemas de Gradientes

9.1.1. Técnicas de otimização de gradiente 
9.1.2. Gradientes Estocásticos 
9.1.3. Técnicas de inicialização de pesos 

9.2. Reutilização de camadas pré-treinadas 

9.2.1. Treino de transferência de aprendizagem 
9.2.2. Extração de caraterísticas 
9.2.3. Aprendizagem profunda 

9.3. Otimizadores 

9.3.1. Otimizadores estocásticos de gradiente descendente 
9.3.2. Otimizadores Adam e RMSprop 
9.3.3. Otimizadores de momento 

9.4. Programação da taxa de aprendizagem

9.4.1. Controlo de taxa sobre aprendizagem automática 
9.4.2. Ciclos de aprendizagem 
9.4.3. Termos de suavização 

9.5. Sobreajuste

9.5.1. Validação cruzada 
9.5.2. Regularização 
9.5.3. Métricas de avaliação

9.6. Orientações práticas

9.6.1. Design do modelo 
9.6.2. Seleção de métricas e parâmetros de avaliação 
9.6.3. Teste de hipóteses

9.7. Transfer Learning

9.7.1. Treino de transferência de aprendizagem 
9.7.2. Extração de caraterísticas 
9.7.3. Aprendizagem profunda

9.8. Data Augmentation

9.8.1. Transformações de imagem 
9.8.2. Criação de dados sintéticos 
9.8.3. Transformação de texto

9.9. Aplicação Prática de Transfer Learning

9.9.1. Treino de transferência de aprendizagem 
9.9.2. Extração de caraterísticas 
9.9.3. Aprendizagem profunda

9.10. Regularização

9.10.1. L e L 
9.10.2. Regularização por entropia máxima 
9.10.3. Dropout

Módulo 10. Personalização de Modelos e treino com TensorFlow 

10.1. TensorFlow 

10.1.1. Uso da biblioteca TensorFlow 
10.1.2. Treino de modelos com o TensorFlow 
10.1.3. Operações de gráfico no TensorFlow

10.2. TensorFlow e NumPy 

10.2.1. Ambiente computacional NumPy para TensorFlow 
10.2.2. Utilização das arrays NumPy com o TensorFlow 
10.2.3. Operações NumPy para o TensorFlow gráficos do TensorFlow

10.3. Personalização de modelos e algoritmos de treino 

10.3.1. Construir modelos personalizados com o TensorFlow 
10.3.2. Gestão dos parâmetros de treino 
10.3.3. Utilização de técnicas de otimização para o treino

10.4. Funções e gráficos do TensorFlow 

10.4.1. Funções com o TensorFlow 
10.4.2. Utilização de gráficos para treino de modelos 
10.4.3. Otimização de gráficos com operações do TensorFlow

10.5. Carregamento e pré-processamento de dados com o TensorFlow 

10.5.1. Carga de conjuntos de dados com o TensorFlow 
10.5.2. Pré-processamento de dados com o TensorFlow 
10.5.3. Utilizar de ferramentas do TensorFlow para a manipulação de dados

10.6. A API tfdata 

10.6.1. Utilização da API tfdata para o processamento de dados 
10.6.2. Construção de fluxo de dados com tfdata 
10.6.3. Utilização da API tfdata para o treino de modelos

10.7. O formato TFRecord

10.7.1. Utilização da API TFRecord para a serialização de dados 
10.7.2. Carregamento de arquivos TFRecord com TensorFlow 
10.7.3. Utilização de arquivos TFRecord para o treino de modelos

10.8. Camadas de pré-processamento do Keras 

10.8.1. Utilização da API de pré-processamento do Keras 
10.8.2. Construção de pipelined de pré-processamento com o Keras 
10.8.3. Utilização da API de pré-processamento do Keras para o treino de modelos

10.9. O projeto TensorFlow Datasets

10.9.1. Utilização de TensorFlow Datasets para o carregamento de dados 
10.9.2. Pré-processamento de dados com o TensorFlow Datasets 
10.9.3. Utilização TensorFlow Datasets para o treino de modelos

10.10. Construção de uma Aplicação de Deep Learning com TensorFlow

10.10.1. Aplicação Prática 
10.10.2. Construção de uma aplicação de Deep Learning com TensorFlow 
10.10.3. Treino de um modelo com o TensorFlow 
10.10.4. Utilizar a aplicação para previsão de resultados

Módulo 11. Deep Computer Vision com Redes Neuronais Convolucionais 

11.1. A Arquitetura Visual Cortex

11.1.1. Funções do córtex visual 
11.1.2. Teoria da visão computacional 
11.1.3. Modelos de processamento de imagens

11.2. Camadas convolucionais

11.2.1. Reutilização de pesos na convolução 
11.2.2. Convolução D 
11.2.3. Funções de ativação

11.3. Camadas de agrupamento e implantação de camadas de agrupamento com o Keras

11.3.1. Pooling e Striding 
11.3.2. Flattening 
11.3.3. Tipos de Pooling

11.4. Arquitetura CNN

11.4.1. Arquitetura VGG 
11.4.2. Arquitetura AlexNet 
11.4.3. Arquitetura ResNet

11.5. Implementação de uma CNN ResNet- usando Keras

11.5.1. Inicialização de pesos 
11.5.2. Definição da camada de entrada 
11.5.3. Definição da saída

11.6. Utilização de modelos pré-treinados do Keras 

11.6.1. Caraterísticas dos modelos pré-treinados 
11.6.2. Usos dos modelos pré-treinados 
11.6.3. Vantagens dos modelos pré-treinados

11.7. Modelos pré-treinados para a aprendizagem por transferência

11.7.1. A Aprendizagem por transferência 
11.7.2. Processo de aprendizagem por transferência 
11.7.3. Vantagens do aprendizagem por transferência

11.8. Classificação e Localização em Deep Computer Vision

11.8.1. Classificação de imagens 
11.8.2. Localização de objetos em imagens 
11.8.3. Detenção de objetos

11.9. Deteção e seguimento de objetos

11.9.1. Métodos de deteção de objetos 
11.9.2. Algoritmos de seguimento de objetos 
11.9.3. Técnicas de seguimento e localização

11.10. Segmentação semântica

11.10.1. Aprendizagem profunda para a segmentação semântica 
11.10.2. Deteção de bordas 
11.10.3. Métodos de segmentação baseado sem regras

Módulo 12. Processamento de linguagem natural (PLN) com Redes Neurais Recorrentes (RNN) e Atenção 

12.1. Criação de texto utilizando RNN

12.1.1. Treino de uma RNN para criação de texto 
12.1.2. Criação de linguagem natural com RNN 
12.1.3. Aplicações de criação de texto com RNN

12.2. Criação de conjuntos de dados de treino

12.2.1. Preparação dos dados para o treino de uma RNN 
12.2.2. Armazenamento do conjunto de dados de treino 
12.2.3. Limpeza e transformação dos dados 
12.2.4. Análise de Sentimento

12.3. Classificação da opiniões com RNN

12.3.1. Deteção de temas nos comentários 
12.3.2. Análise de sentimento com algoritmos de aprendizagem profunda

12.4. Rede codificadora-descodificadora para tradução automática neural

12.4.1. Treino de uma RNN para a  tradução automática 
12.4.2. Utilização de uma rede encoder-decoder para a tradução automática 
12.4.3. Melhoria da precisão da tradução automática com RNNs

12.5. Mecanismos de atenção

12.5.1. Implantação de mecanismos de atenção em RNN 
12.5.2. Utilização de mecanismos de atenção para melhorar a precisão dos modelos 
12.5.3. Vantagens dos mecanismos de atenção nas redes neuronais

12.6. Modelos Transformers

12.6.1. Uso de modelos Transformers no processamento de linguagem natural 
12.6.2. Aplicação de modelos Transformers na visão 
12.6.3. Vantagens dos modelos Transformers

12.7. Transformers para a visão

12.7.1. Utilização de modelos Transformers para a visão 
12.7.2. Pré-processamento de dados de imagem 
12.7.3. Treino de modelos Transformers para visão

12.8. Biblioteca de Transformers de Hugging Face

12.8.1. Utilização da biblioteca Transformers de Hugging Face 
12.8.2. Aplicação da biblioteca de Transformers de Hugging Face 
12.8.3. Vantagens da biblioteca Transformers de Hugging Face

12.9. Outras Bibliotecas de Transformers. Comparativa

12.9.1. Comparação entre as diferentes bibliotecas de Transformers 
12.9.2. Uso das outras bibliotecas de Transformers 
12.9.3. Vantagens das outras bibliotecas de Transformers

12.10. Desenvolvimento de uma aplicação de PNL com RNN e Atenção. Aplicação Prática

12.10.1. Desenvolvimento de uma aplicação de processamento de linguagem natural com RNN e atenção 
12.10.2. Utilização de RNN, mecanismos de atenção e modelos Transformers na aplicação 
12.10.3. Avaliação da aplicação prática

Módulo 13. Autoencoders, GANs, e Modelos de Difusão 

13.1. Representação de dados eficientes

13.1.1. Redução da dimensionalidade 
13.1.2. Aprendizagem profunda 
13.1.3. Representações compactas

13.2. Realização da PCA com um codificador automático linear incompleto

13.2.1. Processo de treino 
13.2.2. Implantação em Python 
13.2.3. Utilização de dados de teste

13.3. Codificadores automáticos empilhados

13.3.1. Redes neuronais profundas 
13.3.2. Construção de arquiteturas de codificação 
13.3.3. Utilização da regularização

13.4. Autoencodificadores convolucionais

13.4.1. Design do modelo convolucionais 
13.4.2. Treino do modelo convolucionais 
13.4.3. Avaliação dos resultados

13.5. Redução do ruído dos codificadores automáticos

13.5.1. Aplicação de filtros 
13.5.2. Design de modelos de codificação 
13.5.3. Utilização de técnicas de regularização

13.6. Codificadores automáticos dispersos

13.6.1. Aumento da eficiência da codificação 
13.6.2. Minimizar o número de parâmetros 
13.6.3. Utilização de técnicas de regularização

13.7. Codificadores automáticos variacionais

13.7.1. Utilização da otimização variacional 
13.7.2. Aprendizagem profunda não supervisionada 
13.7.3. Representações latentes profundas

13.8. Geração de imagens MNIST de moda

13.8.1. Reconhecimento de padrões 
13.8.2. Criação de imagens 
13.8.3. Treino de redes neuronais profundas

13.9. Redes generativas antagónicas e modelos de difusão

13.9.1. Criação de conteúdos a partir de imagens 
13.9.2. Modelação de distribuições de dados 
13.9.3. Utilização de redes contraditórias

13.10. Implantação dos Modelos

13.10.1. Aplicação Prática 
13.10.2. Implantação dos modelos 
13.10.3. Utilização de dados reais 
13.10.4. Avaliação dos resultados

Módulo 14. Computação bioinspirada

14.1. Introdução à computação bioinspirada

14.1.1. Introdução à computação bioinspirada

14.2. Algoritmos de inspiração social

14.2.1. Computação bioinspirada baseada em colónias de formigas 
14.2.2. Variantes dos algoritmos de colónias de formigas 
14.2.3. Computação baseada em nuvens de partículas

14.3. Algoritmos genéticos

14.3.1. Estrutura geral 
14.3.2. Implementações dos principais operadores

14.4. Estratégias de exploração do espaço para algoritmos genéticos

14.4.1. Algoritmo CHC 
14.4.2. Problemas multimodais

14.5. Modelos de computação evolutiva

14.5.1. Estratégias evolutivas 
14.5.2. Programação evolutiva 
14.5.3. Algoritmos baseados em evolução diferencial

14.6. Modelos de computação evolutiva (II)

14.6.1. Modelos de evolução baseados na estimativa das distribuições (EDA) 
14.6.2. Programação genética

14.7. Programação evolutiva aplicada a problemas de aprendizagem 

14.7.1. A aprendizagem baseada em regras 
14.7.2. Métodos evolutivos em problemas de seleção de exemplos

14.8. Problemas multiobjetivo

14.8.1. Conceito de dominância 
14.8.2. Aplicação de algoritmos evolutivos a problemas multiobjetivos

14.9. Redes neuronais (I)

14.9.1. Introdução às redes neuronais 
14.9.2. Exemplo prático com redes neuronais

14.10. Redes neuronais (II)

14.10.1. Casos de utilização de redes neuronais na investigação médica 
14.10.2. Casos de utilização de redes neuronais na economia 
14.10.3. Casos de utilização de redes neuronais na visão artificial

Módulo 15. Inteligência Artificial: Estratégias e aplicações

15.1. Serviços financeiros

15.1.1. As implicações da Inteligência Artificial (IA) nos serviços financeiros  Oportunidades e desafios
15.1.2. Casos de utilização
15.1.3. Potenciais riscos relacionados com a utilização de IA
15.1.4. Potenciais desenvolvimentos/utilizações futuras da IA

15.2. Implicações da inteligência artificial no serviço de saúde

15.2.1. Implicações da IA no setor da saúde Oportunidades e desafios
15.2.2. Casos de utilização

15.3. Riscos relacionados com a utilização de IA no serviço de saúde

15.3.1. Potenciais riscos relacionados com a utilização de IA
15.3.2. Potenciais desenvolvimentos/utilizações futuras da IA

15.4. Retail

15.4.1. Implicações da IA no Retail Oportunidades e desafios
15.4.2. Casos de utilização
15.4.3. Potenciais riscos relacionados com a utilização de IA
15.4.4. Potenciais desenvolvimentos/utilizações futuras da IA

15.5. Indústria

15.5.1. Implicações da IA na Indústria. Oportunidades e desafios
15.5.2. Casos de utilização

15.6. Potenciais riscos relacionados com a utilização de IA na Indústria

15.6.1. Casos de utilização
15.6.2. Potenciais riscos relacionados com a utilização de IA
15.6.3. Potenciais desenvolvimentos/utilizações futuras da IA

15.7. Administração pública

15.7.1. Implicações da IA na Administração pública. Oportunidades e desafios
15.7.2. Casos de utilização
15.7.3. Potenciais riscos relacionados com a utilização de IA
15.7.4. Potenciais desenvolvimentos/utilizações futuras da IA

15.8. Educação

15.8.1. Implicações da IA na educação. Oportunidades e desafios
15.8.2. Casos de utilização
15.8.3. Potenciais riscos relacionados com a utilização de IA
15.8.4. Potenciais desenvolvimentos/utilizações futuras da IA

15.9. Silvicultura e agricultura

15.9.1. Implicações da IA na silvicultura e na agricultura. Oportunidades e desafios
15.9.2. Casos de utilização
15.9.3. Potenciais riscos relacionados com a utilização de IA
15.9.4. Potenciais desenvolvimentos/utilizações futuras da IA

15.10 Recursos Humanos

15.10.1. Implicações da IA nos Recursos Humanos. Oportunidades e desafios
15.10.2. Casos de utilização
15.10.3. Potenciais riscos relacionados com a utilização de IA
15.10.4. Potenciais desenvolvimentos/utilizações futuras da IA

Módulo 16. Melhoria da produtividade no desenvolvimento de software com IA 

16.1. Preparar um ambiente de desenvolvimento adequado

16.1.1. Seleção de ferramentas essenciais para o desenvolvimento da IA     
16.1.2. Configuração das ferramentas escolhidas 
16.1.3. Implementação de condutas CI/CD adaptadas aos projetos de IA 
16.1.4. Gestão eficaz das dependências e do controlo de versões nos ambientes de desenvolvimento

16.2. Extensões essenciais de IA para o Visual Studio Code    

16.2.1. Exploração e seleção de extensões de IA para o Visual Studio Code 
16.2.2. Integrando ferramentas de análise estática e dinâmica no IDE 
16.2.3. Automatização de tarefas repetitivas com extensões específicas 
16.2.4. Personalização do ambiente de desenvolvimento para melhorar a eficiência

16.3. Design No-code de Interfaces de Utilizador com Elementos de IA    

16.3.1. Princípios do design No-code e sua aplicação a interfaces de utilizador 
16.3.2. Incorporação de elementos de IA no design de interfaces visuais 
16.3.3. Ferramentas e plataformas para a criação No-code de interfaces inteligentes 
16.3.4. Avaliação e melhoria contínua de interfaces No-code com IA

16.4. Otimização de código utilizando o ChatGPT

16.4.1. Identificar código duplicado
16.4.2. Refatorar 
16.4.3. Criar códigos legíveis
16.4.4. Compreender o que o código faz
16.4.5. Melhorar a designação de variáveis e funções
16.4.6. Criação de documentação automática

16.5. Gestão de repositórios com IA

16.5.1. Automatização dos processos de controlo de versões com técnicas de IA 
16.5.2. Deteção e resolução automática de conflitos em ambientes de colaboração
16.5.3. Análise preditiva de alterações e tendências em repositórios de código 
16.5.4. Melhoria da organização e categorização de repositórios através de IA

16.6. Integração da IA na gestão de bases de dados

16.6.1. Otimização das consultas e do desempenho utilizando técnicas de IA 
16.6.2. Análise preditiva de padrões de acesso a bases de dados 
16.6.3. Implementação de sistemas de recomendação para otimizar a estrutura da base de dados 
16.6.4. Monitorização proativa e deteção de potenciais problemas na base de dados

16.7. Pesquisa de falhas e criação de testes unitários com IA

16.7.1. Geração automática de casos de teste utilizando técnicas de IA 
16.7.2. Deteção precoce de vulnerabilidades e erros através de análise estática com IA 
16.7.3. Melhoria da cobertura dos testes através da identificação de áreas críticas por IA

16.8. Pair Programming com GitHub Copilot

16.8.1. Integração e utilização eficiente do GitHub Copilot em sessões de Pair Programming 
16.8.2. Melhoria na comunicação e colaboração entre programadores com o GitHub Copilot 
16.8.3. Estratégias para tirar o máximo partido das sugestões de código geradas pelo GitHub Copilot 
16.8.4. Estudos de caso e boas práticas em programação em Pair Programming assistida por IA

16.9. Tradução automática entre linguagens de programação

16.9.1. Ferramentas e serviços de tradução automática específicos de linguagens de programação 
16.9.2. Adaptação dos algoritmos de tradução automática aos contextos de desenvolvimento 
16.9.3. Melhoria da interoperabilidade entre diferentes línguas através da tradução automática 
16.9.4. Avaliação e atenuação dos potenciais desafios e limitações da tradução automática

16.10. Ferramentas de IA recomendadas para melhorar a produtividade 

16.10.1. Análise comparativa das ferramentas de IA para o desenvolvimento de software 
16.10.2. Integração de ferramentas de IA em fluxos de trabalho
16.10.3. Automatização de tarefas de rotina com ferramentas de IA
16.10.4. Avaliação e seleção de ferramentas com base no contexto e nos requisitos do projeto

Módulo 17. Arquitetura do software com IA

17.1. Otimização e gestão do desempenho em ferramentas com IA

17.1.1. Análise e perfil do desempenho em ferramentas com IA 
17.1.2. Estratégias de otimização para algoritmos e modelos de IA 
17.1.3. Implementação de técnicas de caching e de paralelização para melhorar o desempenho 
17.1.4. Ferramentas e metodologias para monitorização contínua do desempenho em tempo real

17.2. Escalabilidade em aplicações de IA

17.2.1. Design de arquiteturas escaláveis para aplicações de IA 
17.2.2. Implementação de técnicas de partição e distribuição de carga 
17.2.3. Gestão do fluxo de trabalho e da carga de trabalho em sistemas escaláveis 
17.2.4. Estratégias de expansão horizontal e vertical em ambientes com procura variável

17.3. Manutenibilidade das aplicações com IA

17.3.1. Princípios de design para facilitar a manutenibilidade em projetos de IA 
17.3.2. Estratégias de documentação específicas para modelos e algoritmos de IA 
17.3.3. Implementação de testes unitários e de integração para facilitar a manutenção 
17.3.4. Métodos de refatoração e melhoria contínua em sistemas com componentes de IA

17.4. Design de sistemas de grande escala

17.4.1. Princípios de arquitetura para a conceção de sistemas em grande escala 
17.4.2. Decomposição de sistemas complexos em microsserviços 
17.4.3. Implementação de padrões de design específicos para sistemas distribuídos 
17.4.4. Estratégias para gerir a complexidade em arquiteturas de grande escala com componentes de IA

17.5. Armazenamento de dados de grande escala para ferramentas de IA

17.5.1. Seleção de tecnologias de armazenamento de dados escaláveis 
17.5.2. Conceção de esquemas de bases de dados para o tratamento eficiente de grandes volumes de dados 
17.5.3. Estratégias de partição e replicação em ambientes de armazenamento de dados em massa 
17.5.4. Implementação de sistemas de gestão de dados para garantir a integridade e disponibilidade em projetos com IA

17.6. Estruturas de dados com IA

17.6.1. Adaptação de estruturas de dados clássicas para utilização em algoritmos de IA 
17.6.2. Conceção e otimização de estruturas de dados específicas para modelos de aprendizagem automática 
17.6.3. Integração de estruturas de dados eficientes em sistemas com processamento intensivo de dados 
17.6.4. Estratégias para a manipulação e o armazenamento de dados em tempo real em estruturas de dados com IA

17.7. Algoritmos de programação para produtos com IA

17.7.1. Desenvolvimento e implementação de algoritmos específicos para aplicações com IA 
17.7.2. Estratégias de seleção de algoritmos de acordo com o tipo de problema e os requisitos do produto 
17.7.3. Adaptação de algoritmos clássicos para integração em sistemas de inteligência artificial 
17.7.4. Avaliação e comparação do desempenho entre diferentes algoritmos em contextos de desenvolvimento de IA

17.8. Padrões de design para o desenvolvimento de IA

17.8.1. Identificação e aplicação de padrões de design comuns em projetos com componentes de IA 
17.8.2. Desenvolvimento de padrões específicos para a integração de modelos e algoritmos em sistemas existentes 
17.8.3. Estratégias de implementação de padrões para melhorar a reutilização e a manutenção em projetos de IA 
17.8.4. Estudos de casos e melhores práticas na aplicação de padrões de design em arquiteturas de IA

17.9. Implementação de Clean Architecture

17.9.1. Princípios e conceitos fundamentais da Clean Architecture
17.9.2. Adaptação da Clean Architecture a projetos com componentes de IA 
17.9.3. Implementação de camadas e dependências em sistemas com arquitetura limpa 
17.9.4. Benefícios e desafios da implementação de uma Clean Architecture no desenvolvimento de software com IA

17.10. Desenvolvimento de software seguro em aplicações web com IA

17.10.1. Princípios de segurança no desenvolvimento de software com componentes de IA 
17.10.2. Identificação e atenuação de potenciais vulnerabilidades em modelos e algoritmos de IA 
17.10.3. Implementação de práticas de desenvolvimento seguro em aplicações web com funcionalidades de Inteligência Artificial 
17.10.4. Estratégias de proteção de dados sensíveis e de prevenção de ataques em projetos com IA

Módulo 18. Projetos Web com IA

18.1. Preparar o Ambiente de Trabalho para o Desenvolvimento Web com IA

18.1.1. Configuração de ambientes de desenvolvimento Web para projetos com inteligência artificial 
18.1.2. Seleção e preparação de ferramentas essenciais para o desenvolvimento web com IA 
18.1.3. Integração de bibliotecas e frameworks específicos para projetos web com inteligência artificial 
18.1.4. Implementação de boas práticas na configuração de ambientes de desenvolvimento colaborativo

18.2. Criação de Workspace para Projetos de IA

18.2.1. Design e organização eficaz de workspaces para projetos web com componentes de inteligência artificial
18.2.2. Utilização de ferramentas de gestão de projetos e de controlo de versões no workspace 
18.2.3. Estratégias para a colaboração e a comunicação eficientes na equipa de desenvolvimento 
18.2.4. Adaptação do workspace às necessidades específicas dos projetos web com IA

18.3. Padrões de Design em Produtos com IA

18.3.1. Identificação e aplicação de padrões de design comuns em interfaces de utilizador com elementos de inteligência artificial 
18.3.2. Desenvolvimento de padrões específicos para melhorar a experiência do utilizador em projetos web com IA 
18.3.3. Integração de padrões de design na arquitetura geral de projetos web com Inteligência Artificial 
18.3.4. Avaliação e seleção de padrões de design apropriados de acordo com o contexto do projeto

18.4. Desenvolvimento Frontend com IA

18.4.1. Integração de modelos de IA na camada de apresentação de projetos web
18.4.2. Desenvolvimento de interfaces de utilizador adaptáveis com elementos de inteligência artificial 
18.4.3. Implementação de funcionalidades de processamento de linguagem natural (NLP) no Frontend 
18.4.4. Estratégias para otimização do desempenho no desenvolvimento Frontend  com IA

18.5. Criação da Base de Dados

18.5.1. Seleção de tecnologias de bases de dados para projetos web com inteligência artificial 
18.5.2. Conceção de esquemas de bases de dados para armazenar e gerir dados relacionados com IA 
18.5.3. Implementação de sistemas de armazenamento eficientes para grandes volumes de dados gerados a partir de modelos com IA 
18.5.4. Estratégias para a segurança e proteção de dados sensíveis em bases de dados de projetos web com IA

18.6. Desenvolvimento Backend com IA

18.6.1. Integração de serviços e modelos de IA na lógica comercial do Backend 
18.6.2. Desenvolvimento de API e pontos de extremidade específicos para a comunicação entre os componentes do Frontend e da IA 
18.6.3. Implementação da lógica de processamento de dados e de tomada de decisões no Backend com Inteligência Artificial 
18.6.4. Estratégias para a escalabilidade e o desempenho no desenvolvimento Backend de projetos web  com IA

18.7. Otimizar o Processo de Implantação na Sua Web

18.7.1. Automatizar o processo de criação e implantação de projetos Web com IA 
18.7.2. Implementar pipelines CI/CD adaptados a aplicações Web com componentes de inteligência artificial 
18.7.3. Estratégias para uma gestão eficiente de versões e atualizações em implantações contínuas 
18.7.4. Monitorização e análise pós-implantação para melhoria contínua do processo

18.8. IA na Computação em Nuvem

18.8.1. Integração de serviços de inteligência artificial em plataformas de computação em nuvem 
18.8.2. Desenvolvimento de soluções escaláveis e distribuídas usando serviços de nuvem habilitados para IA 
18.8.3. Estratégias para uma gestão eficiente dos recursos e dos custos em ambientes de computação em nuvem com aplicações web com IA 
18.8.4. Avaliação e comparação de fornecedores de serviços em nuvem para projetos web com Inteligência Artificial

18.9. Criação de um projeto de IA para Ambientes LAMP

18.9.1. Adaptação de projetos da Web com base no conjunto LAMP para incluir componentes de Inteligência Artificial 
18.9.2. Integração de bibliotecas e frameworks específicos de IA em ambientes LAMP 
18.9.3. Desenvolvimento de funcionalidades de IA que complementem a arquitetura LAMP tradicional
18.9.4. Estratégias de otimização e manutenção em projetos web habilitados para IA em ambientes LAMP

18.10. Criação de um projeto de IA para Ambientes MEVN

18.10.1. Integração de tecnologias e ferramentas do conjunto MEVN com componentes de Inteligência Artificial 
18.10.2. Desenvolvimento de aplicações web modernas e escaláveis em ambientes MEVN com capacidades de IA 
18.10.3. Implementação de funcionalidades de tratamento de dados e de aprendizagem automática em projetos MEVN 
18.10.4. Estratégias para melhorar o desempenho e a segurança de aplicações web com capacidades de IA em ambientes MEVN

Módulo 19. Aplicações móveis com IA   

19.1. Preparação do Ambiente de Trabalho para o Desenvolvimento Móvel com IA

19.1.1. Configuração de ambientes de desenvolvimento móvel para projetos com Inteligência Artificial
19.1.2. Seleção e preparação de ferramentas específicas para o desenvolvimento de aplicações móveis com IA 
19.1.3. Integração de bibliotecas e frameworks de IA em ambientes de desenvolvimento móvel 
19.1.4. Configuração de emuladores e dispositivos reais para testar aplicações móveis com componentes de inteligência artificial

19.2. Criação de um Workspace com Github copilot

19.2.1. Integração do GitHub Copilot em ambientes de desenvolvimento móvel 
19.2.2. Utilização eficaz do GitHub Copilot para a geração de código em projetos com IA 
19.2.3. Estratégias para a colaboração do programador ao utilizar o GitHub Copilot no workspace 
19.2.4. Boas práticas e limitações no uso do GitHub Copilot no desenvolvimento de aplicações móveis com IA

19.3. Configuração do Firebase

19.3.1. Configuração inicial de um projeto Firebase para o desenvolvimento móvel 
19.3.2. Integração do Firebase em aplicações móveis com funcionalidades de IA 
19.3.3. Utilização dos serviços Firebase, como a base de dados, a autenticação e as notificações em projetos com IA 
19.3.4. Estratégias para a gestão de dados e eventos em tempo real em aplicações móveis com o Firebase

19.4. Conceitos de Clean Architecture, DataSources, Repositories

19.4.1. Princípios fundamentais de Clean Architecture no desenvolvimento móvel com IA 
19.4.2. Implementação das camadas DataSources e Repositories em arquiteturas limpas
19.4.3. Design e estruturação de componentes em projetos móveis com foco em arquitetura limpa 
19.4.4. Benefícios e desafios da implementação da Clean Architecture aplicações móveis com IA

19.5. Criação do Ecrã de Autenticação

19.5.1. Design e desenvolvimento de interfaces de utilizador para ecrãs de autenticação em aplicações móveis com IA 
19.5.2. Integração de serviços de autenticação com Firebase no ecrã de início de sessão
19.5.3. Utilização de técnicas de segurança e de proteção de dados no ecrã de autenticação 
19.5.4. Personalização e adaptação da experiência do utilizador no ecrã de autenticação

19.6. Criação do Dashboard e Navegação

19.6.1. Design e desenvolvimento de Dashboards com elementos de Inteligência Artificial 
19.6.2. Implementação de sistemas de navegação eficientes em aplicações móveis com IA 
19.6.3. Integração de funcionalidades de IA no Dashboard para melhorar a experiência do utilizador

19.7. Criação do Ecrã com Listagem

19.7.1. Desenvolvimento de interfaces de utilizador para ecrãs com listagerm em aplicações móveis com IA 
19.7.2. Integração de algoritmos de recomendação e filtragem no ecrã de listagem 
19.7.3. Utilização de padrões de design para uma apresentação eficaz dos dados da listagem 
19.7.4. Estratégias para o carregamento eficaz de dados em tempo real no ecrã de listagem

19.8. Criação do Ecrã de Detalhes

19.8.1. Design e desenvolvimento de interfaces de utilizador detalhadas para a apresentação de informações específicas
19.8.2. Integração de funcionalidades de IA para enriquecer o ecrã de detalhes 
19.8.3. Implementação de interações e animações no ecrã de detalhes 
19.8.4. Estratégias para a otimização do desempenho na visualização e carregamento de detalhes de aplicações móveis com IA

19.9. Criação do Ecrã de Settings

19.9.1. Desenvolvimento de interfaces de utilizador para configuração e ajuestes em aplicações móveis com IA 
19.9.2. Integração de definições personalizadas relacionadas com componentes de inteligência artificial 
19.9.3. Implementação de opções e preferências de personalização no ecrã de configuração 
19.9.4. Estratégias de usabilidade e clareza na apresentação das opções no ecrã de settings

19.10. Criar Ícones, Splash e Recursos Gráficos para a Sua App com IA    

19.10.1. Design e criação de ícones atrativos para representar a aplicação móvel com IA 
19.10.2. Desenvolvimento de ecrãs iniciais (splash) com visuais impactantes
19.10.3. Seleção e adaptação de recursos gráficos que melhorem a estética da aplicação móvel 
19.10.4. Estratégias de coerência e de branding visual nos elementos gráficos da aplicação com IA

Módulo 20. IA para QA Testing 

20.1. Ciclo de vida do Testing

20.1.1. Descrição e compreensão do ciclo de vida do testing de desenvolvimento de software
20.1.2. Fases do ciclo de vida do testing e a sua importância para a garantia da qualidade 
20.1.3. Integração da inteligência artificial nas diferentes fases do ciclo de vida do testing 
20.1.4. Estratégias de melhoria contínua do ciclo de vida do testing através da utilização da IA

20.2. Test Cases e Deteção de Bugs

20.2.1. Conceção e redação eficazes de casos de teste no contexto do QA Testing 
20.2.2. Identificação de bugs e erros durante a execução de casos de teste 
20.2.3. Aplicação de técnicas de deteção precoce de erros através de análise estática 
20.2.4. Utilização de ferramentas de inteligência artificial para a identificação automática de erros em casos de teste

20.3. Tpos de Testing

20.3.1. Exploração de diferentes tipos de testing no domínio da QA 
20.3.2. Testes unitários, de integração, funcionais e de aceitação: caraterísticas e aplicações 
20.3.3. Estratégias para a seleção e combinação adequada de tipos de testing em projetos com IA 
20.3.4. Adaptação de tipos de testing convencionais a projetos com componentes de inteligência artificial

20.4. Criar um Plano de Testes

20.4.1. Design e estruturação de um plano de testes abrangente 
20.4.2. Identificação de requisitos e cenários de teste em projetos com IA 
20.4.3. Estratégias para o planeamento de testes manuais e automatizados 
20.4.4. Avaliação e ajuste contínuo do plano de testes de acordo com o desenvolvimento do projeto

20.5. Deteção e Bugs Bugs com IA

20.5.1. Implementação de técnicas de deteção automática de bugs utilizando algoritmos de aprendizagem automática
20.5.2. Utilização de ferramentas de inteligência artificial para a análise dinâmica de códigos para procurar eventuais erros
20.5.3. Estratégias para a geração automática de relatórios pormenorizados sobre os bugs detetados pela IA 
20.5.4. Colaboração eficaz entre as equipas de desenvolvimento e de garantia da qualidade na gestão dos erros identificados pela IA

20.6. Criação de Testes Automatizados com IA

20.6.1. Desenvolvimento de scripts de testes automatizados para projetos com componentes de inteligência artificial 
20.6.2. Integração de ferramentas de automatização de testes baseadas em IA
20.6.3. Utilização de algoritmos de machine learning para a geração dinâmica de casos de teste automatizados 
20.6.4. Estratégias para a execução eficiente e a manutenção de casos de teste automatizados em projetos com IA

20.7. API Testing

20.7.1. Conceitos fundamentais de API testing e sua importância em QA 
20.7.2. Desenvolvimento de testes para a verificação de APIs em ambientes com componentes de Inteligência Artificial 
20.7.3. Estratégias para validação de dados e resultados em API testing com IA 
20.7.4. Utilização de ferramentas específicas para o testing de API em projetos com inteligência artificial

20.8. Ferramentas de IA para Web Testing

20.8.1. Exploração de ferramentas de inteligência artificial para automatização de testes em ambientes Web 
20.8.2. Integração de tecnologias de reconhecimento de itens e de análise visual em Web testing 
20.8.3. Estratégias para a deteção automática de alterações e problemas de desempenho em aplicações Web através da IA 
20.8.4. Avaliação de ferramentas específicas para melhorar a eficiência no web testing com IA

20.9. Mobile Testing Através de IA

20.9.1. Desenvolvimento de estratégias de testing para aplicações móveis com componentes de inteligência artificial 
20.9.2. Integração de ferramentas de testing específicas para plataformas móveis baseadas em IA 
20.9.3. Utilização de algoritmos de aprendizagem automática para detetar problemas de desempenho das aplicações móveis 
20.9.4. Estratégias para a validação de interfaces e funções específicas de aplicações móveis através da IA

20.10. Ferramentas de QA com IA

20.10.1. Exploração de ferramentas e plataformas de GQ que incorporem funcionalidades de Inteligência Artificial
20.10.2. Avaliação de ferramentas para a gestão e execução eficientes de testes em projetos de IA 
20.10.3. Utilização de algoritmos de machine learning para a geração e otimização de casos de teste
20.10.4. Estratégias para a seleção e adoção eficaz de ferramentas de QA com capacidades de IA Módulo 1. Fundamentos da Inteligência Artificial 

##IMAGE##

Posicione-se no mercado de trabalho com um Mestrado Próprio 100% online que se adapta às suas necessidades e permite uma aprendizagem imersiva e sólida"  

"

Mestrado Próprio em Inteligência Artificial na Programação

A inteligência artificial na programação surgiu como um campo revolucionário que redefine a forma como concebemos e construímos software. Se pretende mergulhar na vanguarda da tecnologia, a TECH Universidade Tecnológica tem a opção ideal para si: o Mestrado Próprio em Inteligência Artificial na Programação. Este Mestrado Próprio, ministrado de forma 100% online, oferece-lhe o aprofundamento de técnicas avançadas de programação cognitiva e de conceção de sistemas inteligentes. Comece o seu percurso explorando os fundamentos essenciais da inteligência artificial e da programação. Este módulo estabelece as bases para a compreensão de conceitos-chave como a aprendizagem automática, o processamento de linguagem natural e a visão computacional. Aprenderá também a conceber algoritmos inteligentes que conduzem à tomada de decisões autónomas. Este módulo centra-se no desenvolvimento de modelos de aprendizagem de máquinas e técnicas avançadas de programação para criar sistemas capazes de aprender e adaptar-se.

Aprenda tudo sobre inteligência artificial na programação

Este Mestrado Próprio destaca-se não só por conter a informação mais completa e atualizada do mercado, mas também pelas suas aulas dinâmicas e interativas, ministradas online. Aqui, o aluno irá explorar como integrar a inteligência artificial em aplicações empresariais. Da análise preditiva à automatização de processos, este módulo aborda a implementação prática da IA para melhorar a eficiência e a tomada de decisões no ambiente empresarial. Finalmente, compreenderá a importância da ética no desenvolvimento de sistemas inteligentes. Este módulo destaca os desafios éticos associados à IA e como os profissionais podem programar de forma responsável, garantindo um impacto positivo na sociedade. Após a conclusão do Mestrado Próprio, tornar-se-á um especialista em inteligência artificial na programação, pronto para liderar a inovação no mundo da programação cognitiva. Junte-se a nós e faça a diferença na revolução tecnológica. Inscreva-se agora e eleve as suas competências ao mais alto nível!"