|
Planos de Estudos :: Formação Complementar (MINOR) em Informática
Área Científica |
Sigla |
Créditos |
Obrigatórios |
Optativos |
Química |
Q |
85 |
5 |
Matemática |
M |
20 |
|
Física |
F |
10 |
|
Ciência de Computadores |
CC |
22,5 |
22,5 |
Qualquer na FCUP |
|
|
15 |
Total |
|
137,5 |
42,5 |
|
| |
|
| |
UNIDADES CURRICULARES |
ÁREA |
ANO |
SEMESTRE |
CRÉDITOS |
CÓDIGO |
OPÇÃO |
|
|
|
INTRODUÇÃO À PROGRAMAÇÃO |
CC |
|
S1 |
7,5 |
CC101 |
|
|
|
INTRODUÇÃO À CIÊNCIA DE COMPUTADORES |
CC |
|
S1 |
7,5 |
CC103 |
|
Programa: Noções básicas de hardware de um computador. Sistemas operativos. Representação de dados. Circuitos digitais e álgebra de Boole. Linguagens de baixo nível. Linguagens de alto nível. Apresentação breve de diferentes linguagens. Limites de computabilidade. Breve apresentação das diferentes áreas em Ciência de Computadores. |
|
ESTRUTURAS DE DADOS |
CC |
|
S2 |
7,5 |
CC202 |
|
|
|
OPÇÕES LISTA INF |
CC |
|
S1/S2 |
22,5 |
|
|
|
|
|
Lista INF |
BASE DE DADOS |
CC |
|
S1 |
7,5 |
CC301 |
s |
Programa: Conceitos Básicos. Fases do desenho de uma base de dados. Os Modelos ER e EER: entidades tipo, entidades fracas, atributos, relacionamentos e chaves, subclasses, superclasses, especialização, generalização e categorias. Diagramas ER e EER. O Modelo Relacional: relações, atributos, domínios e tuplos; superchaves, chaves primárias e chaves externas; restrições de integridade; esquema relacional; conversão dos modelos ER e ERR para o relacional. Álgebra e Cálculo Relacional. A Linguagem SQL. A DDL do SQL: administrar tabelas, restrições de integridade e domínios. A DML do SQL: consultas básicas, encadeadas e correlacionadas. Operações de junção, agregação, inserção, remoção e alteração. Visões, asserções e triggers. Formas normais e normalização de relações. Dependências funcionais, multi-valor e de junção. Decomposição com junção-não-aditiva. SQL em Ambiente de Programação. Transacções, concorrência e tolerância a falhas. Segurança em bases de dados: contas e privilégios. Organização Física dos Dados. Registos, ficheiros de registos e índices. |
|
SISTEMAS DE OPERAÇÃO |
CC |
|
S2 |
7,5 |
CC222 |
s |
Programa: Conceitos básicos: arquitectura de um sistema de operação, interrupções, modos de operação utilizador e kernel, buffering e spooling, DMA. Gestão de Processos. Mecanismos de exclusão mútua, comunicação entre processos, problemas clássicos de sincronização. Threads e p-threads. Programação avançada em Linux. Gestão de memória. Partições. Swapping e recolocação. Paginação, segmentação, memória virtual, TLBs, memórias cache, algoritmos de substituição de páginas. Sistema de ficheiros e implementação. Evolução dos sistemas de ficheiros no UNIX. Periféricos de Entrada/Saída. Algoritmos de scheduling de discos. RAID. Encravamento e segurança. Noções básicas de segurança e breves conceitos sobre administração de sistemas UNIX. |
|
LÓGICA E PROGRAMAÇÃO |
CC |
|
S2 |
7,5 |
CC216 |
s |
Programa: Cálculo proposicional: a linguagem do cálculo proposicional; aspectos semânticos; aspectos sintácticos; integridade e completude. Lógica de primeira ordem: linguagens de primeira ordem; aspectos semânticos; aspectos sintácticos; integridade e completude; teorema da compacidade. Computabilidade e decidibilidade: noções e resultados básicos de computabilidade e decidibilidade; máquinas de registos; tese de Church; problema de paragem para máquinas de registos; exemplos de indecidibilidade. Programação em lógica: fórmulas de Horn e programas definidos; unificação; pontos fixos; resolução-SLD; aspectos práticos. |
|
COMPUTABILIDADE |
CC |
|
S1 |
7,5 |
CC333 |
s |
Programa: Bijecções efectivas entre N2 e N e entre e N. Linguagens, funções e problemas de decisão. Alguns modelos de computação equivalentes: lambda-calculus, máquinas de Turing, máquinas de registos. Tese de Church Turing. Enumerabilidade efectiva das instâncias de um modelo de computação. Método da diagonalização e indecidibilidade do problema da paragem. Redução «muitos para um» entre linguagens. Outros problemas indecidíveis. Linguagens recursivas e «recursivamente enumeráveis». Reduções de Turing. Computabilidade relativa; oráculos. Conjuntos simples, criativos e produtivos. Hierarquia aritmética. Problemas práticos indecidíveis. |
|
MODELOS DE COMPUTAÇÃO |
CC |
|
S2 |
5 |
CC218 |
s |
Programa: Noção de linguagem formal. Autómatos finitos determinísticos e não determinísticos. Expressões regulares e autómatos finitos. Propriedades das linguagens regulares. Minimização de autómatos finitos. Limitações dos autómatos finitos e Lema da repetição. Gramáticas independentes de contexto. Árvores de derivação. Ambiguidade. Simplificações de gramáticas independentes de contexto e formas normais. Propriedades das linguagens independentes de contexto (LIC). Vários modelos de máquinas de Turing. Tese de Church-Turing |
|
ARQUITECTURA DE SOFTWARE |
CC |
|
S2 |
5 |
CC226 |
s |
Programa: Paradigmas de estruturação de programas: programação orientada a objectos; programação orientado por aspectos; programação por contracto. Modelação de software: introdução ao UML; comparação entre versões 1 e 2; diagramas estruturais: classes, pacotes e objectos; componentes e instalação; diagramas dinâmicos: casos de uso, comunicações e sequências, actividades e estados. Modelos arquitecturais: cliente - servidor; n-camadas; componentes; orientação a serviços. Padrões de desenho: conceitos básicos e objectivos, classificação e sistematização, padrões criacionais, padrões estruturais, padrões comportamentais. Programação por componentes: API do Java, input/output, estruturas de dados, interfaces gráficas, 'frameworks', testes unitários (JUnit), logging (Log4J) |
|
INTERACÇÃO PESSOA-MÁQUINA |
CC |
|
S1 |
5 |
CC205 |
s |
Programa: Conceitos básicos de interacção Pessoa-Máquina (IPC). Aspectos humanos da IPC. Aspectos tecnológicos da IPC. Desenho de interfaces gráficas. Sistemas de implementação interfaces gráficas. Avaliação de interfaces gráficas. |
|
REDES DE COMUNICAÇÃO |
CC |
|
S1 |
7,5 |
CC303 |
s |
Programa: Introdução às redes de comunicação, arquitecturas de rede, protocolos, comutação por circuitos e por pacotes. Aplicações e protocolos aplicacionais (HTTP, FTP, SMTP, POP3, IMAP, DNS)e programação de sockets (servidor simples, servidor concorrente). Camada de Transporte (TCP e UDP), fiabilidade e controlo de congestionamento. Camada de Rede, endereçamento e roteamento IP. Camada de Ligação, dispositivos e redes sem fios. Problemas básicos de segurança em redes e soluções possíveis. |
|
MÉTODOS DE APOIO À DECISÃO |
CC |
|
S2 |
5 |
CC330 |
s |
Programa: Formulação de modelos matemáticos para problemas de decisão de diversos domínios (produção, afectação, transporte, escalonamento, fluxo). Linguagens de Programação por Restrições. Programação linear. Optimização em grafos e redes: revisão de algoritmos clássicos. Introdução à programação inteira e optimização discreta. Introdução aos modelos probabilísticos: modelos markovianos de filas de espera. |
|
SISTEMAS INTELIGENTES |
CC |
|
S2 |
5 |
CC322 |
s |
Programa: Técnicas de procura: árvores e grafos, algoritmos de procura em profundidade, em largura, aprofundamento iterativo, alargamento iterativo. Heurísticas: subida mais rápida, arrefecimento simulado, algoritmo A*. Optimização: geração e teste, ramificar e limitar. Análise jogos através de árvores: algoritmos minimax e corte alfa-beta. Sistemas baseados em conhecimentos: manipulação e representação de conhecimentos, reificação, tipos, hierarquia de tipos, herança. Sistemas periciais. Processamento de Linguagem Natural: sintaxe e semântica. Modelos de inspiração biológica: redes neuronais e algoritmos genéticos. |
|
SISTEMAS E APLICAÇÕES |
CC |
|
S1 |
5 |
CC220 |
s |
Programa: Folhas de cálculo: introdução ao ambiente e edição, fórmulas e funções, formatação automática e criação de gráficos, ferramentas de análise de dados. Gestores de Bases de Dados: introdução ao ambiente e criação de BDs, relações e associações entre tabelas, consultas, formulários, relatórios e segurança, objectos (e.g. ActiveX Data Objects). Programação em VBA para aplicações: variáveis, âmbito e constantes pré-definidas, hierarquia e módulos, criação de classes, tratamento de erros. |
|
TECNOLOGIAS WEB |
CC |
|
S1 |
5 |
CC307 |
s |
Programa: A linguagem de programação PERL. O protocolo HTTP. Programação de CGI's. Técnicas de programação para gerir concorrência e manter o estado. API's de acesso a servidores de bases de dados relacionais. Modelos programáticos transaccionais para a manutenção de estado. Serialização de objectos. Programação de clientes-web simples. Web-Scraping. Agregação e distribuição de serviços pela Internet. Web-Services. |
|
SISTEMAS MULTIMÉDIA |
CC |
|
S2 |
5 |
CC328 |
s |
Programa: Informação e representação digital: conversão analógico-digital, tecnologias de armazenamento de dados, compressão digital. Aplicações Multimédia Interactivas: usabilidade, personalização e interfaces multi-modais, detecção e correcção de erros. Tipos de media: estáticos, dinâmicos. Autoria multimédia: modelos e paradigmas de autoria, modelos de sincronização temporal, avaliação de sistemas. Aplicações Web Multimédia: criação automática de páginas, integração Web e realidade virtual, ensino baseado na Web. |
Nota: A informação é disponibilizada a título
informativo e não dispensa a consulta do Diário da República
|