Linguagens de Programação – 2014/2
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: quartas e sextas-feiras, das 9h às 11h.
Local: Ufes (Av. Fernando Ferrari, 514 – Goiabeiras – Vitória, ES), CT-9, sala 207.
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 2014/2 inicia em 18/08/2014 e termina em 15/12/2014. A semana de provas finais 2014/2 vai de 16 a 19/12/2014. 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 |
---|---|
20/08/2014 | Primeira aula do curso. |
29/08/2014 | Não haverá aula – 11ª Semana da Engenharia em Vitória. |
02/09/2014 | Prazo para definição dos grupos para seminários. |
17/09/2014 | Não haverá aula – Escola de Verão em Ontologias (Nemo). |
19/09/2014 | Não haverá aula – Escola de Verão em Ontologias (Nemo). |
26/09/2014 | Prova Parcial 01. |
29/10/2014 | Prova Parcial 02. |
31/10/2014 | Não haverá aula – Preparação para seminários. |
05/11/2014 | Início dos seminários. |
12/12/2014 | Aula 30 (completando 60 horas-aula). |
19/12/2014 | Prova Final. |
Download de material
- Apresentação do curso;
- Parte 01: Introdução;
- Parte 02: Amarrações;
- Parte 03: Valores e Tipos de Dados;
- Parte 04: Variáveis e Constantes;
- Parte 05: Expressões e comandos;
- Parte 06: Modularização;
- Parte 07: Polimorfismo;
- Parte 08: Exceções;
- Parte 09: Concorrência;
- Parte 10: Avaliação de Linguagens.
Seminário e trabalho prático
Está disponível a especificação 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 de Apresentação | Linguagem | Alunos | Download |
---|---|---|---|---|
01 | 07/11/2014 | Python | Alex, Igor Pereira e Rodrigo De Melo | Seminário Trabalho |
02 | 12/11/2014 | PHP | Marini e Nicholas | Seminário Trabalho |
03 | 14/11/2014 | Lua | Davi, Rodolfo e Rodrigo Pimenta | Seminário Trabalho |
04 | 19/11/2014 | C# | Igor Nunes, Mateus e Renan Sarcinelli | Seminário Trabalho |
05 | 21/11/2014 | Perl | Janaina, Leonardo e Raissa | Seminário Trabalho |
06 | 26/11/2014 | Groovy | Cleisson, Lucas e Renato | Seminário Trabalho |
07 | 28/11/2014 | Haskell | Allek, Henrique e João Paulo | Seminário Trabalho |
08 | 03/12/2014 | Shell Script | André Paris, Marcos e Patrick | Seminário Trabalho |
09 | 05/12/2014 | Go | Ana Beatriz, Luana e Willian | Seminário Trabalho |
10 | 10/12/2014 | Scala | Luiz Eduardo, Raffael e Renan Lucas | Seminário Trabalho |
11 | 12/12/2014 | Ruby | Hudson, Laércio e Pedro | Seminário Trabalho |