Study Programmes 2024-2025
INCM0001-2  
Multi-Paradigm Languages
  • Functional Programming
  • Python
Duration :
Functional Programming : 12h Pr
Python : 12h Pr
Number of credits :
Bachelier en informatique (P), orientation développement d'applications4
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


 - 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...

Apprécier ce qu'est un langage de programmation fonctionnelle et comparer avec les autres paradigmes. 

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

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 
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) 
Python
Évaluation certificative individuelle écrite en janvier, devant PC, à cours fermé et sans accès internet (mais avec accès à la documentation officielle de python), représentant 90% de la note finale. 10% pour l'évaluation continue. En seconde session, la note obtenue à l'évaluation continue est reportée, la pondération reste identique.
Work placement(s) :
Organizational remarks :
Contacts :
Functional Programming
isabelle.dony at hers.be