Projet de programme d informatique en BCPST

Documents pareils
Programmes des classes préparatoires aux Grandes Ecoles

L informatique en BCPST

SOCLE COMMUN: LA CULTURE SCIENTIFIQUE ET TECHNOLOGIQUE. alain salvadori IA IPR Sciences de la vie et de la Terre ALAIN SALVADORI IA-IPR SVT

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

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Introduction à l informatique en BCPST

Spécialité auxiliaire en prothèse dentaire du brevet d études professionnelles. ANNEXE IIb DEFINITION DES EPREUVES

6 ème FONCTIONS. Pratiquer une démarche scientifique et technologique. Capacités

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Indications pour une progression au CM1 et au CM2

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

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

OPTION SCIENCES BELLE-ISLE-EN-TERRE

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

MASTER PROFESSIONNEL

Introduction à MATLAB R

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Synthèse «Le Plus Grand Produit»

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Programmes des classes préparatoires aux Grandes Ecoles

Formation Excel, Niveau initiation, module 1 DUREE DE LA FORMATION OBJECTIFS DE LA FORMATION

FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc)

NOM : Prénom : Date de naissance : Ecole : CM2 Palier 2

Rappels Entrées -Sorties

Cours 1 : La compilation

Algorithme. Table des matières

LA BATTERIE DU PORTABLE

Projet de programme pour l enseignement d exploration de la classe de 2 nde : Informatique et création numérique

Enseignement secondaire technique

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

STAGE IREM 0- Premiers pas en Python

Cours Informatique Master STEP

1 Recherche en table par balayage

Lecture critique et pratique de la médecine

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Introduction au langage C

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

NOS FORMATIONS EN BUREAUTIQUE

Python - introduction à la programmation et calcul scientifique

données en connaissance et en actions?

Annexe commune aux séries ES, L et S : boîtes et quantiles

Présentation du programme. de physique-chimie. de Terminale S. applicable en septembre 2012

TP 1. Prise en main du langage Python

ITIL Gestion de la capacité

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Modélisation aléatoire en fiabilité des logiciels

MASTER RECHERCHE MEDIATIONS DES SCIENCES. Mention HISTOIRE, PHILOSOPHIE ET. Histoire et Philosophie des Sciences. Année 2007/2008

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU

BES WEBDEVELOPER ACTIVITÉ RÔLE

Sciences de Gestion Spécialité : GESTION ET FINANCE

ELEMENTS DE BUREAUTIQUE

LES REPRESENTATIONS DES NOMBRES

Représentation d un entier en base b

Chap III : Les tableaux

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Les nouveaux programmes de l él. école primaire. Projet soumis à consultation

Les formations de remise à niveau(!) l'entrée des licences scientifiques. Patrick Frétigné CIIU

Corrigé des TD 1 à 5

Réaliser la fiche de lecture du document distribué en suivant les différentes étapes de la méthodologie (consulter le support du TD!

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

Attestation de maîtrise des connaissances et compétences au cours moyen deuxième année

Mobilité et flexibilité : Orientation progressive, restructuration des cursus etc... Semestrialisation et découpage en crédits capitalisables.

Initiation à l algorithmique

RÉSUMÉ DES NORMES ET MODALITÉS D ÉVALUATION AU SECONDAIRE

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

Explications des items d'obii pour la validation du B2I

Rappels sur les suites - Algorithme

Définitions. Numéro à préciser. (Durée : )

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

RÉSULTAT DISCIPLINAIRE RÈGLE DE RÉUSSITE DISCIPLINAIRE Programme de formation de l école québécoise Secondaire - 1 er cycle

INFORMATIQUE : LOGICIELS TABLEUR ET GESTIONNAIRE DE BASES DE DONNEES

LES DECIMALES DE π BERNARD EGGER

Mathcad Ces capacités font de Mathcad l outil de calcul technique le plus utilisé au monde.

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Classe de première L

Présentation du PL/SQL

Unix/Linux I. 1 ere année DUT. Université marne la vallée

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

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

NOTE DE POSITIONNEMENT EGF.BTP SUR LA NUMERISATION DE LA FILIERE BATIMENT

AP 2nde G.T : «Organiser l information de manière visuelle et créative»

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

BACCALAURÉAT PROFESSIONNEL ÉPREUVE DE MATHEMATIQUES. EXEMPLE DE SUJET n 2

Faculté des Sciences Mathématiques, Physiques et Naturelles de Tunis

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

!-.!#- $'( 1&) &) (,' &*- %,!

Stages ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

Conditions pour devenir un auditeur CanadaGAP

LIVRET PERSONNEL DE COMPÉTENCES

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

Évaluation et implémentation des langages

Formation Excel. Introduction Les Bases du Logiciel Le comportement des cellules. Calculs élaborés. Les feuilles de calculs élaborées

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

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

Transcription:

Projet de programme d informatique en BCPST 1 / Objectifs de formation 1.1 / Généralités L enseignement de l informatique en classes préparatoires de la filière BCPST a pour objectif d introduire puis de consolider les concepts de base de l informatique, à savoir l analyse et la conception de processus de raisonnement automatisé, c est-à-dire des algorithmes, et la question de la représentation des données. Aussi souvent que possible, on favorisera une contextualisation des thèmes informatiques étudiés en s appuyant sur les autres disciplines scientifiques : biologie, géologie, chimie, physique ou mathématiques. 1.2 / Compétences visées Cet enseignement doit permettre de développer les compétences suivantes : analyser et modéliser imaginer traduire spécifier évaluer, contrôler, valider communiquer un problème, une situation, en lien avec les autres disciplines scientifiques une solution modulaire, utilisant des méthodes de programmation, des structures de données appropriées pour le problème étudié un algorithme dans un langage de programmation rigoureusement les modules ou fonctions des algorithmes et des programmes à l écrit ou à l oral, une problématique, une solution ou un algorithme, une documentation. L étude et la maîtrise de quelques algorithmes fondamentaux, l utilisation de structures de données adaptées et l apprentissage de la syntaxe du langage de programmation choisi permettent de développer des méthodes (ou paradigmes) de programmation fiables et efficaces : programmation impérative, approche descendante, programmation structurée, utilisation de bibliothèques logicielles, notions élémentaires de complexité en temps ou en mémoire, documentation. La pratique régulière de la résolution de problèmes de nature algorithmique et des activités de programmation qui en résultent est un aspect essentiel de l apprentissage de l informatique. Il est souhaitable que les exemples choisis ainsi que certains exercices d application soient inspirés par les enseignements de biologie et géologie, de physique et chimie, ou de mathématiques. Le travail sur la documentation est également important, combinant la documentation des programmes lors de leur conception, en vue de leur réutilisation et possibles modifications ultérieures, avec la pratique raisonnée de la recherche d informations pertinentes dans les documentations en ligne décrivant les différents composants logiciels que les étudiants auront à manipuler. Enfin, les compétences acquises en informatique ont vocation à participer pleinement à l élaboration des travaux d initiative personnelle encadrée (T.I.P.E.) et à être réutilisées au sein des autres enseignements scientifiques. 25 octobre 2012 Projet de programme BCPST version 5, page 1/5

2 / Programme de première année (BCPST1) 2.1 / Organisation de cet enseignement L ordre de présentation des notions et situations présentées dans les parties 2.3 et 2.4 ci-dessous n est pas imposé. Il est d ailleurs recommandé de créer de nombreux liens entre algorithmique et programmation, tout en distinguant soigneusement ces deux domaines. Un temps introductif sera prévu : pour présenter et analyser les relations entre les principaux composants d une machine numérique telle que l ordinateur personnel ou un appareil photo numérique : sources d énergie, mémoire vive, mémoire de masse, processeur, périphériques d entrée-sortie, ports de communication avec d autres composants numériques (aucune connaissance particulière des composants cités n est exigible) ; pour présenter et faire manipuler un système d exploitation (essentiellement : arborescence de fichiers, droits d accès et de modification de ces derniers) ; et pour présenter et faire manipuler un environnement de développement. 2.2 / Outils employés L enseignement se fonde sur un environnement de programmation (langage et bibliothèques) basé sur un langage interprété largement répandu et à source libre. Au moment de la conception de ce programme, l environnement choisi est Python. Des textes réglementaires ultérieurs pourront mettre à jour ce choix en fonction des évolutions et des besoins. Les travaux pratiques conduiront à éditer et manipuler fréquemment des codes sources et des fichiers ; c est pourquoi un environnement de développement efficace doit être choisi et utilisé. Les étudiants doivent être familiarisés avec les tâches de création d un fichier source, d édition d un programme, de gestion des fichiers, d exécution et d interruption d un programme. L étude approfondie de ces divers outils et environnements n est pas une fin en soi et n est pas un attendu du programme. 2.3 / Programmation On insistera sur une organisation modulaire des programmes ainsi que sur la nécessité d une programmation structurée et parfaitement documentée. Contenus Capacités Commentaires Variables notion de type et de valeur d une variable, types simples. Expressions et instructions affectation, opérateurs usuels, notion d expression. Instructions conditionnelles expressions booléennes et opérateurs logiques simples, instruction if. Fonctions notion de fonction (au sens informatique), définition dans le langage utilisé, paramètres (ou arguments) et résultats, portée des variables. Instructions itératives boucles for, boucles conditionnelles while. Choisir un type de données en fonction d un problème à résoudre. Agencer des instructions conditionnelles avec alternatives, éventuellement imbriquées. Concevoir l entête (ou la spécification) d une fonction, puis la fonction elle-même ; documenter une fonction, un programme plus complexe. Organiser une itération, contrôler qu elle s achève. Les types simples présentés sont les entiers, flottants, booléens et chaînes de caractères. Les expressions considérées ont des valeurs numériques, booléennes ou de type chaîne de caractères. L ordre d évaluation n est pas un attendu du programme. On distingue les variables locales des variables globales, tout en valorisant l usage de variables locales. Les sorties de boucle (instruction break) peuvent être présentées à l occasion d exemples lorsqu elles contribuent notablement à simplifier la programmation. Projet de programme BCPST version 5, page 2/5 25 octobre 2012

Contenus (suite) Capacités Commentaires Manipulation de quelques structures de données chaînes de caractères (création, accès à un caractère, concaténation), listes (création, ajout d un élément, suppression d un élément, accès à un élément, extraction d une partie de liste), tableaux à une ou plusieurs dimensions. Fichiers notion de chemin d accès, lecture et écriture de données numériques ou de type chaîne de caractères depuis ou vers un fichier. Bibliothèques logicielles utilisation de quelques fonctions d une bibliothèque et de leur documentation en ligne. Traduire un algorithme dans un langage de programmation. Gérer efficacement et durablement une série de fichiers, une arborescence. Accéder à une bibliothèque logicielle ; rechercher une information au sein d une documentation en ligne. On met en évidence le fait que certaines opérations d apparence simple cachent un important travail pour le processeur On prépare les démarches qui vont suivre en introduisant la structure d image ponctuelle (ou bitmap) en niveaux de gris, assimilée à un tableau d entiers à deux dimensions. On encourage l utilisation de fichiers en tant que supports de données ou de résultats avant divers traitements, notamment graphiques. On met en évidence l intérêt de faire appel aux bibliothèques, évitant de devoir réinventer des solutions à des problèmes bien connus. La recherche des spécifications des bibliothèques joue un rôle essentiel pour le développement de solutions fiables aux problèmes posés. 2.4 / Algorithmique Cette partie rassemble un petit nombre d algorithmes classiques et d usage universel ; les attendus du programme se limitent en général à la compréhension et à l usage de ces algorithmes (éventuellement par appel à une fonction d une bibliothèque), sauf pour ceux dont la programmation effective doit être étudiée (signalés par un symbole ). Contenus Recherche dans une liste, recherche du maximum dans une liste de nombres, calcul de la moyenne, de la médiane. Recherche d un mot dans une chaîne de caractères. Algorithmes de tri d un tableau à une dimension de valeurs numériques : tri à bulles, tri par insertion. Exemples d algorithmes simples opérant sur une image ponctuelle en niveaux de gris. Simulation d une variable aléatoire prenant un nombre fini de valeurs. Commentaires On se limite à l algorithme «naïf», en estimant sa complexité. Le tri rapide sera évoquée en seconde année. Les algorithmes présentés sont du type «à balayage» et restent très simples : éclaircissement, accentuation du contraste, flou, accentuation de contours. On met en évidence l importance de tels algorithmes en les appliquant sur des images issues de la biologie et des géosciences. On se sert du générateur de nombres pseudo-aléatoires fourni par le langage. Capacités intervenant dans cette partie : expliquer ce que fait un algorithme donné ; modifier un algorithme existant pour obtenir un résultat différent ; concevoir un algorithme répondant à un problème précisément posé. 25 octobre 2012 Projet de programme BCPST version 5, page 3/5

3 / Programme de seconde année (BCPST2) En seconde année, l enseignement d informatique est orienté vers la pratique et la consolidation des compétences fondamentales. Les trois volets indiqués ci-dessous concourent à enrichir la culture des étudiants par un apport modeste de nouvelles méthodes et la réalisation d un projet. 3.1 / Compléments d algorithmique Les algorithmes décrits ci-dessous sont présentés puis mis en œuvre soit par programmation soit en faisant appel à une fonction de bibliothèque. Contenus Algorithmes de tri d un tableau à une dimension de valeurs numériques : tri rapide (ou quicksort). Algorithme de Dijkstra de recherche de plus court chemin dans un graphe pondéré à poids positifs. Simulation d une variable aléatoire à densité suivant une loi uniforme, exponentielle ou normale. Commentaires La présentation du tri rapide peut servir à introduire l idée de la récursivité sans entrer dans les détails de gestion de la mémoire. Le graphe est représenté par la matrice d adjacence. On se sert du générateur de nombres pseudo-aléatoires fourni par le langage, et, pour la loi normale, d une fonction de bibliothèque. Capacités intervenant dans cette partie : expliquer ce que fait un algorithme donné ; modifier un algorithme existant pour obtenir un résultat différent ; concevoir un algorithme répondant à un problème précisément posé. 3.2 / Méthodes numériques L utilisation des bibliothèques de calcul numérique ou matriciel, de visualisation de données ou de traitement d images, ou encore de bioinformatique, permet d introduire les méthodes numériques classiques de résolution de problèmes issus des autres disciplines : résolution approchée d équations différentielles, résolution de systèmes linéaires, statistiques, simulation, traitement et représentation de données expérimentales ou de mesures directement prélevées sur des montages expérimentaux, etc. Un exemple important de traitement numérique est fourni par les images ponctuelles (ou bitmap) en niveaux de gris ou en couleurs, qui apparaissent fréquemment dans de nombreux contextes expérimentaux ou appliqués (radiologie, échographie etc.). Les algorithmes de transformation ou d extraction permettent d analyser des structures, distributions, comportements et peuvent participer à des démarches de diagnostic. L objectif pédagogique est double : d une part, savoir repérer et utiliser correctement les fonctions utiles d une bibliothèque logicielle en se servant de la documentation en ligne, et d autre part prendre conscience des questions posées par le calcul sur les nombres flottants (arrondis, précision du calcul, différence entre un nombre très petit et un nombre nul). La connaissance détaillée de ces bibliothèques n est pas un attendu du programme, lequel se limite à quelques exemples contextualisés d utilisation d éléments de bibliothèques. Capacités intervenant dans cette partie : accéder à une bibliothèque ; rechercher une information dans une documentation en ligne ; documenter un programme réalisé en s appuyant sur une ou plusieurs bibliothèques ; identifier ou construire un modèle ; confronter un modèle au réel ; développer un regard critique sur les résultats obtenus. 3.3 / Réalisation d un projet L acquisition durable de compétences, même modestes, en informatique repose sur une régularité d exercices pratiques et s accorde au mieux avec le développement de projets. Il est donc recommandé de faire réaliser aux étudiants un projet mettant en valeur les compétences acquises, dès que ces compétences commencent à être effectives. Pour la réalisation de ce projet, les étudiants peuvent travailler en groupe de taille Projet de programme BCPST version 5, page 4/5 25 octobre 2012

réduite (4 au maximum). Le temps passé sur les projets doit rester modeste afin de ne pas empiéter sur les autres tâches et disciplines. Les thèmes des projets doivent être choisis de manière à représenter la diversité des applications possibles, notamment en biologie et géologie. Un renouvellement fréquent des thèmes des projets est indispensable afin d éviter la reproduction sans enjeu d activités stéréotypées et de développer l esprit d innovation chez les étudiants. Ces projets doivent pouvoir être présentés (sous forme écrite et orale) par les étudiants en mettant en valeur : la nature et l intérêt du problème scientifique étudié l approche choisie pour résoudre le problème l organisation choisie pour la conduite du projet (répartition des tâches, échéancier) la structuration de la solution (découpage en diverses tâches et modules) l adéquation de la solution par rapport au problème initialement posé. Capacités intervenant dans cette partie : recueillir des informations et mobiliser des ressources ; initier des perspectives nouvelles ; organiser un travail impliquant un développement logiciel ; collaborer au sein d une équipe pour réaliser une tâche ; développer un regard critique sur les résultats obtenus ; présenter une solution à l écrit, à l oral. 25 octobre 2012 Projet de programme BCPST version 5, page 5/5