Programmation fonctionnelle et logique

  • Enseignement

    Détails

    Faculté Faculté des sciences et de médecine
    Domaine Informatique
    Code UE-SIN.05020
    Langues Français
    Type d'enseignement Cours
    Cursus Bachelor
    Semestre(s) SA-2024

    Titre

    Français Programmation fonctionnelle et logique
    Allemand Funktionale und logische Programmierung
    Anglais Functional and logical programming

    Horaires et salles

    Horaire résumé Vendredi 13:15 - 17:00, Hebdomadaire, PER 21, salle E130 (Semestre d'automne)
    Struct. des horaires 2+2h par semaine durant 14 semaines
    Heures de contact 56

    Enseignement

    Responsables
    • Lalanne Denis
    Enseignants
    • Luggen Michael
    Assistants
    • Martignoni Augustin
    Description

    La première partie du cours est consacrée à la programmation fonctionnelle qui vise à exprimer tout programme en terme de fonctions mathématiques. Les concepts de base de ce style de programmation, que sont les fonctions, la récursivité, les fonctions d'ordre supérieur et les fonctions anonymes, seront abordés et illustrés par des exercices pratiques avec la langage Elixir.
    La seconde partie du cours est consacrée au langage Prolog qui est le principal représentant du paradigme de la programmation logique. Ce style de programmation inspiré de la logique du premier ordre conçoit tout programme comme un ensemble de faits et de règles (clauses de Horn) décrivant la solution d'un problème. Outre l'étude des concepts de base de ce langage, cette seconde partie du cours sera également l'occasion d'introduire la programmation par contrainte (CSP) et l'analyse syntaxique (DCG), deux thèmes pour lesquels Prolog est particulièrement adapté.

    Chacune des deux parties sera accompagnée sur toute sa durée d'un mini-projet.

    Objectifs de formation Le but de ce cours est d'introduire les fondements de la programmation fonctionnelle et de la programmation logique.
    Commentaire

    Les unités d’enseignement se composent généralement de deux heures de cours et deux heures d’exercices par semaine. Nous vous prions de bien vouloir vous conformer aux délais d’inscriptions aux épreuves de la Faculté des sciences et de médecine.

    Softskills Non
    Hors domaine Non
    BeNeFri Oui
    Mobilité Oui
    UniPop Non
  • Dates et salles
    Date Heure Type d'enseignement Lieu
    20.09.2024 13:15 - 17:00 Cours PER 21, salle E130
    27.09.2024 13:15 - 17:00 Cours PER 21, salle E130
    04.10.2024 13:15 - 17:00 Cours PER 21, salle E130
    11.10.2024 13:15 - 17:00 Cours PER 21, salle E130
    18.10.2024 13:15 - 17:00 Cours PER 21, salle E130
    25.10.2024 13:15 - 17:00 Cours PER 21, salle E130
    08.11.2024 13:15 - 17:00 Cours PER 21, salle E130
    22.11.2024 13:15 - 17:00 Cours PER 21, salle E130
    29.11.2024 13:15 - 17:00 Cours PER 21, salle E130
    06.12.2024 13:15 - 17:00 Cours PER 21, salle E130
    13.12.2024 13:15 - 17:00 Cours PER 21, salle E130
    20.12.2024 13:15 - 17:00 Cours PER 21, salle E130
  • Modalités d'évaluation

    Examen écrit - SA-2024, Session d'hiver 2025

    Date 31.01.2025 14:00 - 16:00
    Mode d'évaluation Par note
    Description Selon modalité A de l'annexe du plan d'études en informatique
    Commentaire

    Open book exam

  • Affiliation
    Valable pour les plans d'études suivants:
    Ba - Informatique de gestion - 180 ECTS
    Version: 2020-SA_V02
    3ème année 60 ECTS > Cours de 3ème année > Cours à choix min. 14 ECTS > Cours à choix - Type A > Programmation fonctionnelle et logique

    Complément DEEM en informatique
    Version: 2022_1/V_01
    Complément DEEM pour Informatique 60 ou +30 > Programmes 60 ou +30 > Complément au programme Informatique 60 > Complément DEEM pour Informatique 60 (dès SA2020)

    Complément au MSc en Neurosciences digitales [MA]
    Version: 2023_1/V_01
    Complément au MSc en informatique > UE avancées en Informatique (niveau bachelor)

    Complément au MSc in Bioinformatics and Computational Biology [MA]
    Version: 2022_1/V_01
    Complément au MSc in Bioinformatics and Computational Biology > UE avancées en Informatique (niveau bachelor)

    Complément au MSc in Computer Science [MA]
    Version: 2022_1/V_01
    Complément au MSc en informatique > UE avancées en Informatique (niveau bachelor)

    Enseignement complémentaire en sciences
    Version: ens_compl_sciences
    Paquet indépendant des branches > UE avancées en Informatique (niveau bachelor)

    Informatique 120
    Version: 2022_1/V_01
    BSc en informatique, branche principale, 2-3ème années > Informatique 2e et 3e année, UE obligatoires (dès SA2021)

    Informatique 30
    Version: 2022_1/V_01
    Branche complémentaire en informatique 30 > Informatique br. compl. 30 ou 60 ECTS à choix (dès SA2019)

    Informatique 60
    Version: 2022_1/V_01
    Branche complémentaire en informatique 60 > Informatique br. compl. 30 ou 60 ECTS à choix (dès SA2019)

    Informatique 50 [BSc/BA SI]
    Version: 2022_1/V_01
    BSc_SI/BA_SI, Informatique 50 ECTS, 1-3ème années > BSc_SI/BA_SI, Informatique, 2-3ème années, UE à choix pour 50 ECTS (dès SA2020)

    Informatique [3e cycle]
    Version: 2015_1/V_01
    Formation continue > UE avancées en Informatique (niveau bachelor)

    Informatique [DEEM] 60
    Version: 2022_1/V_01
    Branche complémentaire en informatique (DEEM) 60 > Informatique branche complémentaire DEEM 60 ECTS à choix (dès SA2021)

    Informatique [POST-DOC]
    Version: 2015_1/V_01
    Formation continue > UE avancées en Informatique (niveau bachelor)

    Préalable au Bioinformatique et biologie computationnelle [PRE-MA]
    Version: 2022_1/V_01
    Préalable au MSc in Bioinformatics and Computational Biology > UE avancées en Informatique (niveau bachelor)

    Préalable au MSc en Neurosciences digitales [PRE-MA]
    Version: 2023_1/V_01
    Préalable au MSc en Neurosciences digitales > UE avancées en Informatique (niveau bachelor)

    Préalable au MSc en informatique [PRE-MA]
    Version: 2022_1/V_01
    Préalable au MSc en informatique > UE avancées en Informatique (niveau bachelor)