Apresentação da Disciplina e Plano de Ensino — História

Data de Publicação

08/03/2026

Data de Modificação

08/03/2026

Apresentação da Disciplina

Nesta primeira aula, abordaremos:

  • a estrutura geral da disciplina
  • o plano de ensino
  • um breve histórico das linguagens de programação

Compreender a evolução histórica das linguagens ajuda a entender por que as linguagens modernas possuem determinadas características de design.


Evolução e Popularidade das Linguagens

As linguagens de programação não são estáticas; elas nascem, evoluem e muitas vezes são substituídas por novas abordagens que resolvem problemas contemporâneos de forma mais eficiente.

O vídeo abaixo ilustra a mudança na popularidade das linguagens ao longo das últimas décadas.


Genealogia e Contexto Histórico

Para compreender os paradigmas de programação, estudamos as árvores genealógicas das linguagens.

Linguagens de Programação

Linguagens “Mãe”

Linguagens “Mãe”

Sistemas Operacionais


Estrutura de Avaliação e Atividades

A disciplina combina fundamentação teórica e prática intensiva de programação.

Nota📝 Provas Teóricas

Serão realizadas duas provas teóricas ao longo do semestre.

Elas avaliam a compreensão dos conceitos fundamentais de projeto de linguagens, incluindo:

  • amarração (binding)
  • escopo e regras de visibilidade
  • sistemas de tipos (tipagem forte vs fraca)
  • estruturas de controle
  • passagem de parâmetros
  • concorrência

Dica💻 Trabalho Prático

O componente prático central da disciplina será a implementação de um Sistema de Recomendação de Filmes.

O objetivo é implementar a mesma especificação utilizando três paradigmas diferentes:

  1. Orientado a Objetos — Java
  2. Lógico — Prolog
  3. Funcional — Lisp

Essa abordagem permite observar como diferentes paradigmas modelam o mesmo problema.


Importante⚖️ Juiz Online (Wokodex)

O módulo em Java será avaliado automaticamente pelo Wokodex, um sistema de juiz online semelhante ao:

O sistema executará testes com cargas progressivas de dados
(de aproximadamente 5 até 140.000 avaliações de filmes).

O objetivo não é apenas verificar se o código funciona, mas também se a estrutura de dados escolhida possui a complexidade correta, frequentemente exigindo operações \(\mathcal{O}(1)\).

Importante:
Realize o cadastro na plataforma nas primeiras semanas do semestre.


Aviso📚 Listas de Exercícios

Para consolidar os conceitos teóricos, teremos listas curtas de exercícios ou questionários semanais.

Essas atividades serão disponibilizadas pelo SIGAA ou Moodle e servem como preparação para as provas teóricas.

De volta ao topo