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: 2022/2023 - 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 language

Portuguese

Objectives

Study of semantic formal models of programming language, in order to provide a deep understanding of  the mechanisms behind programming language definition, design, and implementation. 

Learning outcomes and competences

The students will acquire knowledge about semantic formal models of programming language. This course should develop the techniques and mechanisms behind programming language definition, design, and implementation. The students should be able to reason about the meaning of programs in a formal sense. 

Working method

Presencial

Program

Operational semantics of programming languages. 
Induction. 
Lambda-calculus: sintax, reductions and encodings. 
Domain theory: Complete partial orders (CPOs). Continuous functions. The fix-point theorem. 
Denotational semantics. Relation between denotational and operational semantics. 
Semantics of functional programming languages. Semantics of the lambda-calculus.
Type systems: the simple type system; parametric polymorphism.
Semantics for  languages based on concurrency.   Nondeterminism and parallelism. 

Mandatory literature

Nielson and Nielson; Semantics with Applications: an appetizer, 2007
Chris Hankin; An Introduction to Lambda Calculus for Computer Scientis
G. Winskel; The Formal Semantics of Programming languages, 1993

Complementary Bibliography

H. Barendregt; The Lambda Calculus: its syntax and semantics, 1985
Fernández Maribel; Programming languages and operational semantics. ISBN: 0-9543006-3-7

Teaching methods and learning activities

Lectures with exposition of the elements in the syllabus.

Software

Glasgow Haskell Compiler

keywords

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

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, each with a minimum score of 6 out of 20. The final grade is the arithmetic average of the test scores.

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

Anyone who does not reach the minimum grade in one of the tests does not pass, but can do an extra exam to be evaluated to both tests or just one of them.


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-14 at 09:33:04 | Acceptable Use Policy | Data Protection Policy | Complaint Portal