Terceiro quadrimestre de 2014
Horário:
(Sim, a aula de terça de manhã é com as duas turmas juntas; as outras aulas são separadas)
Sala de aula:
outras aulas: lab 409-2
LAB 409-2 disponível todas as manhãs das 8 às 13, para fazerem o trabalho!
Professor: Jerônimo C. Pellegrini
Sala do professor: S 805 (bloco B)
Email do professor: jeronimo.pellegrini ufabc edu br
18/12 -- Notas finais disponíveis
17/12 -- Notas da fase 2 disponíveis
16/12 -- Versão final adiada para amanhã!
14/12 -- Não teremos aula 16/12
12/12 -- Critério de avaliação relaxado (tanto para os testes como para o trabalho) -- FELIZ NATAL!!!
[ inserir aqui risada característica de Papai Noel ]
11/12 -- Notas do T5 disponíveis [ REVISÃO NA SEXTA 12/12 ]
03/12 -- notas do T4 disponíveis [ REVISÃO NA SEXTA ]
27/11 -- Conceitos da fase 1 disponíveis
27/11 -- Vista/revisão na semana que vem
26/11 -- notas do T3 disponíveis
14/11 -- nova versão das notas de aula disponível (133)
14/11 -- Sobre trabalho.scm (leia abaixo)
13/11 -- Notas da fase 0 disponíveis
11/11 -- FASES I E II DO TRABALHO ADIADAS!!!
09/11 -- FASE I DO TRABALHO SERÁ ADIADA. Detalhes amanhã
07/11 -- Conceitos do T2 disponíveis
06/11 -- Sugestão de alternativa ao SLIME para Common Lisp
04/11 -- subsídios para uso de TCP e threads agora no site do trabalho
02/11 -- respondendo a dúvida posta em sala:
para abrir um arquivo fazendo append, não há forma
padronizada em Scheme. No Chicken, use o módulo "posix".
Por exemplo:
(define fd (file-open "zy" (+ open/wronly open/append open/creat)))
(define out (open-output-file* f #:append))
(display "hi" out)
(newline out)
(close-output-file out)
Veja documentação em http://wiki.call-cc.org/man/4/Unit%20posix
28/10 -- dias atrás incluí algumas dicas na descrição do trabalho. leiam!
27/10 -- instruções para entrega do trabalho
24/10 -- laboratório disponível todas as manhãs!
21/10 -- descrição do trabalho atualizada, conforme falamos em sala
21/10 -- datas de entrega do trabalho atualizadas
15/10 -- avaliação do T1 disponível
13/10 -- especificação do trabalho disponível
07/10 -- nova versão das notas de aula disponível (132)
06/10 -- informação sobre Scheme com Vi disponível
01/10 -- datas das avaliações disponíveis
30/09 -- início do curso
Testei em uma máquina fora do laboratório e funcionou. Isso inidica que é um bug naquela versão do Chicken! :-( Estou usando .9.1 (rev 1d21ec8)
Usem interpretado por enquanto...
Visão comparativa entre os paradigmas de programação. Paradigma funcional. Paradigma concorrente.
O conceito final da disciplina poderá ser:
A avaliação consistirá de
Descartaremos a pior das notas dos minitestes, e T = ∑Ti (a soma das quatro melhores notas de teste).
O conceito final será dado por
Datas das avaliações:
A descrição está aqui!
Prazos:
Veja as notas do teste 1
Este programa está sujeito a mudanças simples. Grandes mudanças não devem acontecer.
- PROGRAMAÇÃO FUNCIONAL EM SCHEME
- Elementos básicos de Scheme
- Procedimentos
- Variáveis: ambientes, extensão e escopo
- Sistemas de tipos (estático/dinâmico; seguro/inseguro)
- Listas e vetores
- Fechos
- (POO com fechos)
- Metaprogramação
- Avaliação preguiçosa
- Streams (aplicação de av. preguiçosa)
- Continuações
- Aplicações de continuações: escape, multitarefa, backtracking, exceções
- Programação em Lógica
- Modelos de gerenciamento de memória; coleta de lixo
- PROGRAMAÇÃO CONCORRENTE
- Processos, threads e formas de concorrência
- Problemas inerentes à programação concorrente
- Memória compartilhada:
- Semáforos
- Monitores
- Memória transacional
- Thread pools
- Passagem de mensagens:
- Passagem de mensagens síncrona e assíncrona
Mais relevantes para este curso:
Outros links de interesse: