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

Implementation of Programming Languages

Code: CC444     Acronym: CC444

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2013/2014 - 2S

Active? Yes
Web Page: http://www.dcc.fc.up.pt/~pbv/aulas/linguagens
Responsible unit: Department of Computer Science
Course/CS Responsible: Master's Degree in Network and Information Systems Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
M:CC 4 PE do Mestrado em Ciência de Computadores 1 - 7,5 67 202,5
MI:ERS 4 Plano de Estudos a partir de 2007 4 - 7,5 67 202,5

Teaching language

Portuguese

Objectives

Introduction to the design principles and implementation techniques of declarative programming languages.

Learning outcomes and competences

The students should acquire the following competences: understand the principles used to implement functional languages (such as Scheme, ML or Haskell) and logic languages (Prolog) on standard computer architectures, the technological problems associated with their design and the existing solutions.

Working method

Presencial

Program

Implementation of Functional languages:
Brief introduction to the lambda-calculus; definition of a toy functional language by extension of the lambda-calculus. Strict vs non-strict semantics. Call-by-value and call-by-name reduction strategies. Implementation of higher-order functions using closures. The SECD abstract machine.
Call-by-need evaluation and graph reduction. The STG abstract machine. Using Haskell as a meta-language for specifying interpreters and compilers for a minimal functional language.

Implementation of Logic Programming Languages:
SLD resolution and Prolog. The Warren's Abstract Machine (WAM): compilation, unification, execution stacks, environments, choice-points, backtracking and indexing. WAM extensions: tabling. The YapTab tabling system: basic execution model, table space, suspending/resuming the computation, compiling tabled predicates.

Mandatory literature

Ait-Kaci Hassan; Warren.s abstract machine. ISBN: 0-262-01123-9
000001855. ISBN: 0-13-453325-9
000075864. ISBN: 978-0-521-60764-3 pbk
000000122. ISBN: 0-262-01123-9

Teaching methods and learning activities

Lectures and practical classes with practical assignments.

Evaluation Type

Distributed evaluation with final exam

Assessment Components

designation Weight (%)
Exame 60,00
Trabalho laboratorial 40,00
Total: 100,00

Calculation formula of final grade

Students are assessed by their performance in the following components: (a) two practical assignments
worth 4 points each out of 20; (b) a written examination in the final of the semester worth 12 points out of 20.

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-11-04 at 08:13:47 | Acceptable Use Policy | Data Protection Policy | Complaint Portal