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
Amis! 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
- 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
Nous 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
Nous 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
L’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
Alors, 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
-
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é.
-
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.
- 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.
GO TO FULL VERSION