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

Functional Programming

Code: CC116     Acronym: CC116

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2013/2014 - 2S

Active? Yes
Web Page: http://www.dcc.fc.up.pt/~pbv/aulas/pf
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:AST 0 Plano de Estudos a partir de 2008 1 - 7,5 70 202,5
L:CC 66 Plano de estudos de 2008 até 2013/14 1 - 7,5 70 202,5
MI:ERS 155 Plano de Estudos a partir de 2007 1 - 7,5 70 202,5

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

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 100,00
Participação presencial 0,00
Total: 100,00

Eligibility for exams

Attendence to 3/4 of practical classes.

Calculation formula of final grade

Student mark is given as the average of two written tests taken during the semester or by a final written exam.

Examinations or Special Assignments

Two written tests conducted in classes.

Special assessment (TE, DA, ...)

N/A

Classification improvement

Students can improve the mark obtained on the semester tests only in the appeal exam.

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-02 at 19:21:41 | Acceptable Use Policy | Data Protection Policy | Complaint Portal