Linguagens de Programação – 2013/2
Ementa: Conceitos e fundamentos de linguagens de programação, meios de uso e de implementação, estudo de linguagens de programação diversas.
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 11h às 13h; quartas-feiras, das 9h às 11h.
Local: Ufes (Av. Fernando Ferrari, 514 – Goiabeiras – Vitória, ES), CT-9, salas 207 (aulas de segunda-feira) e 108 (aulas de quarta-feira).
Carga horária semestral: 60 horas.
Mais informações:
- Programa detalhado;
- Sistema de avaliação;
- Bibliografia;
- Cronograma / datas importantes;
- Download de material do curso (slides, exercícios, etc.);
- Agende um horário para atendimento.
Programa detalhado
- Propriedades, paradigmas e evolução de linguagens de programação;
- Amarrações, identificadores, definições e declarações;
- Valores e tipos de dados: tipos primitivos, tipos compostos;
- Variáveis e constantes, gerência de memória principal e secundária;
- Tipos de comandos e expressões, avaliação de expressões;
- Modularização, subprogramas, tipos abstratos de dados, compilação separada;
- Sistemas de tipos, polimorfismo: coerção, sobrecarga, paramétrico e inclusão;
- Exceções: especificação, tratamento, propagação;
- 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 e um trabalho prático em grupo (T) valendo 1. A nota parcial será obtida com a seguinte fórmula:
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.
Nota: 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)
Bibliografia
Livros:
- F. M. Varejão. Linguagens de Programação – Conceitos e Técnicas. Campus, 2004;
- A. B. Tucker, R. E. Noonan. Linguagens de Programação – Princípios e Paradigmas, 2a edição. McGraw Hill, 2009;
- R. W. Sebesta. Conceitos de Linguagens de Programação, 9a edição. Bookman, 2011.
Materiais disponíveis online:
Cronograma / Datas importantes
O período 2013/2 inicia em 07/10/2013 e termina em 11/03/2014. A semana de provas finais 2003/2 vai de 12 a 19/03/2014 (semanas seguintes ao Carnaval!). 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 |
---|---|
07/10/2013 | Aula 01 (apresentação). |
23/10/2013 | Prazo para entrega das duplas do seminário / trabalho prático. |
28/10/2013 | Feriado (Dia do Servidor Público). |
06/11/2013 | Prova parcial 1. |
09/12/2013 | Prova parcial 2. |
16/12/2013 | Início dos seminários apresentados pelos alunos. Última aula antes do recesso de Natal e Ano Novo. |
18/12/2013 | Correção da prova parcial 2 (presença opcional). |
20/01/2014 | Não haverá aula por causa do VestUfes (dia letivo cancelado). |
22/01/2014 | Primeira aula após o recesso de Natal e Ano Novo. |
19/02/2014 | Prazo para agendamento de entrevista sobre trabalho prático. |
24/02/2014 | Aula 30 (completando 60 horas-aula). Após este dia só haverá aula se houver necessidade de reposição. |
26/02/2014 | Último dia para entrevistas sobre trabalho prático. |
03/03/2014 | Feriado (Carnaval). |
05/03/2014 | Feriado (Carnaval). |
Download de material
- Apresentação do curso;
- Slides cap. 01: Introdução;
- Slides cap. 02: Amarrações;
- Slides cap. 03: Valores e Tipos de Dados;
- Slides cap. 04: Variáveis e Constantes;
- Slides cap. 05: Expressões e Comandos;
- Slides cap. 06: Modularização;
- Slides cap. 07: Polimorfismo;
- Slides cap. 08: Exceções;
- Slides cap. 09: Concorrência;
- Slides cap. 10: Avaliação de Linguagens.
Seminário e trabalho prático
Clique aqui para ler a especificação do seminário e trabalho prático desta disciplina.
Material produzidos pelos alunos para os seminários:
- C# (27/01): slides / trabalho;
- Go (24/02): slides / trabalho;
- Groovy (22/01): slides / trabalho;
- Haskell (17/02): slides / trabalho;
- Lua (29/01): slides / trabalho;
- Objective C (19/02): slides / trabalho;
- Perl (12/02): slides / trabalho;
- PHP (26/02): slides / trabalho;
- Python (16/12): slides / trabalho;
- Ruby (10/02): slides / trabalho;
- Scala (03/02): slides / trabalho;
- Shell Script (05/02): slides / trabalho.