Algorithmes et langages. Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ

Documents pareils
Évaluation et implémentation des langages

M Études et développement informatique

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours 1 : Qu est-ce que la programmation?

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

May Lopez PETIT COUTEAU SUISSE CRÉATIF. May Lopez Petit couteau suisse créatif

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

INFORMATIQUE : LOGICIELS TABLEUR ET GESTIONNAIRE DE BASES DE DONNEES

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

utiliser un Macintosh dans la classe

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Nom de l application

Cours 1 : La compilation

CRT Nord - Centre de Ressources Technologiques Programmes de 5 ème : «HABITAT et OUVRAGES»

Dossier d autorisation à mettre en oeuvre le C2i2e

Intelligence Inventive & Mapping des réseaux de Recherche. Expernova & Active Innovation Management GFII 5 Mars 2015

Master Information et communication spécialité Produits et services multimédia

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

UE Programmation Impérative Licence 2ème Année

Préparation à l examen EFA en Macro

Le génie logiciel. maintenance de logiciels.

Workflow/DataWarehouse/DataMining LORIA - Université d automne Informatique décisionnelle - L. Mirtain 1

Éléments de programmation et introduction à Java

Logiciel Libre Cours 2 Fondements: Programmation

MapReduce. Nicolas Dugué M2 MIAGE Systèmes d information répartis

PRESENTATION GENERALE

Machines virtuelles Cours 1 : Introduction

Informatique et sciences du numérique

Consulting & Knowledge Management. Résumé :

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

ITIL V2. La gestion des incidents

M Études et développement informatique

Introduction aux concepts d ez Publish

Dossier de presse. Août Le Grain de Web : le webmarketing à la portée de tous p 1. Témoignage client de Mélanie Robilliard p 2

Chapitre 1 Qu est-ce qu une expression régulière?

Quelques algorithmes simples dont l analyse n est pas si simple

Intelligence Artificielle et Robotique

Z i e d Z a i e r ( )

Environnements et Outils de Développement Cours 1 Introduction

DEVIS CONCEPTION SITE INTERNET

7. ECONOMIE 7.3. COMMERCE GESTIONNAIRE DE TRES PETITES ENTREPRISES

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Équipe Académique Mathématiques

Master (filière Réseau) Parcours Recherche: Systèmes Informatiques et Réseaux (RTS)

Cours de Master Recherche

Conventions d écriture et outils de mise au point

OMGL6 Dossier de Spécifications

Bases de données cours 1

Synthèse «Le Plus Grand Produit»

Mise en place à L EPARC d un système de communication informatisé entre les restaurants scolaires et la cuisine centrale.

Développement d'applications pour le référencement d'un site web et pour la gestion de campagnes de mails

Consignes pour les travaux d actualité Premier quadrimestre

Semestre 1. Objectifs Approfondissement de l environnement Java et de son interface de programmation d applications : réseaux, et processus.

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

ALGORITHMIQUE ET PROGRAMMATION En C

Logiciel SCRATCH FICHE 02

Toute personne souhaitant maîtriser les techniques liées à la conception de produits multimédia et à la création de sites Web.

BTS SYSTEMES ELECTRONIQUES

Ressources pour le lycée général et technologique

CONVENTION DE MISE EN PLACE D UNE MINI-ENTREPRISE EPA ANNEE SCOLAIRE LYCEES CFA - MFR

UE5 Mise en situation professionnelle M1 et M2. Note de cadrage Master MEEF enseignement Mention second degré

CONNAISSANCES DE GESTION DE BASE

Démarche «Bien manger au restaurant scolaire»

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

activités périscolaires

SIMULER ET CONCEVOIR LE TRAVAIL FUTUR

P R E S E N T A T I O N E T E V A L U A T I O N P R O G R A M M E D E P R E V E N T I O N «P A R L E R»

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Améliorer les performances du site par l'utilisation de techniques de Web Mining

Evaluation et analyse de la fréquentation d un site

Chapitre 1 : Introduction aux bases de données

Le programme d examens du Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe 19 domaines du génie.

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

Probabilités Loi binomiale Exercices corrigés

Passeport pour ma réussite : Mentorat Vivez comme si vous mourrez demain. Apprenez comme si vous vivrez éternellement Gandhi

TERMES DE REFERENCE POUR PRESTATAIRE INDIVIDUEL ET CONSULTANT

eframe pour optimiser les reportings métiers et réglementaires

N Contenu Dates. N Contenu Date 1 Dates 2

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Alexandru V. Vlad RADIAN Solution Architect, Lead IT developer

Présentation et portée du cours : CCNA Exploration v4.0

EXAMEN CRITIQUE D UN DOSSIER TECHNIQUE

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

BES WEBDEVELOPER ACTIVITÉ RÔLE

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

AIDE MEMOIRE. Forprev. De l habilitation à la gestion de sessions. Page 1 sur 55

Créer le schéma relationnel d une base de données ACCESS

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Marché n Refonte globale du Fil du bilingue, le site des sections bilingues francophones dans le monde

CONNEXION. Une interface de connexion sécurisée, simple et accessible même depuis un appareil mobile. CONNEXION /

Dématérialisation fiscale des factures

Entraînement au concours ACM-ICPC

FICHE PEDAGOGIQUE. Questions à poser. - Avant de démarrer l ordinateur,

Enseignement secondaire technique

IFT2255 : Génie logiciel

Objectifs quantitatifs : Générer des flux prospectifs Développer les admissions parallèles

Transcription:

Algorithmes et langages Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ Avril 2015

Algorithmes Retour sur les mises en situation: l expression d un algorithme (objets en Lego) les problèmes de tri (crêpier) et de routage (baseball) Difficulté d exprimer sans ambiguïté un procédé de résolution d un problème Nécessite une «mécanisation» du processus de résolution à partir d un nombre restreint d opérations

Algorithme & langages Comment exprimer la résolution automatisée d un problème? Le langage naturel est ambigu et les machines ne disposent que de primitives très simples Algorithme = description formalisée d un processus automatisé de résolution d un problème donné Langage = grammaire formelle permettant l expression d un programme transformable en un code interprétable par une machine

Du problème à l algorithme Plusieurs étapes pour aboutir à l algorithme: Compréhension du problème à résoudre (exemple) Recherche d un procédé (général!) de résolution Description détaillée de ce procédé de résolution avec un ensemble restreint de «mots» Vérification de la validité de l algorithme sur différents jeux de données Loin d être simple mais c est tout l intérêt ;)

Langages informatiques Comment structurer les données et les traitements lorsque les algorithmes ou systèmes à réaliser deviennent complexes? Plusieurs manières de modéliser le monde :) Programmation impérative/structurée Programmation orientée objets Programmation fonctionnelle Programmation logique

Programmation impérative Métaphore de la «recette de cuisine» L algorithme décrit une séquence d instructions transformant les données pour aboutir au résultat Organisation de la complexité grace aux sousprogramme et modules Typiquement: C, Pascal, BASIC, assembleur

Programmation orientée objets Métaphore de la taxonomie: Regroupement de l état (données) et du comportement (traitements) au sein d un objet Relation est-un (héritage) et constitué-de (agrégation) Organisation de la complexité par des classes (le plus souvent) Langages: smalltalk, C++, Java, C#,

Programmation fonctionnelle Métaphore programmer par composition de fonctions? Concepts: fonction et liste, récursivité, immutabilité La référence: LISP (J. Mc Carthy) Revient en force avec l explosion du parallélisme (avec erlang par exemple) Langages: LISP, Scheme, Haskell, JavaScript, OCaml

Programmation logique Métaphore de l intelligence artificielle :) Principe: modélisation de faits et description de règles, ensuite un moteur de déduction tente de résoudre votre problème! Exemple classique: placement des 8 reines Langages: Prolog, Datalog, Oz,

Algorithmes & langages Lego/crêpier/base-ball: illustration du processus de résolution et de la difficulté de son expression de manière non ambigu Importance de la compréhension du travail de filtrage des informations du problème et du jeu d instructions disponible pour exprimer l algorithme Possibilité d expérimenter la construction d algorithme dans des environnements plus simple que les langages évoqués avant: LOGO ou Scratch

Le jeu dont vous êtes le héros Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ Avril 2015

Initiation à l algorithmique Objectif: démystifier l ordinateur en initiant de jeunes enfants à l algorithmique Contexte: création d un jeu de société Notions mobilisées: représentation dans l espace (positionnement relatif/absolu), instruction, séquence d instruction, exécution, validité, alternative (voire répétition) et créativité :) Expérience réalisée dans le cadre d un TAP à V.A.

Jeu dont vous êtes le héros Activité de création d un jeu de société: construction d un plateau (grille 2D) cartes pour les entités (héros, obstacles, objectif) cartes pour les ordres (instructions) Support à la création d algorithme de déplacement du héros sur le plateau

Progression pédagogique Séance 1: création des éléments du jeu Séance 2: séquence, exécution, déplacements simples Séance 3: notion de condition (pas alternative) + positionnement relatif (jeu de rôle) Séance 4: notion de répétition Séance 5: notion de fonction

Observations Curiosité et intérêt des enfants pour ce «jeu» Importance de l aspect créatif et du jeu de rôle Notion de répétition: pas si simple :) Différences importantes entre CE2 et CM2! Difficulté de gestion d un groupe de 11 élèves dans un cadre non scolaire Expérience terriblement enrichissante pour tous :)