JavaRush /Blog Java /Random-FR /Matériel supplémentaire pour les cours CS50 : Semaine 0 (...
Bender
Niveau 1
Маунтин-Вью

Matériel supplémentaire pour les cours CS50 : Semaine 0 (cours 1 et 2)

Publié dans le groupe Random-FR
Qui n'a pas encore regardé les conférences de Harvard sur les bases de la programmation, rendez-vous ici : https://javarush.com/quests/QUEST_HARVARD_CS50 =)

Introduction. Structure du cours CS50

Matériel supplémentaire pour les cours CS50 : Semaine 0 (cours 1 et 2) - 1Amis! En introduction, nous allons vous rappeler (ou vous parler à qui que ce soit) la structure du CS50. Le cours dure 12 semaines. Chaque semaine, il y a deux conférences, ainsi que toutes sortes de séminaires et d'explications. Nous publierons des articles comme celui-ci dès que les conférences seront prêtes. Il contiendra une brève description des cours magistraux, des notes sur les « courts métrages » et des informations supplémentaires, ainsi que des traductions de travaux pratiques. Les cours de la semaine zéro couvraient les questions suivantes :
  • Système de numération binaire.
  • ASCII
  • Algorithmes et pensée algorithmique
  • Compilateurs
  • Langage scratch
  • Expressions booléennes
  • Conditions
  • Cycles
  • Variables
  • Les fonctions
  • Tableaux
  • Ruisseaux
  • Événements
Objectifs de la semaine 0 :
  • Comprendre comment les informations peuvent être représentées numériquement.
  • Apprenez les constructions et les concepts logiciels de base.
  • Créez votre propre animation, jeu ou activité interactive avec Scratch.
  • Impressionnez vos amis =).

CS50 Semaine 0 (Leçon 1-2) : notes

Algorithmes

Matériel supplémentaire pour les cours CS50 : Semaine 0 (cours 1 et 2) - 2Nous espérons que vous avez déjà regardé les cours et compris que l'algorithme décompose la solution de problèmes (divers problèmes, mathématiques ou « comment se rendre à la station de métro N ») en étapes. De plus, chaque étape doit être complétée dans un temps limité et il doit y avoir un certain nombre d’étapes elles-mêmes. De plus, la prochaine étape dépend de la précédente. Vous pouvez par exemple en savoir plus sur les algorithmes ici . Si vous connaissez l'anglais, voici une merveilleuse animation TED de David Malan : https://youtu.be/6hfOvs8pY1k Bien qu'en général les informations contenues dans la vidéo répètent celles de la conférence =).

Système de numération binaire

Matériel supplémentaire pour les cours CS50 : Semaine 0 (cours 1 et 2) - 3Nous avons 10 doigts et le système est décimal. Autrement dit, nous pouvons représenter n'importe quel nombre, quelle que soit sa taille, en utilisant les nombres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Selon l'endroit où se trouve le nombre dans le nombre, cela peut signifier des choses différentes : si ce chiffre est le dernier, alors il est situé à la place des unités, l'avant-dernier est à la place des dizaines, encore plus à gauche est à la place des centaines, et ainsi de suite. Essentiellement, n’importe quel nombre peut être écrit comme une somme de chiffres, dont chacun est multiplié par dix à une certaine puissance. Dans le cas des unités - zéro. Par exemple, 1573 = 3*10 0 + 7*10 1 +5*10 2 +1*10 3 . Le nombre par lequel les chiffres sont multipliés est appelé la base du système numérique. Pour le système décimal, la base est logiquement dix. L'ordinateur n'a pas de doigts, mais il y a deux états : conditionnellement « le courant circule » et « le courant ne circule pas », zéro et un. En conséquence, tous les nombres (et informations en général) dans la mémoire de l'ordinateur sont constitués de seulement deux chiffres - 0 et 1. Leur emplacement, comme dans le cas du système numérique décimal, indique le chiffre. Ce n'est que maintenant que le nombre peut être décomposé en une somme de chiffres multipliée non pas par des puissances de dix, mais par des puissances de deux. 0 en binaire = 0 1 en binaire = 1 2 en binaire = 10 7 10 =111 2 Apprenez à convertir du binaire en décimal. Vous comprenez probablement déjà comment cela se fait - nous prenons simplement le chiffre du nombre en partant du chiffre le plus à droite et le multiplions par la base à la puissance correspondant à son chiffre, et additionnons le tout avec chaque chiffre. Exemple : Trouvons l'analogue décimal du nombre binaire 101101 2 Le plus à droite = 1*2 0 Le zéro suivant = 0*2 1 Le troisième en partant de la droite = 1*2 2 Le quatrième = 1*2 3 .. .et ainsi de suite 101101 2 = 1*2 0 + 0*2 1 + 1*2 2 + 1*2 3 + 0*2 4 + 1*2 5 = 1 + 0 + 4 + 8 + 0 + 32 = 45 10 Imaginez huit ampoules disposées en rangée. Chacun d'eux possède son propre interrupteur. Chacune des ampoules est une décharge. Que pouvez-vous imaginer, souvenez-vous de la toute première conférence (il existe un tel appareil là-bas) ou voici un widget pour vous : http://cdn.cs50.net/2016/x/psets/0/pset0/bulbs.html Play avec lui, entraînez-vous à « ressentir » le système binaire. Conversion du décimal au binaire. Ici aussi, tout est très simple, si vous en comprenez l'essence. Ici nous avons le nombre 57 10 . Pour le convertir en système binaire, vous devez déterminer quelle puissance maximale de deux ne dépasse pas ce nombre. 2 6 = 64. C'est clairement trop. Mais 2 5 = 32. Nous avons maintenant déterminé le chiffre le plus significatif. 32 10= 100 000 2 . Nous recherchons maintenant le chiffre suivant. 57-32 = 25. Maintenant, pour 25, nous recherchons une puissance de deux qui ne dépasse pas 25. 2 4 = 16. Cela signifie que notre prochain chiffre est également égal à 1. 32+16 = 48 10 = 110000 2 . 57 – 48 = 9. 2 3 = 8, c'est inférieur à 9. Cela signifie que le chiffre suivant sera également un. 32 + 16 + 8 = 56 10 = 111 000 2 . 57-56 = 1, c'est-à-dire qu'il ne reste qu'une seule puissance, 2 0 . Ainsi 57 10 = 111001 2 . Si soudainement quelque chose reste flou, vous pouvez en savoir plus dans le Wikibook, et si vous êtes fort en anglais, voici un petit ajout à la conférence.

ASCII

Matériel supplémentaire pour les cours CS50 : Semaine 0 (cours 1 et 2) - 4L’ordinateur ne comprend que les zéros et les uns, et sa mémoire peut être représentée comme une très longue chaîne d’ampoules avec interrupteurs, comme vous l’avez vu ci-dessus. Nous comprenons déjà comment représenter les nombres dans un ordinateur. Et le reste des informations ? Des lettres, des images ? Disons qu'il y a 26 lettres dans l'alphabet anglais. Autrement dit, nous pouvons théoriquement représenter des lettres avec des nombres de 0 à 25, uniquement dans le système binaire. La question suivante se pose : comment comprendre si nous avons une lettre minuscule ou majuscule ? Et les signes de ponctuation ? Des signes invisibles comme des espaces ? Bref, il nous faut un système de codage, Cap ! Dans les années 1960, il existait de nombreux systèmes différents de codage des caractères. Le manque d'uniformité s'est avéré être un problème et, en 1963, l'American Standards Institute, ANSI, a développé et introduit le système de codage ASCII (American Standard Code for Information Interchange). Chaque caractère ASCII est constitué de sept bits, ou sept bits, chacun pouvant prendre la valeur 0 ou 1. 7 bits peuvent contenir des nombres de 0 à 127 en binaire, ce qui signifie que nous avons 128 nombres pour coder les caractères. Il semblerait que cela soit suffisant pour coder un discours écrit en anglais ? Comptons : az - 26 options AZ - 26 plus 0-9 - 10 ,;:~& et autres signes de ponctuation - 32 Et un espace de plus. Total - 95 caractères. Les 33 options vacantes restantes sont utilisées pour les caractères de contrôle, tels que le saut de ligne ou le retour chariot : https://ru.wikipedia.org/wiki/ASCII#/media/File:ASCII_Code_Chart.svg Il est important de faire la distinction entre caractères 0 à 9 et valeurs numériques 0 à 9. Les caractères 0 à 9 sont représentés par les valeurs ASCII 48 à 57. Il est intéressant de noter que les quatre bits les plus à droite de ces valeurs ASCII sont des représentations binaires des valeurs numériques 0 à 9. Cela simplifie quelque peu la manière de convertir entre les valeurs ASCII et leurs valeurs numériques réelles. Commençons la programmation ?

Gratter

Matériel supplémentaire pour les cours CS50 : Semaine 0 (cours 1 et 2) - 5Alors, Grattez. On vous a parlé de ce langage de programmation visuel et de ses commandes de base lors du cours. Pour essayer Scratch par vous-même, suivez le lien et cliquez sur « Rejoindre ». Une fois inscrit, vous pouvez commencer à programmer en ligne. Oui d'ailleurs, aujourd'hui Scratch est en partie russifié. L'aide est cependant toujours en anglais. Si vous le souhaitez, vous pouvez jouer et également consulter le code des projets étudiants présentés lors du cours. Voici Pikachu Pastry Catch . Ou un projet de tri des déchets dans différents conteneurs : https://scratch.mit.edu/projects/71161586/ David et l'entreprise vous demandent de ne pas vous inquiéter si vous pensez ne pas pouvoir réaliser des projets aussi complexes : ce niveau nécessite déjà un certain compétence .

Exercice

  1. Pour mieux comprendre les processus qui se déroulent dans Scratch, vous pouvez télécharger le code source de plusieurs projets à partir d'ici . Jouez et voyez. Apprendre le code de quelqu'un d'autre est très utile. C'est l'un des meilleurs moyens de découvrir le contenu de ces programmes dans lesquels vous n'avez pas encore mûri. Une fois que vous commencez à comprendre le fonctionnement de ces applications, vous pouvez passer à autre chose en toute sécurité.

  2. Il est maintenant temps de faire quelque chose vous-même. Le défi est de s’amuser tout en mettant en œuvre un petit projet à partir de zéro. Il peut s'agir d'une animation, d'un jeu, d'une action interactive.

Exigences du projet :
  • Le programme doit contenir au moins deux sprites (personnages, images), et l'un d'eux ne doit absolument pas être un chat =).
  • Il doit y avoir au moins trois scripts (actions).
  • Au moins une condition, une boucle et une variable doivent être exécutées.
  • Au moins un son doit être inclus dans le programme.
Autrement dit, votre projet sera essentiellement plus complexe que ceux écrits dans la conférence, mais plus simple que les jouets présentés sur Pikachu et la collecte des ordures. Votre projet utilisera donc probablement plusieurs dizaines de puzzles qui composent le code Scratch. Si quelque chose ne fonctionne pas, vous devrez peut-être modifier votre approche pour résoudre le problème. L'essentiel est d'y aller sans crainte ! Nous vous invitons à poser des questions et à partager vos projets dans les commentaires.

Scratch : un guide rapide d’action

Le sprite est l'objet central du projet. N'importe quel personnage - un chat, un avion, une balle - est un sprite. Si vous avez ajouté deux chats différents, ce sont deux sprites différents. Matériel supplémentaire pour les cours CS50 : Semaine 0 (cours 1 et 2) - 6Chaque sprite possède des scripts qui décrivent son comportement. Ce sont des blocs d'action. Les costumes sont à quoi ressemblent les objets. Les sprites eux-mêmes ne sont essentiellement que des dessins. Chaque sprite peut avoir plusieurs costumes. Pour créer un sprite, vous devez soit sélectionner son costume original dans la bibliothèque Scratch, dessiner le vôtre dans l'éditeur intégré, télécharger n'importe quelle image, ou même prendre une photo à l'aide de votre webcam et la télécharger. Tous les sprites sont placés sur ce qu'on appelle la scène. La scène est essentiellement notre toile, le décor du programme. Vous pouvez également attacher des sons de la bibliothèque à un sprite ou une scène, ou vous pouvez les charger ou les enregistrer vous-même à l'aide d'un microphone. Pour commencer à exécuter le programme, vous devez cliquer sur le drapeau vert dans le coin supérieur droit de la fenêtre de la scène. Mais avant de faire cela, vous devez placer le bloc suivant dans le programme : Matériel supplémentaire pour les cours CS50 : Semaine 0 (cours 1 et 2) - 7Et y attacher quelques blocs, comme pour une pièce de concepteur. Par exemple : Matériel supplémentaire pour les cours CS50 : Semaine 0 (cours 1 et 2) - 8Dans ce cas, lorsque vous cliquez sur le drapeau, le sprite auquel les actions sont attachées fait 50 pas et miaule. Nous avons beaucoup de blocages. Ils sont répartis en trois onglets : scripts, costumes et sons. Créons un programme simple avec une condition. S'il est satisfait, le chat miaule ; s'il ne l'est pas, il reste silencieux. Les opérateurs sont indiqués en vert. Ceux qui testent si une condition est vraie ou fausse ont des angles vifs sur les côtés. Les structures et boucles de test de condition sont représentées en orange. Ils ont des trous spéciaux où vous pouvez placer d'autres blocs.

Cycles :

Répéter un nombre infini de fois : Matériel supplémentaire pour les cours CS50 : Semaine 0 (cours 1 et 2) - 9Répéter quelque chose un certain nombre de fois : Matériel supplémentaire pour les cours CS50 : Semaine 0 (cours 1 et 2) - 10Répéter une action si la condition est remplie : Matériel supplémentaire pour les cours CS50 : Semaine 0 (cours 1 et 2) - 11Vous pouvez créer des variables dans le bloc de données. Dans l'exemple ci-dessous, nous avons créé une variable x, et immédiatement des actions peuvent être effectuées avec elle. Vous pouvez définir la portée des variables : pour tous les sprites ou pour un seul. Matériel supplémentaire pour les cours CS50 : Semaine 0 (cours 1 et 2) - 12Le drapeau vert n’est pas la seule action. Également dans la section Événements, vous pouvez trouver un certain nombre d'autres conditions de contrôle. Par exemple, vous pouvez choisir quoi faire lorsque vous cliquez sur un bouton ou sur le sprite lui-même avec la souris. Si vous avez besoin d'informations complémentaires, vous pouvez les trouver par exemple ici .

Quoi d'autre

Si votre accès Internet laisse beaucoup à désirer, nous vous recommandons de télécharger l'éditeur Scratch hors ligne sur https://scratch.mit.edu/scratch2download/ . Alors n'oubliez pas de soumettre votre projet à http://scratch.mit.edu/ en utilisant Fichier > Télécharger depuis l'ordinateur.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION