Module Programmation (Distanciel)

Formateur: Philippe Vincent

administrateur + développeur + formateur

= artisan numérique

Quelques langages informatiques que j’utilise régulièrement

Ruby, Bash, Typescript, Markdown, Html, Css,

Qui êtes-vous ?

Présentez-vous

  • Prénom – Nom

  • Pourquoi avez-vous choisi cette formation ?

État des connaissances

  • Quels langages informatiques connaissez-vous ?

    • niveau : débutant, confirmé ?
  • Qu’est ce vous aimeriez apprendre dans ce module de programmation ?

PLAN

Le matin

  • programmer en ligne
  • évaluation => remplir le maximum de défis

L’après-midi

  • un jeu de carte
  • programmer en ligne
  • évaluation => remplir le maximum de défis

PROGRAMMATION niveau débutant, par bloc

PROGRAMMATION niveau débutant, par écrit

Programmer

en

jouant

avec

Snap!

https://snap.berkeley.edu

Exo 1

dessiner ces initiales

Exo 2

faire un bloc

Exo 3

faire un triangle de 30 pas

Exo 4

faire un carré de 30 pas

Exo 5

faire un bloc Triangle avec 1 paramètre

Exo 6

faire un bloc Carré avec 1 paramètre

Exo 7

faire un bloc PolygoneConvexe composé de 2 paramètres :

  • nombreCotés
  • distanceCoté avec une valeur par défaut à 30

BONUS :

Construire le jeu du nombre mystère

Déterminer un nombre au hasard entre 1 et 100
Poser indéfinement la question : "Deviner le nombre mystère ? "
Si le mystère est plus grand que la réponse, répondez : “plus grand”
Si le mystère est plus petit que la réponse, répondez : “plus petit”
Si trouvé, Terminer le jeu
Et préciser : Fécilitations, vous avez trouvé en <n> coups !

AIDE

Quelques blocs utiles

blocs

PROGRAMMATION niveau interdédiaire (english only)

Choix des cartes

  1. Alan Turing
  2. Logiciel libre
  3. Le jargon des programmeurs
  4. Gestionnaire de version
  5. Programmation impérative
  6. Programmation orientée objet
  7. Programmation fonctionnelle
  8. Informatique quantique
  9. Les expressions régulières
  10. Réusinage/Refactoring
  11. Méthode agile
  12. le langage Ruby
  13. le langage Python
  14. le langage Javascript
  15. le langage Typescript
  16. le langage Go
  17. le langage Rust

Carte 1 : Alan Turing

Enigma 
médaille de Turing
langage Turing-complet
test de Turing
la pomme de Blanche-Neige

Carte 2 : Logiciel Libre

Richard Stallman, les 4 règles du logiciel libre
la licence GPL
la licence AFFERO GPL v3
Copyleft
Créative Commons, Art Libre
Wikipedia, OpenStreetMap

Carte 3 : Le jargon des programmeurs (for english people)

CRUD
ACID
DRY
YAGNI
KISS
TDD
RTFM
Carte 4 : Gestionnaire de version
git, fork, commit

"Gestion sémantique de version"
    majeur, mineur, correctif

gestionnaire de paquets
    apt, npm, gem

Carte 5 : Programmation impérative

Assembleur
Basic
Instruction GOTO
PHP

Carte 6 : Programmation orientée objet

Smalltalk
Java
Polymorphisme
Héritage

Carte 7 : Programmation fonctionnelle

LISP
Lambda Calcul
MapReduce
Haskell
Typescript

Carte 8 : Informatique quantique

résolution de problème NP-Complet
complexité
cryptographie asymétrique
cryptographie quantique
Carte 9 : Les expressions régulières
quantificateur '?' '+' '*'
tester une expression avec https://regex101.com/
le motif pour détecter un email est ...
le motif pour détecter un téléphone mobile à la Réunion est ...
sensibilité à la casse

Carte 10 : Réusinage en français ou REFACTORING en anglais

duplication de code
code spaghetti
code mort

Carte 11 : Méthode agile

Extreme Programming
Pair programming
Scrum
Kanban
Stand Up Meeting

Carte 12 : le langage Ruby

Carte 13 : le langage Python

Carte 14 : le langage Javascript

Carte 15 : le langage Typescript

Carte 16 : le langage Rust

Carte 17 : le langage Go

Expression Régulière

  1. ouvrir l’url suivante : https://regex101.com
  2. copier le texte https://www.gnu.org/education/edu-why.fr.html

REGEX Exercice, partie 1

Chercher :

  • toutes les lignes qui contiennent au moins un é
  • toutes les lignes qui contiennent au moins un accent français
  • toutes les lignes qui commencent par une majuscule
  • tous les mots sans accent
  • tous les mots avec ou sans accent
  • tous les mots qui ont au moins 8 lettres avec ou sans accent français
  • tous les mots de 8 lettres sans accent
  • tous les nombres

REGEX Exercice, partie 2

Cherchez sur Internet une expression régulière pour trouver

  • un email
  • un numéro de téléphone
    • modifier pour trouver uniquement les numéros de téléphone réunionnais en 0692 ou 0693

FIN

Merci à tous les programmeurs.