Paradigmas de Programação

Curso: Sistemas de Informação, DOURADOS, Noturno (2017) - 2a Série

Professor: CLEBER VALGAS GOMES MIRA

Disciplina: Paradigmas de Programação

Carga Horária: 68 h Período Letivo: 02/2017 a 12/2017

Ementa:

Programação Lógica. Programação Funcional. Programação Orientada a Objetos.

Objetivos:

Promover uma visão dos princípios e das técnicas de programação nos 3 (três) paradigmas.

Conteúdo:

Programação LISP:

    1. Manipulação simbólica e estrutura da linguagem.
    2. Símbolos, átomos e listas (s-expressões).
    3. Funções pré-definidas básicas.
    4. Definição de funções e recursão.
    5. Aritmética.
    6. Macros e condicionais.
    7. Arrays.
    8. Abstração de dados e mapeamentos.
    9. Notação lambda e cálculo lambda.
    10. Common Lisp Object System (CLOS).
    11. Aplicações da linguagem.

Programação lógica PROLOG:

    1. Estrutura de linguagem.
    2. Dados e símbolos.
    3. Fatos, regras, perguntas e variáveis.
    4. Sintaxe, unificação, aritmética.
    5. Estruturas, funtores, aridade, listas.
    6. Recursão.
    7. Ressatisfação (Backtracking) e corte.
    8. Entrada e saída de dados e arquivos.
    9. Procedimentos pré-definidos.
    10. Aplicações da linguagem.

Programação orientada a objetos JAVA:

    1. Estrutura da linguagem.
    2. Abstração de dados.
    3. Objetos.
    4. Classes e tipos.
    5. Herança.
    6. Hierarquias de generalização/especialização.
    7. Hierarquias de agregação/decomposição.
    8. Polimorfismo.
    9. Classes abstratas.
    10. Interfaces.
    11. Pacotes/módulos.
    12. Tratamento de exceções.
    13. Threads.
    14. Aplicações da linguagem.

Metodologia:

As aulas serão ministradas em salas com o uso do datashow, giz e quadro negro. Serão realizadas visitas ao laboratório para a implementação de soluções propostas em listas de exercícios.

Serão efetuadas 3 provas e 3 trabalhos. As prováveis datas das provas e de entrega dos trabalhos são:

    • P1: 1/06
    • P2: 21/09
    • P3: 23/11

SUBSTITUTIVA 30/11

EXAME 07/12

Materiais e links:

Linguagem Java

Linguagem Lisp

Linguagem Prolog

Bibliografia:

BRATKO, I. Prolog Programming for Artificial Intelligence. 2. ed. Readings, MA: Addison-Wesley, 1986.

CLOKSIN, W. F. Programming in prolog. 5. ed. New York: Springer, 2003.

GRAHAM, P. ANSI Common Lisp. New York: Prentice Hall, 1996.

WINSTON, P. H.; HORN, B. LISP, 3. ed. Addison-Wesley, 1989.

MEYER, B. Object-Oriented Software Construction. New York: Prentice-Hall, 1988.

Bibliografia Complementar:

ARNOLD, K.; GOSLING, J. The Java Programming Language. 2. ed. Cambridge: Addison-Wesley, 1997.

______.; ______.; HOLMES, D. The Java Programming Language. 4. ed. Cambridge: Addison-Wesley Professional, 2005.

DEITEL, H. M.; DEITEL, P. J. C++ Como Programar. 5. ed. São Paulo: Prentice-Hall, 2006.

JAMSA, K.; KLANDER, L. Programando em C/C++ - A Bíblia - O Melhor Guia Para a Programação em C/C++. São Paulo: Makron Books, 1999.

Critérios de Avaliação:

Serão efetuadas 3 provas e 3 trabalhos. A média final será computada pela fórmula :

MF = (N1 + N2 + N3) / 3, onde

P1, P2 e P3 são as notas das respectivas provas com valor entre 0 e 10.

T1, T2 e T3 são as notas dos respectivos trabalhos com valor entre 0 e 2.

Nx = min(Px+Tx, 10), ou seja, não é possível ter uma nota superior a 10 para cada linguagem de programação. As notas N1, N2 e N3 irão constar no sistema SAU.

A prova substitutiva substitui a prova com menor nota. A substitutiva tem valor entre 0 e 10,0 e o conteúdo é referente a toda a matéria.

A Nota Final (F) é calculada da seguinte maneira:

Caso o valor de MF do aluno for igual ou superior a 6,0, então a nota final é F = MF.

Caso o valor de MF do aluno for entre 3,0 e 6,0, o aluno terá direito a fazer o Exame Final (E) com valor entre 0 e 10 e a nota final será F = (MF + E)/2.

O aluno com nota de MF inferior a 3,0 é automaticamente reprovado.

O Exame Final cobrará o conteúdo de toda a matéria

Será aprovado o aluno cuja nota final F for igual ou superior a 5,0.