Curso: Sistemas de Informação, DOURADOS, Noturno (2024) - 2a Série
Professor: CLEBER VALGAS GOMES MIRA
Disciplina: Paradigmas de Programação
Carga Horária: 136 h Período Letivo: 02/2024 a 12/2024
Horário: Sexta-feira (19:00 ~ 22:30)
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 orientada a objetos (linguagem JAVA):
Estrutura da linguagem.
Abstração de dados.
Objetos.
Classes e tipos.
Herança.
Hierarquias de generalização/especialização.
Hierarquias de agregação/decomposição.
Polimorfismo.
Classes abstratas.
Interfaces.
Pacotes/módulos.
Tratamento de exceções.
Aplicações da linguagem.
Programação Funcional (linguagem LISP):
Manipulação simbólica e estrutura da linguagem.
Símbolos, átomos e listas (s-expressões).
Funções pré-definidas básicas.
Aritmética.
Condicionais.
Definição de funções e recursão.
Abstração de dados e mapeamentos.
Funções anônimas (lambda).
Programação funcional.
Aplicações da linguagem.
Programação lógica (linguagem PROLOG):
Estrutura de linguagem.
Dados e símbolos.
Fatos, regras, perguntas e variáveis.
Sintaxe, unificação, aritmética.
Estruturas, funtores, aridade, listas.
Recursão.
Ressatisfação (Backtracking) e corte.
Aplicações da linguagem.
Materiais e links:
Linguagem Java
Tutorial: "A Linguagem de Programação JAVA" Orientação a Objetos, por André Augusto Cesta e Profª Drª Cecília Mary F. Rubira
The Java SE Tutorials (Oracle Java Documentation)
Free Electronic Book: Thinking in Java, 3rd Edition, Bruce Eckel
Java Tutorial (Tutorials Point)
Linguagem Lisp
Gnu CLISP (Common Lisp Interpreter/Compiler)
Practical Common Lisp, by Peter Seibel
Learning Lisp Tutorial, by Philip Fong
Successful Lisp: How to Understand and Use Common Lisp, by David B. Lamkins
CLiki is a Common Lisp wiki.
Common Lisp: A Gentle Introduction to Symbolic Computation, by David S. Touretzky
Common Lisp the Language, 2nd edition, by Guy L. Steele, Thinking Machines, Inc.
On Lisp, by Paul Graham
A Brief Guide to CLOS, by Jeff Dalton
The Common Lisp Cookbook, by Marco Antoniotti et al.
Lisp in Small Parts, by David Johnson-Davies
Common Lisp Net (Portal)
Common Lisp HyperSpec (Especificação do Common Lisp)
Common Lisp Quick Reference (Guia de referência rápida para o Common Lisp)
Simplified Common Lisp Reference (Guia de referência simplificada do Common Lisp)
Lisp Tutorial (Tutorials Point)
Linguagem Prolog
SWI-PROLOG by SWI-Prolog Solutions b.v.
SWISH-PROLOG, um sandbox para SWI-PROLOG.
Learn Prolog Now! by Patrick Blackburn, Johan Bos, and Kristina Striegnitz
Logic Programming A Courseware by Vishma Shah
Prolog Programming A First Course by Paul Brna
Prolog by Loiseleur Michel and Vigier Nicolas
Execute Prolog Online at Tutorials Point
Prolog Training (Tutorials Point)
Prolog Tutorial (Tutorial de PROLOG com várias implementações).
Apostila de Prolog (Tutorial de PROLOG baseado no livro de Clocksin e Mellish)
Metodologia:
As aulas serão ministradas de maneira presencial usando quadro e apresentação de slides. A aula será realizada de maneira expositiva, além de contar com a discussão com os alunos sobre os temas e conceitos abordados, por meio de exemplos e exercícios. Será realizado o registro de frequência dos alunos em cada aula por meio de chamada. Serão utilizadas ferramentas e conteúdos complementares de apoio.
Serão efetuadas 3 provas e 3 trabalhos. As prováveis datas das provas e de entrega dos trabalhos são:
P1: 14/06/2024
P2: 27/09/2024
P3: 22/11/2024
SUBSTITUTIVA: 29/11/2024 06/12/2024
EXAME: 06/12/2024 13/12/2024
As datas das avaliações podem sofrer alterações conforme o desenvolvimento da disciplina, desde que haja um intervalo mínimo de 7 dias entre o dia da alteração e a data da efetiva realização da avaliação (conforme artigo 84 do Regimento Acadêmico).
Este website é o canal oficial de comunicação do docente com os alunos. Quaisquer mudanças referentes a datas de avaliações ou de entregas de trabalhos serão divulgadas nesta página. É responsabilidade do aluno acompanhar as alterações deste website.
Atendimento e plantão de dúvidas: O professor da disciplina estará disponível para atendimento aos discentes no horário das 18:00 às 19:00, às terças-feiras e quintas-feiras presencialmente e via webconferência, exceto em datas de provas.
Contato: cleber "arroba" comp.uems.br
Website: https://sites.google.com/site/clebermira/
Bibliografia Básica:
BLAHA, M; RUMBAUGH, J. Modelagem e projetos baseados em objetos com UML 2. 2. ed. Rio de Janeiro: Campus-Elsevier, 2006.
CLOKSIN, W. F. Programming in PROLOG. 5. ed. New York: Springer Science & Business Media, 2003.
WINSTON, P. H.; HORN, B. LISP, 3. ed. Addison-Wesley, 1989.
Bibliografia Complementar:
ASCENCIO, A. F. G.; CAMPOS, E. A. V. de. Fundamentos da programação de computadores: algoritmos, pascal, C/C ++ e java. 2. ed. São Paulo: Prentice-Hall, 2010.
BOOTY, G. et al. Object-oriented analysis and design with applications. 3. ed. Upper Saddle River, NJ: Addison-Wesley, 2007.
DEITEL, H. M.; DEITEL, P. J. C++: como programar. 5. ed. São Paulo: Pearson Prentice-Hall, 2010.
DEITEL, P.; DEITEL, H. Java: como programar. 8. ed. São Paulo: Pearson PrenticeHall, 2010.
SEBESTA, R.W. Conceitos de linguagem de programação. 9.ed. Porto Alegre: Bookman, 2011.
TOURETZKY, D. S. Common LISP: A Gentle Introduction to Symbolic Computation. New York: Dover Publications, 2013.
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 7.
T1, T2 e T3 são as notas dos respectivos trabalhos com valor entre 0 e 3.
Nx = Px+Tx para x=1, 2, 3. 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.