Durée
24h Th, 24h Pr, 20h Proj.
Nombre de crédits
Enseignant
Langue(s) de l'unité d'enseignement
Langue française
Organisation et évaluation
Enseignement au premier quadrimestre, examen en janvier
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 à la programmation fonctionnelle. Les sujets incluent (par ordre alphabétique):
- Approches fonctionnelles des états, gestion des erreurs, ...
- Classes de types
- Foncteurs
- Fonctions d'ordre supérieur
- Monades
- Monoïdes
- Récursion vs itération
- Récursion structurelle
- Raisonnement équationnel
- Types de données algébriques : nombres, tuples, listes, ...
Le langage Scala est utilisé.
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. Programmation orientée objet du bloc 2.
Activités d'apprentissage prévues et méthodes d'enseignement
Exposés théoriques et séances d'exercices hebdomadaires. En groupe de trois personnes, les étudiants réaliseront également un projet de programmation accompagné d'un rapport écrit.
Mode d'enseignement (présentiel, à distance, hybride)
Cours donné exclusivement en présentiel
Explications complémentaires:
Cours donné exclusivement en présentiel
Explications complémentaires:
Le cours est enseigné en français. Le livre et le matériel (y compris les diapositives) sont en anglais. Les tests et examens seront également disponibles en français. Les diapositives du cours contiendront des listes de traductions des concepts les plus importants.
Le matériel en anglais facilitera les étudiants internationaux d'étudier la matière de manière indépendante. Ces étudiants recevront également des tests et des examens en anglais.
Lectures recommandées ou obligatoires et notes de cours
Le cours est basé sur : Michael Pilquist, Rúnar Bjarnason, and Paul Chiusano, Functional Programming in Scala, 2nd Edition, Manning Publications.
Divers articles (Web) sont par ailleurs mis à disposition sur eCampus.
Modalités d'évaluation et critères
Examen(s) en session
Toutes sessions confondues
- En présentiel
évaluation écrite ( questions ouvertes )
Interrogation(s) hors session
Explications complémentaires:
Examen(s) en session
Toutes sessions confondues
- En présentiel
évaluation écrite ( questions ouvertes )
Travail à rendre - rapport
Interrogation(s) hors session
Explications complémentaires:
Deux interrogations, un projet, et un examen.
- Évaluation de la première interrogation (10%)
- Évaluation de la deuxième interrogation (10%)
- Évaluation du projet (30%)
- Examen écrit (50%)
- Les interrogations et l'examen écrit sont remplacé par un examen écrit comptant pour 70% de la note totale. Les étudiants dont la moyenne pondérée des interrogations et de l'examen est inférieure à 10/20 doivent repasser l'examen.
- Les étudiants qui n'ont pas obtenu au moins 10/20 pour leur projet peuvent soumettre à nouveau une version révisée de leur projet en août.
Stage(s)
Remarques organisationnelles et modifications principales apportées au cours
Tous les aspects organisationnels seront communiqués via eCampus.
Contacts
- Professeur: Christophe Debruyne