MAC0316/MAC5754 - Conceitos de Linguagens de Programação

Primeiro Semestre de 2011

Prof. Francisco Reverbel

. Informações gerais
. Ementa de MAC0316
. Ementa de MAC5754
. Trabalhos propostos
. Bibliografia
        
. Recursos adicionais na Internet
. Diário de bordo
. Área no Moodle
. Notícias e avisos
. Fórum de discussão
                 

At work icon Esta página estará em permanente construção até o final do semestre...

Informações Gerais

. Horário: terças das 10:00 às 11:40, sextas das 08:00 às 09:40
. Local: Sala 9 do bloco B do IME
. Monitores: Ana Luiza Basalo (ana_luiza_basalo arroba hotmail ponto com) e Henrique Stagni (stagni arroba gmail ponto com)
. Avaliação: provas (três) e exercícios-programa (número a ser definido)
     . Média de provas: MP = (P1 + 2 P2 + 2 P3)/5
     . Média de EPs: ME = max {(EP0 + 2 EP1 + 3 EP2 + 2 EP3 + 2 EP4)/10,
(EP0 +    EP1 + 4 EP2 + 2 EP3 + 2 EP4)/10 }
     . Média final de MAC0316: se MP >=5 e ME >= 5
então MF = (3 MP + 2 ME)/5
senão MF = min {MP, ME}
     . Prova substitutiva: Está prevista uma quarta prova P4, para alunos que comprovadamente estiveram impossibilitados de comparecer a alguma das três provas anteriores. A nota dessa prova substitui a nota da prova que não foi feita, ou, no caso de quem perdeu mais do que uma prova, substitui uma das provas não feitas, de forma a maximizar a média de provas.
     . Datas das provas: 29 de março (P1), 10 17 de maio (P2), 21 de junho (P3) e 28 de junho (P4 - substitutiva)
. Recuperação: Os alunos de MAC0316 que ficarem com média final maior ou igual a 3 e menor que 5 terão direito de fazer recuperação.
     . Quem tiver menos que 5 na média de provas MP deverá fazer a prova de recuperação (PRec) e terá sua média de provas recalculada como Nova_MP = (MP + 2 PRec)/3.
     . Quem tiver menos que 5 na média de exercícios-programa ME deverá entregar EPs de recuperação e terá sua média de exercícios programa recalculada como Nova_ME = (ME + 2 EPRec)/3, onde ME é a média dos EPs do semestre e EPRec é a média dos EPs de recuperação.
     . A média final de recuperação será calculada como a do semestre, usando-se, conforme o caso, a nova média de provas e/ou a nova média de exercícios-programa.
     . Data, hora e local da prova de recuperação: 22 de julho, às 16:00, na sala 10 do bloco B do IME.

Trabalhos Propostos

. Exercícios de Scheme (dois desses exercícios devem ser entregues até o dia 18 20 de março).
. Primeiro exercício-programa (prazo: 08 10 de abril).
. Segundo exercício-programa (prazo: 03 08 de maio).
. Terceiro exercício-programa (prazo: 03 05 de junho).
. Quarto exercício-programa (prazo: 24 de junho).

Bibliografia

. Sriram Krishnamurthi, Programming Languages: Application and Interpretation.
Este livro, conhecido como PLAI, está disponível livremente sob a licença Creative Commons CC-BY-NC-SA e pode ser obtido no sítio do autor. O PLAI é o livro-texto que seguiremos ao longo do semestre.
. Dorai Sitaram, Teach Yourself Scheme in Fixnum Days.
Este texto introdutório sobre a linguagem Scheme será usado na primeira semana de aulas. No restante do semestre o "Teach Yourself Scheme" (TYS) servirá também como material de estudo e consulta. O TYS está disponível também no formato pdf.

Recursos Adicionais na Internet

. MAC0316/MAC5754 - Conceitos de Linguagens de Programação (2010).
Página do oferecimento desta disciplina em 2010. No Diário de Bordo de 2010 há ponteiros para as provas desse ano (enunciados e soluções).
. Sítio da linguagem Racket.
Racket é a implementação de Scheme usada nesta disciplina. Até recentemente a linguagem Racket era conhecida como PLT Scheme.
. Guide: Racket.
Esse manual de Racket é um bom texto para quem está aprendendo a linguagem.
. Reference: Racket.
Material de consulta sobre Racket.
. Documentação das extensões à linguagem Scheme específicas para o PLAI.
A primeira dessas extensões, o PLAI Scheme, será usada assim que começarmos a ver a matéria do PLAI (a partir da segunda semana de aulas).
. Harold Abelson and Gerald J. Sussman with Julie Sussman, Structure and Interpretation of Computer Programs.
Livro clássico de programação baseado em Scheme e disponível livremente sob a licença Creative Commons CC-BY-NC. Também conhecido como SICP ou "Wizard Book", o texto de Abelson & Sussman teve grande influência sobre o ensino de Computação.
. Matthias Felleisen, Robert Bruce Findler, Matthew Flatt and Sriram Krishnamurthi, How to Design Programs.
Outro texto de programação baseado em Scheme e disponível na Internet. Bem mais recente que o SICP, este livro foi escrito pelos criadores da linguagem Racket e é também conhecido como HtDP.
. R6RS, a versão mais recente da padronização da linguagem Scheme.
Essa é a "definição oficial" da linguagem. O R6RS ("Revised6 Report on the Algorithmic Language Scheme") é um padrão recente, publicado em 2007.
. R5RS, a versão anterior da padronização da linguagem Scheme.
É essa a linguagem que o TYS descreve. Embora não seja o padrão mais recente, o R5RS é um texto que vale a pena ler e/ou consultar, pois ele é ao mesmo tempo completo, claro e conciso. Em apenas 50 páginas, esse texto define de modo inteligível todas as características da linguagem que foi o "Scheme oficial" no período de 1998 (ano da publicação do R5RS) a 2007 (quando saiu o R6RS).
. Sítio da linguagem Haskell.
Contém ponteiros para implementações de Haskell, livros, tutoriais, documentação, artigos acadêmicos, etc.
. Learn You a Haskell for Great Good!
Bom tutorial introdutório de Haskell. Escrito e ilustrado por Miran Lipovaca.
. Real World Haskell.
Sítio do livro de Bryan O'Sullivan, Don Stewart e John Goerzen. O texto completo do livro está disponível nesse sítio.
. Política do Departamento de Ciência da Computação para casos de plágio ou cola.
Esse texto aparece também na página inicial do sistema Paca/Moodle, como "Aviso aos usuários".


Valid CSS! Valid XHTML 1.0! Last modified: Thu Jul 21 22:35:04 BRT 2011
Francisco Reverbel
reverbel at ime.usp.br