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

Functional Programming

Code: CC1005     Acronym: CC1005     Level: 100

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2014/2015 - 2S

Active? Yes
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 61 Plano de estudos a partir de 2014 1 - 6 56 162
MI:ERS 136 Plano Oficial desde ano letivo 2014 1 - 6 56 162
Mais informaçõesLast updated on 2015-04-30.

Fields changed: Calculation formula of final grade, Componentes de Avaliação e Ocupação, Tipo de avaliação

Teaching language

Portuguese

Objectives

Introduction to functional programming using the Haskell language.

Learning outcomes and competences

After this course the student should be able to: 1. define functions using equations and patterns; 2. implement simple recursive algorithms over lists and trees; 3. define new algebraic data types for encoding data; 4. compose programming problems using higher-order functions and lazy evaluation; 5. prove elementary properties of programs using equational theory and induction.

Working method

Presencial

Program

Expressions, values and basic types. Defining simple functions; function types. Step by step evaluation using substitution. Compound types: lists and tuples. Some list functions of the standard prelude. Comprehension notation for lists. Recursive definitions. Parametric polymorphism. Higher-order functions. Writting interactive programs using the I/O monad. Defining new concrete data types. Case-study: binary search trees. Abstract types: stacks, queues, sets. Specification using equations and implementation using modules. Type classes and operator overloading. Reasoning about programs using equational theory and induction.

Mandatory literature

000097840. ISBN: 9780521692694
Thompson Simon; Haskell. ISBN: 978-0-201-40357-2 pbk

Complementary Bibliography

000001475. ISBN: 0-13-484197-2

Teaching methods and learning activities

Lectures using whiteboard and overhead projection. Practical classes on computer labs.

Evaluation Type

Distributed evaluation with final exam

Assessment Components

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

Calculation formula of final grade

Student mark is given as the average of two written tests. The extra exam may replace the mark of the worst test.

Examinations or Special Assignments

Two written tests.

Special assessment (TE, DA, ...)

N/A

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-16 at 15:34:45 | Acceptable Use Policy | Data Protection Policy | Complaint Portal