Linguagens de Programação


Índice de Aulas

  1. 11/08 - Introdução - A grande diversidade
  2. 13/08 - Sintaxe
  3. 18/08 - Mais sobre árvores de sintaxe
  4. 20/08 - Sistemas de Computação
  5. 25/08 - Introdução a ML
  6. 27/08 - Casamento de padrões em ML
  7. 01/09 - Tipos de dados
  8. 03/09 - Polimorfismo
  9. 08/09 - O cálculo lambda
  10. 10/09 - Funções de alta ordem
  11. 15/09 - Escopo de variáveis
  12. 17/09 - Tipos algébricos
  13. 22/09 - Registros de ativação
    29/09 - Aula de revisão
    01/10 - Primeira avaliação
  14. 06/10 - Introdução à linguagem Python
  15. 08/10 - Gerenciamento de memória
  16. 13/10 - Tipos abstratos de dados
  17. 15/10 - Programação orientada a objetos
  18. 20/10 - Tratamento de erros
  19. 27/10 - Passagem de parâmetros
  20. 29/10 - Introdução à linguagem Prolog
  21. 03/11 - Unificação
  22. 05/11 - Modelos de Custos
  23. 10/11 - Predicados numéricos em Prolog
  24. 17/11 - Semântica Formal
  25. 19/11 - História das linguagens de programação
  26. 22/11 - Aula de revisão (Sábado! 10h00, Link para sala virtual)
    24/11 - Segunda avaliação

    01/12 - Exame Especial

Introdução

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 1. Lembre-se: respostas escritas à mão.
  2. (P.O.F): Assista um filme em casa com pessoas de quem você goste.

Notas e exemplos usados em aula.


Sintaxe

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 2. Lembre-se: respostas escritas à mão.
  2. (P.O.F): Abrace uma pessoa pela primeira vez.

Notas e exemplos usados em aula.


Mais sobre árvores de sintaxe.

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 3. Lembre-se: respostas escritas à mão.
  2. (P.O.F.): Encontre uma constelação no céu.

Notas e exemplos usados em aula.


Sistemas de Computação

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 4. Lembre-se: respostas escritas à mão. (Para o exercício 2, veja os slides) do livro.
  2. (P.O.F.): Dê uma flor para uma pessoa que você encontre na rua, e que nunca tenha visto antes.

Notas e exemplos usados em aula.


Introdução à ML

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 5. Lembre-se: respostas escritas à mão.
  2. (P.O.F.): Leia um texto que explique um ponto de vista oposto a algo em que você acredita fortemente.

Notas e exemplos usados em aula.


Casamento de Padrões em ML

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 6. Lembre-se: respostas escritas à mão.
    Por favor, consulte os slides do livro para resolver estes exercícios.
  2. (P.O.F.): Tome suco de uma fruta que você não conhece.

Notas e exemplos usados em aula.


Tipos de dados

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 7. Lembre-se: respostas escritas à mão.
    Por favor, consulte os slides do livro para resolver estes exercícios.
  2. (P.O.F.): Dê algo seu que você use e goste para alguém que você acha que gostará mais ainda.

Notas e exemplos usados em aula.


Polimorfismo

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 8. Lembre-se: respostas escritas à mão.
  2. (P.O.F.): Aprenda um poema de cor.

Notas e exemplos usados em aula.


O Cálculo Lambda

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 9. Lembre-se: respostas escritas à mão.
  2. (P.O.F.): Tire uma foto do por do sol.

Notas e exemplos usados em aula.


Funções de Alta Ordem

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 10. Lembre-se: respostas escritas à mão.
  2. (P.O.F.): Escreva uma carta para você mesmo no fim da graduação. Descreva como você se sente hoje, quais são seus desafios e o que você espera conseguir até lá.

Notas e exemplos usados em aula.


Escopo

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 11. Lembre-se: respostas escritas à mão.
  2. (P.O.F.): Realize um P.O.F. tribal. Esse P.O.F. vale 0.5 pontos para cada membro do grupo que cumprir todas as regras (até dia 25/11/2025).

Notas e exemplos usados em aula.


Tipos Algébricos

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 12. Lembre-se: respostas escritas à mão.
  2. (P.O.F.): Ligue para a sua mãe para dizer-lhe que a ama.

Notas e exemplos usados em aula.


Registros de ativação

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 13. Lembre-se: respostas escritas à mão.
  2. (P.O.F.): Faça um desenho de alguém de quem você goste. Meio ponto extra para quem postar em nossa lista de discussão um trabalho original, feito neste semestre (até dia 25/11/2025).

Notas e exemplos usados em aula.


Aula de Revisão.

Dicas para se dar bem na prova:
  1. Entenda as notas e exemplos dados em aula.
  2. Leia os Slides do livro.
  3. Faça as listas de exercícios.
  4. Faça todos os P.O.F's.
Abaixo estão alguns exemplos de provas dados em anos anteriores. Se quiserem uma dica, chamem seus colegas, amuquifem-se no reduto de algum deles, e dêem uma olhada em cada questão. Se ficarem cansados, parem tudo para escutar Build Me Up Buttercup:

Primeira avaliação.

Duração: 90 minutos.
Valor: 30 Pontos.
Conteúdo: Toda a matéria até a aula de revisão
Modo: Sem consulta.


Introdução à Linguagem Python

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 14. Lembre-se: respostas escritas à mão.
  2. (P.O.F.): Escute uma música de algum cantor ou cantora da África que você não conhecia. Procure saber sobre o país de onde vem a música.

Notas e exemplos usados em aula.


Gerenciamento de memória

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 15. Lembre-se: respostas escritas à mão.
    Esta classe será necessária:
  2. (P.O.F.): Envie uma carta pelo correio para alguém de quem você goste.

Notas e exemplos usados em aula.


Tipos Abstratos de Dados

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 16. Lembre-se: respostas escritas à mão.
    As classes nos arquivos List.py e Worklist.py serão necessárias.
  2. (P.O.F.): Contribua para alguma página da wikipedia.

Notas e exemplos usados em aula.


Programação Orientada à Objetos

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 17. Lembre-se: respostas escritas à mão.
    Estas classes podem facilitar o seu trabalho.
  2. (P.O.F.): Viage com dois ou mais de seus colegas de aula.

Notas e exemplos usados em aula.


Tratamento de Erros

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 18. Lembre-se: respostas escritas à mão.
    Talvez você queira usar as classes no arquivo Emp.py.
  2. (P.O.F.): Ligue para um amigo que você já não vê faz tempo.

Notas e exemplos usados em aula.


Passagem de parâmetros

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 19. Lembre-se: respostas escritas à mão.
  2. (P.O.F.): Escreva a lista das 100 melhores coisas do mundo. Para ajudar no exercício, aqui vai a minha lista.

Notas e exemplos usados em aula.


Introdução à linguagens Prolog

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 20. Lembre-se: respostas escritas à mão.
    Para exs 1 - 6, use estas relações.
  2. (P.O.F.): Vá soprar bolhas de sabão em uma praça pública.

Notas e exemplos usados em aula.


Unificação

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 21. Lembre-se: respostas escritas à mão.
  2. (P.O.F.): Faça uma lista de 50 coisas que você ainda gostaria de fazer durante a sua vida.

Notas e exemplos usados em aula.


Modelos de Custo

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 22. Lembre-se: respostas escritas à mão.
  2. (P.O.F.): Acorde cedo para assistir ao nascer do sol.

Notas e exemplos usados em aula.


Predicados numéricos em Prolog

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 23. Lembre-se: respostas escritas à mão.
    O autor do livro que adotamos disponibilizou alguns predicados para ajudar nestes exercícios:
  2. (P.O.F.): Leia algum autor que já ganhou o Nobel de literatura.

Notas e exemplos usados em aula.


Semântica Formal

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Exercícios

  1. Para ser entregue: Lista 24. Lembre-se: respostas escritas à mão.
    O autor do livro que adotamos disponibilizou os interpretadores em sua página:
  2. (P.O.F.): Dê uma sugestão para algum professor do departamento de como ele pode melhorar suas aulas.

Notas e exemplos usados em aula.


História das Linguagens de Programação

Conceitos que devem ser entendidos.

Questões para discutir

Leitura

Lista de Exercícios

  1. Para ser entregue: Lista 25. Lembre-se: respostas escritas à mão.
  2. (P.O.F.): Escreva uma bela carta e deixe-a para algum sortudo, dentro de um livro da biblioteca.

Notas e exemplos usados em aula.


Aula de Revisão.

Dicas para se dar bem nesta próxima prova:
  1. Entenda as notas e exemplos dados em aula.
  2. Leia os Slides do livro.
  3. Faça as listas de exercícios.
  4. Não deixe nenhum P.O.F. sem fazer.
Abaixo estão alguns exemplos de provas dados em anos anteriores. A matéria agora é muito maior, afinal, conceitos da primeira metade do curso podem ser cobrados novamente. É claro que a ênfase será sobre a matéria da segunda metade. As dicas são as mesmas da primeira prova, porém desta vez Build Me Up Buttercup pode não ser suficiente. Assim, se ficarem cansados enquanto treinam fazendo as provas, eu recomendo agora que vocês parem tudo para escutar Dancing in the Moonlight. O solo de piano logo no início da música coloca qualquer um para cima.

Seguem abaixo alguns videos sobre o material coberto nesta segunda metade do curso:


Segunda avaliação.

Duração: 90 minutos.
Valor: 40 Pontos.
Conteúdo: Todo o curso.
Modo: Sem consulta.


Exame Especial

Bom, se você ficou de exame especial, então sua situação não é muito melhor que aquela dos cartagineses frente às legiões de Cipião Emiliano... Mas nem tudo está perdido! Abaixo estão alguns exemplos de provas dos últimos semestres que podem servir como combustível para o heroísmo. Contudo, se lhe faltar o ânimo, eu sugiro escutar um tango argentino que seja dramático o suficiente.