Programme des cours 2022-2023
ATTENTION : version 2021-2022 de l'engagement pédagogique
INCM0001-1  
Langages multi-paradigme
  • Programmation fonctionnelle
  • Python
Durée :
Programmation fonctionnelle : 12h Pr
Python : 12h Th, 24h Pr
Nombre de crédits :
Bachelier en informatique de gestion4
Nom du professeur :
Programmation fonctionnelle : Isabelle Dony
Python : Vincent Spies
Coordinateur(s) :
Vincent Spies
Langue(s) de l'unité d'enseignement :
Langue française
Organisation et évaluation :
Enseignement au premier quadrimestre, examen en janvier
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 :
Programmation fonctionnelle
  • 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
Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement :
Programmation fonctionnelle
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é)
Savoirs et compétences prérequis :
Activités d'apprentissage prévues et méthodes d'enseignement :
Programmation fonctionnelle
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 d'enseignement (présentiel, à distance, hybride) :
Programmation fonctionnelle
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.
Lectures recommandées ou obligatoires et notes de cours :
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.
Modalités d'évaluation et critères :
Chaque AA fera l'objet d'une évaluation individuelle.
Programmation fonctionnelle
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.
Stage(s) :
Remarques organisationnelles :
Contacts :