Saltar para:
Logótipo
Você está em: Início > CC3033
Mapa das Instalações
FC6 - Departamento de Ciência de Computadores FC5 - Edifício Central FC4 - Departamento de Biologia FC3 - Departamento de Física e Astronomia e Departamento GAOT FC2 - Departamento de Química e Bioquímica FC1 - Departamento de Matemática

Semânticas de Linguagens de Programação

Código: CC3033     Sigla: CC3033     Nível: 300

Áreas Científicas
Classificação Área Científica
OFICIAL Ciência de Computadores

Ocorrência: 2021/2022 - 1S Ícone do Moodle Ícone  do Teams

Ativa? Sim
Página Web: https://www.dcc.fc.up.pt/~nam/Teaching/slp21/
Unidade Responsável: Departamento de Ciência de Computadores
Curso/CE Responsável: Licenciatura em Ciência de Computadores

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
L:CC 46 Plano estudos a partir do ano letivo 2021/22 3 - 6 56 162

Língua de trabalho

Português

Objetivos

Introdução aos diferentes paradigmas de linguagens de programação e às suas diferentes escolhas/conceitos. Pretende-se estudar as componentes principais das linguagens de programação e algumas das ferramentas usadas para descrever de forma precisa o comportamento das suas primitivas principais.

Resultados de aprendizagem e competências


No final do semestre pretende-se que o estudante seja capaz de descrever e formalizar os aspetos essenciais de cada paradigma, assim como compreender as ferramentas necessárias ao desenvolvimento de novas linguagens de programação.

Modo de trabalho

Presencial

Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)

Lógica computacional, Modelos de computação, conhecimentso de linguagens de programação  imperativas e funcionais

Programa

Introdução aos diferentes paradigmas de linguagens de programação. Sintaxe, semântica e implementação de linguagens. Sistemas de transição.
- Linguagens de programação imperativas:
* Conceitos gerais: variáveis, atribuição, instruções de controle, blocos;
* Semânticas operacionais: máquinas abstratas, semânticas operacionais estruturais;
- Linguagens de programação funcionais:
* Conceitos gerais, definição de funções, recursão
* Sistemas de tipos
* Semântica operacional
- Linguagens de programação lógicas:
* Conceitos gerais: termos, predicados, clausulas

Bibliografia Obrigatória

Maribel Fernández; Programming languages and operational semantics. ISBN: 0-9543006-3-7

Bibliografia Complementar

Hanne Riis Nielson; Semantics with applications. ISBN: 978-1-84628-691-9
Flemming Nielson; Formal methods. ISBN: 978-3-030-05156-3 (Ebook)
Richard Bird; Introduction to functional programming using Haskell. ISBN: 978-0-13-484346-9 pbk
Kent D. Lee; Foundations of Programming Languages, Springer, 2017. ISBN: 978-3-319-70789-1

Métodos de ensino e atividades de aprendizagem

Aulas expositivas e aulas de resolução de problemas e casos de estudo.
Avaliação distribuída sem exame final. Serão propostos dois testes com peso de 50%.



Serão propostos trabalhos de resolução de problemas sobre os diversos tópicos da matéria. Poderão ser também propostos trabalhos práticos de implementação dos conceitos expostos. Assim serão assegurados os objetivos propostos. Os testes e exame final têm como objetivo garantir que os objetivos principais da aprendizagem foram atingidos.

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Designação Peso (%)
Exame 50,00
Teste 50,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Estudo autónomo 106,00
Frequência das aulas 56,00
Total: 162,00

Obtenção de frequência

Os alunos deverão obter um mínimo de 6 valores (em 20) em cada um dos testes. O primeiro realiza-se a meio do semestre e o segundo na data prevista para o exame normal.


Todos os alunos poderão realizar o exame de recurso.

Fórmula de cálculo da classificação final

Teste intercalar (50% de peso na nota final).
Exame final (50% de peso na nota final).
Sendo TI a classificação obtida  no teste intercalar e EF a
classificação obtida no exame final, então a nota final é dada por:
F = TI*(0.5) + EF*(0.5)
TI,EF >= 6 e F >= 9.5

Avaliação especial (TE, DA, ...)

Os critérios de avaliação são os mesmos para todos os estudantes.

Melhoria de classificação

Será possível fazer melhoria de classificação em época de recurso.
Recomendar Página Voltar ao Topo
Copyright 1996-2024 © Faculdade de Ciências da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2024-11-09 às 06:15:41 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias