Linguagens de Programação – 2015/1

Ementa: definição de linguagens: sintaxe e semântica. Paradigmas de programação. Modelos de implementação: compilação e interpretação. Visibilidade de nomes. Comunicação entre unidades. Alocação estática e dinâmica de memória. Subprogramas. Tipos abstratos de dados. Unidades genéricas. Tratamento de exceções. Noções de programação em linguagens funcionais e lógicas. Estudo comparativo de linguagens.

Objetivo: proporcionar uma visão geral sobre os conceitos definidos em várias linguagens de programação em diferentes paradigmas. Possibilitar que o aluno tenha contato com diversas linguagens de programação modernas. Capacitar o aluno para que ele possa analisar e escolher linguagens de programação.

Metodologia: aulas expositivas e exercícios em sala de aula, seminários.

Dia/horário das aulas: segundas-feiras das 13h às 15h, quintas-feiras das 17h às 19h.

Local: CT-9, sala 207 – Ufes (Av. Fernando Ferrari, 514 – Goiabeiras – Vitória, ES).

Carga horária semestral: 60 horas.

Mais informações:

Programa detalhado

  1. Propriedades, paradigmas e evolução de linguagens de programação;
  2. Amarrações, identificadores, definições e declarações;
  3. Valores e tipos de dados: tipos primitivos, tipos compostos;
  4. Variáveis e constantes, gerência de memória principal e secundária;
  5. Tipos de comandos e expressões, avaliação de expressões;
  6. Modularização, subprogramas, tipos abstratos de dados, compilação separada;
  7. Sistemas de tipos, polimorfismo: coerção, sobrecarga, paramétrico e inclusão;
  8. Exceções: especificação, tratamento, propagação;
  9. Concorrência: motivação, problemas, suporte das linguagens de programação;
  10. Avaliação de LPs: critérios gerais e específicos, exemplo de comparação;
  11. Seminários sobre linguagens de programação.

Sistema de avaliação

A avaliação será constituída de 2 provas individuais (P1 e P2) valendo 10 cada, 1 seminário em grupo (S) valendo 10, um trabalho prático em grupo (T) valendo 1 e registros de presença durante os seminários (PS) valendo 10. A nota parcial será obtida com a seguinte fórmula:

NOTA PARCIAL = (P1 + P2 + S * T + PS) / 4

Alunos que obtiverem nota parcial igual ou superior a 7 não farão prova final, tendo sua nota final igual à nota parcial. Demais alunos terão sua nota final calculada pela média aritmética simples entre a nota parcial e a nota da prova final e deverão obter nota final igual ou superior a 5 para serem aprovados.

Observação: o aluno que tiver mais de 25% (vinte e cinco por cento) de faltas, contadas em relação ao número de horas-aulas previstas para a disciplina, será privado do direito de prestar exame final e estará, independentemente de qualquer outra condição, reprovado. (Art. 51 Regimento CT, art. 104 Regimento Geral Ufes). Além disso, a média final da disciplina será arredondada para valores inteiros ou fração de 0,5, de acordo com o art. 63, parágrafos 1º e 2º do Regimento CT).

Bibliografia

Livros:

Materiais disponíveis online:

Cronograma / Datas importantes

O período 2015/1 inicia em 02/03/2015 e termina em 07/07/2015. A semana de provas finais 2015/1 vai de 08 a 14/07/2015. A tabela abaixo resume eventos importantes durante o curso. O programa de aulas com o cronograma completo do curso é exibido em seguida.

Data Descrição
02/03/2015 Primeira aula do curso.
12/03/2015 Prazo para definição dos grupos para seminários.
30/03/2015 Prova Parcial 01.
13/04/2015 Não haverá aula – Feriado de N. Sra. da Penha.
20/04/2015 Não haverá aula – Recesso Escolar para Feriado de Tiradentes.
07/05/2015 Prova Parcial 02.
14/05/2015 Início dos seminários.
01/06/2015 Não haverá aula – Licença paternidade.
04/06/2015 Não haverá aula – Feriado de Corpus Christi.
25/06/2015 Aula 30 (completando 60 horas-aula).
07/07/2015 Prazo para entrevistas sobre trabalho prático.
09/07/2015 Prova Final.

Download de material

Seminário e trabalho prático

Veja aqui a especificação completa do seminário e trabalho prático. Abaixo encontra-se a divisão dos grupos e suas respectivas linguagens e datas de apresentação.

# Data Linguagem Alunos Download
01 14/05/2015 Python Celso e Marcos Aurelio Seminário / Trabalho
02 18/05/2015 PHP Allan e Eduardo Seminário / Trabalho
03 21/05/2015 C# Rafael e Vanderlei Seminário / Trabalho
04 25/05/2015 Groovy (Apresentado pelo professor) 2014/2, 2013/2
05 28/05/2015 Shell Script André Luiz e Giuliano Seminário / Trabalho
06 08/06/2015 Haskell Pamella e Vitor Seminário
07 11/06/2015 Lua Gabriel e Marcus Vinicius Seminário / Trabalho
08 15/06/2015 Perl Arthur e Gustavo Seminário / Trabalho
09 18/06/2015 Scala Gabriel e Gustavo Seminário
10 22/06/2015 Go César e João Mário Seminário / Trabalho
11 25/06/2015 Ruby Diego e Leonardo Seminário