Saltar para:
Logótipo
Você está em: Início > Cursos/CE > L:IACD > Informação para Candidatos
Mapa das Instalações
FC6 - Departamento de Ciência de Computadores FC5 - Edifício Central FC4 - Departamento de Biologia FC3 - Departamento de Física e Astronomia e Departamento GAOT FC2 - Departamento de Química e Bioquímica FC1 - Departamento de Matemática

Cursos

Licenciatura em Inteligência Artificial e Ciência de Dados

Dados Gerais

Código Oficial: L227
Sigla: L:IACD
Descrição: A Inteligência Artificial (IA) e a Ciência de Dados (CD) estão no centro de uma revolução em todos os setores e na investigação científica. A LIACD é uma iniciativa pioneira da Universidade do Porto, contando com a enorme experiência de docentes da FCUP e da FEUP nestas áreas. O curso vem preencher uma lacuna das ofertas formativas atuais, visando formar profissionais qualificados na área de Inteligência Artificial e Ciência de Dados, com uma forte formação em Ciência de Computadores/Engenharia Informática e sólidos conhecimentos em Matemática. Na LIACD são trabalhadas competências em programação, algoritmia, estatística, métodos numéricos, otimização, aprendizagem computacional, processamento de imagem e de linguagem natural, robótica e sistemas Inteligentes, segurança e privacidade, que permitirão aos licenciados desenvolver trabalho especializado de IA e CD em empresas, organizações e administração pública.

Diplomas

  • Licenciatura em Inteligência Artificial e Ciência de Dados (180 Créditos ECTS)

Unidades Curriculares

Álgebra Linear e Geometria Analítica

M1002 - ECTS

Ao completar esta unidade curricular, o estudante deve dominar os principais conceitos de Álgebra Linear e Geometria Analítica. Nomeadamente, deve compreender, ser capaz de trabalhar e usar as propriedades dos conceitos de matriz, determinante, espaço vetorial real e função linear.

Cálculo I

M1001 - ECTS

Familiarizar-se com os conceitos básicos e técnicas do cálculo, a nível de funções reais de uma variável real, bem como sucessões e séries.

Estruturas Discretas

CC1001 - ECTS

Estudo das estruturas discretas fundamentais que estão na base formal da área de Ciência de Computadores/Informática.

Introdução à Programação

CC1024 - ECTS

Introdução à programação de computadores usando a linguagem Python.

Noções fundamentais de programação: variáveis, tipos, operadores e expressões; funções e procedimentos; instruções condicionais e de seleção; iteração e recursão, leitura e escrita.

Estruturas de dados e algoritmos fundamentais: listas, dicionários, tuplos; pesquisa e processamento de dados, ordenação; problemas e aplicações.

 

Introdução aos Computadores

CC1002 - ECTS

Fornecer aos estudantes uma visão geral sobre a Ciência de Computadores, em particular, sobre os conceitos fundamentais sobre a estrutura e o funcionamento dos computadores digitais e dos sistemas de operacão.  

Arquitetura de Computadores

CC2002 - ECTS

Fornecer aos estudantes os conceitos fundamentais da organização e funcionamento de um computador, nomeadamente, o seu modelo de representação de dados e programas, as suas componentes e interacções, e a forma de avaliar o seu desempenho.

Cálculo II

M1003 - ECTS Aquisição dos conhecimentos e competências básicos do Cálculo Diferencial e Integral em várias variáveis reais.

Elementos de Inteligência Artificial e Ciência de Dados

CC1023 - ECTS

A UC abordará os temas atuais da Inteligência Artificial (IA) e Ciência de Dados (CD), dando aos estudantes um conhecimento técnico, ainda que não aprofundado, sobre os seus conceitos, problemas e aplicações.

Relativamente às áreas de IA e CD os objectivos da UC são:

- Fornecer uma perspetiva histórica do seu surgimento e evolução.
- Identificar a sua relevância e impacto na sociedade atual.
- Estudar a relação com outras ciências e as interações com a sociedade.
- Conhecer as diferentes etapas dos processos de desenvolvimento.
- Desenvolver pequenos projetos de IA e CD.

Modelos de Computação

CC1004 - ECTS

Ensinar conceitos e resultados fundamentais sobre três modelos de computação básicos (autómatos finitos, autómatos de pilha e máquinas de Turing) e sobre as classes de linguagens formais associadas, com foco nas linguagens regulares e independentes de contexto.

Programação Imperativa

CC1003 - ECTS

Introduzir os conceitos fundamentais de programação imperativa enfatizando a noção de algoritmo e de modularidade, tendo por base a linguagem de programação C. Será dada ênfase à resolução prática de problemas, algoritmos básicos de contagem, pesquisa e ordenação, e à qualidade de escrita de código.

Bases de Dados

CC2005 - ECTS

Dotar os estudantes da teoria e prática necessária à concepção, construção e análise de bases de dados relacionais.

Estruturas de Dados

CC1007 - ECTS Reforçar as competências de programação dos estudantes, com ênfase no desenho e implementação de algumas das principais estruturas de dados e correspondentes algoritmos. Será usada uma metodologia orientada aos objectos com recurso à linguagem Java. Serão introduzidas noções sobre eficiência e análise de complexidade de algoritmos.

Lógica Computacional

CC2003 - ECTS

Pretende-se que o aluno aprenda as noções básicas do raciocínio lógico e seja capaz de utilizar correctamente os sistemas dedutivos; compreenda as relações entre as semânticas e os sistemas dedutivos e a sua caracterização do ponto de vista da decidibilidade; reconheça o papel dos sistemas formais nas várias áreas da Ciência de Computadores.

Métodos Numéricos

M2039 - ECTS

O objetivo desta UC é dado um problema matemático estudar condições suficientes para a existência e unicidade de solução, escolher um método numérico para a sua resolução, controlar os erros, fornecer um algoritmo a implementar e experimentar em máquina de calcular ou em computador, e interpretar os resultados.

Probabilidades e Estatística B

M2040 - ECTS
Aquisição dos conceitos fundamentais de Probabilidades e Estatística e a sua aplicação a situações concretas.

Será dada particular atenção à apresentação e compreensão dos conceitos, mantendo o tratamento matemático num nível intermédio.

Aprendizagem Computacional I

CC2008 - ECTS

Esta UC faz uma introdução à Aprendizagem Computacional (AC) fornecendo aos estudantes uma breve contextualização histórica e referência a algumas das suas aplicações mais relevantes.

Pretende-se que os estudantes façam um primeiro contacto com várias tarefas e abordagens envolvidas em problemas de AC e que possam, desta forma, identificar as estratégias mais adequadas.

Desenho e Análise de Algoritmos

CC2001 - ECTS

Aprendizagem de técnicas de concepção e análise de algoritmos eficientes.

Estatística Aplicada B

M3046 - ECTS

Aquisição de uma base sólida de conhecimentos em estatística indutiva e desenvolvimento de capacidades e engenho em técnicas de modelação estatística, fundamentais para a apresentação, tratamento e interpretação de conjuntos de dados.

Inteligência Artificial

CC2006 - ECTS

Objectivos: Estudo dos conceitos fundamentais e técnicas de uso mais generalizado da Inteligência Artificial.


Segurança e Privacidade

CC2009 - ECTS Esta Unidade Curricular tem como objetivo fornecer aos estudantes uma perspetiva integrada dos fundamentos da segurança e privacidade informática; visa dotar os estudantes dos princípios de segurança de sistemas e privacidade de dados.

Aprendizagem Computacional II

CC3043 - ECTS Esta UC consiste numa introdução a alguns dos fundamentos algorítmicos de aprendizagem computacional profunda e por reforço. 

Pretende-se que os estudantes façam um primeiro contacto com tais conceitos e com métodos concretos de implementação de tais algoritmos.

Deverão ser capazes de selecionar fundamentadamente algoritmos adequados assim como detalhes de arquiteturas de modelos e técnicas de aprendizagem para cada tarefa apresentada. 


Deverão saber estimar o desempenho dos métodos aplicados e usar esta informação para desenho iterativo dos modelos.

Eletrónica Digital e Circuitos

FIS3023 - ECTS

Introdução à teoria de circuitos, electrónica analógica básica e sistemas digitais.

Interação Pessoa-Máquina

CC3006 - ECTS

A Unidade Curricular visa introduzir aos alunos os princípios fundamentais de criação e desenvolvimento de Interfaces Pessoa-Máquina, focando-se em sistemas interativos. A sua abordagem engloba tanto os conceitos teóricos, tais como usabilidade e design centrado no utilizador, assim como as práticas de prototipagem de baixa e alta fidelidade, através da construção de interfaces gráficas.

Introdução aos Sistemas Inteligentes e Autónomos

CC3042 - ECTS

A UC apresenta uma perspetiva global das técnicas associadas aos sistemas inteligentes e autónomos, explorando a modelação e simulação de sistemas complexos e o desenvolvimento de aplicações de agentes inteligentes e de Sistemas Multi-Agente (SMA) com capacidade de adaptação/aprendizagem. O objetivo principal é especificar e implementar sistemas inteligentes autónomos, complexos e adaptativos. No final da UC, os estudantes deverão ser capazes de:
1. Compreender conceitos básicos relacionados com sistemas inteligentes autónomos e ser capaz de modelar e projetar sistemas inteligentes e autónomos complexos.
2. Compreender e ser capaz de utilizar conceitos de sistemas inteligentes multiagente tais como a comunicação, interação, coordenação, negociação e cooperação.
3. Compreender e ser capaz de utilizar o conceito de aprendizagem por reforço, incluindo algoritmos atuais e mecanismos de aprendizagem por reforço profunda.

Laboratório de IA e CD

CC3044 - ECTS

Objetivos: Objetivos: Fornecer aos estudantes metodologias de desenvolvimento de software, de projetos em IA e CD, de trabalho em equipa e de comunicação através da realização de projetos desenhado para o efeito.

 

Mecânica

FIS1013 - ECTS Esta unidade curricular  visa apresentar os conceitos e princípios básicos da mecânica clássica, e da relatividade restrita, com ênfase na compreensão de conceitos e na aplicação ao mundo real. Os alunos deverão ter a capacidade de manipular conceitos fundamentais e saber aplicá-los à resolução de problemas. Os estudantes serão motivados a considerar a aplicação dos princípios discutidos na cadeira a outras áreas do conhecimento científico e tecnológico. Será dada atenção particular à formação na resolução de problemas, familiarizando os estudantes com heurísticas e modos de pensar dos físicos experientes.

Modelação e Otimização

M3023 - ECTS 1. Aprender a formular matematicamente um problema de otimização;
2. Estudar os principais problemas de otimização relevantes;
3. Ganhar sensibilidade para a dificuldade teórica e prática (computacional) da resolução desses problemas;
4. Estudo de modelos de otimização subjacentes ao funcionamento de métodos de aprendizagem automática.

Programação Competitiva

CC3032 - ECTS Os principais objectivos são a consolidação e aquisição de novos conhecimentos de algoritmia e estruturas de dados e do seu eficiente desenho e implementação através da realização de desafios de programação no estilo de concursos de programação e de entrevistas de emprego.

Programação de Dispositivos Móveis

CC3049 - ECTS

Esta unidade curricular tem como objetivo global a compreensão da complexidade das plataformas atuais de programação de dispositivos móveis, de modo a fornecer aos estudantes as ferramentas necessárias para enfrentar os crescentes desafios na área. Como formação complementar, os estudantes são expostos aos requisitos e desafios da implementação de backends de forma a suportar as aplicações móveis.

Pretende-se que os estudantes:

- sejam capazes de projetar e implementar aplicações móveis;

- fiquem a conhecer as implicações do RGPD, evitando alguns dos erros mais comuns em relação à privacidade dos usuários;

- fiquem cientes da necessidade de incluir segurança no desenho das soluções;

- compreendam os compromissos implícitos entre desempenho, consumo de energia e segurança / privacidade

Tecnologias Web

CC3008 - ECTS

O objetivo desta unidade curricular é familiarizar os alunos com os conceitos e tecnologias utilizados no desenvolvimento de aplicações centradas na web. Isto inclui aprender sobre os diferentes tipos de aplicações web, as diferentes tecnologias que podem ser usadas para construí-las e as melhores práticas para projetar e desenvolver aplicações web.

Ciência de Dados em Larga Escala

CC3047 - ECTS Introdução ao uso de infra-estruturas de "cloud computing" para processamento massivo de dados ("big data") em problemas do mundo real.

Computabilidade e Complexidade

CC3004 - ECTS

Estudo e comparação de vários modelos de computação
(Turing-completos), do seu poder computacional e das suas limitações. Estudo das diversas classes de complexidade computacional.

Ao completar este curso espera-se que os alunos
- conheçam os modelos de computação clássicos utilizados no estudo da computabilidade de diversos problemas;
- saibam provar a equivalência de vários modelos Turing-completos;
- conheçam os resultados e métodos mais importantes no estudo da  computabilidade e complexidade;
- saibam classificar exemplos concretos de problemas e provar a sua (in)decidibilidade dentro das diversas classes de computabilidade.
- saibam classificar elemplos concretos pelas sua complexidade temporal e interpretar essa classificação. 

Gestão e Visualização de Informação

CC3045 - ECTS

Introdução à Robótica Inteligente

CC3046 - ECTS 1. Compreender os conceitos básicos de robótica e o enquadramento da inteligência artificial na robótica.
2. Estudar métodos de perceção e interpretação sensorial que permitam criar estados do mundo precisos e métodos de localização de robôs móveis.
3. Estudar os métodos que permitam a robôs móveis navegarem em ambientes conhecidos ou desconhecidos usando algoritmos de planeamento e navegação.
4. Compreender e utilizar algoritmos de aprendizagem computacional para robôs.
5. Analisar as principais competições robóticas nacionais e internacionais, os simuladores robóticos mais realistas e as plataformas robóticas mais avançadas disponíveis no mercado.
6. Incentivar capacidade de comunicação em tópicos técnicos e científicos e abordagens científicas saudáveis.

Métodos de Apoio à Decisão

CC3003 - ECTS Pretende-se que os alunos:
1. Se familiarizem com os pricipais problemas de decisão e optimização.
2. Aprendam a formalizar modelos de optimização em programação matemática.
3. Dominem alguns métodos utilizados para a sua resolução.
4. Se familiarizem com linguagens e bibliotecas existentes para resolução de problemas de decisão.
5. Desenvolvam aptidões para avaliar a complexidade computacional de problemas.

Programação Concorrente

CC3040 - ECTS

O objetivo principal é fornecer uma formação sólida sobre concorrência, com particular ênfase nos princípios fundamentais de concorrência e no desenho e implementação de modelos de computação concorrente em arquiteturas de memória partilhada, assim como dos principais problemas inerentes.

Programação em Lógica

CC3012 - ECTS - Transmitir aos estudantes conceitos fundamentais de programação em lógica
- Desenvolver nos estudantes competências de programação em Prolog
- Expor a relação entre programação em lógica e lógica matemática
- Despertar nos estudantes a motivação para a programação em lógica
- Apresentar aos estudantes aplicações práticas de programação em lógica
- Envolver os estudantes em projetos práticos de programação em lógica
- Relacionar a disciplina com outras do curso

Programação Funcional

CC1005 - ECTS

Introdução à programação funcional usando a linguagem Haskell.

Projeto-Estágio de Inteligência Artificial e Ciência de Dados

CC3048 - ECTS Este estágio/projeto tem como objetivo aferir a capacidade dos alunos para enfrentarem desafios de investigação em ambiente universitário e promover o enriquecimento curricular dos alunos tendo em vista a sua integração profissional junto de instituições de investigação científica e empresas do sector informático.

Sistemas Multimédia

CC3013 - ECTS
Recomendar Página Voltar ao Topo
Copyright 1996-2025 © Faculdade de Ciências da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2025-06-14 às 06:04:57 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias