Paradigmas de Linguagens de Programação

Informações Gerais

Professor: Franklin Ramalho

Número de Créditos: 02

Sala : Mário Hattori (DSC)

Horários de Atendimento: Ter:10-12hs e Qui: 16-18hs ( no GMF)

 

Monitor: Emanuel Dantas (emanueldf [at] lcc.ufcg.edu.br)

Horário de Atendimento do monitor: Seg – 14-16hs e Qua – 14-16hs (no DSC)

Plano de Aula

1.      Introdução e Visão Geral de PLP (13-07) Notas de Aula

    1. Valores e Tipos – Parte I(17-07) Notas de Aula
    2. Valores e Tipos – Parte II (20-07) Notas de Aula
    3. Variáveis e Comandos – Parte I (24-07) Notas de Aula
    4. Variáveis e Comandos – Parte II (27-07) Notas de Aula
    5. Associações e Escopo – Parte I (31-07) Notas de Aula
    6. Associações e Escopo – Parte II(03-08) Notas de Aula
    7. Abstração e Mecanismos de Passagens de Parâmetros – Parte I (07-08) Notas de Aula
    8. Abstração e Mecanismos de Passagens de Parâmetros – Parte II (10-08) Notas de Aula
    9. Encapsulamento (14-08) Notas de Aula
    10. Sistema de Tipos (17-08) Notas de Aula
    11. Seqüenciadores (21-08) Notas de Aula
    12. Concorrência (24-08)
    13. Concorrência e exercícios (28-08) Notas de Aula
    14. Prova 01 (31-08)
    15. Paradigma Imperativo (04-09) Notas de Aula
    16. Paradigma Funcional (11-09) Notas de Aula
    17. Aula de acompanhamento de projetos sobre linguagens de programação e orientação sobre apresentações dos mesmos (14-09)
    18. Paradigma Lógico (18-09)
    19. Paradigma Lógico (21-09) Notas de Aula
    20. Paradigma Orientado a Objetos (25-09) Notas de Aula
    21. Programação Orientada a Aspectos (28-09) Notas de Aula
    22. Programação Orientada a Modelos (02-10)
    23. Programação Orientada a Modelos (05-10) Notas de Aula
    24. Paradigmas Híbridos (09-10) Notas de Aula
    25. Prova 02 (16-10)
    26. Reposição da Prova 01 e da Prova 02:  (19-10)
    27. Linguagens C, C++, Haskell e Prolog (23-10) AULA de 2hs Notas de Aula Notas de Aula Notas de Aula Notas de Aula
    28. Linguagem  Ruby e Python (26-10) Notas de Aula Notas de Aula
    29. Linguagem PHP e mini-teste final (30-10)
    30. Exame Final: 09/11

Avaliação

1.      Prova 01 (31-08) – NOTA 01

2.      Prova 02 (16-10) – NOTA 02

3.        Projeto – 50% DA NOTA 03

4.        Mini-testes (24-07, 31-07,  07-08, 14-08, 21-08, 30-10) 50% DA NOTA 03 (dos 6 mini-testes, apenas os 5 com as melhores notas de cada aluno serão considerados para compor os 50% da NOTA 03).

O aluno que faltar a um mini-teste e desejar repô-lo, deve apresentar documentação justificando sua ausência na aula subseqüente, quando a reposição do mesmo será aplicada.

Projeto:

O projeto deverá ser entregue por partes, obedecendo às seguintes datas:

1.      Data (10-08): Conceitos abordados nas aulas 1-5

2.      Data (28-08): Conceitos abordados nas aulas 6-10

3.      Data (14-09): Conceitos abordados nas aulas 11-13

4.      Versão final (02-10): Conceitos abordados nas aulas 1-13

Equipes:

·        Grupo 1 (Linguagem C): Gustavo Pereira, Magno Jefferson, Lorena Maia e José Gildo

·        Grupo 2 (Linguagem C++): Ighor Oliveira, Francisco, Diego Melo e Adauto Trigueiro

·        Grupo 3 (Linguagem Prolog): Hugo Marques, Mariana, Ana Cláudia e Clerton

·        Grupo 4 (Linguagem PHP): Diego Lós, Raphael Mattos e Genilson Lima.

·        Grupo 5 (Linguagem Ruby): Elismael Guimarães, Giovani Farias, Hugo Parente e Paulo Rômulo

·        Grupo 6 (Linguagem Python): Allysson Makens, Carla Araújo e Matheus Gaudêncio

·        Grupo 7 (Haskell):  Edmilson, Ítalo e Thiago Gondim

Uma única linguagem não pode ser adotada por mais de uma equipe e cada paradigma deve ser representado por, no mínimo, uma linguagem.

Bibliografia

1.     David A. Watt. Programming Language Concepts and Paradigms. C.A.R. Hoare Series. 1990.

2.     R. Sebesta Conceitos de Linguagens de Programação - 4a Ed., Bookman, 2000.

3.     C. Ghezzi & M. Jazayeri Programming Language Concepts-3rd Ed., John Wiley&Sons, 1997  

4.     R. Sethi Programming Languages: Concepts and Languages-2nd Ed., Addison Wesley. 1996

5.     Notas de Aula