Técnicas Alternativas de Programação – CI062 (TAP)
Segundo Semestre de 2018
Página com informações gerais da disciplina: ementa, datas das provas, bibliografia, exercícios, etc.
Avisos
================================
- Resultado final disponível neste link.
- Resultados da prova 1, prova 2 e trabalho disponíveis neste link.
- === Dia 27 de novembro: a prova 2 será realiza na sala PA01. ===
- 08.novembro – aula prática no LAB 12
- Resultados da prova 1 disponível neste link.
- A especificação do trabalho está disponível neste link.Dia 28.agosto: aula prática no LAB12
- Ensalamento: http://ensalamento.c3sl.ufpr.br/?tipo=nd&disciplina=ci062
================================
Material de aula
Programação OO
- Exercicio das formas geométricas
- Conta em banco
- Calculadora
- Lista de exercícios 01
- Extrato do modelo de sistema acadêmico
- Sistema de controle de pós graduação – contém o sistema completo: o modelo completo, interfaces, acesso aos dados, etc.
- Tutorial sobre reflexão em Java(site externo)
- Outro Tutorial sobre reflexão em Java(site externo)
- Java Reflextion API(site externo)
- Material da Oracle sobre tipos genéricos (site externo)
- ‘Resumão’ sobre design patterns no Wikipedia(site externo)
- Anti-patterns (site externo): anti-padrões de desenvolvimento…
Programação funcionalista
-
- Exercicios funcionalista
- Executando um programa Scala nas máquinas dos laboratórios
- Crie seu código Scala em um arquivo com a extensão .scala
- compilando : scalac nomedoarquivo.scala
- executando: scala -classpath . nomedoarquivo (sem extensão)
- Crie seu código Scala em um arquivo com a extensão .scala
- O shell pode ser aberto, sem necessidade de criação de arquivos, executando scala no terminal.
- Outros recursos (sites externos)
- Scala para programadores Java
- Funcões como entidades de primeira ordem
- Exemplos Scala
- Linguagem Scala
- Curso online – introdução à programação funcional
- Scala através de exemplos
- Curso de programação funcional usando Haskell – Univ. de Edinburgo
- Apostila de Haskell
- Programação funcionalista e Apache Spark
- Tutorial em português http://www.inf.ufpr.br/erlfilho/tutorials/spark/
- Página com Quick Start da Apache
- Execução nas máquinas locais : /home/soft/linux/eclipsemodeling/spark-2.1.1-bin-hadoop2.7/bin/spark-shell
Programação lógica
- Exemplos em Prolog: Calculos, Familiares, Listas
- SWI-Swich – Interpretador online, para testes simples (site externo)
- Compilador SWI. Nas máquinas do Dinf, há um shell disponível ==> swipl
Horário
-
- Terças: 17:30h
- Quintas: 17:30h
Ensalamento
http://ensalamento.c3sl.ufpr.br/?tipo=nd&disciplina=ci062
Datas
-
- Trabalho : 08.novembro.2018
- Trabalho : 08.novembro.2018
-
- Prova 1 : 18.setembro.2018
- Prova 2 : 27.novembro.2018
- Final : 11.dezembro.2018
- Segunda chamada (alunos ausentes) e reaproveitamento: 11.dezembro.2018 (vale a nota da final – é necessário uma justificativa)
Avaliação
- Duas provas e um trabalho (ver datas acima).
- Cálculo da Média Parcial: trabalho*0.35 + prova1*0.30 + prova2*0.35
- Cálculo da média final:
- igual à média parcial, se esta é igual ou superior a 7.0 ou inferior a 4.0,
- média aritmética entre a média parcial e a nota no exame final, caso contrário.
- Será aprovado o aluno que apresentar freqüência mínima igual ou superior a 75% das aulas e obtiver média final igual ou superior a 5.0.
Bibliografia
- Boratti, Isaias Camilo, Programação orientada a objetos em JAVA, Ano 2007, ISBN: 9788575021996 Florianopolis : Visual Books, 2007
- Cox, Brad J, Programaçao orientada para objeto, Rio de Janeiro : Makron : MacGraw-Hill, 1991
- Sidnei Wazlawick. Análise e Projeto de Sistemas de Informaçao Orientados a Objetos. Editora Campus, 1994.
- Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides. Padrões de Projeto: Soluções Reutilizáveis de Software Orientado a objetos. Bookman
- (o mesmo livro acima em inglês) Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides. Elements of Reusable Object-Oriented Software. Addison-Wesley Professional;
——————————-
- ML for the Working Programmer. Lawrence C. Paulson, Cambridge University Press, 1998 3a. Ediçao.
- Introduçao à Programaçao Funcional. Silvio R. de L. Meira. VI Escola de Computaçao da Sociedade Brasileira de Computaçao – Campinas – SP, 1988.
- Programming Scala – Oreilly – livro digital Capítulo 8
- Introduction to Funcional Programming. E.P. Wentworth http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.57.4846&rep=rep1&type=pdf
- Haskel: Uma abordagem Prática. De Sá, C. C.; Ferreira da Silva, M. Novatec. São Paulo, 2006
——————————-
- Ulf Nilsson and Jan Maluszynski. Logic, Programming and Prolog (2ed). Previously published by John Wiley & Sons Ltd. Now available free at: http://www.ida.liu.se/~ulfni/lpp/
-
William F. Clocksin and C. S. Mellish. Programming in Prolog. Springer-Verlag, 1987.
-
Elaine Rich, Kevin Knight. Artificial Intelligence. McGraw Hill, 1993.
-
Patrick H. Winston, Artificial Intelligence, Second Edition, Addison-Wesley, 1993.