Code: | CC1005 | Acronym: | CC1005 | Level: | 100 |
Keywords | |
---|---|
Classification | Keyword |
OFICIAL | Computer Science |
Active? | Yes |
Web Page: | http://www.dcc.fc.up.pt/~sandra/Home/PF1516.html |
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:CC | 75 | Plano de estudos a partir de 2014 | 1 | - | 6 | 56 | 162 |
MI:ERS | 145 | Plano Oficial desde ano letivo 2014 | 1 | - | 6 | 56 | 162 |
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 (%) |
---|---|
Teste | 100,00 |
Total: | 100,00 |
First test (50% of the final mark).
Second test (50% of the final mark).
If FT is the mark obtained in the first test and ST the mark
obtained in the second, then the final mark is given by:
F = FT*(0.5) + ST*(0.5)
FT,ST >= 6 and F >= 9.5
To get approval in the distributed evaluation, students must obtain a minimum of 6 points (in a total of 20) in each test and a minimum of 9.5 as final mark.
The students not obtaining approval, can take a resit exam, with a weight of 100% of the final mark.
N/A