Vous êtes sur la page 1sur 14

PROGRAMME ET INSTRUCTIONS

OFFICIELLES
PO U R L E N S E I G N E M E N T D E

LINFORMATIQUE
Premire anne des classes prparatoires scientifiques
Mathmatique, physique et sciences de lingnieur (MPSI)
Physique, chimie et sciences de lingnieur (PCSI)
Technologie et sciences de lingnieur (TSI)
Septembre 2013

Page 1

PREAMBULE
Les technologies de linformation et les sciences du numrique

tant en

perptuelle volution, le programme denseignement relatif ces disciplines

est

amen aussi tre modifi continuellement afin de sadapter cette volution


permanente.
Ainsi, le Ministre de lEducation Nationale entreprend rgulirement
dimportants efforts pour rviser les programmes dinformatique dans les classes
prparatoires marocaines. A cet effet, ce prsent document a t labor pour
permettre de :

dfinir la nature et les caractristiques de linformatique en tant que


discipline denseignement en CPGE,

dlimiter le cadre et la vision du programme dinformatique en CPGE,

indiquer les comptences dvelopper chez les apprenants,

fixer les finalits et les objectifs de chaque partie du programme,

prciser les approches pdagogiques servant de rfrence pour


prparer les activits dapprentissage relatives la discipline
informatique,

prsenter le programme ainsi que la progression qui lui est attache;

proposer des exemples illustratifs des notions fondamentales de ce


programme,

suggrer quelques mthodes et moyens permettant lenseignant de


planifier, danimer et dvaluer les apprentissages des lves,

conseiller des exercices et des exemples dapplications relatifs aux


diffrents

lments

de

ce

programme.

Page 2

SOMMAIRE
A- Contexte de la nouvelle rforme de
linformatique en C.P.G.E

page 6

B- Comptences requises
et
C- Structure
programme

objectifs

page 4

du

D- Programme de la premire anne

page 7

page 11

Page 3

A-Contexte de la nouvelle rforme de linformatique en


C.P.G.E
Le programme dinformatique des classes prparatoire aux grandes coles
dingnieurs tient compte des volutions de lenseignement des sciences et
technologies du numrique dans lenseignement secondaire et les coles
dingnieurs.
Il vise doter les lves des CPGE de mthodes, doutils et de concepts
ncessaires la rsolution informatique dun problme donn. Ce problme peut
sappuyer sur les disciplines des mathmatiques, de la physique, de la chimie ou
des sciences industrielles.
Cette rsolution informatique est selon les cas soit la conception dun
algorithme qui peut tre traduit en programme informatique, soit lutilisation dun
logiciel de simulation numrique ou encore la gestion dune base de donnes.
L'lve devra savoir apprhender un problme simple du monde naturel pour
le traduire, l'implmenter en une solution informatique. Il devra se familiariser avec
diffrents concepts comme la faisabilit d'une solution donne, la prcision des
calculs numriques, l'efficacit d'un programme, etc.
Les lves devront suivre aussi bien une formation caractre thorique
qu'une formation caractre pratique.
Ce sont ces 3 aspects, savoir lalgorithmique et programmation, la
simulation numrique et la gestion des bases de donnes qui constituent le
fondement de ce programme denseignement dinformatique en CPGE dans les
filires MP, PSI, PC et TSI.

Page 4

B-Comptences requises
Ce programme dinformatique, na pas vocation seulement dapprendre aux
lves les concepts lis au domaine des technologies de linformation mais aussi les
aider adopter des dmarches scientifiques et des approches appuyes sur des
raisonnement rigoureux conduisant aux solutions des problmes poss.
Ainsi, lenseignement de linformatique doit permettre de dvelopper chez les
lves les comptences et les aptitudes suivantes :
-

comprendre, analyser et modliser un problme ou une situation pouvant


tre trait par linformatique,

adopter une dmarche de travail (dfinir le cahier de charge (les donnes,


les rsultats attendus, les traitements effectuer, ),

comprendre un algorithme et expliquer son droulement et son rle,

choisir les structures pouvant reprsenter les donnes dans la mmoire r

dcouper le problme en plusieurs parties (modules),

concevoir lalgorithme de rsolution relatif chaque module du problme


en spcifiant de faon rigoureuse et structure lensemble des tapes,

mettre en pratique lalgorithme en le traduisant en programme laide dun


langage informatique,

tester, vrifier et ventuellement corriger les algorithmes et les


programmes rsultants,

valider la solution algorithmique par des jeux d'essais,

exploiter les fonctionnalits et les performances quoffre un logiciel de


simulation numrique,

grer et interroger une base de donnes,

critiquer, modifier, les donnes manipules,

spcifier les modules mis en uvre,

valuer la complexit des diffrentes fonctions et des divers programmes


raliss.

La rsolution des problmes par une approche algorithmique procure aux


lves une rigueur, une capacit d'abstraction, un raisonnement et une logique, qui
sont les lments essentiels pour toute rsolution dun problme scientifique.
Ces comptences acquises, permettront leur intgration dans les autres
enseignements scientifiques ainsi que dans llaboration des travaux dinitiative
personnelle encadre (TIPE).
Page 5

C- Structure, objectifs et mthodologie du programme


C-1 Structure et organisation du programme
Le programme de linformatique des deux annes des CPGE scientifiques, est
organis en 5 parties, comme suit :
- Partie I : Gnralits et algorithmique de base
- Partie II: Algorithmique et programmation
- Partie III : Ingnierie numrique et simulation
- Partie IV : Introduction aux bases de donnes relationnelles
- Partie V : Algorithmique avanc et programmation
Les trois premires parties (partie I, II et III) seront dispenses durant la
premire anne alors que les deux dernires parties (partie IV et V) concerneront la
deuxime anne.

C-2/ Objectifs fixs


Lenseignement de linformatique aux CPGE vise plusieurs objectifs
permettant dinculper aux lves des outils et des mthodes ncessitant lapplication
des rgles de logique absolue et favorisant la rflexion, lanalyse et la synthse. Ces
capacits sont ncessaires pour rsoudre tout problme dordre scientifique.
Ainsi ce nouveau programme dinformatique, na pas vocation seulement
dapprendre aux lves les concepts lis au domaine des technologies de
linformation mais aussi les aider adopter des dmarches scientifiques et des
approches appuyes sur des raisonnement rigoureux conduisant aux solutions des
problmes poss.
Les principaux objectifs de cette nouvelle rforme de lenseignement de
linformatique aux CPGE, peuvent se rsumer aux points suivants :

apprentissage dun ensemble de concepts de base de l'algorithmique,

rsolution de problme par approche algorithmique,

conception rigoureuse dalgorithme,

choix des reprsentations appropries des donnes,

familiarisation avec la syntaxe lmentaire et les rgles de base dun


langage de programmation,

mise en uvre dun programme informatique (dition, excution, test),

pratique de la programmation,

utilisation dun logiciel de simulation numrique,

exploitation des rsultats de calculs numriques,

initiation lutilisation dun SGBD,

manipulation de donnes organises dans une base de donnes,

valuation de lefficacit algorithmique (mesure de la complexit),

maitrise de lapproche rcursive dun algorithme.


Page 6

C.3/ Mthodologie
* Il est recommand de mettre laccent sur le raisonnement algorithmique
beaucoup plus que sur la syntaxe du langage de programmation.
* Il est conseill de donner des exemples et de proposer des exercices
inspirs des autres disciplines scientifiques (mathmatiques, physique,
sciences de lindustrielle et chimie).
* II est ncessaire de transcrire les algorithmes vus pendant les sances
de cours en langage de programmation.
* Il est souhaitable dintgrer des lments de la discipline informatique
dans llaboration des travaux dinitiative personnelle encadre(TIPE).
* Il nest pas demand daborder les aspects thoriques qui relvent des
autres disciplines scientifiques, mais de mettre en uvre les algorithmes
permettant lanalyse des rsultats surtout concernant lutilisation du
logiciel de simulation.
* Il est noter que le langage de programmation, le logiciel de simulation
numrique ainsi que le systme de gestion de bases de donnes (SGBD)
qui seront utiliss dans le cadre de ce cours feront lobjet dune note de
service manant de lautorit gouvernementale charge des classes
prparatoires aux grandes coles.

Page 7

D-Programme de la premire anne (MPSI, PCSI, TSI)


Le programme de la premire anne est divis en 3 parties (I, II et III)

D.I

Partie I : Gnralits et algorithmique de base

La partie I du programme sera enseigne durant le premier trimestre de la 1re


anne. Le but de ce paragraphe est dinitier les lves la conception dalgorithmes
lmentaires manipulant des variables de types simples, des expressions et des
structures de contrle, puis convertir ces algorithmes en programmes laide dun
langage de programmation.

D.I.a/Capacits vises

identifier lensemble des ressources physiques constituant le systme


informatique,

utiliser les principales commandes dun systme dexploitation,

comprendre la reprsentation des donnes numriques dans la mmoire et


les limitations (en valeur et en prcision) de leur reprsentation,

expliquer ce que fait un algorithme lmentaire,

dcomposer une tche complexe en tches lmentaires

concevoir un algorithme rpondant un problme simple,

savoir adopter lapproche de la programmation descendante et la


programmation structure,

se familiariser avec la syntaxe de base dun langage de programmation,

traduire un algorithme en programme crit avec un langage informatique,

vrifier la terminaison dune boucle,

tester un programme en lditant et en lexcutant dans un environnement


intgr dun langage de programmation,

appeler quelques fonctions lmentaires du langage de programmation.

D.I.b/ Outils utiliss


Les vacations de cours thoriques seront alternes avec de sances de
travaux dirigs et de travaux pratiques.
Durant les travaux dirigs, les lves apprennent concevoir des algorithmes
de rsolution de problmes lmentaires et crire les programmes correspondants.
Ces programmes seront dits et tests au cours des travaux pratiques
prvus
Page 8

D.I.c/ Contenu
D.I.c.1/ Environnement matriel et logiciel dun systme informatique
Le but de ce paragraphe est de prsenter succinctement lensemble des
ressources physiques constituant le systme informatique ainsi que lensemble des
moyens qui permettent dutiliser lordinateur. On abordera aussila reprsentation des
donnes numriques sous forme binaire dans la mmoire.
a/ Architecture simplifie dun ordinateur
*Composants de base
- ordinateur personnel, tablette, PDA,
- diffrencier les diffrents composants constituant un ordinateur
(mmoire vive, mmoire de masse, unit centrale, priphriques
dentre-sortie, ports de communication)
* Mmoire centrale et reprsentation des donnes
- rle, caractristiques, capacit (notion de bit, de mot mmoire,
dadresse mmoire, ).
* Reprsentation de donnes dans la mmoire
- types de donnes (nombres ou caractres),
- systme binaire,
- reprsentation des nombres entiers en mmoire (nombre positif ou
ngatif, bit de signe, nombre non sign),
- reprsentation des nombres rels en mmoire (mantisse et exposant,
dfinition de lcriture en virgule flottante normalise)
- limites et dpassement de la mmoire (illustration par des exemples
simple (division par zro,)),
- codage et reprsentation des caractres (code ASCII, UTF8, UTF16,
Unicode),
- tude des mcanismes de dpassement de capacit (les "overflow"),
les erreurs d'arrondis, les divisions par zro.
* Processeur
- caractristiques (vitesse, frquence de lhorloge, ),
- fonctions (oprations arithmtiques et logiques).
* Priphriques
- priphriques d'entre-sortie, ports de communication, Mmoires
auxiliaires,).
b/ Systme dexploitation dun ordinateur
- dfinition et exemples de systmes dexploitation (Windows et Linux),
- fonctions principales dun systme dexploitation (vrification des
ressources, gestion de fichiers, gestion de dossiers, ),
-exemples dutilisation de quelques commandes usuelles (cration
de dossiers, copie de fichiers, ),
-mise en uvre d'un environnement de dveloppement.

Page 9

D.I.c.2/Algorithmique de base
Le but de ce paragraphe est dinitier les lves la conception dalgorithmes
lmentaires manipulant des variables de types simples, des expressions et des
structures de contrle, puis convertir ces algorithmes en programmes laide dun
langage de programmation
a/Dfinitions
* algorithme et programme,
*langage de programmation,
*interprteur et compilateur.
b/Elments de base dun algorithme
*variables.
*types simples (entier, flottant, caractre),
*affectation,
*entres / sorties standards et fonctions de la bibliothque.
c/Oprateurs et les expressions
*les oprateurs arithmtiques et logiques,
* les expressions.
d/Structures de contrle
*les instructions de choix (la slection logique),
*les instructions ditration ou de rptition (les boucles).
e/ Dmarche danalyse descendante
*principe de la dmarche,
*affinements successifs,
*exemples.
f) Modlisation.
*analyser une situation,
*spcifier,
*modliser.
g) Vrification du code
*invariants de boucle,
*tests des segments itratifs,
*estimation de la complexit d'un calcul.

D.I.d/ Exemples dexercices et dapplications pratiques


La liste suivante numre quelques exemples dalgorithmes simples pouvant
tre proposs en termes dexemples ou dexercices durant cette premire partie de
lenseignement :
-

Rsolution dune quation du 1er ou du 2me degr

Vrification de la validit dune date (annes bissextile).

Dtermination de certaines proprits dun nombre entier (premier, parfait,


Amstrong, ).
Page 10

Calcul de PGCD et du PPMC de 2 nombre entiers.

Dcomposition binaire dun entier.

Evaluation de la somme des N premiers nombres entiers positifs.

Calcul du factoriel dun nombre en utilisant une mthode itrative.

D.II Partie II : Algorithmique et programmation


La partieII du programme sera enseigne durant le deuxime trimestre de la
1
anne.Le but de cette partie est dapprendre aux lves la programmation
modulaire ainsi que la reprsentation des donnes dans des structures des donnes
telles que les tableaux, les chanes de caractres, les listes, les piles, ) et leurs
utilisations (tri, recherche, ). Dans cette partie, on sintressera aussi la lecture et
lcriture dans un fichier de donnes.
re

D.II.a/Capacits vises en algorithmique

dcouper et organiser le problme en plusieurs parties (les modules),

dfinir les prototypes des fonctions utiliser (paramtres, type de


retour)

choisir les structures pouvant reprsenter les donnes et les rsultats


du problme,

maitriser les algorithmes de tri standard et de la recherche


dichotomique

manipuler une chane de caractres,

grer une liste de donnes (ajouter, modifier, rechercher ou supprimer


des lments),

organiser les lments sous forme dune pile afin de leur exploitation,

lire et crire des donnes partir dun fichier.

D.II.b/ Capacits vises en programmation


Traduire un algorithme dans un langage
de programmation non
spcifiquement li au systme d'exploitation, libre et portable, dynamique, extensible
qui permet une approche modulaire et oriente objet de la programmation(Voir note
Ministrielle).
Savoir se servir de la documentation du langage choisi en ligne,

savoir documenter ses propres programmes,


choisir les types et structures de donnes optimales pour un problme
donn,
expliciter la signature, le prototype dune fonction,
mettre en uvre des squences de tests afin de tester une
fonctionnalit, un programme spcifique.
Page 11

D.II.c/Contenu en programmation
* prsentation des diffrents types d'objets,
* objets simples : entier, flottant, complexe, boolen et chaines de
caractres,
* les oprateurs,
* les collections d'objets (les listes, les tuples, les dictionnaires, les
ensembles),
* la logique d'un programme (les oprations conditionnelles, les boucles for
et while),
* les fonctions (les instructions break et continue, variable locale, variable
globale),
* les modules de base du langage choisi.

D.II.d/Outils utiliss
La programmation modulaire, les structures des donnes ainsi que les
principes des diffrents tris seront expliqus pendant les sances de cours. Les
diffrents algorithmes de tri et de recherche seront conus en travaux dirigs.
Limplmentation et la vrification de ces diffrents algorithmes seront
effectues en travaux pratiques l'aide du langage.
Les lves devront utiliser un environnement de dveloppement
Un environnement scientifique doit tre prsent et ceci ds la premire
anne. Cela peut-tre un logiciel de calcul scientifique libre et large utilisation (Voir
note ministrielle) ou une bibliothque utiliser avec le langage de programmation
choisi.
Attention il n'est pas demand une tude approfondie de l'ensemble de ces
outils.
Des textes rglementaires pourront dans le futur prciser les diffrents choix
d'outils et d'environnement de dveloppement.

D.II.e/Contenu
D.II.e.1/Programmation modulaire
a. Dfinition et paramtres de fonction,
b. Variable locale et variable globale,

D.II.e.2/Structures de donnes et leurs utilisations


a. Tableaux une dimension (reprsentation, accs aux lments),
b. Chanes de caractres (longueur, accs un caractre),
c. Tris et recherche dichotomique dans un tableau (tri par slection, tri par
insertion, tri bulles, ),
d. Tableaux 2 dimensions (oprations sur les matrices),
e. Listes (dfinition, ajout, suppression, recherche dans une liste),
f. Piles et files.
Page 12

D.II.e.3/Fichiers de donnes
a. Accs un fichier (chemin et nom physique de fichier),
b. Lecture des lments dun fichier partir dun programme,
c. Ecriture dans un fichier partir dun programme.

D.II.f/Exemples dexercices et dapplications pratiques


Les exemples ci-dessous peuvent tre suggrs en exercices :
- Gestion dune une liste dlments et son tri (ajout, modification,
suppression, recherche, ).
- Calcul matriciel (somme, produit, dterminant, transpose).
- Utilisation des algorithmes de cryptage lmentaires (Csar, Vigenre)
- Cryptage dune chane de caractres puis dun fichier texte.
- Implmentation de lalgorithme du codage de Hamming et de Huffman.
- Vrification de la syntaxe dune expression mathmatique simple
(nombre de parenthses par exemples) en utilisant la structure pile.

D.III Partie III : Ingnierie numrique et simulation


Le but de cette partie est dintroduire les techniques de base pour l'utilisation
des algorithmes numriques. On ne s'intressera qu' la mise en uvre de
ces algorithmes et non pas aux aspects thoriques. Par contre il faudra
comparer les solutions obtenues d'une manire numrique avec celle issue
d'un calcul analytique

D.III.a/Comptences vises
la fin de cette partie, llve doit tre capable de :

Donner une solution numrique d'un problme difficilement ou


impossible raliser avec une solution purement analytique

Mettre en uvre par programmation un problme caractre


scientifique en prenant en compte aussi bien les donnes en entres du
programme que les rsultats

Savoir utiliser les bibliothques de calcul numrique standard


rsoudre un problme scientifique

Savoir utiliser les bibliothques standards pour afficher les rsultats


sous forme graphique

Savoir prendre en compte les erreurs de calcul ou erreurs d'arrondi.

Savoir dterminer la complexit d'un calcul en vue d'en dterminer si le


calcul est ralisable dans un temps acceptable.

pour

Page 13

D.III.b/Outils utiliss
Aprs chaque sance thorique, un ensemble dexercices et de travaux
pratiques seront proposs aux lves pour illustrer et vrifier les notions vuesen
cours.

D.III.c/Contenu
D.III.c.1/Prsentation des bibliothques
* Programmation de quelques fonctions.
* Calcul manipulant les tableaux et calcul matriciel
* Gestion de la documentation en ligne des fonctionnalits de ces
bibliothques.

D.III.c.2/Mthodes linaires une dimension


* Rsolution d'quation algbrique
* Mthode de dichotomie
* Mthode de Newton

D.III.c.3/Problmes dynamiques une dimension


* Rsolution approche d'une quation diffrentielle
* Mthode d'Euler

D.III.c.4/ Problmes discrets multidimensionnels linaires


* Rsolution d'un systme linaire inversible l'aide de la mthode de
Gauss
* Calcul de complexit pour dterminer un temps d'excution afin de
savoir si le calcul est envisageable.

D.III.d/ Exemples dexercices et dapplications pratiques


- Manipulations de tableaux et de matrices (extraire un sous tableaux,
coupe d'un tableau ou d'une matrice, indexation par masque, copie de
tableau ou de matrice, oprations simples ou complexes manipulant
des tableaux ou des matrices, etc)
- Exemple : quation de la chaleur (diffusion thermique) une
dimension discrtisation en diffrences finies, convergence,
implmentation matricielle, optimisation avec la formule de Taylor, etc)
- Intgration dquations diffrentielles l'aide dune bibliothque ou
dun logiciel de calcul scientifique
- Exemple : gestion d'un systme dynamique, le pendule simple.

Page 14