Code: | CC116 | Acronym: | CC116 |
Keywords | |
---|---|
Classification | Keyword |
OFICIAL | Computer Science |
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 |
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 |
Introduction to functional programming using the Haskell language.
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.
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.
Lectures using whiteboard and overhead projection. Practical classes on computer labs.
designation | Weight (%) |
---|---|
Exame | 100,00 |
Participação presencial | 0,00 |
Total: | 100,00 |
Attendence to 3/4 of practical classes.
Student mark is given as the average of two written tests taken during the semester or by a final written exam.
Two written tests conducted in classes.
N/A
Students can improve the mark obtained on the semester tests only in the appeal exam.