Pages

Examen !

Nous l'avons constaté : vous êtes connecté au reste du monde !

Pour l'examen, je ne peux pas vous demander raisonnablement de m'écrire la fonction range.


Il suffirait de lancer une recherche pour avoir des dizaines de code de la fonction ⇥ range

Même SuperDupont peut vous en mettre plein la vue avec l'utilisation d'un itérateur ⇥iterator


Je travaille à vous faire un examen, avec
  1. Exercices de base (range, map, reduce)
  2. Projet : complément de code sur un sujet déjà traité
  3. Sujet jamais traité

Plagiat (mieux vaut ...)

J'ai été responsable de l'alternance, je vous renvoie, pour information, une page concernant le plagiat.

Autrement dit : vos rapports et mémoires sont passés sous https://www.compilatio.net/ un outil intraitable. 
Une année un étudiant de M1 avait 26% de taux de plagiat, il ne comprenait pas, il avait en effet, payé 20€ un outil équivalent qui lui avait garanti que personne ne verrait la fraude ! Erreur.

Concernant, votre code, certains l'on déjà compris car je leur ai fait personnellement la remarque.
Inutile de changer le nom de fonction et de variable, un plagiat vient de la fonctionnalité ! Merci.



Remarques

Lors du TD, https://dupontl3alt.blogspot.com/2020/05/semaine-22.html je vous annonçais que nous allions étudier le pattern MVC par l'exemple. Passant ainsi d'un code de base à votre premier code "PRO".

La distance et la planification d'examens entre nnos périodes ne permettent pas d'envisager cette étude dans de bonnes conditions.

Je conseille à tous ceux qui fréquentent le JS d'étudier la structure du code  : un code de Pro 




Semaine 24

La liste chaînée

Vous avez suivi un cours intensif d'algorithmique des masques graphes. Inutile de vous rappeler ce qu'est une liste chaînée.


Ecrire la classe

Ecrivez le code de la classe LinkedList.

Elle dispose d'une méthode append et d'une méthode toString.


Voici un code pour tester votre code : 
  1. const linkedList = new LinkedList();
  2. linkedList.append(1);
  3. linkedList.append(2);
  4. linkedList.append(3);
  5. console.log(linkedList.toString()); //1,2,3
Remplissez le formulaire avec votre code. 



L'idée de ce nouveau projet est de se familiariser avec l'écriture de class en JS.
Ne cherchez pas à m'impressionner avec du code à la SUPERDupont !


Semaine 24

Je voulais vous parler de la portée lexicale et de la notion de fermeture (closure) qui est un des pilier de JS.

Je préfère vous faire réfléchir directement sur un projet → liste chaînée


Test

Semaine 22 : TD


Etudes de class par l'exemple :

liste de tâches

Code en action avec une étude de localStorage

Nous reprendrons ce TD pour en faire un code de Pro MVC+Objet

Dessiner 

Code en action : dessiner des formes


semaine 22 : cours

Résumé semaine dernière 







Au programme de cette semaine

Découverte d'un fondement de JS :

le prototype

ES6 et son sucre syntaxique

class

Préparations aux examens !


Je vous propose également de réfléchir sur deux exercices des examens des années précédentes.




Semaine 21

Lecture complémentaire


Objectif de la semaine

Demander le programme !



 👦 Votre interlocuteur sera votre collège Kilian, qui a bien voulu vous épauler !

Cours

Semaine 20 :

Challenges

Correction 


Le projet Guess : ( lien )
-- Vous avez pu montrer vos talents. Bravo !

Notez :
  • l'importance de bien nommer les objets de vos programmes (ex :  "guessSecretNumber" et non  "nb") et surtout ne jamais utiliser de nombre directement dans votre programme. Très peu d'entre vous l'on fait, c'était ici un piège très tentant de manipuler directement la valeur "3" en lieu et place de "guessLimit" !
    • L'idée générale en nommant les choses et  de glisser naturellement vers l'objet guess avec ses propriétés et méthodes.
  • la fin de l'utilisation de var, pour les non convaincus, envoyez moi une correction pour faire décoller "discovery". 


Nouveau projet 

Je prépare mes soldes ( lien )


Cours :

-> les bugs : ( lien )


Introduction JS : semaine du 27/04



Programme


Remise du projet


deadline 10/05

Challenge 1



Voici un prototype : http://dupontcours.free.fr/Games/Guess/

Environnement



Mise en place


Vous allez 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 : 


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

VS

J'aime être un fainéant !

Et, oui, mais pour cela, il me faut des outils de gros fainéant.

Visual studio

VS tire sa force de IntelliSense, nous verrons cela plus tard.

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

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

PythonTutor

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

⇀ création d'un dictionnaire



Chrome

Votre navigateur !

J'ai choisi de travailler avec Chrome. 

Pour couper court aux discussions, je vous signale que la Miage d'Evry a été la seule Université Européenne à travailler en direct avec Mozilla Projet Commet. Le photographe devait être SUPERDupont, nous étions à l'époque au Bat. C. de l'Université, IBISC un terrain vague !

Les collaborations continuent, sachez qu'en Master, vous travaillerez avec Michel Buffa, de l'Université de Nice, membre du W3C.

Voici ce qu'il m'écrit :
"Tu as aussi BabylonJS à montrer si tu veux.... plein de mes élèves font un concours de prog avec ça en ce moment. Je ne peux pas te montrer encore ce qu'ils ont fait, mais va sur la page officielle, en bas y'a plein plein de démos (https://www.babylonjs.com/)"

Il me resterait à vous dire que chez Microsoft, c'est du très lourd également !



L’environnement de travail

Notre environnement de travail sera 

Vous devez installer tous ces logiciels sur votre machine !

Deux interfaces de communications

Semaine du 20/04

Ramasser des cerises

Programme

Environnement




Les mesures de continuité d’activité

 ↑ Suivez votre agenda virtuel ↑


Qui sommes nous !

Moi, 

c'est Monsieur Dupont !



Vous !

J'aimerais connaitre votre affinité avec JS, pour cela lisez le document  JS et Moi !

Indiquez ensuite le nombre de cerises mangées à l'aide du formulaire suivant !

Année 2020/21



Une nouvelle aventure commencera à partir du lundi 20 Avril.