Linguagens e Ambientes de Programação (2012/2013) - Departamento de Informática

Informação adicional: http://ctp.di.fct.unl.pt/lei/lap/

Descrição

As linguagens de programação e os ambientes de programação e execução de programas encontram-se entre os artefactos conceptuais e tecnológicos mais importantes da Engenharia Informática, dado estarem sempre envolvidos na concepção e implementação de qualquer aplicação.

Esta disciplina estuda de forma estruturada as alternativas no desenho das linguagens de programação, compara e exercita as linguagens e os paradigmas de programação mais relevantes, e explica as técnicas gerais usadas nas plataformas de suporte à execução de programas.

Objectivos
Saber
Fazer
Soft-Skills
Programa
  1. Princípios
    1. Interpretação.
    2. Máquinas Virtuais; Compilação; Ligação; Carregamento.
    3. Níveis de Interpretação.
  2. Linguagens Procedimentais e Funcionais
    1. Papel dos tipos nas Linguagens de Programação.
    2. Verificação e Inferência de Tipos.
    3. Polimorfismo; Sobrecarga; Generalidade.
    4. Estruturação em blocos: Visibilidade; Ligação; Âmbito; Tempo de vida; semânticas de cópia e de referência.
    5. Procedimentos e Funções: nomes locais e globais; parametrização; modos de passagem de argumentos; valores funcionais.
    6. Gestão de Memória: Alocação estática; Alocação Dinâmica; Recolha de lixo.
    7. Controle Estruturado; Excepções; Continuações.
    8. A linguagem C e a linguagem ML: flexibilidade e manipulação a nível sistema versus robustez e abstracção.
  3. Linguagens baseadas em Objectos
    1. Ligação dinâmica; Ocultação de informação; Subtipificação; Herança.
    2. A linguagem C++ e a linguagem Java. OOP e eficiência de execução versus portabilidade e segurança.
    3. O ambiente Java: Arquitectura da JVM; Carregador; Ligador; Verificador; Mecanismos de segurança.
  4. Linguagens de Scripting e Domínios Específicos
    1. Linguagens para domínios específicos: características e objectivos. Estudo de casos: (bash; make; Cduce; ...).
    2. Linguagens de Scripting: características e objectivos. Estudo de casos (JavaScript, ...).
Bibliografia Principal
Esforço do Aluno
  Horas por crédito 28
  Horas p/ semana Semanas Horas
Aulas práticas e laboratoriais 2 14 28.0
Aulas teóricas 3 14 42.0
Avaliação   3.0
Estudo   40.0
Orientação tutorial   3.0
Projectos e trabalhos   52.0
Total de Horas 168
ECTS 6.0