1 of 91

La programmation en�FGA

Patrick Beaupré, Conseiller pédagogique

http://bit.ly/code-FGA

2 of 91

Plan de la rencontre

  1. Intro -Programmation
  2. Journal de conception
  3. La programmation

4. Scratch

5. Arduino

6. Raspberry Pi

    • INF-5081-1

7. EV3

    • INF-5084-1

3 of 91

Intention

Démontrer les diverses avenues de la programmation dans les cours d’informatique

à la FGA

4 of 91

La programmation : Pourquoi? Pour qui? Comment?

5 of 91

La programmation

Programmer c’est donner une suite de commandes logiques à quelque chose, à un robot,

à un lutin, etc.

La programmation offre plusieurs «stratégies» qui sont réutilisables dans d’autres contextes, d’autres problèmes.

6 of 91

La programmation

Le Royaume-Uni et la Colombie-Britannique

«ont rendu obligatoire l'apprentissage de la programmation pour tous les élèves»

Utiliser les TIC dans le contexte de l'enseignement de la science et de la technologie, p. 140

7 of 91

Algorithme

Un algorithme est la description précise, sous forme de concepts simples, de la manière dont on peut résoudre un problème.

Dans la vie de tous les jours, nous avons souvent besoin de résoudre des problèmes. Surtout si on considère la notion de «problème» au sens large.

https://openclassrooms.com/courses/algorithmique-pour-l-apprenti-programmeur/qu-est-ce-qu-un-algorithme#/id/r-1468183

8 of 91

Les travailleurs sensibles à la programmation possèdent un avantage concurrentiel sur le marché du travail et pourraient être plus susceptibles d'attirer des emplois mieux rémunérés et adaptés à leurs intérêts personnels

Enseigner l'informatique par l'encodage et la robotique en pédagogie, p. 145

9 of 91

Plan de la rencontre

  • Intro -Programmation
  • Journal de conception
  • La programmation

4. Scratch

5. Arduino

6. Raspberry Pi

    • INF-5081-1

7. EV3

    • INF-5084-1

10 of 91

Le journal de conception

11 of 91

Pourquoi un Journal

Prendre des notes

Recueillir des idées

Consigner ses erreurs

Relever des questions

Laisser des traces

Démarches de production

12 of 91

Journal

  • Toujours disponible
  • Absentéisme
  • Évite la perte du document
  • Rédaction à ++ en même temps
  • Rédaction habituelle
  • Perte du document ++ possible

En ligne

Papier

13 of 91

Journal

Les outils

Epad

Google doc

Word en ligne

14 of 91

Plan de la rencontre

  1. Intro -Programmation
  2. Journal de conception
  3. La programmation

4. Scratch

5. Arduino

6. Raspberry Pi

    • INF-5081-1

7. EV3

    • INF-5084-1

15 of 91

La programmation

16 of 91

Cellulaire et cie

Les TIC dans le cadre de l'enseignement des sciences et de la technologie, p.9

17 of 91

Compétence de l’ordre de la communication

  • Communiquer de façon appropriée.

Compétences transversales

Compétences d’ordre intellectuel

  • Exploiter l’information.
  • Résoudre des problèmes
  • Exercer son jugement critique.
  • Mettre en œuvre sa pensée créatrice.

Compétences d’ordre personnel et social

  • Actualiser son potentiel
  • Coopérer

Compétences d’ordre méthodologique

  • Se donner des méthodes de travail efficaces
  • Exploiter les technologies de l’information et �de la communication

18 of 91

Des visées de formation

  • la construction d’une vision du monde;
  • la structuration de l’identité;
  • le développement du pouvoir d’action.

19 of 91

Les domaines d’apprentissage

Les disciplines du domaine de la mathématique, de la science et de la technologie invitent l’adulte:

à mobiliser des savoirs ainsi que des stratégies

pour interpréter son milieu et agir sur lui.

20 of 91

Stratégie Numérique

Gouvernement du Québec, 2017

21 of 91

Place de la programmation

  • Former les jeunes au sujet de la programmation et du codage simplifié

Encadré 7

  • Stimuler la formation continue et renforcer la capacité d’adaptation de la main-d’œuvre.

22 of 91

Place de la programmation

  • Former les jeunes au sujet de la programmation et du codage simplifié

Encadré 7

  • Stimuler la formation continue et renforcer la capacité d’adaptation de la main-d’œuvre.
  • Former les jeunes à la programmation et au codage simplifié

23 of 91

Acquérir de nouvelles compétences

L’usage du numérique et l’adoption de nouvelles pratiques requièrent :

le développement de nouvelles compétences dans tous les milieux

peu importe l’âge, la scolarité ou l’emploi.

24 of 91

Acquérir de nouvelles compétences

Les compétences numériques sont tout aussi essentielles pour s’instruire et travailler que pour mener une vie active en société

Le numérique transforme la manière dont les citoyens accèdent au savoir et enrichissent leurs connaissances.

25 of 91

Établissements d’enseignement

Bien que le numérique soit à l’œuvre dans la transformation des établissements d’enseignement du Québec, il peut faire encore beaucoup plus.

Les acteurs du système éducatif québécois doivent apprendre:

à mieux exploiter le potentiel numérique pour améliorer l’enseignement et l’apprentissage continu, tout au long de la vie personnelle et de la trajectoire professionnelle

26 of 91

Plan de la rencontre

  • Intro -Programmation
  • Journal de conception
  • La programmation

4. Scratch

5. Arduino

6. Raspberry Pi

    • INF-5081-1

7. EV3

    • INF-5084-1

27 of 91

scratch.mit.edu

28 of 91

Scratch

Issu du MIT (comme le Logo)

Programmation graphique

Rétroaction visuelle

Réseau social important

29 of 91

Scratch aide les élèves à réfléchir de manière créative, systématique et à travailler en collaboration qui sont justement les compétences requises pour le 21e siècle

Ornelas-Marques et Marques, 2012 cité par Utiliser les TIC dans le contexte de l’enseignement de la science et de la technologie p.148

30 of 91

Le terrain de jeu

31 of 91

Activités 1�Exploration

Prendre 10 minutes pour faire réaliser un mouvement au «lutin»

32 of 91

Débogage

Relever les possibles inexactitudes dans les lignes de code d’un programme

Programme de la formation de base diversifiée, Informatique, p.234

33 of 91

pour aller plus loin

http://recitmst.qc.ca/Ateliers-du-RECIT-MST-a-la-FCC-17-du-RECIT

34 of 91

Pour aller plus loin

35 of 91

Plan de la rencontre

  • Intro -Programmation
  • Journal de conception
  • La programmation

4. Scratch

5. Arduino

6. Raspberry Pi

    • INF-5081-1

7. EV3

    • INF-5084-1

36 of 91

Arduino

un microcontrôleur à tout faire

37 of 91

  • Carte matériellement libre
  • Microcontrôleur
    • Analyser signaux
    • Produire signaux
  • C++
  • Très bien documenté

38 of 91

Ivrée, Italie

le roi Arduin

39 of 91

http://f-leb.developpez.com/tutoriels/arduino/univers_arduino/part1/

40 of 91

41 of 91

Entrées/sorties numériques D0 à D13

Les connecteurs peuvent être programmés en entrée ou en sortie.

TTL (5 Volts) ou BAS (0 Volt).

À noter que chacun des connecteurs ne peut fournir ou absorber un courant supérieur à 40 mA environ (200 mA pour l'ensemble des connecteurs).

42 of 91

Par défaut et contrairement aux entrées/sorties numériques qui ne peuvent prendre que deux états HAUT et BAS, ces six entrées peuvent admettre toute tension analogique comprise entre 0 et 5 Volts.��

Entrées analogiques A0 à A5

http://f-leb.developpez.com/tutoriels/arduino/univers_arduino/part1/

43 of 91

44 of 91

45 of 91

Application

Afin de compiler et d’envoyer le programme au microcontrôleur, nous devons utiliser une interface

EDI

46 of 91

ATTENTION

Avant de terminer un projet, TOUJOURS envoyer un programme vide à Arduino afin d’éviter de griller des composants

47 of 91

ATTENTION

Ne PAS utiliser d’accents dans le programme ou dans son titre.

Dans les commentaires: ok

48 of 91

Plan de la rencontre

  • Intro -Programmation
  • Journal de conception
  • La programmation

4. Scratch

5. Arduino

6. Raspberry Pi

    • INF-5081-1

7. EV3

    • INF-5084-1

49 of 91

Raspberry PI

Un petit pingouin qui prend une grande place

50 of 91

Raspberry PI

  • Nanoordinateur monocarte
  • Encourager l'apprentissage de la programmation
  • Vendu «nu» (sans clavier, sans souris, etc)

51 of 91

Raspberry Pi

  • 1 port réseau
  • 4 prises USB
  • 1 Sortie HDMI
  • 1 entrée USB (voltage)
  • Sortie audio

52 of 91

Raspberry Pi

Le système d’exploitation est sur une carte micro SD

Vue de dessous

53 of 91

54 of 91

55 of 91

INF-5081-1

Exploration des systèmes d’exploitation

56 of 91

INF-5081-1�Exploration des systèmes d’exploitation

Développer la�polyvalence et l’autonomie en informatique

S’initier aux caractéristiques et au fonctionnement général d’au moins �deux systèmes d’exploitation informatiques.

57 of 91

INF-5081-1�Exploration des systèmes d’exploitation

Développer

  • connaissance pratique
  • regard critique concernant les systèmes d’exploitation.

58 of 91

INF-5081-1�Exploration des systèmes d’exploitation

• Interagir dans un environnement informatique

• Adopter des comportements éthiques, critiques et sécuritaires

COMPÉTENCES DISCIPLINAIRES

59 of 91

COMPÉTENCES TRANSVERSALES�-Exploiter l’information,-

  • Analyser les éléments de la situation
  • Mettre à l’essai des pistes de solution
  • Adopter un fonctionnement souple
    • Faire un retour sur les étapes franchies.
    • Reprendre certaines étapes au besoin.
    • Dégager les éléments de réussite et analyser les difficultés éprouvées

Composantes et manifestations

60 of 91

COMPÉTENCES TRANSVERSALES

Exploiter l’information

Exercer son jugement critique

Exploiter les TIC.

61 of 91

Savoirs

Licences d’utilisation

Système de fichiers

Extensions de fichiers

Principes de stockage : FAT, NTFS, inode, MFS

Droits et privilèges des utilisateurs et des administrateurs

Vocabulaire relatif

aux systèmes d’exploitation

Personnaliser les paramètres d’affichage

Modifier les paramètres d’horloge, de langue et de région

Sélectionner une langue d’entrée pour le clavier

Utiliser de façon efficiente les composantes et les périphériques

Manipuler les dossiers�et les fichiers

62 of 91

Repères culturels

Chronologie des systèmes informatiques et des systèmes d’exploitation

Évènements et chronologie

Anecdotes cinématographiques et littéraires (rôle des ordinateurs dans certains films et

romans de science-fiction)

Objets patrimoniaux

Ordinateurs et périphériques précurseurs

Liste de prix et description de systèmes informatiques dans le temps

Repères régionaux ou nationaux

Éléments relatifs au milieu scolaire

63 of 91

FAmille de situations d’apprentissage

64 of 91

Attente de fin de cours

L'adulte reconnait et utilise les particularités propres à au moins deux systèmes d’exploitation.

65 of 91

INF 5082-2

INITIATION À LA PROGRAMMATION

66 of 91

Le cours INF-5082-2

  • Résoudre des situations-problèmes en se servant d’un langage de programmation structuré

  • Initier à la rédaction d’algorithmes en informatique et à la logique de programmation structurée

67 of 91

Connaissances pratiques de la programmation

traduire un algorithme

corriger un programme informatique

respecter les codes et les conventions du langage choisi

choisir et en appliquer les solutions qui s'imposent

communiquer dans un langage précis

Interagir en interprétant les codes qui lui sont soumis

-Programme de la formation de base diversifiée, Informatique 231

68 of 91

Au terme de ce cours

l’adulte sera en mesure de

  • Traduire un algorithme existant en un langage structuré
  • Réaliser la conception visuelle de l’application
  • Corriger des erreurs de syntaxe
  • Compiler et exécuter le programme

69 of 91

COMPÉTENCES DISCIPLINAIRES

Interagir dans un environnement informatique

Produire des documents informatisés

70 of 91

La démarche de production

Deux étapes

  1. Planification
  2. Production

71 of 91

La démarche de production

Quatre valeurs

  • Communiquer clairement
  • Valider régulièrement la production
  • Maintenir une rétroaction continue et collaborer
  • Accepter le changement

72 of 91

Planification

  • Définir le plus précisément possible le produit à réaliser
  • Doit être flexible
  • Permettre des réajustements tout au long du projet

73 of 91

Exemples de stratégies

  • Comparer la situation actuelle avec celle désirée
  • Déterminer les étapes de réalisation
  • Établir un échéancier de production
  • Choisir une méthode de travail
  • Adapter la planification pendant la production
  • Analyser les résultats obtenus

74 of 91

COMPÉTENCES TRANSVERSALES�-Résoudre des problèmes-

  • Analyser les éléments de la situation
  • Mettre à l’essai des pistes de solution
  • Adopter un fonctionnement souple
    • Faire un retour sur les étapes franchies.
    • Reprendre certaines étapes au besoin.
    • Dégager les éléments de réussite et analyser les difficultés éprouvées

Composantes et manifestations

75 of 91

COMPÉTENCES TRANSVERSALES�-Se donner des méthodes de travail efficaces-

  • Visualiser la tâche dans son ensemble
    • Déterminer les ressources disponibles.
    • Imaginer différentes façons de faire.
    • Se représenter la meilleure façon de procéder

  • Réguler les étapes de la tâche
    • Mobiliser les ressources requises : personnes, matériel, temps, concepts, stratégies
    • Réajuster ses actions au besoin.
    • Mener la tâche à terme.

  • Analyser la tâche
    • Examiner rétrospectivement sa façon de procéder dans l’exécution de la tâche.
    • Reconnaitre l’efficacité et les limites de sa façon de procéder
    • Évaluer les exigences de sa façon de procéder.
    • Imaginer des contextes de réinvestissement

Composantes et manifestations

76 of 91

Savoirs

Introduction à la notion d’algorithme

Respecter la syntaxe de programmation

Rédiger les lignes de code en faisant usage d’indentation

Résoudre les �inexactitudes relevées

Commenter le code

Dépannage informatique

Améliorer l’efficience

d’un algorithme

Relever les possibles inexactitudes dans les lignes de code d’un programme

Interpréter

un algorithme

Concevoir l'interface utilisateur du programme

77 of 91

Indentation

Ajout de tabulations ou d'espaces dans un fichier texte

L'indentation se définit par la manière d'arranger les blocs de code, mais surtout par le nombre d'espaces utilisés à chaque niveau.

Style GNU

78 of 91

Repères culturels

Évènements et chronologie�Histoire de l’informatique�Bogue de l’an 2000� Objets patrimoniaux�Carte ou ruban perforé�Première machine à calculer�Ordinateurs à lampes�Circuit intégré�Programme en langage de programmation linéaire� Repères régionaux ou nationaux�Éditeurs de logiciels québécois, maisons de création d'applications Web�Anecdotes�Éléments relatifs au milieu scolaire

Journal de conception

79 of 91

FAMILLES DE SITUATIONS D’APPRENTISSAGE

Résoudre des situations-problèmes en se servant d’un langage de programmation structuré

80 of 91

Éléments d’une SA

81 of 91

ATTENTES DE FIN DE COURS

82 of 91

Les couts

83 of 91

Logiciel

Raspberry utilise Rasbian.

Logiciel sous licence GNU GPL

donc

0$

84 of 91

Matériel

85 of 91

Matériel

86 of 91

Matériel

87 of 91

Plan de la rencontre

  • Intro -Programmation
  • Journal de conception
  • La programmation

4. Scratch

5. Arduino

6. Raspberry Pi

    • INF-5081-1

7. EV3

    • INF-5084-1

88 of 91

EV3 NXT

89 of 91

EV3 NXT

90 of 91

CONCLUSION

La programmation:

Former pour “demain”

Comprendre les environnements informatiques

91 of 91

Références

  • Stratégie numérique du Québec

https://www.economie.gouv.qc.ca/fileadmin/contenu/documents_soutien/strategies/economie_numerique/sommaire-dynamique/strategie-numerique-du-quebec.html#intro

  • Utiliser les tic dans le contexte de l’enseignement de la science et de la technologie (lien)�