Acções do Documento

Plano de Estudos


PLANO DE ESTUDOS da LCC
Unidade Curricular
Área Dep
Horas de Contacto
ECTS
T TP PL
Álgebra Linear CC

Matrizes: operações com matrizes, inversa de uma matriz; transposição. Sistemas de equações lineares: o algoritmo de eliminação de Gauss, o algoritmo de Gauss-Jordan para inversão de matrizes; regra de Cramer. Espaços vectoriais reais e complexos: subespaços, dependência e independência lineares; base e dimensão. Transformações lineares: transformações lineares entre espaços vectoriais de dimensão finita, matriz de uma transformação linear, núcleo e imagem de uma transformação linear, nulidade e característica. Determinantes: propriedades; teorema de Laplace. Valores e vectores próprios: valores e vectores próprios em espaços vectoriais de dimensão finita, subespaços próprios, diagonalização.

M DMat 42 42 0 8
Matemática Computacional

Introdução á Matemática Computacional. Apresentação do Mathematica®: capacidades numéricas, capacidades simbólicas, funções, listas e capacidades gráficas. Elementos de programação. Breve exploração de um sistema algébrico computacional ``freeware''.

M DMat 28 0 42 7
Programação Funcional CC

Introdução ao paradigma funcional; a linguagem de programação Haskell. Expressões, valores e redução. Tipos básicos e tipos algébricos. Funções recursivas e tipos de dados recursivos. Programação com listas, árvores binárias e árvores binárias de pesquisa. Programação funcional de ordem superior. Polimorfismo; classes; tipos principais. Modularidade.

CC DI 28 14 28 8
Tópicos de Matemática CC

Introdução ao cálculo proposicional: conectivos, fórmulas, valores de verdade, valorações, tautologias, equivalências lógicas. Representação de conjuntos, relações binárias, aplicações, famílias de conjuntos, relações de equivalência, conjuntos quociente. Conjuntos finitos e conjuntos infinitos, conjuntos numeráveis e conjuntos não numeráveis, teorema de Cantor. Princípio de indução e princípio de indução completa. Conjuntos parcialmente ordenados: elementos especiais, conjuntos bem ordenados.

M DMat 28 42 0 7
Total 1º Semestre


294
30
Cálculo

Axiomática do corpo dos números reais. Sucessões e séries numéricas, critérios de convergência. Continuidade de funções reais de variável real. Teoremas de Weierstrass e do Valor Intermédio. Função composta e função inversa. Derivabilidade, teoremas de Rolle, Lagrange e Cauchy, Regra de l'Hôpital. Funções hiperbólicas, hiperbólicas inversas e trigonométricas inversas. Primitivas imediatas, por partes, por substituição e primitivação de fracções racionais. Integral de uma função limitada num intervalo. Propriedades do integral. Teorema da mudança de variável. O Teorema Fundamental do Cálculo e algumas consequências.

M DMat 42 42 0 7
Matemática Discreta

Noções básicas sobre grafos: caminhos, atalhos, componentes conexas. Grafos eulerianos e grafos hamiltonianos. Grafos planares, sua caracterização. Fórmula de Euler. Introdução á teoria de números: divisibilidade, números primos, máximo divisor comum e mínimo múltiplo comum, algoritmo de Euclides, teorema fundamental da aritmética. Equações diofantinas, congruências, o anel Zn, teorema chinês dos restos. Função e fórmula de Euler, teorema de Wilson.

M DMat 28 42 0 6
Programação Imperativa CC

Introdução ao paradigma imperativo; representação de dados; estruturas de controlo; manuseamento de ficheiros; gestão dinâmica de memória; estruturas de dados lineares; pesquisa e ordenação: conceitos e algoritmos; tipos de dados abstractos: pilhas e filas de espera; estruturas de dados não lineares: árvores; árvores binárias de pesquisa. (suporte: linguagem C).

CC DI 28 14 28 6
Sistemas de Computação

Organização e estrutura de um computador; representação de informação; arquitectura ao nível do conjunto de instruções; avaliação de desempenho de computadores.

TC DI 28 10 18 5
Teoria das Linguagens

Linguagens; expressões regulares e linguagens regulares; autómatos finitos deterministas e autómatos finitos não deterministas; equivalência entre os dois tipos de autómatos; teorema de Kleene; minimização de autómatos; lema da bombagem; gramáticas independentes do contexto; autómatos de pilha; correspondência entre gramáticas independentes de contexto e autómatos de pilha.

CC DMat 28 28 0 6
Total 2º Semestre


336
30
Algoritmos e Complexidade CC

Introdução á análise de algoritmos: análise de correcção; análise assimptótica de tempo de execução; Notações O, ω, ϴ relações de recorrência; estratégias algorítmicas fundamentais. Algoritmos de ordenação. Algoritmos clássicos sobre grafos. Definição informal das classes de problemas P e NP; exemplos de problemas NP-completos. Estruturas de dados: árvores AVL e tabelas de ``hash''. (suporte: linguagem C).

CC DI 28 14 28 6
Análise

Produto interno, norma e distância. Conjuntos abertos, fechados, limitados, compactos e conexos por arcos em ℝn. Sucessões em ℝn. Funções vectoriais, limites e continuidade, continuidade de funções compostas. Noção de derivada direccional, derivada parcial. Generalização do Teorema de Lagrange para funções reais de várias variáveis. Derivada (global). Derivadas de ordem superior. Derivada da função composta. Hiperplano tangente ao gráfico de uma função num ponto onde a função é derivável. Recta normal e hiperplano tangente a uma curva de nível. Máximos e mínimos locais e condicionados. Teorema da Função Inversa e Teorema da Função Implícita. Breve introdução á definição de integral de uma função definida num rectângulo. Extensão do conceito de integral a outros conjuntos.Teorema de Fubini. Teorema da mudança de variável. Coordenadas polares, cilíndricas e esféricas.

M DMat 42 42 0 7
Comunicações por Computador CC

Transmissão e comunicação de dados; protocolos de comunicações; famílias de protocolos e suas arquitecturas; redes locais de computadores; protocolos TCP/IP.

TC DI 28 0 28 5
Estruturas Algébricas

Grupos: subgrupos e subgrupos invariantes, Teorema de Lagrange, grupos quociente, homomorfismos. Anéis: subanéis, ideais, anel quociente, homomorfismos; domínios de integridade; corpos. Reticulados: subreticulados, homomorfismos e produto directo; relações de congruência e reticulados quociente. Reticulados distributivos e reticulados modulares. álgebras de Boole. Conceitos básicos em algebra universal: operação de aridade n, álgebras; subálgebras, homomorfismos e produto directo; subálgebra gerada; relações de congruência e álgebra quociente.

M DMat 42 42 0 7
Lógica CC

Sintaxe e semântica da Lógica Clássica Proposicional; formas normais conjuntivas e disjuntivas; sistema formal de dedução natural; teoremas da correcção e completude. Sintaxe, semântica de Tarski  e dedução natural para a Lógica Clássica de Primeira Ordem. Introdução á Lógica Intuicionista Proposicional: semântica de Kripke; dedução natural;  interpretação de Gödel em Lógica Clássica.

M DMat 28 28 0 5
Total 3º Semestre


350
30
Cálculo de Programas CC

Arquitectura da programação: teoria e método. Composicionalidade. Programação funcional composicional, seus combinadores e suas leis de cálculo. Programação funcional com mónadas e o seu cálculo. Estruturas de dados indutivas regulares e sua álgebra de programação. Programação genérica: parametrização e polimorfismo. Costumização e reutilização.

CC DI 28 14 28 6
Lógica Computacional

Lógicas modais; Lógica Linear; sistemas dedutivos; ``tableaux''; sistemas dedutivos optimizados para o cálculo proposicional. Programação lógica.

CC DI 28 14 28 6
Processamento de Linguagens e Compiladores

Análise e geração automática de programas; gramáticas independentes do contexto; ``parsing top-down'' e ``parsing bottom-up''; programação baseada em gramáticas de atributos.

TC DI 28 14 28 6
Programação Orientada aos Objectos

Introdução á programação por objectos: origem do paradigma e conceitos básicos fundamentais. Noção de objecto em PPO: estrutura e comportamento, encapsulamento, mensagens e métodos, instâncias e classes. Classes, hierarquias de classes e herança: herança lógica vs herança de implementação, herança vs agregação. Classes abstractas: reutilização e extensibilidade, tipos abstractos de dados, polimorfismo. Concepções de sistemas em PPO: subclasses como especialização, tipos de dados estáticos e dinâmicos. Programação por objectos utilizando Java: modelo de programação em Java, estudo das principais bibliotecas, ``static checking'' vs ``runtime checking''.

CC DI 28 14 28 6
Sistemas Operativos CC

Objectivos, evolução e estrutura dos sistemas operativos modernos; gestão de processos (objectivos, critérios e estratégias de escalonamento); gestão de memória (memória real e virtual, paginação e segmentação); gestão de periféricos (``software'' de I/O, gestão de disco, ``device drivers''); sistemas de ficheiros.

TC DI 28 0 28 6
Total 4º Semestre


336
30
Análise Numérica

Erros e estabilidade. Interpolação polinomial. Quadratura: fórmulas de Newton-Cotes. Equações não lineares. Sistemas de equações lineares: métodos directos. Utilização de um sistema computacional na programação de métodos estudados.

M DMat 28 14 28 7
Bases de Dados CC

Terminologia de sistemas de bases de dados; análise, planeamento e concepção de sistemas de bases de dados; manipulação de dados; sistemas de bases de dados distribuídas e centralizadas.

TC DI 28 14 14 5
Computabilidade

Máquinas de Turing; linguagens recursivas e recursivamente enumeráveis; máquinas de Turing universais; problemas de decisão; problemas (in)decidíveis e problemas semi-decidíveis; problemas de decisão em teoria da computabilidade: problema da auto-rejeição, problema da aceitação e problema da paragem, teorema de Rice; reduções entre problemas; funções computáveis por máquinas de Turing, funções parciais recursivas e equivalência entre as duas classes de funções; Tese de Church.  Introdução á Teoria da Complexidade; classes P e NP; completude NP; teorema de Cook e outros exemplos de problemas completos para NP.

CC DMat 28 28 0 6
Geometria

Estrutura euclidiana de ℝ2 e ℝ3: rectas, planos, sistemas de referência, produto interno e distância, paralelismo e perpendicularidade. Transformações geométricas de ℝ2 e ℝ3: isometrias no plano e no espaço; semelhanças e inversões no plano. Geometria projectiva: coordenadas homogéneas, perspectivas, projecções paralelas. Curvas e superfícies: parametrizações de curvas e superfícies.

M DMat 28 28 0 6
Programação Concorrente

Modelação de sistemas concorrentes: processos, estados, acções, escolha, não determinismo, guardas, propriedades de segurança e progresso; Concorrência em memória partilhada: exclusão mútua, ``deadlocks'', semáforos, monitores (tipos abstractos de dados concorrentes, variáveis de condição, espera e semânticas de sinalização, invariantes e predicados, concorrência em linguagens orientadas a objectos); Concorrência em sistemas distribuídos: canais e portos, ``send'' e ``receive'', ``unicast'' e ``broacast'', modelos síncronos e assíncronos, modelo cliente-servidor, faltas em processos e canais, semântica perante faltas, tempo, ordem e causalidade.

CC DI 28 0 28 6
Total 5º Semestre


294
30
Computação Gráfica CC

Estudo das primitivas gráficas; transformações geométricas (escala, rotação e translação); cores e texturas; iluminação; som; análise do modelo de eventos; interpoladores: animação básica; encaminhamento de eventos; técnicas avançadas para melhorar o desempenho; protótipos.

TC DI 28 14 14 6
Probabilidades e Aplicações

Introdução e conceitos básicos. Teoria axiomática. Variáveis aleatórias, vectores aleatórios e distribuições de probabilidade (discretas, absolutamente contínuas e outras). Medidas de localização, dispersão e forma. Momentos, desigualdades e transformadas. Famílias de distribuições univariadas e multivariadas mais comuns. Funções de variáveis aleatórias. O modelo normal e suas propriedades. Distribuições por amostragem em modelos normais. Convergências estocásticas. Teorema Limite Central e leis dos grandes números. Simulação computacional (ao longo do programa).

M DMat 28 14 28 7
Processos e Concorrência

Introdução á modelação formal e verificação de sistemas concorrentes: sistemas de transição de estados; propriedades de segurança, animação e justiça; introdução ao cálculo de processos. Redes de Petri: modelação de sistemas concorrentes; semântica operacional; cálculo de invariantes; introdução ás redes coloridas; ferramentas para especificação e animação de redes de Petri. Lógica Temporal: especificação de propriedades de sistemas concorrentes usando lógica CTL; verificação directa de modelos; verificação simbólica de modelos baseada em OBDDs; ferramentas para verificação simbólica de modelos.

CC DI 28 28 0 6
Semântica de Programação

O Λ-calculus: sintaxe, redução, avaliação (ordens normal e aplicativa). Estudo de uma linguagem de programação funcional elementar: semântica operacional e semântica denotacional. Introdução á teoria de domínios: funções contínuas e menores pontos fixos. Semântica de funções recursivas. O sistema de tipos simples: tipos implícitos e explícitos; inferência de tipos.

CC DI 28 28 0 5
Teoria de Números Computacional

Raízes primitivas e índices, aplicação ao estudo de alguns tipos de congruências. Distribuição dos números primos, teorema dos números primos. Testes de primalidade e de pseudo-primalidade. Algoritmos para gerar números primos. Código RSA. Resíduos quadráticos, lei da reciprocidade quadrática. Fracções racionais,  equações de Pell. Algoritmos de factorização (Fermat, Pollard, via fracções contínuas, etc.). Representação de inteiros como soma de quadrados. Inteiros e primos gaussianos.

M DMat 28 28 0 6
Total 6º Semestre


294
30