2017-2018 / INFO0054-1

Programmation fonctionnelle

Durée

30h Th, 25h Pr, 15h Proj.

Nombre de crédits

 Bachelier en sciences de l'ingénieur, orientation ingénieur civil5 crédits 
 Bachelier en sciences informatiques5 crédits 
 Master en science des données, à finalité5 crédits 
 Master : ingénieur civil en informatique, à finalité5 crédits 
 Master : ingénieur civil en science des données, à finalité5 crédits 
 Master en sciences informatiques, à finalité5 crédits 
 Master en sciences informatiques6 crédits 
 Bachelier en sciences mathématiques6 crédits 
 Master en sciences mathématiques, à finalité6 crédits 
 Master en sciences mathématiques8 crédits 

Enseignant

Pascal Gribomont

Langue(s) de l'unité d'enseignement

Langue française

Organisation et évaluation

Enseignement au deuxième quadrimestre

Unités d'enseignement prérequises et corequises

Les unités prérequises ou corequises sont présentées au sein de chaque programme

Contenus de l'unité d'enseignement

Introduction générale aux notions de fonction et de procédure. Techniques de définition de fonction. Structures de données. Définition récursive de fonction, lambda-expression, lambda-calcul et programmation fonctionnelle. Récursion structurelle. Principes généraux d'induction et techniques de raisonnement associées. Comparaison : style fonctionnel et style impératif; récursion et itération. Abstraction procédurale. Objets de "première classe". Quelques techniques spéciales. Exercices: conception et réalisation de programmes, utilisation d'algorithmes classiques. On utilise le langage Scheme.

Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement

Ecrire des programmes fonctionnels de bonne qualité et bien documentés. Utiliser le paradigme fonctionnel pour résoudre des problèmes variés. Reconnaître les situations dans lesquelles l'approche fonctionnelle est plus avantageuse que l'approche impérative.

Savoirs et compétences prérequis

Cours MATH et INFO du bloc 1.
A titre transitoire (changement de programme), l'admissibilité des étudiants du bachelier en sciences informatiques n'ayant pas validé tous les crédits MATH du bloc 1 est déterminée individuellement.

Activités d'apprentissage prévues et méthodes d'enseignement

Exposés théoriques et séances d'exercices hebdomadaires.

Mode d'enseignement (présentiel ; enseignement à distance)

2nd quadrimestre, le jeudi à 8h30 (B28, local R7).

Lectures recommandées ou obligatoires et notes de cours

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

Modalités d'évaluation et critères

Trois interrogations écrites et un travail, un examen oral en juin. En septembre, examen oral seulement.

Stage(s)

Remarques organisationnelles

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>