Durée
28h Th, 24h Pr, 15h Proj.
Nombre de crédits
Enseignant
Langue(s) de l'unité d'enseignement
Langue française
Organisation et évaluation
Enseignement au deuxième quadrimestre
Horaire
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.
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 à 8h00 (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 et un travail, un examen final en juin. En septembre, examen final 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>