Linguagens de Programação 2020.1

Links importantes:

Objetivo

A disciplina de Linguagens de Programação apresenta os recursos teóricos para descrição da sintaxe das linguagens em seguida utiliza tais formalismos para descrever a evolução das técnicas de Programação de alto nível, tanto em nível geral de aplicação quanto no formato dos seus elementos básicos. Ao final da disciplina o aluno estará preparado para aprofundar seus conhecimentos de compilação e analisar qual a melhor linguagem ou ambiente para a resolução de um dado problema.

Metodologia

Esta disciplina tem como objetivo fornecer o instrumental teórico necessário para que os alunos possam analisar as principais características das linguagens de programação modernas. A primeira parte consiste nos formalismos usados para descrever os elementos básicos de uma linguagem de programação. A segunda parte admite uma visão de mais alto nível, descrevendo os principais elementos estruturais. Ao final, espera-se que o aluno seja capaz de analisar criticamente uma linguagem, dado o contexto de utilização. Dada a necessidade de adaptação da disciplina para a modalidade remota, adotamos os seguintes métodos:

O horário dos encontros será definido com a turma.

Avaliação

Os alunos são avaliados por atividades escritas. As atividades são liberadas semanalmente. A frequência da semana será dada pela entrega da atividade. A cada 3 ou 4 atividades, uma nota é definida. Ao total, temos três notas (ou três conjuntos de atividades), valendo de 0 a 10. Um trabalho de implementação extra valerá como uma quarta nota. Ao final, a média será definida pela média aritmética das três maiores notas.

Programa

Data Assunto Comentários Vídeos Atividades Notas
30/07/2020 Introdução Apresentação da Disciplina, Avaliações, Material Didático. 1ª Nota: Introdução, Sintaxe e Semântica
06/07/2020 Conceitos de Linguagens de Programação Domínios, Critérios de Avaliação e Categorias.
07/07/2020 Evolução das Linguagens de Programação Origens, Fortran até Algol
13/07/2020 Evolução das Linguagens de Programação Linguagens Modernas Atividade 01
14/07/2020 Descrevendo Sintaxe e Semântica Problema Geral e Métodos Formais
20/07/2020 Descrevendo Sintaxe e Semântica Gramáticas de Atributos, Semântica Operacional e Denotacional Linguagens de Programação 16/03/2020 Atividade 02
21/07/2020 Descrevendo Sintaxe e Semântica Exercício de Semântica Operacional e Denotacional Linguagens de Programação 17/03/2020
27/07/2020 Descrevendo Sintaxe e Semântica Mais um Exemplo de Semântica Denotacional Exemplos de Semântica Denotacional Atividade 03
28/07/2020 Descrevendo Sintaxe e Semântica Semântica axiomática e definição de laços Linguagens de Programação 23/03/2020
03/08/2020 Descrevendo Sintaxe e Semântica Finalização de semântica axiomática Linguagens de Programação 24/03/2020 Atividade 04
04/08/2020 Análise Léxica e Sintática Análise Léxica Linguagens de Programação 30/03/2020
10/08/2020 Análise Léxica e Sintática Análise Sintática Descendente Recursiva Linguagens de Programação 31/03/2020 Atividade 05
11/08/2020 Análise Léxica e Sintática Análise Ascendente Linguagens de Programação 06/04/2020
17/08/2020 Nomes, Escopos e Vinculação Nomes, Variáveis e o Conceito de Vinculação Linguagens de Programação 07/04/2020 Atividade 06 2ª Nota: Tipos de Dados e Expressões
18/08/2020 Nomes, Escopos e Vinculação Escopo, Tempo de Vida e Ambientes de Referência Linguagens de Programação 13/04/2020
24/08/2020 Tipos de Dados Tipos de Dados Primitivos Linguagens de Programação 14/04/2020 Atividade 07
25/08/2020 Tipos de Dados Enumerações, Introdução a Arrays Lineares e Arrays Associativos Linguagens de Programação 20/04/2020
31/08/2020 Tipos de Dados Finalização de Matrizes Linguagens de Programação 27/04/2020 Atividade 08
01/09/2020 Tipos de Dados Matrizes Associativas Linguagens de Programação 28/04/2020
07/09/2020 Tipos de Dados Registros, Tuplas, Listas Linguagens de Programação 04/05/2020 Atividade 09
08/09/2020 Tipos de Dados Uniões Linguagens de Programação 05/05/2020
14/09/2020 Tipos de Dados Ponteiros e Referências Linguagens de Programação 11/05/2020 Atividade 10
15/09/2020 Tipos de Dados Verificação de Tipos Linguagens de Programação 09/09/2020
21/09/2020 Expressões e Atribuições Expressões Aritméticas, Sobrecarga, Conversão Linguagens de Programação 21/09/2020 Atividade 11
22/09/2020 Expressões e Atribuições Expressões Booleanas, Sentenças de Atribuição Linguagens de Programação 22/09/2020
28/09/2020 Estruturas de Controle Sentenças de Seleção e Iteração Linguagens de Programação 28/09/2020 Atividade 12 3ª Nota: Estruturas de Controle e Subprogramas
29/09/2020 Estruturas de Controle Desvios Incondicionais Linguagens de Programação 29/09/2020
05/10/2020 Subprogramas Fundamentos e Questões de Projeto Linguagens de Programação 05/10/2020 Atividade 13
06/10/2020 Subprogramas Referências e Passagem de Parâmetro Linguagens de Programação 06/10/2020
12/10/2020 Subprogramas Funções, Sobrecarga e Genéricos Linguagens de Programação 12/10/2020 Atividade 14
13/10/2020 Implementando Subprogramas Invocações e Retornos Linguagens de Programação 13/10/2020
19/10/2020 Implementando Subprogramas O Uso de Pilhas para Variáveis Locais Linguagens de Programação 19/10/2020 Atividade 15
20/10/2020 Implementando Subprogramas Exemplos Linguagens de Programação 20/10/2020