| INFO0054-1 | ||
| Functional programming | ||
|
Duration :
|
||
| 30h Th, 25h Pr, 15h Proj. | ||
|
Number of credits :
|
||
|
Lecturer :
|
||
| Pascal Gribomont | ||
|
Language(s) of instruction :
|
||
| French language | ||
|
Organisation and examination :
|
||
| Teaching in the second semester | ||
|
Units courses prerequisite and corequisite :
|
||
| Prerequisite or corequisite units are presented within each program | ||
|
Course 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 course :
|
||
| 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 :
|
||
| None. | ||
|
Planned learning activities and teaching methods :
|
||
| Weekly theoretical lectures and exercise sessions. | ||
|
Mode of delivery (face-to-face ; distance-learning) :
|
||
| 2nd quadrimester, Thursday at 8:30 (B28, local R7). | ||
|
Recommended or required readings :
|
||
| P. Gribomont, Eléments de programmation en Scheme, Dunod, Paris, 2000. | ||
|
Assessment methods and criteria :
|
||
| Three written exams (30%), homework (20%), oral examination in June (50%). In September, oral examination only (100%). | ||
|
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@ulg.ac.be> | ||