30h Th, 25h Pr, 15h Proj.
Number of credits
Language(s) of instruction
Organisation and examination
Teaching in the second semester
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)
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 and a homework, oral examination in June. In September, oral examination only.
Pascal Gribomont <email@example.com> Jean-Michel Begon <firstname.lastname@example.org>