Informações

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

Regras

  • 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)

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
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.

Seminários

sem. data descrição
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.

Calendário

Março 2024

dia sem. tipo descrição
05 ter
laboratório
Apresentação da disciplina (lab)
07 qui
teoria
Apresentação da disciplina
12 ter
laboratório
TP1: Interpretador (1/9)
14 qui
teoria
Sintaxe e semântica
19 ter
laboratório
TP1: Interpretador (2/9)
21 qui
teoria
Sistemas de linguagens
26 ter
laboratório
TP1: Interpretador (3/9)
28 qui
feriado
Recesso escolar: Paixão de Cristo

Abril 2024

dia sem. tipo descrição
02 ter
laboratório
TP1: Interpretador (4/9)
04 qui
teoria
Nomes, amarrações e escopo (1/2)
09 ter
laboratório
TP1: Interpretador (5/9)
11 qui
teoria
Nomes, amarrações e escopo (2/2)
16 ter
laboratório
TP1: Interpretador (6/9)
18 qui
teoria
Tipos de dados
23 ter
laboratório
TP1: Interpretador (7/9)
25 qui
teoria
Verificação de tipos
30 ter
laboratório
TP1: Interpretador (8/9)

Maio 2024

dia sem. tipo descrição
02 qui
teoria
Subprogramas
07 ter
laboratório
TP1: Interpretador (9/9)
09 qui
prova
Prova 1
14 ter
prova
Prova 1 (lab)
16 qui
teoria
Programação orientada a objetos
21 ter
laboratório
TP2: Programação orientada a eventos (1/4)
23 qui
teoria
Tratamento de exceções
28 ter
laboratório
TP2: Programação orientada a eventos (2/4)
30 qui
feriado
Feriado nacional: Corpus Christi

Junho 2024

dia sem. tipo descrição
04 ter
laboratório
TP2: Programação orientada a eventos (3/4)
06 qui
teoria
Programação concorrente
11 ter
laboratório
TP2: Programação orientada a eventos (4/4)
13 qui
teoria
Programação funcional (Haskell)
18 ter
laboratório
TP3: Programação funcional (Haskell)
20 qui
teoria
Programação lógica (Prolog)
25 ter
laboratório
TP4: Programação lógica (Prolog)
27 qui
prova
Prova 2

Julho 2024

dia sem. tipo descrição
02 ter
prova
Prova 2 (lab)
04 qui
prova
Prova suplementar
09 ter
prova
Prova especial (lab)
11 qui
prova
Prova especial