Go to:
Logótipo
You are in:: Start > CC4013
Site map
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

Foundations of Programming Languages

Code: CC4013     Acronym: CC4013     Level: 400

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2019/2020 - 1S

Active? Yes
Web Page: http://www.dcc.fc.up.pt/~sandra//Home/FLP1920.html
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 18 Study plan since 2014/2015 1 - 6 42 162
MI:ERS 1 Plano Oficial desde ano letivo 2014 4 - 6 42 162

Teaching Staff - Responsibilities

Teacher Responsibility
António Mário da Silva Marcos Florido
Sandra Maria Mendes Alves

Teaching - Hours

Theoretical and practical : 3,00
Type Teacher Classes Hour
Theoretical and practical Totals 1 3,00
António Mário da Silva Marcos Florido 1,50
Sandra Maria Mendes Alves 1,50

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

Complementary Bibliography

G. Winskel; The Formal Semantics of Programming languages, 1993
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.

Evaluation Type

Distributed evaluation with final exam

Assessment Components

designation Weight (%)
Exame 60,00
Trabalho escrito 20,00
Trabalho prático ou de projeto 20,00
Total: 100,00

Amount of time allocated to each course unit

designation Time (hours)
Apresentação/discussão de um trabalho científico 2,00
Elaboração de projeto 8,00
Estudo autónomo 100,00
Frequência das aulas 42,00
Trabalho escrito 10,00
Total: 162,00

Eligibility for exams

Exam + couserworks.

Calculation formula of final grade

Courseworks (2) (40% of the final mark).
Final exam (60% of the final mark).
If TE is the mark obtained in the mid semester coursework, TL in the final coursework and FE the mark
obtained in the final exam, then the final mark is given by:
F = TE*(0.2) + TL*(0.2) + FE*0,6
Recommend this page Top
Copyright 1996-2024 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2024-04-19 at 06:48:44 | Acceptable Use Policy | Data Protection Policy | Complaint Portal