Introduction

Les élèves doivent savoir
  • Situer dans le temps les principaux événements de l’histoire de l’informatique et leurs protagonistes.
  • Une part de l’horaire de l’enseignement d’au moins un quart du total en classe de première doit être réservée à la conception et à l’élaboration de projets conduits par des groupes de deux à quatre élèves.

Prérequis

Durant ce cours vous serez amené à voir différents langages de programmation. Vous ne pourrez pas tout de suite être à l’aise avec tous les langages et seule la connaissance du Python est obligatoire pour le Bac.

Avant de commencer ce cours, vous devez avoir acquis les notions de base de python en classe de seconde. Prenez quelques minutes pour vérifier que vous maîtrisez les bases : initiation à Python.

Afin de vous habituer à utiliser des outils professionnels et à prendre des bonnes habitudes, nous allons utiliser l’interface de développement (IDE) PyCharm de JetBrains. Téléchargez et installez la version « édition community gratuite » sur ce site : https://www.jetbrains.com/fr-fr/pycharm/ .

Enfin, des connaissances de base en anglais vous seront très vite indispensables, car tous les logiciels et documentations ne sont pas disponibles en français.

Il était une fois…

L’informatique est l’art du traitement automatisé de l’information (ce sont d’ailleurs ces deux mots qui sont à l’origine du mot info/r/matique).

L’informatique consiste à automatiser le traitement de l’information à l’aide de machines. Pour cela il faut traduire les concepts de pensées humaines en une suite d’opérations simples qui pourront être réalisées par cette machine, appelée « ordinateur » qui ne « pense » pas : c’est la base de l’algorithmique. Une fois que l’on a conceptualisé la suite d’opérations à réaliser, il faut formaliser celles-ci dans un code informatique, le programme, écrit dans un « langage » accessible à l’être humain et plus ou moins proche du langage naturel (Python, C, Pascal, Fortan, Java…). Ce programme sera ensuite « compilé » ou « interprété » (selon les langages choisis) afin d’être traduit en une suite d’instructions que l’ordinateur sera capable d’exécuter.

Avant d’en arriver aux méthodes de programmations et aux ordinateurs actuels, de nombreux concepts techniques et mathématiques ont dû être mis en place. Si l’on retient généralement les horloges astronomiques du XVIIe siècle ou la machine à calculer de Pascal comme premiers calculateurs, ce ne sont pas des machines informatiques au sens actuel, car elles ne sont pas programmables et exécutent toujours la même suite d’opérations, généralement à l’aide d’engrenages mécaniques.

Pour la conceptualisation des méthodes permettant de créer des programmes, il faut remonter à l’antiquité et à la découverte de la logique (en particulier par Mégariques et Aristote), puis à la mise en place de l’algèbre et aux bases des algorithmes par Muhammad Ibn Mūsā al-Khuwārizmī au VIIIe siècle, celui qui introduit également les « chiffres arabes » en occident. C’est la mathématicienne Ada Lovelace (1843) qui va rendre lui hommage en nommant la suite de processus logiques d’un programme un « algorithme ».

Ada lovelace collabore avec Charles Babbage au milieu du XIXe siècle à la création d’une machine analytique qui est le véritable ancêtre des ordinateurs, avec une mémoire, une unité de calcul, des registres et utilise des cartes perforées, inspiré de celles qui étaient utilisées depuis la fin du XVIIIe siècle dans les métiers à tisser : une série de trous ou de pleins permettant un codage à base de 0 et de 1. Cette arithmétique binaire ayant été mise au point par Gottfried Wilhelm Leibniz en 1679, lui-même inspiré par la première représentation de nombres sous forme binaire par l’empereur chinois Fou-Hi vers 3000 av. J.-C.

Avec le développement de l’électricité, ce codage en binaire, qui peut aussi se traduire par un circuit électrique ouvert ou fermé, va trouver de nombreuses applications, comme le morse dans le télégraphe. En 1954, le mathématicien anglais George Boole décrit les processus logiques d’opérations entre nombres binaires, que l’on nomme opérations booléennes : ET, OU, NON…

En même temps que le développement de l’industrialisation, les machines de calcul vont devenir de plus en plus sophistiquées et rapides, mais cela reste des « calculateurs ». Il faut attendre les années 1930 pour les sauts décisifs vers les « ordinateurs », avec la conceptualisation des procédures mécaniques qu’une machine doit réaliser pour mettre en œuvre un algorithme par le mathématicien anglais Alan Turing : la « machine de Turing ». Ce concept est réellement à la base de l’ordinateur logique.

Dès 1938, l’allemand Konrad Zuse met au point un ordinateur programmable en binaire à base d’éléments mécaniques, le Z1, très vite suivi par des modèles utilisant des relais électriques qui seront développés un peu partout dans le monde.

ordinateur z1 - berlin
Ordinateur électro-mécanique Z1 conçu par Konrad Zuse en 1935 (photo J.L.Richter – musée des sciences de Berlin)

En 1945, le mathématicien américano-hongrois John von Neumann va formaliser les éléments nécessaires à un ordinateur moderne avec sa mémoire, son unité de contrôle et son unité arithmétique et logique qui est en contact avec les entrées et sorties de la machine, nommée EDVAC (Electronic Discrete Variable Automatic Computer). Cette machine est l’aboutissement des étapes précédentes de Babbage à Zuse, sans oublier Alan Turing. Cette « architecture de von Neumann » sera utilisée pour le premier ordinateur (au sens actuel) nommé ENIAC (Electronic Numerical Integrator and Computer).

Dans les années qui suivent, les ordinateurs vont devenir de plus en plus complexes, rapides et se miniaturiser avec l’apparition des transistors, à la fin des années 50, très vite suivis des systèmes intégrés. À cette même période, on relie les ordinateurs entre eux en réseau, en développant une série de protocoles qui va aboutir à la naissance d’Internet dans les années 1990.

Durant toute la période 1945-1970 vont naître toutes les bases de l’informatique d’aujourd’hui : les différents langages de programmation universels (qui ne dépendent plus d’une machine précise), les premiers logiciels permettant d’automatiser les tâches comptables et bureautiques, les périphériques (imprimantes, claviers, souris…), les stockages de l’information de plus en plus rapides et denses….

En 1966 est commercialisée la première console de jeu à brancher sur un téléviseur (noir et blanc à l’époque). En 1969 c’est la naissance d’UNIX, l’un des premiers systèmes d’exploitation qui définit les bases de la gestion des fichiers, des textes, des périphériques…

En 1971, Intel commercialise le premier microprocesseur qui va permettre de populariser les ordinateurs en les miniaturisant et en baissant fortement leur coût. Les années 1970 vont voir apparaître de nombreuses entreprises qui vont redéfinir l’informatique, autant pour les entreprises que pour faire entrer les ordinateurs dans les foyers : Microsoft, Apple, Atari… (IBM avait déjà été fondé en 1929 !). Ce sera aussi la période qui a vu l’émergence des milliardaires de l’informatique actuelle : Bill Gates, Steve Wozniak, Steve Jobs (décédé en 2011) , Paul Allen, Roland Moreno (inventeur de la carte à puce)…

Dans les années 1980, l’ordinateur devient de plus en plus incontournable, avec des systèmes d’exploitation de plus en plus faciles à utiliser (Macintosh et Windows en 1984), les premiers films utilisant des effets spéciaux créés par ordinateur (Tron de Walt Disney en 1982) et le développement grandissant des consoles de jeux vidéo.

La décennie suivante sera l’avènement d’Internet (premiers forfaits d’accès en France en 1995). Le début du XXIe siècle sera celui de la miniaturisation de plus en plus poussée permettant d’intégrer des ordinateurs dans des appareils de poche (smartphones) ou même des montres. Ce sera aussi le développement de services par Internet et les progrès de plus en plus rapides des logiciels d’apprentissages automatiques (improprement nommés « intelligence » artificielle).

Vous trouverez de nombreux autres éléments de l’histoire de l’informatique sur le site http://histoire.info.online.fr/ .

Pourquoi étudier l’informatique ?

Comme vous le voyez, l’histoire de l’informatique est déjà très riche, particulièrement depuis la seconde moitié du XXe siècle, mais il reste encore de très nombreux défis à relever et de marges de progression pour en faire un outil qui puisse participer au développement des connaissances, de l’industrie ou contribuer à améliorer notre vie quotidienne.

C’est un domaine qui évolue très vite et dans lequel les connaissances acquises deviennent vite obsolètes si on ne se tient pas au courant des évolutions technologiques et logiciels. En cela il est très stimulant, car de nombreuses voies restent à explorer : ordinateurs quantiques, bio-informatique, apprentissages automatiques…

C’est aussi un domaine où le manque de personnes formées et compétentes va rester un souci durant de nombreuses années encore, garantissant ainsi aux étudiants dans ce domaine la possibilité de trouver facilement un emploi, surtout s’ils poursuivent des études de haut niveau en informatique (master, écoles d’ingénieur).

L’omniprésence des ordinateurs dans de très nombreux domaines offre à ceux qui savent programmer, des entrées dans des domaines très variés : arts, jeu vidéo, robotique, spatial, industrie automobile, architecture…

Enfin, cela reste un des rares domaines où une petite équipe décidée peut développer une idée et la mettre en œuvre avec peu d’investissement financier, pour programmer une application sur Internet ou pour appareil mobile et, peut-être, devenir les Tim Berners-Lee (père d’Internet) ou Shigeru Miyamoto (cocréateur de Super Mario et Zelda) de demain.

Déroulement de la spécialité NSI en première

La spécialité Numérique et Sciences Informatiques est une préparation à des études plus poussées en informatique, mais donnera également des bases solides à ceux qui s’orienteront vers d’autres domaines où l’informatique restera un outil essentiel.

Durant l’année, de nombreux concepts seront abordés, avec trois grands axes de formation :

  • La programmation, depuis la conception d’algorithmes jusqu’au programme final, en passant par les phases de tests et d’optimisation.
  • La mise en place d’un site web complet avec une interactivité client-serveur, client-navigateur et une compréhension des protocoles associés
  • La compréhension du fonctionnement interne d’un ordinateur, de celui d’un système d’exploitation et de la gestion des entrées et sortie, avec des applications à des systèmes embarqués et des robots.

Une part importante, environ un quart, de l’année sera consacrée à la réalisation d’un projet informatique, au thème libre, par équipe de deux à quatre élèves. Cela nécessitera de la coordination, de la méthode, de la créativité, de l’organisation et de l’initiative personnelle.

Vous verrez que la résolution d’un problème informatique peut parfois prendre du temps et que la réalisation de votre projet pourra parfois nécessiter beaucoup plus de travail que la simple résolution d’exercices que l’on trouve dans d’autres matières. Cela devra souvent s’accompagner de recherches de solutions sur Internet pour lesquelles la maîtrise de l’anglais (simple) est essentielle. En contrepartie, vous serez gratifié d’avoir réalisé une application, un site ou un robot qui fonctionne et que vous pourrez être fier de montrer à votre entourage ou de mentionner dans votre futur CV.

Évaluation finale

Une partie de votre note de Bac viendra de l’évaluation de votre projet, ainsi que du contrôle continu en cours de formation.

Si vous décidez de poursuivre la spécialité NSI en terminale, votre projet pourra y être poursuivi et amélioré et vous pourrez le présenter au grand oral du Bac.

Parallèlement, vous aurez des épreuves écrites de NSI qui se présenteront sous la forme d’un QCM dans lequel vous répondrez à des questions théoriques, devrez analyser des portions de code informatique ou résoudre des problèmes.

Outils logiciel

Le programme de NSI en première se compose majoritairement de séances où vous allez programmer en python (essentiellement).

Le plus simple est d’installer Python depuis le Windows Store si vous êtes sous Windows, sinon directement sur le site de Python (https://www.python.org/).

Pour programmer vous aurez besoin d’un environnement de développement. Les plus utilisés sont Visual Studio Code (https://code.visualstudio.com/) et PyCharm (https://www.jetbrains.com/fr-fr/pycharm/)

Voici une vidéo qui explique l’installation de Visual Studio Code et de Python sous Windows :

Voici une vidéo qui explique comment créer un compte GitHub et le connecter à Visual Studio Code pour le codage collaboratif :

Retour aux chapitres

Chapitre suivant