background preloader

Rouge, Vert, Bleu, de 0 à 255

Rouge, Vert, Bleu, de 0 à 255
Voici le sommaire du cours que je compte faire construire par mes élèves. Il est ponctué de petits exercices de programmation à produire avec un langage au choix, par exemple Python, Scratch, Snap !, ou javascript (dans CarMetal). Les solutions proposées seront faites ici avec le langage Snap ! pour la possibilité qu’il nous laisse de créer nos propres fonctions. Pour donner une idée, ce cours est prévu de se dérouler sur 4 séances d’1h30 : une séance d’introduction, de création des groupes et de répartition des exposés, puis 3 séances de pratique (les exposés ayant lieu en début de chaque séance). Définitions préalables : bit, octet, pixel Qu’est-ce qu’un bit ? Définitions préalables : bit, octet, pixel Le bit est l’unité la plus simple dans un système de numération, ne pouvant prendre que deux valeurs, désignées le plus souvent par les chiffres 0 et 1. Un octet est un regroupement de 8 bits codant une information. @Wikipédia Les multiples de l’octet @Wikipédia @Wikipédia @Wikipédia Related:  ScratchMes articles IREM de la RéunionNFI

Scratch et SenseHat : de la station spatiale à ICN Le projet Astro Pi est un corpus d’expériences scientifiques menées dans la station spatiale internationale, sur des ordinateurs Raspberry Pi, et sélectionnées parmi des travaux de projet menés, entre autres, par des collégiens. Les capteurs sont des Sense Hat, traditionnellement programmés en Python [1], mais depuis peu, également en Scratch. Montage Pour monter un AstroPi, il faut fixer sur un Raspberry Pi, une extension Sense Hat. On doit donc d’abord brancher le Sense Hat sur le Raspberry Pi. Pour s’en servir on doit encore y brancher un câble HDMI allant vers l’écran d’un PC un clavier USB, par une des prises USB une souris USB (optionnelle mais pour programmer en Scratch il la faut), par une autre prise USB un câble USB pour alimenter l’AstroPi Le tout prend presque une heure pour l’ensemble de la classe, certains groupes ayant des problèmes techniques ou de lenteur. créer une variable appelée AddOn et lui donner la valeur SenseHAT envoyer au Sense Hat le message gpioserveron.

Des puissances de 2 au code Andromède Mon but lors de l’enseignement de l’ISN est de simplifier au maximum l’introduction d’une notion, sachant que des cours complets très bien faits foisonnent déjà sur le Net, mon but étant d’accéder très rapidement à la partie pratique. Pour commencer cette nouvelle spécialité en Terminale S, je propose de démarrer tout de suite en Python avec les élèves et d’illustrer au maximum chaque partie du cours avec du code Python. Les élèves ayant tous fait de l’algorithmique en seconde et en première, je ne compte pas faire de cours Python à proprement parler dans un premier temps. Je compte leur présenter les instructions au fur et à mesure des besoins, en utilisant un simple appel à Python dans un terminal. Nous travaillons sous Ubuntu 12.04, qui est une distribution GNU-Linux, mais cela peut aussi se faire en bootant sur la clé ISN. Cette première séance devrait se dérouler sur 2 séances de 2 heures et abordera les notions suivantes : Préliminaire : Les puissances de 2 Système binaire

Abaque binaire Pour calculer avec cet abaque il faut poser des pions (ou des petits cailloux "calculi" en latin) sur l'abaque. Un "bit" (chiffre binaire) est considéré comme égal à ♌ 0 si la case est vide ♌ 1 si la case comprend un pion. Mais la valeur d'un bit dépend de l'emplacement de la case, chaque case ayant une valeur double de la case suivante (valeur 1 tout en bas ou tout à droite, 256 tout en haut ou tout à gauche). De l'abaque à l'écriture du binaire En écrivant "1" pour chaque pion et "0" pour chaque case vide, on obtient l'écriture binaire du nombre. Mais environ un siècle plus tard, Geoffroy Guillaume Leibniz propose le calcul binaire, et c'est d'ailleurs de lui que vient l'idée de représenter les chiffres binaires par des poids : Comment Leibniz propose de représenter les nombres binaires Cette propriété sert aux essayeurs pour peser toutes sortes de masses avec peu de poids, et pourrait servir dans les monnaies pour donner plusieurs valeurs avec peu de pièces. De Neper à Lucas puis à Lehmer

Réalisation de frises géométriques en CM2 Objectifs (compétences retenues en conseil de cycle 3 – juin 2016) : Programmer des déplacements de plus en plus complexes d’un robot ou d’un personnage sur écran. Utiliser des instructions du type « devant », « derrière », « à gauche », « à droite », et enrichir ce lexique de notions de distances et de rythme. Conditions matérielles : Les séances décrites dans ce document se sont déroulées avec la classe de CM2B du Lycée français international Marguerite Duras de Hô Chi Minh-Ville (24 élèves). Elles ont pris place dans une salle informatique équipée de 13 ordinateurs. Le logiciel Géotortue a été retenu comme outil d’initiation. Déroulement et contenu des séances : Séance 1 (10 octobre 2016) Présentation de Géotortue et définition de la notion d’algorithme. Séance 2 et séance 3 (17 et 18 octobre 2016) Commentaires sur la séance 1 : optimisation d’un code. Séance 4 (21 octobre 2016) Étude de photographies présentant des frises appartenant au patrimoine culturel de Hô Chi Minh –Ville.

Logique avec Python Qu’est-ce qu’un booléen ? Voir la page sur Wikipédia C’est une variable qui ne peux prendre que deux valeurs : VRAI ou FAUX.En Python, le type d’une telle variable est bool, les deux valeurs possibles sont True ou False. Expressions booléennes Une expression booléenne a deux valeurs possibles : True ou False.Python attribue à une expression booléenne la valeur False si c’est : la constante False la constante None une séquence ou une collection vide une donnée numérique de valeur 0. >>> type(False)<class 'bool'>>>> type(True)<class 'bool'>>>> FalseFalse>>> bool(None)False>>> bool(' ')True>>> bool('')False>>> bool(0)False>>> bool(156.87)True Opérateurs relationnels ou de comparaison Ce sont les opérateurs == , ! * Illustration pour x = 7 et y = 17 Cela donne dans le shell de Python : >>> x=7>>> y=17>>> x==yFalse>>> x! * Illustration avec deux chaînes de caractères >>>a='encyclopédie1'>>>b='encyclopédie2'>>>a==bFalse>>>len(a)13>>>a[:12]==b[:12]True Exercices Python 2/ Écrire un programme qui dira si

Gerbert, Neper, Lehmer, binaire Regard historique sur la question On gagnera à lire, préliminairement à cet article, les suivants : Un regard historique et didactique global évoque Gerbert mais se cantonne à la numération décimale. Une présentation de l’abaque de Gerbert sur le site de l’IREM de La Réunion. Une autre perspective historique évoquant, entre autres, l’introduction de l’abaque de Gerbert comme simplification (par diminution du nombre de jetons) de l’abaque romain. On voit que l’invention de Gerbert d’Aurillac est, à juste titre, considérée comme une amélioration technologique de l’abaque romain, parce qu’on y pose moins de jetons, lesquels sont plus élaborés technologiquement que les jetons sans chiffres : Gerbert a fait, à grand frais, fabriquer des jetons ("apices") en ivoire gravé de chiffres, et cette difficulté peut expliquer le peu de succès de l’abaque de Gerbert depuis son invention il y a plus de 1000 ans [3]. Dans son ouvrage rédigé en latin, Neper utilise comme jetons des petits cailloux :

Comment faire un petit jeu fun avec Scratch et Makey Makey Mon fils débute avec Scratch, et très vite il a eu envie de faire un jeu. On a décidé de faire une version de Fruit Ninja, auquel il aime bien jouer sur l’iPad avec sa sœur. Cerise sur le gâteau, on a utilisé un Makey Makey pour jouer avec des vrais fruits… un peu plus fun, non ? Dans le jeu qui l’a inspiré, des fruits apparaissent sur l’écran, et on doit les couper avec les doigts pour gagner des points. L’utilisation d’un Makey Makey Jouer avec les touches, c’est déjà rigolo. La programmation du jeu avec Scratch Pour faire le programme, on a discuté avec mon fils de la logique, et c’est lui qui l’a réalisé. Le résultat, présenté par mon fils (un peu intimidé d'être filmé Et ça donne ça sur Scratch. Pomme : flèche hautPoire : flèche du basBanane : flèche droiteCitron : flèche gaucheOrange : espace Scratch et Makey Makey, ça permet de réaliser pleins de projets très sympas très facilement.

Des puissances de 2 au code Andromède (2) Correction des exercices Python demandés dans l’article Des puissances de 2 au code Andromède. La correction proposée est évidemment non-exhaustive. Préliminaire : Les puissances de 2 Écrire les 11 premières puissances de 2. Il serait judicieux de savoir reconnaître les 11 premières puissance de 2. 1024 = ? Écrire un programme qui affiche les puissances de 2 de 20 à 220. >>> >>> for i in range(0,21): ... print 2**i ... 12481632641282565121024204840968192163843276865536131072262144524288>>> Écrire un programme qui, connaissant une puissance de 2, renvoie l’exposant (pour m = 2n, l’entrée c’est m, la sortie c’est n). # -*- coding: utf-8 -*- m=int(input('Entrez une puissance de 2 inférieure à 2**50 (1125899906842624)\n'))print(m) i=0while (2**i ! Sortie du code : > python '. Système binaire écrire un programme qui affiche en binaire les entiers naturels de 1 à 20. for i in range(0,21): print(str(i)+' = '+bin(i)) Décimal vers binaire Résultat du programme avec vérification : Un mot sur l’hexadécimal

Découverte de l'informatique sans utiliser d'ordinateur L’activité « Télé-vision » que j’ai menée avec les élèves s’intègre dans la découverte de l’informatique par les élèves de Collège et a remporté le 1er prix du trophée Shannon 100. Le trophée Shannon a été mis en place par l’institut Henri Poincaré et l’association Pasc@line à l’occasion du centenaire de la naissance de Claude Shannon. Claude Shannon est considéré comme l’un des pères de la théorie de l’information. Les candidats à ce trophée devaient concrétiser avec des élèves la thématique de la théorie de l’information, c’est à dire de proposer une réflexion autour des notions d’algorithmique, d’encodage d’informations, de traitement de l’information, de qualité d’information ou bien d’échange de données. Les projets de tous les lauréats sont présentés sur le site du Trophée Shannon 100 Le travail qui a été mené ici concerne deux classes de 6ème du collège Jean Prévost de Villard-de-Lans (38), où je suis professeure de Mathématiques. Les objectifs visés sont les suivants :

La programmation événementielle avec Scratch : moins simple qu'il n'y paraît Avertissement : les exécutions de certains des programmes de cet article peuvent être différentes de celles annoncées car elles dépendent des mises à jour de la version en ligne de scratch2. Et c’est justement le propos de cet article de leur substituer des programmes robustes dans le sens où leur exécution ne dépend pas des mises à jour ou même du langage. Une des nouveautés dans le nouveau programme du collège de mathématiques de 2016 est le thème E : Algorithmique et programmation et dans ce thème, les connaissances et compétences associées Écrire un programme dans lequel des actions sont déclenchées par des événements extérieurs. C’est avec ces actions que les repères de progressivité suggèrent de commencer : "en 5ème, les élèves s’initient à la programmation événementielle". Prenons comme exemple Charly et Bob qui viennent tous deux de passer le brevet des collèges en Amérique du Nord du 7 juin 2017. Instructions concurrentes, instructions interdépendantes Alors cette solution ?

Exercices de base avec Python Correction d’exercices Python proposés par Gérard Swinnen dans son livre « Apprendre à programmer avec Python ». Ce livre est téléchargeable au format PDF ici.La correction est proposée pour Python 2.7 et est évidemment non-exhaustive. Il existe une foule de sites Internet sur le langage Python et lorsque l’on débute en Python, il est bien difficile de trouver des sites qui permettent au néophyte une utilisation concrète et immédiate de scripts Python. J’ai au fil de mes surfs découvert ce livre qui est d’une utilisation totalement immédiate et extrêmement pratique. La plupart des scripts de cette page sont inspirés de ce livre.Pour vous exercer et apprendre à programmer en Python, il vous suffit d’ouvrir un terminal (sous Mac ou Linux) ou un environnement qui permet d’écrire des scripts Python sous Windows, et d’effectuer des copier-coller des scripts proposés après avoir tapé > python dans votre terminal. Python, les bases : lecture de code > Que font les programmes suivants ? etc.

Related: