Study Programmes 2022-2023
WARNING : 2021-2022 version of the course specifications
INCM0001-1  
Multi-Paradigm Languages
  • Functional Programming
  • Python
Duration :
Functional Programming : 12h Pr
Python : 12h Th, 24h Pr
Number of credits :
Bachelor's degree in Business informatics4
Lecturer :
Functional Programming : Isabelle Dony
Python : Vincent Spies
Coordinator :
Vincent Spies
Language(s) of instruction :
French language
Organisation and examination :
Teaching in the first semester, review in January
Units courses prerequisite and corequisite :
Prerequisite or corequisite units are presented within each program
Learning unit contents :
Functional Programming
  • Les types, les opérations et les valeurs
  • Les listes en compréhension
  • Les fonctions du premier ordre (fonctions récursives, mutuellement récursives, récursivité terminale)
  • Le pattern matching
  • Les fonctions sur les listes
  • Les fonctions d'ordre supérieur
  • Les fonctions curryfiées/non curryfiées
  • Les compositions de fonctions
  • L'évaluation paresseuse
  • Les listes infinies
Python
Cours destiné à l'apprentissage du langage Python 3.


  • Manipulation de variables
  • Contrôle du flux d'exécution
  • Les répétitives
  • Les types de données
  • Les fonctions builtins
  • Définition de fonctions
  • Manipulation de fichiers
  • Structures listes, tuples et set
  • L'orienté objet avec python
  • Les décorateurs
  • Web scraping
  • Programmation asynchrone et concurrentielle
  • Base de données embarquée
  • Application web simple
  • Automatisation de tâches
  • Jeu avec pygame
  • bot discord
  • Constructions minecraft
  • Génération de facturiers
Learning outcomes of the learning unit :
Functional Programming
Ce cours initiera l'étudiant au langage Haskell, langage fonctionnel. Il permettra à l'étudiant de découvrir ce paradigme et d'appliquer des concepts plus mathématiques.
- en termes de savoirs
L'étudiant devra connaître les notions fondamentales de Haskell. Il pourra apprécier ce qu'est un langage de programmation fonctionnelle et pourra comparer avec les autres paradigmes. (Compétence : concevoir et implémenter des algorithmes répondant à des spécifications et des fonctionnalités données...)
 - en termes de savoir-faire
Implémenter des algorithmes en Haskell. (compétence : concevoir et implémenter des algorithmes répondant à des spécifications et des fonctionnalités données...
Modéliser un problème. (compétence : Concevoir et implémenter un ensemble structuré de données)
Documenter son travail
Valider ses algorithmes. (Compétence : mettre en œuvre un processus de validation) 
- en termes de savoir-être/devenir
Rendre les travaux en respectant les différentes consignes. (Compétences : Evaluer la charge et la durée de travail liée à une tâche, Planifier son travail, respecter les délais prévus, suivre un protocole méthodologique précis.)
Fournir des codes lisibles et documentés. (Compétence : documenter son travail afin d'en permettre la traçabilité)
Prerequisite knowledge and skills :
Planned learning activities and teaching methods :
Functional Programming
présentiel + travail à la maison
si les condtions sanitaires ne permettent pas le présentiel, le cours se donnera à distance,  en visioconférence (via discord)
toute activité organisée durant le quadrimestre (par exemple une conférence), non dispensée par l'enseignant, et qui est en rapport avec la matière de l'activité d'apprentissage, compte dans les heures de ladite activité d'apprentissage. La matière abordée par l'activité en question pourra faire l'objet d'une évaluation, quelle soit continue ou certificative.
Mode of delivery (face to face, distance learning, hybrid learning) :
Functional Programming
présentiel ou à distance selon les conditions (via discord ou teams)
Python
Toute activité organisée durant le quadrimestre (par exemple une conférence), non dispensée par l'enseignant, et qui est en rapport avec la matière de l'activité d'apprentissage, compte dans les heures de ladite activité d'apprentissage. La matière abordée par l'activité en question pourra faire l'objet d'une évaluation, quelle soit continue ou certificative.
Recommended or required readings :
Python
Syllabus et exercices corrigés en cours. Les supports de cours sont publiés uniquement sur la plateforme pédagogique moodle de l'école.
Assessment methods and criteria :
Not available
Functional Programming
L'examen se fait sur PC avec une session vierge sans accès internet ( ou l'examen se fait sur papier si souci technique) 
Si les conditions ne permettent pas de faire l'examen en présentiel, l'examen sera écrit suivi d'une défense orale en visioconférence.
L'étudiant devra se préparer  à toutes les éventualités.
Python
Évaluation certificative individuelle écrite en janvier, devant PC, à cours ouvert et avec accès internet, représentant 100% de la note finale. Les étudiants doivent se munir de leur portable (un problème matériel doit être signalé 3 jours avant l'examen). Les modalités d'évaluation sont identiques en seconde session.
Work placement(s) :
Organizational remarks :
Contacts :