Avant-propos
Pourquoi s’intéresser à l’informatique ?
L’informatique est souvent considérée comme une matière technique assez routinière. Pourtant, à mes yeux, l’informatique c’est plutôt une ambiance rock & roll : tout évolue très vite ; un nouveau langage apparaît chaque année ; les évolutions technologiques se succèdent à un rythme effréné et ce que vous considériez comme acquis se retrouve être dépassé cinq ans plus tard ! Je dirais que cette matière est intrinsèquement une matière innovante car elle change rapidement et elle ouvre de nombreuses possibilités aussi bien pour sa vie professionnelle que pour ses hobbies.
L’arrivée de la spécialité NSI (Numérique et Sciences Informatiques) au lycée est une très bonne nouvelle parce que même si vous ne choisissez pas une carrière d’informaticien, vous serez amené, quel que soit votre métier, à devoir traiter des données. Par exemple, certains biologistes travaillent sur des bases de données ADN ; les électroniciens conçoivent des systèmes embarqués (voitures, avions) à travers des langages bas niveau ; les conservateurs de musée digitalisent leurs...
Pourquoi le langage Python ?
En 1985, j’ai 10 ans. La France de cette époque, c’était les disques vinyles 45 tours. La 2CV allait atteindre ses 5 millions d’exemplaires. Mais pour les enfants, c’était aussi le programme national d’équipement informatique des établissements scolaires permettant de doter les écoles primaires d’une salle d’ordinateurs équipée de Thomson MO5. La salle informatique représentait alors un passage vers un monde futuriste ! Côté programmation, ce drôle de micro-ordinateur fonctionnait avec le BASIC, un langage très simple pour débutants. En tapant au clavier PRINT "BONJOUR" suivi de l’appui sur la touche [Entrée], on affichait BONJOUR à l’écran. Ce langage permettait aussi de dessiner à l’écran des formes de toutes les couleurs. C’était également l’époque de l’apprentissage par l’expérimentation : on mélangeait des instructions étranges, on regardait le résultat à l’écran puis comme ce n’était généralement pas le résultat attendu, on recommençait jusqu’à atteindre notre but ; et c’est cette expérimentation qui était très amusante et qui nous faisait progresser !
En 2015, trente ans plus tard, je suis professeur d’informatique. J’ai utilisé une cinquantaine de langages et j’ai enseigné les plus importants à mes élèves. Durant mes années d’enseignement, quel que soit...
Mon style de pédagogie
Le meilleur professeur d’informatique que j’ai eu en programmation disait : « Mon cours tient sur deux pages, celui de mon collègue fait 40 pages. Je ne compte pas changer. Cela fait 10 ans que je fais comme cela et c’est toujours mon groupe qui a les meilleures notes à l’examen final ». J’ai retenu de cette affirmation que la mission primordiale de l’enseignant est de transmettre l’essentiel d’une matière et non une version encyclopédique du sujet. Car, de toute façon, Internet est là pour s’acquitter de cette tâche aujourd’hui. Ainsi, en début de chapitre - et c’est ce qui fait l’originalité de cet ouvrage - vous trouverez à la fois un cours assez épuré et un point sur certaines notions essentielles.
Le lecteur a ensuite l’occasion de mettre en pratique ses connaissances grâce à de nombreux exercices d’application détaillés.
Enseigner la programmation est un défi pédagogique, car cette matière ne ressemble à aucune autre et un cours de programmation au tableau passe souvent mal auprès des étudiants. Tout comme une langue étrangère, il est indispensable de pratiquer. Ainsi, les heures consacrées à cette matière doivent faire la part belle aux projets courts ou longs. Je suis très heureux de constater que la circulaire du ministère encourage la pratique dans la spécialité NSI.
Dans ce livre, les exercices d’application permettent d’utiliser...
À qui s’adresse le livre ?
. En résumé, voici le niveau concerné :-
Cours : grand débutant/faux débutant/débutant
-
Notions fondamentales : tout niveau
-
Exercice d’application : grand débutant/débutant
-
Exercice
: débutant/initié -
Exercice

:
initié/avancé -
Exercice


: avancé/expert
Comme ce livre couvre une large palette de niveaux, il peut vous accompagner dans vos débuts en programmation jusqu’à un niveau initié ou vous amener du niveau initié au niveau avancé.
Qui dit exercices ou projets ludiques, dit programme de 30 lignes ! Oui, désolé, vous ne trouverez pas, exception faite des exercices d’applications, de programme de 4/5 lignes dans ce livre. Je sais qu’il est plus facile et plus rassurant pour les apprenants de compléter des exercices à trous...
Organisation du livre
Le chapitre Installer l’environnement Python vous guide pour installer et configurer votre environnement Python sous Mac et sous Windows. En effet, si vous avez décidé de découvrir Python grâce à ce livre, cela sous-entend que vous allez travailler en autonomie. Même si les forums d’entraide peuvent vous aider ponctuellement, l’essentiel du temps, vous allez devoir compter sur vous-même. Votre première difficulté sera de configurer correctement votre station de travail. Ainsi, vous allez être guidé pas à pas pour installer l’environnement Python ainsi que les librairies utilisées dans ce livre.
Au chapitre Les environnements de développement, vous sont présentés quatre environnements de développement de complexités très différentes. Ainsi que vous soyez grand débutant, débutant, initié ou avancé, vous devriez trouver un outil qui vous convienne. Sachez que si vous choisissez un environnement trop ambitieux, il vous sera d’accès difficile et sa complexité vous fera perdre du temps. Quand vous aurez l’impression d’en avoir fait le tour alors vous pourrez toujours changer pour une version plus complète.
Le chapitre Structure du langage Python pose les bases du langage. Si vous ne connaissez pas encore Python, c’est le chapitre incontournable que vous devez maîtriser. Si vous êtes grand débutant, si vous deviez ne lire qu’un chapitre de ce livre, ce serait celui-ci. Des connaissances essentielles sur la structure du langage ainsi que sur les messages d’erreur vous sont présentées afin de vous donner des repères pour développer votre autonomie. De nombreux exemples sont proposés pour vous aider à assimiler ces notions grâce aux exercices d’applications. Les exercices d’entraînement vous permettent de tester vos acquis sur des cas pratiques. Une fois ce chapitre terminé, vous disposez d’un bon bagage en programmation. À ce stade, déjà deux projets sont proposés : le jeu du Pendu et le jeu Motus.
Le chapitre Les boucles, listes et fichiers approfondit la notion de boucles. La structuration en bloc et sous-blocs est présentée afin de vous faciliter la compréhension des imbrications entre boucles et conditions. Ce chapitre présente ensuite en profondeur les listes, objet central du langage Python. Nous traitons le problème de la copie des listes, car ce sujet, bien souvent négligé, constitue un préalable à la compréhension des notions avancées de programmation en Python. Une nouvelle série d’exercices d’applications guidés vous est proposée. Grâce aux connaissances introduites dans ces deux derniers chapitres, vous sont proposés des exercices d’entraînement de difficultés variées. Deux projets plutôt mathématiques sur la résolution d’un cryptarithme et sur le calcul du nombre π ainsi que deux projets plus ludiques sur la création d’images en ASCII art et sur la mise en place d’un robot de conversation (chatbot) vous sont présentés.
Le chapitre Les fonctions est dédié aux fonctions, notion centrale de la programmation. Ensuite, le mécanisme d’associations entre paramètres et arguments de fonction vous est détaillé, car sa compréhension vous permettra d’éviter de nombreux pièges, souvent difficilement détectables. Comme à l’accoutumée, une série d’exercices d’application du cours ainsi que leurs corrections guidées sont proposées. À ce niveau et fort de ces nouvelles connaissances, vous pourrez maintenant mettre en place des applications fenêtrées. Ainsi, la série d’exercices d’entraînement aborde de nombreux exemples graphiques et ludiques : une animation de flocons de neige, du tir aux ballons, le jeu de la vie mais aussi des exercices plus mathématiques comme les fractales de Sierpinski, le test d’appartenance...
Pour conclure
Cet ouvrage contient beaucoup de notions et de projets. Il est difficile de savoir à l’avance quels sont vos goûts, alors pour être sûr que vous trouviez un sujet qui vous plaise, beaucoup de projets sont proposés de niveaux de difficulté très différents. Ne vous inquiétez pas, si vous ne pouvez pas tout faire tout de suite ! L’idée est de progresser jour après jour. Si vous cherchez à poursuivre l’aventure, vous pourrez en extension de ce livre me rejoindre sur ma chaîne Youtube Codin’Fun afin de trouver des compléments d’information !
La plupart des exercices et des projets dépassant quelques lignes de code sont téléchargeables en ligne depuis l’onglet Compléments.