Informações

  • Curso: Linguagens de Programação
  • Código: 2ECOM.009
  • Departamento: DECOM
  • Lista de discussão: decom009@googlegroups.com
  • Termo:
  • Encontros:
    • Sala: 412, Prédio 20 (Teórica)
      Horários:
      Quarta-feira: 
      14:50 às 16:30
    • Sala: 204, Prédio 12 (Laboratório)
      Horários:
      Terça-feira: 
      14:50 às 16:30 (Lab G1)
      16:40 às 18:20 (Lab G2)

Regras

  • Gerais
    • Cópias, de qualquer natureza, serão penalizadas com nota zero
    • Entregas atrasadas não serão consideradas
    • Toda a comunicação será 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)

Pontuação

Aluno(a): 

Teórica

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

Prova especial
- /
100 pts
Total
- /
100 pts

Laboratório

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

Prova especial
- /
100 pts
Total
- /
100 pts

Ementa

  • 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

Aulas

aula vídeo lista descrição
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: ...

Trabalhos

tp vídeo data descrição
30/05 miniGroovy O objetivo desse trabalho é desenvolver um interpretador para um subconjunto de uma linguagem de programação conhecida. Para isso foi criada miniGroovy, uma linguagem de programação de brinquedo baseada em Groovy.
27/06 Alquerque O objetivo desse trabalho é desenvolver o jogo Alquerque em um ambiente orientado a eventos usando Qt com C++.
04/07 Haskell:  O objetivo desse trabalho é desenvolver 15 programas em Haskell.
11/07 Prolog:  O objetivo desse trabalho é desenvolver 15 programas em Prolog.

Seminários

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

Calendário

Março 2022

dia sem. tipo descrição
22 ter
feriado
Semana de acolhimento
23 qua
feriado
Semana de acolhimento
29 ter
laboratório
TP1: Interpretador (1/8)
30 qua
teoria
Sintaxe e semântica

Abril 2022

dia sem. tipo descrição
05 ter
laboratório
TP1: Interpretador (2/8)
06 qua
teoria
Sistemas de linguagens
12 ter
laboratório
TP1: Interpretador (3/8)
13 qua
teoria
Nomes, amarrações e escopo (1/2)
19 ter
laboratório
TP1: Interpretador (4/8)
20 qua
teoria
Nomes, amarrações e escopo (2/2)
26 ter
laboratório
TP1: Interpretador (5/8)
27 qua
teoria
Tipos de dados

Maio 2022

dia sem. tipo descrição
03 ter
laboratório
TP1: Interpretador (6/8)
04 qua
teoria
Verificação de tipos
10 ter
laboratório
TP1: Interpretador (7/8)
11 qua
teoria
Subprogramas (1/2)
17 ter
laboratório
TP1: Interpretador (8/8)
18 qua
teoria
Subprogramas (2/2)
24 ter
prova
Prova 1 (lab)
25 qua
prova
Prova 1
31 ter
laboratório
TP2: Programação orientada a eventos (1/4)

Junho 2022

dia sem. tipo descrição
01 qua
teoria
Programação orientada a objetos
07 ter
laboratório
TP2: Programação orientada a eventos (2/4)
08 qua
teoria
Tratamento de exceções
14 ter
laboratório
TP2: Programação orientada a eventos (3/4)
15 qua
teoria
Programação concorrente
21 ter
laboratório
TP2: Programação orientada a eventos (4/4)
22 qua
teoria
Programação funcional (Haskell)
28 ter
laboratório
TP3: Programação funcional (Haskell)
29 qua
teoria
Programação lógica (Prolog)

Julho 2022

dia sem. tipo descrição
05 ter
laboratório
TP4: Programação lógica (Prolog)
06 qua
prova
Prova 2
12 ter
prova
Prova 2 (lab)
13 qua
prova
Prova suplementar
19 ter
prova
Prova especial (lab)
20 qua
prova
Prova especial