2020-2021 / INFO0054-1

Functional programming

Duration

28h Th, 24h Pr, 15h Proj.

Number of credits

 Bachelor of Science (BSc) in Engineering5 crédits 
 Bachelor of Science (BSc) in Computer Science5 crédits 
 Bachelor in mathematics6 crédits 
 Master in mathematics (120 ECTS)6 crédits 
 Master in mathematics (60 ECTS)6 crédits 

Lecturer

Pascal Gribomont

Language(s) of instruction

French language

Organisation and examination

Teaching in the second semester

Schedule

Schedule online

Units courses prerequisite and corequisite

Prerequisite or corequisite units are presented within each program

Learning unit contents

General introduction to functions and procedures. Function definition techniques. Data structures. Recursive definitions, lambda-expression, lambda-calculus and functional programming. Structural recursion. Program schemes. Functional programming vs imperative programming. Recursion vs interation. Procedural abstraction. First class object. Special techniques, continuation passing style. Programming exercises. The language Scheme is used.

Learning outcomes of the learning unit

Writing good functional programs, with adequate documentation. Using the functional programming paradigm to solve various problems. Determining when the functional approach is more convenient than the imperative, command-based approach.

Prerequisite knowledge and skills

Basic knowledge in programming and mathematics.

Planned learning activities and teaching methods

Weekly theoretical lectures and exercise sessions.

Mode of delivery (face to face, distance learning, hybrid learning)

2nd quadrimester, face-to-face.

Organisational adjustments related to the current health context

. . .

Recommended or required readings

P. Gribomont, Eléments de programmation en Scheme, Dunod, Paris, 2000.

Assessment methods and criteria

Below you will find information on the evaluation methods planned for in-person and remote exams as well as those planned for hybrid sessions. Depending on how the health crisis evolves, the chosen method will be communicated to you no later than one month before the start of the exam session.

Any session :

- In-person

written exam ( open-ended questions )

- Remote

written exam ( open-ended questions )

- If evaluation in "hybrid"

preferred in-person


Additional information:

Three partial exams and a homework, a second-chance partial exam in June, for students whose average is less than 10/20 only.
Second session only: final examination.

Work placement(s)

Organizational remarks

http://www.montefiore.ulg.ac.be/~gribomon/cours/cours.html

Contacts

Pascal Gribomont <gribomont@montefiore.ulg.ac.be> Jean-Michel Begon <jm.begon@uliege.be>