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

Semantics of Programming Languages

Code: CC3033     Acronym: CC3033     Level: 300

Keywords
Classification Keyword
OFICIAL Computer Science

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

Active? Yes
Web Page: https://www.dcc.fc.up.pt/~nam/Teaching/slp24
Responsible unit: Department of Computer Science
Course/CS Responsible: Bachelor in Computer Science

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
L:CC 26 study plan from 2021/22 3 - 6 48 162

Teaching Staff - Responsibilities

Teacher Responsibility
Nelma Resende Araújo Moreira

Teaching - Hours

Theoretical classes: 1,85
Laboratory Practice: 1,85
Type Teacher Classes Hour
Theoretical classes Totals 1 1,846
Nelma Resende Araújo Moreira 1,846
Laboratory Practice Totals 1 1,846
Nelma Resende Araújo Moreira 1,846

Teaching language

Portuguese

Objectives

Introduction to different programming paradigms and their different concept and features. We will study the main components of programming languages and some of the tools that are used to describe in a precise way the behaviour of their main constructs.

Learning outcomes and competences


By the end of the semester the student should be able to describe and formalize the essential concepts of each paradigms, as well as understand the tools and methods necessary for develop new programming languages.

Working method

Presencial

Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Computational Logic, Models of computation, Imperative , Logic, and Functional programming languages

Program

Introduction to the different programming paradigms. Syntax, semantics and implementation of languages. Transition systems
Imperative programming:
General concepts: variables, assignment, control commands, blocks
Operational semantics: abstract machines, estrutural operational semantics
Functional programming:
General concepts: function definition, recursion
Type systems
Operational semantics
Logic programming:
General concepts: terms, predicates, clauses
Herbrand Universe; Operational and denotational semantics

Mandatory literature

Hanne Riis Nielson; Semantics with applications. ISBN: 978-1-84628-691-9
Maribel Fernández; Programming languages and operational semantics. ISBN: 0-9543006-3-7

Complementary Bibliography

Thérèse Hardin, Mathieu Jaume, François Pessaux, Véronique Viguié Donzeau-Gouge; Concepts and Semantics of Programming Languages: a semantical approach with Python and Ocaml , Wiley, 2021. ISBN: 9781786305305
Flemming Nielson; Formal methods. ISBN: 978-3-030-05156-3 (Ebook)
Robert W. Sebesta; Concepts of Programming Languages, Pearson, 2018. ISBN: 9780135102268
Kent D. Lee; Foundations of Programming Languages, Springer, 2017. ISBN: 978-3-319-70789-1
Richard Bird; Introduction to functional programming using Haskell. ISBN: 978-0-13-484346-9 pbk

Teaching methods and learning activities

Lectures and  lab classes for problem solving and case studies. Distributed evaluation without final examination . Two tests with weight 50%.


Assignments are proposed about all topics of the syllabus. Some practical projects can be also proposed during the course, Midterm and final examinations allow the assessment that the main learning outcomes are attained.

Software

Linguagem Prolog
Linguagem Haskell
Programming Languages Zoo (http://plzoo.andrej.com)

Evaluation Type

Distributed evaluation without final exam

Assessment Components

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

Amount of time allocated to each course unit

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

Eligibility for exams


Presence at 3/4 of the pratical classes

Calculation formula of final grade

Students are required a minumum of 6 (out of 20) in each test.
The date for the first test is in the middle of the first semester and the second is the one set for the regular exam.The final grade (MT - midterm test, FE - final exam)
F = MT*(0.5) + FE*(0.5)
MT,FE >= 6 e F >= 9.5


Examinations or Special Assignments

Practical assignment up to 3/20.

Classification improvement

Students can take the resit exam to raise their grade.
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-10-06 at 18:16:07 | Acceptable Use Policy | Data Protection Policy | Complaint Portal