ici
400 pages
Français

ici

-

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
400 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

G race Hopper, inventeur du compilateur :
« Pour moi, la programmation est plus qu'un art appliqué important. C'est aussi
une ambitieuse quête menée dans les tréfonds de la connaissance. »
À Maximilien, Élise, Lucille, A ugustin et A lexane.
Colophon
Choisie dé libérément hors propos, l'ilustration de couverture est un de ssin réalisé
par l'auteur à la mine de graphite sur papier Canson en 1987, d'après une
photographie ancienne. Il représente le yacht de course de 106 tonnes Valdora
participant à une régate dans la rade de Cowes en 1923.
Construit vingt ans plus tôt, et d'abord gréé en yawl, Valdora rem porta plusieurs
trophées avant d'être regréé en ketch en 1912 avec la voilure de 516 m ² que l'on voit
sur le dessin.
Ce supe rbe voilier, très estim é par ses équ ipages pour son bon com portement à la
mer, a navigu é pen dant près d'un de m i-siècle.
2. G érard Swinnen : A pprendre à programmer avec Python Apprendre à programmer avec Python
par Gérard Swinnen
professeur et conseiller pé dagogique
t teInstitut S Jean Berchm ans - S M arie
59, rue des Walons - B4000 Liège
Ces notes peuvent être téléc hargé es librement à partir du site :
http://www.ulg.ac.be/cifen/inforef/swi
U ne part de ce texte est inspirée de :
How to think like a computer scientist
de Allen B. Downey, Jeffrey Elkner & Chris Meyers
disponible sur : http://rocky.we lesley.e du /downrey/ost
ou : http://www.ibiblio.org/obp
Copyright (C) 2 000-2 005 Gérard Swinnen
Les notes qui suivent sont ...

Sujets

Informations

Publié par
Nombre de lectures 117
Langue Français
Poids de l'ouvrage 4 Mo

Extrait

G race Hopper, inventeur du compilateur : « Pour moi, la programmation est plus qu'un art appliqué important. C'est aussi une ambitieuse quête menée dans les tréfonds de la connaissance. » À Maximilien, Élise, Lucille, A ugustin et A lexane. Colophon Choisie dé libérément hors propos, l'ilustration de couverture est un de ssin réalisé par l'auteur à la mine de graphite sur papier Canson en 1987, d'après une photographie ancienne. Il représente le yacht de course de 106 tonnes Valdora participant à une régate dans la rade de Cowes en 1923. Construit vingt ans plus tôt, et d'abord gréé en yawl, Valdora rem porta plusieurs trophées avant d'être regréé en ketch en 1912 avec la voilure de 516 m ² que l'on voit sur le dessin. Ce supe rbe voilier, très estim é par ses équ ipages pour son bon com portement à la mer, a navigu é pen dant près d'un de m i-siècle. 2. G érard Swinnen : A pprendre à programmer avec Python Apprendre à programmer avec Python par Gérard Swinnen professeur et conseiller pé dagogique t teInstitut S Jean Berchm ans - S M arie 59, rue des Walons - B4000 Liège Ces notes peuvent être téléc hargé es librement à partir du site : http://www.ulg.ac.be/cifen/inforef/swi U ne part de ce texte est inspirée de : How to think like a computer scientist de Allen B. Downey, Jeffrey Elkner & Chris Meyers disponible sur : http://rocky.we lesley.e du /downrey/ost ou : http://www.ibiblio.org/obp Copyright (C) 2 000-2 005 Gérard Swinnen Les notes qui suivent sont distribuées suivant les termes de la Licence de Documentation Libre G NU (GNU Free Documentation License, version 1.1) de la Free Software Foundation. Cela signifie que vous pouvez copier, m odifier et redistribuer ces notes tout à fait librement, pour autant que vous respec tiez un certain nom bre de règles qui sont précisées dans cette licence, dont le texte com plet peut être consulté dans l'annexe intitulée « G NU Free Documentation licence », page 388. Pour l'essentiel, sachez que vous ne pouvez pas vous approprier ce texte pour le redistribuer ensuite (m odifié ou non) en déf inissant vous-mê me d'autres droits de copie. Le document que vous redistribuez, m odifié ou non, doit obligatoirement inclure intég ralement le texte de la licence citée ci-dessus, le présent avis, l'introdu ction qui suit, ainsi que la sec tion Preface du texte original amé ricain (voir annexes). L'accès à ces notes doit rester libre pour tout le m onde . Vous êtes autorisé à de m ande r une contribution financière à ceux à qui vous redistribuez ces notes, m ais la som me de m andée ne peut concerner que les frais de reproduction. Vous ne pouvez pas redistribuer ces notes en exigeant pour vous-mê me de s droits d'auteur, ni lim iter les droits de reproduction de s copi es que vous distribuez. La diffusion com merciale de ce texte en librairie, sous la forme classique d'un m anuel im primé, est réservée exclusivement à la m aison d'édition O'Reily (Paris). Ces notes sont publiées dans l'espoir qu'elles seront utiles, mais sans aucune garantie. G érard Swinnen : A pprendre à programmer avec Python 3. Introduction A l'origine, les présentes notes ont été rédigé es à l'intention des élèves qui suivent ele cours Programmation et langages de l'option Sciences & informatique au 3 de gré de transition de l'enseignement sec ondaire be lge. Il s'agit d'un texte expérim ental qui s'inspire largement de plusieurs autres documents publ iés sous licence libre sur l'internet. Nous proposons dans ces notes une dé m arche d'apprentissage non linéaire qui est très certainement critiquable. Nous som mes conscients qu'ele apparaîtra un peu chaotique aux yeux de certains puristes, m ais nous l'avons voulue ainsi parce que nous som mes convaincus qu'il existe de nom breuses m anières d'apprendre (pas seuleme nt la program m ation, d'ailleurs), et qu'il faut accepter d'em bl ée ce fait établ i que de s individu s différents n'assim ilent pas les mê mes concepts dans le mê me ordre. Nous avons donc cherché avant tout à susciter l'intérêt et à ouvrir un m aximu m de portes, en nous efforçant tout de mê me de respec ter les principes direc teurs suivants : • L'apprentissage que nous visons doit être adapté au niveau de com préh ension et aux connaissances gén érales d'un élève m oyen. Nous nous refusons d'élaborer un cours qui soit réservé à une « élite » de pe tits gén ies. Dans la mê me optique, notre am bition reste gén éraliste : nous voulons mettre en évidence les invariants de la program m ation et de l'inform atique, sans poursuivre une spécialisation quelconque. • Les outils utilisés au cours de l'apprentissage doivent être m ode rnes et pe rform ants, m ais il faut aussi que l'élève puisse se les procurer en toute lég alité pour son usage pe rsonnel. Toute notre dé m arche d'apprentissage repose en effet sur l'idée que l'élève devra très tôt mettre en chantier de s réalisations pe rsonneles qu'il pourra dé veloppe r et exploiter à sa guise. • L'élève qui apprend doit pouvoir rapide ment réaliser de petites applications graphiques. Les étudiants auxquels nous nous adressons sont en effet fort jeunes (en théo rie, ils sont à pe ine arrivés à l'âge ou l'on com mence à pouvoir faire de s abstractions). Dans ce cours, nous avons pris le parti d'aborde r très tôt la program m ation d'une interface graphique, avant mê me d'avoir présenté l'ensem ble des structures de données disponibles, parce que nous observons que les jeunes qui arrivent aujourd'hui dans nos classes « baignent » déj à dans une culture inform atique à base de fenêtres et autres objets graphiques interactifs. S'ils choisissent d'apprendre la program m ation, ils sont forcém ent im patients de créer par eux- mê mes des applications (peut-être très sim ples) où l'aspec t graphique est déj à bien présent. Nous avons donc choisi cette approche un peu inhabi tuele afin de pe rmettre à nos élèves de se lancer très tôt dans de petits projets pe rsonnels attrayants, par lesquels ils puissent se sentir valorisés. Nous leur im poserons cepen dant de réaliser leurs projets sans faire appe l à l'un ou l'autre de ces environnements de program m ation sophistiqués qui écrivent autom atiquem ent de nom breuses lignes de code , parce que nous ne voulons pas non plus m asquer la com plexité sous-jacente. Certains nous reprocheront que notre dé m arche n'est pas suffisam ment centrée sur l'algorithm ique pure et du re. Nous pen sons qu'une tele approche n'est guère adaptée aux jeunes, pour les raisons déj à évoquées ci-dessus. Nous pen sons ég alemen t qu'ele 4. G érard Swinnen : A pprendre à programmer avec Python est m oins primo rdiale que par le passé. Il semble en effet que l'apprentissage de la program m ation m ode rne par objets néc essite plutôt une m ise en contact aussi préc oce que possible de l'étudiant avec des objets et des bibliothèques de classes préexistants. Ainsi il apprend très tôt à raisonner en termes d'interactions entre objets, plutôt qu'en termes de procédu res, et cela l'autorise assez vite à tirer profit de concepts avancés, tels que l'héritage et le polym orphisme. Nous avons par aileurs accordé une place assez im portante à la m anipu lation de différents types de structures de données, car nous estim ons que c'est la réf lexion sur les données qui doit rester la colonne vertébrale de tout dé veloppe ment logiciel. C hoix d'un premier langage de programmation Il existe un très grand nom bre de langages de program m ation, chacun avec ses avantages et ses inconvén ients. L'idé al serait certainem ent d'en utiliser plusieurs, et nous ne pouvons qu'encourager les professeurs à présenter de temps à autre quelques exemples tirés de langages différents. Il faut cepen dant bi en admettre que nous de vons avant tout viser l'acquisition de bases solides, et que le temps dont nous disposons est lim ité. Dans cette optique, il nous sem ble raisonnable de n'utiliser d'abord qu'un seul langage, au m oins pen dant la prem ière année d'études. M ais quel langage allons-nous choisir pour com mencer ? Lorsque nous avons com mencé à réf léc hir à cette question, durant notre préparation d'un curriculum pour la nouvele option Sciences & Inform atique, nous avions pe rsonnelement accum ulé une assez longu e expé rience de la program m ation sous Visual B asic (Micro$oft) et sous Clarion (Top$ peed). Nous avions ég alem ent expé rim enté quelque peu sous D elphi (B orl@ nd). Il était donc naturel que nous pen sions d'abord exploiter l'un ou l'autre de ces langages (avec une nette préf érence pour Clarion, qui reste m alheureusem ent peu connu). Si nous souhaitons les utiliser com me outils de base pour un apprentissage gén éral de la program m ation, ces langages présentent toutefois deux gros inconvén ients : • Ils sont liés à des environnements de program m ation (c'est-à-dire de s logiciels) propriétaires. Cela signifie donc, non seulement que l'institution scolaire dés ireuse de les utiliser devrait acheter une licence de ces logiciels pour chaque poste de travail (ce qui risque de se révéler assez coûteux), m ais surtout que les élèves souhaitant utiliser leurs com pét ences de program m ation aileurs qu'à l'éc ole seraient im plicitement forcés d'en acquérir eux aussi de s licences, ce que nous ne pouvons pas accepter. • Ce sont des langages spécifiquem ent liés au seul système d'exploitation W indows. Ils ne sont pas « portables » sur d'autres systèmes (Unix, MacOS, etc.). Cela ne cadre pas avec notre projet pé dagogique qui am bi tionne d'inculquer une form ation gén érale (et donc diversifiée) dans laquele les invariants de l'inform atique seraient autant que possible m is en évidence. Nous avons alors dé cidé d'examiner l'offre alternative, c'est-à-dire celle qui est 1proposée gratuitemen t dans la m ouvance de l'inform atique libre. Ce que nous avons 1 U n logiciel libre (Free Software) est avan
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents