Go to:
Logótipo
You are in:: Start > CC4013

Foundations of Programming Languages

Code: CC4013     Acronym: CC4013     Level: 400

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2024/2025 - 1S Ícone do Moodle

Active? Yes
Responsible unit: Department of Computer Science
Course/CS Responsible: Master in Computer Science

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
M:CC 13 Study plan since 2014/2015 1 - 6 42 162

Teaching Staff - Responsibilities

Teacher Responsibility
Sandra Maria Mendes Alves
João Luis Alves Barbosa

Teaching - Hours

Theoretical and practical : 3,23
Type Teacher Classes Hour
Theoretical and practical Totals 1 3,231
João Luis Alves Barbosa 1,615
Sandra Maria Mendes Alves 1,615

Teaching language

Suitable for English-speaking students

Objectives

Study of formal semantic models for programming languages, in order to understand the mechanisms envolved in the their definition, design, and implementation.

Learning outcomes and competences

The students will acquire knowledge on formal semantic models for programming languages.
They will develop technical capabilities and understand the mechanisms envolved in the definition, design, and implementation of programming languages.
With the acquired knowledge, the students will be able to formalize the concept of the meaning of a program.
In addition, the students will be able to apply these concepts to the design of a programming language.

Working method

Presencial

Program

- Lambda-calculus: syntax, reductions, codifitcation of typical constructors in programming languages.
- Type systems: simple a la Curry type system for lambda-calculus; parametric polymorphism. Type Inference.
- Operational semantics. Demonstration techniques for properties of operational semantics.
- Domain theory: Complete partial orders (CPOs). Continuous functions. FIxed point theorem.
- Denotational semantics for programming languages.
- Relation between operational and denotational semantics.
- Semantics for languages with non-determinism, parallelism, and blocks.
- Extra notions of semantics for programming languages.

Mandatory literature

Hanne Riis Nielson; Semantics with applications. ISBN: 978-1-84628-691-9
Chris Hankin; An introduction to Lambda calculi for computer scientists. ISBN: 0-9543006-5-3

Complementary Bibliography

Glynn Winskel; The formal semantics of programming languages. ISBN: 978-0-262-23169-5
Hendrik Pieter Barendregt; The lambda calculus. ISBN: 0-444-85490-8
Maribel Fernández; Programming languages and operational semantics. ISBN: 0-9543006-3-7

Teaching methods and learning activities

Theoretical-practical classes with concept definitions and exercise resolution.

Software

Glasgow Haskell Compiler

keywords

Physical sciences > Mathematics > Mathematical logic
Physical sciences > Mathematics > Discrete mathematics
Physical sciences > Computer science

Evaluation Type

Distributed evaluation without final exam

Assessment Components

designation Weight (%)
Teste 100,00
Total: 100,00

Amount of time allocated to each course unit

designation Time (hours)
Estudo autónomo 120,00
Frequência das aulas 42,00
Total: 162,00

Eligibility for exams

No frequency criteria.

Calculation formula of final grade

There are two tests in the cours, each with a minimum grade of 6 out of 20.

The final grade is the arithmetic average of the grades for both tests.

Final grade = 0.5 * Test 1 + 0.5 * Test 2

Whoever does not achieve a minimum grade in either of the tests is not approved, but will be able to attend a resit exam to both tests, or just one.
Recommend this page Top
Copyright 1996-2025 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2025-06-15 at 19:08:39 | Acceptable Use Policy | Data Protection Policy | Complaint Portal