Ciências da Computação



Yüklə 228 Kb.
səhifə2/4
tarix08.08.2018
ölçüsü228 Kb.
#61225
1   2   3   4







8501N1 - Álgebra Linear

Regime: S1


Tipo: Obrigatória
Língua de Instrução: Português
Horas/Semana: 84
Créditos: 8
Métodos de Ensino:

Aulas teóricas e práticas.

Programa:

Matrizes, Sistemas de Equações Lineares, Transformações Lineares, Determinantes, Valores e Vectores Próprios.

Métodos de Avaliação:

Avaliação periódica realizada através de dois testes escritos e de um trabalho prático, em grupo, partilhado com a Unidade Curricular de Matemática Computacional / Exame final escrito.

Pré-requisitos:

Teoria intuitiva de conjuntos.

Resultados de Aprendizagem:

Os alunos que completem este curso com sucesso devem ser capazes de:


- operar com matrizes;
- explicar demonstrações e argumentações simples de resultados básicos de Álgebra Linear;
- demonstrar e aplicar propriedades de espaços vectoriais;
- resolver problemas que envolvam aplicações lineares;
- determinar a solução geral de um sistema de n equações lineares em m incógnitas;
- identificar e caracterizar aplicações lineares diagonalizáveis.

Bibliografia:

António Monteiro, Álgebra Linear e Geometria Analítica (McGraw Hill, 2001)

Maria Paula Marques Smith, Emília Giraldes & Victor Hugo Fernandes, Curso de Álgebra Linear e Geometria Analítica (McGraw Hill, 1995).


T. Blyth, E.F. Robertson, Basic Linear Algebra, (Springer Verlag).
Eugene Johnson , Linear Algebra with MATHEMATICA®, Brooks/Cole - Symbolic Computation Series, 1999.

Docentes:


Maria Cláudia Freitas de Sousa Mendes Araújo

Maria Isabel Caiado






8501N2 - Matemática Computacional

Regime: S1


Tipo: Obrigatória
Língua de Instrução: Português
Horas/Semana: 70
Créditos: 7
Métodos de Ensino:

2 horas teóricas semanais; 3 horas semanais práticas em laboratório de computação.

Programa:

Sistemas computacionais algébricos: capacidades gráficas, simbólicas e numéricas. Elementos de programação.

Métodos de Avaliação:

Avaliação periódica realizada através de dois testes em laboratório computacional e de um trabalho prático, em grupo, partilhado com a Unidade Curricular de Álgebra Linear / Exame final escrito.

Pré-requisitos:

Nenhuns.


Resultados de Aprendizagem:

Conhecer as regras básicas do sistema Mathematica. Pesquisar e utilizar funcionalidades recorrendo aos sistemas de ajuda existentes no Mathematica. Compreender os conceitos de precisão e de acurácia de um número. Construir funções/programas que desempenhem tarefas especificadas, usando programação funcional e recursiva. Utilizar regras de reescrita como elemento de atribuição e de programação. Construir objectos gráficos em duas e três dimensões. Manipular e construir  objectos gráficos usando primitivas e directivas gráficas. Resolver problemas de Álgebra Linear, Análise Real e Teoria de Números com recurso a funcionalidades do sistema Mathematica. Importar e exportar dados de forma estruturada.

Conhecer as regras básicas do sistema Mathematica, do conceito de precisão e das funcionalidades apresentadas. Pesquisar e utilizar novas funcionalidades recorrendo aos sistemas de ajuda existentes no Mathematica. Construir objectos gráficos em duas e três dimensões. Manipular e construir  objectos gráficos usando primitivas e directivas gráficas. Resolver de problemas de Análise Real, Álgebra Linear e Teoria de Números com recurso a funcionalidades do sistema Mathematica. Construir funções/programas, usando programação funcional e recursiva, que desempenhe tarefas especificadas. Utilizar regras de reescrita como elemento de atribuição e de programação. Importar e exportar dados de forma estruturada.

Bibliografia:

Heikki Ruskeepää, Mathematica Navigator: Graphics and Methods of Applied Mathematics (Academic Press,1999);

R.J. Gaylord, S.N. Kamin & P.R. Wellin, An Introduction to Programming with Mathematica (TELOS 1996);

Nancy Blachman, Mathematica: a practical approach (Prentice Hall, 1992)

Wolfram, S., Mathematica: A System for Doing Mathematics by Computer (Addison Wesley, 1991);


Gray, J., Mastering Mathematica (Academic Press, 1994);
Majewski, M., MuPAD Computing Essencials (Springer, 2004).

Docentes:


Maria Suzana Freitas de Sousa Mendes Gonçalves




8501N3 - Programação Funcional

Regime: S1


Tipo: Obrigatória
Língua de Instrução: Português
Horas/Semana: 70
Créditos: 8
Métodos de Ensino:

2 horas/semana - aulas teóricas; 1 hora/semana - aulas teórico-práticas;  2 horas/semana - aulas práticas em laboratório de computadores.

Programa:

O paradigma funcional da computação; a linguagem de programação Haskell.


Expressões, valores e redução. Tipos básicos, tipos algébricos, indução e recursividade.
Programação funcional de ordem superior. Polimorfismo, classes, tipos principais. Modularidade.

Métodos de Avaliação:

Exame teórico; avaliação prática contínua, tendo por base a realização de fichas de trabalho e projectos práticos de pequena dimensão.

Prova individual escrita (teste final), teste laboratorial e trabalho prático.

Pré-requisitos:

Nenhuns.


Resultados de Aprendizagem:

No final desta disciplina, o aluno deverá ser capaz de:


Escrever programas numa linguagem de programação funcional (Haskell).
Compreender o conceito de tipo indutivo e de recursividade.
Definir tipos algébricos para modelar problemas, e programar com esses tipos.
Compreender a noção de tipo principal e de polimorfismo.
Usar funções de ordem superior.

Bibliografia:

Fundamentos da Computação, Livro II: Programação Funcional, José Manuel Valença e José Bernardo Barros, Universidade do Minho, 1998. - Introduction to Functional Programming, Richard Bird and Philip Wadler, Prentice-Hall, 1988 - Introduction to Functional Programming using Haskell, Richard Bird, Prentice-Hall, 1998 - The Craft of Functional Programming, Simon Thompson, Addison-Wesley, 1996.

Docentes:


Maria João Gomes Frade
Jorge Miguel Matos Sousa Pinto

Olga Pacheco

José Carlos Ramalho






8501N4 - Tópicos de Matemática

Regime: S1


Tipo: Obrigatória
Língua de Instrução: Português
Horas/Semana: 70
Créditos: 7
Métodos de Ensino:

2 horas/semana - aulas teóricas. 3 horas/semana - teórico-práticas.

Programa:

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, Lema de Zorn.

Métodos de Avaliação:

Avaliação periódica com a realização de dois testes sumativos/ Exame final escrito.

Pré-requisitos:

Nenhuns.


Resultados de Aprendizagem:

Com a aprovação na disciplina, o estudante deverá ser capaz de:


- aplicar propriedades elementares das operações lógicas proposicionais e de quantificação;
- construir argumentos matemáticos usando métodos de prova comuns, incluindo indução sobre os naturais;
- explicar os conceitos básicos sobre conjuntos, relações e funções e realizar operações  elementares sobre estes objectos matemáticos;
- exemplificar os conceitos básicos sobre relações de equivalência e relações de ordem;
- distinguir entre conjuntos numeráveis e conjuntos não numeráveis.

Bibliografia:

Foundations of abstract mathematics, Kurtz, D.C., McGraw-Hill, 1992. Introduction to set theory, K. Hrbacek and T. Jech, Marcel Dekker, Inc.2nd edition. Curso de Análise Matemática, J. Santos Guerreiro, Escolar Editora, 1989. Bloch, E., Proofs and Fundamentals (Birkhauser, 2000).

Docentes:


José Carlos Cruz da Costa

Maria Joana Costa Cruz Oliveira Torres Ramos

Maria Paula Beirão Oliveira Marques Smith
Maria Suzana Freitas Sousa Mendes Gonçalves






8502N2 - Cálculo

Regime: S2


Tipo: Obrigatória
Língua de Instrução: Português
Horas/Semana: 84
Créditos: 7
Métodos de Ensino:

3 horas/semana - aulas teóricas; 3 horas/semana - aulas práticas.

Aulas teóricas (3 horas por semana) e aulas de resolução de problemas (3 horas por semana). Os problemas a resolver nas aulas são propostos aos alunos com antecedência de uma ou duas semanas.

Programa:

Axiomática do corpo dos números reais. Sucessões de números reais. Séries de números reais. Funções reais de uma variável real. Derivadas. Integrais.

Sucessões e séries de números reais. Séries de potências. Funções reais de uma variável real. Limites e continuidade. Derivação em R. Série de Taylor. Primitivas. Integral de Riemann. Aplicações do cálculo integral.

Métodos de Avaliação:

Avaliação periódica / Exame final escrito.

Testes escritos, de natureza teórico-prática (de resolução de problemas).

Pré-requisitos:

Não há pré-requisitos.

Conhecimentos básicos sobre sucessões e funções de uma variável real.

Resultados de Aprendizagem:

- Números Reais:  determinar o supremo e o ínfimo de um conjunto de números reais;


conhecer a definição de interior, aderência e derivado de um conjunto de números reais.
- Sucessões:  conhecer a definição de limite; determinar o limite de uma sucessão monótona limitada; aplicar o teorema das sucessões enquadradas;
- Séries:  conhecer a definição de convergência; aplicar os critérios de comparação, da raíz e da razão; conhecer as séries geométrica, harmónica e de Riemann; conhecer a definição de convergência absoluta e de série alternada;
- Funções reais:  conhecer a definição de limite de uma função; saber calcular limites de funções; conhecer a definição de continuidade de uma função; enunciar e aplicar os teoremas de Weierstrass, de Bolzano e do valor intermédio;
- Derivadas:  conhecer a definição de derivada; calcular derivadas de funções simples e compostas; enunciar e aplicar os teoremas de Rolle e do valor médio de Lagrange; aplicar a regra de L'Hospital; calcular primitivas.
- calcIntegrais:  conhecer a definição de integral; enunciar e aplicar o teorema fundamental do cálculo integral; aplicar o integral ao cálculo de áreas.

1. Resolver problemas que envolvem sucessões, séries numéricas ou séries de potências (limites de sucessões, natureza de séries numéricas, intervalo de convergência de séries de potências, etc.) – 2. Usar resultados fundamentais do cálculo das funções de uma variável real (continuidade, derivadas, integrais) na resolução de problemas 3. Calcular limites, derivadas e primitivas de funções -4.Desenvolver funções em séries de potências (série de Taylor) – 5. Usar a fórmula de Taylor para aproximar valores numéricos de funções e limitar o erro da aproximação.

Bibliografia:

T. Apostol, Cálculo - Vol 1 (Ed. Reverté, 1991); J. Campos Ferreira, Introdução à Análise Matemática (Fundação Calouste Gulbenkian, 1987); E. L. Lima, Curso de Análise - Vol 1 (Projecto Euclides, 1995).

1- Cálculo (8ª ed.), R. Larson, R. P. Hostetler, B. H. Edwards, McGraw-Hill (2006); 2- Calculus (3rd ed.) Howard Anton, John Wiley & Sons (1988)

Docentes:


Ana Jacinta Pereira Costa Soares
Maria Helena Faria Mendonça Figueiredo

Rui Ralha






8502N3 - Matemática Discreta

Regime: S2


Tipo: Obrigatória
Língua de Instrução: Português
Horas/Semana: 70 5 horas/semana
Créditos: 6
Métodos de Ensino:

2 horas/semana - aulas teóricas. 3 horas/semana - aulas de exercícios.

Programa:

Teoria de grafos: noções básicas, grafos eulerianos, grafos hamiltonianos, grafos planares, fórmula de Euler.


Teoria dos números: divisibilidade, números primos, máximo divisor comum, mínimo múltiplo comum, algoritmo de Euclides e teorema fundamental da aritmética. Equações diofantinas e congruências. equações diofantinas; congruências módulo um inteiro; congruências lineares e sistemas de congruências lineares. Pequeno Teorema de Fermat e generalização de Euler. Teorema de Wilson.

Métodos de Avaliação:

Avaliação periódica /Exame final escrito.

Pré-requisitos:

Nenhuns.

Resultados de Aprendizagem:

O aluno deve:
- Aplicar o algoritmo de Euclides para o cálculo do máximo divisor comum entre dois inteiros.
- Resolver equações diofantinas.
- Conhecer critérios de primalidade.
- Conhecer a noção de congruência módulo um inteiro e suas propriedades.
- Resolver congruências lineares e sistemas de congruências lineares.
- Conhecer os conceitos essenciais de teoria de grafos apresentados no curso.

Bibliografia:

Burton, D. M., Elementary Number Theory (Wm. C. Brown Publishers, 1990).
Wiitala, S. A., Discrete Mathematics - A unified approach (McGraw-Hill 1987).
Fejer, P.A., Simovici, D.A., Mathematical Foundations of Computer Science (Springer Verlag, New York, 1991).

Docentes:


Maria Paula Freitas Sousa Mendes Martins




8502N4 - Programação Imperativa

Regime: S2


Tipo: Obrigatória
Língua de Instrução: Português
Horas/Semana: 70
Créditos: 6
Métodos de Ensino:

Aulas teóricas, teórico-práticas e práticas.

Programa:

Introdução à Programação Imperativa: Revisão da noção de Programação: objectivos, dificuldades e etapas; Uma visão global dos paradigmas de programação; Apresentação detalhada do paradigma; panorâmica histórica das linguagens de programação imperativas; Análise Descendente de problemas; Noção de Algoritmo: Linguagem Algorítmica em português estruturado ---introdução das diversas construções linguísticas através de problemas-exemplo típicos. Estudo da linguagem de programação "C": Filosofia e historial desta linguagem; Representação da Informação: tipos de dados; Instruções simples e estruturas de controlo em "C"; Acesso e armazenamento de informação em memória secundária: manipulação de ficheiros; Estruturas de dados dinâmicas: apontadores, listas e árvores; Introdução ao polimorfismo: registos variantes e apontadores para funções. algoritmos de Pesquisa e Ordenação. Recursividade: Adequação da recursividade ao problema a resolver; Implementação de alguns casos matemáticos de natureza recursiva; Resolução de problemas "try-and-error". Estruturas de Dados: Listas --- caso geral, Stacks e Queues; Funções Finitas; Estruturas arbóreas --- árvores binárias, árvores de decisão, árvores de expressões, etc.

Métodos de Avaliação:

Nota-Teórica(x 0.60) + Nota Pratica(x 0.40).

Pré-requisitos:

Nenhuns.


Resultados de Aprendizagem:

No fim da disciplina, o aluno deverá ser capaz de resolver problemas decompondo-os em problemas mais pequenos e especificando algoritmos para cada um destes. O aluno deverá ser capaz de resolver problemas envolvendo cálculo numérico, manipulação de strings, manipulação de ficheiros, armazenamento de informação e processamento de estruturas de dados (listas e árvores binárias). Deverá ser capaz também, de codificar qualquer algoritmo na linguagem de programação C.

Bibliografia:

Kernighan & Ritchie, The C Programming Language (ANSI C), 2nd edition, Prentice Hall Software series, 1988 P. Guerreiro, Elementos de Programação com C, FCA - Editora de Informática, 2001; L. Damas, Linguagem C, FCA - Editora de Informática, 1999; Leendert and Ammeraal, Programas e Estruturas de dados em C, Editora Presença, 1994; A.N. Ribeiro e J. Pina Miranda, Notas Práticas de Algorimtos e Estrruturas de Dados, Notas peda-gógicas, Univ. do Minho, 1995; J. A. Saraiva & A. N. Ribeiro, Estruturas de Dados: Listas ligadas dinâmicas. Notas peda-gógicas, Univ. do Minho, 1995.

Docentes:
José Carlos Ramalho

Alberto Simões







8502N6 - Sistemas de Computação

Regime: S2


Tipo: Obrigatória
Língua de Instrução: Português
Carga Total: 56
Créditos: 5
Métodos de Ensino:

Aulas teóricas, de resolução de problemas e laboratoriais.

Programa:

Fundamentos tecnológicos dos computadores e da computaçã organização e

estrutura de um sistema de computação; representação da informação, 

incluindo texto, imagens, inteiros, reais norma IEEE 754 e o instruction setdum CPU; análise ao nível do assembly, da execução de programas codificados

numa linguagem imperativa; análise ao nível dos sistemas digitais, do CPU,

memória, barramentos e controlador de periféricos.

Métodos de Avaliação:

Testes, Trabalhos Práticos e Exame.

Pré-requisitos:

Nenhuns.


Resultados de Aprendizagem:

1. Descrever e analisar informação (textos, imagens, números inteiros/reais e instruções de CPU), em diferentes bases de representação numérica.


2. Descrever a estrutura e organização de um sistema de computação, as funcionalidades dos seus componentes e as relações entre os níveis de abstracção.
3. Identificar as características mais relevantes do conjunto de instruções de um CPU e descrever o funcionamento de instruções de um ISA tipo.
4. Analisar e modificar código assembly de um CPU típico gerado por um compilador, incluindo estruturas de controlo/dados e invocação de procedimentos/funções.
5. Descrever técnicas actuais de realização física ao nível da hierarquia de memória e da execução paralela de instruções, e seu impacto no desempenho do sistema.

Bibliografia:

Computer Organization and Architecture - Designing for Performance, William
Stallings, Prentice Hall, 6th Ed., 2002
Computer Systems: A Programmer's Perspective (CS:APP), Randal Bryant and
David O'Hallaron,  Prentice Hall, 2003

Docentes:


Alberto José Gonçalves Carvalho Proença





8502N5 - Teoria das Linguagens

Regime: S2


Tipo: Obrigatória
Língua de Instrução: Português
Horas/Semana: 56
Créditos: 6
Métodos de Ensino:

Aulas teóricas e teórico-práticas.

Programa:

Linguagens regulares, Autómato Finitos, Gramáticas Independentes de Contexto e Autómatos de Pilha.

Métodos de Avaliação:

Avaliação periódica realizada através de dois testes a realizar durante o semestre/ Exame de recurso escrito.

Pré-requisitos:

Conceitos elementares de teoria intuitiva de conjuntos, teoria de grafos e indução.

Resultados de Aprendizagem:

Os alunos que completem este curso com sucesso devem ser capazes de:


- descrever  os conceitos básicos relacionados com linguagens formais,  autómatos e gramáticas;
- identificar linguagens regulares;
- relacionar as noções de autómatos finitos, linguagens reconhecíveis e linguagens regulares
- verificar se uma palavra é aceite por um autómato de pilha;
- determinar a linguagem gerada por uma gramática livre de contexto e o autómato de pilha que a reconhece
- reconhecer os autómatos como  modelos abstractos de computação.

Bibliografia:

J. Hopcroft, J. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, 1979; J. Costa, Autómatos e Máquinas de Turing, publicação do Departamento de Matemática da Universidade do Minho, 2004; J. Martin, Introduction to languages and the theory of computation, McGraw-Hill, 1996. T. Sudkamp, Languages and Machines, Addison-Wesley, 1997.

Docentes:


José Carlos Espírito Santo




8503N1 - Algoritmos e Complexidade

Regime:


Semestral, S1

Tipo: Obrigatória

Língua de Instrução: Português

Carga Total: 70

Créditos: 6

Métodos de Ensino:

Aulas teóricas e teórico-praticas

Programa:

Algoritmos vs Linguagens de programação. Linguagem algorítmicas algébricas. Decisões em máquinas determinísticas, não-determinísticas e probabilísticas.

Breve introdução à Teoria dos Domínios. Breve introdução à Teoria das Probabilidades.

Variáveis aleatórias e probabilidades condicionais em algoritmos.

Notação assimptotica. Problemas P e NP. Redução; problemas NP-completos.

Algoritmos fundamentais. Problema da Satisfação Proposicional: algorimos 2SAT, 3SAT e Davis-Putnam.

Redes de causalidade. Programação Linear Inteira.

Métodos de Avaliação:

Teste intercalar, Exame e Trabalho pratico

Pré-requisitos:

Conhecimentos de programação imperativa e conhecimentos introdutórios de Algoritmia.

Resultados de Aprendizagem:

Ser capaz de conceber algoritmos para a resolução de problemas de natureza diversa, recorrendo à estratégia apropriada e utilizando estruturas de dados adequadas, nomeadamente não-lineares. Analisar o comportamento temporal e espacial de algoritmos. Reconhecer paradigmas de algoritmos e classifica-los quanto à sua complexidade “pior-caso” e complexidade média.


Ser capaz de reconhecer um problema NP-completo, de o reduzir a outro, e de propor heurísticas simples para a sua resolução aproximada.

Bibliografia:

José Manuel Valença Algoritmos e Complexidade. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms. MIT Press, Cambridge, Mass., second edition, 2001. Donald E. Knuth. The Art of Computer Programming: (1) Fundamental Algorithms, (2) Seminumerical Algorithms, (3) Sorting and Searching. Addison/Wesley, third edition, 1997/98. 3 volumes.

Docentes:

José Manuel Valença, Manuel Bernardo Barbosa





8503N2 - Análise

Regime: S1


Tipo: Obrigatória
Língua de Instrução: Português
Horas/Semana: 84
Créditos: 7
Métodos de Ensino:

Aulas teóricas e práticas.

Programa:

Estrutura topológica de Rn. Sucessões em Rn. Funções reais de várias variáveis reais. Integração múltipla.

Métodos de Avaliação:

Avaliação periódica realizada através de vários trabalhos individuais a realizar ao longo do semestre/ Exame final escrito.

Pré-requisitos:

Noções de cálculo de uma variável real.

Resultados de Aprendizagem:

Os alunos que completem este curso com sucesso devem ser capazes de:

- descrever noções topológicas de Rn;

- explicar demonstrações e argumentações simples sobre continuidade e derivabilidade de funções de várias variáveis reais;

- aplicar os teoremas da função inversa e da função implícita em casos simples;

- identificar e descrever os extremos livres e condicionados de funções de várias variáveis;

- resolver e reconhecer problemas de integrais múltiplos.

Bibliografia:

- “Introdução ao análise em Rm” J. Campos Ferreira, Dep. Mat. IST

- “Curso de análise, Vol II” E.L. Lima, Projecto Euclides

- “Cálculo diferencial e Integral”, N. Piskounov, Editorial Lopes da Silva

Docentes: Lucia Fernandez Suarez



Yüklə 228 Kb.

Dostları ilə paylaş:
1   2   3   4




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə