Programme des cours 2023-2024
INCM0001-2  
Langages multi-paradigme
  • Programmation fonctionnelle
  • Python
Durée :
Programmation fonctionnelle : 12h Pr
Python : 12h Pr
Nombre de crédits :
Bachelier en informatique, orientation développement d'applications4
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


 - 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é)
Savoirs et compétences prérequis :
Activités d'apprentissage prévues et méthodes d'enseignement :
Programmation fonctionnelle
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 d'enseignement (présentiel, à distance, hybride) :
Programmation fonctionnelle
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.
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 :
L'AA «Programmation fonctionnelle» a pour objectif de faire acquérir des compétences liées à l'utilisation du paradigme fonctionnel chez l'étudiant. L'AA python quant-à elle est focalisée sur l'utilisation du langage python pour résoudre des problèmes concrets, et faire acquérir, entre autres, la compétence de savoir faire le bon choix dans le paradigme utilisé pour résoudre un problème (itératif, orienté-objet ou fonctionnel).

Les deux AA visent des compétences complémentaires pas mais identiques, c'est pourquoi elle font bien partie du même module, mais font l'objet chacune 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) 
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 100% de la note finale.
Stage(s) :
Remarques organisationnelles :
Contacts :