1 00:00:14,320 --> 00:00:17,970 Donc, il est mon plus grand plaisir de vous accueillir tous ici aujourd'hui 2 00:00:17,970 --> 00:00:20,600 pour la première conférence de bien, Présentation 3 00:00:20,600 --> 00:00:22,510 à l'informatique et de la programmation. 4 00:00:22,510 --> 00:00:29,110 Aussi connu comme CS50 ou bien, CPSC 100, officiellement ici à Yale. 5 00:00:29,110 --> 00:00:34,820 >> Donc, nous ne pouvions pas être plus excité de vous accueillir tous ici. 6 00:00:34,820 --> 00:00:36,620 Mon nom est Patrick Rebeschini. 7 00:00:36,620 --> 00:00:39,180 Je suis l'instructeur en chef pour la classe. 8 00:00:39,180 --> 00:00:43,600 Je représente un groupe d'environ 60 membres du personnel 9 00:00:43,600 --> 00:00:46,380 qui va travailler avec vous tout au long du semestre. 10 00:00:46,380 --> 00:00:49,040 Ce nombre est presque 60 d'entre nous. 11 00:00:49,040 --> 00:00:52,440 Pourtant, le long de l'extraordinaire niveau des engagements 12 00:00:52,440 --> 00:00:56,555 que nous mettons dans ce classe, fait CS50 la classe 13 00:00:56,555 --> 00:01:00,690 à l'Université de Yale qui offre le plus grand niveau de soutien 14 00:01:00,690 --> 00:01:01,960 à vous tous. 15 00:01:01,960 --> 00:01:05,940 Et nous ne pouvions pas être plus fier de offrant ici encore cette classe. 16 00:01:05,940 --> 00:01:11,380 >> En fait, comme vous allez bientôt découvrir, CS50 est bien plus qu'une classe. 17 00:01:11,380 --> 00:01:13,120 Il est une communauté. 18 00:01:13,120 --> 00:01:15,250 Et vous ferez partie bientôt de cette communauté. 19 00:01:15,250 --> 00:01:18,730 Ceci est la deuxième année que Yale propose cette classe. 20 00:01:18,730 --> 00:01:21,640 Nous misons sur l'extrême le succès de l'année dernière, où 21 00:01:21,640 --> 00:01:24,340 pour la première fois, ici dans cette université, 22 00:01:24,340 --> 00:01:28,930 premier cycle assistant d'apprentissage ont été adoptées dans les classes. 23 00:01:28,930 --> 00:01:32,650 Tout a commencé avec cette classe l'an dernier. 24 00:01:32,650 --> 00:01:37,050 >> Donc, comme vous le savez, la classe est enseignée conjointement avec l'Université Harvard. 25 00:01:37,050 --> 00:01:39,920 Pour enseigner ce cours nous sommes relying-- nous pouvons 26 00:01:39,920 --> 00:01:44,850 compter sur la grande expertise de David Malan et l'équipe de Harvard. 27 00:01:44,850 --> 00:01:48,930 Ainsi David a été l'enseignement CS50 pour le bien, maintenant 10 ans. 28 00:01:48,930 --> 00:01:51,160 Et chaque année, il a été repousser les limites 29 00:01:51,160 --> 00:01:54,210 et l'amélioration de l'expérience en classe. 30 00:01:54,210 --> 00:01:58,940 Encore une fois, nous ne pouvions pas être plus heureux de poursuivre cette collaboration avec eux. 31 00:01:58,940 --> 00:02:01,840 >> En fait, l'un des la plupart des parties intéressantes, 32 00:02:01,840 --> 00:02:06,560 Je vais dire de courir cette classe maintenant, à la fois à Harvard et à Yale ici, 33 00:02:06,560 --> 00:02:09,420 est le vraiment incroyable fertilisation croisée 34 00:02:09,420 --> 00:02:13,770 des idées, visant à améliorer la expérience d'apprentissage à vous tous. 35 00:02:13,770 --> 00:02:18,130 Donc, à la suite de cette vaste la collaboration entre les deux 36 00:02:18,130 --> 00:02:23,070 université, CS50 est fier de annoncer la nouvelle version de cette année 37 00:02:23,070 --> 00:02:24,770 avec des changements notables. 38 00:02:24,770 --> 00:02:27,580 David va tous nous en parler maintenant. 39 00:02:27,580 --> 00:02:31,450 Donc please-- cet être dit, s'il vous plaît joindre à moi 40 00:02:31,450 --> 00:02:34,220 et bienvenue à donner un salve d'applaudissements 41 00:02:34,220 --> 00:02:37,290 d'accueillir David et Harvard équipe ici à Yale. 42 00:02:37,290 --> 00:02:40,032 >> [APPLAUDISSEMENTS] 43 00:02:40,032 --> 00:02:41,882 44 00:02:41,882 --> 00:02:43,247 >> DAVID MALAN: Je vous remercie. 45 00:02:43,247 --> 00:02:43,746 Merci. 46 00:02:43,746 --> 00:02:46,550 47 00:02:46,550 --> 00:02:51,400 Ceci est CS50, Harvard University de et l'introduction de l'Université Yale 48 00:02:51,400 --> 00:02:53,960 à l'intellectuel entreprises de l'informatique 49 00:02:53,960 --> 00:02:55,490 et l'art de la programmation. 50 00:02:55,490 --> 00:02:59,640 Et ce que cela signifie est que ce cours en fin de compte, est sur la résolution de problèmes. 51 00:02:59,640 --> 00:03:01,849 En effet, beaucoup d'entre vous pourrait sont sortis de l'école secondaire 52 00:03:01,849 --> 00:03:04,931 ou ont passé les deux dernières années se demandant ce que certains de vos amis 53 00:03:04,931 --> 00:03:06,380 a fait l'année dernière ou dans d'autres classes. 54 00:03:06,380 --> 00:03:08,449 Et pourtant, la réalité est, peu importe ce que nous 55 00:03:08,449 --> 00:03:11,740 faire à la fin de la journée dans cette classe, ça va être sur la résolution de problèmes. 56 00:03:11,740 --> 00:03:14,320 >> Et en tant que telle, peut-être prendre rassurer dans le fait 57 00:03:14,320 --> 00:03:16,770 que 73% des élèves prendre cette classe, ici 58 00:03:16,770 --> 00:03:20,235 à Yale, ainsi qu'à Harvard, ont jamais pris une classe CS avant. 59 00:03:20,235 --> 00:03:22,610 Donc, si vous êtes assis ici le public aujourd'hui se demandant 60 00:03:22,610 --> 00:03:24,520 pourquoi vous êtes assis ici dans le public aujourd'hui, 61 00:03:24,520 --> 00:03:26,300 ou peut-être que vous venez de suivi avec quelques amis, 62 00:03:26,300 --> 00:03:28,299 ou peut-être vous avez été un peu curieux de ce que 63 00:03:28,299 --> 00:03:30,194 informatique et programmation, réaliser 64 00:03:30,194 --> 00:03:32,860 que la plupart de vos camarades de classe la gauche et à droite de vous 65 00:03:32,860 --> 00:03:35,840 sont tout à fait dans ce même démographique. 66 00:03:35,840 --> 00:03:38,120 >> Et en effet, si nous regardons les statistiques de dernière année 67 00:03:38,120 --> 00:03:42,760 au sein du corps étudiant de CS50, à la fois ici et à Harvard, 58% des étudiants 68 00:03:42,760 --> 00:03:44,630 se décrire comme moins confortable. 69 00:03:44,630 --> 00:03:46,090 9% est plus confortable. 70 00:03:46,090 --> 00:03:47,699 Et puis 33% se situe quelque part entre les deux. 71 00:03:47,699 --> 00:03:50,240 Et il n'y a pas de définition officielle de ce que ces seaux moyens. 72 00:03:50,240 --> 00:03:52,335 Vous savez que vous êtes en quelque sorte moins à l'aise si vous êtes. 73 00:03:52,335 --> 00:03:54,840 Vous vous sentez un peu mal à l'aise avec peut-être être dans la classe. 74 00:03:54,840 --> 00:03:57,840 Vous n'êtes pas tout à fait sûr si un ordinateur classe de la science est en fin de compte pour vous, 75 00:03:57,840 --> 00:04:00,009 et se rendre compte que vous êtes en très bonne compagnie. 76 00:04:00,009 --> 00:04:01,800 Et en effet, le classement, et l'évaluation, 77 00:04:01,800 --> 00:04:04,466 et le retour, et tout cela Structure de support dans la classe 78 00:04:04,466 --> 00:04:06,550 est finalement très individualisé. 79 00:04:06,550 --> 00:04:09,187 Plus que la plupart tout autre classe par la conception. 80 00:04:09,187 --> 00:04:11,520 Et en effet, ce qui en fin de compte questions dans cette classe est pas 81 00:04:11,520 --> 00:04:14,180 tellement où vous finissez haut par rapport aux autres, 82 00:04:14,180 --> 00:04:18,070 mais où vous, en semaine 11 ou la dernière, et par rapport à vous dans la semaine 83 00:04:18,070 --> 00:04:20,372 0 ici notre première. 84 00:04:20,372 --> 00:04:21,330 Alors qu'est-ce que cela signifie? 85 00:04:21,330 --> 00:04:24,750 Eh bien, cela signifie des personnes 73% étudiants de dernière année qui n'a jamais pris 86 00:04:24,750 --> 00:04:26,917 une classe CS avant, par le début du semestre, ils 87 00:04:26,917 --> 00:04:29,500 ont été barboter dans une langue appelé Scratch, qui nous nous 88 00:04:29,500 --> 00:04:30,340 verra ici aujourd'hui. 89 00:04:30,340 --> 00:04:32,190 Et à la fin de la semestre avait-ils allés 90 00:04:32,190 --> 00:04:34,700 à travers toute cette liste de défis. 91 00:04:34,700 --> 00:04:36,399 A partir d'un langage appelé c. 92 00:04:36,399 --> 00:04:38,190 La mise en œuvre, ce qui est à première vue, aller 93 00:04:38,190 --> 00:04:41,010 être un peu un défi pour certains, mais assez gratifiant une fois que vous 94 00:04:41,010 --> 00:04:44,510 obtenir Super Mario rebondir de haut en bas une pyramide 95 00:04:44,510 --> 00:04:47,005 mis en oeuvre, bien que, avec juste quelque chose appelé l'art ASCII. 96 00:04:47,005 --> 00:04:49,380 La mise en œuvre dernière année-- ce les étudiants l'année dernière alors 97 00:04:49,380 --> 00:04:53,270 a fait après qui a été mise en oeuvre de leur propre chiffrement César et chiffrement vigenere. 98 00:04:53,270 --> 00:04:55,180 Donc, les algorithmes de chiffrement avec laquelle vous pourriez 99 00:04:55,180 --> 00:04:58,920 informations scramble puis unscramble informations pour envoyer des messages secrets. 100 00:04:58,920 --> 00:05:00,010 Le jeu de 15. 101 00:05:00,010 --> 00:05:02,260 Si vous vous souvenez de enfance ou d'une faveur du parti, 102 00:05:02,260 --> 00:05:05,000 ce petit jeu en plastique où vous vous déplacez les numéros haut, bas, gauche et droite 103 00:05:05,000 --> 00:05:07,500 pour essayer de les mettre en ordre, la mise en œuvre effectivement ce jeu 104 00:05:07,500 --> 00:05:09,640 et la résolution de la logique là nécessaire. 105 00:05:09,640 --> 00:05:11,640 Et puis nous avons touché à forensics l'an dernier. 106 00:05:11,640 --> 00:05:13,810 >> Donc, à la mi-semestre, les étudiants qui avaient jamais 107 00:05:13,810 --> 00:05:16,130 utilisé leurs claviers à cet effet avant, 108 00:05:16,130 --> 00:05:19,030 ont été l'écriture de logiciels pour récupérer, pour ainsi dire, 109 00:05:19,030 --> 00:05:21,420 JPEGs ou photographies que nous avions accidentellement 110 00:05:21,420 --> 00:05:24,430 un convertisseur numérique retirés la carte mémoire à partir d'une caméra. 111 00:05:24,430 --> 00:05:28,130 Récupération des messages secrets à l'intérieur d'une image bitmap, 112 00:05:28,130 --> 00:05:30,030 et d'autres tels types des graphiques ainsi. 113 00:05:30,030 --> 00:05:32,770 >> Nous avons ensuite passés à donner toute la classe un dictionnaire. 114 00:05:32,770 --> 00:05:36,330 Juste un fichier vraiment grand texte avec 150.000 mots anglais. 115 00:05:36,330 --> 00:05:39,080 Et tout le monde a été contestée en quelque sorte lire, pour ainsi dire, 116 00:05:39,080 --> 00:05:40,780 ces mots dans la mémoire. 117 00:05:40,780 --> 00:05:42,060 Dans la mémoire de l'ordinateur. 118 00:05:42,060 --> 00:05:44,310 Et puis répondre à des questions de la forme, est-ce un mot? 119 00:05:44,310 --> 00:05:44,934 Est-ce un mot? 120 00:05:44,934 --> 00:05:45,580 Est-ce un mot? 121 00:05:45,580 --> 00:05:47,880 Vraiment tout mettre en œuvre un correcteur orthographique. 122 00:05:47,880 --> 00:05:50,320 Et puis contester chaque autre avec un grand board-- 123 00:05:50,320 --> 00:05:53,040 un tableau des leaders pour voir qui pourrait utiliser le moins de mémoire, 124 00:05:53,040 --> 00:05:56,470 dans le moins de temps pour effectivement vérifier l'orthographe des documents volumineux. 125 00:05:56,470 --> 00:05:59,760 >> Nous sommes passés à partir de là à la mise en œuvre sa propre serveur web. 126 00:05:59,760 --> 00:06:04,070 Donc, ne pas faire des pages Web dans les langues comme le HTML et CSS, si vous êtes familier. 127 00:06:04,070 --> 00:06:06,360 Mais en réalité, la mise en œuvre le serveur 128 00:06:06,360 --> 00:06:09,260 écoute sur Internet pour les demandes de navigateurs 129 00:06:09,260 --> 00:06:11,022 et ensuite répondre à ces demandes. 130 00:06:11,022 --> 00:06:13,230 Ensuite, la mise en œuvre de notre propre e-commerce comme site, où 131 00:06:13,230 --> 00:06:15,490 les élèves peuvent acheter et vendre des actions. 132 00:06:15,490 --> 00:06:18,590 Dessin en temps réel presque cotations boursières de Yahoo Finance. 133 00:06:18,590 --> 00:06:21,200 Et permettre aux étudiants de voir comment leur portefeuille se développe. 134 00:06:21,200 --> 00:06:23,570 Et puis enfin un mash up de Google Nouvelles et Google 135 00:06:23,570 --> 00:06:26,540 Cartes où les étudiants par terme en termes fin 136 00:06:26,540 --> 00:06:30,110 avait la possibilité de cliquer, et rond, et la recherche sur une carte Google. 137 00:06:30,110 --> 00:06:32,060 Et puis voir tous les articles de presse que 138 00:06:32,060 --> 00:06:33,940 sont proximal à ces domaines particuliers. 139 00:06:33,940 --> 00:06:36,180 Donc, vraiment aller de zéro à 60. 140 00:06:36,180 --> 00:06:39,420 >> Et le long du chemin ayant ce que nous avions l'an dernier appelé, les ajouts de pirates. 141 00:06:39,420 --> 00:06:41,211 Qui soulèvent la barre plus loin pour ceux d'entre vous 142 00:06:41,211 --> 00:06:44,390 qui pourrait très bien avoir une bonne quantité d'expérience étant que 9% 143 00:06:44,390 --> 00:06:45,349 de plus confortable. 144 00:06:45,349 --> 00:06:47,140 Ainsi se rendent compte qu'il ya un plafond très élevé 145 00:06:47,140 --> 00:06:49,200 même dans les défis pour les étudiants 146 00:06:49,200 --> 00:06:50,660 provenant d'un fond différent. 147 00:06:50,660 --> 00:06:52,618 Parce que, à la fin de le jour, nous sommes en fin de compte 148 00:06:52,618 --> 00:06:54,910 concentré tout simplement à ce sujet. 149 00:06:54,910 --> 00:06:57,010 >> Mais qu'est-ce dire, la résolution de problèmes? 150 00:06:57,010 --> 00:06:59,100 Donc, nous allons proposer que nous distillons comme ça. 151 00:06:59,100 --> 00:07:01,550 Donc, la résolution de problèmes est vraiment juste ce genre de photo. 152 00:07:01,550 --> 00:07:04,675 Donc, vous avez entrées à un problème, quelque chose que vous voulez réellement résoudre. 153 00:07:04,675 --> 00:07:07,020 Le but est d'obtenir des sorties, une solution à ce problème. 154 00:07:07,020 --> 00:07:09,950 Et puis au milieu est ce que nous appellerons une boîte noire. 155 00:07:09,950 --> 00:07:13,970 Vous ne savez pas nécessairement ou même soin ce qui est à l'intérieur de cette boîte noire. 156 00:07:13,970 --> 00:07:16,670 Tout ce que vous savez est que lorsque vous nourrissez entrée en elle, 157 00:07:16,670 --> 00:07:19,890 vous obtenez l'espérons sortie ou une solution de celui-ci. 158 00:07:19,890 --> 00:07:22,380 Et alors qu'aujourd'hui nous allons regarder tant au niveau des entrées et sorties, 159 00:07:22,380 --> 00:07:24,838 nous allons à long terme, et sur le cours de l'ensemble du semestre, 160 00:07:24,838 --> 00:07:26,880 se concentrer sur ce qui est à l'intérieur de cette boîte. 161 00:07:26,880 --> 00:07:30,040 >> Et celui-ci se situera ce qu'on appelle les algorithmes. 162 00:07:30,040 --> 00:07:33,300 Des instructions étape par étape pour la résolution effectivement quelques problèmes. 163 00:07:33,300 --> 00:07:35,090 Mais ce qui est un exemple de certains intrants? 164 00:07:35,090 --> 00:07:37,840 Alors peut-être une chose simple au début de chaque année scolaire, quelqu'un 165 00:07:37,840 --> 00:07:39,090 pourrait vouloir prendre les présences. 166 00:07:39,090 --> 00:07:42,030 Donc, nous pourrions faire un, deux, trois, quatre, cinq, six, 167 00:07:42,030 --> 00:07:44,010 et comment pourrais-je garder trace de cette information. 168 00:07:44,010 --> 00:07:46,051 Je pourrais juste aller un, deux, trois, quatre, cinq, six. 169 00:07:46,051 --> 00:07:47,720 Et il suffit d'utiliser sorte de chiffre. 170 00:07:47,720 --> 00:07:51,210 >> Ou je pouvais enregistrer cela un peu plus long terme. 171 00:07:51,210 --> 00:07:53,340 Et comment puis-je représenter tous les humains dans cette pièce? 172 00:07:53,340 --> 00:07:54,900 Eh bien, je pourrais faire quelque chose comme, OK. 173 00:07:54,900 --> 00:07:56,070 Je vois une personne. 174 00:07:56,070 --> 00:07:56,600 D'accord. 175 00:07:56,600 --> 00:08:01,180 Je vois une autre personne, un tierce personne, et ainsi de suite. 176 00:08:01,180 --> 00:08:04,070 Mais personne ne compte les gens comme ça. 177 00:08:04,070 --> 00:08:06,952 Donc, littéralement, la plupart d'entre nous si nous sommes allant même dessiner quoi que ce soit, 178 00:08:06,952 --> 00:08:08,910 vont probablement aller un deux trois quatre, 179 00:08:08,910 --> 00:08:14,240 peut-être obtenir un peu de fantaisie, cinq, six, sept, huit, neuf, dix et ainsi de suite. 180 00:08:14,240 --> 00:08:16,960 >> Et c'est en fait un système appelé unaire. 181 00:08:16,960 --> 00:08:20,549 Uno, comme uno impliquant un, où vous juste avoir une lettre de l'alphabet. 182 00:08:20,549 --> 00:08:21,840 Vous avez juste cette marque de hachage. 183 00:08:21,840 --> 00:08:24,570 Et moi, pour l'efficacité, tout simplement dessiné ces marques de hachage, en fin de compte 184 00:08:24,570 --> 00:08:25,500 lignes droites. 185 00:08:25,500 --> 00:08:27,666 Mais je les aurais dessiné comme les petits chiffres de bâton. 186 00:08:27,666 --> 00:08:29,550 Où représenter une personne, une entrée, 187 00:08:29,550 --> 00:08:32,210 Je viens de dessiner un bâton figure ou une marque de hachage. 188 00:08:32,210 --> 00:08:33,910 Mais ce n'est pas tout ce qui expressive. 189 00:08:33,910 --> 00:08:38,020 >> Si je n'ai que ces hachage marques, laissez bâton chiffres seuls, 190 00:08:38,020 --> 00:08:41,410 comment pourrais-je représenter quelque chose comme le numéro 15? 191 00:08:41,410 --> 00:08:43,050 Ou 15 personnes dans la salle? 192 00:08:43,050 --> 00:08:48,740 Je pourrais avoir à faire quelque chose comme 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 193 00:08:48,740 --> 00:08:51,270 14, 15. 194 00:08:51,270 --> 00:08:52,830 Il n'a tout simplement pas à l'échelle très bien. 195 00:08:52,830 --> 00:08:55,730 Comme les entrées deviennent grandes, nous besoin d'un meilleur système que celui-ci. 196 00:08:55,730 --> 00:08:57,910 >> Et il se trouve que la système que les ordinateurs utilisent 197 00:08:57,910 --> 00:09:00,510 est pas si différent de ce que vous et je sais. 198 00:09:00,510 --> 00:09:03,301 En fait, la plupart des gens dans cette salle, même si vous êtes parmi ceux qui sont moins 199 00:09:03,301 --> 00:09:06,300 confortable, ne savent pas nécessairement comment votre Mac ou votre PC fonctionne vraiment, 200 00:09:06,300 --> 00:09:09,810 vous avez probablement au moins entendu, que sous le capot sont de 0 et de 1. 201 00:09:09,810 --> 00:09:11,390 Le soi-disant système binaire. 202 00:09:11,390 --> 00:09:15,340 Donc, en effet, les ordinateurs ont plus de juste des marques de hachage dans leur vocabulaire, 203 00:09:15,340 --> 00:09:17,450 mais pas autant de vocabulaire comme nous les humains. 204 00:09:17,450 --> 00:09:19,210 >> En effet, nous les humains n'utilisent pas binaire. 205 00:09:19,210 --> 00:09:21,160 Bi-dire 2, 0 et 1. 206 00:09:21,160 --> 00:09:24,140 Mais décimal, déca ce qui signifie 10, 0 à 9. 207 00:09:24,140 --> 00:09:27,660 Donc, nous avons beaucoup plus expressif capacités dans notre monde humain normal. 208 00:09:27,660 --> 00:09:31,720 Mais je dirais que ces systèmes, binaire et décimal, et tout 209 00:09:31,720 --> 00:09:35,290 entre et au-delà, sont en fait tout tout à fait familier. 210 00:09:35,290 --> 00:09:39,650 Par exemple, considérons cet exemple ici, 123. 211 00:09:39,650 --> 00:09:43,850 Donc, ce qui est vraiment, bien sûr, un certain nombre nous savons que 123. 212 00:09:43,850 --> 00:09:47,160 Mais tout ce que je dessinais était juste ce motif de symboles, glyphes pour ainsi dire. 213 00:09:47,160 --> 00:09:49,100 Sorte de formes sur la carte à la craie. 214 00:09:49,100 --> 00:09:52,951 >> Mais pourquoi avons-nous immédiatement et intuitivement saisir ce que 123? 215 00:09:52,951 --> 00:09:54,700 Eh bien, si vous étiez comme moi à l'école primaire, 216 00:09:54,700 --> 00:09:59,920 vous avez probablement appris que c'est la colonne 1 s, ceci est la colonne 10s, 217 00:09:59,920 --> 00:10:01,330 ceci est la colonne 100s. 218 00:10:01,330 --> 00:10:02,860 Et pourquoi est-ce utile? 219 00:10:02,860 --> 00:10:06,440 Eh bien, il est simple arithmétique vous maintenant faire pour obtenir à partir d'un motif de symboles 220 00:10:06,440 --> 00:10:08,940 à un certain nombre nous comprenons intuitivement. 221 00:10:08,940 --> 00:10:14,160 Est ce que, 100 fois 1, puis 10 fois 2 et 1 fois 3, 222 00:10:14,160 --> 00:10:17,860 ce qui bien sûr est à seulement 100, et ceci est 20, ce qui est trois. 223 00:10:17,860 --> 00:10:19,740 Et si l'on ajoute ceux together-- ah. 224 00:10:19,740 --> 00:10:23,880 Donc là que réside le genre de raisonnement derrière pourquoi cet ensemble de symboles 225 00:10:23,880 --> 00:10:26,550 signifie quelque chose de réel et numérique. 226 00:10:26,550 --> 00:10:32,030 >> Eh bien, les ordinateurs font exactement la même chose, mais ils ne peuvent compter aussi haut que l'un. 227 00:10:32,030 --> 00:10:34,400 Alors que je suis en mesure de compter aussi haut que trois. 228 00:10:34,400 --> 00:10:37,380 Et en fait, si je continuais, je vais pouvoir aller aussi haut que neuf dans ce système. 229 00:10:37,380 --> 00:10:40,430 Les ordinateurs ont seulement des zéros et ceux de l'alphabet. 230 00:10:40,430 --> 00:10:41,410 >> Alors qu'est-ce que cela signifie? 231 00:10:41,410 --> 00:10:46,900 Eh bien, cela signifie simplement que si un ordinateur veut représenter, dire le nombre 0, 232 00:10:46,900 --> 00:10:51,300 peut-être en utilisant trois trois characters-- lettres de l'alphabet pour ainsi dire, 233 00:10:51,300 --> 00:10:53,050 voilà comment un ordinateur représente 0. 234 00:10:53,050 --> 00:10:54,620 Donc, pas tout à fait effrayant jusqu'à présent. 235 00:10:54,620 --> 00:10:56,450 Il est exactement ce que nous, les humains feraient. 236 00:10:56,450 --> 00:10:59,410 Et en fait, la plupart d'entre nous serait tout simplement ignorer les zéros de toute façon. 237 00:10:59,410 --> 00:11:01,640 >> Un ordinateur, si elle veut mémoriser le numéro 1, 238 00:11:01,640 --> 00:11:03,330 se révèle va le faire. 239 00:11:03,330 --> 00:11:05,630 Et un ordinateur pour stocker le numéro 2 est pas 240 00:11:05,630 --> 00:11:09,280 va faire le système unaire, dont je parlais tout à l'heure. 241 00:11:09,280 --> 00:11:11,360 Il va vraiment faire cela. 242 00:11:11,360 --> 00:11:13,570 Et cela est probablement où le motif commence 243 00:11:13,570 --> 00:11:15,570 pour devenir moins évident pour la plupart des gens. 244 00:11:15,570 --> 00:11:18,580 Voilà 2, cela est 3. 245 00:11:18,580 --> 00:11:21,600 Curieusement, cela est maintenant 4. 246 00:11:21,600 --> 00:11:24,120 Et maintenant, il fait vraiment semblent être peut-être cryptique, 247 00:11:24,120 --> 00:11:26,762 mais pas si l'on considère ce binaire signifie vraiment. 248 00:11:26,762 --> 00:11:28,720 Cela signifie que vous avez deux lettres de votre alphabet. 249 00:11:28,720 --> 00:11:31,940 Donc, deux caractères possibles pour chaque espace réservé. 250 00:11:31,940 --> 00:11:35,970 >> Donc, cela signifie vraiment que nous allons à besoin d'un endroit 1s, ou le lieu 2s, 251 00:11:35,970 --> 00:11:40,800 un lieu 4s puis 8, et 16, 32 et 64. 252 00:11:40,800 --> 00:11:42,290 Et quelle est la différence là-bas? 253 00:11:42,290 --> 00:11:47,150 Comme ceux-ci sont 1, 2, 4, 8, 16, 32, 64. 254 00:11:47,150 --> 00:11:50,690 Et avant que nous avions 110, 100,000, 10,000. 255 00:11:50,690 --> 00:11:53,170 Quelle est la similitude là? 256 00:11:53,170 --> 00:11:54,940 Et quel est le motif? 257 00:11:54,940 --> 00:11:55,505 Ouais. 258 00:11:55,505 --> 00:11:57,380 ÉTUDIANTS: Pouvoirs du 2 au lieu de puissances de 10. 259 00:11:57,380 --> 00:11:57,660 DAVID MALAN: Oui. 260 00:11:57,660 --> 00:11:59,290 Pouvoirs du 2 au lieu de puissances de 10. 261 00:11:59,290 --> 00:12:02,160 Et donc si je voulais garder aller, 8, 16s et ainsi forth-- 262 00:12:02,160 --> 00:12:05,822 mais maintenant, si vous avez ce genre d'indice, maintenant le système binaire 263 00:12:05,822 --> 00:12:07,280 est en fait assez simple. 264 00:12:07,280 --> 00:12:10,910 Pourquoi est-ce modèle de 0 de dans le monde des ordinateurs 0? 265 00:12:10,910 --> 00:12:14,910 Eh bien parce que c'est 4 fois 0, 2 temps 0, 1 fois 0 et vous obtenez 0. 266 00:12:14,910 --> 00:12:16,650 >> Pourquoi est-ce le numéro 1? 267 00:12:16,650 --> 00:12:20,070 Même raisonnement, mais maintenant nous un 1 dans la colonne 1. 268 00:12:20,070 --> 00:12:21,840 Pourquoi est-ce 2? 269 00:12:21,840 --> 00:12:24,450 Nous avons un 1 dans la colonne 2s. 270 00:12:24,450 --> 00:12:30,190 Et comment puis-je représente dire le numéro 7 en binaire? 271 00:12:30,190 --> 00:12:31,324 Dites plus fort. 272 00:12:31,324 --> 00:12:32,170 >> ÉTUDIANTS: Trois 1s. 273 00:12:32,170 --> 00:12:33,086 >> DAVID MALAN: Trois 1s. 274 00:12:33,086 --> 00:12:37,110 Donc, 1, 1, 1, parce que nous avons besoin 4 plus 2 plus 1 me donne 7. 275 00:12:37,110 --> 00:12:37,610 D'accord. 276 00:12:37,610 --> 00:12:40,410 Donc, à partir de là comment pouvons-nous représentent 8 avec 3 placeholders? 277 00:12:40,410 --> 00:12:43,310 278 00:12:43,310 --> 00:12:43,922 Ouais. 279 00:12:43,922 --> 00:12:45,070 >> ÉTUDIANTS: 1, 0, 0, 0. 280 00:12:45,070 --> 00:12:46,970 >> DAVID MALAN: Oui 1, 0, 0, 0. 281 00:12:46,970 --> 00:12:49,380 Et pourtant, peut-être, je genre de techniquement besoin 282 00:12:49,380 --> 00:12:52,380 pour ajouter un autre espace réservé à la carte. 283 00:12:52,380 --> 00:12:55,480 Si je veux que je s'adapter bien besoin de faire quelque chose comme ça. 284 00:12:55,480 --> 00:12:58,990 Donc je vraiment besoin d'utiliser maintenant la colonne 8s, et qui est très bien. 285 00:12:58,990 --> 00:13:02,680 Mais ce qui est curieux dans l'informatique est que cela va nous coûter quelque chose. 286 00:13:02,680 --> 00:13:04,390 Vous avez besoin de plus de RAM dans votre ordinateur maintenant. 287 00:13:04,390 --> 00:13:06,348 Vous avez besoin de plus de mémoire parce que vous besoin de quelque chose 288 00:13:06,348 --> 00:13:09,650 physique pour stocker que bit supplémentaire, pour ainsi dire. 289 00:13:09,650 --> 00:13:10,700 chiffres binaires. 290 00:13:10,700 --> 00:13:13,260 Et en effet, tout ce qui est arrivé ici, comme le système décimal, 291 00:13:13,260 --> 00:13:17,380 si nous continuons d'ajouter des numéros et des et, nous passons à 5 à 6 pour 7 à 8 292 00:13:17,380 --> 00:13:19,330 il est comme portant le 1, littéralement. 293 00:13:19,330 --> 00:13:21,940 Et puis tout le reste redescend à zéro. 294 00:13:21,940 --> 00:13:25,870 >> Mais comment pouvons-nous représentons réellement ces choses physiquement dans un ordinateur? 295 00:13:25,870 --> 00:13:29,380 De plus, à la fin de la journée, le seul entrée physique d'entrer dans mon ordinateur 296 00:13:29,380 --> 00:13:33,630 voici ce cordon d'alimentation, de sorte l'électricité ou des électrons de la paroi. 297 00:13:33,630 --> 00:13:36,920 Et alors comment puis-je obtenir de quelque chose physique comme celle réellement 298 00:13:36,920 --> 00:13:40,630 représentant une idée de ce type à la place. 299 00:13:40,630 --> 00:13:41,930 >> Eh bien, que pourrions-nous faire? 300 00:13:41,930 --> 00:13:45,560 Nous pourrions considérer que, tout droit, peut-être si l'électricité circule 301 00:13:45,560 --> 00:13:47,420 Je pourrais le stocker et de tenir à elle. 302 00:13:47,420 --> 00:13:49,250 Et si je suis sur la tenue à un peu d'électricité, 303 00:13:49,250 --> 00:13:51,700 qui va juste représenter arbitrairement 1. 304 00:13:51,700 --> 00:13:53,997 Et si je tire le bouchon et il n'y a rien, 305 00:13:53,997 --> 00:13:56,330 vous savez que ça va juste pour représenter arbitrairement 0. 306 00:13:56,330 --> 00:13:57,700 >> Donc, si quelque chose est là, 1. 307 00:13:57,700 --> 00:13:59,280 Si rien est là, 0. 308 00:13:59,280 --> 00:14:01,420 Ou vous pouvez faire ce un peu plus visuelle. 309 00:14:01,420 --> 00:14:02,704 Voici un 0. 310 00:14:02,704 --> 00:14:05,370 Il n'y a rien en cours intéressant sur sur le dos de mon téléphone. 311 00:14:05,370 --> 00:14:08,690 Mais si je laisse un peu peu d'électricité de circuler, 312 00:14:08,690 --> 00:14:11,490 même si elle est un peu brillante ici, ma lampe de poche a continué. 313 00:14:11,490 --> 00:14:15,840 Je suis donc stocker une charge et ergo, ce téléphone représente maintenant un 1. 314 00:14:15,840 --> 00:14:17,700 Donc 0 1. 315 00:14:17,700 --> 00:14:23,630 >> Donc, avec 1 iPhone à quelle hauteur je peux compter en utilisant ce type d'approche? 316 00:14:23,630 --> 00:14:24,490 Je veux dire à 1. 317 00:14:24,490 --> 00:14:25,900 Il est pas tout à fait convaincante. 318 00:14:25,900 --> 00:14:27,170 Alors, que pourrions-nous faire? 319 00:14:27,170 --> 00:14:31,180 Eh bien, voyons, est une personne sur leur téléphone en ce moment que je pouvais emprunter? 320 00:14:31,180 --> 00:14:33,800 Toute personne qui a un téléphone avec une lampe de poche intégrée dans? 321 00:14:33,800 --> 00:14:34,969 Puis-je emprunter? 322 00:14:34,969 --> 00:14:36,010 Je ne veux pas débloquer. 323 00:14:36,010 --> 00:14:36,510 D'accord. 324 00:14:36,510 --> 00:14:37,150 Je vous remercie. 325 00:14:37,150 --> 00:14:37,780 Permettez-moi d'emprunter ce. 326 00:14:37,780 --> 00:14:38,279 D'accord. 327 00:14:38,279 --> 00:14:45,570 Donc, si je fais défiler maintenant et ici, ce que je représentais maintenant? 328 00:14:45,570 --> 00:14:46,070 Ouais. 329 00:14:46,070 --> 00:14:49,350 Il est donc trois parce que cela est dans le colonne 1 s, ceci est dans la colonne 2 secondes. 330 00:14:49,350 --> 00:14:50,480 Donc, 1 plus 2 est 3. 331 00:14:50,480 --> 00:14:53,410 Et puis, si nous essayons d'obtenir vraiment creative-- oh, je vous remercie. 332 00:14:53,410 --> 00:14:54,690 Très préemptif. 333 00:14:54,690 --> 00:14:55,560 D'accord. 334 00:14:55,560 --> 00:14:57,100 J'ai maintenant trois iPhones. 335 00:14:57,100 --> 00:14:58,810 D'accord. 336 00:14:58,810 --> 00:15:02,500 >> Et maintenant this-- je ne vais pas faire plus loin que cela. 337 00:15:02,500 --> 00:15:04,380 Que vais-je représentais maintenant? 338 00:15:04,380 --> 00:15:05,090 Juste Sevens. 339 00:15:05,090 --> 00:15:08,000 Mais il me fallait physiquement plus de mémoire dans ce cas. 340 00:15:08,000 --> 00:15:08,920 Mais voilà tout ce qu'il est. 341 00:15:08,920 --> 00:15:12,870 Vous pouvez penser à ce qui se passe on-- vous-- remercier l'intérieur de votre téléphone 342 00:15:12,870 --> 00:15:16,240 comme étant simplement un interrupteur qui est étant activé et désactivé. 343 00:15:16,240 --> 00:15:18,350 >> Et si vous avez jamais entendu le mot transistor. 344 00:15:18,350 --> 00:15:21,312 Ou si vous avez déjà entendu parler de la le marketing parlent Intel à l'intérieur, 345 00:15:21,312 --> 00:15:24,270 que ça parle du genre de matériel qui est à l'intérieur de votre ordinateur. 346 00:15:24,270 --> 00:15:26,707 Intel rend les processeurs, les unités centrales de traitement, 347 00:15:26,707 --> 00:15:28,790 qui sont comme les cerveaux à l'intérieur de votre ordinateur. 348 00:15:28,790 --> 00:15:30,640 Et ces CPU et les choses qu'ils connectés 349 00:15:30,640 --> 00:15:32,740 d'avoir beaucoup, beaucoup de commutateurs minuscules. 350 00:15:32,740 --> 00:15:36,440 Des millions, des milliards de commutateurs qui peut être soit allumé ou éteint. 351 00:15:36,440 --> 00:15:38,840 >> Donc, les ordinateurs, heureusement, comme nos Mac et PC, 352 00:15:38,840 --> 00:15:43,830 peut compter moyen supérieur à 7 ou 8 parce qu'ils ont beaucoup plus que trois 353 00:15:43,830 --> 00:15:44,660 ou quatre bits. 354 00:15:44,660 --> 00:15:48,140 Bien plus que l'équivalent de la trois lampes de poche que nous venons d'avoir. 355 00:15:48,140 --> 00:15:52,110 Mais maintenant cela commence à se assez inintéressante rapidement. 356 00:15:52,110 --> 00:15:55,810 Si je veux maintenant être effectivement en mesure de faire quelque chose de plus intéressant, 357 00:15:55,810 --> 00:16:00,340 Je veux être capable de sauter à quelque chose comme ça. 358 00:16:00,340 --> 00:16:03,604 >> Donc ASCII, il est pas vraiment un utile acronyme, mais American Standard Code 359 00:16:03,604 --> 00:16:04,770 pour l'échange d'information. 360 00:16:04,770 --> 00:16:07,450 Cela signifie simplement que, quelques années il y a nous, les humains ont décidé, 361 00:16:07,450 --> 00:16:10,724 Vous savez quoi, nous voulons être en mesure de le faire plus d'ordinateurs que de simples chiffres. 362 00:16:10,724 --> 00:16:12,890 Nous ne voulons pas qu'ils juste être calculateurs coûteux, 363 00:16:12,890 --> 00:16:16,730 nous aimerions être en mesure de faire des choses comme traitement de texte, quoique très simplement. 364 00:16:16,730 --> 00:16:20,030 Plus tard, nous avions email et d'autres médias. 365 00:16:20,030 --> 00:16:23,700 >> Et le monde a décidé quelques années Il y a selon cette ASCII du système, 366 00:16:23,700 --> 00:16:24,770 vous savez quoi? 367 00:16:24,770 --> 00:16:26,970 Dans certains types de programmes en tout temps vous 368 00:16:26,970 --> 00:16:30,649 voir l'équivalent du nombre 65, comme le modèle de bits. 369 00:16:30,649 --> 00:16:32,440 Et nous pourrions faire la mathématiques ici sur la carte. 370 00:16:32,440 --> 00:16:34,450 Le motif de bits qui représentent 65. 371 00:16:34,450 --> 00:16:37,240 Ne pensez pas comme 65 en décimal. 372 00:16:37,240 --> 00:16:41,620 Pensez-y comme arbitraire, mais globalement, de manière cohérente comme la capitale 373 00:16:41,620 --> 00:16:42,201 UNE. 374 00:16:42,201 --> 00:16:43,950 Et puis le monde décidé, vous savez quoi? 375 00:16:43,950 --> 00:16:45,630 Prenons un autre motif de bits. 376 00:16:45,630 --> 00:16:47,770 Et si jamais nous voyons la Numéro 66, disons simplement 377 00:16:47,770 --> 00:16:50,573 Supposons que ce soit le capitale B. Avance rapide H 378 00:16:50,573 --> 00:16:55,510 et moi, si vous voyez 72 ou 73, que devrait être un H et un I, respectivement. 379 00:16:55,510 --> 00:16:57,780 Et aussi longtemps que l'ensemble monde est d'accord sur ce point. 380 00:16:57,780 --> 00:17:01,342 Alors que lorsque vous recevez un e-mail, ou vous obtiendrez un fichier sur une clé USB, 381 00:17:01,342 --> 00:17:03,800 ou quelque chose comme that-- quand vous voyez ce modèle de bits, 382 00:17:03,800 --> 00:17:06,980 vous savez qu'il devrait être présent lettre ou une autre lettre. 383 00:17:06,980 --> 00:17:08,620 >> Mais il est contexte spécifique, à droite. 384 00:17:08,620 --> 00:17:12,250 Un programme d'email pourrait interpréter ces choses comme des caractères, 385 00:17:12,250 --> 00:17:15,760 mais une calculatrice graphique ou calculatrice pourrait représenter ou interpréter 386 00:17:15,760 --> 00:17:18,370 ces choses, bien sûr, que des lettres. 387 00:17:18,370 --> 00:17:21,610 >> Donc, avec cela dit, petite revue rapide. 388 00:17:21,610 --> 00:17:25,440 Ceci est peut-être un trois caractères e-mail qui a été envoyé à moi. 389 00:17:25,440 --> 00:17:27,990 Sous le capot, il est dans 0 et de 1, mais nous ne nous soucions pas. 390 00:17:27,990 --> 00:17:31,580 Nous allons commencer à l'abstrait au-dessus des 0 et des 1 aux lettres. 391 00:17:31,580 --> 00:17:36,830 Et si je vois un motif de 0 et de 1 qui représentent vraiment 72, indice, indice, 73, 392 00:17:36,830 --> 00:17:38,866 puis 33, quel est le message? 393 00:17:38,866 --> 00:17:40,348 >> ÉTUDIANTS: [Inaudible] 394 00:17:40,348 --> 00:17:42,639 DAVID MALAN: Donc, si vous pensez il y a en arrière juste un moment, HI 395 00:17:42,639 --> 00:17:47,210 était le message que je voulais communiquer ici parce que H est de 72, 396 00:17:47,210 --> 00:17:50,925 I est 73, et maintenant 33-- vous ne seriez pas nécessairement savoir à l'avance, 397 00:17:50,925 --> 00:17:53,800 mais il se trouve si vous avez réellement voir plus de la carte et le système 398 00:17:53,800 --> 00:17:56,800 que l'humanité convenu ans il y a, il est juste un point d'exclamation. 399 00:17:56,800 --> 00:18:01,590 Et en effet, il y a un modèle de symboles et des chiffres pour chaque caractère 400 00:18:01,590 --> 00:18:03,849 que vous pourriez avoir sur votre clavier. 401 00:18:03,849 --> 00:18:04,389 >> D'accord. 402 00:18:04,389 --> 00:18:05,660 Résumé d'outre Let. 403 00:18:05,660 --> 00:18:09,380 Si nous ne voulons pas d'avoir juste des choses comme des chiffres et des lettres, 404 00:18:09,380 --> 00:18:11,420 nous voulons réellement mettre en œuvre des graphiques. 405 00:18:11,420 --> 00:18:13,351 Eh bien, si vous avez déjà entendu l'acronyme RGB. 406 00:18:13,351 --> 00:18:15,559 Il est une sorte de date maintenant, mais il est encore un peu là. 407 00:18:15,559 --> 00:18:17,380 RGB est rouge, vert, bleu. 408 00:18:17,380 --> 00:18:19,380 Et il est juste un système de dire, vous savez quoi, 409 00:18:19,380 --> 00:18:21,650 nous allons utiliser trois ensembles de bits. 410 00:18:21,650 --> 00:18:25,280 Un ensemble de 8 bits, un autre ensemble de 8 bits, et une autre série de 8 bits. 411 00:18:25,280 --> 00:18:27,710 Et nous allons utiliser ces bits pour stocker combien nous rouge 412 00:18:27,710 --> 00:18:31,430 voulez sur notre écran, combien vert nous voulons sur notre écran, 413 00:18:31,430 --> 00:18:34,070 et combien bleu nous voulons sur notre écran. 414 00:18:34,070 --> 00:18:37,860 Et cela signifie simplement que si vous avoir un lot-- un grand nombre pour le rouge, 415 00:18:37,860 --> 00:18:39,200 cela signifie me donner beaucoup de rouge. 416 00:18:39,200 --> 00:18:41,658 Si vous avez un grand nombre de vert, donnez-moi beaucoup de vert. 417 00:18:41,658 --> 00:18:44,660 Et si vous avez juste un peu de bleu ou d'un petit nombre comme 33, 418 00:18:44,660 --> 00:18:45,960 me donner un peu de bleu. 419 00:18:45,960 --> 00:18:49,720 Et si vous arrivez à combiner les trois grandeurs, pour ainsi dire, 420 00:18:49,720 --> 00:18:53,160 vous obtenez this-- vous pouvez à peine voir sur le projecteur, mais ce trouble 421 00:18:53,160 --> 00:18:54,630 nuance de jaune ou brun. 422 00:18:54,630 --> 00:18:58,590 >> Mais cela est-à-dire, en utilisant ce modèle de 8 plus 8 plus plus 8-- 423 00:18:58,590 --> 00:19:01,710 ce modèle de 24 bits est de savoir comment un ordinateur serait 424 00:19:01,710 --> 00:19:06,460 stocker cette nuance de jaune dans un petit point un pixel sur l'écran. 425 00:19:06,460 --> 00:19:10,570 Donc, nous sommes passés de 0 et de 1 en décimal numéros aux lettres de l'alphabet. 426 00:19:10,570 --> 00:19:13,680 Ou des points plus intéressant, coloré. 427 00:19:13,680 --> 00:19:16,200 >> Eh bien, ce qui bien sûr est alors la prochaine? 428 00:19:16,200 --> 00:19:19,040 Eh bien, ce qui est une image que vous voir sur Facebook ou d'obtenir dans un courriel? 429 00:19:19,040 --> 00:19:20,172 Ou semblable? 430 00:19:20,172 --> 00:19:22,130 Quelle est la définition techniquement d'une image? 431 00:19:22,130 --> 00:19:25,090 432 00:19:25,090 --> 00:19:27,710 Ouais. 433 00:19:27,710 --> 00:19:31,270 Quelle est une image composée de si vous regarder vraiment près votre écran? 434 00:19:31,270 --> 00:19:31,770 Ouais. 435 00:19:31,770 --> 00:19:33,186 Il est juste un tas de pixels. 436 00:19:33,186 --> 00:19:35,220 En fait, si vous prenez votre ordinateur portable peut-être plus tard, 437 00:19:35,220 --> 00:19:37,180 et de regarder de très près à it-- selon 438 00:19:37,180 --> 00:19:40,370 sur la façon dont l'ordinateur portable est cher et comment de haute qualité de l'écran est, 439 00:19:40,370 --> 00:19:43,480 vous pourriez très bien voir tous les petits points sur l'écran. 440 00:19:43,480 --> 00:19:45,890 >> Et ces points ou pixels, qui signifie qu'il ya 441 00:19:45,890 --> 00:19:49,810 24 bits représentant chaque pixel en ce que photo que vous voyez sur Facebook, 442 00:19:49,810 --> 00:19:52,049 ou que vous venez de prendre sur votre iPhone récemment. 443 00:19:52,049 --> 00:19:54,090 Et voilà comment nous obtenons à des choses comme des graphiques. 444 00:19:54,090 --> 00:19:55,120 Eh bien, ce qui est une vidéo? 445 00:19:55,120 --> 00:19:58,660 Une vidéo est tout simplement un ensemble de graphiques voler par l'écran à nouveau 446 00:19:58,660 --> 00:19:59,780 et encore et encore. 447 00:19:59,780 --> 00:20:04,080 Et donc des vidéos vraiment, ne sont que des modèles de bits représentant des grilles, des lignes 448 00:20:04,080 --> 00:20:06,880 et de colonnes de points, voler par l'image de l'écran, 449 00:20:06,880 --> 00:20:09,240 après image, l'image, alias 450 00:20:09,240 --> 00:20:10,650 Films. 451 00:20:10,650 --> 00:20:12,340 Voilà donc pour les entrées et sorties. 452 00:20:12,340 --> 00:20:14,420 >> Tout ce que nous avons maintenant est un hypothèse que, vous 453 00:20:14,420 --> 00:20:17,190 savoir ce que, si nous voulons un ordinateur pour représenter l'information, 454 00:20:17,190 --> 00:20:18,560 nous avons un système pour le faire. 455 00:20:18,560 --> 00:20:20,780 Nous pouvons le faire avec 0s et 1s à la fin de la journée. 456 00:20:20,780 --> 00:20:23,160 Mais nous pouvons abstraite, donc de parler, en plus de cela 457 00:20:23,160 --> 00:20:25,140 de façon à représenter plus choses intéressantes. 458 00:20:25,140 --> 00:20:28,790 Et ici en CS50, et informatique plus généralement, 459 00:20:28,790 --> 00:20:31,250 nous sommes maintenant sur les épaules de toutes les personnes qui 460 00:20:31,250 --> 00:20:33,530 est venu devant nous qui a figuré que dehors. 461 00:20:33,530 --> 00:20:38,170 Et maintenant simplement supposer que les ordinateurs peut représenter les entrées et sorties. 462 00:20:38,170 --> 00:20:41,140 >> Mais maintenant, de laisser effectivement faire quelque chose avec eux. 463 00:20:41,140 --> 00:20:44,850 Donc, un algorithme est juste un ensemble des instructions, étape par étape, 464 00:20:44,850 --> 00:20:46,340 pour résoudre un problème. 465 00:20:46,340 --> 00:20:48,730 Et ce qui pourrait un tel problème est. 466 00:20:48,730 --> 00:20:52,440 Donc, cela est une ancienne école la technologie, un annuaire téléphonique. 467 00:20:52,440 --> 00:20:55,534 Et à l'intérieur d'un livre de téléphone est un tas ensemble de noms et de numéros. 468 00:20:55,534 --> 00:20:57,700 Et ces noms sont généralement triés par ordre alphabétique. 469 00:20:57,700 --> 00:21:01,310 >> Donc, si je voulais trouver quelqu'un dans ce livre de téléphone comme Mike Smith, 470 00:21:01,310 --> 00:21:02,930 ce qui est un humain typique va faire? 471 00:21:02,930 --> 00:21:06,000 Eh bien, vous pouvez simplement ouvrir it up, regardez la première page. 472 00:21:06,000 --> 00:21:07,390 Je ne vois pas Mike Smith. 473 00:21:07,390 --> 00:21:09,740 Tournez à la deuxième page, Je ne vois pas Mike Smith. 474 00:21:09,740 --> 00:21:11,830 Et juste continuer à aller et aller. 475 00:21:11,830 --> 00:21:14,397 Est-ce approche étape par étape correcte? 476 00:21:14,397 --> 00:21:17,380 477 00:21:17,380 --> 00:21:18,310 Ouais. 478 00:21:18,310 --> 00:21:20,080 Il est un peu stupide, droite. 479 00:21:20,080 --> 00:21:21,646 Il est inefficace, à droite. 480 00:21:21,646 --> 00:21:24,520 Parce que ça va prendre une éternité pour se rendre à Mike, mais il est correct. 481 00:21:24,520 --> 00:21:26,620 Parce que si Mike est ici Je vais bien le trouver. 482 00:21:26,620 --> 00:21:29,030 >> Alors, quel est un peu plus personne raisonnable va faire? 483 00:21:29,030 --> 00:21:32,180 Ils pourraient encore ouvrir à l'avant, et peut-être voler dans l'annuaire téléphonique 484 00:21:32,180 --> 00:21:33,250 deux pages à la fois. 485 00:21:33,250 --> 00:21:34,840 Deux, quatre, six, huit. 486 00:21:34,840 --> 00:21:36,830 Je ne peux pas réellement physiquement le faire très bien. 487 00:21:36,830 --> 00:21:39,560 Mais en théorie, cela devrait être deux fois plus vite, deux pages à la fois. 488 00:21:39,560 --> 00:21:41,152 Est-ce l'algorithme correct? 489 00:21:41,152 --> 00:21:43,252 >> ÉTUDIANTS: [Inaudible] 490 00:21:43,252 --> 00:21:44,460 DAVID MALAN: Pas nécessairement. 491 00:21:44,460 --> 00:21:44,960 Bien. 492 00:21:44,960 --> 00:21:46,112 Pourquoi cette mise en garde? 493 00:21:46,112 --> 00:21:50,020 >> ÉTUDIANTS: Parce qu'il pourrait être sur un des pages que vous sauter. 494 00:21:50,020 --> 00:21:50,770 DAVID MALAN: Oui. 495 00:21:50,770 --> 00:21:52,260 Donc, même si je me rapproche de plus en plus. 496 00:21:52,260 --> 00:21:56,150 Que faire s'il est juste accidentellement, par le mauvais chance, pris en sandwich entre les deux pages 497 00:21:56,150 --> 00:21:57,290 que je suis voler au-dessus? 498 00:21:57,290 --> 00:21:59,920 499 00:21:59,920 --> 00:22:01,730 Nous avons donc besoin d'une solution pour cela. 500 00:22:01,730 --> 00:22:03,590 Nous devons réellement puis dire, attendez une minute, 501 00:22:03,590 --> 00:22:06,240 peut-être si nous allons trop loin, peut-être si nous avons atteint la section T, 502 00:22:06,240 --> 00:22:09,670 T venant après Smith, alors nous devrions au moins doubler en arrière au moins une page. 503 00:22:09,670 --> 00:22:12,630 Donc, peut être fixé, mais il y a une question conditionnelle là. 504 00:22:12,630 --> 00:22:16,159 Donc, il est deux fois plus vite, mais vous pourriez doubler en arrière un peu. 505 00:22:16,159 --> 00:22:19,200 Mais personne dans sa chambre, même si vous ne pas vraiment utiliser les livres de téléphone plus, 506 00:22:19,200 --> 00:22:20,740 va commencer au début. 507 00:22:20,740 --> 00:22:23,317 Qu'est ce que tu vas faire à la recherche de Mike Smith? 508 00:22:23,317 --> 00:22:24,900 Tu vas aller à peu près à les S. 509 00:22:24,900 --> 00:22:26,820 Ou si vous n'avez pas vraiment la feuille de triche sur le papier, 510 00:22:26,820 --> 00:22:28,365 vous allez aller au moins à peu près au milieu. 511 00:22:28,365 --> 00:22:30,220 Et certainement pas la couverture du livre. 512 00:22:30,220 --> 00:22:31,130 Vous allez regarder vers le bas. 513 00:22:31,130 --> 00:22:33,770 Et mathématiquement vous êtes probablement aller voir la section M, qui 514 00:22:33,770 --> 00:22:34,890 est à peu près au milieu. 515 00:22:34,890 --> 00:22:36,848 Et puis vous allez réaliser, ce qui est vrai? 516 00:22:36,848 --> 00:22:37,968 Où est Mike? 517 00:22:37,968 --> 00:22:39,170 >> ÉTUDIANTS: [Inaudible] 518 00:22:39,170 --> 00:22:39,920 DAVID MALAN: Oui. 519 00:22:39,920 --> 00:22:41,530 Donc, il est de ce côté. 520 00:22:41,530 --> 00:22:42,710 Et que pouvez-vous faire? 521 00:22:42,710 --> 00:22:48,870 Eh bien, à la fois propre et au figuré pouvez-vous déchirer le problème en deux fois? 522 00:22:48,870 --> 00:22:54,260 Et savez alors que vous pouvez jeter cette moitié du problème de distance. 523 00:22:54,260 --> 00:22:58,170 Et maintenant, nous nous retrouvons avec fondamentalement le même problème, mais il est à moitié aussi grand. 524 00:22:58,170 --> 00:22:59,920 Et maintenant, quelle est la jeu d'instructions? 525 00:22:59,920 --> 00:23:01,753 Quel est l'algorithme pour trouver Mike Smith? 526 00:23:01,753 --> 00:23:03,030 Il est exactement la même chose. 527 00:23:03,030 --> 00:23:05,750 >> Maintenant, ce qui se passe pour être le M l'article et ceci est la partie de Z, 528 00:23:05,750 --> 00:23:08,650 mais le fondamental la formule est toujours la même. 529 00:23:08,650 --> 00:23:10,800 Allez à peu près au milieu, regarder vers le bas, oh, repriser il. 530 00:23:10,800 --> 00:23:13,160 Maintenant, je suis dans la section T, Je suis allé trop loin. 531 00:23:13,160 --> 00:23:16,640 Mais ici aussi pouvez-vous appliquer cette même logique. 532 00:23:16,640 --> 00:23:19,189 la moitié Throw du problème loin et maintenant nous sommes 533 00:23:19,189 --> 00:23:21,230 à gauche avec un problème qui est un quart de la taille. 534 00:23:21,230 --> 00:23:28,140 Et nous pouvons répéter, et nous pouvons répéter, et nous pouvons répéter jusqu'à ce que théoriquement, 535 00:23:28,140 --> 00:23:32,190 il y a juste une page à gauche sur qui Mike est ou non. 536 00:23:32,190 --> 00:23:34,014 >> Alors, quel est si puissant à propos de cette idée? 537 00:23:34,014 --> 00:23:35,680 Je veux dire, après tout, il est assez intuitive. 538 00:23:35,680 --> 00:23:37,390 Personne ne va commencer à la début de l'annuaire téléphonique 539 00:23:37,390 --> 00:23:39,320 et flip 1000 pages pour trouver Mike Smith. 540 00:23:39,320 --> 00:23:42,319 Presque tout le monde dans cette salle va de faire à peu près ce genre d'algorithme 541 00:23:42,319 --> 00:23:43,220 sauf pour la déchirure. 542 00:23:43,220 --> 00:23:45,480 >> Et alors pourquoi avons-nous fait? 543 00:23:45,480 --> 00:23:47,810 Eh bien, pensez à l'efficacité. 544 00:23:47,810 --> 00:23:51,500 Considérez combien mieux cette algorithme était en le décomposant 545 00:23:51,500 --> 00:23:52,890 en ses parties constituantes. 546 00:23:52,890 --> 00:23:53,980 Alors qu'est-ce que je fais d'abord? 547 00:23:53,980 --> 00:23:55,389 Je pris le livre de téléphone. 548 00:23:55,389 --> 00:23:57,180 Et un informaticien, et un programmeur, 549 00:23:57,180 --> 00:24:00,090 plus généralement il se trouve, va commencer à compter tout à 0. 550 00:24:00,090 --> 00:24:00,610 >> Pourquoi? 551 00:24:00,610 --> 00:24:03,240 Eh bien, il est un peu étrange que nous les humains comptons, en général, 552 00:24:03,240 --> 00:24:04,400 à partir d'une. 553 00:24:04,400 --> 00:24:08,110 Parce que ce qui est le plus petit nombre nous pouvons clairement représentons la base 554 00:24:08,110 --> 00:24:09,930 même sur notre vieux maths de l'école primaire? 555 00:24:09,930 --> 00:24:12,400 Eh bien, il était de 0, que ce soit il est en décimal ou binaire. 556 00:24:12,400 --> 00:24:14,900 Et donc vous verrez dans le monde de l'informatique et de la programmation, 557 00:24:14,900 --> 00:24:17,620 spécifiquement, nous commençons tout compter de 0. 558 00:24:17,620 --> 00:24:19,690 >> Je pris le téléphone livre étape 0. 559 00:24:19,690 --> 00:24:21,924 Je vais ouvrir la milieu de l'annuaire téléphonique. 560 00:24:21,924 --> 00:24:23,840 Et c'est en effet un expression de ce que je faisais. 561 00:24:23,840 --> 00:24:25,900 Et puis la deuxième étape était de regarder les noms. 562 00:24:25,900 --> 00:24:29,110 La troisième étape est un peu différent sur le plan conceptuel. 563 00:24:29,110 --> 00:24:30,600 Je me pose une question. 564 00:24:30,600 --> 00:24:33,610 Si Smith est parmi les noms, Je vais prendre une décision. 565 00:24:33,610 --> 00:24:36,550 S'il est parmi les noms, alors je vais appeler Mike. 566 00:24:36,550 --> 00:24:39,590 Et je vais prendre une décision sur la base de cette information. 567 00:24:39,590 --> 00:24:44,100 >> Par contre, si non, si Smith plus tôt dans le livre à la gauche, 568 00:24:44,100 --> 00:24:48,200 Je vais ouvrir au milieu de la moitié gauche du livre. 569 00:24:48,200 --> 00:24:51,674 Et puis voici l'astuce, Je vais revenir à l'étape deux. 570 00:24:51,674 --> 00:24:53,590 Je vais trier des se tenir debout sur mes propres épaules 571 00:24:53,590 --> 00:24:55,110 et il suffit de répéter le travail passé, je l'ai fait. 572 00:24:55,110 --> 00:24:58,062 Mais le travail qui me reste est moins en moins, et moins. 573 00:24:58,062 --> 00:24:59,270 Mais il est toujours d'aller travailler. 574 00:24:59,270 --> 00:25:02,110 Mais si Mike, à la place, est plus tard dans le livre à droite, 575 00:25:02,110 --> 00:25:04,980 Je vais ouvrir au milieu de la moitié droite du livre, 576 00:25:04,980 --> 00:25:07,240 puis revenir à l'étape deux. 577 00:25:07,240 --> 00:25:09,330 >> Mais il y a en fait un quatrième scénario. 578 00:25:09,330 --> 00:25:13,336 Mike soit ici, ou ici, ou ici, ou-- 579 00:25:13,336 --> 00:25:14,152 >> ÉTUDIANTS: Pas là. 580 00:25:14,152 --> 00:25:15,110 DAVID MALAN: Pas là. 581 00:25:15,110 --> 00:25:18,580 Et en effet, si nous ne prévoyons pas cette quatrième et dernière scénario 582 00:25:18,580 --> 00:25:21,510 notre programme pourrait être buggé ou viciée d'une certaine façon. 583 00:25:21,510 --> 00:25:25,020 Sinon, quittez dans le cas où on n'a pas trouvé Mike à tous. 584 00:25:25,020 --> 00:25:27,720 Et en effet, si vous avez déjà remarqué votre pendaison de l'ordinateur, ou tout 585 00:25:27,720 --> 00:25:30,490 d'un mot ou d'un autre coup programme se ferme juste de façon inattendue, 586 00:25:30,490 --> 00:25:32,614 et parfois te erreur message est littéralement que. 587 00:25:32,614 --> 00:25:34,070 Ce programme a quitté inopinément. 588 00:25:34,070 --> 00:25:35,570 Il peut être pour n'importe quel nombre de raisons. 589 00:25:35,570 --> 00:25:38,120 Mais il est parfois quelque chose d'aussi simple que cela. 590 00:25:38,120 --> 00:25:40,440 Le programmeur humain qui a écrit que le logiciel 591 00:25:40,440 --> 00:25:43,610 ne se rendent pas compte que, oh, il y a un selon chose qui peut effectivement se produire. 592 00:25:43,610 --> 00:25:46,480 Et si vous n'écrivez du code pour capturer ce quatrième scénario, 593 00:25:46,480 --> 00:25:51,342 il est en effet parfois inattendue ce que l'ordinateur peut réellement faire. 594 00:25:51,342 --> 00:25:53,050 Maintenant, nous allons appeler un quelques-unes de ces choses. 595 00:25:53,050 --> 00:25:55,465 Donc, en jaune ici, je avoir des termes mis en évidence 596 00:25:55,465 --> 00:25:57,590 que, désormais, nous sommes juste va appeler des fonctions. 597 00:25:57,590 --> 00:26:00,700 Fonctions dans le monde de la la programmation sont comme les actions, 598 00:26:00,700 --> 00:26:01,850 déclarations d'actions. 599 00:26:01,850 --> 00:26:05,720 Donc ramasser, ouvert à, regarder à, appeler, ouvert, ouvert, quittez. 600 00:26:05,720 --> 00:26:09,350 C'est une fonction, une procédure, une action, un nombre quelconque de synonymes 601 00:26:09,350 --> 00:26:10,184 fonctionnerait aussi bien. 602 00:26:10,184 --> 00:26:11,850 Maintenant, quelles sont ces choses maintenant en jaune? 603 00:26:11,850 --> 00:26:14,210 Si bien, si bien, si le reste, ce sont ce que 604 00:26:14,210 --> 00:26:16,500 nous allons appeler conditions dans la programmation, 605 00:26:16,500 --> 00:26:19,270 ou branches, décision des points, si vous voulez. 606 00:26:19,270 --> 00:26:22,759 Mais comment savez-vous quelle fourchette sur la route à prendre, pour ainsi dire? 607 00:26:22,759 --> 00:26:24,550 Nous avons besoin de mettre en évidence les termes à droite 608 00:26:24,550 --> 00:26:27,570 là, qui sont ces des questions oui ou non. 609 00:26:27,570 --> 00:26:29,040 Ces fausses vraies questions. 610 00:26:29,040 --> 00:26:30,880 Smith parmi les noms? 611 00:26:30,880 --> 00:26:32,190 Smith plus tôt dans le livre? 612 00:26:32,190 --> 00:26:33,260 Smith plus tard dans le livre? 613 00:26:33,260 --> 00:26:35,490 Ce sont des questions à où il est un oui, ou non, 614 00:26:35,490 --> 00:26:42,110 ou de manière équivalente vrai, ou faux, ou de manière équivalente, un ou zéro réponse. 615 00:26:42,110 --> 00:26:44,260 >> Et pendant ce temps, il y a juste un dernier morceau. 616 00:26:44,260 --> 00:26:45,940 Cela a ici ce genre d'effet? 617 00:26:45,940 --> 00:26:48,230 Que ce soit ou non vous programmez avant, comment voulez-vous 618 00:26:48,230 --> 00:26:51,030 décrire ce que l'étape sept et 10 font? 619 00:26:51,030 --> 00:26:54,110 620 00:26:54,110 --> 00:26:55,027 Qu'est-ce que vous avez dit? 621 00:26:55,027 --> 00:26:56,110 ÉTUDIANTS: Une étape récursive. 622 00:26:56,110 --> 00:26:56,980 DAVID MALAN: Une étape récursive. 623 00:26:56,980 --> 00:26:58,000 Dans l'affirmative, l'essentiel. 624 00:26:58,000 --> 00:27:00,384 Il est techniquement itérative ici si vous êtes familier. 625 00:27:00,384 --> 00:27:01,550 Mais nous reviendrons à cela. 626 00:27:01,550 --> 00:27:03,930 Mais qu'il fait clairement quelque chose. 627 00:27:03,930 --> 00:27:06,370 Encore une fois, il est induisant un cycle, une boucle, à droite. 628 00:27:06,370 --> 00:27:08,770 Vous êtes littéralement aller revenir à une certaine étape précédente. 629 00:27:08,770 --> 00:27:12,592 Et en effet, cela va mettre en œuvre une sorte de cycle. 630 00:27:12,592 --> 00:27:15,050 Mais tu ne vas pas à obtenir coincé dans ce sans cesse, à droite. 631 00:27:15,050 --> 00:27:19,290 Parce que si vous êtes constamment vérifier est Mike ici ou à gauche, ou absent, 632 00:27:19,290 --> 00:27:21,360 finalement, il ne va pas être là. 633 00:27:21,360 --> 00:27:24,590 Et vous pouvez tout simplement arrêter complètement selon cette dernière ligne. 634 00:27:24,590 --> 00:27:25,834 >> Voilà donc pour le vocabulaire. 635 00:27:25,834 --> 00:27:28,250 Et cela était ce que nous appeler généralement le code de pseudocode. 636 00:27:28,250 --> 00:27:29,570 Il est pas une langue réelle. 637 00:27:29,570 --> 00:27:32,405 Il est juste très laconique anglais, mais il communique le point. 638 00:27:32,405 --> 00:27:33,780 Il n'y a pas de structure formelle ici. 639 00:27:33,780 --> 00:27:35,738 Vous utilisez simplement qu'il est quelques-uns mots, mais les mots aussi clairs 640 00:27:35,738 --> 00:27:37,870 que vous pouvez communiquer votre idée. 641 00:27:37,870 --> 00:27:40,580 >> Maintenant, quelle est la qualité de cet algorithme et combien mieux est-il? 642 00:27:40,580 --> 00:27:43,570 Eh bien, nous ne devons pas entrer dans la spécificités des numéros ou quoi que ce soit 643 00:27:43,570 --> 00:27:44,069 comme ça. 644 00:27:44,069 --> 00:27:46,300 Mais nous pouvons regarder le la forme de cette solution. 645 00:27:46,300 --> 00:27:50,194 Donc, si nous tirons simplement un complot xy ici sur l'axe horizontal ici. 646 00:27:50,194 --> 00:27:51,860 Appelons juste la taille du problème. 647 00:27:51,860 --> 00:27:55,540 Et un informaticien serait utilisent généralement n comme variable ici. 648 00:27:55,540 --> 00:27:59,690 Donc n pages, ou n personnes dans la salle, ou tout ce que vous essayez de compter. 649 00:27:59,690 --> 00:28:03,039 >> Puis sur l'axe vertical de la à gauche, ce serait le temps de résoudre. 650 00:28:03,039 --> 00:28:05,330 Alors, combien de secondes le fait prenez-moi pour trouver Mike Smith? 651 00:28:05,330 --> 00:28:06,621 Ou combien d'étapes faut-il? 652 00:28:06,621 --> 00:28:08,100 Combien de tours page ne prend-il? 653 00:28:08,100 --> 00:28:11,370 Voilà donc combien il en coûte moi dans le temps pour résoudre un problème. 654 00:28:11,370 --> 00:28:15,030 Et nous pourrions tirer le premier algorithmes pente, si vous voulez, 655 00:28:15,030 --> 00:28:16,910 comme juste cette ligne droite en rouge. 656 00:28:16,910 --> 00:28:18,450 Et je vais l'appeler n. 657 00:28:18,450 --> 00:28:19,117 >> Pourquoi n? 658 00:28:19,117 --> 00:28:20,950 Pourquoi est-il seulement celui-ci une relation? 659 00:28:20,950 --> 00:28:22,700 Eh bien, si Verizon ou quelle que soit la compagnie de téléphone 660 00:28:22,700 --> 00:28:25,130 ajoute une page de plus à l'annuaire téléphonique de l'année prochaine, 661 00:28:25,130 --> 00:28:28,370 qui pourrait pousser Mike un pas de plus proche de la fin, 662 00:28:28,370 --> 00:28:29,950 selon l'endroit où cette page est. 663 00:28:29,950 --> 00:28:32,380 Et l'effet pourrait juste d'ajouter une seconde de plus. 664 00:28:32,380 --> 00:28:33,520 Ou encore un tour de page. 665 00:28:33,520 --> 00:28:34,970 Un rapport un à un. 666 00:28:34,970 --> 00:28:37,410 >> En revanche, le deuxième algorithme. 667 00:28:37,410 --> 00:28:41,406 Comment beaucoup plus rapide était que intuitivement? 668 00:28:41,406 --> 00:28:42,780 Là où je suis allé deux pages à la fois? 669 00:28:42,780 --> 00:28:43,664 Ouais. 670 00:28:43,664 --> 00:28:44,497 >> ÉTUDIANTS: [Inaudible] 671 00:28:44,497 --> 00:28:47,255 672 00:28:47,255 --> 00:28:48,080 >> DAVID MALAN: Oui. 673 00:28:48,080 --> 00:28:49,220 il est donc va être deux fois plus vite. 674 00:28:49,220 --> 00:28:51,344 Et nous attirons ici que en fonction de l'échelle. 675 00:28:51,344 --> 00:28:54,220 Il est encore une ligne droite, mais inférieure à la ligne rouge. 676 00:28:54,220 --> 00:28:56,410 Parce que, pour un certain nombre de pages, si elle prend 677 00:28:56,410 --> 00:28:58,360 vous cette nombreuses étapes avec le premier algorithme, 678 00:28:58,360 --> 00:29:00,570 ça va vous prendre la moitié que de nombreuses étapes avec la seconde. 679 00:29:00,570 --> 00:29:02,770 Et la ligne jaune le second algorithme décrivant 680 00:29:02,770 --> 00:29:03,990 va tout simplement être en dessous. 681 00:29:03,990 --> 00:29:07,250 >> Mais ce qui est vraiment puissant est de penser à la troisième et dernière, 682 00:29:07,250 --> 00:29:10,480 et incroyablement plus intuitive algorithme, qui a cette forme. 683 00:29:10,480 --> 00:29:12,720 Techniquement, nous appellerions cette courbe logarithmique. 684 00:29:12,720 --> 00:29:14,309 Connectez-base 2 de n dans ce cas. 685 00:29:14,309 --> 00:29:15,600 Mais cela ne veut pas vraiment d'importance. 686 00:29:15,600 --> 00:29:19,140 Ce qui importe est vraiment le fond forme différente qu'il a. 687 00:29:19,140 --> 00:29:22,810 Et vous pouvez considérer à quel point beaucoup plus courte cette ligne vraiment 688 00:29:22,810 --> 00:29:24,620 est dans le long terme. 689 00:29:24,620 --> 00:29:25,870 Il est en constante augmentation. 690 00:29:25,870 --> 00:29:27,620 Il n'aplatit pas parfaitement. 691 00:29:27,620 --> 00:29:34,030 Mais il pousse tellement plus lentement que le problème devient de plus en plus grand. 692 00:29:34,030 --> 00:29:36,710 Et vous pouvez penser de cette way-- si Verizon n'a pas seulement 693 00:29:36,710 --> 00:29:40,410 ajouter une seule page l'année prochaine, mais doubles le nombre de pages dans le livre de téléphone, 694 00:29:40,410 --> 00:29:42,740 le premier algorithme pourrait prendre deux fois plus nombreuses étapes. 695 00:29:42,740 --> 00:29:45,360 Si elle est de 1000 pages cette année, 2000 pages de l'année prochaine, 696 00:29:45,360 --> 00:29:47,180 Mike pourrait être que beaucoup plus loin. 697 00:29:47,180 --> 00:29:49,380 Il est donc 1000 des mesures supplémentaires pour le retrouver. 698 00:29:49,380 --> 00:29:51,610 Le second algorithme peut-être seulement 500 plus 699 00:29:51,610 --> 00:29:55,490 des mesures pour le trouver car encore une fois, Je vole à travers elle deux à la fois. 700 00:29:55,490 --> 00:29:56,950 >> Mais qu'en est-il du troisième algorithme? 701 00:29:56,950 --> 00:29:59,010 Si Verizon double la taille de l'annuaire téléphonique 702 00:29:59,010 --> 00:30:02,620 prochaine année de 1000 à 2000 pages, combien d'autres étapes 703 00:30:02,620 --> 00:30:05,540 est mon troisième algorithme va prendre? 704 00:30:05,540 --> 00:30:06,630 Ouais, il est juste un. 705 00:30:06,630 --> 00:30:08,600 Et voilà l'idée puissante. 706 00:30:08,600 --> 00:30:12,780 Vous pouvez prendre 1000 pages morsure sur ce problème à la fois. 707 00:30:12,780 --> 00:30:14,510 Et maintenant, si vous considérez un scénario idiot, 708 00:30:14,510 --> 00:30:17,320 mais ce genre d'adresse à la puissance de ce type de intuition-- 709 00:30:17,320 --> 00:30:21,494 si un livre de téléphone avait, comme, quatre milliards pages, se sent comme un très gros problème. 710 00:30:21,494 --> 00:30:23,410 Et en effet, il pourrait me prendre quatre milliards la page 711 00:30:23,410 --> 00:30:26,549 se tourne pour trouver Mike Smith dans ce cas avec le premier algorithme. 712 00:30:26,549 --> 00:30:28,840 Mais combien d'étapes serait-il prendre dans le troisième algorithme 713 00:30:28,840 --> 00:30:31,585 pour trouver Mike parmi quatre milliard morceaux de papier? 714 00:30:31,585 --> 00:30:34,865 715 00:30:34,865 --> 00:30:36,240 Donc, quatre milliards vous déchirer en deux. 716 00:30:36,240 --> 00:30:37,220 Vous obtenez deux milliards. 717 00:30:37,220 --> 00:30:42,810 Puis un milliard puis 500 millions, 250 millions, 125 million-- mais il 718 00:30:42,810 --> 00:30:44,780 se sent comme cela est va prendre un certain temps. 719 00:30:44,780 --> 00:30:47,340 Je pourrais avoir besoin de 32 doigts de compter jusqu'à ce que haute. 720 00:30:47,340 --> 00:30:51,340 Mais il est en effet que peu que 32 pages larmes. 721 00:30:51,340 --> 00:30:54,060 Vous pouvez aller de quatre milliards à une page de division 722 00:30:54,060 --> 00:30:57,030 le nombre initial de pages en demi 32 fois 723 00:30:57,030 --> 00:30:59,290 jusqu'à ce que vous vous retrouvez avec juste que d'une seule page. 724 00:30:59,290 --> 00:31:01,320 >> Maintenant, bien sûr, je triche ici. 725 00:31:01,320 --> 00:31:06,470 Il est pas que nous sommes juste d'être tri stupide entièrement avec les deux premiers 726 00:31:06,470 --> 00:31:07,470 algorithmes. 727 00:31:07,470 --> 00:31:11,500 Je triche dans un certain sens, ou vraiment je tirer parti d'une hypothèse. 728 00:31:11,500 --> 00:31:15,610 Ce qui était vrai à propos de l'annuaire téléphonique dans sa forme originale qui a permis 729 00:31:15,610 --> 00:31:17,450 moi même utilise ce troisième algorithme? 730 00:31:17,450 --> 00:31:18,110 Ouais? 731 00:31:18,110 --> 00:31:19,360 AUDIENCE: Il a été alphabétisés. 732 00:31:19,360 --> 00:31:21,130 DAVID MALAN: Il a été alphabétisés, non? 733 00:31:21,130 --> 00:31:23,500 Si elle était juste au hasard ordre, cela est un gaspillage 734 00:31:23,500 --> 00:31:24,880 de temps, toute cette conversation. 735 00:31:24,880 --> 00:31:27,500 Je dois regarder chaque page si elle est dans un ordre aléatoire 736 00:31:27,500 --> 00:31:30,350 pour trouver Mike Smith avant peut conclure qu'il n'y est ou non. 737 00:31:30,350 --> 00:31:32,880 Et l'on en coin ont coupé est que je dois 738 00:31:32,880 --> 00:31:35,752 supposé que quelqu'un d'autre dans ce cas a fait le travail pour moi. 739 00:31:35,752 --> 00:31:38,460 Et pour que, finalement, invite la question, eh bien, attendez une minute. 740 00:31:38,460 --> 00:31:41,284 Comment pouvez-vous trier 1000 pages de noms et de numéros? 741 00:31:41,284 --> 00:31:43,200 C'est en fait un autre problème, quelque chose 742 00:31:43,200 --> 00:31:44,574 nous reviendrons à l'avenir. 743 00:31:44,574 --> 00:31:48,130 Mais quand vous pensez à des sites Web comme Facebook et Google pour Gmail 744 00:31:48,130 --> 00:31:50,450 et des choses comme Google propres index de recherche, 745 00:31:50,450 --> 00:31:53,800 lorsque vous avez des millions ou des milliards de morceaux de données étant stockées ces jours-ci, 746 00:31:53,800 --> 00:31:56,660 searching-- et pour ne pas mentionner trier ces problems-- 747 00:31:56,660 --> 00:31:59,450 est finalement un défi en soi. 748 00:31:59,450 --> 00:32:02,250 Et en effet, c'est alors juste un de ces défis 749 00:32:02,250 --> 00:32:03,460 que nous allons examiner. 750 00:32:03,460 --> 00:32:05,590 >> Alors maintenant, nous allons prendre un moment et jeter un oeil à CS50 751 00:32:05,590 --> 00:32:09,082 lui-même et vous donner un sentiment de ce qui est en magasin ce semestre. 752 00:32:09,082 --> 00:32:11,540 En effet, si vous ne l'avez pas déjà, ne jetez un oeil à cette URL. 753 00:32:11,540 --> 00:32:13,880 Et comme Patrick fait allusion pour, cette année, nous sommes 754 00:32:13,880 --> 00:32:17,130 faire un investissement significatif tout plus dans le soutien de cours 755 00:32:17,130 --> 00:32:20,170 la structure en termes de AT et les CA, les heures de bureau, 756 00:32:20,170 --> 00:32:23,520 les articles disponibles, et matériaux numériques en ligne, aussi bien. 757 00:32:23,520 --> 00:32:27,489 En effet, en termes de cours de conférence, nous sommes ici aujourd'hui. 758 00:32:27,489 --> 00:32:29,780 Et les attentes de cette année officiellement du cours 759 00:32:29,780 --> 00:32:32,370 sont assister à aujourd'hui, ce cours dernière conférence, et un cours 760 00:32:32,370 --> 00:32:35,161 à peu près au milieu du semestre avec chaque conférence entre 761 00:32:35,161 --> 00:32:37,280 mise à disposition générale sur un vendredi après-midi 762 00:32:37,280 --> 00:32:40,240 en ligne, à la fois pour les étudiants de Yale et les étudiants de Harvard cette année. 763 00:32:40,240 --> 00:32:42,090 En effet, l'un des des changements fondamentaux est 764 00:32:42,090 --> 00:32:44,310 que nous adoptons au Harvard un paradigme très 765 00:32:44,310 --> 00:32:46,570 comme nous l'avons fait ici hier année et maintenant cette année, 766 00:32:46,570 --> 00:32:50,300 de sorte que, de même, nous filmons encore plus des conférences du cours à Cambridge 767 00:32:50,300 --> 00:32:52,900 mais les rendre disponibles plus tôt que nous avons dans le passé 768 00:32:52,900 --> 00:32:55,540 de telle sorte que ceux de vous-- si vous voudrait, par exemple, 769 00:32:55,540 --> 00:32:58,400 obtenir un début de la tête sur les matériaux sur le premier week-end plutôt 770 00:32:58,400 --> 00:33:02,000 que le deuxième week-end, vous aurez l'accès à ces types de matériaux, 771 00:33:02,000 --> 00:33:06,561 consultable, noyable, hyperlinkable aux ressources liées tous les plus tôt. 772 00:33:06,561 --> 00:33:09,560 En ce qui concerne les sujets, pour vous donner un sens de la trajectory-- du cours 773 00:33:09,560 --> 00:33:12,365 et une partie de ce pourrait être le jargon pour maintenant, mais pas pour longtemps, rassurez-vous. 774 00:33:12,365 --> 00:33:15,010 Nous allons commencer aujourd'hui, en fin de compte, avec la recherche à une programmation 775 00:33:15,010 --> 00:33:16,260 langue appelé Scratch. 776 00:33:16,260 --> 00:33:19,380 Nous allons par la suite, la transition la semaine prochaine à ce qu'on appelle C 777 00:33:19,380 --> 00:33:22,140 puis regarder autre bâtiment blocs pour résoudre les problèmes, 778 00:33:22,140 --> 00:33:26,230 choses appelées tableaux et algorithmes, comment nous utilisons la mémoire à notre avantage 779 00:33:26,230 --> 00:33:28,326 et le désavantage, et des choses comme des structures de données, 780 00:33:28,326 --> 00:33:31,200 et ensuite vers l'extrémité de queue de la classe regardant l'apprentissage machine 781 00:33:31,200 --> 00:33:33,410 et en regardant une autre langage appelé Python, 782 00:33:33,410 --> 00:33:37,460 comment fonctionne le web, comment l'Internet plus fonctionne généralement, les protocoles comme HTTP, 783 00:33:37,460 --> 00:33:40,950 langues pour les bases de données comme SQL, JavaScript pour le Web, 784 00:33:40,950 --> 00:33:43,000 et, finalement, attachant tous ceux ensemble. 785 00:33:43,000 --> 00:33:44,708 >> Et en effet, à la fin de la journée, vous 786 00:33:44,708 --> 00:33:50,250 ne sera pas apprendre dans cette classe Scratch ou C ou Python ou SQL ou JavaScript. 787 00:33:50,250 --> 00:33:53,560 Vous apprendrez plus généralement à la place l'informatique et les fondations 788 00:33:53,560 --> 00:33:55,790 de celui-ci, et vous apprendre à programmer 789 00:33:55,790 --> 00:33:58,800 dans un nombre quelconque de ceux-ci langues le long du chemin. 790 00:33:58,800 --> 00:34:00,970 Donc, en effet, l'un des objectifs du cours à la fin 791 00:34:00,970 --> 00:34:04,160 est d'enlever tous les cours de roues de formation par ces dernières semaines 792 00:34:04,160 --> 00:34:06,710 de sorte que, après cela, vous pouvez revenir à votre propre fields-- 793 00:34:06,710 --> 00:34:08,510 si ce qui est ou pas de la science informatique 794 00:34:08,510 --> 00:34:12,290 ou de l'ingénierie, dans le naturel sciences, arts, lettres, ou beyond-- 795 00:34:12,290 --> 00:34:14,720 et apporter un peu de cette Les idées de cours et ce domaine de 796 00:34:14,720 --> 00:34:17,400 des idées et des pratiques compétences à votre propre domaine 797 00:34:17,400 --> 00:34:19,480 afin de résoudre les problèmes qui y sont. 798 00:34:19,480 --> 00:34:22,990 >> Ce que nous allons faire ici en attendant dans la plupart des jeudis après aujourd'hui 799 00:34:22,990 --> 00:34:26,160 est avec les têtes de cours menant ce que nous appellerons soluces 800 00:34:26,160 --> 00:34:27,620 des ensembles de problèmes du cours. 801 00:34:27,620 --> 00:34:29,610 Ainsi, chaque semaine, lorsque nous ont un problème posé, nous allons 802 00:34:29,610 --> 00:34:32,900 marcher à travers dans un endroit comme ça les défis du cours, 803 00:34:32,900 --> 00:34:35,582 vous offrant quelques conseils et astuces et techniques de conception. 804 00:34:35,582 --> 00:34:37,540 Mais si vous n'êtes pas en mesure de faire ceux en personne, 805 00:34:37,540 --> 00:34:39,760 réaliser ces mêmes les ressources seront intégrées 806 00:34:39,760 --> 00:34:41,590 par l'un des parcours de assistants d'enseignement 807 00:34:41,590 --> 00:34:43,860 dans le problème eux-mêmes ensembles, aussi bien. 808 00:34:43,860 --> 00:34:47,124 >> Le problème fixe cette année, à la différence l'année dernière, en fonction des commentaires, 809 00:34:47,124 --> 00:34:48,540 sera encore publié le vendredi. 810 00:34:48,540 --> 00:34:51,310 Mais plutôt que d'être due vendredi suivant, 811 00:34:51,310 --> 00:34:55,079 vous donnant ainsi seulement sept jours, sera effectivement dû 10 jours plus tard. 812 00:34:55,079 --> 00:34:57,620 Et en effet, cela signifie que ils se chevauchent par un week-end. 813 00:34:57,620 --> 00:34:59,369 Mais nous espérons que cette année surtout cette volonté 814 00:34:59,369 --> 00:35:02,320 permettent aux élèves de mieux accueillir flux et le reflux dans leurs horaires, 815 00:35:02,320 --> 00:35:05,040 que ce soit des universitaires ou extracurriculars ou l'athlétisme 816 00:35:05,040 --> 00:35:06,280 ou de la saison à mi-parcours. 817 00:35:06,280 --> 00:35:10,060 Vous pouvez soit à chargement frontal ou arrière-charge votre semaine se concentrant sur CS50 basée 818 00:35:10,060 --> 00:35:12,400 sur réelle charge de cours de votre propre semaine. 819 00:35:12,400 --> 00:35:14,990 >> Le problème se définit couvrira une gamme de langues, 820 00:35:14,990 --> 00:35:17,990 mais nous allons nous concentrer principalement tôt le C 821 00:35:17,990 --> 00:35:23,040 avant de nous concentrer par la suite, plus niveau, plus les langages web-centric. 822 00:35:23,040 --> 00:35:25,970 Et puis un couple de FAQ ici-- si vous prenez une classe comme CS50 823 00:35:25,970 --> 00:35:26,900 comme une première année? 824 00:35:26,900 --> 00:35:27,970 Donc, absolument. 825 00:35:27,970 --> 00:35:30,470 Et en effet, ce n'est pas nécessairement quelque chose 826 00:35:30,470 --> 00:35:34,440 vous devriez reporter jusqu'à ce que vous avez coupé vos dents sur d'autres types de classes. 827 00:35:34,440 --> 00:35:36,290 Mais plutôt, envisager que, pour de nombreux étudiants, 828 00:35:36,290 --> 00:35:39,040 moi-même inclus dans la journée, c'est un domaine très familier, 829 00:35:39,040 --> 00:35:40,997 surtout si vous n'a jamais fait prendre un CSA AP 830 00:35:40,997 --> 00:35:42,580 ou quelque chose comme ça à l'école secondaire. 831 00:35:42,580 --> 00:35:44,705 Mais se rendre compte que dès le début, que ce soit ce cours 832 00:35:44,705 --> 00:35:47,900 ou un autre cours d'introduction, est maintenant en effet le meilleur temps, 833 00:35:47,900 --> 00:35:52,082 Je pense que, de trouver un nouveau chemin d'accès ou un nouveau intérêt académique, aussi bien. 834 00:35:52,082 --> 00:35:55,040 Et puis prendre avec d'autres courses-- donc l'une des principales différences ici 835 00:35:55,040 --> 00:35:57,906 par rapport à Harvard est que nous ne prendre quatre cours par semestre 836 00:35:57,906 --> 00:35:59,030 à Harvard pour une raison quelconque. 837 00:35:59,030 --> 00:36:01,494 Et vous les gars effectivement tirez hors des 36 cours au total 838 00:36:01,494 --> 00:36:04,410 au cours de vos quatre ans, ce qui signifie généralement quatre ou cinq 839 00:36:04,410 --> 00:36:05,040 des cours. 840 00:36:05,040 --> 00:36:08,367 Et je pense qu'il est tout à fait juste de dire et déclinent CS50, par sa conception, est 841 00:36:08,367 --> 00:36:10,700 probablement pas le type de classe que vous devriez normalement 842 00:36:10,700 --> 00:36:13,680 prendre avec quatre autres des cours pour un total de cinq 843 00:36:13,680 --> 00:36:16,249 parce psets sont par conception assez intensive. 844 00:36:16,249 --> 00:36:18,040 En effet, moi aussi appris ce retour dans la journée. 845 00:36:18,040 --> 00:36:21,110 Je ne dirais pas CS50 et informatique, programmation 846 00:36:21,110 --> 00:36:24,477 comme autant difficile que cela est juste temps. 847 00:36:24,477 --> 00:36:26,560 Ce n'est pas le genre de chose où, après le dîner, vous 848 00:36:26,560 --> 00:36:28,310 peut revenir à votre dortoir salle, asseyez-vous, et commencer 849 00:36:28,310 --> 00:36:29,710 en se concentrant sur le pset penser, tout droit, 850 00:36:29,710 --> 00:36:31,340 Je vais Bang this out ce soir puis déménagement 851 00:36:31,340 --> 00:36:33,000 à mon prochain sujet le lendemain. 852 00:36:33,000 --> 00:36:34,450 Parfois, vous venez de frapper un mur. 853 00:36:34,450 --> 00:36:35,690 Vous avez des bugs dans votre code. 854 00:36:35,690 --> 00:36:37,900 Vous ne savez pas nécessairement comment résoudre un problème. 855 00:36:37,900 --> 00:36:41,670 Et l'une des principales caractéristiques de programmation pour moi-même à ce jour 856 00:36:41,670 --> 00:36:44,480 est que vous venez de type de besoin de prendre un pas en arrière parfois, dormir là-dessus 857 00:36:44,480 --> 00:36:47,870 ou de penser à ce sujet au cours d'un jogging ou une autre activité, 858 00:36:47,870 --> 00:36:49,240 puis y revenir frais. 859 00:36:49,240 --> 00:36:50,930 Et vous avez juste besoin de ces fenêtres de temps. 860 00:36:50,930 --> 00:36:52,910 >> Et en effet, voilà pourquoi nous avons allonger le temps 861 00:36:52,910 --> 00:36:55,710 disponible pour les ensembles de problèmes cette année et aussi, par cette URL 862 00:36:55,710 --> 00:36:57,950 Je mets en place plus tôt à ce qui est nouveau ce semestre, 863 00:36:57,950 --> 00:37:00,950 rognée le problème fixe de telle sorte que ils sont fondamentalement pas moins rigoureuse, 864 00:37:00,950 --> 00:37:03,741 et les plats à emporter sont pas moins, mais il y a beaucoup moins de matière première, 865 00:37:03,741 --> 00:37:07,630 beaucoup moins démarches que vous devez faire à l'avant de chaque jeu de problème, 866 00:37:07,630 --> 00:37:10,680 comme vous le verrez, avant de pouvoir fait plonger dans la viande de celui-ci. 867 00:37:10,680 --> 00:37:13,500 Donc se rendre compte que ceux-ci et d'autres les changements sont à l'horizon 868 00:37:13,500 --> 00:37:16,490 pour mieux accueillir les étudiants, mais finalement pour vous assurer 869 00:37:16,490 --> 00:37:18,860 que les plats à emporter sont en effet aussi grande que possible. 870 00:37:18,860 --> 00:37:21,330 Ainsi, alors que plus de travail qu'il peut-être dans une classe typique, 871 00:37:21,330 --> 00:37:25,120 nous espérons que les rendements des vous et les plats à emporter pour vous 872 00:37:25,120 --> 00:37:27,490 et les compétences et les idées avec laquelle vous quittez 873 00:37:27,490 --> 00:37:29,921 sont d'autant plus convaincante en conséquence. 874 00:37:29,921 --> 00:37:32,420 Et pour vous, ce there-- est l'un des points clés, 875 00:37:32,420 --> 00:37:35,470 que Patrick a fait allusion est l'heure, à La structure de support de cours. 876 00:37:35,470 --> 00:37:39,720 Donc non seulement CS50 possède l'un des les plus grands états-majors de cours sur le campus. 877 00:37:39,720 --> 00:37:41,750 Il a également l'un des plus de premier cycle. 878 00:37:41,750 --> 00:37:43,700 En effet, l'année dernière CS50 était la première classe 879 00:37:43,700 --> 00:37:45,366 d'avoir un personnel enseignant de premier cycle. 880 00:37:45,366 --> 00:37:48,570 Et témoigne de ce succès faire maintenant de nombreux autres cours au sein de Yale CS 881 00:37:48,570 --> 00:37:49,500 disposer que, aussi bien. 882 00:37:49,500 --> 00:37:52,906 Et pour les étudiants, en particulier, seront ces PS et les assistants de cours 883 00:37:52,906 --> 00:37:55,030 appuiera l'ensemble réseau de ressources de soutien, 884 00:37:55,030 --> 00:37:58,250 parmi eux des sections ou récitations, les possibilités hebdomadaires 885 00:37:58,250 --> 00:38:01,674 d'avoir des discussions plus intimes et commentaires de matériel ciblés 886 00:38:01,674 --> 00:38:04,590 pour différentes pistes, pour les étudiants moins à l'aise, plus confortable, 887 00:38:04,590 --> 00:38:05,720 ou quelque part entre les deux. 888 00:38:05,720 --> 00:38:08,886 Ceux-ci suivront la disponibilité de les conférences de plusieurs jours par semaine 889 00:38:08,886 --> 00:38:09,970 les lundis et mardis. 890 00:38:09,970 --> 00:38:11,970 Et puis le bureau heures-- un-à-un des opportunités 891 00:38:11,970 --> 00:38:15,490 de l'aide du CA de cours et AT sera les mercredis et jeudis 892 00:38:15,490 --> 00:38:18,400 et dimanches à plusieurs fois, toutes 893 00:38:18,400 --> 00:38:22,180 seront affichés sur le site Web de la formation, encore plus que l'an dernier, aussi bien. 894 00:38:22,180 --> 00:38:25,501 >> Mais ce qui est la clé de CS50, si pas certes un peu inhabituel, 895 00:38:25,501 --> 00:38:27,750 est la culture du cours qui nous avons essayé de cultiver, 896 00:38:27,750 --> 00:38:30,672 à la fois à Cambridge depuis de nombreuses années et maintenant le plus récemment à New Haven. 897 00:38:30,672 --> 00:38:33,130 Et en fait, venir cette Samedi, si vous ne l'avez pas entendu parler, 898 00:38:33,130 --> 00:38:36,410 est le jour CS50 Puzzle, qui a rien à voir avec la science informatique 899 00:38:36,410 --> 00:38:39,430 mais est entièrement conçu pour envoyer un message que la science informatique est 900 00:38:39,430 --> 00:38:40,665 à propos de la résolution de problèmes. 901 00:38:40,665 --> 00:38:43,540 Et en effet, si vous souhaitez partenaire avec un ou deux ou trois amis 902 00:38:43,540 --> 00:38:46,150 et former une équipe pour CS50 Puzzle Day, jetez un oeil 903 00:38:46,150 --> 00:38:48,010 les annonces qui sont sur le chemin. 904 00:38:48,010 --> 00:38:51,582 Et trois heures de pizza et des puzzles et des prix attendent. 905 00:38:51,582 --> 00:38:53,290 Et en effet, pour la première fois cette année, 906 00:38:53,290 --> 00:38:54,873 elle ne sera pas tenue conjointement avec Harvard. 907 00:38:54,873 --> 00:38:57,530 Il sera ici indépendamment à Yale. 908 00:38:57,530 --> 00:38:59,815 Alors gardez un œil sur les ceux si vous ne l'ont pas. 909 00:38:59,815 --> 00:39:02,440 La plupart tous les vendredis dans le semestre ne nous essayons de faire une grande classe 910 00:39:02,440 --> 00:39:06,710 sentir petit et apporter quelques 50 étudiants déjeuner avec le personnel de la formation, 911 00:39:06,710 --> 00:39:08,730 avec les anciens, les amis de l'industrie à parler 912 00:39:08,730 --> 00:39:12,630 à propos de ce qu'est la vie après une classe comme CS50 et au cours des étés 913 00:39:12,630 --> 00:39:14,250 et après l'obtention du diplôme. 914 00:39:14,250 --> 00:39:16,280 Alors gardez un œil sur les invitations à cela. 915 00:39:16,280 --> 00:39:17,988 Pour la première fois jamais cette année sera nous 916 00:39:17,988 --> 00:39:21,420 tenir le premier CS50 codage concours, la possibilité d'opt-in optionnel 917 00:39:21,420 --> 00:39:25,580 mi-semestre, après tout nous avons eu quelques six ou sept semaines de programmation 918 00:39:25,580 --> 00:39:30,100 en C sous leurs ceintures pour concurrencer, si vous souhaitez donc choisir-- à nouveau 919 00:39:30,100 --> 00:39:32,460 sur teams-- essayant de résoudre autant de défis 920 00:39:32,460 --> 00:39:36,160 que vous pouvez dans la programmation avec de vos amis contre les autres. 921 00:39:36,160 --> 00:39:38,850 >> Et vers la queue du semestre allons-nous charter certains bus, 922 00:39:38,850 --> 00:39:40,850 fait passer un certain temps à Cambridge, si vous 923 00:39:40,850 --> 00:39:43,460 vous joindre à nous, pour la soi-disant CS50 hackathon. 924 00:39:43,460 --> 00:39:44,600 À 19 heures, nous allons commencer. 925 00:39:44,600 --> 00:39:45,970 Autour de 21 heures, nous aurons une pizza. 926 00:39:45,970 --> 00:39:47,650 Autour de 01h00, nous aurons burritos. 927 00:39:47,650 --> 00:39:50,550 Et ceux qui sont encore éveillés sur la bus maison vers 05h00, 928 00:39:50,550 --> 00:39:54,070 nous nous arrêterons pour les crêpes au IHOP sur le chemin home-- 929 00:39:54,070 --> 00:39:57,540 une occasion de 12 heures pour immerger vous-même avec ses camarades de classe et le personnel 930 00:39:57,540 --> 00:39:59,950 dans le projet final de la formation, qui est une opportunité 931 00:39:59,950 --> 00:40:01,870 pour aller bien au-delà du Les ensembles de problèmes de cours 932 00:40:01,870 --> 00:40:05,950 et la conception et la mise en œuvre plus quoi que ce soit d'intérêt pour vous, 933 00:40:05,950 --> 00:40:09,170 qui sera finalement présenté ici en Commons. 934 00:40:09,170 --> 00:40:12,510 La première foire jamais CS50 dernière année, une exposition de fin de semestre 935 00:40:12,510 --> 00:40:15,460 ou d'une fête de ce que tout le monde dans la classe avait accompli, 936 00:40:15,460 --> 00:40:19,810 en particulier ceux qui, encore une fois, qui est passé de rien à quelque chose, de zéro à 60, 937 00:40:19,810 --> 00:40:22,450 ayant aucune expérience préalable et présentant, en fin de compte, 938 00:40:22,450 --> 00:40:26,960 quelque chose pour tout le campus et, si en ligne, le monde à voir, aussi bien. 939 00:40:26,960 --> 00:40:30,780 >> Maintenant, ces ici ne sont que quelques-unes des PS et CA qui rend CS50 possible. 940 00:40:30,780 --> 00:40:33,034 Permettez-moi d'inviter toute des membres du personnel 941 00:40:33,034 --> 00:40:35,700 qui sont ici pour monter sur scène, ainsi que les têtes de cours, 942 00:40:35,700 --> 00:40:38,785 d'offrir quelques mots de inspiration, aussi bien. 943 00:40:38,785 --> 00:41:03,138 944 00:41:03,138 --> 00:41:03,950 >> ANDI: Salut, les gars. 945 00:41:03,950 --> 00:41:05,290 vous les gars peuvent me entendre? 946 00:41:05,290 --> 00:41:10,260 Merci de nous rejoindre sur cette belle, jeudi après-midi pluvieux. 947 00:41:10,260 --> 00:41:11,010 Mon nom est Andi. 948 00:41:11,010 --> 00:41:12,070 Je suis un junior à Berkeley. 949 00:41:12,070 --> 00:41:17,250 Et avec Stelios et l'été, nous serons votre enseignement trois têtes 950 00:41:17,250 --> 00:41:19,277 assistants pour cette année à venir. 951 00:41:19,277 --> 00:41:21,110 Donc, je suppose, de spectacle hands-- combien d'entre vous 952 00:41:21,110 --> 00:41:26,680 ont pas l'intention d'être un CS majeur, ni vraiment plonger profondément 953 00:41:26,680 --> 00:41:29,930 dans la science de l'ordinateur comme un important ici? 954 00:41:29,930 --> 00:41:30,520 Génial. 955 00:41:30,520 --> 00:41:32,730 C'est brillant. 956 00:41:32,730 --> 00:41:35,850 >> Donc, je suis en fait une des affaires mondiales et sciences cognitives majeure. 957 00:41:35,850 --> 00:41:37,780 Je me suis littéralement venu Yale avec l'intention 958 00:41:37,780 --> 00:41:42,199 de ne jamais avoir à regarder un nombre toujours à nouveau dans ma vie. 959 00:41:42,199 --> 00:41:44,990 Quand je suis arrivé à Yale, ce fut quelque chose qui n'a jamais été sur mon radar. 960 00:41:44,990 --> 00:41:46,460 Je voulais en apprendre davantage sur la poésie. 961 00:41:46,460 --> 00:41:48,500 Je voulais en apprendre davantage sur les affaires internationales. 962 00:41:48,500 --> 00:41:50,510 Je voulais en apprendre davantage sur dessins à l'aquarelle. 963 00:41:50,510 --> 00:41:53,360 Oui, nous offrons une classe sur les dessins à l'aquarelle. 964 00:41:53,360 --> 00:41:57,340 >> Mais je ne suis vraiment intéressé en quoi que ce soit STEM connexe. 965 00:41:57,340 --> 00:41:59,620 Mais plus je vieillis a obtenu, plus je réalisais 966 00:41:59,620 --> 00:42:03,340 que tous les domaines vraiment dans certains sens emploie la science informatique, 967 00:42:03,340 --> 00:42:05,700 ou sinon de l'informatique, le calcul. 968 00:42:05,700 --> 00:42:08,300 En fait, pour mon mondiale affaires projet de fin, 969 00:42:08,300 --> 00:42:12,020 nous utilisons des analyses de données d'analyser les attaques terroristes 970 00:42:12,020 --> 00:42:13,680 pour Boko Haram au Nigeria. 971 00:42:13,680 --> 00:42:17,510 Et comme vous pouvez le voir, quel que soit de ce grand vous finissez par la poursuite 972 00:42:17,510 --> 00:42:21,640 ou ce que vos intérêts ici à Yale sont, la programmation et les fondations 973 00:42:21,640 --> 00:42:24,130 de toutes les compétences sont super utiles. 974 00:42:24,130 --> 00:42:29,840 Et CS50 est vraiment bien équipé pour sorte de prêter beaucoup de ses ressources 975 00:42:29,840 --> 00:42:32,060 pour vous, quel que soit comment vous sentez-vous 976 00:42:32,060 --> 00:42:34,590 ou comment êtes-vous intéressé dans la poursuite de la classe. 977 00:42:34,590 --> 00:42:37,290 >> Summer va parler un peu peu de ce que vous êtes les gars 978 00:42:37,290 --> 00:42:39,635 va en apprendre davantage sur cette année. 979 00:42:39,635 --> 00:42:40,510 SUMMER: Salut, tout le monde. 980 00:42:40,510 --> 00:42:41,320 Je suis Summer Wu. 981 00:42:41,320 --> 00:42:43,090 Je suis un junior en Morse. 982 00:42:43,090 --> 00:42:48,100 Et je réellement commencé en tant qu'étudiant CS50 moi-même. 983 00:42:48,100 --> 00:42:51,460 Il y a donc trois ans, je suis sur une année sabbatique. 984 00:42:51,460 --> 00:42:53,940 Je ne l'avais jamais pris un CS classe au lycée, 985 00:42:53,940 --> 00:42:57,800 mais je pensais que dans mon temps libre, ce serait cool d'apprendre à coder. 986 00:42:57,800 --> 00:43:02,610 Donc, je l'ai fait une recherche rapide sur Google, cherché ce qui était disponible en ligne, 987 00:43:02,610 --> 00:43:06,990 et a vu cette vidéo avec muppets et DJs et sites sympas. 988 00:43:06,990 --> 00:43:09,450 Je suis comme, je veux apprendre à faire cela. 989 00:43:09,450 --> 00:43:14,690 >> Je pris donc le cours, et je vient de tomber en amour avec elle. 990 00:43:14,690 --> 00:43:20,410 Mais je me souviens avoir été si jaloux de la les enfants qui pourraient assister à la hackathon, 991 00:43:20,410 --> 00:43:24,610 participer à la Journée de Puzzle, assister bureau heures, obtenir de l'aide d'AT en personne. 992 00:43:24,610 --> 00:43:27,410 Et donc je ne l'imaginais que je reçois la chance 993 00:43:27,410 --> 00:43:30,640 être ici impliqué dans Au cours de cette première a 994 00:43:30,640 --> 00:43:33,630 me intéressé par ordinateur la science et la raison pour laquelle 995 00:43:33,630 --> 00:43:35,690 Je suis une science informatique majeure aujourd'hui. 996 00:43:35,690 --> 00:43:39,290 Donc, je vous préviens, cette classe va vous étirer. 997 00:43:39,290 --> 00:43:41,120 Il va vous défier. 998 00:43:41,120 --> 00:43:43,910 Mais il va aussi vous apprendre à faire des choses 999 00:43:43,910 --> 00:43:45,506 que vous jamais imaginé que vous pourriez. 1000 00:43:45,506 --> 00:43:49,330 1001 00:43:49,330 --> 00:43:52,160 >> STELIOS: Salut, tout le monde. 1002 00:43:52,160 --> 00:43:53,510 Mon nom est Stelios. 1003 00:43:53,510 --> 00:43:58,240 Je suis un junior à Branford College et un important CS. 1004 00:43:58,240 --> 00:44:01,640 Je suis également d'Athènes, Grèce. 1005 00:44:01,640 --> 00:44:03,830 Je suis vraiment impatient pour vous rencontrer tous, 1006 00:44:03,830 --> 00:44:09,010 bavarder avec vous à la section, à les heures de bureau, au vendredi déjeuners. 1007 00:44:09,010 --> 00:44:11,250 Je suis vraiment excité parce nous avons mis tant d'efforts 1008 00:44:11,250 --> 00:44:14,650 dans la création d'un support unique, la structure pour vous tous 1009 00:44:14,650 --> 00:44:19,170 pour rendre votre expérience avec le cours le meilleur possible. 1010 00:44:19,170 --> 00:44:22,640 Et je souhaite que bien que la plupart des vous avez probablement pas pris CS 1011 00:44:22,640 --> 00:44:27,310 Bien sûr, avant, j'espère que ce CS50 pour vous est ce qui suscite l'intérêt 1012 00:44:27,310 --> 00:44:30,260 de poursuivre l'ordinateur la science dans l'avenir, 1013 00:44:30,260 --> 00:44:33,270 comme il l'a fait avec tant beaucoup de gens dans le passé. 1014 00:44:33,270 --> 00:44:36,740 Je vous remercie d'être ici, heureux de vous voir. 1015 00:44:36,740 --> 00:44:38,487 Jason Hirschhorn. 1016 00:44:38,487 --> 00:44:39,820 JASON HIRSCHHORN: Salut, tout le monde. 1017 00:44:39,820 --> 00:44:41,700 Mon nom est Jason Hirschhorn. 1018 00:44:41,700 --> 00:44:43,050 Je vis dans Silliman. 1019 00:44:43,050 --> 00:44:46,910 Et je suis allé à Harvard comme un étudiant de premier cycle et spécialisé en études sociales 1020 00:44:46,910 --> 00:44:48,870 et une mineure en sciences informatiques. 1021 00:44:48,870 --> 00:44:53,100 Et l'un de mes principaux rôles ici est de soutenir ce merveilleux personnel 1022 00:44:53,100 --> 00:44:54,630 comme ils vous soutiennent. 1023 00:44:54,630 --> 00:44:56,410 En fait, ce ne sont pas tous. 1024 00:44:56,410 --> 00:45:01,230 Il y a 55 étudiants de premier cycle et diplômés ici pour vous tous soutenir. 1025 00:45:01,230 --> 00:45:04,420 Et je daresay l'un des meilleurs parties du cours pour vous 1026 00:45:04,420 --> 00:45:08,080 tout est d'apprendre à travailler avec eux, apprendre à les connaître, 1027 00:45:08,080 --> 00:45:12,389 apprendre à les voir, tant en CS50 et à l'extérieur du CS50 ce semestre 1028 00:45:12,389 --> 00:45:13,680 et pour beaucoup de semestres à venir. 1029 00:45:13,680 --> 00:45:16,770 Donc, nous espérons que vous prendrez le bien sûr parce que nous espérons que vous 1030 00:45:16,770 --> 00:45:21,060 obtenir pour interagir avec le personnel merveilleux que nous avons sur scène. 1031 00:45:21,060 --> 00:45:24,977 >> CONFÉRENCIER: Eh bien, laissez-moi finir en disant que ce sera amusant. 1032 00:45:24,977 --> 00:45:26,810 DAVID MALAN: Eh bien, grâce à l'ensemble de notre équipe. 1033 00:45:26,810 --> 00:45:29,610 Permettez-moi de tamiser les lumières et permettre à un peu plus de notre équipe, 1034 00:45:29,610 --> 00:45:32,890 à la fois de Cambridge et New Haven, dire bonjour comme ces gars fichier off. 1035 00:45:32,890 --> 00:45:36,130 Et après cela, nous allons passer à le premier de nos engagements de programmation 1036 00:45:36,130 --> 00:45:37,584 avec ce langage appelé Scratch. 1037 00:45:37,584 --> 00:45:38,500 Ainsi, grâce à l'équipe. 1038 00:45:38,500 --> 00:45:40,770 Voyons tamiser les lumières et entendre quelques autres. 1039 00:45:40,770 --> 00:45:44,207 >> [APPLAUDISSEMENTS] 1040 00:45:44,207 --> 00:45:45,680 1041 00:45:45,680 --> 00:45:48,140 >> [LECTURE VIDÉO] 1042 00:45:48,140 --> 00:45:53,210 >> -La Mission de CS50 est de vous faire plus à l'aise avec une manière totalement nouvelle 1043 00:45:53,210 --> 00:45:54,947 de la pensée, cet état d'esprit de calcul. 1044 00:45:54,947 --> 00:45:56,780 -Il Fait de l'informatique intéressante, 1045 00:45:56,780 --> 00:46:00,241 est quelque chose que je ne l'ai pas vraiment rendu compte était possible jusqu'à ce que je pris la classe. 1046 00:46:00,241 --> 00:46:00,990 -I Était comme, whoa. 1047 00:46:00,990 --> 00:46:04,120 Je suis vraiment traduire mes pensées dans un ordinateur en ce moment. 1048 00:46:04,120 --> 00:46:07,970 >> -Même Si vous ne disposez pas de fond en informatique ou toute expérience, 1049 00:46:07,970 --> 00:46:10,140 c'est en fait la classe pour vous. 1050 00:46:10,140 --> 00:46:12,250 >> -Alors Je veux vraiment mes élèves à juste 1051 00:46:12,250 --> 00:46:14,350 se passionnent pour la science informatique. 1052 00:46:14,350 --> 00:46:17,187 Non seulement la programmation, mais penser comme un informaticien 1053 00:46:17,187 --> 00:46:19,270 est vraiment ce que je veux essayer d'enseigner ma première. 1054 00:46:19,270 --> 00:46:21,560 >> -CS50 Est difficile et enrichissante. 1055 00:46:21,560 --> 00:46:22,592 >> -Une expérience. 1056 00:46:22,592 --> 00:46:23,456 >> -Extravaganza. 1057 00:46:23,456 --> 00:46:26,350 >> -Il Est nous amener au prochain niveau. 1058 00:46:26,350 --> 00:46:28,850 >> [MUSIC PLAYING] 1059 00:46:28,850 --> 00:46:32,167 >> -Les TFs sont, je pense, le pierre angulaire de la formation. 1060 00:46:32,167 --> 00:46:34,560 >> -Je Suis heureux d'avoir mes élèves j'aide 1061 00:46:34,560 --> 00:46:38,027 ont ce aha moment pour réaliser ce qu'ils sont réellement essayer 1062 00:46:38,027 --> 00:46:39,610 à faire, pour comprendre comment faire un pset. 1063 00:46:39,610 --> 00:46:41,438 >> -CS50 Est certainement un cours difficile. 1064 00:46:41,438 --> 00:46:43,960 Mais, contrairement à tout autre bien sûr vraiment à Yale, 1065 00:46:43,960 --> 00:46:45,759 il a une si grande, communauté de soutien. 1066 00:46:45,759 --> 00:46:47,550 -Tu Ne font absolument pas besoin de savoir quoi que ce soit 1067 00:46:47,550 --> 00:46:49,341 sur le codage de pouvoir de suivre le cours. 1068 00:46:49,341 --> 00:46:52,270 -C'est Étonnant de voir à quel point les gens viennent en un semestre. 1069 00:46:52,270 --> 00:46:55,610 >> -Tu Étaient pas seul assis dans votre chambre d'apprendre à code, 1070 00:46:55,610 --> 00:46:57,170 mais il était plus que juste une classe. 1071 00:46:57,170 --> 00:46:58,044 Ce fut une expérience. 1072 00:46:58,044 --> 00:47:02,500 -La Meilleure façon d'apprendre les concepts et pour les traiter est en enseignant aux autres. 1073 00:47:02,500 --> 00:47:04,033 >> -Quelle Est la scission de téléphone? 1074 00:47:04,033 --> 00:47:06,934 >> [MUSIC PLAYING] 1075 00:47:06,934 --> 00:47:08,080 >> -Et Cela est CS50. 1076 00:47:08,080 --> 00:47:10,810 >> [MUSIC PLAYING] 1077 00:47:10,810 --> 00:47:11,720 1078 00:47:11,720 --> 00:47:12,380 >> -Ce Est CS50. 1079 00:47:12,380 --> 00:47:13,446 >> -J'ai un problème? 1080 00:47:13,446 --> 00:47:14,852 Déchirer en deux. 1081 00:47:14,852 --> 00:47:15,804 >> [MUSIC PLAYING] 1082 00:47:15,804 --> 00:47:18,184 >> Jette-le. 1083 00:47:18,184 --> 00:47:19,520 >> DAVID MALAN: Très bien. 1084 00:47:19,520 --> 00:47:23,190 Donc, nous allons tackle-- dans un petit peu, d'ailleurs, il est 1085 00:47:23,190 --> 00:47:25,270 été cette tradition pour une raison pour 10 ans 1086 00:47:25,270 --> 00:47:27,260 pour servir le gâteau à la début et la fin du CS50. 1087 00:47:27,260 --> 00:47:30,800 Donc, vous attend à la fin de aujourd'hui, en plus de syllabus, 1088 00:47:30,800 --> 00:47:34,270 sera un gâteau aussi bien, et Le personnel de cours pour dire bonjour. 1089 00:47:34,270 --> 00:47:37,110 la transition Mais maintenant, laissez-le première de nos langues, où 1090 00:47:37,110 --> 00:47:40,970 nous passons vraiment juste une semaine et un problème réglé sur ce domaine, Scratch. 1091 00:47:40,970 --> 00:47:43,160 Et vous trouverez si vous avez programmée avant, beaucoup 1092 00:47:43,160 --> 00:47:46,280 des idées et la possibilités vous sont familières. 1093 00:47:46,280 --> 00:47:48,160 Mais vous verrez que il est amusant le long du chemin 1094 00:47:48,160 --> 00:47:51,201 de comprendre exactement comment traduire quelques-unes des idées que vous connaissez déjà 1095 00:47:51,201 --> 00:47:53,852 à cet environnement particulier vraiment impressionner votre famille 1096 00:47:53,852 --> 00:47:57,060 et amis avec votre travail, qui peut aller en ligne, si vous le souhaitez, par la suite. 1097 00:47:57,060 --> 00:47:58,851 >> Et si vous avez pas l'expérience antérieure et sont 1098 00:47:58,851 --> 00:48:01,540 parmi la majorité des étudiants moins confortables, 1099 00:48:01,540 --> 00:48:05,320 se rendre compte que bon nombre des idées que nous juste exploré avec des choses reality-- 1100 00:48:05,320 --> 00:48:07,970 comme les annuaires téléphoniques et la fréquentation et de traduire de manière forth-- 1101 00:48:07,970 --> 00:48:12,280 assez bien à un ordinateur, mais pas si vous utilisez, 1102 00:48:12,280 --> 00:48:13,710 d'abord, un langage comme celui-ci. 1103 00:48:13,710 --> 00:48:16,290 Donc, ceci est un programme écrit dans un langage appelé C. 1104 00:48:16,290 --> 00:48:18,590 Et nous allons passer un peu de temps en C, en fin de compte. 1105 00:48:18,590 --> 00:48:22,560 Mais les chances sont, cela va regarder un peu cryptique pour vous à première vue. 1106 00:48:22,560 --> 00:48:25,760 En fait, il y a beaucoup de bizarre la syntaxe, les parenthèses, les crochets, 1107 00:48:25,760 --> 00:48:27,422 accolades, des citations et des points-virgules. 1108 00:48:27,422 --> 00:48:29,880 Et en effet, si vous plongez dans la programmation pour la première fois, 1109 00:48:29,880 --> 00:48:33,420 regarder et essayer de créer des choses comme ça, honnêtement, vous êtes tellement embourbé 1110 00:48:33,420 --> 00:48:36,500 si souvent stupide minuties qui n'a rien 1111 00:48:36,500 --> 00:48:38,240 intellectuellement intéressante à ce sujet. 1112 00:48:38,240 --> 00:48:40,980 >> Mais imaginez si vous pouviez créer ce même program-- qui, 1113 00:48:40,980 --> 00:48:46,200 comme vous pouvez sorte de déduire, probablement gravures "Bonjour, monde» en quelque sorte ou d'autres. 1114 00:48:46,200 --> 00:48:49,850 Nous pouvons distiller cette même idée en seulement deux pièces de puzzle, si vous voulez. 1115 00:48:49,850 --> 00:48:52,850 En effet, Scratch est intéressant parce qu'il est ce langage graphique. 1116 00:48:52,850 --> 00:48:56,110 Vous pouvez glisser et déposer ces pièces de puzzle qui ne interlock 1117 00:48:56,110 --> 00:48:57,940 si elle est logique de le faire. 1118 00:48:57,940 --> 00:48:59,830 Et dans Scratch, nous verrons bientôt, cela est 1119 00:48:59,830 --> 00:49:03,460 comment vous mettre en œuvre cette même programme, avec seulement deux pièces de puzzle 1120 00:49:03,460 --> 00:49:05,420 que faire à peu près ce qu'ils disent. 1121 00:49:05,420 --> 00:49:08,870 >> Mais nous verrons dans un instant que certains des blocs de construction que nous avons fait allusion 1122 00:49:08,870 --> 00:49:12,140 à l'heure et un peu plus sont tout ce qui en fin de compte vont constituer 1123 00:49:12,140 --> 00:49:13,460 certains de nos premiers programmes. 1124 00:49:13,460 --> 00:49:15,460 Nous allons avoir des choses comme functions-- juste 1125 00:49:15,460 --> 00:49:18,034 actions qui font quelque chose, comme dire bonjour, monde. 1126 00:49:18,034 --> 00:49:20,200 Nous allons avoir des boucles, des choses qui induisent des cycles 1127 00:49:20,200 --> 00:49:23,210 encore et encore, tout comme nous a fait il y a un moment avec la recherche 1128 00:49:23,210 --> 00:49:24,110 pour Mike Smith. 1129 00:49:24,110 --> 00:49:27,190 Variables, comme en algèbre, si vous avoir x ou y, qui peut stocker un certain nombre. 1130 00:49:27,190 --> 00:49:29,940 Eh bien, dans un programme, vous pouvez réellement stocker plus que des chiffres. 1131 00:49:29,940 --> 00:49:34,290 Vous pouvez stocker des mots et des phrases et et les graphiques d'autres choses encore. 1132 00:49:34,290 --> 00:49:37,530 Les expressions booléennes, juste questions-- oui ou non, vrai ou faux. 1133 00:49:37,530 --> 00:49:40,680 Conditions, les décisions de prise sur la base de ces oui / pas de réponse. 1134 00:49:40,680 --> 00:49:43,890 >> Et puis les choses plus fantaisistes comme tableau et les discussions et les événements 1135 00:49:43,890 --> 00:49:46,100 et un certain nombre d'autres les caractéristiques, mais qui toutes 1136 00:49:46,100 --> 00:49:48,670 carte très bien à très blocs sympathiques comme celui-ci. 1137 00:49:48,670 --> 00:49:52,736 Cela va être une fonction, un pièce de puzzle pourpre qui dit juste 1138 00:49:52,736 --> 00:49:54,717 ce que son nom est-- dans ce cas, par exemple. 1139 00:49:54,717 --> 00:49:56,550 Et puis souvent, il y a une boîte blanche que vous 1140 00:49:56,550 --> 00:49:58,550 peut taper ou glisser une certaine valeur dans. 1141 00:49:58,550 --> 00:50:01,370 Et voilà ce qui est généralement appelé un argument ou un paramètre. 1142 00:50:01,370 --> 00:50:04,110 Il est une façon de modifier la comportement par défaut d'un puzzle 1143 00:50:04,110 --> 00:50:07,530 morceau ou d'une fonction de sorte qu'il ne quelque chose de personnalisé pour vous comme dire, 1144 00:50:07,530 --> 00:50:12,570 bonjour, monde ou bonjour, Andy ou bonjour, Jason ou une autre phrase à la place. 1145 00:50:12,570 --> 00:50:15,830 >> Si vous voulez dire que lot-- littéralement forever-- 1146 00:50:15,830 --> 00:50:18,142 vous pouvez prendre une autre pièce de puzzle appelé à jamais 1147 00:50:18,142 --> 00:50:20,100 et juste en sandwich la deux ensemble comme ça. 1148 00:50:20,100 --> 00:50:24,090 Et cette boucle, comme l'image suggère, signifie simplement dire bonjour, monde pour toujours, 1149 00:50:24,090 --> 00:50:25,810 Encore et encore et encore. 1150 00:50:25,810 --> 00:50:28,840 Ou, si vous voulez seulement faire une nombre fini de fois, comme 50 fois, 1151 00:50:28,840 --> 00:50:32,050 il va y avoir un autre casse-tête pièce pour that-- répéter 50 fois. 1152 00:50:32,050 --> 00:50:34,190 >> En attendant, si vous voulez d'avoir une variable 1153 00:50:34,190 --> 00:50:36,090 dans cette langue que nous sommes sur le point de jouer avec, 1154 00:50:36,090 --> 00:50:37,880 vous pouvez utiliser un bloc orange comme ça. 1155 00:50:37,880 --> 00:50:40,750 Et cette variable I arbitrairement appelé i pour entière. 1156 00:50:40,750 --> 00:50:42,290 Et je viens de mettre ce égal à 0. 1157 00:50:42,290 --> 00:50:44,780 Et donc peut-être i, dans ce case-- ce variable-- 1158 00:50:44,780 --> 00:50:46,630 représente le score de quelqu'un dans un jeu. 1159 00:50:46,630 --> 00:50:49,680 Vous commencez à zéro, et chaque fois que vous faire un objectif ou quelque chose comme ça, 1160 00:50:49,680 --> 00:50:51,270 vous obtenez un point supplémentaire. 1161 00:50:51,270 --> 00:50:52,830 >> Vous pouvez poser des questions à Scratch. 1162 00:50:52,830 --> 00:50:55,390 Si nous glisser et déposer casse-tête pièces dans un moment comme celui-ci, 1163 00:50:55,390 --> 00:50:58,470 vous pouvez poser des questions comme, ainsi, est i moins de 50? 1164 00:50:58,470 --> 00:51:00,060 Peut-être que vous avez besoin de 50 points pour gagner. 1165 00:51:00,060 --> 00:51:01,893 Et donc ce serait la question que vous souhaitez poser. 1166 00:51:01,893 --> 00:51:04,030 Ou, plus généralement, vous pourrait dire est x moins y, 1167 00:51:04,030 --> 00:51:05,780 où il y a deux variables impliquées? 1168 00:51:05,780 --> 00:51:08,320 Maintenant, celui-ci est beaucoup plus grande à première vue, 1169 00:51:08,320 --> 00:51:11,470 mais vraiment pas du tout plus complexe. 1170 00:51:11,470 --> 00:51:15,390 >> Ceci est juste une combinaison des conditions et de variables 1171 00:51:15,390 --> 00:51:19,370 et des expressions booléennes pour demander trois questions-- est x moins de y? 1172 00:51:19,370 --> 00:51:20,660 Si oui, dites-le. 1173 00:51:20,660 --> 00:51:22,170 Par exemple, x est inférieur à y. 1174 00:51:22,170 --> 00:51:26,571 Sinon, si x est supérieur à y, sinon x doit être égal à y. 1175 00:51:26,571 --> 00:51:29,070 Et alors qu'avec Mike Smith, il y avait quatre scénarios, ici 1176 00:51:29,070 --> 00:51:32,270 dans le monde des nombres, x est soit inférieur, supérieur ou égal. 1177 00:51:32,270 --> 00:51:34,531 Tout ce que nous avons sont trois fourchettes dans la route. 1178 00:51:34,531 --> 00:51:36,530 Et puis il y a colombophile pièces de puzzle comme celui-ci 1179 00:51:36,530 --> 00:51:39,613 pour des choses comme des tableaux, où nous sommes va être en mesure de stocker des informations. 1180 00:51:39,613 --> 00:51:43,590 Nous allons voir des blocs qui permettent nous mettons en œuvre plusieurs threads, 1181 00:51:43,590 --> 00:51:46,620 une autre caractéristique que nous allons utiliser, et puis aussi quelque chose appelé les événements. 1182 00:51:46,620 --> 00:51:49,390 Mais avant d'en arriver là le point et de créer même, 1183 00:51:49,390 --> 00:51:52,000 en fin de compte, notre propre coutume pièces de puzzle, nous allons 1184 00:51:52,000 --> 00:51:53,950 effectivement ouvrir le programme lui-même. 1185 00:51:53,950 --> 00:51:54,860 >> Donc, cela est Scratch. 1186 00:51:54,860 --> 00:51:57,490 Il est disponible à scratch.mit.edu. 1187 00:51:57,490 --> 00:51:59,650 Et vous êtes invités à jouer maintenant ou plus tard, aussi bien. 1188 00:51:59,650 --> 00:52:01,330 Cela arrive à être la version hors ligne. 1189 00:52:01,330 --> 00:52:03,129 Pour les personnes qui ne le font pas nécessairement grand internet, 1190 00:52:03,129 --> 00:52:04,962 vous pouvez télécharger le même logiciel, aussi bien. 1191 00:52:04,962 --> 00:52:07,460 Et il n'y a vraiment que trois les composants à ce logiciel. 1192 00:52:07,460 --> 00:52:10,860 Dans le coin supérieur gauche de l'écran est le genre de scène 1193 00:52:10,860 --> 00:52:13,800 que Scratch, qui, par défaut ressemble à un chat, vit à l'intérieur. 1194 00:52:13,800 --> 00:52:16,799 Il peut se déplacer de haut en bas, à gauche, et à droite et faire un certain nombre d'autres choses, 1195 00:52:16,799 --> 00:52:20,520 et peut regarder un certain nombre de façons sur la base sur les costumes que vous attribuez à lui. 1196 00:52:20,520 --> 00:52:22,980 Mais ceci est ce que nous appellerons une sprite, une sorte de caractère. 1197 00:52:22,980 --> 00:52:25,429 Et vous pouvez avoir plusieurs caractères, que nous allons bientôt voir. 1198 00:52:25,429 --> 00:52:30,060 >> Au milieu sont maintenant tous ces casse-tête pièces et ces catégories ou palettes 1199 00:52:30,060 --> 00:52:30,900 celui-ci. 1200 00:52:30,900 --> 00:52:32,429 Donc maintenant, je clique sur la motion. 1201 00:52:32,429 --> 00:52:35,900 Et donc je vois tous les pièces de puzzle ou blocs liés mouvement, 1202 00:52:35,900 --> 00:52:37,950 de sorte que les fonctions qui ont à voir avec la hausse, 1203 00:52:37,950 --> 00:52:39,950 vers le bas, la gauche ou la droite ou une autre opération. 1204 00:52:39,950 --> 00:52:43,790 Mais si je clique sur Looks, vous pourrait voir des choses comme le bloc de dire 1205 00:52:43,790 --> 00:52:45,084 que nous avons vu il y a quelques instants. 1206 00:52:45,084 --> 00:52:48,250 Et si je clique sur le contrôle, vous verrez des choses comme la répétition et pour toujours 1207 00:52:48,250 --> 00:52:50,410 et si bloc nous avons vu il y a un instant. 1208 00:52:50,410 --> 00:52:51,670 >> Et vous trouverez que nous allons juste gratter 1209 00:52:51,670 --> 00:52:53,750 la surface d'une partie de la puzzle de morceaux ensemble, 1210 00:52:53,750 --> 00:52:55,833 mais il est tout assez intuitive et pointer et cliquer. 1211 00:52:55,833 --> 00:52:58,219 En effet, Scratch a été conçu pour les plus jeunes 1212 00:52:58,219 --> 00:53:00,730 pour les aider à donner une sortie pour la pensée créative. 1213 00:53:00,730 --> 00:53:03,040 Et pourtant à merveille, il est un merveilleux tremplin 1214 00:53:03,040 --> 00:53:07,020 exactement les idées que nous allons explorer en C et Python et JavaScript, 1215 00:53:07,020 --> 00:53:07,719 aussi bien. 1216 00:53:07,719 --> 00:53:11,960 >> Sur le côté droit, enfin, ici est-ce, que l'on appelle la zone de scripts. 1217 00:53:11,960 --> 00:53:15,750 Et cela est juste l'ardoise vierge avec que vous commencez à écrire un programme. 1218 00:53:15,750 --> 00:53:16,897 Et je vais exactement cela. 1219 00:53:16,897 --> 00:53:19,980 Maintenant, je sais où sont les choses parce que je l'ai fait plusieurs fois. 1220 00:53:19,980 --> 00:53:22,710 Mais je sais que, sous la catégorie des événements, 1221 00:53:22,710 --> 00:53:25,520 il y a ce bloc ici-- lorsque le drapeau vert cliqué. 1222 00:53:25,520 --> 00:53:28,790 Et remarquez si je zoom arrière et retour dans plus ici sur la scène, 1223 00:53:28,790 --> 00:53:31,190 Scratch vie dans ce petit monde rectangulaire, 1224 00:53:31,190 --> 00:53:33,920 au sommet de laquelle est un vert drapeau et un panneau d'arrêt rouge. 1225 00:53:33,920 --> 00:53:36,180 Alors, allez et arrêter, respectivement. 1226 00:53:36,180 --> 00:53:38,710 >> Et qu'est-ce que je veux faire lorsque ce drapeau vert est cliqué? 1227 00:53:38,710 --> 00:53:40,900 Eh bien, laissez-moi aller à cette Looks catégorie. 1228 00:53:40,900 --> 00:53:43,357 Et laissez-moi aller de l'avant et faire glisser et déposer cela. 1229 00:53:43,357 --> 00:53:45,940 Et remarquez dès qu'il obtient à proximité, ils sont en quelque sorte magnétique. 1230 00:53:45,940 --> 00:53:48,489 Donc, si je laisse maintenant aller, il enclenche ensemble agréable et propre. 1231 00:53:48,489 --> 00:53:51,030 Et je vais aller de l'avant et dire quelque chose comme bonjour, monde 1232 00:53:51,030 --> 00:53:52,190 pendant deux secondes. 1233 00:53:52,190 --> 00:53:56,730 Permettez-moi de faire un zoom arrière et cliquez maintenant drapeau vert, et dire bonjour, monde. 1234 00:53:56,730 --> 00:53:57,230 D'accord. 1235 00:53:57,230 --> 00:53:58,460 Donc, c'est tout beau et bon. 1236 00:53:58,460 --> 00:53:59,900 Pas tout ce que passionnant. 1237 00:53:59,900 --> 00:54:01,340 Faisons un peu plus mignon. 1238 00:54:01,340 --> 00:54:03,494 Et je sais que, dans avance, Scratch arrive 1239 00:54:03,494 --> 00:54:05,160 à venir avec quelques choses mignonnes comme ça. 1240 00:54:05,160 --> 00:54:07,720 Donc jouer meow son jusqu'à ce que fait. 1241 00:54:07,720 --> 00:54:09,531 Donc, nous allons le faire. 1242 00:54:09,531 --> 00:54:10,380 >> [MIAOU] 1243 00:54:10,380 --> 00:54:11,819 >> Aw, qui est adorable. 1244 00:54:11,819 --> 00:54:12,860 Et si je clique dessus again-- 1245 00:54:12,860 --> 00:54:14,920 >> [MIAOU] 1246 00:54:14,920 --> 00:54:15,460 >> Et encore. 1247 00:54:15,460 --> 00:54:16,740 >> [MIAOU] 1248 00:54:16,740 --> 00:54:18,760 >> Mais je continue à avoir à réanimer Scratch. 1249 00:54:18,760 --> 00:54:20,010 Mais je peux faire mieux que cela. 1250 00:54:20,010 --> 00:54:23,060 Pourquoi ne pas tout simplement glisser trois d'entre eux. 1251 00:54:23,060 --> 00:54:24,821 Et maintenant il est trois fois plus adorable. 1252 00:54:24,821 --> 00:54:26,264 >> [Miauler] 1253 00:54:26,264 --> 00:54:28,190 >> OK, en fait, il est un peu effrayant. 1254 00:54:28,190 --> 00:54:31,020 Nous avons donc besoin de quelque chose entre les deux là. 1255 00:54:31,020 --> 00:54:33,870 Si je vais au contrôle, il ressemble il y a en fait un bloc d'attente. 1256 00:54:33,870 --> 00:54:36,994 Et remarquez si je planer sur there-- et permettez-moi de cela un peu plus grand. 1257 00:54:36,994 --> 00:54:38,780 Si je plane, ça va à enclencher en place. 1258 00:54:38,780 --> 00:54:41,660 Donc, attendre une seconde, attendez une seconde. 1259 00:54:41,660 --> 00:54:43,170 Frappons nouveau drapeau vert. 1260 00:54:43,170 --> 00:54:46,330 >> [Miauler] 1261 00:54:46,330 --> 00:54:47,695 1262 00:54:47,695 --> 00:54:50,660 >> OK, un peu plus naturel, mais pas très efficace. 1263 00:54:50,660 --> 00:54:54,300 Donc, cela est correct si mon programme de objectif a été meow trois fois. 1264 00:54:54,300 --> 00:54:56,410 Mais il est pas très bien conçu. 1265 00:54:56,410 --> 00:54:57,740 Je sorte de coupé quelques coins. 1266 00:54:57,740 --> 00:54:58,730 Je me suis un peu paresseux. 1267 00:54:58,730 --> 00:55:05,620 Que se sent like-- ce que je crois d'avoir fait mal, diriez-vous? 1268 00:55:05,620 --> 00:55:07,197 Ouais? 1269 00:55:07,197 --> 00:55:08,030 Oui, dans le milieu. 1270 00:55:08,030 --> 00:55:11,208 1271 00:55:11,208 --> 00:55:13,083 AUDIENCE: Utilisé plus de mémoire que vous avez besoin de 1272 00:55:13,083 --> 00:55:15,005 parce que vous utilisez tant ligne différente. 1273 00:55:15,005 --> 00:55:16,380 DAVID MALAN: Ouais, donc plus de lignes. 1274 00:55:16,380 --> 00:55:19,190 Et il ne serait pas nécessairement la mémoire, mais il pourrait être considéré comme de cette façon. 1275 00:55:19,190 --> 00:55:20,898 Mais il est definitely-- il y a redondance. 1276 00:55:20,898 --> 00:55:23,440 Et je me suis littéralement sorte de traînée et a laissé tomber les mêmes choses. 1277 00:55:23,440 --> 00:55:26,564 Et si vous genre de extrapolate-- si il est pas évident ici-- bien, comment 1278 00:55:26,564 --> 00:55:27,910 Je meow 30 fois? 1279 00:55:27,910 --> 00:55:31,450 Je voudrais faire glisser et déposer, comme, 30 autres paires de pièces de puzzle. 1280 00:55:31,450 --> 00:55:32,890 Et sûrement, il y a une meilleure façon. 1281 00:55:32,890 --> 00:55:34,056 Et nous avons vu une meilleure façon. 1282 00:55:34,056 --> 00:55:36,870 Que intuitivement serait être la meilleure façon? 1283 00:55:36,870 --> 00:55:37,890 Oui, il suffit d'utiliser une boucle. 1284 00:55:37,890 --> 00:55:38,810 Pas de copier-coller. 1285 00:55:38,810 --> 00:55:40,790 Et en effet, à tout moment cette semestre si vous commencez 1286 00:55:40,790 --> 00:55:43,890 vous retrouver glisser-déposer, ou vraiment copier-coller, 1287 00:55:43,890 --> 00:55:47,050 dangereuse habitude d'entrer dans parce cela est tout simplement pas très maintenable. 1288 00:55:47,050 --> 00:55:49,740 Par exemple, si je veux changer le son à autre chose, 1289 00:55:49,740 --> 00:55:52,826 Je dois changer maintenant en trois endroits au lieu d'un seul. 1290 00:55:52,826 --> 00:55:54,575 Car en effet, si je briser ce away-- je suis 1291 00:55:54,575 --> 00:55:56,170 juste aller à découpler comme ça. 1292 00:55:56,170 --> 00:56:01,900 Laissez-moi prendre un bloc de répétition, et puis cliquez sur trois, tapez trois, 1293 00:56:01,900 --> 00:56:04,015 jeter certains de ces loin de tout lâcher. 1294 00:56:04,015 --> 00:56:05,890 Et puis le remarquer ne ressemble pas à elle correspond, 1295 00:56:05,890 --> 00:56:08,139 mais magnétiquement, ça va pour casser non seulement en place 1296 00:56:08,139 --> 00:56:09,510 mais se développent pour épouser la forme. 1297 00:56:09,510 --> 00:56:10,310 Donc, ce qui est bon. 1298 00:56:10,310 --> 00:56:11,530 Et maintenant, si je clique sur le jeu. 1299 00:56:11,530 --> 00:56:13,870 >> [Miauler] 1300 00:56:13,870 --> 00:56:14,370 1301 00:56:14,370 --> 00:56:15,620 Très agréable. 1302 00:56:15,620 --> 00:56:16,126 D'accord. 1303 00:56:16,126 --> 00:56:18,500 Et maintenant, il est très facile de changer, aussi, parce que je peux juste 1304 00:56:18,500 --> 00:56:20,670 changer un numéro dans un seul endroit. 1305 00:56:20,670 --> 00:56:22,500 Mais cela, aussi, ne sont pas tout ce qui intéressant. 1306 00:56:22,500 --> 00:56:25,350 Ayons effectivement Scratch pas miauler, mais déplacer. 1307 00:56:25,350 --> 00:56:32,680 Laisse-moi aller à la motion et de passer 10 étapes l'intérieur de-- whoops, permettez-moi de résoudre ce problème. 1308 00:56:32,680 --> 00:56:37,460 Laissez-moi bouger 10 steps-- en fait, nous allons ne pas répéter. 1309 00:56:37,460 --> 00:56:40,670 Laissez-moi prendre un bloc de contrôle, et procédez comme suit pour toujours. 1310 00:56:40,670 --> 00:56:42,720 Toujours, déplacer 10 étapes. 1311 00:56:42,720 --> 00:56:45,070 Et cliquez sur Lecture. 1312 00:56:45,070 --> 00:56:45,600 >> D'ACCORD. 1313 00:56:45,600 --> 00:56:46,740 Donc, heureusement, il arrête. 1314 00:56:46,740 --> 00:56:49,710 Sinon, les enfants obtiendraient très contrarié quand ils perdent leur sorte de chat. 1315 00:56:49,710 --> 00:56:52,720 Mais au moins je peux faire glisser le retour à l'écran. 1316 00:56:52,720 --> 00:56:56,177 Mais ce n'est pas tout ce qui grande d'un jeu ou d'animation. 1317 00:56:56,177 --> 00:56:58,260 Ce serait bien si peut-être il rebondit sur le bord. 1318 00:56:58,260 --> 00:57:00,020 Alors que faisons-nous? 1319 00:57:00,020 --> 00:57:04,302 Quelle construction avons-nous besoin d'avoir Scratch décide de rebondir, pensez-vous, 1320 00:57:04,302 --> 00:57:06,010 même si vous avez jamais vu Scratch avant? 1321 00:57:06,010 --> 00:57:06,593 Oui, dans le dos. 1322 00:57:06,593 --> 00:57:08,359 AUDIENCE: Vous avez besoin d'un si le bloc ou si-alors. 1323 00:57:08,359 --> 00:57:10,650 DAVID MALAN: Ouais, donc certains type de bloc ou si if-then. 1324 00:57:10,650 --> 00:57:12,275 Donc en fait, nous avons un de ces ici. 1325 00:57:12,275 --> 00:57:14,500 Alors si-- alors laissez-moi obtenir débarrasser du mouvement. 1326 00:57:14,500 --> 00:57:16,070 Permettez-moi un zoom avant donc il est plus grand. 1327 00:57:16,070 --> 00:57:16,890 Alors, comment à ce sujet. 1328 00:57:16,890 --> 00:57:21,920 Toujours, si Sensing-- nous avons pas vu cela avant. 1329 00:57:21,920 --> 00:57:23,160 Je besoin d'une expression booléenne. 1330 00:57:23,160 --> 00:57:25,970 Et il se trouve si toucher quoi? 1331 00:57:25,970 --> 00:57:29,030 Si de toucher le bord, qu'est-ce que je veux faire? 1332 00:57:29,030 --> 00:57:32,030 Eh bien, si je reviens à la motion, se révèle, oh, je peux tourner autour. 1333 00:57:32,030 --> 00:57:33,350 Permettez-moi de glisser cette ici. 1334 00:57:33,350 --> 00:57:36,430 Pourquoi dois-je pas aller de l'avant et tourner autour de 180 degrés? 1335 00:57:36,430 --> 00:57:38,190 >> Et maintenant, permettez-moi de passer à la fin. 1336 00:57:38,190 --> 00:57:40,500 Je pourrais mettre le mouvement à le début ou la fin. 1337 00:57:40,500 --> 00:57:44,452 Mais logiquement, chaque fois que je bouge, je voulez vérifier, que je touchais le bord? 1338 00:57:44,452 --> 00:57:45,410 Suis-je touchais le bord? 1339 00:57:45,410 --> 00:57:46,490 Suis-je touchais le bord? 1340 00:57:46,490 --> 00:57:49,200 Alors que, logiquement, je me retourne si oui. 1341 00:57:49,200 --> 00:57:51,190 Donc, nous allons frapper le jeu. 1342 00:57:51,190 --> 00:57:52,030 >> D'ACCORD. 1343 00:57:52,030 --> 00:57:53,910 Donc, il est un peu buggé, pour ainsi dire. 1344 00:57:53,910 --> 00:57:56,560 Et un bug est juste une erreur dans un programme informatique. 1345 00:57:56,560 --> 00:57:57,800 Mais au moins ça marche. 1346 00:57:57,800 --> 00:57:59,420 Et en fait, je peux aller ici. 1347 00:57:59,420 --> 00:58:03,130 Et permettez-moi de ce pas 10 marches à la temps, mais tout cela est l'animation est. 1348 00:58:03,130 --> 00:58:05,310 Tout cela est un dessin animé ou même un film est. 1349 00:58:05,310 --> 00:58:07,110 Permettez-moi de passer 20 étapes à la fois. 1350 00:58:07,110 --> 00:58:11,200 Donc, 20 fois plus de choses se passent une fois, ou deux fois plus nombreux, dans ce cas. 1351 00:58:11,200 --> 00:58:12,600 Et il se déplace plus vite. 1352 00:58:12,600 --> 00:58:15,150 Permettez-moi de changer à 30. 1353 00:58:15,150 --> 00:58:17,450 100. 1354 00:58:17,450 --> 00:58:19,406 1000. 1355 00:58:19,406 --> 00:58:20,530 Et ça va très vite. 1356 00:58:20,530 --> 00:58:22,190 Et ce est-- ouais, OK. 1357 00:58:22,190 --> 00:58:24,130 >> Alors maintenant, nous sommes en train de jouer avec elle. 1358 00:58:24,130 --> 00:58:24,954 OK, donc buggy. 1359 00:58:24,954 --> 00:58:26,620 Mais nous pouvons le faire glisser hors de la voie ici. 1360 00:58:26,620 --> 00:58:28,286 Mais nous pouvons faire plus de plaisir avec cela aussi. 1361 00:58:28,286 --> 00:58:30,710 Que diriez-vous this-- il est à l'envers. 1362 00:58:30,710 --> 00:58:32,800 Mais il se trouve Scratch-- et il est en réalité, 1363 00:58:32,800 --> 00:58:35,510 Je dois décliner, pas académique la valeur à ce que je vais faire. 1364 00:58:35,510 --> 00:58:40,200 Mais si j'ouvre le micro, nous allons l'arrêter et faire quelque chose comme ça. 1365 00:58:40,200 --> 00:58:41,960 Aie! 1366 00:58:41,960 --> 00:58:42,884 >> [RIRE] 1367 00:58:42,884 --> 00:58:45,200 1368 00:58:45,200 --> 00:58:45,990 >> C'était adorable. 1369 00:58:45,990 --> 00:58:46,740 Je vous remercie. 1370 00:58:46,740 --> 00:58:50,850 Maintenant, voici ce que ma voix ressemble quand je crie ouch. 1371 00:58:50,850 --> 00:58:52,630 Je ne pense pas que nous avons pris votre rire. 1372 00:58:52,630 --> 00:58:53,280 C'est bon. 1373 00:58:53,280 --> 00:58:56,550 Permettez-moi de l'enregistrer comme "ouch." 1374 00:58:56,550 --> 00:58:57,915 Sauvons ce que "ouch". 1375 00:58:57,915 --> 00:58:59,410 Et maintenant, nous allons revenir à des scripts. 1376 00:58:59,410 --> 00:59:01,660 Et maintenant, je need-- nous allons voir, Sound. 1377 00:59:01,660 --> 00:59:03,160 Oh, jouer ouch son. 1378 00:59:03,160 --> 00:59:08,180 Donc, si je touche le bord, laissez-moi première pièce ouch, puis demi-tour. 1379 00:59:08,180 --> 00:59:10,191 Et maintenant, nous allons le mettre dans le milieu. 1380 00:59:10,191 --> 00:59:14,754 >> [DISANT "OUCH"] 1381 00:59:14,754 --> 00:59:15,740 >> Deux fois plus rapide. 1382 00:59:15,740 --> 00:59:20,660 1383 00:59:20,660 --> 00:59:21,830 >> D'ACCORD. 1384 00:59:21,830 --> 00:59:23,780 Mais il est littéralement faire ce que je veux dire. 1385 00:59:23,780 --> 00:59:27,580 Donc, il est en fait correcte, il est juste un peu ennuyeux rapidement. 1386 00:59:27,580 --> 00:59:30,330 Donc, nous allons ajouter quelque chose plus intéressant à cet égard. 1387 00:59:30,330 --> 00:59:32,950 Permettez-moi d'ouvrir effectivement en place celui que je fis à l'avance, 1388 00:59:32,950 --> 00:59:38,560 justement appelé Pet la Cat, qui fait cela. 1389 00:59:38,560 --> 00:59:40,340 Voici le script ici. 1390 00:59:40,340 --> 00:59:44,510 Qu'est-ce que cela va faire en termes anglais? 1391 00:59:44,510 --> 00:59:45,820 Qu'est-ce conçu pour faire? 1392 00:59:45,820 --> 00:59:47,900 Ouais, allons some-- oui? 1393 00:59:47,900 --> 00:59:49,665 >> AUDIENCE: Lorsque vous caresser le chat, il miaule. 1394 00:59:49,665 --> 00:59:52,290 DAVID MALAN: Ouais, donc quand vous caresser le chat, il va à miauler. 1395 00:59:52,290 --> 00:59:55,452 Donc, en d'autres termes, il y a maintenant une boucle pour toujours encore, combiné 1396 00:59:55,452 --> 00:59:57,660 avec une condition, combinée avec une expression booléenne, 1397 00:59:57,660 --> 01:00:00,140 combiné avec un couple des fonctions, l'effet 1398 01:00:00,140 --> 01:00:02,610 qui, une fois que je joue ce programme, est rien 1399 01:00:02,610 --> 01:00:06,820 qui se passe jusqu'à ce que je déplace le curseur plus en plus proche et plus proche et-- 1400 01:00:06,820 --> 01:00:08,029 >> [MIAOU] 1401 01:00:08,029 --> 01:00:09,320 Ensuite, il est comme caresser le chat. 1402 01:00:09,320 --> 01:00:11,210 [MIAOU] 1403 01:00:11,210 --> 01:00:14,270 Seulement une fois que vous réellement déplacer le curseur sur lui. 1404 01:00:14,270 --> 01:00:19,964 Maintenant, je aussi fouetté ne pet pas le chat, qui fait cela à la place. 1405 01:00:19,964 --> 01:00:21,350 >> [Miauler] 1406 01:00:21,350 --> 01:00:23,485 >> Donc, il est juste miaule constamment. 1407 01:00:23,485 --> 01:00:24,455 >> [Miauler] 1408 01:00:24,455 --> 01:00:27,705 >> Mais si je suis trop close-- 1409 01:00:27,705 --> 01:00:29,645 >> [Miauler] 1410 01:00:29,645 --> 01:00:32,080 >> [RUGIR] 1411 01:00:32,080 --> 01:00:33,590 >> Alors, comment ça marche? 1412 01:00:33,590 --> 01:00:35,880 Maintenant, je viens d'un fourche à deux voies de la route. 1413 01:00:35,880 --> 01:00:38,930 Si toucher pointeur de la souris, puis jouer le son de lion. 1414 01:00:38,930 --> 01:00:41,950 Sinon il suffit de jouer le son de meow, puis attendre trois secondes pour 1415 01:00:41,950 --> 01:00:43,880 qu'il est une sorte de faire très tranquillement. 1416 01:00:43,880 --> 01:00:44,380 D'accord. 1417 01:00:44,380 --> 01:00:47,290 Voilà combinant d'autres idées encore. 1418 01:00:47,290 --> 01:00:50,870 Jetons un coup d'oeil à cet exemple Je fouetté appelés threads. 1419 01:00:50,870 --> 01:00:54,020 Et celui-ci est fondamentalement différent en ce qu'il tire parti 1420 01:00:54,020 --> 01:00:56,070 une caractéristique de nombreux langage de programmation appelé 1421 01:00:56,070 --> 01:00:59,970 threads, la capacité d'un programme à littéralement faire deux choses en même temps. 1422 01:00:59,970 --> 01:01:03,600 En effet, ces jours-ci si vous utilisez Google Docs ou Microsoft Word, 1423 01:01:03,600 --> 01:01:09,620 et votre document est constamment être épelez-vérifié même que vous bien-- ou vous 1424 01:01:09,620 --> 01:01:11,580 appuyez sur Commande + P ou Ctrl-P et quelque chose d'impression, 1425 01:01:11,580 --> 01:01:13,380 il est l'impression pendant que vous continuez à taper. 1426 01:01:13,380 --> 01:01:16,680 Programmes aujourd'hui peut en effet faire multiple choses à la fois, comme dans Scratch 1427 01:01:16,680 --> 01:01:17,180 ici. 1428 01:01:17,180 --> 01:01:20,400 >> Donc ici, j'ai deux sprites maintenant, un oiseau et un chat. 1429 01:01:20,400 --> 01:01:22,780 Et si je clique sur chacun des les caractères un à la fois, 1430 01:01:22,780 --> 01:01:25,590 Je vois en ce moment l'oiseau de scripts en haut à droite. 1431 01:01:25,590 --> 01:01:27,270 Maintenant, je vois le chat de. 1432 01:01:27,270 --> 01:01:28,540 Vue aérienne, chat de. 1433 01:01:28,540 --> 01:01:30,270 Donc, chacun d'entre eux ont leur propre script. 1434 01:01:30,270 --> 01:01:32,700 Mais remarquez, ce morceau de puzzle ils ont tous deux ne commencer? 1435 01:01:32,700 --> 01:01:34,260 Lorsque le drapeau vert cliqué. 1436 01:01:34,260 --> 01:01:36,890 Et oiseau, quand le drapeau vert cliqué. 1437 01:01:36,890 --> 01:01:40,870 Alors, quand je clique sur le drapeau vert, ces deux scripts ou des programmes 1438 01:01:40,870 --> 01:01:42,759 vont fonctionner en parallèle. 1439 01:01:42,759 --> 01:01:45,800 Et vous remarquerez que l'oiseau est juste stupidement rebondit sur le bord. 1440 01:01:45,800 --> 01:01:50,890 Le chat a clairement été programmée avec un avantage stratégique. 1441 01:01:50,890 --> 01:01:52,704 Et-- 1442 01:01:52,704 --> 01:01:53,490 >> [RUGIR] 1443 01:01:53,490 --> 01:01:53,821 1444 01:01:53,821 --> 01:01:54,320 D'accord. 1445 01:01:54,320 --> 01:01:57,340 Donc, le chat a attrapé l'oiseau dans ce cas. 1446 01:01:57,340 --> 01:01:58,390 Pourquoi donc? 1447 01:01:58,390 --> 01:02:03,310 Eh bien, premier avis que nous venons l'oiseau juste aller stupidement 1448 01:02:03,310 --> 01:02:05,120 à cet emplacement initial, puis pour toujours, 1449 01:02:05,120 --> 01:02:06,774 sinon toucher le chat, il suffit de déplacer. 1450 01:02:06,774 --> 01:02:08,190 Et si vous êtes sur le bord, rebondir. 1451 01:02:08,190 --> 01:02:08,870 Et il suffit de déplacer. 1452 01:02:08,870 --> 01:02:10,286 Et si vous êtes sur le bord, rebondir. 1453 01:02:10,286 --> 01:02:12,840 Mais le chat, quant à lui, a une certaine logique supplémentaire 1454 01:02:12,840 --> 01:02:18,250 qui dit this-- premier, juste pour que ce soit pas complètement biaisé 1455 01:02:18,250 --> 01:02:21,191 contre l'oiseau, remarque que j'ai utilisé un morceau de puzzle vert il 1456 01:02:21,191 --> 01:02:22,690 qui prend effectivement un nombre aléatoire. 1457 01:02:22,690 --> 01:02:26,179 Une caractéristique de plusieurs langues est de donner vous nombres aléatoires ou pseudo-aléatoires. 1458 01:02:26,179 --> 01:02:29,220 Donc dans ce cas, le chat d'abord choisit un nombre aléatoire entre, comme, 1459 01:02:29,220 --> 01:02:31,727 90 degrés et 180 degrés, essentiellement, de sorte 1460 01:02:31,727 --> 01:02:33,310 qu'il ya un peu de variance. 1461 01:02:33,310 --> 01:02:37,000 Et puis toujours, si touchante l'oiseau, jouer le son de lion. 1462 01:02:37,000 --> 01:02:38,754 Sinon, il suffit de pointer vers l'oiseau. 1463 01:02:38,754 --> 01:02:39,670 Pointez vers l'oiseau. 1464 01:02:39,670 --> 01:02:44,199 Point vers l'oiseau, qui est un pièce de puzzle à lui-même dans ce cas. 1465 01:02:44,199 --> 01:02:45,740 Eh bien, nous pouvons faire autre chose ici. 1466 01:02:45,740 --> 01:02:49,820 Permettez-moi d'ouvrir le programme des événements ici. 1467 01:02:49,820 --> 01:02:53,520 Et ici, nous avons encore deux sprites, qui ressemblent à ces deux marionnettes ici. 1468 01:02:53,520 --> 01:02:55,710 Et ce qui est intéressant ici est la suivante. 1469 01:02:55,710 --> 01:02:59,140 Le gars orange a cette ensemble de pièces de puzzle ici. 1470 01:02:59,140 --> 01:03:01,700 Toujours faire le following-- si la barre d'espace est enfoncée, 1471 01:03:01,700 --> 01:03:05,430 puis dire, Marco, et puis diffuser un événement. 1472 01:03:05,430 --> 01:03:09,460 Et pendant ce temps, le gars bleu a ici this-- lorsque vous recevez l'événement, 1473 01:03:09,460 --> 01:03:10,540 dire Polo. 1474 01:03:10,540 --> 01:03:12,850 Donc, il se trouve dans Scratch et dans d'autres langues, 1475 01:03:12,850 --> 01:03:15,830 il existe des moyens pour deux programmes ou deux scripts, dans ce cas, 1476 01:03:15,830 --> 01:03:20,310 à intercommunication de telle sorte que quand je a frappé la barre d'espace, il dit Marco. 1477 01:03:20,310 --> 01:03:23,539 Et l'autre entend que, pour ainsi parler, et dit Polo en réponse. 1478 01:03:23,539 --> 01:03:26,080 Ainsi, vous pouvez écrire des programmes qui en fait interagir de cette manière. 1479 01:03:26,080 --> 01:03:28,630 Et si je fais cela une place, Je peux même ajouter des variables, 1480 01:03:28,630 --> 01:03:31,287 juste en utilisant un sprite dans ce cas. 1481 01:03:31,287 --> 01:03:32,578 Celui-ci est particulièrement gênant. 1482 01:03:32,578 --> 01:03:36,174 >> [SEAL ÉCORCEMENT] 1483 01:03:36,174 --> 01:03:37,100 1484 01:03:37,100 --> 01:03:42,490 >> Maintenant, remarquez sur la droite nous avons obtenu une certaine logique supplémentaire ici. 1485 01:03:42,490 --> 01:03:45,146 Comment puis-je arrêter ce sceau d'aboyer? 1486 01:03:45,146 --> 01:03:48,320 >> [SEAL ÉCORCEMENT] 1487 01:03:48,320 --> 01:03:52,830 1488 01:03:52,830 --> 01:03:55,630 >> Il ressemble à la main droite côté est ce qui est la lecture du son. 1489 01:03:55,630 --> 01:03:58,500 Mais il est seulement jouer un retentira si ce qui est vrai? 1490 01:03:58,500 --> 01:04:03,390 Si orange variable-- block-- coupé est zéro. 1491 01:04:03,390 --> 01:04:07,916 Comment puis-je changer en sourdine à 1, ce qui signifie vrai, faire de cette sourdine? 1492 01:04:07,916 --> 01:04:12,455 Apparemment, l'autre scénario, je peux appuyez sur la barre d'espace, et maintenant il arrête. 1493 01:04:12,455 --> 01:04:15,080 Donc, nous pouvons avoir cette intercommunication à travers des scripts, ainsi, 1494 01:04:15,080 --> 01:04:18,349 par simple partage une variable à travers les deux comme ça. 1495 01:04:18,349 --> 01:04:19,890 Maintenant, ce n'est pas tout ce qui intéressant. 1496 01:04:19,890 --> 01:04:24,360 Allons de l'avant et faire cela et de combiner beaucoup de ces idées avec ce programme 1497 01:04:24,360 --> 01:04:25,940 ici. 1498 01:04:25,940 --> 01:04:28,100 Avant de faire cela, cependant, que diriez-vous d'un bénévole? 1499 01:04:28,100 --> 01:04:30,558 Permettez-moi de prendre la pression sur de moi parce que je ne suis pas réellement 1500 01:04:30,558 --> 01:04:31,280 jouer à ce jeu. 1501 01:04:31,280 --> 01:04:33,030 Ayons quelqu'un que nous ont pas vu avant. 1502 01:04:33,030 --> 01:04:36,420 Vous devez être à l'aise à venir sur scène ici, à la caméra. 1503 01:04:36,420 --> 01:04:37,430 OK, allez vers le haut. 1504 01:04:37,430 --> 01:04:38,130 Très courageux. 1505 01:04:38,130 --> 01:04:39,052 Quel est ton nom? 1506 01:04:39,052 --> 01:04:39,962 >> IDRIS: Idris. 1507 01:04:39,962 --> 01:04:40,753 DAVID MALAN: Pardon? 1508 01:04:40,753 --> 01:04:41,196 IDRIS: Idris. 1509 01:04:41,196 --> 01:04:42,670 DAVID MALAN: Idris, agréable de vous rencontrer. 1510 01:04:42,670 --> 01:04:43,170 Monte. 1511 01:04:43,170 --> 01:04:45,630 Et maintenant, sur votre propre portable téléphone, jouez-vous Pokemon GO? 1512 01:04:45,630 --> 01:04:46,567 >> IDRIS: Non 1513 01:04:46,567 --> 01:04:47,400 DAVID MALAN: Vraiment? 1514 01:04:47,400 --> 01:04:48,104 IDRIS: Ouais. 1515 01:04:48,104 --> 01:04:48,770 DAVID MALAN: OK. 1516 01:04:48,770 --> 01:04:49,020 D'accord. 1517 01:04:49,020 --> 01:04:49,978 Enchanté. 1518 01:04:49,978 --> 01:04:50,820 Venez ici. 1519 01:04:50,820 --> 01:04:51,950 Je ne sais pas non plus. 1520 01:04:51,950 --> 01:04:55,380 Donc, nous allons comprendre ensemble comment jouer ce qui en fait quelqu'un 1521 01:04:55,380 --> 01:05:00,140 est allé et mis en œuvre dans Scratch en changeant le chat à l'essentiel 1522 01:05:00,140 --> 01:05:02,260 différents personnages tous ensemble. 1523 01:05:02,260 --> 01:05:04,870 Et si je FullScreen cela ici, nous allons 1524 01:05:04,870 --> 01:05:06,860 de voir le jeu suivant ensemble. 1525 01:05:06,860 --> 01:05:09,560 Toujours charger encore le chargement. 1526 01:05:09,560 --> 01:05:10,270 Allons. 1527 01:05:10,270 --> 01:05:12,590 Permettez-moi de faire cela. 1528 01:05:12,590 --> 01:05:14,520 Allons. 1529 01:05:14,520 --> 01:05:17,200 Ce jeu est si grand qu'il est écrasé. 1530 01:05:17,200 --> 01:05:18,980 Etre prêt. 1531 01:05:18,980 --> 01:05:22,390 Essayez cette fois de plus. 1532 01:05:22,390 --> 01:05:23,710 Allons. 1533 01:05:23,710 --> 01:05:24,211 D'accord. 1534 01:05:24,211 --> 01:05:26,840 1535 01:05:26,840 --> 01:05:27,430 >> Nous y voilà. 1536 01:05:27,430 --> 01:05:27,929 D'ACCORD. 1537 01:05:27,929 --> 01:05:29,330 Drapeau vert. 1538 01:05:29,330 --> 01:05:30,190 Alors allons-y. 1539 01:05:30,190 --> 01:05:30,950 >> [MUSIC PLAYING] 1540 01:05:30,950 --> 01:05:32,510 >> Choisissez le niveau intermédiaire ici. 1541 01:05:32,510 --> 01:05:34,200 Cliquez sur le gars bleu là. 1542 01:05:34,200 --> 01:05:34,700 D'accord. 1543 01:05:34,700 --> 01:05:37,860 Et vous pouvez utiliser la flèche keys-- haut, bas, gauche, droite. 1544 01:05:37,860 --> 01:05:42,150 Maintenant, considérons que nous this-- puis aller après le caractère là. 1545 01:05:42,150 --> 01:05:42,650 Oui. 1546 01:05:42,650 --> 01:05:45,786 Et maintenant le clic avec la souris. 1547 01:05:45,786 --> 01:05:46,693 Oh yeah. 1548 01:05:46,693 --> 01:05:47,193 Déplacer. 1549 01:05:47,193 --> 01:05:47,662 Où est la flèche? 1550 01:05:47,662 --> 01:05:48,131 Voici. 1551 01:05:48,131 --> 01:05:48,600 Alors cliquez là-bas. 1552 01:05:48,600 --> 01:05:48,840 Ouais. 1553 01:05:48,840 --> 01:05:49,340 D'accord. 1554 01:05:49,340 --> 01:05:56,008 Alors maintenant, je suis dit que vous avez une boule de Poke, que si cliquez dessus, il le fera. 1555 01:05:56,008 --> 01:05:57,932 Très bien. 1556 01:05:57,932 --> 01:06:00,390 Dans la pratique d'aujourd'hui, je a trouvé cette version du jeu de 1557 01:06:00,390 --> 01:06:01,760 en fait pas très dur. 1558 01:06:01,760 --> 01:06:07,650 Donc, si vous voulez aller à nouveau ici, marcher jusqu'à cette boule de Poke. 1559 01:06:07,650 --> 01:06:08,780 Et puis aller prendre un droit. 1560 01:06:08,780 --> 01:06:11,200 Essayez de cliquer dessus. 1561 01:06:11,200 --> 01:06:13,120 Oh, en fait, c'est la boutique, apparemment. 1562 01:06:13,120 --> 01:06:14,170 OK si près que. 1563 01:06:14,170 --> 01:06:15,150 Ne jamais fait ça avant. 1564 01:06:15,150 --> 01:06:16,566 Peut-être aller jusqu'à cette chose ici. 1565 01:06:16,566 --> 01:06:17,460 Oh, là vous allez. 1566 01:06:17,460 --> 01:06:18,910 Attendez, il y a un là-bas. 1567 01:06:18,910 --> 01:06:20,412 Oh, il y a un autre. 1568 01:06:20,412 --> 01:06:21,285 D'ACCORD. 1569 01:06:21,285 --> 01:06:21,785 Vers le bas. 1570 01:06:21,785 --> 01:06:23,210 Ouais, cliquez sur. 1571 01:06:23,210 --> 01:06:24,635 >> OK, ce qui est très mignon. 1572 01:06:24,635 --> 01:06:27,485 1573 01:06:27,485 --> 01:06:28,810 OK, très bien fait. 1574 01:06:28,810 --> 01:06:30,010 Ce jeu est pas très difficile. 1575 01:06:30,010 --> 01:06:30,510 D'ACCORD. 1576 01:06:30,510 --> 01:06:32,150 Félicitations à vous. 1577 01:06:32,150 --> 01:06:34,720 Ici, nous avons un CS50 balle anti-stress pour vous. 1578 01:06:34,720 --> 01:06:37,680 Mais considérez pour un instant ce que quelques-uns des plats à emporter sont là. 1579 01:06:37,680 --> 01:06:39,263 Plus facile que le vrai jeu, apparemment. 1580 01:06:39,263 --> 01:06:41,809 Mais tout ce que nous avons aller ici est un personnage 1581 01:06:41,809 --> 01:06:44,100 qui a probablement une sorte de la boucle associée. 1582 01:06:44,100 --> 01:06:44,590 Il est pas un chat. 1583 01:06:44,590 --> 01:06:45,860 Il est ce personnage à la place. 1584 01:06:45,860 --> 01:06:49,052 Et cette boucle est juste en permanence dire, si haut de la flèche pressée, 1585 01:06:49,052 --> 01:06:51,260 si la flèche vers le bas enfoncé, si flèche gauche pressée ou à droite 1586 01:06:51,260 --> 01:06:53,960 flèche pressée, déplacer vers le haut ou vers le bas ou vers la gauche ou la droite. 1587 01:06:53,960 --> 01:06:57,870 Ou s'il y a une autre pièce du puzzle, il qui dit en touchant un autre sprite, 1588 01:06:57,870 --> 01:07:01,320 en touchant l'un des personnages à la balle Poke, si touchante, 1589 01:07:01,320 --> 01:07:02,440 puis le faire. 1590 01:07:02,440 --> 01:07:04,800 >> Donc, toutes les idées que nous avons été en utilisant jusqu'ici vraiment 1591 01:07:04,800 --> 01:07:09,130 peut simplement être appliquée dans ce cas particulier contexte pour jouer à ce jeu, aussi bien. 1592 01:07:09,130 --> 01:07:13,580 Laissez-moi aller de l'avant et tirer jusqu'à un autre ici, en fait. 1593 01:07:13,580 --> 01:07:17,060 Laissez-moi aller de l'avant et tirer jusqu'à, disons, cela. 1594 01:07:17,060 --> 01:07:18,540 Ceci est quelque chose que nous remixé. 1595 01:07:18,540 --> 01:07:20,329 Fabriqué par un de nos étudiants à Cambridge, 1596 01:07:20,329 --> 01:07:23,370 et puis je suis allé à travers et changé à peu près tous les cas de Harvard 1597 01:07:23,370 --> 01:07:25,580 à Yale cette fois. 1598 01:07:25,580 --> 01:07:27,870 Quelqu'un voudrait-il rivaliser avec les lierres 1599 01:07:27,870 --> 01:07:31,650 ici dans une autre accumulation de toutes ces idées? 1600 01:07:31,650 --> 01:07:32,662 Allez vers le bas, oui. 1601 01:07:32,662 --> 01:07:33,370 Quel est ton nom? 1602 01:07:33,370 --> 01:07:34,190 >> DINA: Dina. 1603 01:07:34,190 --> 01:07:35,015 >> DAVID MALAN: Adina? 1604 01:07:35,015 --> 01:07:35,380 >> DINA: Dina. 1605 01:07:35,380 --> 01:07:36,410 >> DAVID MALAN: Dina, allez vers le bas. 1606 01:07:36,410 --> 01:07:37,320 Tout droit, Dina. 1607 01:07:37,320 --> 01:07:40,780 Donc, ce jeu devient plus difficile et plus difficile, parce que dans ce jeu, 1608 01:07:40,780 --> 01:07:43,970 il y a des variables utilisées aussi bien qui sont constamment garder la trace 1609 01:07:43,970 --> 01:07:45,930 de quel niveau vous êtes dans le jeu. 1610 01:07:45,930 --> 01:07:47,120 Enchanté de vous rencontrer. 1611 01:07:47,120 --> 01:07:48,250 Venez ici. 1612 01:07:48,250 --> 01:07:51,460 Et donc le but ici est de trier de faire votre chemin à travers un labyrinthe 1613 01:07:51,460 --> 01:07:52,710 que cet étudiant en oeuvre. 1614 01:07:52,710 --> 01:07:55,334 >> Et juste pour le décor, chaque de ces images sur l'écran 1615 01:07:55,334 --> 01:07:57,222 est son propre sprite, son propre caractère. 1616 01:07:57,222 --> 01:07:59,680 Donc, ce sont des chats par défaut, mais l'étudiant les a changés 1617 01:07:59,680 --> 01:08:01,480 aux différents logos lierres ici. 1618 01:08:01,480 --> 01:08:04,370 Et puis, vous verrez que tout en utilisant des conditions et des boucles 1619 01:08:04,370 --> 01:08:06,848 et les fonctions et plus, vous obtenez ceci. 1620 01:08:06,848 --> 01:08:07,478 >> [MUSIC PLAYING] 1621 01:08:07,478 --> 01:08:09,228 [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1622 01:08:09,228 --> 01:08:13,060 1623 01:08:13,060 --> 01:08:14,018 >> Ouais ok. 1624 01:08:14,018 --> 01:08:17,371 1625 01:08:17,371 --> 01:08:20,110 Oui, continuer. 1626 01:08:20,110 --> 01:08:21,180 est très facile de premier niveau. 1627 01:08:21,180 --> 01:08:22,554 Vous avez juste à aller là-bas. 1628 01:08:22,554 --> 01:08:25,644 Mais encore une fois, pensez, ceci est juste un boucle d'écoute pour la flèche keys-- 1629 01:08:25,644 --> 01:08:26,560 haut bas Gauche Droite. 1630 01:08:26,560 --> 01:08:28,320 Et maintenant, un bloc de détection. 1631 01:08:28,320 --> 01:08:29,345 Très agréable. 1632 01:08:29,345 --> 01:08:32,600 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1633 01:08:32,600 --> 01:08:40,340 1634 01:08:40,340 --> 01:08:41,288 >> Très agréable. 1635 01:08:41,288 --> 01:08:44,550 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1636 01:08:44,550 --> 01:08:55,540 1637 01:08:55,540 --> 01:08:56,430 >> Très agréable. 1638 01:08:56,430 --> 01:08:57,975 Assez facile, Crimson. 1639 01:08:57,975 --> 01:08:59,060 D'accord. 1640 01:08:59,060 --> 01:09:00,250 Levels-- uh-oh. 1641 01:09:00,250 --> 01:09:02,380 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1642 01:09:02,380 --> 01:09:04,980 1643 01:09:04,980 --> 01:09:07,150 >> Et encore, dans ces trois crêtes de Harvard, 1644 01:09:07,150 --> 01:09:10,334 vous avez juste la logique dire si sur le bord, le rebond. 1645 01:09:10,334 --> 01:09:13,238 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1646 01:09:13,238 --> 01:09:14,690 1647 01:09:14,690 --> 01:09:17,651 >> OK, ce que vous faites est plus intéressant que pourquoi. 1648 01:09:17,651 --> 01:09:18,150 Très agréable. 1649 01:09:18,150 --> 01:09:18,810 Très agréable. 1650 01:09:18,810 --> 01:09:20,270 Uh-oh. 1651 01:09:20,270 --> 01:09:23,350 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1652 01:09:23,350 --> 01:09:26,005 1653 01:09:26,005 --> 01:09:27,630 Je pense que vous devez vous sacrifier. 1654 01:09:27,630 --> 01:09:30,372 [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1655 01:09:30,372 --> 01:09:30,872 Rapide! 1656 01:09:30,872 --> 01:09:34,848 1657 01:09:34,848 --> 01:09:38,824 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1658 01:09:38,824 --> 01:09:44,288 1659 01:09:44,288 --> 01:09:44,788 Agréable. 1660 01:09:44,788 --> 01:09:52,240 1661 01:09:52,240 --> 01:09:52,740 C'est bon. 1662 01:09:52,740 --> 01:09:53,770 Tu l'auras. 1663 01:09:53,770 --> 01:09:56,304 Oui oui! 1664 01:09:56,304 --> 01:09:58,256 Très agréable. 1665 01:09:58,256 --> 01:10:01,184 >> [APPLAUDISSEMENT] 1666 01:10:01,184 --> 01:10:02,160 1667 01:10:02,160 --> 01:10:05,576 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1668 01:10:05,576 --> 01:10:09,480 1669 01:10:09,480 --> 01:10:10,940 >> Agréable! 1670 01:10:10,940 --> 01:10:14,370 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1671 01:10:14,370 --> 01:10:39,050 1672 01:10:39,050 --> 01:10:39,550 Je l'ai. 1673 01:10:39,550 --> 01:10:41,510 Allons! 1674 01:10:41,510 --> 01:10:43,470 Deuxième au dernier niveau. 1675 01:10:43,470 --> 01:10:46,900 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1676 01:10:46,900 --> 01:10:49,588 1677 01:10:49,588 --> 01:10:50,580 >> D'accord. 1678 01:10:50,580 --> 01:10:54,052 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1679 01:10:54,052 --> 01:11:00,992 1680 01:11:00,992 --> 01:11:01,492 Oui. 1681 01:11:01,492 --> 01:11:06,230 1682 01:11:06,230 --> 01:11:08,020 Bonne utilisation de variables ici. 1683 01:11:08,020 --> 01:11:09,770 [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1684 01:11:09,770 --> 01:11:10,770 Oui. 1685 01:11:10,770 --> 01:11:14,743 [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1686 01:11:14,743 --> 01:11:16,707 1687 01:11:16,707 --> 01:11:17,689 Agréable. 1688 01:11:17,689 --> 01:11:21,126 [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1689 01:11:21,126 --> 01:11:23,581 1690 01:11:23,581 --> 01:11:24,570 C'est bon. 1691 01:11:24,570 --> 01:11:25,770 Nous sommes arrivés à arriver à la fin. 1692 01:11:25,770 --> 01:11:26,270 Là. 1693 01:11:26,270 --> 01:11:27,010 Oh! 1694 01:11:27,010 --> 01:11:29,980 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1695 01:11:29,980 --> 01:11:32,160 1696 01:11:32,160 --> 01:11:34,866 >> Pourrait fonctionner en retard aujourd'hui, mais ça va être la peine. 1697 01:11:34,866 --> 01:11:38,200 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1698 01:11:38,200 --> 01:11:39,640 1699 01:11:39,640 --> 01:11:42,520 >> Tu peux le faire! 1700 01:11:42,520 --> 01:11:43,480 Ouais! 1701 01:11:43,480 --> 01:11:46,278 >> [APPLAUDISSEMENT] 1702 01:11:46,278 --> 01:11:47,230 1703 01:11:47,230 --> 01:11:50,086 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1704 01:11:50,086 --> 01:11:51,470 >> Celui-ci est vraiment difficile. 1705 01:11:51,470 --> 01:11:54,070 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1706 01:11:54,070 --> 01:11:57,458 1707 01:11:57,458 --> 01:11:59,000 >> Nous allons vous donner deux autres vies. 1708 01:11:59,000 --> 01:11:59,968 Peux-tu le faire? 1709 01:11:59,968 --> 01:12:03,356 >> [MUSIQUE - MC HAMMER, "U NE PEUT PAS TOUCHER  CE"] 1710 01:12:03,356 --> 01:12:06,744 1711 01:12:06,744 --> 01:12:07,244 >> D'accord. 1712 01:12:07,244 --> 01:12:09,160 Que diriez-vous d'un grand rond d'applaudissements quand même. 1713 01:12:09,160 --> 01:12:10,800 Vous avez à la seconde au dernier niveau. 1714 01:12:10,800 --> 01:12:11,723 Je vous remercie. 1715 01:12:11,723 --> 01:12:14,964 >> [APPLAUDISSEMENTS] 1716 01:12:14,964 --> 01:12:15,890 1717 01:12:15,890 --> 01:12:19,600 >> Donc, ceci est seulement pour dire combien vous peut faire avec ce genre de choses. 1718 01:12:19,600 --> 01:12:21,892 Et se rendre compte, aussi, que lorsque pièces du puzzle ne pas réalisée: 1719 01:12:21,892 --> 01:12:24,891 et en effet, cela va être un des pouvoirs avec le premier problème 1720 01:12:24,891 --> 01:12:27,080 ensembles et beyond-- est de effectivement créer votre propre. 1721 01:12:27,080 --> 01:12:28,860 Et ceci est juste un extrait de l'un des exemples 1722 01:12:28,860 --> 01:12:30,230 vous serez en mesure de jouer en ligne, où 1723 01:12:30,230 --> 01:12:33,380 si vous n'avez pas intégré dans Scratch quelque chose comme un morceau de puzzle toux, 1724 01:12:33,380 --> 01:12:35,470 vous pouvez réellement faire vous-même. 1725 01:12:35,470 --> 01:12:37,387 >> Et tout cela et plus vous attend. 1726 01:12:37,387 --> 01:12:39,470 Et juste pour peindre une finale image de ce qui est en effet 1727 01:12:39,470 --> 01:12:43,120 avance en magasin pour la classe pour vous, sur la base de quelques photos de ses camarades de classe 1728 01:12:43,120 --> 01:12:46,970 passé, permettez-moi de tamiser les lumières une dernière fois et vous montrer CS50. 1729 01:12:46,970 --> 01:12:49,580 1730 01:12:49,580 --> 01:12:53,038 >> [MUSIC PLAYING] 1731 01:12:53,038 --> 01:14:38,210 1732 01:14:38,210 --> 01:14:38,860 >> D'accord. 1733 01:14:38,860 --> 01:14:41,540 Voilà pour CS50. 1734 01:14:41,540 --> 01:14:44,964 Gâteau est maintenant servi. 1735 01:14:44,964 --> 01:14:50,610 1736 01:14:50,610 --> 01:14:53,960 >> [MUSIC PLAYING] 1737 01:14:53,960 --> 01:15:07,624