Pages

Apprendre à Programmer avec Python - Gérard Swinnen



Python est un merveilleux langage de programmation. Moderne, portable, puissant, facile à apprendre, il présente en outre l’immense intérêt d’être absolument gratuit !
Estimant que Python constitue à l’heure actuelle le meilleur choix pour commencer un apprentissage de la programmation, nous avons décidé d’apporter notre modeste contribution à la documentation en langue française pour ce langage.
Destinées en premier lieu aux élèves qui suivent le cours "Programmation & langages" de l’option Sciences & Informatique en 5e/6e de l’enseignement technique de transition (enseignement secondaire belge), ces notes vous sont proposées ici en téléchargement gratuit. Leur reproduction et leur distribution restent cependant soumises aux termes de la licence de documentation libre GNU.
Gérard Swinnen


En voici l’introduction :
« Les présentes notes ont été rédigées à l’intention des élèves qui suivent le cours Programmation et langages de l’option Sciences & informatique au 3e degré de transition de l’enseignement secondaire belge. Il s’agit d’un texte expérimental et provisoire, qui s’inspire largement de plusieurs documents disponibles sur l’internet.
Nous proposons dans ces notes une démarche d’apprentissage non linéaire qui est très certainement critiquable. Nous sommes conscients qu’elle apparaîtra un peu chaotique aux yeux de certains puristes, mais nous l’avons voulue ainsi parce que nous sommes convaincus qu’il existe de nombreuses manières d’apprendre (pas seulement la programmation, d’ailleurs), et qu’il faut accepter d’emblée ce fait établi que des individus différents n’assimilent pas les mêmes concepts dans le même ordre. Nous avons donc cherché avant tout à susciter l’intérêt et ouvrir un maximum de portes, en nous efforçant tout de même de respecter les principes directeurs suivants :
  • L’apprentissage que nous visons doit être adapté au niveau de compréhension et aux connaissances générales d’un élève moyen. Nous nous refusons d’élaborer un cours qui soit réservé à une "élite" de petits génies.
  • Dans cette option d’études et à ce niveau, l’apprentissage doit rester généraliste : il doit mettre en évidence les invariants de la programmation et de l’informatique, sans se laisser entraîner vers une spécialisation quelconque.
  • Les outils utilisés au cours de l’apprentissage doivent être modernes et performants, mais il faut aussi que l’élève puisse se les procurer en toute légalité à très bas prix pour son usage personnel. Toute notre démarche d’apprentissage repose en effet sur l’idée que l’élève devra très tôt mettre en chantier des réalisations personnelles qu’il pourra développer à sa guise.
  • L’élève qui apprend doit pouvoir rapidement réaliser de petites applications graphiques. Les étudiants auxquels on s’adresse sont en effet fort jeunes (en théorie, ils sont à peine arrivés à l’âge ou l’on commence à pouvoir faire des abstractions). Dans ce cours, nous avons pris le parti d’aborder très tôt la programmation d’une interface graphique, avant même d’avoir présenté l’ensemble 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 informatique à base de fenêtres et autres objets graphiques interactifs. S’ils choisissent d’apprendre la programmation, ils sont forcément impatients de créer par eux-mêmes des applications (peut-être très simples) où l’aspect graphique est déjà bien présent. Nous avons donc choisi cette approche un peu inhabituelle afin de permettre à nos élèves de se lancer très tôt dans de petits projets personnels attrayants par lesquels ils puissent se sentir valorisés, mais nous leur imposerons cependant de réaliser leurs projets sans faire appel à l’un ou l’autre de ces environnements de programmation sophistiqués qui écrivent automatiquement de nombreuses lignes de code, parce que nous ne voulons pas non plus masquer la complexité sous-jacente.
  • Dans notre démarche, nous souhaitons aussi familiariser les étudiants le plus tôt possible avec le concept informatique d’objet, approché par étapes successives. Nous leur ferons d’abord utiliser en abondance divers types d’objets préexistants (et notamment des objets graphiques), afin qu’ils apprennent à exploiter petit à petit les méthodes et attributs de ces objets. La construction d’objets personnalisés ne sera envisagée que plus tard, et progressivement, lorsque nous serons assurés que les notions de base sont déjà bien en place. »

Table des matières (résumé)
  • Chapitre 1 : Penser comme un programmeur
  • Chapitre 2 : Premiers pas
  • Chapitre 3 : Contrôle du flux d'instructions
  • Chapitre 4 : Instructions répétitives.
  • Chapitre 5 : Principaux types de données
  • Chapitre 6 : Fonctions prédéfinies
  • Chapitre 7 : Fonctions originales
  • Chapitre 8 : Utilisation de fenêtres et de graphismes
  • Chapitre 9 : Les fichiers
  • Chapitre 10 : Approfondir les structures de données
  • Chapitre 11 : Classes, objets, attributs
  • Chapitre 12 : Classes, méthodes, héritage
  • Chapitre 13 : Classes et Interfaces graphiques
  • Chapitre 14 : Et pour quelques widgets de plus ...
  • Chapitre 15 : Analyse de programmes concrets
  • Chapitre 16 : Gestion d'une base de données
  • Chapitre 17 : Applications web
  • Chapitre 18 : Communications à travers un réseau
  • Chapitre 19 : Annexes
Livre dispo ici :
http://inforef.be/swi/python.htm

Et aussi sur framasoft, d'où est tiré l'article (en version complète)
Lien direct au livre : http://www.framasoft.net/IMG/pdf/python_notes-2.pdf


CRITIQUE du LIVRE :
prochainement

Aucun commentaire:

Enregistrer un commentaire