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

Implementation of Programming Languages

Code: CC444     Acronym: CC444

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2010/2011 - 2S

Active? Yes
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 3 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

Introduce students to the theoretical and practical concepts related to the design and implementation of functional and logic languages.

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

000001855. ISBN: 0-13-453325-9
000000122. ISBN: 0-262-01123-9

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Description Type Time (hours) Weight (%) End date
Attendance (estimated) Participação presencial 67,50
Total: - 0,00

Eligibility for exams

Students are required to assist a minimum of 3/4 of practical classes.

Calculation formula of final grade

Students are assessed by their performance in the following components:

1) Two practical assignments worth 4 points each out of 20.
2) Written examination: 12 points out of 20.

Furthermore, students are required to have at least 40% in the written examination.
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 11:03:01 | Acceptable Use Policy | Data Protection Policy | Complaint Portal