Técnicas Alternativas de Programação – CI062 (TAP)
Primeiro Semestre de 2018
Página com informações gerais da disciplina: ementa, datas das provas, bibliografia, exercícios, etc.
Avisos
================================
- Resultado da FINAL disponível neste link
- Resultados da PROVA 1, PROVA2 e TRABALHO disponíveis neste link
- Dia 29/05 – aula prática no LAB4.
- Nova data do trabalho: 03/junho
- Dia 17/05 – aula prática no LAB4
- Resultado da PROVA 1 disponível neste link
- Especificação do trabalho disponível neste link.
- Dia 20.março – aula prática no LAB4
- A partir do dia 06 de março, as aulas serão na sala PA05
================================
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
- 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/spark/spark/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 – PA05
- Quintas: 17:30h – PA05
Datas
-
- Trabalho : 24.maio.2018. nova data: 03/junho
- Trabalho : 24.maio.2018. nova data: 03/junho
-
- Prova 1 : 10.abril.2018
- Prova 2 : 05.junho.2018
- Final : 03.julho.2018
- Segunda chamada (alunos ausentes) e reaproveitamento: 03.julho.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
- 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.