Informations

  • Course: Linguagens de Programação
  • Code: 2ECOM.009
  • Departament: DECOM
  • Discussion list: decom009@googlegroups.com
  • Term:
  • Meetings:
    • Room: 107, Prédio 12 (Theory)
      Schedules:
      Thursday: 
      10:40 to 12:20
    • Room: 204, Prédio 12 (Laboratory)
      Schedules:
      Tuesday: 
      08:50 to 10:30 (Lab G1)
      10:40 to 12:20 (Lab G2)

Rules

  • Gerais
    • Todas as entregas são feitas no SIGAA em formato PDF
    • Cópias, de qualquer natureza, são penalizadas com nota zero
    • Entregas atrasadas não são consideradas
    • Toda a comunicação é feita exclusivamente via twitter (avisos) e lista de discussão (conteúdo)
    • Dúvidas da matéria somente pela lista de discussão (ignorados em outros e-mails)
  • Provas
    • Teórica: individual e sem consulta
    • Laboratório: individual ou em dupla com consulta
    • Esperar pelo menos 30 minutos antes de entregar a prova
  • Listas
    • Individual
    • Entregar na semana posterior ao conteúdo dado
  • Trabalhos e Seminários
    • Individual ou em dupla (de dois, ok?)
  • Extras
    • No máximo 5 pontos extras
    • Erros nos slides valem 0,5pts (postar na lista de discussão)

Grading

Student: 

Theory

- /
60 pts
- /
20 pts
Seminários
- /
20 pts
Extras
- /
5 pts
Total
- /
100 pts

Prova especial
- /
100 pts
Total
- /
100 pts

Laboratory

- /
30 pts
- /
60 pts
Seminários
- /
10 pts
Extras
- /
5 pts
Total
- /
100 pts

Prova especial
- /
100 pts
Total
- /
100 pts

Syllabus

  • Evolução das principais linguagens
  • Noções de sintaxe e semântica
  • Nomes, vinculações
  • Verificação de tipos e tipos de dados
  • Expressões e atribuição
  • Estruturas de controle
  • Subprogramas: ambientes de referenciamento, passagem de parâmetros
  • Tipos abstratos de dados
  • Orientação a objetos
  • Tratamento de exceções
  • Linguagens funcionais e lógicas

Lessons

lecture video exercise description
Apresentação da disciplina: apresentação da disciplina com o objetivo de motivar os alunos sobre a importância do estudo das linguagens de programação. São discutidos os requisitos necessários de linguagens de programação e como avaliar essas linguagens sobre quais critérios. Também são introduzidos os diferentes tipos de paradigmas de linguagens, como imperativa, orientada a objetos, funcional e lógica.
Sintaxe e semântica: ...
Sistemas de linguagens: ...
Nomes, amarrações e escopo: ...
Tipos de dados: ...
Verificação de tipos: ...
Subprogramas: ...
Programação orientada a objetos: ...
Tratamento de exceções: ...
Programação concorrente: ...
Programação funcional: ...
Programação lógica: ...

Homeworks

work video date description
13/05 miniElixir O objetivo desse trabalho é desenvolver um interpretador para um subconjunto de uma linguagem de programação conhecida. Para isso foi criada miniElixir, uma linguagem de programação de brinquedo baseada em Elixir.
17/06 Pursuit O objetivo desse trabalho é desenvolver o jogo Pursuit em um ambiente orientado a eventos usando Qt com C++.
24/06 Haskell:  O objetivo desse trabalho é desenvolver 15 programas em Haskell.
01/07 Prolog:  O objetivo desse trabalho é desenvolver 15 programas em Prolog.

Seminars

sem. date description
24/06 Seminários sobre linguagens de programação para que os alunos tenham contato com informações, motivações, características de diversas linguagens.

Calendar

March 2024

day week type description
05 tue
laboratory
Apresentação da disciplina (lab)
07 thu
theory
Apresentação da disciplina
12 tue
laboratory
TP1: Interpretador (1/9)
14 thu
theory
Sintaxe e semântica
19 tue
laboratory
TP1: Interpretador (2/9)
21 thu
theory
Sistemas de linguagens
26 tue
laboratory
TP1: Interpretador (3/9)
28 thu
holiday
Recesso escolar: Paixão de Cristo

April 2024

day week type description
02 tue
laboratory
TP1: Interpretador (4/9)
04 thu
theory
Nomes, amarrações e escopo (1/2)
09 tue
laboratory
TP1: Interpretador (5/9)
11 thu
theory
Nomes, amarrações e escopo (2/2)
16 tue
laboratory
TP1: Interpretador (6/9)
18 thu
theory
Tipos de dados
23 tue
laboratory
TP1: Interpretador (7/9)
25 thu
theory
Verificação de tipos
30 tue
laboratory
TP1: Interpretador (8/9)

May 2024

day week type description
02 thu
theory
Subprogramas
07 tue
laboratory
TP1: Interpretador (9/9)
09 thu
exam
Prova 1
14 tue
exam
Prova 1 (lab)
16 thu
theory
Programação orientada a objetos
21 tue
laboratory
TP2: Programação orientada a eventos (1/4)
23 thu
theory
Tratamento de exceções
28 tue
laboratory
TP2: Programação orientada a eventos (2/4)
30 thu
holiday
Feriado nacional: Corpus Christi

June 2024

day week type description
04 tue
laboratory
TP2: Programação orientada a eventos (3/4)
06 thu
theory
Programação concorrente
11 tue
laboratory
TP2: Programação orientada a eventos (4/4)
13 thu
theory
Programação funcional (Haskell)
18 tue
laboratory
TP3: Programação funcional (Haskell)
20 thu
theory
Programação lógica (Prolog)
25 tue
laboratory
TP4: Programação lógica (Prolog)
27 thu
exam
Prova 2

July 2024

day week type description
02 tue
exam
Prova 2 (lab)
04 thu
exam
Prova suplementar
09 tue
exam
Prova especial (lab)
11 thu
exam
Prova especial