1

Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

1. Introduction

Informatique 1

Rev 1.70Dr Pierre-André Mudry

[email protected]

Page 2: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Objectifs du jour

P.-A. Mudry 1. Introduction 4

Faire connaissance avec le cours

Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction à la programmation

Page 3: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Appr

endr

e à

prog

ram

mer Réaliser des

programmes

MéthodologieSécurité

Élégance

Algorithmes

Java comme langage

Buts du cours INF1

P.-A. Mudry 1. Introduction 5

Page 4: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Organisation du cours

Projets

Cours

TPs

P.-A. Mudry 1. Introduction 6

Page 5: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Intervenants

• Professeurs Dr Pierre-André Mudry

[email protected]• Assistants Marc Pignat Jérôme Amos

P.-A. Mudry 1. Introduction 7

Page 6: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Exemples d’anciens projets

• Wurm Battle• Angry CuiCui• Jeux Lunar Lander, Braid,

Guitar Hero, Mah-jong, backgammon

• Simulation Voiture, avions, …

P.-A. Mudry 1. Introduction 8

Page 7: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Supports de cours

TransparentsLabosSéries

P.-A. Mudry 1. Introduction 9

Page 8: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Bibliographie succincte

[1] C. Delannoy, Programmer en Java, 9ème édition, Eyrolles, 2016[2] W. Savitch, Absolute Java, 6ème édition, Pearson, 2015[3] R. & P. Liguori, Java pocket guide, O'Reilly, 2008…

P.-A. Mudry 1. Introduction 10

Page 9: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Ressources électroniques

https://inf1.begincoding.net

Nouvelles Documentation Matériel cours + quizz & vidéos Anciens examens

P.-A. Mudry 1. Introduction 11

Page 10: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Modes d’interaction

Pendant, avant et après les cours Pendant les séances d'exercices Sur rendez-vous Par email ou MS Teams

[email protected]

P.-A. Mudry 1. Introduction 12

Page 11: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Travaux pratiques (TP)

2 heures chaque semaine Salles info DR01/DR03 Pas de notes pour TPs, mais

bonus Exercices + mini-projets

P.-A. Mudry 1. Introduction 13

Page 12: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Un cours pour qui ?

Aucun prérequis !

P.-A. Mudry 1. Introduction 14

Page 13: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Complément cours informatique

• 2 heures par semaine Au début, optionnel

• Ouvert à toutes les personnesintéressées

• Vendredi après-midi

P.-A. Mudry 1. Introduction 15

Page 14: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Evaluation

P.-A. Mudry 1. Introduction 16

𝑠𝑠𝑠𝑠𝑚𝑚1 = min(13 𝑠𝑠𝑒𝑒𝑒𝑒𝑚𝑚𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 + 2 � 𝑠𝑠𝑒𝑒𝑒𝑒𝑚𝑚𝑠𝑠𝑖𝑖𝑠𝑠 + 𝑏𝑏1 , 6)

𝑠𝑠𝑠𝑠𝑚𝑚2 = min(13 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑠𝑠𝑝𝑝𝑝𝑝 + 2 � 𝑠𝑠𝑒𝑒𝑒𝑒𝑚𝑚𝑓𝑓𝑖𝑖𝑖𝑖𝑓𝑓𝑓𝑓 + 𝑏𝑏2 , 6)

𝑛𝑛𝑓𝑓𝑖𝑖 = min(16

(𝑠𝑠𝑒𝑒𝑒𝑒𝑚𝑚𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 + 2 � 𝑠𝑠𝑒𝑒𝑒𝑒𝑚𝑚𝑠𝑠𝑖𝑖𝑠𝑠 + 𝑏𝑏1 + 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑠𝑠𝑝𝑝𝑝𝑝 + 2 � 𝑠𝑠𝑒𝑒𝑒𝑒𝑚𝑚𝑓𝑓𝑖𝑖𝑖𝑖𝑓𝑓𝑓𝑓 + 𝑏𝑏2 , ) 6)

Page 15: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Objectifs du jour

P.-A. Mudry 1. Introduction 17

Faire connaissance avec le cours

Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction à la programmation

Page 16: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

L'informatique ?

P.-A. Mudry 1. Introduction 19

[Source: Wiktionary]

Informatique Domaine des concepts et autres techniques employées pour le traitement automatique de l’information

Définition

Page 17: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

P.-A. Mudry 1. Introduction 20

Exemple

Page 18: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Buts de l'informatique

• Calcul scientifique• Gestion de l’information• Contrôle (processus,

machines)

P.-A. Mudry 1. Introduction 21

Page 19: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Méthodes de calcul

Mécanique Tube et diodes Transistor

P.-A. Mudry 1. Introduction 22

Page 20: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

"Préhistoire"

P.-A. Mudry 1. Introduction 23

Le boulier chinois 600 av. J-C.

Règle à calcul ≈ 1620

Logarithmes népériens 1614

Mécanique Tube et diodes Transistor

Page 21: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

"Préhistoire" (2)

P.-A. Mudry 1. Introduction 24

1623 Wilhelm Schickard

Première machine à calculer mécanique

1642 Blaise Pascal

La Pascaline, machine à calculer (additions), existant encore

1694 Gotfried W. Leibniz

Machine permettant aussi les multiplications et les divisions

Mécanique Tube et diodes Transistor

Page 22: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

"Préhistoire" (3)

P.-A. Mudry 1. Introduction 25

1801 Joseph Marie JacquardRévolutionnera l’industrie textile

1725 Basile BouchonInventeur du métier à tisser semi-automatique

Mécanique Tube et diodes Transistor

FILM

Page 23: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

The difference engine

• Charles Babbage (1792 – 1891) • Machine jamais réalisée de son vivant (assemblée en

1991 à Londres).• Plan d’un ordinateur mécanique: périphériques d’entrée et

de sortie, unité centrale et zones de stockage.

P.-A. Mudry 1. Introduction 26

Mécanique Tube et diodes Transistor

FILM

Page 24: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Les précurseurs

• Ada Lovelace (1815-1852) Première programmeuse.

• George Boole (1779-1848) Inventeur logique booléenne.

• Alan Turing (1912-1954) Père de l’informatique moderne. Formalise l’algorithmique et le calcul

avec la Machine de Turing.

P.-A. Mudry 1. Introduction 28

Alan Turing

Page 25: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Les précurseurs (2)

• Claude Elwood Shannon (1916-2001) Père fondateur de la

théorie de l’information

P.-A. Mudry 1. Introduction 30

[Sou

rce:

htt

ps:/

/ww

w.a

ctui

a.co

m/a

cteu

r/cl

aude

-sha

nnon

/]

Page 26: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Cartes perforées

P.-A. Mudry 1. Introduction 31

• Stockage données• Recensement

américain de 1890.• Cette technologie

sera améliorée jusqu’à la fin de la deuxième guerre mondiale.

Mécanique Tube et diodes Transistor

Page 27: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Tubes à vide

• Le premier tube à vide (diode) est créé par John Ambrose Fleming (1849-1945) en 1904.

P.-A. Mudry 1. Introduction 32

Mécanique Tube et diodes Transistor

Page 28: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Tubes à vide : calculateurs (2)

• Construit par les anglais pendant la deuxième guerre mondiale. Arithmétique binaire,

horloge, lecteurs de bande, opérateurs booléens, de sous-programmes et d’imprimantes.

P.-A. Mudry 1. Introduction 33

Mécanique Tube et diodes Transistor

Colossus Mark 1

Page 29: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Tubes à vide : calculateurs

• Konrad Zuse (1910-1995) en 1941.

• Premier ordinateur programmable 2200 relais 5.3 Hz Mots de 22 bits.

P.-A. Mudry 1. Introduction 34

Mécanique Tube et diodes Transistor

Z3

Page 30: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

ENIAC

• Développé par P. Eckert et J.Mauchly, 1946 19’000 tubes 30 tonnes 72 m2

consommation de 140 kW (!)

P.-A. Mudry 1. Introduction 35

Mécanique Tube et diodes Transistor

Electronic Numerical Integrator and Computer

Page 31: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Transistors

• Premier transistor réalisé au Bell Labs, en 1947.

• Pas cher, solide. Remplace les tubes rapidement.

• Une des inventions majeure du 20ème

siècle.

P.-A. Mudry 1. Introduction 36

Mécanique Tube et diodes Transistor

Page 32: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Circuits intégrés (LSI)

• Premier microprocesseur:Intel ™ 4004

• Produit en 1971 (!) 2300 transistors MOS Technologie 10 microns CPU 4 bits 750 kHz

P.-A. Mudry 1. Introduction 37

Mécanique Tube et diodes Transistor

Page 33: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

VLSI actuel

• Intel™ Core i9, Basin Falls(9ème génération) Produit dès début 2019. > 3 milliards transistors. Technologie 14 nm. 64 bits CPU. 18 cœurs physiques, 36

threads @ 4.5 GHz (pour 9980XE).

P.-A. Mudry 1. Introduction 38

Mécanique Tube et diodes Transistor

Page 34: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Objectifs du jour

P.-A. Mudry 1. Introduction 39

Faire connaissance avec le cours

Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction à la programmation

Page 35: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Ordinateur ?

P.-A. Mudry 1. Introduction 40

Page 36: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Les éléments fondamentaux

P.-A. Mudry 1. Introduction 42

Processeur (CPU)Mémoire (RAM)

Page 37: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Objectifs du jour

P.-A. Mudry 1. Introduction 43

Faire connaissance avec le cours

Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction à la programmation

Page 38: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Java

• Langage assez récent (1996)• Langage le plus utilisé au monde http://www.tiobe.com/index.php/cont

ent/paperinfo/tpci/index.html

P.-A. Mudry 1. Introduction 45

Page 39: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Kotlin

• Langage très récent (2011)• Développé par IntelliJ• Au cœur d’Android, supporté par

Google™ Summer school, projet bachelor

P.-A. Mudry AdvPrPa 46

Page 40: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Modèle de l'automate

• Modèle de base d'exécution

• Le processeur Lit instruction dans la

mémoire Exécute l’instruction Lit instruction dans la

mémoire Exécute …

P.-A. Mudry 1. Introduction 47

Page 41: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Programmer ?

P.-A. Mudry 1. Introduction 48

Page 42: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Programme

• Programme = liste d’instructions qui sera exécutée par le CPU.

• Le CPU ne comprend que les instructions qui font partie de son langage: le langage machine (une suite de 1 et de 0).

• Un langage machine par CPU.P.-A. Mudry 1. Introduction 49

Page 43: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Création et exécution d’un programme

P.-A. Mudry 1. Introduction 51

Compilation

Assemblage

Page 44: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Compilation

• Un programme est en fait du texte :

• Ce texte, écrit dans un langage particulier (tel Java), est transformé en une suite de 1 et de 0.

• Possède un niveau d'abstraction élevé.• Le compilateur est l’outil qui est utilisé pour

faire cette transformation / traduction.P.-A. Mudry 1. Introduction 52

public static void main(String args[]){

String s1 = "Hello World";System.out.println(s1);

}

Page 45: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Assemblage

• Pour certains langages, comme le C par exemple, cette traduction passe par un langage intermédiaire, l'assembleur.

• Langage bas niveau, moins flexible.

• Ce langage est spécifique à un processeur (x86, ARM…)

P.-A. Mudry 1. Introduction 53

move r1, r2;add r3, #45;jump rev;sub r3, #3;

Exemple d'assembleur

Page 46: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Langage de programmation (Java)• Le langage machine n'est (presque)

jamais écrit…à la main

• Il faut fournir des instructions dans un langage de plus haut niveau, plus faciles à appréhender par l’utilisateur.

• Ces instructions font partie des langages de programmation (par ex. Java, C, C++,…).

P.-A. Mudry 1. Introduction 54

1010 1111 1110 0101 1010 10011110 0101 0000 1010 1111 01011010 0110 1011 1101 1110 10011110 0101 0000 1010 1111 0101

Pas pratique…

Page 47: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Particularité Java

• Habituellement, un programme compilé ne peut être exécuté que sur un type de processeur.

• Java utilise une machine virtuelle qui crée une étape intermédiaire.

• De ce fait, le code compilé en Java peut être exécuté sur toutes les machines.

P.-A. Mudry 1. Introduction 55

Page 48: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Exécution d’un programme Java

P.-A. Mudry 1. Introduction 56

Langage Java

Bytecode

Just-in-time compiler

Langage machine

Compilation

Interprétation

Compilation

Page 49: Informatique 1 · 2020. 9. 15. · Travaux pratiques (TP) ... Faire connaissance avec le cours Buts et organisation Histoire de l'informatique Les systèmes informatiques Introduction

Résumé du jour

1. Faire connaissance2. Concept programmation

Ensuite ? Premiers pas en Java

P.-A. Mudry 1. Introduction 57