Pages

HOW TO COMMIT !

DM du WE

 Unique !

Définir une fonction unique recherchant les valeurs uniques d'un tableau.

  1. const t = [2,0,2,0,2,3];
  2. const u = unique(t);

💥Proto de SuperDupont



const dim = 10;
const t =  Array.from({length: dim}, (v, k) => Math.ceil(Math.random(k)*dim));
let u = [...new Set(t)];



Soyons fainéants 😈

 Création d'un tableau ! ES6 cool 


création d'un tableau de 10 éléments 
const t=  Array.from({length: 10}, (v, k) => k); 

création d'un tableau de 10 éléments pairs
const even =  Array.from({length: 10}, (v, k) => k*2); 

création d'un tableau de 10 éléments impairs
const odd =  Array.from({length: 10}, (v, k) => k*2+1); 

création d'un tableau quelconque de dim éléments 
const dim = 10;
const random =  Array.from({length: dim}, (v, k) => Math.ceil(Math.random(k)*dim)); 

GUESS

 


👉help

TD

 Création d'un jeu. 

 Règle du jeu : le joueur a trois chances pour trouver un nombre secret !

 

Imaginez que vous soyez chef de projet, vous rédigez en urgence un prototype pour les membres de votre équipe. Ce prototype permet à tous de fixer les idées (proto).

👷 Il faudra l'implémenter en JS.


INFOs

 

JS tout en Un

En ligne

javascript

Texte

 js tout en un

Projet


Base de Données

Base de noms : un tableau d'objets !

Base de données ( JSON )

 

A partir d'un tableau d'objets écrire les fonctions permettant de déterminer :

  1. Le nombre d'hommes
  2. Afficher les âges des hommes
  3. Calculer l'âge moyen des hommes.

Étudier la flexibilité de votre code :

  1. Cas des hommes nés avant 1900
  2. Cas des femmes
  3. Cas des femmes nées avant 1900
  4. ...


Les références

Les pointeurs

Git

help

bug 🐛

Trop fort, je viens d'écrire une fonction d'attente.💤
  1. function wait(s){
  2.   let now = new Date();
  3.   let futur = now.getSeconds()+s;
  4.   while (now.getSeconds() < futur) {
  5.     now = new Date();
  6.   }
  7. }


  8. console.log(`start at ${new Date().getSeconds()}`);
  9. wait(10);
  10. console.log(`end at ${new Date().getSeconds()}`);

Tester  dans node ce code qui attend 10 secondes.

DM du WE

Voici un code naif qui permettrait de commander une pizza et de changer un ingrédient !

  1. const queen = ["🐷","🍄","🍅","🧀"];
  2. const myOrder = queen;
  3. const yourOrder = queen;
  4. yourOrder[0]="🌶";


Notre code va créer la perte de PizzaHUUUT ! 


Trouvez un moyen pour que UberEat livre votre pizza !




Python tutor

 Découverte de python-tutor

TD : https://dupontdistanciel.blogspot.com/2020/10/python-tutor.html

VS

 J'aime être un fainéant 💤!

Et, oui, mais pour cela, il me faut des outils de gros fainéant. Et si on commençait avec un éditeur de rêve !

Visual studio

VS est un éditeur qui tire sa force de IntelliSense, nous verrons cela plus tard.

Pour le moment découvrons quelques "fainéantises"

Emmet

Créer un nouveau fichier avec l'extension .html.

Dans la fenêtre d'édition qui s'ouvre, tapez uniquement ! 
Votre curseur collé à ! tapez  la touche tab ⇆

Le corps d'un fichier HTML apparaît, allez dans la balise <body> puis écrire le code
ul>.item{ liste $}*3
Votre curseur collé à 3 tapez  la touche tab ⇆


En action




Multi-Cursor Editing


C'est super pratique. Votre curseur clignote à un endroit, pressez la touche Alt, allez sur un autre endroit et cliquez à gauche de la 🐭 : vous avez deux curseurs !

La documentation officielle :
To edit multiple instances of text within different sections of a document, you can use multi-cursor editing. This allows multiple cursors to be placed in different spots so text can be added, modified, or deleted.
To engage multi-cursor editing, press the Alt key (or Option key on a Mac) and use the mouse to place cursors throughout the document. Every click creates a cursor resulting in multiple cursors.

MultiCursorEditing

Découvrez des cours en ligne

Un programme est un texte, l'histoire qu'il raconte un algorithme. La programmation son écriture. Et le langage varie suivant sa rédaction.

La rédaction dépendra du style de programmation (programmation impérative, fonctionnelle, programmation logique, programmation orientée objet …)

Prenons un exemple : "On doit retrouver la grand-mère maternelle, connaissant la mère".


Le tableau suivant résumerait les différents styles d'écriture :

impératif

fonctionnelle

logique

objet

Partie Déclaration

 Y


Partie Affectation

Y = mère de X;

Y  = mère de Y;

Fonction

afficher, mère


Pour X afficher la mère de la mère de X

Prédicat

mère(U,V)


si mère(x,y) et mère(y,z) alors grand-mère(x,z)

Class

individu

    méthode : mère


grd-mère : [[this mère] mère] 


La mauvaise nouvelle est qu'il va falloir ajouter une ième colonne. JS est un langage objet à prototype

Il n'y a pas de classes en JS. La fonction est la pierre angulaire car c'est elle qui possède un prototype qui permet de mettre en place une chaîne d'héritage.


Mais, si on s'amuse à comparer les index des cours de langages de programmation. Voici les index des cours de langage C et de JS du site Openclassroom.

Le constat serait frappant : les plans de cours se ressemblent. 

En effet, si l’ordinateur représente les données en binaire, nous voulons penser nos données de façon plus naturelle (des nombres, des dates …), les manipuler facilement à l'aide de boucles dans des structures de plus hauts niveaux (les tableaux …) ; et ceci quelque soit le langage utilisé.

Il faut donc apprendre pour un langage les

  1. Éléments lexicaux

  2. Types

  3. Structures de contrôle

  4. Fonctions


Le plan du cours suit ce schéma.

  1. Les littéraux

    1. Les chaînes de caractères (Strings) en JavaScript [M0L05]

    2. Les nombres en JavaScript [M0L06]

    3. Les booléens en JavaScript [M0L07]


  1. Les Variables

    1. Les variables en JavaScript [M0L08]


  1. Les conditions

    1. Les conditions en JavaScript [M0L10]


  1. Les boucles

    1. Les boucles en JavaScript [M0L13]


  1. Les fonctions

    1. Les fonctions en JavaScript (partie 1) [M0L15]

    2. Les fonctions en JavaScript (partie 2) [M0L16]

    3. Les fonctions en JavaScript (partie 3) [M0L17]


Vous avez au moins un an de programmation derrière vous. Si le nombre de vidéos est important, les notions abordées ne sont pas nouvelles.

 


Les cours en ligne

Vous pouvez suivre la formation JS proposée par Jérémy


Suite à ma demande, Jérémy vous propose :
"... de regarder directement depuis l'adresse de ma playlist YouTube publique du module débutant :

Ça leur évitera d'avoir à rentrer leur email sur mon site et de subir mes emails marketing ensuite ;-)."



Interview

Jérémy combien de temps consacres tu à la création d'une vidéo ?

" ... Pour 15 min de vidéo (une leçon), ça me prend en général 4 jours à plein temps, soit une trentaine d'heures.
Ecriture du script 1 jour et demi à 2j (collecte des infos + synthèses + création du code qu'on va voir dans la vidéo), montage vidéo une demie-journée, transcription (sous-titres) 1h, création d'exercices quand il y en a 2h à 4h."

Programme 


Voici la liste de vidéos à étudier pour commencer : 


Remarque : Jérémy installe sous Mac, l'installation sous Windows ne devrait vous poser aucun problème.


Installer nodejs/différences avec Chrome






Environnement de travail

 

L’environnement de travail

 Notre environnement de travail sera 

Vous devez installer tous ces logiciels sur votre machine !

Interfaces de communications

PythonTutor

Une seule démo devrait vous convaincre de sa puissance "Pédagogique".

⇀ création d'un dictionnaire



Prise en charge des langages (demo)


JS

 

JS tout en Un

En ligne

javascript

Texte

 js tout en un

Introduction node

node

TD node


JS


-------------------------------------2021----------------------------------------