1 00:00:00,000 --> 00:00:09,840 2 00:00:09,840 --> 00:00:10,824 >> [REPRODUCCIÓ DE VÍDEO] 3 00:00:10,824 --> 00:00:13,284 >> [CAR PORTA Inactiu] 4 00:00:13,284 --> 00:00:15,744 >> [CAR MOTOR D'ARRENCADA] 5 00:00:15,744 --> 00:00:19,188 >> [REPRODUCCIÓ DE MÚSICA] 6 00:00:19,188 --> 00:00:20,172 7 00:00:20,172 --> 00:00:24,516 >> -Els Que es mouen al llarg de la dreta a la recerca de bons moments i bones notícies. 8 00:00:24,516 --> 00:00:26,871 Amb bons amics que no es pot perdre. 9 00:00:26,871 --> 00:00:28,755 >> -Això Podria convertir-se en un hàbit. 10 00:00:28,755 --> 00:00:32,460 >> Cops Oportunitat Anem simplement arribar i agafar. 11 00:00:32,460 --> 00:00:32,960 -Sí! 12 00:00:32,960 --> 00:00:34,920 -al costat Anem a NAB ella. 13 00:00:34,920 --> 00:00:37,370 Autoestop ll del `, autobús o taxi groc ell. 14 00:00:37,370 --> 00:00:38,840 -Dammit. 15 00:00:38,840 --> 00:00:40,800 -Estem En moviment just al llarg. 16 00:00:40,800 --> 00:00:43,750 -Footloose I de luxe. 17 00:00:43,750 --> 00:00:45,960 -Com No és part de la diversió. 18 00:00:45,960 --> 00:00:47,718 Veniu a compartir-mi. 19 00:00:47,718 --> 00:00:49,654 >> -Estem En moviment just al llarg. 20 00:00:49,654 --> 00:00:52,558 >> -Estem Va a compartir la càrrega. 21 00:00:52,558 --> 00:00:57,604 >> -Nosaltres No necessita un mapa per aconseguir aquest espectacle en el camí. 22 00:00:57,604 --> 00:01:00,520 -Escolta Fozzy, vull que gira a l'esquerra si s'arriba a una forquilla a la carretera. 23 00:01:00,520 --> 00:01:01,020 -Sí senyor. 24 00:01:01,020 --> 00:01:03,334 Gireu a l'esquerra en la forquilla a la carretera. 25 00:01:03,334 --> 00:01:05,222 Giri a l'esquerra. 26 00:01:05,222 --> 00:01:07,582 >> -No Crec això. 27 00:01:07,582 --> 00:01:11,720 >> -Cruising Dreta al llarg trobem els llums a la carretera. 28 00:01:11,720 --> 00:01:13,664 >> -I Teu camí o camí. 29 00:01:13,664 --> 00:01:16,154 >> -Així Que confien en el meu navegació. 30 00:01:16,154 --> 00:01:21,134 >> Estrelles -Movie amb cotxes cridaners i la vida amb la capota baixada. 31 00:01:21,134 --> 00:01:23,126 >> -Estem Assaltant les grans turons. 32 00:01:23,126 --> 00:01:24,122 >> -Sí, La tempesta és l'adequat. 33 00:01:24,122 --> 00:01:25,160 ¿Ha de ser nevant? 34 00:01:25,160 --> 00:01:26,220 >> -No, No ho crec. 35 00:01:26,220 --> 00:01:28,505 >> -Els Que es mouen al llarg de la dreta. 36 00:01:28,505 --> 00:01:30,980 >> -Footloose I de luxe. 37 00:01:30,980 --> 00:01:32,960 >> -Ets A punt per al gran moment. 38 00:01:32,960 --> 00:01:34,445 >> -És A punt per a mi? 39 00:01:34,445 --> 00:01:38,900 40 00:01:38,900 --> 00:01:42,860 >> -Els Que es mouen al llarg de la dreta. 41 00:01:42,860 --> 00:01:47,315 La dreta mòbil endavant. 42 00:01:47,315 --> 00:01:52,265 La dreta mòbil endavant. 43 00:01:52,265 --> 00:01:56,131 La dreta mòbil endavant. 44 00:01:56,131 --> 00:01:57,380 -Crec Que vostè tira millor acabat. 45 00:01:57,380 --> 00:01:58,020 -Sí senyor. 46 00:01:58,020 --> 00:02:02,475 47 00:02:02,475 --> 00:02:03,960 >> [FI DE REPRODUCCIÓ] 48 00:02:03,960 --> 00:02:07,425 >> [Aplaudiments] 49 00:02:07,425 --> 00:02:09,405 50 00:02:09,405 --> 00:02:11,930 >> DAVID J. Malan: Aquest és CS50. 51 00:02:11,930 --> 00:02:15,940 I aquest és el final de la Setmana 0, però el començament d'una bella amistat. 52 00:02:15,940 --> 00:02:18,250 Estem molt contents d'estar aquí, a la Universitat de Yale 53 00:02:18,250 --> 00:02:21,530 per primera vegada amb el nostre amic Scaz, i Jason, i Andy. 54 00:02:21,530 --> 00:02:24,320 Tots els 40 de la de CS50 TF i CA és aquí a Yale. 55 00:02:24,320 --> 00:02:25,440 I tots vostès. 56 00:02:25,440 --> 00:02:28,470 I de fet, és probable que sigui hora A-- 57 00:02:28,470 --> 00:02:31,914 >> [Aplaudiments] 58 00:02:31,914 --> 00:02:43,722 59 00:02:43,722 --> 00:02:47,920 >> Així, tot i que la majoria de les conferències serà de fet estar a Cambridge aquest any, 60 00:02:47,920 --> 00:02:51,250 la realitat és que per disseny, i molt deliberadament CS50, 61 00:02:51,250 --> 00:02:54,740 Jo crec que estem arribant al punt tecnològicament, i pedagògicament, 62 00:02:54,740 --> 00:02:57,930 on pot ser un educativa superiors experiència per a col·laborar amb alguns 63 00:02:57,930 --> 00:02:59,610 de material en línia del curs. 64 00:02:59,610 --> 00:03:02,862 De fet, el reality-- i si crec aquest philosophically-- és que les conferències 65 00:03:02,862 --> 00:03:05,070 no són un particular mitjans eficaços per al lliurament 66 00:03:05,070 --> 00:03:06,900 informació força complexa. 67 00:03:06,900 --> 00:03:09,219 Certament durant hores més llargs períodes de temps. 68 00:03:09,219 --> 00:03:11,760 I, de fet cada pocs minuts-- Recordo que a mi mateix en college-- 69 00:03:11,760 --> 00:03:14,210 Zona que fos per un moment, s'oblida d'algun tema complex, 70 00:03:14,210 --> 00:03:16,540 i t'has anat més o menys per als propers 45 minuts. 71 00:03:16,540 --> 00:03:19,414 I la realitat és que si vostè està aquí a New Haven o Cambridge 72 00:03:19,414 --> 00:03:22,930 o més enllà, la simplicitat de tenir la capacitat de fer una pausa i avanç ràpid, 73 00:03:22,930 --> 00:03:26,270 rebobinar, hipervincle relacionat els recursos, les transcripcions de recerca de text complet 74 00:03:26,270 --> 00:03:29,900 i similars és una oportunitat que M'atreveixo a dir per als nostres estudiants en línia 75 00:03:29,900 --> 00:03:32,530 molt més enllà de New Haven, els ofereix una oportunitat 76 00:03:32,530 --> 00:03:34,700 per captar realment la material conceptual que ens 77 00:03:34,700 --> 00:03:36,700 introduir en les classes tant millor. 78 00:03:36,700 --> 00:03:39,415 >> Però en última instància, al CS50, és l'experiència dels estudiants 79 00:03:39,415 --> 00:03:43,099 es caracteritza per la qual cosa, de manera molt més per conjunts de problemes del curs, 80 00:03:43,099 --> 00:03:46,140 o projectes de programació setmanals, la seccions dels cursos dirigits pel docent 81 00:03:46,140 --> 00:03:49,600 becaris, les hores d'oficina nocturnes dirigides per els assistents del curs i l'ensenyament 82 00:03:49,600 --> 00:03:52,330 companys, i de fet tals esdeveniments com CS50 Trencaclosques 83 00:03:52,330 --> 00:03:56,500 Dia, Hack-a-thon del CS50, el CS50 Fira, dinars setmanals, i molt més. 84 00:03:56,500 --> 00:03:59,580 I així, si vostè està aquí a Nova Haven, o sintonitzar des de lluny, 85 00:03:59,580 --> 00:04:02,270 avui a Cambridge, i ens veurem de nou aviat, 86 00:04:02,270 --> 00:04:04,580 la realitat és que això és una i la mateixa classe. 87 00:04:04,580 --> 00:04:07,990 I estem molt emocionats de estar aquí tots junts avui. 88 00:04:07,990 --> 00:04:11,110 I així, al final del semestre, ja sigui aquí o lluny, així 89 00:04:11,110 --> 00:04:14,910 esperem que pugui portar amb orgull, amb alegria, i potser amb una mica d'alleujament, 90 00:04:14,910 --> 00:04:19,459 la camisa que dóna testimoni a vostè d'haver pres CS50. 91 00:04:19,459 --> 00:04:21,700 >> Llavors, on ens deixem fora el dimecres? 92 00:04:21,700 --> 00:04:24,410 Prenem un cop d'ull a pensament computacional. 93 00:04:24,410 --> 00:04:27,830 I això és cap al que destil · lada ciències de la computació a, almenys 94 00:04:27,830 --> 00:04:28,800 per ara. 95 00:04:28,800 --> 00:04:31,990 Però destil·lada que poc més en almenys tres elements components. 96 00:04:31,990 --> 00:04:34,570 >> Les entrades, de manera que el que és el problema que estem tractant de resoldre? 97 00:04:34,570 --> 00:04:36,650 Sortides, ¿quina és la Responem que esperem aconseguir? 98 00:04:36,650 --> 00:04:38,210 I la representació d'allà. 99 00:04:38,210 --> 00:04:41,870 I no anem a insistir aquí en després en binari, o fins i tot ASCII, 100 00:04:41,870 --> 00:04:44,050 i similars tant, però més aviat donar per fet 101 00:04:44,050 --> 00:04:47,520 que podem representar aquesta informació, perquè les parts molt més interessant 102 00:04:47,520 --> 00:04:51,010 d'aquests problemes no són només la entrades i sortides, però els algoritmes 103 00:04:51,010 --> 00:04:53,020 que intervenen en la solució d'aquests problemes. 104 00:04:53,020 --> 00:04:55,120 >> I es pot recordar de l'altre dia que ens 105 00:04:55,120 --> 00:04:59,860 va prendre un bastant tradicional concepte de mirar a algú 106 00:04:59,860 --> 00:05:03,240 en un llibre de telèfon bastant gran, o més generalment digitalment aquests dies, 107 00:05:03,240 --> 00:05:04,420 només un conjunt de dades molt gran. 108 00:05:04,420 --> 00:05:07,840 Una llista de contactes molt gran, amb un munt de noms ordenats alfabèticament. 109 00:05:07,840 --> 00:05:11,310 I ens vam adonar que mentre jo podria abordar aquest problema simplement 110 00:05:11,310 --> 00:05:14,520 mitjançant l'ús d'un lineal pàgina approach-- per pàgina, 111 00:05:14,520 --> 00:05:17,775 o fins i tot dos d'en un temps-- ens vam adonar que el algorithm-- més intuïtiu 112 00:05:17,775 --> 00:05:20,840 només tipus de dividir i conquerir el problema de nou, i una altra, 113 00:05:20,840 --> 00:05:24,670 i una altra vegada-- reduir a la meitat amb cada temps, ens va donar aquest resultat verd. 114 00:05:24,670 --> 00:05:27,080 I és tant més plana perquè suggereix 115 00:05:27,080 --> 00:05:29,160 que, tot i que aquest problema fa més gran i més gran, 116 00:05:29,160 --> 00:05:32,470 com és el cas en aquests dies amb les dades conjunts i reality-- Facebook i Google 117 00:05:32,470 --> 00:05:34,630 resultats de la recerca i la com-- fa el nostre algorisme 118 00:05:34,630 --> 00:05:37,660 realitzar la mateixa eficàcia amb aquests mossos més grans 119 00:05:37,660 --> 00:05:40,310 com ho va fer fins i tot amb els mossos més petits. 120 00:05:40,310 --> 00:05:45,330 >> Ara es planteja la pregunta, què podem realment resoldre similar 121 00:05:45,330 --> 00:05:46,820 amb aquest tipus d'intuïció? 122 00:05:46,820 --> 00:05:48,740 Aquest tipus de divisió i conquesta? 123 00:05:48,740 --> 00:05:51,029 Bé, podríem fer alguna cosa com aquesta avui aquí. 124 00:05:51,029 --> 00:05:52,070 Podríem prendre assistència. 125 00:05:52,070 --> 00:05:56,102 Així que tal com 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11- 126 00:05:56,102 --> 00:05:57,560 no va a ser tot el que eficient. 127 00:05:57,560 --> 00:05:58,990 Així que esperi, l'escola primària. 128 00:05:58,990 --> 00:06:02,770 2, 4, 6, 8, 10, 12, 14, 16, 18 i així successivament. 129 00:06:02,770 --> 00:06:04,140 Però podríem fer una mica millor? 130 00:06:04,140 --> 00:06:06,630 >> Estic bastant segur que no puc fer això per mi mateix. 131 00:06:06,630 --> 00:06:09,420 Així que si vas a humor ens per només un moment, portem amb nosaltres 132 00:06:09,420 --> 00:06:11,640 un algoritme que és Acabo de tres passos, 133 00:06:11,640 --> 00:06:15,130 però sí exigir: si no mente-- tots s'aixequen, 134 00:06:15,130 --> 00:06:15,690 si ho faria. 135 00:06:15,690 --> 00:06:23,901 136 00:06:23,901 --> 00:06:29,380 Així, amb tots nosaltres ara de peu, pas un d'aquest algorisme és la següent. 137 00:06:29,380 --> 00:06:31,680 Posa't de peu i assignar vostè mateix el número 1. 138 00:06:31,680 --> 00:06:34,180 Així que en aquest punt en el temps, literalment, tots en aquesta sala 139 00:06:34,180 --> 00:06:38,830 esperem que es pensa a si mateixos, No obstant això maldestrament, el número 1. 140 00:06:38,830 --> 00:06:42,020 >> Ara el pas dos d'aquest algorisme és va involucrar la següent. 141 00:06:42,020 --> 00:06:44,680 Segon pas, aparellar- amb algú de peu, 142 00:06:44,680 --> 00:06:47,970 afegir els seus números junts, i adoptar la suma com el seu nou número. 143 00:06:47,970 --> 00:06:53,110 144 00:06:53,110 --> 00:06:55,620 Comprovació de validesa ràpida. 145 00:06:55,620 --> 00:06:58,180 Quin nombre és tothom pensant ara? 146 00:06:58,180 --> 00:07:01,930 >> Així que 2, excepte potser per un, maldestre, persona solitària. 147 00:07:01,930 --> 00:07:04,269 Si tenim un nombre imparell de persones a l'habitació. 148 00:07:04,269 --> 00:07:06,560 Així que una persona pot seguir sent el número 1, que està bé. 149 00:07:06,560 --> 00:07:09,440 Però pas tres aquí, un que ha de seure. 150 00:07:09,440 --> 00:07:13,620 L'altre ha d'anar de nou al pas 2, i repetir, si ho faria. 151 00:07:13,620 --> 00:07:54,430 152 00:07:54,430 --> 00:07:58,240 >> Així que si segueix en peu, ha de ser entre aquells que es remunta al pas dos. 153 00:07:58,240 --> 00:08:13,910 154 00:08:13,910 --> 00:08:14,574 Segueix endavant. 155 00:08:14,574 --> 00:08:20,790 156 00:08:20,790 --> 00:08:22,130 Algunes persones encara en peu. 157 00:08:22,130 --> 00:08:33,590 158 00:08:33,590 --> 00:08:35,614 >> Així que, si segueix en peu, aparellar-se amb algú. 159 00:08:35,614 --> 00:08:53,710 160 00:08:53,710 --> 00:08:55,020 Molt bé, la disminució de sota. 161 00:08:55,020 --> 00:09:06,394 162 00:09:06,394 --> 00:09:07,560 Algunes persones encara en peu. 163 00:09:07,560 --> 00:09:08,600 Vaig a ajudar si cal. 164 00:09:08,600 --> 00:09:11,855 Recordeu la conclusió clau aquí, és com molt més ràpid això és que jo explicant. 165 00:09:11,855 --> 00:09:15,090 166 00:09:15,090 --> 00:09:16,200 >> Així que anem a veure. 167 00:09:16,200 --> 00:09:16,900 Jo puc ajudar. 168 00:09:16,900 --> 00:09:19,425 Llavors, quin nombre són encara pensant? 169 00:09:19,425 --> 00:09:20,320 >> AUDIÈNCIA: Estic en 44. 170 00:09:20,320 --> 00:09:22,400 >> DAVID J. Malan: 44, per la qual cosa seguir endavant i seure. 171 00:09:22,400 --> 00:09:23,733 Quin nombre està pensant? 172 00:09:23,733 --> 00:09:24,840 AUDIÈNCIA: 74. 173 00:09:24,840 --> 00:09:27,006 >> DAVID J. Malan: 74. 174 00:09:27,006 --> 00:09:28,380 Molt bé, endavant i seu. 175 00:09:28,380 --> 00:09:30,390 Qui més se segueix dempeus? 176 00:09:30,390 --> 00:09:31,550 86. 177 00:09:31,550 --> 00:09:33,340 I és ningú més encara en peu? 178 00:09:33,340 --> 00:09:34,976 >> Quin nombre? 179 00:09:34,976 --> 00:09:37,380 Vaig escoltar 67. 180 00:09:37,380 --> 00:09:39,370 I després, a la part superior? 181 00:09:39,370 --> 00:09:40,900 32. 182 00:09:40,900 --> 00:09:44,230 Algú més encara en peu i pensant en un nombre? 183 00:09:44,230 --> 00:09:44,730 >> Oh, hola. 184 00:09:44,730 --> 00:09:45,230 Ho sento. 185 00:09:45,230 --> 00:09:48,350 Torno de seguida. 186 00:09:48,350 --> 00:09:49,520 42. 187 00:09:49,520 --> 00:09:51,758 Algú més? 188 00:09:51,758 --> 00:09:52,610 >> AUDIÈNCIA: 47. 189 00:09:52,610 --> 00:09:54,930 >> DAVID J. Malan: 47. 190 00:09:54,930 --> 00:09:57,980 Hi ha algú més encara en peu que no s'ha explicat? 191 00:09:57,980 --> 00:10:06,450 Així que el nombre final de persones en una habitació que té 497 seients és-- tots els quals 192 00:10:06,450 --> 00:10:10,930 són filled-- és 390. 193 00:10:10,930 --> 00:10:12,230 Així que això és genial. 194 00:10:12,230 --> 00:10:16,435 >> Aviat anem a discutir la noció d'un error en un programa informàtic. 195 00:10:16,435 --> 00:10:19,660 Però anem a tornar a que en poc temps. 196 00:10:19,660 --> 00:10:22,440 Però en teoria, el que podria haver passat fa un moment? 197 00:10:22,440 --> 00:10:25,930 Així que tot i que hi havia tres grans passos d'aquest algorisme, cada un dels 198 00:10:25,930 --> 00:10:27,510 era només una mica d'una operació gran. 199 00:10:27,510 --> 00:10:31,020 I hi havia una ciclicitat a ella que si estigués encara en peu, 200 00:10:31,020 --> 00:10:34,870 que va seguir el seu camí des del pas tres i dos, pas tres i dos, pas tres a dos. 201 00:10:34,870 --> 00:10:37,330 >> Però el que va seguir passant en cada iteració? 202 00:10:37,330 --> 00:10:39,440 Cada cicle d'aquest bucle? 203 00:10:39,440 --> 00:10:41,940 El que estava passant a l'habitació en un altre lloc? 204 00:10:41,940 --> 00:10:45,170 No només la mateixa cosa, però el que que estava succeint a la meitat de vostès? 205 00:10:45,170 --> 00:10:46,170 Sentar-se. 206 00:10:46,170 --> 00:10:49,710 I el que hi ha a la mentida aquesta idea, de la mateixa manera que l'exemple de llibre de telèfon, 207 00:10:49,710 --> 00:10:52,050 que si la meitat dels que són seure cada vegada, 208 00:10:52,050 --> 00:10:54,560 el problema està començant amb potser 400 persones, 209 00:10:54,560 --> 00:10:57,780 després a 200 persones, de 100 persones, després de 50 persones, i així successivament. 210 00:10:57,780 --> 00:11:00,660 >> I així reduir gradualment en la teoria a una sola persona, 211 00:11:00,660 --> 00:11:02,830 pensant en el valor total de tots. 212 00:11:02,830 --> 00:11:05,777 Ara la realitat, algunes dinàmiques socials, i alguns errors aritmètics 213 00:11:05,777 --> 00:11:07,360 podria contribuir a aquest decisió definitiva. 214 00:11:07,360 --> 00:11:10,300 Però en teoria, mentre jo seguia comptant distància, 215 00:11:10,300 --> 00:11:12,860 tenint diverses dotzenes passos, o centenars de passos 216 00:11:12,860 --> 00:11:16,240 a comptar a vosaltres mateixos, a comptar una sala plena de més o menys 500 persones 217 00:11:16,240 --> 00:11:20,560 hauria d'haver tingut molts menys passos, perquè només es pot dividir 500 i mig 218 00:11:20,560 --> 00:11:21,350 tantes vegades. 219 00:11:21,350 --> 00:11:24,120 I així, de la mateixa manera que amb el telèfon reservar exemple, l'altre dia, 220 00:11:24,120 --> 00:11:26,740 ens tenim alguna cosa logarítmica per així dir-ho, 221 00:11:26,740 --> 00:11:28,870 amb la qual cosa si tots fóssim operant a l'uníson, 222 00:11:28,870 --> 00:11:32,000 i ignorant el errors d'addició, oi 223 00:11:32,000 --> 00:11:34,140 han aconseguit exactament aquest tipus de temps d'execució? 224 00:11:34,140 --> 00:11:37,900 >> Ara, per ser justos, una mena de trampa, en que m'ha atret altres recursos. 225 00:11:37,900 --> 00:11:40,320 Considerant que és només un de mi, Jo palanquejades centenars de tu. 226 00:11:40,320 --> 00:11:43,340 Però això es podria dir que és un exemple de processament en paral·lel, 227 00:11:43,340 --> 00:11:46,400 o un estat de l'art molt en voga on els ordinadors en aquests dies tenen 228 00:11:46,400 --> 00:11:49,830 múltiples CPU, o més tècnicament, més múltiples nuclis, 229 00:11:49,830 --> 00:11:52,550 i veritablement pot fer múltiples coses alhora, de la mateixa manera que 230 00:11:52,550 --> 00:11:54,706 tot el que estem fent allà, en paral·lel. 231 00:11:54,706 --> 00:11:56,580 Però recordar que el que També ho va fer dimecres 232 00:11:56,580 --> 00:12:02,640 va ser tractar de capturar aquesta intuïció i formalitzar en el codi. 233 00:12:02,640 --> 00:12:04,165 Una cosa així com pseudo-codi. 234 00:12:04,165 --> 00:12:07,040 I de fet, i espero que perdonar, és com 80 graus a aquí. 235 00:12:07,040 --> 00:12:09,420 Així que em vaig a prendre això fos per només una mica. 236 00:12:09,420 --> 00:12:12,410 El que vaig pensar que faríem és la transició ara a una aplicació mitjançant el qual 237 00:12:12,410 --> 00:12:16,300 ens comprometem novament a l'audiència, però escriure un programa en anglès 238 00:12:16,300 --> 00:12:19,537 com la sintaxi, amb el qual resoldre aquest problema aquí. 239 00:12:19,537 --> 00:12:20,203 [REPRODUCCIÓ DE VÍDEO] 240 00:12:20,203 --> 00:12:22,266 Mantega de cacauet temps gelea -És. 241 00:12:22,266 --> 00:12:23,890 La mantega de cacauet temps gelea. 242 00:12:23,890 --> 00:12:25,620 La mantega de cacauet temps gelea. 243 00:12:25,620 --> 00:12:26,320 >> Camí ja! 244 00:12:26,320 --> 00:12:26,927 Camí ja! 245 00:12:26,927 --> 00:12:27,781 Camí ja! 246 00:12:27,781 --> 00:12:28,350 Camí ja! 247 00:12:28,350 --> 00:12:29,723 Ara cal anar! 248 00:12:29,723 --> 00:12:30,264 Cal anar! 249 00:12:30,264 --> 00:12:30,805 Cal anar! 250 00:12:30,805 --> 00:12:31,710 Cal anar! 251 00:12:31,710 --> 00:12:33,156 Mantega de cacauet gelea! 252 00:12:33,156 --> 00:12:34,602 Mantega de cacauet gelea! 253 00:12:34,602 --> 00:12:36,530 >> Mantega de cacauet gelea! 254 00:12:36,530 --> 00:12:37,494 Mantega de cacauet gelea! 255 00:12:37,494 --> 00:12:38,940 Maní, gelea de la mantega de cacauet! 256 00:12:38,940 --> 00:12:39,904 Mantega de cacauet gelea! 257 00:12:39,904 --> 00:12:41,840 Gelea de cacauet mantega amb un bat de beisbol. 258 00:12:41,840 --> 00:12:42,423 >> [FI DE REPRODUCCIÓ] 259 00:12:42,423 --> 00:12:45,510 DAVID J. Malan: --que vídeo, però és una mica addictiu, 260 00:12:45,510 --> 00:12:46,540 si no és una mica molest. 261 00:12:46,540 --> 00:12:49,623 Però per fer això, vaig pensar que el que havíem fer és tractar d'escriure un programa conjunt, 262 00:12:49,623 --> 00:12:51,870 per a això necessitem tres voluntaris. 263 00:12:51,870 --> 00:12:54,350 Ha de ser còmode en càmera i internet. 264 00:12:54,350 --> 00:12:57,820 Sam, anem cap amunt. 265 00:12:57,820 --> 00:12:59,830 Camisa porpra, aquí, anem cap amunt. 266 00:12:59,830 --> 00:13:03,470 >> I a partir d'aquí, deixa anar una mica més enrere. 267 00:13:03,470 --> 00:13:05,280 Carmesí i camises blaves, anem cap amunt. 268 00:13:05,280 --> 00:13:06,980 Perfecte. 269 00:13:06,980 --> 00:13:09,790 Anem ara. 270 00:13:09,790 --> 00:13:12,490 Anem cap amunt, anem cap amunt. 271 00:13:12,490 --> 00:13:13,581 >> ¿I quin és el teu nom? 272 00:13:13,581 --> 00:13:14,080 Erica. 273 00:13:14,080 --> 00:13:15,289 David, un plaer conèixer-te. 274 00:13:15,289 --> 00:13:16,830 Si voleu aprofitar aquesta seu aquí. 275 00:13:16,830 --> 00:13:17,900 Aquest és Sam. 276 00:13:17,900 --> 00:13:19,690 >> Com et dius? 277 00:13:19,690 --> 00:13:20,260 Antoni. 278 00:13:20,260 --> 00:13:21,595 Antoni, un plaer conèixer-te. 279 00:13:21,595 --> 00:13:23,790 Erica i Sam, si ho agradaria tenir un seient aquí. 280 00:13:23,790 --> 00:13:26,700 El que hem vingut preparat amb, ja que aquests nois estan descobrint, 281 00:13:26,700 --> 00:13:30,580 és els ingredients amb la qual fer 01:00 mantega de cacauet i gelea. 282 00:13:30,580 --> 00:13:33,520 >> Ara bé, això podria ser una cosa que vostè pren molt per fet. 283 00:13:33,520 --> 00:13:35,430 Però ens hem donat a cadascun dels nostres tres voluntaris 284 00:13:35,430 --> 00:13:40,500 aquí-- dos voluntaris i Sam aquí, una fogassa de pa cada un, un plat, un ganivet, 285 00:13:40,500 --> 00:13:43,740 un pot de gelea o melmelada, i un pot de mantega de cacauet. 286 00:13:43,740 --> 00:13:46,190 I l'objectiu que ens ocupa ara és serà per a aquests tres 287 00:13:46,190 --> 00:13:48,030 fer una mantega de cacauet i melmelada. 288 00:13:48,030 --> 00:13:51,000 Però el que farem és esperar el audience-- ia tots vostès 289 00:13:51,000 --> 00:13:53,710 sens dubte saben com fer-ho aquesta tan bé en reality-- 290 00:13:53,710 --> 00:13:56,380 van a proporcionar la instruccions pas a pas. 291 00:13:56,380 --> 00:13:57,970 El pseudo-codi, si es vol. 292 00:13:57,970 --> 00:13:59,922 >> Així que vaig a jugar el paper d'escriba aquí. 293 00:13:59,922 --> 00:14:02,880 I jo tinc una petita llista de coses per fer, i de manera que cada un de vosaltres, un a la vegada, 294 00:14:02,880 --> 00:14:04,588 demana un potencial instrucció, vaig a 295 00:14:04,588 --> 00:14:06,110 escriure-ho, repetir si cal. 296 00:14:06,110 --> 00:14:09,650 I llavors vostès van a fer 01:00 mantega de cacauet i melmelada 297 00:14:09,650 --> 00:14:11,171 només fent el que li diuen. 298 00:14:11,171 --> 00:14:12,670 Així que pensar en si mateixos com els ordinadors. 299 00:14:12,670 --> 00:14:13,740 >> Només es pot fer el que et diuen. 300 00:14:13,740 --> 00:14:14,948 No hi ha suposicions, sense preguntes. 301 00:14:14,948 --> 00:14:16,660 Només ha de fer-ho. 302 00:14:16,660 --> 00:14:20,460 Llavors, qui li agradaria aventurar la primera instruccions per fer un sandvitx PBJ? 303 00:14:20,460 --> 00:14:21,460 Al balcó hi ha. 304 00:14:21,460 --> 00:14:22,801 >> AUDIÈNCIA: Obriu la bossa de pa. 305 00:14:22,801 --> 00:14:26,430 >> DAVID J. Malan: Obriu el bossa de pa, si es vol. 306 00:14:26,430 --> 00:14:34,440 307 00:14:34,440 --> 00:14:35,230 Així que anem a veure. 308 00:14:35,230 --> 00:14:37,910 Anem a iterar, i obtenir una mica més precís. 309 00:14:37,910 --> 00:14:39,040 >> Bona forma de començar però. 310 00:14:39,040 --> 00:14:42,340 El segon pas, algú més. 311 00:14:42,340 --> 00:14:43,590 Ara ningú vol ser voluntari. 312 00:14:43,590 --> 00:14:44,616 Segon pas, al front. 313 00:14:44,616 --> 00:14:46,532 AUDIÈNCIA: Obriu l'interior bossa de pa també. 314 00:14:46,532 --> 00:14:50,600 DAVID J. Malan: Obriu el bossa interior de pa també. 315 00:14:50,600 --> 00:14:51,880 Gran, que aprendre. 316 00:14:51,880 --> 00:14:57,880 317 00:14:57,880 --> 00:14:59,090 Una mica més precís. 318 00:14:59,090 --> 00:15:00,240 Aconseguirem aquest treball. 319 00:15:00,240 --> 00:15:01,180 Sí, en camisa verda. 320 00:15:01,180 --> 00:15:04,608 >> AUDIÈNCIA: [inaudible] 321 00:15:04,608 --> 00:15:05,108 322 00:15:05,108 --> 00:15:09,040 DAVID J. Malan: Llesques de pa. 323 00:15:09,040 --> 00:15:11,110 Traieu amb cura dues llesques de pa. 324 00:15:11,110 --> 00:15:20,350 325 00:15:20,350 --> 00:15:21,000 Això és bó. 326 00:15:21,000 --> 00:15:24,300 El quart pas, algú més? 327 00:15:24,300 --> 00:15:25,170 Per aquí, no? 328 00:15:25,170 --> 00:15:26,130 >> AUDIÈNCIA: [inaudible] 329 00:15:26,130 --> 00:15:28,810 >> DAVID J. Malan: Col·loqueu el pa al plat. 330 00:15:28,810 --> 00:15:33,490 331 00:15:33,490 --> 00:15:35,290 Pas cinc? 332 00:15:35,290 --> 00:15:36,020 Pas cinc, sí? 333 00:15:36,020 --> 00:15:39,440 >> AUDIÈNCIA: [inaudible] 334 00:15:39,440 --> 00:15:39,940 335 00:15:39,940 --> 00:15:43,860 DAVID J. Malan: A sobre de-- oh, mà. 336 00:15:43,860 --> 00:15:46,967 Col·loqui la mà a la part superior de la mantega de cacauet. 337 00:15:46,967 --> 00:15:47,800 És això el que em dirigeixo? 338 00:15:47,800 --> 00:15:49,160 >> AUDIÈNCIA: Sí, i descargolar. 339 00:15:49,160 --> 00:15:51,370 >> DAVID J. Malan: Y-- dir-ho de nou. 340 00:15:51,370 --> 00:15:52,696 >> AUDIÈNCIA: [inaudible] 341 00:15:52,696 --> 00:15:57,990 >> DAVID J. Malan: I va posar l' tapa al costat de la mantega de cacauet. 342 00:15:57,990 --> 00:16:00,370 Lleugerament col·loqui la mà en la part superior de la mantega de cacauet, 343 00:16:00,370 --> 00:16:03,240 i descargolar, i posar la tapa costat de la mantega de cacauet. 344 00:16:03,240 --> 00:16:14,760 345 00:16:14,760 --> 00:16:16,260 OK, pas 6. 346 00:16:16,260 --> 00:16:17,520 Pas 6, algú més. 347 00:16:17,520 --> 00:16:19,366 Sí? 348 00:16:19,366 --> 00:16:22,740 >> AUDIÈNCIA: [inaudible] 349 00:16:22,740 --> 00:16:29,197 350 00:16:29,197 --> 00:16:30,405 DAVID J. Malan: Digues-ho una altra vegada. 351 00:16:30,405 --> 00:16:31,946 AUDIÈNCIA: Repetiu el pas 5 de nou. 352 00:16:31,946 --> 00:16:37,380 DAVID J. Malan: I repetir el pas 5 més, 353 00:16:37,380 --> 00:16:39,400 que es crearà una mica d'un problema 354 00:16:39,400 --> 00:16:42,600 ara si que estem fent aquest pas a pas. 355 00:16:42,600 --> 00:16:44,640 Així que ara anem de nou al pas 5. 356 00:16:44,640 --> 00:16:47,760 Lleugerament col·locar la mà en la part superior de mantega de cacauet i descargolar 357 00:16:47,760 --> 00:16:50,990 i posar la tapa al costat de la mantega de cacauet. 358 00:16:50,990 --> 00:16:55,340 Llavors captar la mantega de cacauet i repetiu el pas 5 de nou. 359 00:16:55,340 --> 00:16:58,410 >> Així que anem a anul·lar aquest bucle infinit, si es vol. 360 00:16:58,410 --> 00:17:00,400 Pas set, una altra persona. 361 00:17:00,400 --> 00:17:02,918 Sí, a la part posterior. 362 00:17:02,918 --> 00:17:06,397 >> AUDIÈNCIA: [inaudible] 363 00:17:06,397 --> 00:17:16,084 364 00:17:16,084 --> 00:17:17,769 >> DAVID J. Malan: top --en d'una altra. 365 00:17:17,769 --> 00:17:20,529 >> AUDIÈNCIA: [inaudible] 366 00:17:20,529 --> 00:17:23,175 >> DAVID J. Malan: A la D'altra banda en l'altre superior. 367 00:17:23,175 --> 00:17:28,880 368 00:17:28,880 --> 00:17:30,895 Vols simplement venir aquí? 369 00:17:30,895 --> 00:17:34,750 Com acabo la instrucció? 370 00:17:34,750 --> 00:17:37,790 Què hi ha de la resta de la instrucció? 371 00:17:37,790 --> 00:17:39,140 >> AUDIÈNCIA: Fent cas omís d'aquesta part. 372 00:17:39,140 --> 00:17:41,050 >> DAVID J. Malan: Fent cas omís d'aquesta part. 373 00:17:41,050 --> 00:17:44,192 374 00:17:44,192 --> 00:17:44,900 Anem a començar de nou. 375 00:17:44,900 --> 00:17:45,400 Pas 7. 376 00:17:45,400 --> 00:17:48,516 377 00:17:48,516 --> 00:17:51,883 >> AUDIÈNCIA: [inaudible] 378 00:17:51,883 --> 00:17:56,090 >> DAVID J. Malan: Agafeu amb oposar-se a mà- això és bo. 379 00:17:56,090 --> 00:17:58,544 Això és realment bo. 380 00:17:58,544 --> 00:18:01,750 >> AUDIÈNCIA: [inaudible] 381 00:18:01,750 --> 00:18:03,975 >> DAVID J. Malan: I jar-- plàstic 382 00:18:03,975 --> 00:18:06,675 >> AUDIÈNCIA: [inaudible] 383 00:18:06,675 --> 00:18:08,420 >> DAVID J. Malan: I twist-- 384 00:18:08,420 --> 00:18:11,488 >> AUDIÈNCIA: [inaudible] 385 00:18:11,488 --> 00:18:13,730 >> DAVID J. Malan: Durant dos segons. 386 00:18:13,730 --> 00:18:15,800 Només has d'obrir el pot de mantega de cacauet. 387 00:18:15,800 --> 00:18:19,020 388 00:18:19,020 --> 00:18:20,632 Espero que perdons. 389 00:18:20,632 --> 00:18:21,840 Així que anem a suposar que vam arribar allà. 390 00:18:21,840 --> 00:18:23,240 Obriu el pot de mantega de cacauet. 391 00:18:23,240 --> 00:18:27,008 392 00:18:27,008 --> 00:18:32,570 >> [Aplaudiments] 393 00:18:32,570 --> 00:18:34,790 >> DAVID J. Malan: Pas 8, anem. 394 00:18:34,790 --> 00:18:37,510 Pas 8, sí, a la part posterior. 395 00:18:37,510 --> 00:18:38,470 >> AUDIÈNCIA: [inaudible] 396 00:18:38,470 --> 00:18:44,772 397 00:18:44,772 --> 00:18:45,700 >> DAVID J. Malan: Good. 398 00:18:45,700 --> 00:18:47,040 Pas 9, sí? 399 00:18:47,040 --> 00:18:48,924 >> AUDIÈNCIA: [inaudible] 400 00:18:48,924 --> 00:18:51,567 >> DAVID J. Malan: --out de el pot de mantega de cacauet. 401 00:18:51,567 --> 00:18:53,830 I- i què? 402 00:18:53,830 --> 00:18:54,729 >> AUDIÈNCIA: [inaudible] 403 00:18:54,729 --> 00:18:58,222 >> DAVID J. Malan: I ganivet posat de nou a la mantega de cacauet. 404 00:18:58,222 --> 00:19:11,130 405 00:19:11,130 --> 00:19:12,090 Pas deu. 406 00:19:12,090 --> 00:19:13,050 Pas deu. 407 00:19:13,050 --> 00:19:14,970 >> AUDIÈNCIA: [inaudible] 408 00:19:14,970 --> 00:19:20,710 >> DAVID J. Malan: Poseu el ganivet i, a continuació, retiri el precinte. 409 00:19:20,710 --> 00:19:23,060 Niça. 410 00:19:23,060 --> 00:19:24,400 Fora de la mantega de cacauet. 411 00:19:24,400 --> 00:19:34,490 412 00:19:34,490 --> 00:19:36,406 Molt bé, el pas 11. 413 00:19:36,406 --> 00:19:37,322 >> AUDIÈNCIA: [inaudible] 414 00:19:37,322 --> 00:19:42,520 415 00:19:42,520 --> 00:19:48,164 >> DAVID J. Malan: OK, ordinador gris segueixi equip blau o vermell. 416 00:19:48,164 --> 00:19:49,631 Bé. 417 00:19:49,631 --> 00:19:53,054 >> [Aplaudiments] 418 00:19:53,054 --> 00:19:55,920 419 00:19:55,920 --> 00:19:57,170 DAVID J. Malan: Porta'ns casa. 420 00:19:57,170 --> 00:19:59,570 Parell de passos més. 421 00:19:59,570 --> 00:20:00,250 Què segueix? 422 00:20:00,250 --> 00:20:02,590 Passos 12. 423 00:20:02,590 --> 00:20:04,161 Pas 12. 424 00:20:04,161 --> 00:20:05,123 Sí? 425 00:20:05,123 --> 00:20:14,262 >> AUDIÈNCIA: Posa una de les llesques de pa suaument en una de les seves mans. 426 00:20:14,262 --> 00:20:17,550 >> DAVID J. Malan: Una de les seves mans. 427 00:20:17,550 --> 00:20:20,760 I després, pas 13. 428 00:20:20,760 --> 00:20:21,260 Sí? 429 00:20:21,260 --> 00:20:22,220 >> AUDIÈNCIA: [inaudible] 430 00:20:22,220 --> 00:20:25,580 431 00:20:25,580 --> 00:20:27,150 >> DAVID J. Malan: llesca --en de pa. 432 00:20:27,150 --> 00:20:29,950 Bé. 433 00:20:29,950 --> 00:20:32,260 Força bé. 434 00:20:32,260 --> 00:20:34,990 Pas 14, sí. 435 00:20:34,990 --> 00:20:38,126 >> AUDIÈNCIA: Desfer el pas 13. 436 00:20:38,126 --> 00:20:39,950 >> DAVID J. Malan: Desfer el pas 13. 437 00:20:39,950 --> 00:20:42,690 438 00:20:42,690 --> 00:20:44,770 Anem a passar a la gelea. 439 00:20:44,770 --> 00:20:47,900 És un programa de 100 passos, però estem estàvem al pas 15. 440 00:20:47,900 --> 00:20:49,210 Sí. 441 00:20:49,210 --> 00:20:50,170 >> AUDIÈNCIA: [inaudible] 442 00:20:50,170 --> 00:20:53,050 443 00:20:53,050 --> 00:20:59,570 >> DAVID J. Malan: 7 a 13 usant la gelea, perquè els que va ser tan bé. 444 00:20:59,570 --> 00:21:02,530 Repetiu els passos 7 a 13, usant la gelatina. 445 00:21:02,530 --> 00:21:07,940 Així captar la meitat inferior de la pot de la gelea amb una mà a la part superior. 446 00:21:07,940 --> 00:21:11,970 D'altra banda de la una altra superior, fent cas omís d'aquesta part, 447 00:21:11,970 --> 00:21:15,430 agafar amb les mans oposades, la tapa i el pot de plàstic 448 00:21:15,430 --> 00:21:18,300 a la part inferior, i torçar durant dos segons. 449 00:21:18,300 --> 00:21:19,940 A continuació, obriu el pot de gelea. 450 00:21:19,940 --> 00:21:23,290 451 00:21:23,290 --> 00:21:26,580 I finalment, tractarem de donar-nos alguna cosa comestible. 452 00:21:26,580 --> 00:21:27,270 Pas 16. 453 00:21:27,270 --> 00:21:35,820 454 00:21:35,820 --> 00:21:37,130 Així que per què no ho deixem aquí. 455 00:21:37,130 --> 00:21:38,879 Moltes gràcies a els nostres tres voluntaris. 456 00:21:38,879 --> 00:21:41,466 [Aplaudiments] 457 00:21:41,466 --> 00:21:45,920 458 00:21:45,920 --> 00:21:50,300 >> Tenim una mica de CS50 bola de la tensió per a vostè. 459 00:21:50,300 --> 00:21:54,540 Anava a ser un sandvitx però- i què 460 00:21:54,540 --> 00:21:57,130 era el punt, més enllà de tenir un mica de diversió amb l'algoritme? 461 00:21:57,130 --> 00:22:00,140 Però la realitat és que, fins i tot quan estàs programant un ordinador, 462 00:22:00,140 --> 00:22:02,050 ha de ser súper precisa. 463 00:22:02,050 --> 00:22:04,030 Com complex o intimidant com el seu propi ordinador 464 00:22:04,030 --> 00:22:06,670 molt bé podria ser la que, en menys quan alguna cosa surt malament, 465 00:22:06,670 --> 00:22:10,150 la realitat és que és un bastant ximple dispositiu que va ser inventat per nosaltres els éssers humans, 466 00:22:10,150 --> 00:22:13,267 i només pot fer-ho un subconjunt del que fer-- vegades certament faster-- 467 00:22:13,267 --> 00:22:15,100 però no sap com fer suposicions. 468 00:22:15,100 --> 00:22:18,070 No sap com estar en la mateixa longitud d'ona que tu. 469 00:22:18,070 --> 00:22:20,280 >> Només es farà precisament el que li dius. 470 00:22:20,280 --> 00:22:22,070 I seràs colpejat, potser, a mesura que vam començar 471 00:22:22,070 --> 00:22:24,770 escriure codi real amb el primers butlletins de problemes i més enllà, 472 00:22:24,770 --> 00:22:27,490 el fàcil que és fer una suposició com un ésser humà, 473 00:22:27,490 --> 00:22:31,880 i no preveig que necessito per manejar aquest cas, o que el cas de la cantonada, 474 00:22:31,880 --> 00:22:34,900 per així dir-ho, que podria molt bé sorgir si, per exemple, Sam tenia l'única 475 00:22:34,900 --> 00:22:38,711 jar squeezable de gelatina, mentre que tots els altres tenien alguns pots de vidre com 476 00:22:38,711 --> 00:22:39,210 també. 477 00:22:39,210 --> 00:22:42,170 Així que abans que ens dirigim la nostra atenció a alguna cosa de codi real, 478 00:22:42,170 --> 00:22:44,680 permeteu-me presentar-li el els caps dels cursos aquí a Yale. 479 00:22:44,680 --> 00:22:49,058 Els nostres amics Scaz, Andy, i Jason venir i dir hola. 480 00:22:49,058 --> 00:22:52,544 >> [Aplaudiments] 481 00:22:52,544 --> 00:22:58,022 482 00:22:58,022 --> 00:23:01,060 >> SCAZ: Hem perdut Jason temporalment. 483 00:23:01,060 --> 00:23:02,440 Hola de nou, tothom. 484 00:23:02,440 --> 00:23:03,610 El meu nom és Scaz. 485 00:23:03,610 --> 00:23:06,860 He estat ensenyant a Yale des de 2001. 486 00:23:06,860 --> 00:23:10,820 I quan no estic ensenyant, la meva investigació es troba en la robòtica 487 00:23:10,820 --> 00:23:12,620 i la intel·ligència artificial. 488 00:23:12,620 --> 00:23:17,700 >> I l'anunci que tinc avui és que a partir d'un parell de setmanes, 489 00:23:17,700 --> 00:23:22,170 anem a portar alguns material complementari per CS50 per parlar 490 00:23:22,170 --> 00:23:24,510 sobre el programari d'intel·ligència. 491 00:23:24,510 --> 00:23:28,230 Anem a parlar de com llocs com Netflix i Hulu 492 00:23:28,230 --> 00:23:31,780 pot recomanar pel·lícules que és possible que vulgueu veure. 493 00:23:31,780 --> 00:23:35,710 On anem a parlar sobre com cotxes sense conductor en realitat funcionen. 494 00:23:35,710 --> 00:23:39,020 I serem capaços a terra aquestes coses en els conceptes 495 00:23:39,020 --> 00:23:41,730 que vostè està aprenent en aquesta classe d'avui. 496 00:23:41,730 --> 00:23:45,410 >> A causa de que totes aquestes coses són construït sobre la mateixa base. 497 00:23:45,410 --> 00:23:47,396 I això és el que aquest sèrie explorarà. 498 00:23:47,396 --> 00:23:49,520 Així que estic realment esperant amb ganes de veure més de tu 499 00:23:49,520 --> 00:23:53,260 tots, i que arribaràs a veure més de tots nosaltres molt aviat. 500 00:23:53,260 --> 00:23:56,500 Permetin-me presentar a Jason. 501 00:23:56,500 --> 00:23:57,950 >> JASON: Hola a tots. 502 00:23:57,950 --> 00:23:59,290 El meu nom és Jason. 503 00:23:59,290 --> 00:24:03,540 Lamentablement, jo vaig anar a Harvard com a estudiant. 504 00:24:03,540 --> 00:24:07,020 Això va a tallar- fora del corrent real. 505 00:24:07,020 --> 00:24:09,870 >> I ara sóc aquí com un professor de el departament de ciències de la computació. 506 00:24:09,870 --> 00:24:14,825 I jo estic ajudant a executar el curs amb Scaz, David i Andy. 507 00:24:14,825 --> 00:24:17,140 >> ANDY: Hola nois. 508 00:24:17,140 --> 00:24:17,980 Andy del meu nom. 509 00:24:17,980 --> 00:24:21,992 Jo sóc en realitat l'únic Yale estudiant a l'escenari ara. 510 00:24:21,992 --> 00:24:25,464 >> [Aplaudiments] 511 00:24:25,464 --> 00:24:29,440 512 00:24:29,440 --> 00:24:31,770 >> Estic a Berkeley College, originalment de Solon, Ohio. 513 00:24:31,770 --> 00:24:35,240 514 00:24:35,240 --> 00:24:37,930 I jo era un d'aquests nens on, quan vaig arribar a la Universitat de Yale, 515 00:24:37,930 --> 00:24:42,030 Realment vaig pensar que jo mai ho faria ha de mirar a un nombre cada vegada més. 516 00:24:42,030 --> 00:24:46,240 I llavors em vaig adonar que necessitava tant la ciència com QR crèdits per graduar-se. 517 00:24:46,240 --> 00:24:51,340 I així la meva primavera estudiant de primer any, vaig prendre una classe, un CS, introducció classe CS aquí 518 00:24:51,340 --> 00:24:52,230 a Yale. 519 00:24:52,230 --> 00:24:54,710 Jo estava com, això és com realment molt bé. 520 00:24:54,710 --> 00:25:01,330 >> I mentre que en realitat va acabar declarant Com els assumptes globals importants, les habilitats 521 00:25:01,330 --> 00:25:04,910 Vaig aprendre a CS i programació són tan aplicables a qualsevol camp 522 00:25:04,910 --> 00:25:05,970 vostè tria fer. 523 00:25:05,970 --> 00:25:09,770 I el personal aquí a Yale, hem estat tan dur a la feina 524 00:25:09,770 --> 00:25:10,800 per preparar-se per vostès. 525 00:25:10,800 --> 00:25:13,410 I nosaltres esperem veure sobretot en les seccions i oficines hores. 526 00:25:13,410 --> 00:25:14,874 Així que si. 527 00:25:14,874 --> 00:25:18,178 >> [Aplaudiments] 528 00:25:18,178 --> 00:25:19,297 529 00:25:19,297 --> 00:25:20,380 DAVID J. Malan: Gràcies. 530 00:25:20,380 --> 00:25:22,940 Així que abans que comencés la classe, vam tenir l'oportunitat 531 00:25:22,940 --> 00:25:25,660 caminar pel campus amb un telèfon mòbil i prendre 532 00:25:25,660 --> 00:25:30,530 alguns selfies en forma de vídeo de veritat la meva primera gira pel campus de Yale aquí. 533 00:25:30,530 --> 00:25:35,420 I pel que pensem que ens agradaria compartir una aspra tall d'exactament això com Scaz i Andy 534 00:25:35,420 --> 00:25:37,970 i Jason em va portar pel campus. 535 00:25:37,970 --> 00:25:43,662 536 00:25:43,662 --> 00:25:44,328 [REPRODUCCIÓ DE VÍDEO] 537 00:25:44,328 --> 00:25:47,322 [SIRENES] 538 00:25:47,322 --> 00:25:49,318 -David. 539 00:25:49,318 --> 00:25:50,132 -Benvingut A Yale. 540 00:25:50,132 --> 00:25:50,840 -Encantat de veure't. 541 00:25:50,840 --> 00:25:52,410 -Nice Veure't. 542 00:25:52,410 --> 00:25:53,340 -Podem Anar en un viatge? 543 00:25:53,340 --> 00:25:56,845 -Anem A anar en un tour. 544 00:25:56,845 --> 00:25:57,523 Visita -Road. 545 00:25:57,523 --> 00:25:59,106 -Aquest Signe ha estat allà per un temps. 546 00:25:59,106 --> 00:26:00,200 -Whah, CS50. 547 00:26:00,200 --> 00:26:02,978 548 00:26:02,978 --> 00:26:05,293 >> -Hurry! 549 00:26:05,293 --> 00:26:08,970 Vaja, vaja, vaja, vaja. 550 00:26:08,970 --> 00:26:12,340 Vostè hauria [inaudible] Harkness Tower. 551 00:26:12,340 --> 00:26:13,850 >> -I Vam veure que un parell de vegades. 552 00:26:13,850 --> 00:26:16,760 553 00:26:16,760 --> 00:26:20,155 >> [Aplaudiments] 554 00:26:20,155 --> 00:26:21,130 555 00:26:21,130 --> 00:26:22,890 >> -Mira Cap a fora per a la moto! 556 00:26:22,890 --> 00:26:24,500 Ahh! 557 00:26:24,500 --> 00:26:25,030 Hola Frank. 558 00:26:25,030 --> 00:26:26,314 >> -Què Passa, nois? 559 00:26:26,314 --> 00:26:26,855 -Com estàs? 560 00:26:26,855 --> 00:26:28,474 -Encantat de veure't. 561 00:26:28,474 --> 00:26:29,390 -Benvingut Al vídeo. 562 00:26:29,390 --> 00:26:32,270 No actuïs massa excitat. 563 00:26:32,270 --> 00:26:34,502 >> -Em Encanta Silliman. 564 00:26:34,502 --> 00:26:36,430 Ahh! 565 00:26:36,430 --> 00:26:39,780 >> -Ha Passat prop de tres hores des Jason tenia gelat i Nutella. 566 00:26:39,780 --> 00:26:43,189 Així que hem de parar de tornada a Silliman per una mica. 567 00:26:43,189 --> 00:26:45,137 >> -No És fins i tot [inaudible] però, només el fet de 568 00:26:45,137 --> 00:26:47,270 que tenen aquí és tan increïble. 569 00:26:47,270 --> 00:26:49,830 Amic, hi ha Nutella en cada àpat. 570 00:26:49,830 --> 00:26:51,830 >> -No Va ser l'any passat també. 571 00:26:51,830 --> 00:26:54,220 >> -Sí. 572 00:26:54,220 --> 00:26:56,440 >> -Digues Molt sobre Yale fins ara. 573 00:26:56,440 --> 00:26:58,485 Però jo ara que TD allà. 574 00:26:58,485 --> 00:26:59,860 I això és considerat fora de l'escola. 575 00:26:59,860 --> 00:27:03,659 >> -Aquí Tenim l'arquitectura gòtica. 576 00:27:03,659 --> 00:27:04,200 Mundialment famós. 577 00:27:04,200 --> 00:27:06,758 Tenim una arquitectura més gòtic. 578 00:27:06,758 --> 00:27:10,614 I construcció, i arquitectura més gòtic. 579 00:27:10,614 --> 00:27:11,114 Hola. 580 00:27:11,114 --> 00:27:15,470 Aquí és on tindrem horari d'oficina De dimarts a dijous a Hogwarts, 581 00:27:15,470 --> 00:27:16,922 com [inaudible]. 582 00:27:16,922 --> 00:27:20,620 583 00:27:20,620 --> 00:27:21,120 -Tot bé. 584 00:27:21,120 --> 00:27:22,078 Això és tot per a la gira. 585 00:27:22,078 --> 00:27:24,030 Som a la Universitat de Yale de Facultat de Dret, on 586 00:27:24,030 --> 00:27:25,870 la conferència d'avui està a punt de tenir lloc. 587 00:27:25,870 --> 00:27:29,220 Anem al capdavant en. 588 00:27:29,220 --> 00:27:30,375 >> [FI DE REPRODUCCIÓ] 589 00:27:30,375 --> 00:27:32,370 >> DAVID J. Malan: I això ens porta aquí ara. 590 00:27:32,370 --> 00:27:38,040 591 00:27:38,040 --> 00:27:40,770 Així que fins al moment, hem estat centrant-se en pseudocodi, 592 00:27:40,770 --> 00:27:42,430 que és aquesta sintaxi Anglès-com. 593 00:27:42,430 --> 00:27:45,030 No té cap especificació prescrita. 594 00:27:45,030 --> 00:27:47,030 És només que utilitzar alguns llenguatge intuïtiu si 595 00:27:47,030 --> 00:27:48,950 vull explicar el que vols fer. 596 00:27:48,950 --> 00:27:52,270 >> Però anem a començar ara a la transició al codi, ja que la majoria de la gent diria. 597 00:27:52,270 --> 00:27:54,880 Però més precisament, una cosa conegut com a codi font. 598 00:27:54,880 --> 00:27:58,210 Aquest és el llenguatge que els humans escriuen que els ordinadors ultimately-- 599 00:27:58,210 --> 00:28:00,780 possiblement després de cert nombre de steps-- entén en última instància 600 00:28:00,780 --> 00:28:02,530 per tal de saber com fer alguna cosa. 601 00:28:02,530 --> 00:28:05,120 Que va veure un indici de això potser dimecres. 602 00:28:05,120 --> 00:28:07,780 >> Aquest és un exemple que increïblement, que s'esperava 603 00:28:07,780 --> 00:28:10,220 quan s'executa simplement diu "hola món". 604 00:28:10,220 --> 00:28:13,510 I està escrit en un llenguatge anomenat C, que és molt similar sintàcticament 605 00:28:13,510 --> 00:28:15,676 a molts altres idiomes que vostè pot no saber, 606 00:28:15,676 --> 00:28:18,409 però podria haver sentit parlar de com Java, i C ++ i Python i Ruby, 607 00:28:18,409 --> 00:28:21,200 i similars, i de fet, anem a passar gran part del semestre usant C, 608 00:28:21,200 --> 00:28:23,530 i després cap al final de la semestre, construir sobre ella, 609 00:28:23,530 --> 00:28:25,446 i la introducció de qualsevol nombre d'altres idiomes. 610 00:28:25,446 --> 00:28:28,810 Entre ells PHP i JavaScript, un llenguatge de base de dades denominat SQL. 611 00:28:28,810 --> 00:28:31,526 Però amb C, el que tindrem aquesta comprensió de baix a dalt 612 00:28:31,526 --> 00:28:33,900 exactament com funcionen els ordinadors, el que pot fer amb ells, 613 00:28:33,900 --> 00:28:37,252 i com es poden resoldre els problemes tant més eficaçment per aquest 614 00:28:37,252 --> 00:28:39,460 capes que discutim el dimecres, i de peu 615 00:28:39,460 --> 00:28:40,870 sobre les espatlles dels altres. 616 00:28:40,870 --> 00:28:42,200 Però més sobre això més per venir. 617 00:28:42,200 --> 00:28:46,650 >> Avui ens fixem en un entorn senzill, però fonamentalment idèntica 1 618 00:28:46,650 --> 00:28:49,970 entorn conegut com Scratch de els nostres amics al MIT Media Lab. 619 00:28:49,970 --> 00:28:52,570 Aquesta és una gràfica llenguatge de programació, Scratch, 620 00:28:52,570 --> 00:28:54,330 pel qual vostè pot arrossegar i deixar anar coses que 621 00:28:54,330 --> 00:28:57,430 veurà com peces d'un trencaclosques que Només enclavament si es fa 622 00:28:57,430 --> 00:28:59,872 sentit lògic o programàtic per fer-ho. 623 00:28:59,872 --> 00:29:02,330 Però ens va a permetre a tenir una conversa sobretot 624 00:29:02,330 --> 00:29:04,604 de la mateixa programació fonaments que alguns de vostès 625 00:29:04,604 --> 00:29:06,520 podria saber ja, que molts de vostès no podria 626 00:29:06,520 --> 00:29:09,670 saber res de sense tenir empantanegar francament, 627 00:29:09,670 --> 00:29:13,150 en el intel·lectualment sintaxi poc interessant del punt i coma, 628 00:29:13,150 --> 00:29:14,950 i els parèntesis, i cita, i similars. 629 00:29:14,950 --> 00:29:16,910 Tot això, a principis successivament, són una distracció 630 00:29:16,910 --> 00:29:20,322 al que són interessants i idees realment útils. 631 00:29:20,322 --> 00:29:22,280 Així que donem un ràpid mirada a l'entorn 632 00:29:22,280 --> 00:29:24,180 aquí, així que vostè sap el que l'espera. 633 00:29:24,180 --> 00:29:28,060 I, de fet, entre els jocs que pot jugar són alguns programes escrits 634 00:29:28,060 --> 00:29:30,810 pels mateixos antics alumnes del CS50. 635 00:29:30,810 --> 00:29:36,200 Un d'ells, a mi mateix, vaig a estar aquest escrita a la universitat per a mi. 636 00:29:36,200 --> 00:29:39,030 >> Si pogués prendre un voluntari que està disposat a jugar 637 00:29:39,030 --> 00:29:40,420 un joc per primera vegada. 638 00:29:40,420 --> 00:29:40,920 És clar. 639 00:29:40,920 --> 00:29:41,690 Anem cap amunt. 640 00:29:41,690 --> 00:29:42,565 Com et dius? 641 00:29:42,565 --> 00:29:43,372 >> AUDIÈNCIA: Angela. 642 00:29:43,372 --> 00:29:44,830 DAVID J. Malan: Angela, anem cap amunt. 643 00:29:44,830 --> 00:29:47,220 Així esgarrinxada ha estat fora per un parell d'anys. 644 00:29:47,220 --> 00:29:49,960 I quan estava a l'escola de postgrau, Estava creu registrats al MIT, 645 00:29:49,960 --> 00:29:53,392 tenint professor Mitchel Resnick de curs sobre tecnologies educatives. 646 00:29:53,392 --> 00:29:56,350 I estàvem entre els primers els estudiants en el món de realitat beta 647 00:29:56,350 --> 00:29:57,120 Rasguño prova. 648 00:29:57,120 --> 00:30:00,090 I el meu projecte era el que Angela ara s'ha ofert amablement 649 00:30:00,090 --> 00:30:02,060 a obra anomenada oscartime. 650 00:30:02,060 --> 00:30:04,507 >> Així que seguiré endavant i feu doble clic a la icona d'aquí. 651 00:30:04,507 --> 00:30:07,590 Es va a obrir una programació entorn que aviat anem a submergir-nos en. 652 00:30:07,590 --> 00:30:09,720 Vaig a pantalla completa per Angela, aquí. 653 00:30:09,720 --> 00:30:12,490 Vaig a colpejar el verd bandera en un moment. 654 00:30:12,490 --> 00:30:15,130 I després un tot moltes escombraries caurà del cel. 655 00:30:15,130 --> 00:30:17,830 I vostè va a utilitzar el ratolí aquí per arrossegar i deixar anar realitat 656 00:30:17,830 --> 00:30:20,169 les escombraries en els pots d'escombraries d'Oscar. 657 00:30:20,169 --> 00:30:23,210 Així que si vols seguir endavant i feu clic la bandera verda, el joc començarà. 658 00:30:23,210 --> 00:30:26,890 >> [REPRODUCCIÓ DE MÚSICA] 659 00:30:26,890 --> 00:30:29,980 >> Oh, m'encanta les escombraries. 660 00:30:29,980 --> 00:30:34,840 Qualsevol cosa bruta o brut o polsegós. 661 00:30:34,840 --> 00:30:39,300 Qualsevol cosa irregular o podrida, o oxidat. 662 00:30:39,300 --> 00:30:43,155 Sí, m'encanta les escombraries. 663 00:30:43,155 --> 00:30:45,530 Si realment vols veure una mica de mala qualitat, mira això. 664 00:30:45,530 --> 00:30:49,570 Tinc aquí una sabatilla d'esport això és tot estripat i desgastades. 665 00:30:49,570 --> 00:30:53,750 Està tot ple de forats cellers i els cordons es trenquen. 666 00:30:53,750 --> 00:30:57,590 Un regal de la meva mare el dia en què va néixer. 667 00:30:57,590 --> 00:30:59,434 M'encanta perquè és-- 668 00:30:59,434 --> 00:31:02,600 DAVID J. Malan: --green aquests dies només ser llençar tot a les escombraries. 669 00:31:02,600 --> 00:31:04,312 I així el que un de Pròpia did-- personal de l'CS50 670 00:31:04,312 --> 00:31:06,270 Jordan, que vostè pot ser satisfer avui-- té realitat 671 00:31:06,270 --> 00:31:08,030 actualitzat això per als temps d'avui. 672 00:31:08,030 --> 00:31:10,800 I així em permet obrir-me un remix en lloc d'Angela. 673 00:31:10,800 --> 00:31:13,600 I anem a jugar això en comptes de uns moments on ara estàs 674 00:31:13,600 --> 00:31:16,600 va a haver de decidir entre si llençar alguna cosa a les escombraries, 675 00:31:16,600 --> 00:31:19,050 o reciclar o compostar ella. 676 00:31:19,050 --> 00:31:21,280 Així que hi ha una mica de pressió sobre vostè per arribar 677 00:31:21,280 --> 00:31:28,040 aquest dret en la part davantera de la seva 392 a 497 companys de classe aquí a la sala, 678 00:31:28,040 --> 00:31:28,724 si ho faria. 679 00:31:28,724 --> 00:31:29,390 [REPRODUCCIÓ DE VÍDEO] 680 00:31:29,390 --> 00:31:32,540 [REPRODUCCIÓ DE MÚSICA] 681 00:31:32,540 --> 00:31:36,280 Oh m'encanta escombraries. 682 00:31:36,280 --> 00:31:40,840 Qualsevol cosa bruta o brut o polsegós. 683 00:31:40,840 --> 00:31:44,910 Qualsevol cosa irregular o podrida o oxidat. 684 00:31:44,910 --> 00:31:48,830 Sí, m'encanta les escombraries. 685 00:31:48,830 --> 00:31:51,480 >> Si realment vols veure una mica de mala qualitat, mira això. 686 00:31:51,480 --> 00:31:55,540 Tinc aquí una sabatilla d'esport això és tot estripat i desgastades. 687 00:31:55,540 --> 00:31:59,440 Està tot ple de forats i els cordons es trenquen. 688 00:31:59,440 --> 00:32:03,762 Un regal de la meva mare el dia en què va néixer. 689 00:32:03,762 --> 00:32:07,630 M'encanta perquè és escombraries. 690 00:32:07,630 --> 00:32:11,570 >> Oh, m'encanta les escombraries. 691 00:32:11,570 --> 00:32:15,512 Qualsevol cosa bruta, o brut, o polsegós. 692 00:32:15,512 --> 00:32:20,200 Qualsevol cosa irregular o podrida o oxidat. 693 00:32:20,200 --> 00:32:23,856 Sí, m'encanta les escombraries. 694 00:32:23,856 --> 00:32:26,246 Heus aquí algunes coses més podrit. 695 00:32:26,246 --> 00:32:28,240 Aquests són alguns newspaper-- 696 00:32:28,240 --> 00:32:28,889 >> [FI DE REPRODUCCIÓ] 697 00:32:28,889 --> 00:32:30,680 DAVID J. Malan: ¿Hi ha en realitat compostable. 698 00:32:30,680 --> 00:32:32,790 Però gràcies al nostre voluntari, Angela. 699 00:32:32,790 --> 00:32:37,920 Tenim una pilota antiestrès per a vostè aquí també. 700 00:32:37,920 --> 00:32:38,790 Així que gràcies. 701 00:32:38,790 --> 00:32:40,250 >> Així que aquest va ser escrit per mi. 702 00:32:40,250 --> 00:32:44,324 Però ara un per un exalumne real qui implementat això, que és un joc. 703 00:32:44,324 --> 00:32:46,490 Tot en aquesta llengua anomenada Scratch, que aviat 704 00:32:46,490 --> 00:32:47,850 pelar les capes de. 705 00:32:47,850 --> 00:32:49,940 Però si haguéssim com-- com sobre un altre voluntari? 706 00:32:49,940 --> 00:32:50,440 Dreta. 707 00:32:50,440 --> 00:32:50,970 >> Anem cap amunt. 708 00:32:50,970 --> 00:32:52,070 Com et dius? 709 00:32:52,070 --> 00:32:52,570 Cop d'ull? 710 00:32:52,570 --> 00:32:53,280 Lance. 711 00:32:53,280 --> 00:32:54,082 Lance, anem cap amunt. 712 00:32:54,082 --> 00:32:54,790 Encantat de conéixer-te. 713 00:32:54,790 --> 00:32:56,170 Anem d'aquesta manera. 714 00:32:56,170 --> 00:32:59,940 Així que aquest podria tenir un tema familiar per a alguns de vosaltres. 715 00:32:59,940 --> 00:33:02,180 Però veuràs també que no pot haver interactivitat, 716 00:33:02,180 --> 00:33:05,242 pel qual vostè podria ser en realitat el paper del personatge en moviment. 717 00:33:05,242 --> 00:33:05,950 Encantat de conéixer-te. 718 00:33:05,950 --> 00:33:06,470 En David. 719 00:33:06,470 --> 00:33:10,464 >> Jo us dono, Pikachu. 720 00:33:10,464 --> 00:33:12,380 Instruccions vulguis sobre venir a la pantalla. 721 00:33:12,380 --> 00:33:16,070 Però en fi, vostè va a voler atrapar les coses saboroses, 722 00:33:16,070 --> 00:33:18,827 i evitar les bombes i altres coses. 723 00:33:18,827 --> 00:33:19,910 Amb els cursors enterament. 724 00:33:19,910 --> 00:33:21,320 Així que premeu la barra d'espai. 725 00:33:21,320 --> 00:33:21,820 -Pikachu. 726 00:33:21,820 --> 00:33:23,480 DAVID J. Malan: Catch les coses de l'esquerra, 727 00:33:23,480 --> 00:33:24,938 no prendre les coses a la dreta. 728 00:33:24,938 --> 00:33:27,576 729 00:33:27,576 --> 00:34:44,540 >> [REPRODUCCIÓ DE MÚSICA] 730 00:34:44,540 --> 00:34:46,332 >> Així que un últim aquí. 731 00:34:46,332 --> 00:34:48,040 Si poguéssim tenir-ne un més voluntaris aquí. 732 00:34:48,040 --> 00:34:50,760 Pensem que havíem recrear alguna cosa de-- al shirt-- groga 733 00:34:50,760 --> 00:34:53,110 a partir de dimecres. 734 00:34:53,110 --> 00:34:54,540 Quin és el teu nom? 735 00:34:54,540 --> 00:34:57,090 Maria, anem a Maria. 736 00:34:57,090 --> 00:35:01,340 >> I recordo el dimecres vam introduir la noció de binari, i les bombetes binaris. 737 00:35:01,340 --> 00:35:03,930 Això és en realitat ara 1 aplicació d'aquesta mateixa interfície 738 00:35:03,930 --> 00:35:07,360 que teníem en l'iPad amb la llum bulbs, però aquí processada digitalment. 739 00:35:07,360 --> 00:35:11,220 I en lloc de fer un esforç ball-- plaer conèixer-te, David. 740 00:35:11,220 --> 00:35:14,600 Vam portar algunes llum bombetes de Cambridge. 741 00:35:14,600 --> 00:35:18,650 >> Si pot, en fer clic als bombetes per convertir-los encès i apagat, 742 00:35:18,650 --> 00:35:29,510 pujar amb el binari representació de, diguem, 256. 743 00:35:29,510 --> 00:35:32,500 I veuràs al mitjà, el compte corrent. 744 00:35:32,500 --> 00:35:33,690 Així que un està. 745 00:35:33,690 --> 00:35:34,810 Així que el bit més a l'esquerra està encesa. 746 00:35:34,810 --> 00:35:36,016 >> MARY: Sí, [inaudible] 747 00:35:36,016 --> 00:35:39,292 748 00:35:39,292 --> 00:35:41,280 >> DAVID J. Malan: Bé, així que tenim sol-- oh. 749 00:35:41,280 --> 00:35:42,780 Així que aquesta és la columna 128. 750 00:35:42,780 --> 00:35:44,460 Així que estem fins a 128. 751 00:35:44,460 --> 00:35:46,769 Hem d'arribar a 256. 752 00:35:46,769 --> 00:35:48,560 I vostè pot jugar en i fora, no és gran cosa. 753 00:35:48,560 --> 00:35:53,700 O vostè pot colpejar aquest 128 més vegades si volen. 754 00:35:53,700 --> 00:35:56,310 >> Molt bé, molt bé. 755 00:35:56,310 --> 00:35:58,090 24. 756 00:35:58,090 --> 00:35:59,790 Sí, cada cop més a prop. 757 00:35:59,790 --> 00:36:02,105 Més a prop! 758 00:36:02,105 --> 00:36:05,980 Oh, quin és el problema llavors? 759 00:36:05,980 --> 00:36:07,510 Llavors, quin és el problema? 760 00:36:07,510 --> 00:36:10,040 >> Llavors, què és el que necessitem resoldre aquest problema? 761 00:36:10,040 --> 00:36:11,060 Així que necessitem una mica. 762 00:36:11,060 --> 00:36:12,770 I això és perfectament raonable, en realitat, no? 763 00:36:12,770 --> 00:36:15,800 Si desitja comptar a partir del nombre 1-2 a 3 a 4 a 5, 6, 7, 8, 9 764 00:36:15,800 --> 00:36:18,880 per rodar en realitat a 10, ets necessitarà un bit addicional. 765 00:36:18,880 --> 00:36:21,240 Així que anem a realitat rebobinar aquí, i arribar 766 00:36:21,240 --> 00:36:23,790 con-- que era, òbviament, pretén ser una posada a punt. 767 00:36:23,790 --> 00:36:25,590 >> No es pot fer 256 amb només una bombeta. 768 00:36:25,590 --> 00:36:29,290 Així que què hi ha de simplement el número 50? 769 00:36:29,290 --> 00:36:29,977 Número 50. 770 00:36:29,977 --> 00:36:34,550 771 00:36:34,550 --> 00:36:35,100 Excel·lent. 772 00:36:35,100 --> 00:36:39,050 Un gran aplaudiment de Maria i d'ella també. 773 00:36:39,050 --> 00:36:41,840 Gràcies. 774 00:36:41,840 --> 00:36:45,570 >> Així que aquest topic-- intencional com que era-- realment repetir-se. 775 00:36:45,570 --> 00:36:50,020 El valor més gran que pugui representar amb vuit bits o un byte, 776 00:36:50,020 --> 00:36:51,750 és de fet 256. 777 00:36:51,750 --> 00:36:55,770 Però no si s'inicia comptant des de 0, com hem 778 00:36:55,770 --> 00:36:58,060 semblen seguir fent per tenir tots aquests trossets de descans. 779 00:36:58,060 --> 00:37:01,530 Però ara anem a bussejar en el subjacent implementació d'aquest entorn, 780 00:37:01,530 --> 00:37:03,200 i esmicolar algunes d'aquestes idees. 781 00:37:03,200 --> 00:37:06,350 >> Així que en un moment en què estem a punt de veure una alguns diversos fonaments de programació. 782 00:37:06,350 --> 00:37:08,080 El primer dels quals anem a cridar comunicat. 783 00:37:08,080 --> 00:37:09,360 Classificar els verbs, si es vol. 784 00:37:09,360 --> 00:37:09,960 Accions. 785 00:37:09,960 --> 00:37:11,180 Les coses que s'han de fer. 786 00:37:11,180 --> 00:37:13,430 >> I en un moment veuràs blocs que es veuen així. 787 00:37:13,430 --> 00:37:14,940 Digueu "hola món", per exemple. 788 00:37:14,940 --> 00:37:16,330 O esperar un segon. 789 00:37:16,330 --> 00:37:17,834 O jugar miol so. 790 00:37:17,834 --> 00:37:20,500 I de fet el medi ambient en que estarem fent això 791 00:37:20,500 --> 00:37:21,610 es diu Scratch. 792 00:37:21,610 --> 00:37:25,060 >> I si em llevo sense ratllades precàrrega cap codi real, 793 00:37:25,060 --> 00:37:27,830 anem a fer un ràpid cop d'ull a aquest interfície d'usuari, per així dir-ho. 794 00:37:27,830 --> 00:37:29,730 Els controls amb els quals interactuen. 795 00:37:29,730 --> 00:37:32,840 A la part superior esquerra d'aquí de la pantalla, sota dels menús, 796 00:37:32,840 --> 00:37:34,650 tenim l'escenari, per així dir-ho. 797 00:37:34,650 --> 00:37:36,550 Així Scratch és el que anomenarem Sprite. 798 00:37:36,550 --> 00:37:37,520 És un personatge. 799 00:37:37,520 --> 00:37:40,660 >> I pot ser controlat per escriure programes en contra seva. 800 00:37:40,660 --> 00:37:43,950 I que va ser capaç de moure cap amunt i cap avall ia l'esquerra i la dreta en aquest entorn, 801 00:37:43,950 --> 00:37:46,075 no només movent el ratolí, però mitjançant programació. 802 00:37:46,075 --> 00:37:48,930 Puc dir-li a caminar dret, a peu esquerra, amunt, avall o similars. 803 00:37:48,930 --> 00:37:51,440 I puc introduir una altra sprites o personatges també. 804 00:37:51,440 --> 00:37:54,616 >> De fet, en el fons aquí és on veuràs la llista de sprites. 805 00:37:54,616 --> 00:37:56,865 De moment, només tinc un, però puc crear més, 806 00:37:56,865 --> 00:37:58,880 i van a aparèixer exactament allà baix. 807 00:37:58,880 --> 00:38:02,630 Així que si es rebobina per un moment, igual que Oscartime-- per exemple, Oscar, 808 00:38:02,630 --> 00:38:04,590 a l'esquerra, les escombraries pot, era un sprite. 809 00:38:04,590 --> 00:38:07,450 I la cosa en el medi, la Paperera de reciclatge, va ser un altre element sprite. 810 00:38:07,450 --> 00:38:09,300 I el cub de compostatge va ser un altre element sprite. 811 00:38:09,300 --> 00:38:11,790 I cada tros de escombraries o reciclables 812 00:38:11,790 --> 00:38:14,590 que queia des del cel és també un sprite, cadascun dels quals 813 00:38:14,590 --> 00:38:16,150 va ser programada individualment. 814 00:38:16,150 --> 00:38:17,040 >> Com es programa? 815 00:38:17,040 --> 00:38:20,180 Bé, aquí a la dreta costat és l'àrea de scripts. 816 00:38:20,180 --> 00:38:22,930 I aquí és on podem arrossegar i deixar anar les peces del trencaclosques. 817 00:38:22,930 --> 00:38:26,066 En una setmana, que serà on equivalentment escrivim codi 818 00:38:26,066 --> 00:38:28,940 amb més d'un teclat, però per Avui serà arrossegant i deixant anar 819 00:38:28,940 --> 00:38:31,680 peces del trencaclosques, la paletes per al qual tots poden 820 00:38:31,680 --> 00:38:33,190 es troben aquí al centre. 821 00:38:33,190 --> 00:38:35,190 De fet, al centre aquí hi ha un munt 822 00:38:35,190 --> 00:38:37,910 de les categories de trencaclosques peces o blocs. 823 00:38:37,910 --> 00:38:42,500 Un està relacionat amb el moviment, mira, so, una ploma que pugen i baixen, 824 00:38:42,500 --> 00:38:43,860 dades, esdeveniments controlen. 825 00:38:43,860 --> 00:38:45,654 No del tot segur encara el que tot això significa, 826 00:38:45,654 --> 00:38:47,820 però veuràs que ells han estat molt ben classificat. 827 00:38:47,820 --> 00:38:50,680 I per escriure un programa en Scratch, farem exactament això. 828 00:38:50,680 --> 00:38:53,480 >> Vaig a començar sota Esdeveniments i arrosseguen aquest d'aquí. 829 00:38:53,480 --> 00:38:55,470 Quan la bandera verda va fer clic. 830 00:38:55,470 --> 00:38:56,704 Ara, per que un? 831 00:38:56,704 --> 00:38:59,120 Bo recordar que els nostres voluntaris es va acostar, el primer que 832 00:38:59,120 --> 00:39:02,017 o el que van fer va ser fer clic a aquest verd bandera a la cantonada superior dreta. 833 00:39:02,017 --> 00:39:03,600 I això només significa iniciar el programa. 834 00:39:03,600 --> 00:39:06,560 >> Així que quan aquest esdeveniment passa, ¿Què és el que vull fer? 835 00:39:06,560 --> 00:39:10,070 Vaig a passar per sota de les mirades, i jo faré "saludar". 836 00:39:10,070 --> 00:39:14,000 I jo vaig a canviar això i dir alguna cosa com "hola Yale." 837 00:39:14,000 --> 00:39:16,970 I ara em vaig a enfocar sortir, feu clic a la bandera verda, 838 00:39:16,970 --> 00:39:19,050 i llest, he escrit un programa. 839 00:39:19,050 --> 00:39:20,990 No tot és tan emocionant de moment, però això 840 00:39:20,990 --> 00:39:23,195 és exactament on cada dels que va començar autor, 841 00:39:23,195 --> 00:39:25,740 tots dos amb Pikachu i el bombetes binaris i oscartime, 842 00:39:25,740 --> 00:39:26,890 i així molts més exemples. 843 00:39:26,890 --> 00:39:29,150 >> Comences super simple, i llavors comences a capa, 844 00:39:29,150 --> 00:39:31,046 i afegir característiques i funcionalitat. 845 00:39:31,046 --> 00:39:32,920 Llavors, què són aquestes capes consistirà? 846 00:39:32,920 --> 00:39:36,086 Bé, més enllà de les declaracions, també anem a tenir les coses que són poc més fancily 847 00:39:36,086 --> 00:39:38,910 crida de Boole Expressions, després que algú anomenat Bool. 848 00:39:38,910 --> 00:39:42,820 I una expressió booleana és simplement una expressió que és vertader o fals, 849 00:39:42,820 --> 00:39:45,740 sí o no, 1 o 0. 850 00:39:45,740 --> 00:39:47,480 >> Qualsevol pols oposats com aquestes. 851 00:39:47,480 --> 00:39:48,902 És veritable o no. 852 00:39:48,902 --> 00:39:51,360 Però també veurem els que podria tenir aquest aspecte. 853 00:39:51,360 --> 00:39:52,925 Així, per exemple, és el ratolí? 854 00:39:52,925 --> 00:39:54,550 Són una espècie de preguntes, si es vol. 855 00:39:54,550 --> 00:39:57,650 >> El ratolí és ja sigui cap avall, cert o no ho és, fals. 856 00:39:57,650 --> 00:39:59,990 1 o 0, si es vol, tendeix a ser l'assignació. 857 00:39:59,990 --> 00:40:01,740 Cert és 1, fals és 0. 858 00:40:01,740 --> 00:40:03,740 Bé què passa amb menys d'això? 859 00:40:03,740 --> 00:40:05,400 O això, és que això sigui menys que això? 860 00:40:05,400 --> 00:40:06,650 Aquesta és una pregunta de tipus. 861 00:40:06,650 --> 00:40:09,140 >> I si es posa de dos números en allà, ja sigui x 862 00:40:09,140 --> 00:40:12,010 serà menor que i o igual a i, o més gran que i, 863 00:40:12,010 --> 00:40:14,635 però aquest bloc veurem, és només va respondre a la pregunta, 864 00:40:14,635 --> 00:40:15,810 és que això sigui menys que això? 865 00:40:15,810 --> 00:40:17,650 També podríem veure alguna cosa com això. 866 00:40:17,650 --> 00:40:18,790 Tocar punters del ratolí. 867 00:40:18,790 --> 00:40:21,610 Així que en Scratch, vostè pot demanar la qüestió, és el Sprite 868 00:40:21,610 --> 00:40:22,800 tocar el punter del ratolí? 869 00:40:22,800 --> 00:40:26,040 És a dir, és la que treu el cap el cursor per sobre del límit, o el seu equivalent? 870 00:40:26,040 --> 00:40:28,100 >> Veurem coses Anding junts. 871 00:40:28,100 --> 00:40:30,970 Pot fer dues preguntes, i assegureu-vos que els dos 872 00:40:30,970 --> 00:40:34,920 donar si o respostes veritables abans prendre la decisió de fer alguna cosa. 873 00:40:34,920 --> 00:40:36,709 Però llavors, com prendre decisions? 874 00:40:36,709 --> 00:40:38,000 Bé, tenim aquestes condicions. 875 00:40:38,000 --> 00:40:40,041 >> I vam veure això en la nostra exemple de la guia telefònica. 876 00:40:40,041 --> 00:40:41,900 Mirant cap a l'esquerra o adequat per a Mike Smith. 877 00:40:41,900 --> 00:40:45,140 I en la condició, fer alguna cosa potencialment, 878 00:40:45,140 --> 00:40:47,240 si una expressió booleana és veritable. 879 00:40:47,240 --> 00:40:48,720 >> I, en efecte, observi les formes ara. 880 00:40:48,720 --> 00:40:52,250 Hi ha un marcador de posició en aquest moment en posicions elevades on podem fit-- 881 00:40:52,250 --> 00:40:54,532 si retrocedirà un slide-- aquesta forma. 882 00:40:54,532 --> 00:40:55,740 No és exactament la mateixa mida. 883 00:40:55,740 --> 00:40:58,400 I de fet, veuràs que Rasguño canvia la mida de les coses de forma dinàmica 884 00:40:58,400 --> 00:41:01,479 per encaixar les peces del trencaclosques, però el forma és l'important. 885 00:41:01,479 --> 00:41:03,270 Aquesta cosa sembla que, i de fet és 886 00:41:03,270 --> 00:41:05,410 aproximadament la mateixa manera que ha d'encaixar-hi. 887 00:41:05,410 --> 00:41:09,520 I si volem fer alguna cosa d'aquesta manera o d'aquesta manera, si en cas contrari, 888 00:41:09,520 --> 00:41:12,080 tenim aquest trencaclosques peça en Rasguño també. 889 00:41:12,080 --> 00:41:17,450 >> Ara suposi que desitja fer si, més si, o en cas contrari. 890 00:41:17,450 --> 00:41:20,120 En altres paraules, una de tres vies forquilla a la carretera. 891 00:41:20,120 --> 00:41:22,656 Bé, què pot fer vostè amb només fer una ullada a això? 892 00:41:22,656 --> 00:41:25,030 Puc prendre aquesta peça del trencaclosques, i no sembla encaixar, 893 00:41:25,030 --> 00:41:27,670 però de nou, Scratch va per canviar la mida molt bé per a nosaltres. 894 00:41:27,670 --> 00:41:29,940 Podria començar a capa aquestes coses juntes. 895 00:41:29,940 --> 00:41:32,900 >> Així que ara tinc una de tres vies forquilla si això és cert, fer això. 896 00:41:32,900 --> 00:41:36,560 Perquè si aquesta altra cosa és certa, anar per aquest camí, en cas contrari va aquesta altra manera. 897 00:41:36,560 --> 00:41:39,200 I a El Muppet Movie, la forquilla a la carretera, per així dir-ho, 898 00:41:39,200 --> 00:41:42,610 entre Yale o Stanford, va ser exactament això, només dues condicions. 899 00:41:42,610 --> 00:41:45,190 O bé anar per aquest camí, en cas contrari anar en aquesta direcció. 900 00:41:45,190 --> 00:41:46,940 >> Bé, també bucles d'existir en la programació. 901 00:41:46,940 --> 00:41:49,100 I hem utilitzat aquests ja en classe i en el codi de pseudocodi, 902 00:41:49,100 --> 00:41:51,060 i segurament en els Programes d'Scratch per sempre. 903 00:41:51,060 --> 00:41:53,730 Esgarrapades té aquesta peça del trencaclosques que només deixarà que facis alguna cosa per sempre. 904 00:41:53,730 --> 00:41:55,688 I de vegades un vol fer alguna cosa per sempre. 905 00:41:55,688 --> 00:41:58,810 No és necessàriament un error, és perquè vols un rellotge per seguir endavant, 906 00:41:58,810 --> 00:42:00,730 o un joc per seguir jugant. 907 00:42:00,730 --> 00:42:04,800 O bé, podeu especificar un nombre finit de passos, ja que amb aquest bloc de repetir aquí, 908 00:42:04,800 --> 00:42:06,550 que es repeteixi alguna cosa 10 vegades. 909 00:42:06,550 --> 00:42:08,560 Podem establir variables, aviat veurem. 910 00:42:08,560 --> 00:42:12,300 I amb les variables, similar en esperit l'àlgebra, com x o i o z. 911 00:42:12,300 --> 00:42:16,390 És una cosa simbòlica que pot emmagatzemar algun valor, alguna peça d'informació, 912 00:42:16,390 --> 00:42:18,320 que és possible que vulgueu recordar per més endavant. 913 00:42:18,320 --> 00:42:21,080 >> Millor exemple d'això podria ser un joc on vostè té un compte, 914 00:42:21,080 --> 00:42:22,080 igual que en Pikachu. 915 00:42:22,080 --> 00:42:25,180 Quants trossos de coca i què sé jo què agafes? 916 00:42:25,180 --> 00:42:29,340 Bé, això podria ser una variable anomenat puntuació que comença en 0. 917 00:42:29,340 --> 00:42:32,400 I llavors cada vegada que va atrapar una tros de la coca o dolços, o similars, 918 00:42:32,400 --> 00:42:33,720 que s'incrementa. 919 00:42:33,720 --> 00:42:35,990 Es s'agrega a un alhora. 920 00:42:35,990 --> 00:42:38,450 I les botigues de manera que una variable d'un peça d'informació així. 921 00:42:38,450 --> 00:42:41,450 Després hi ha matrius, i vindrem de nou a ells en una setmana o dues vegades, 922 00:42:41,450 --> 00:42:44,900 però una matriu és com una mena de inventari o una motxilla, a l'interior 923 00:42:44,900 --> 00:42:46,940 dels quals vostè pot posar les coses virtuals. 924 00:42:46,940 --> 00:42:49,852 Et permet emmagatzemar més d'una peça d'informació. 925 00:42:49,852 --> 00:42:51,810 I això podria ser útil si en el joc, ets 926 00:42:51,810 --> 00:42:53,630 espècie de caminar al voltant recollir les coses. 927 00:42:53,630 --> 00:42:55,879 I potser esteu a tots aquests trossos de coca 928 00:42:55,879 --> 00:42:58,260 res més, i no només menjar un darrere l'altre. 929 00:42:58,260 --> 00:43:00,010 I després hi ha un construcció columbòfil anem 930 00:43:00,010 --> 00:43:02,932 arribat a trucades funcions o procediments. 931 00:43:02,932 --> 00:43:04,640 I encara anem més ràpid aquí, anem a 932 00:43:04,640 --> 00:43:07,345 veure que es tracta d'un solució natural als problemes 933 00:43:07,345 --> 00:43:08,470 que anem trobada. 934 00:43:08,470 --> 00:43:10,220 Com comencen els nostres programes cada vegada més gran que anem a 935 00:43:10,220 --> 00:43:12,640 començar a notar patrons en el codi que estem escrivint, 936 00:43:12,640 --> 00:43:14,556 les peces del trencaclosques que estem arrossegar i deixar anar. 937 00:43:14,556 --> 00:43:18,240 I tan aviat com vostè noti que estàs fent alguna cosa una i altra vegada, o pitjor encara 938 00:43:18,240 --> 00:43:21,400 copiar i enganxar la programació codi que vostè ha escrit, 939 00:43:21,400 --> 00:43:23,612 això és probablement una oportunitat per a factoritzar 940 00:43:23,612 --> 00:43:25,820 el que manté la còpia i enganxar, i posant- 941 00:43:25,820 --> 00:43:27,430 en una cosa que es diu una "funció". 942 00:43:27,430 --> 00:43:29,690 Però més en aquells en molt més detall en poc temps. 943 00:43:29,690 --> 00:43:31,314 >> I després hi ha característiques fins i tot més elegant. 944 00:43:31,314 --> 00:43:34,100 Per a aquells de vostès més còmode, o prendre APCS o equivalent, 945 00:43:34,100 --> 00:43:37,600 Rasguño realment dóna suport coses com fils i esdeveniments i molt més. 946 00:43:37,600 --> 00:43:39,840 Així que adonar-se que té bastant alt sostre, 947 00:43:39,840 --> 00:43:42,540 tot i que també és molt àmpliament accessible a la gent 948 00:43:42,540 --> 00:43:44,460 que mai han programat abans. 949 00:43:44,460 --> 00:43:47,130 Així que de fet, anem a fer una ullada en un programa simple o dos. 950 00:43:47,130 --> 00:43:49,920 >> Ja mirem com podria saludar amb Scratch. 951 00:43:49,920 --> 00:43:52,800 Déjame anar per davant i obrir un petit programa més interessant 952 00:43:52,800 --> 00:43:54,100 que vaig escriure amb antelació. 953 00:43:54,100 --> 00:43:56,430 I d'aquest anomenat Pet el Gat. 954 00:43:56,430 --> 00:43:58,954 Tots aquests programes hi haurà disponible a la pàgina web de l'CS50. 955 00:43:58,954 --> 00:43:59,870 De fet, ja hi és. 956 00:43:59,870 --> 00:44:01,190 >> Així que vostè pot descarregar ells, i juguen amb ells, 957 00:44:01,190 --> 00:44:03,850 i amb la de problemes 0, el que també està a la pàgina web del curs, 958 00:44:03,850 --> 00:44:05,516 és recomanable que caminar a través d'aquests. 959 00:44:05,516 --> 00:44:07,820 I d'altra banda, tenim una nombre de vídeos walk-through 960 00:44:07,820 --> 00:44:10,951 línia en què I i L'equip de CS50 veritablement caminar 961 00:44:10,951 --> 00:44:14,200 a través de cada un d'aquests exemples en un molt ritme més lent, 1 remitible molt ràpid, 962 00:44:14,200 --> 00:44:18,530 o ritme rebobinable, de manera que vostè pot caminar a través d'aquests en el seu temps lliure també. 963 00:44:18,530 --> 00:44:20,330 Així que aquí està rascada a l'esquerra. 964 00:44:20,330 --> 00:44:22,920 Heus aquí un programa de la dreta que ja he pre-fets. 965 00:44:22,920 --> 00:44:24,880 Així que permetin-me zoom en això. 966 00:44:24,880 --> 00:44:28,780 I podria algú en anglès, sabent el que ja saps, a partir d'ara com 967 00:44:28,780 --> 00:44:31,650 a com funciona el principi, una mena de, diguem, en una frase d'Anglès o de la pena, 968 00:44:31,650 --> 00:44:35,450 ¿Què fa aquest programa aparentment fer? 969 00:44:35,450 --> 00:44:36,836 >> Sí, en camisa taronja. 970 00:44:36,836 --> 00:44:40,804 >> AUDIÈNCIA: [inaudible] 971 00:44:40,804 --> 00:44:41,796 972 00:44:41,796 --> 00:44:44,980 >> DAVID J. Malan: Sí, si el seu cursor està en el esgarrinxada de gat, 973 00:44:44,980 --> 00:44:46,220 reproduir un so miolant. 974 00:44:46,220 --> 00:44:47,870 Però notem com expressem això. 975 00:44:47,870 --> 00:44:49,980 No hi ha pel que sembla una bucle d'allà, per sempre. 976 00:44:49,980 --> 00:44:53,000 I després hi ha un condicions, l'expressió if. 977 00:44:53,000 --> 00:44:55,090 I col·lectivament, què volen dir aquests? 978 00:44:55,090 --> 00:44:57,210 Significa aquest programa s'acaba sempre corrent, 979 00:44:57,210 --> 00:44:59,510 i que només sempre està esperant i veure i escoltar 980 00:44:59,510 --> 00:45:01,730 per a mi per moure el cursor sobre el gat. 981 00:45:01,730 --> 00:45:04,810 >> Com que cada vegada que faig això, com vostè proposa, que va a fer això. 982 00:45:04,810 --> 00:45:06,475 Permetin-me començar el programa. 983 00:45:06,475 --> 00:45:08,350 Res sembla ser passant, notar com 984 00:45:08,350 --> 00:45:10,152 es va posar en relleu ara en una línia groga. 985 00:45:10,152 --> 00:45:11,360 Això només vol dir que s'està executant. 986 00:45:11,360 --> 00:45:13,770 I perquè hi ha un per sempre llaç, encara en funcionament. 987 00:45:13,770 --> 00:45:19,610 >> Així que permetin-me moc el cursor sobre Scratch. [Miol] [miol] I si em mut ho d'adobar, 988 00:45:19,610 --> 00:45:25,444 [Miol] ara que s'aturi, però el programa de encara en marxa. [Miol] I així, adorable. 989 00:45:25,444 --> 00:45:28,550 [Miol] Així que anem a obrir una mica més avançat 990 00:45:28,550 --> 00:45:32,620 exemple trucada No acaroni el Gat. 991 00:45:32,620 --> 00:45:35,805 >> I ara anem a veure què que passa aquí. Meowing [miol]. 992 00:45:35,805 --> 00:45:39,297 Així que és una mica en pilot automàtic, si es vol. 993 00:45:39,297 --> 00:45:39,880 --pet el gat. 994 00:45:39,880 --> 00:45:42,820 Em pregunto per què. 995 00:45:42,820 --> 00:45:45,389 [ROAR] [miol] Llavors, com funciona? 996 00:45:45,389 --> 00:45:47,930 Bé, vostè pot tipus de raó a través d'ell de manera intuïtiva, potser. 997 00:45:47,930 --> 00:45:49,346 >> Però anem a veure el codi real. 998 00:45:49,346 --> 00:45:51,819 Així que de nou, quan la bandera verda es fa clic, fer-ho per sempre. 999 00:45:51,819 --> 00:45:53,110 Què és el que vols fer per sempre? 1000 00:45:53,110 --> 00:45:56,150 Bé, si commovedora ratolí punter, llavors el joc 1001 00:45:56,150 --> 00:46:00,270 un so que pel que sembla diu Lleó 5, això és dins d'aquest projecte, en cas contrari 1002 00:46:00,270 --> 00:46:03,010 jugar miol so, i després esperar dos segons, de manera que 1003 00:46:03,010 --> 00:46:04,510 que no està miolant sense parar. 1004 00:46:04,510 --> 00:46:07,650 De fet, vostè pot començar molt ràpidament per molestar a tu mateix i els teus companys de pis. 1005 00:46:07,650 --> 00:46:08,690 >> Anem a treure aquest bloc. 1006 00:46:08,690 --> 00:46:10,580 I noti el que és bo d'Scratch. 1007 00:46:10,580 --> 00:46:13,070 Les coses simplement espècie d'arrossegament i deixar anar i el enclavament. 1008 00:46:13,070 --> 00:46:14,980 Així que de nou, creix a omplir el que vols. 1009 00:46:14,980 --> 00:46:20,118 Però si em trec això, i després reeixida obra, [ORDINADOR Blip SO] 1010 00:46:20,118 --> 00:46:22,904 >> --és una espècie d'ensopegar sí, perquè és, literalment, 1011 00:46:22,904 --> 00:46:23,820 fent el que estic dient. 1012 00:46:23,820 --> 00:46:27,080 S'està dient sempre jugar a aquest so, però Jo no estic donant l'oportunitat d'acabar. 1013 00:46:27,080 --> 00:46:28,205 I pel que seria un error. 1014 00:46:28,205 --> 00:46:30,700 I és per això que vam tenir aquesta cosa d'aquí ara. 1015 00:46:30,700 --> 00:46:34,030 Així que anem a realment començar des scratch-- mena de joc de paraules poc intended-- 1016 00:46:34,030 --> 00:46:36,450 en el qual ara tenim el moviment gat. 1017 00:46:36,450 --> 00:46:38,130 >> Així que em vaig a fer això sobre la marxa. 1018 00:46:38,130 --> 00:46:40,910 Vaig a fer un zoom aquí, només que em va començar a Esdeveniments. 1019 00:46:40,910 --> 00:46:42,000 I bandera verda va fer clic. 1020 00:46:42,000 --> 00:46:43,410 I hi ha altres maneres per iniciar els scripts. 1021 00:46:43,410 --> 00:46:44,920 Anem a mantenir simple aquí. 1022 00:46:44,920 --> 00:46:48,049 >> I ara em vaig a anar endavant i passar per sota de control. 1023 00:46:48,049 --> 00:46:50,590 I de nou, si s'oblida d'on les coses estan, simplement feu clic a la tornada, 1024 00:46:50,590 --> 00:46:52,048 i, finalment, a trobar de nou. 1025 00:46:52,048 --> 00:46:53,680 Així que el que vull fer sempre el que? 1026 00:46:53,680 --> 00:46:58,650 Vull utilitzar el bloc de moviment que sé que existeix, es mou 10 passes. 1027 00:46:58,650 --> 00:47:02,016 >> Així que anem a veure què passa aquí si joc aquest joc. 1028 00:47:02,016 --> 00:47:03,390 Per sort no va massa lluny. 1029 00:47:03,390 --> 00:47:05,190 Encara puc tipus de agafar- per la cua i estirar-lo cap enrere. 1030 00:47:05,190 --> 00:47:07,860 Però el programa segueix funcionant, pel que és una espècie de lluita contra mi. 1031 00:47:07,860 --> 00:47:10,870 Però seria una mica agradable si condicionalment arreglar això en el codi. 1032 00:47:10,870 --> 00:47:12,800 >> A causa que aquest és no-- En realitat això és realment 1033 00:47:12,800 --> 00:47:15,770 no és un joc divertit per a qualsevol persona de qualsevol edat. 1034 00:47:15,770 --> 00:47:18,915 Així que anem a tractar de fer això tenir algun tipus de condicions. 1035 00:47:18,915 --> 00:47:21,670 Així que em vaig a anar sota Control i, a continuació, si. 1036 00:47:21,670 --> 00:47:22,660 M'agrada aquesta idea. 1037 00:47:22,660 --> 00:47:27,470 Així que després de moure 10 passos, si: m'ho dius a mi percebo on sóc. 1038 00:47:27,470 --> 00:47:30,799 Vaig a passar per sota de detecció, i després es veu que puc anar aquí. 1039 00:47:30,799 --> 00:47:31,840 remar als partits de forma. 1040 00:47:31,840 --> 00:47:34,380 >> La mida no, però és creixerà per omplir. 1041 00:47:34,380 --> 00:47:35,984 I ara això és un petit menú. 1042 00:47:35,984 --> 00:47:38,650 I ara ratolí pointer-- no ho faig volen el ratolí, vull que la vora. 1043 00:47:38,650 --> 00:47:41,700 Així Scratch és prou intel·ligent com per saber quan un sprite està tocant la vora. 1044 00:47:41,700 --> 00:47:44,360 Què és el que vull que faci realitat? 1045 00:47:44,360 --> 00:47:46,025 >> Déjame anar endavant i canviar de marxa. 1046 00:47:46,025 --> 00:47:46,940 Tu saps que? 1047 00:47:46,940 --> 00:47:49,242 Vaig a comptar amb ell la tornada. 1048 00:47:49,242 --> 00:47:51,200 Així que als 15 graus no és realment m'ajudarà. 1049 00:47:51,200 --> 00:47:53,990 Vull que la tornada i anar a un altre costat. 1050 00:47:53,990 --> 00:47:57,740 >> Així que anem a veure què passa aquí, si em va colpejar Juga ara. 1051 00:47:57,740 --> 00:48:01,520 OK, tipus d'aspecte estúpid, però que està fent exactament el que vaig dir. 1052 00:48:01,520 --> 00:48:03,540 I és que gira tot el sprite. 1053 00:48:03,540 --> 00:48:04,900 Ara resulta que puc arreglar això. 1054 00:48:04,900 --> 00:48:06,691 I jo no sé com per solucionar aquest problema al principi. 1055 00:48:06,691 --> 00:48:09,190 Jo com que havia de futz voltant i veure la millor manera de fer això. 1056 00:48:09,190 --> 00:48:12,630 Però si vaig A-- veurem, el moviment. 1057 00:48:12,630 --> 00:48:14,050 Oh, em vaig trobar amb això. 1058 00:48:14,050 --> 00:48:15,660 En realitat, Set Estil Rotació. 1059 00:48:15,660 --> 00:48:18,431 Esquerra, dreta, o no rotar, o per tot arreu. 1060 00:48:18,431 --> 00:48:19,930 I resulta que és el que vull. 1061 00:48:19,930 --> 00:48:22,920 I jo vaig a posar això no és el meu llaç, perquè jo no necessito fixar 1062 00:48:22,920 --> 00:48:24,487 l'estil rotació múltiples vegades. 1063 00:48:24,487 --> 00:48:27,570 Vaig posar-lo en la part superior de la aquest programa de manera que s'estableix una vegada, 1064 00:48:27,570 --> 00:48:28,670 i després recorda. 1065 00:48:28,670 --> 00:48:30,340 I ara vaig a provar aquest nou. 1066 00:48:30,340 --> 00:48:32,520 Permetin-me aturar-me programa. 1067 00:48:32,520 --> 00:48:34,050 >> I ara que fixa aquest error. 1068 00:48:34,050 --> 00:48:35,700 Així que estic iterativa millorar en això. 1069 00:48:35,700 --> 00:48:37,900 El programa és aconseguir un poc més complex i més gran, 1070 00:48:37,900 --> 00:48:40,810 però m'estic prenent passos de bebè per així dir-ho, i mossos petits fora del problema 1071 00:48:40,810 --> 00:48:42,010 per aconseguir millor i millor. 1072 00:48:42,010 --> 00:48:43,260 Però això també, és una mena de coixos. 1073 00:48:43,260 --> 00:48:43,900 >> Tu saps que? 1074 00:48:43,900 --> 00:48:49,860 Demanaria a algú amb una molt bona, veu espantosa com per arribar? 1075 00:48:49,860 --> 00:48:51,210 Algú amb una veu. 1076 00:48:51,210 --> 00:48:54,070 1077 00:48:54,070 --> 00:48:54,570 Uh, sí. 1078 00:48:54,570 --> 00:48:55,550 Anem cap amunt. 1079 00:48:55,550 --> 00:48:57,990 A la camisa verda. 1080 00:48:57,990 --> 00:49:01,530 >> Així que resulta que hi ha alguna altra diversió coses, l'estètica i sons per igual. 1081 00:49:01,530 --> 00:49:02,290 Aquí està el miol. 1082 00:49:02,290 --> 00:49:04,000 Faig clic a la pestanya Sons. 1083 00:49:04,000 --> 00:49:08,730 [Miol] No és el miol. [Miol] [miol] [Miol] --actually gravar alguna cosa 1084 00:49:08,730 --> 00:49:10,310 de la nostra pròpia aquí. 1085 00:49:10,310 --> 00:49:13,120 >> Així que farem exactament això. 1086 00:49:13,120 --> 00:49:17,670 En lloc d'utilitzar aquest so gat, anem a endavant aquí, i quin és el teu nom? 1087 00:49:17,670 --> 00:49:18,850 Nick, un plaer conèixer-te. 1088 00:49:18,850 --> 00:49:19,350 És David. 1089 00:49:19,350 --> 00:49:21,474 Així que en un moment, vaig per colpejar el botó de gravació. 1090 00:49:21,474 --> 00:49:23,240 I si pots simplement cridar al portàtil, 1091 00:49:23,240 --> 00:49:26,140 "ouch", com si acaba d'entrar a la paret, 1092 00:49:26,140 --> 00:49:28,180 que serà molt apreciat. 1093 00:49:28,180 --> 00:49:29,660 1, 2. 1094 00:49:29,660 --> 00:49:31,470 >> NICK: Ai! 1095 00:49:31,470 --> 00:49:32,470 DAVID J. Malan: Awesome. 1096 00:49:32,470 --> 00:49:34,410 I ara es pot fer una mica d'edició aquí. 1097 00:49:34,410 --> 00:49:35,910 L'anar a desfer-se de les parts tranquil·les. 1098 00:49:35,910 --> 00:49:37,000 I crec que això és bo. 1099 00:49:37,000 --> 00:49:37,690 Moltes gràcies. 1100 00:49:37,690 --> 00:49:38,315 >> NICK: Plaer. 1101 00:49:38,315 --> 00:49:43,277 1102 00:49:43,277 --> 00:49:45,110 DAVID J. Malan: No tinc simplement li va canviar el nom "ouch" 1103 00:49:45,110 --> 00:49:46,901 però ara em vaig a tornar als meus guions. 1104 00:49:46,901 --> 00:49:49,810 I fixin-se en efecte, hi ha so aquí. 1105 00:49:49,810 --> 00:49:53,520 I vaig a seguir endavant i reproduir el so ouch, 1106 00:49:53,520 --> 00:49:56,991 i jo vaig a fer que si que està tocant només les vores. 1107 00:49:56,991 --> 00:49:58,740 I després vaig a ha de donar la volta. 1108 00:49:58,740 --> 00:50:00,250 Així que anem a veure el que passa aquí. 1109 00:50:00,250 --> 00:50:01,728 Anem a pantalla completa. 1110 00:50:01,728 --> 00:50:02,394 [REPRODUCCIÓ DE VÍDEO] 1111 00:50:02,394 --> 00:50:03,790 -Ouch! 1112 00:50:03,790 --> 00:50:05,290 Ouch! 1113 00:50:05,290 --> 00:50:06,790 Ouch! 1114 00:50:06,790 --> 00:50:07,790 Ouch! 1115 00:50:07,790 --> 00:50:09,160 Ouch! 1116 00:50:09,160 --> 00:50:10,780 Ouch! 1117 00:50:10,780 --> 00:50:11,587 Ouch! 1118 00:50:11,587 --> 00:50:12,086 Ouch! 1119 00:50:12,086 --> 00:50:12,492 >> [FI DE REPRODUCCIÓ] 1120 00:50:12,492 --> 00:50:14,490 >> DAVID J. Malan: Llavors t'adones que estem posant una mica de sort. 1121 00:50:14,490 --> 00:50:17,110 Vaig a tenir-ho moviment com 100 passos alhora. 1122 00:50:17,110 --> 00:50:21,790 L'efecte que ara es va a ser-- [ORDINADOR glitch SOUND] Així 1123 00:50:21,790 --> 00:50:22,490 dins del que és raonable. 1124 00:50:22,490 --> 00:50:25,470 Així que l'oportunitat de refinar que més si realment volem. 1125 00:50:25,470 --> 00:50:27,340 >> Així que ara anem a introduir un altre concepte. 1126 00:50:27,340 --> 00:50:30,660 Per deixar-me anar en una sola trucada Compte d'ovelles i l'ús una mica 1127 00:50:30,660 --> 00:50:31,610 anomenat una variable. 1128 00:50:31,610 --> 00:50:34,700 Es tracta d'una petita ovella adorable, i He canviat el vestit per així dir-ho. 1129 00:50:34,700 --> 00:50:37,450 Així que, encara que el valor per defecte és un gat, vostè pot carregar, es pot dibuixar, 1130 00:50:37,450 --> 00:50:40,020 vostè pot fer qualsevol nombre de personatges en el teu sprite. 1131 00:50:40,020 --> 00:50:43,740 Heus aquí un programa que és farem el que en anglès? 1132 00:50:43,740 --> 00:50:47,110 >> Basat novament el just el que sap ara. 1133 00:50:47,110 --> 00:50:48,230 Què fer aquest programa? 1134 00:50:48,230 --> 00:50:50,740 1135 00:50:50,740 --> 00:50:53,500 Sí, va explicar. 1136 00:50:53,500 --> 00:50:55,842 Un nombre cada vegada. 1137 00:50:55,842 --> 00:50:57,550 Tenim pel que sembla, tenen aquest comptador conjunt. 1138 00:50:57,550 --> 00:50:59,380 >> No sé el que és això, però potser es tracta d'una variable. 1139 00:50:59,380 --> 00:51:00,740 És només un contenidor, xo i. 1140 00:51:00,740 --> 00:51:04,290 Però la paraula de comptador és més descriptiu que x del matemàtic o i. 1141 00:51:04,290 --> 00:51:06,560 Així que podem fer servir les paraules en anglès per a les coses. 1142 00:51:06,560 --> 00:51:08,490 Sempre, només significa seguir fent això. 1143 00:51:08,490 --> 00:51:10,020 >> Digui taulell. 1144 00:51:10,020 --> 00:51:11,270 Ara, ¿on ha sortit això? 1145 00:51:11,270 --> 00:51:13,240 Bé, resulta que comptador és una variable. 1146 00:51:13,240 --> 00:51:15,645 Així que és només un altre puzle peça que va crear amb antelació. 1147 00:51:15,645 --> 00:51:18,020 I tot i que succeeixi de no ser la mateixa manera aquí, 1148 00:51:18,020 --> 00:51:20,540 normalment diries una mena hola aquí. 1149 00:51:20,540 --> 00:51:23,610 >> També pots arrossegar una variable de manera que això és el aconseguim dir. 1150 00:51:23,610 --> 00:51:26,170 Llavors espero un segon, canviar el comptador en un, 1151 00:51:26,170 --> 00:51:27,940 incrementant per l'addició d'un. 1152 00:51:27,940 --> 00:51:32,407 De manera que l'efecte net és aquesta ovella recompte adorable. 1153 00:51:32,407 --> 00:51:33,615 Tot i que està comptant a si mateix. 1154 00:51:33,615 --> 00:51:36,642 1155 00:51:36,642 --> 00:51:38,350 Ara és molt ràpid va ser avorrit 1156 00:51:38,350 --> 00:51:40,900 perquè ell va a fer això de veritat per sempre, 1157 00:51:40,900 --> 00:51:44,240 però això és exactament el que el El disseny del programa de recepta. 1158 00:51:44,240 --> 00:51:48,090 Tractarem ara un altre exemple que aprofita una variable. 1159 00:51:48,090 --> 00:51:51,140 Aquest anomenat Hola Hola Hola, que no ser molest ràpidament. 1160 00:51:51,140 --> 00:51:52,987 Ara aquest té dos guions. 1161 00:51:52,987 --> 00:51:54,570 I així, un cop més, estem donant passos de nadó. 1162 00:51:54,570 --> 00:51:57,236 >> Comencem amb una mica súper petit, afegit a la mateixa, afegit a la mateixa. 1163 00:51:57,236 --> 00:51:59,750 Ara vull fer alguna cosa encara més dinàmic, 1164 00:51:59,750 --> 00:52:02,950 així que vull estar escoltant per dues coses diferents alhora. 1165 00:52:02,950 --> 00:52:05,420 Així que a l'esquerra, quan bandera verda es fa clic, 1166 00:52:05,420 --> 00:52:08,100 Em vaig posar una variable que vaig escriure amb antelació anomenada silenciat. 1167 00:52:08,100 --> 00:52:09,700 I jo arbitràriament vaig posar a 0. 1168 00:52:09,700 --> 00:52:13,290 Així esgarrapades no té veritable i falsa, però té 0 i 1. 1169 00:52:13,290 --> 00:52:15,270 >> Així que pot aproximar-se a la mateixa idea. 1170 00:52:15,270 --> 00:52:21,110 I després per sempre, si la barra d'espai és pressionat, a continuació, estableixi la variable a 0. 1171 00:52:21,110 --> 00:52:21,810 O ho sento. 1172 00:52:21,810 --> 00:52:25,920 Si es prem l'Espai, i si silenciat, la variable, és 0, 1173 00:52:25,920 --> 00:52:29,950 a continuació, establir silenciat a 1, un altre conjunt silenciat a 0. 1174 00:52:29,950 --> 00:52:32,370 Això sembla una cosa així com estem simplement fent i desfent la feina. 1175 00:52:32,370 --> 00:52:33,130 >> Però quin és l'efecte? 1176 00:52:33,130 --> 00:52:35,588 Cada vegada que em va colpejar la barra d'espai, el que passa al meu variables 1177 00:52:35,588 --> 00:52:38,150 anomenada silenciat, lògicament? 1178 00:52:38,150 --> 00:52:39,100 Una cosa així aconsegueix capgirat. 1179 00:52:39,100 --> 00:52:41,035 Es canvia de 0 a 1, o de 1 a 0. 1180 00:52:41,035 --> 00:52:43,035 Així que va prendre un parell de quadres per expressar això, però tot 1181 00:52:43,035 --> 00:52:47,280 Que estic fent és alternar l'estat de aquesta variable a 0 o 1, o 0 o 1 1182 00:52:47,280 --> 00:52:48,530 cada vegada que em va colpejar la barra d'espai. 1183 00:52:48,530 --> 00:52:49,905 Ara aquí, què està fent això? 1184 00:52:49,905 --> 00:52:53,400 Sempre, si silencia és 0, així que si silenciat és fals. 1185 00:52:53,400 --> 00:52:57,910 Així que si no està silenciat, és el semàntica allà, juguen so lleó marí, 1186 00:52:57,910 --> 00:53:00,810 i pensar hi hi hi per a dos segon, espereu dos segons. 1187 00:53:00,810 --> 00:53:02,710 Així compte ara aquests scripts són efectivament 1188 00:53:02,710 --> 00:53:07,100 va a executar en paral·lel de manera que un pot estar escoltant una acció, l'altre 1189 00:53:07,100 --> 00:53:09,010 per prendre una decisió sobre la base d'aquesta acció. 1190 00:53:09,010 --> 00:53:10,655 I pot fer això per sempre. 1191 00:53:10,655 --> 00:53:12,638 >> [LLEÓ DE MAR Barking] 1192 00:53:12,638 --> 00:53:14,852 >> [LLEÓ DE MAR Barking] 1193 00:53:14,852 --> 00:53:20,050 >> Es va a fer això per sempre i [LLEÓ DE MAR Barking] com jo acabo de fer. 1194 00:53:20,050 --> 00:53:23,010 I ara està encara en marxa però jo tinc "silenciat" el joc. 1195 00:53:23,010 --> 00:53:27,260 [LLEÓ DE MAR Barking] I això és tot aquest tipus fa ara també. 1196 00:53:27,260 --> 00:53:28,660 >> Obrirem un altre exemple aquí. 1197 00:53:28,660 --> 00:53:31,840 Déjame anar a esdeveniments, i ara aquest adorable també. 1198 00:53:31,840 --> 00:53:34,130 Però noti que té dos sprites. 1199 00:53:34,130 --> 00:53:37,520 Així que no només dos guions amb d'un sprite, sinó dos sprites. 1200 00:53:37,520 --> 00:53:40,750 I si faig clic al noi de color blau com jo ja tenen, veig que com un programa 1201 00:53:40,750 --> 00:53:43,790 aquí que, literalment, només diu això, quan rebo un esdeveniment, 1202 00:53:43,790 --> 00:53:45,620 dir "Pol" durant dos segons. 1203 00:53:45,620 --> 00:53:48,460 >> Així que si alguna vegada has jugat en piscina, el joc de Marco Polo, 1204 00:53:48,460 --> 00:53:52,500 si el guió noi taronja és una indicació, pel que sembla, 1205 00:53:52,500 --> 00:53:57,380 cada vegada que em va colpejar la barra d'espai, ¿Quin és el tipus de taronja va a fer? 1206 00:53:57,380 --> 00:53:58,642 Ell dirà "Marc". 1207 00:53:58,642 --> 00:53:59,850 I llavors aquest és un nou bloc. 1208 00:53:59,850 --> 00:54:02,409 No hem vist això abans, però retransmetre un esdeveniment. 1209 00:54:02,409 --> 00:54:04,200 I podria dir- res esdeveniment que volem. 1210 00:54:04,200 --> 00:54:06,033 >> Tornarem a aquest potser en poc temps. 1211 00:54:06,033 --> 00:54:08,410 Però la difusió d'un esdeveniment És una manera per a una Sprite 1212 00:54:08,410 --> 00:54:11,836 parlar amb un altre per essencialment passant-lo a un missatge. 1213 00:54:11,836 --> 00:54:12,960 No és un missatge que es veu. 1214 00:54:12,960 --> 00:54:14,130 No és una cosa visual. 1215 00:54:14,130 --> 00:54:17,370 És una espècie d'un missatge ordinador que l'altre noi està escoltant. 1216 00:54:17,370 --> 00:54:21,210 Perquè de fet, el noi de color blau, el record no té bandera verda quan es fa clic. 1217 00:54:21,210 --> 00:54:23,290 >> El lloc té, quan rebo un esdeveniment. 1218 00:54:23,290 --> 00:54:26,850 Quan ell es va lliurar aquesta nota a la classe, per així dir-ho, ha de dir "Pol". 1219 00:54:26,850 --> 00:54:30,200 I pel que l'efecte net és que quan jo va colpejar la bandera verda, no passa res. 1220 00:54:30,200 --> 00:54:34,940 Però quan vaig arribar a la barra d'espai, diu "Marc", ell respon amb "Pol". 1221 00:54:34,940 --> 00:54:38,350 Però l'única sprites estic interactuar amb és el taronja. 1222 00:54:38,350 --> 00:54:40,980 Així que aquesta és una forma de tipus de passar missatges entre sprites 1223 00:54:40,980 --> 00:54:43,210 i que ells es comuniquen un amb l'altre. 1224 00:54:43,210 --> 00:54:46,280 >> Ara donem una ullada a una última un aquí anomenats fils. 1225 00:54:46,280 --> 00:54:49,370 I notar això per jugar-lo. 1226 00:54:49,370 --> 00:54:51,184 Així que aquests són dos sprites. 1227 00:54:51,184 --> 00:54:52,600 L'au és una espècie de volant voltant. 1228 00:54:52,600 --> 00:54:53,310 Ell està rebotant. 1229 00:54:53,310 --> 00:54:55,890 No hi ha "ouch", però la mateixa idea. 1230 00:54:55,890 --> 00:54:58,230 >> Però el gat sembla molt intel·ligent. 1231 00:54:58,230 --> 00:55:01,010 Quin és el gat aparentment fent? 1232 00:55:01,010 --> 00:55:03,430 I esperar. 1233 00:55:03,430 --> 00:55:05,010 Quin és el gat aparentment fent? 1234 00:55:05,010 --> 00:55:07,740 No es tracta només de rebot. 1235 00:55:07,740 --> 00:55:09,860 >> Està seguint l'au. 1236 00:55:09,860 --> 00:55:13,920 I així, segons sembla, hi ha una manera amb una combinació de blocs aquí-- 1237 00:55:13,920 --> 00:55:15,760 i anem a veure el gat molt ràpid. 1238 00:55:15,760 --> 00:55:20,270 Sempre, si tocar ocell, després jugar el Lleó 4, sigui el que sigui el so. 1239 00:55:20,270 --> 00:55:21,360 Hem escoltat una vegada. 1240 00:55:21,360 --> 00:55:25,431 Altrament, apuntar cap ocell, i moure un sol pas. 1241 00:55:25,431 --> 00:55:27,680 Ara bé, el fet que és un pas és el que li dóna l'ocell 1242 00:55:27,680 --> 00:55:29,850 una mica d'avantatge al principi, però si en el seu lloc 1243 00:55:29,850 --> 00:55:32,980 fer d'aquest 10, per exemple, per la que cada iteració del bucle que està 1244 00:55:32,980 --> 00:55:34,100 en moviment 10 passos de temps. 1245 00:55:34,100 --> 00:55:35,280 Per tant més espai. 1246 00:55:35,280 --> 00:55:36,650 Anem a veure el que passa a continuació. 1247 00:55:36,650 --> 00:55:38,740 [LION ROAR] No tot el que molt millor. 1248 00:55:38,740 --> 00:55:41,460 Així que ara anem a tractar de millorar la a aquests una mica de forma iterativa, 1249 00:55:41,460 --> 00:55:43,330 i tornar a la noció d'una funció. 1250 00:55:43,330 --> 00:55:46,580 >> I, de fet un dels fonamentals menjar per emportar del disseny de la classe. 1251 00:55:46,580 --> 00:55:49,560 No només l'escriptura de programes que funcionen i que són correctes, però estan ben 1252 00:55:49,560 --> 00:55:50,080 dissenyat. 1253 00:55:50,080 --> 00:55:54,349 I el disseny és molt més subjectiu, i vostè aconsegueix millor en el temps. 1254 00:55:54,349 --> 00:55:57,390 Però anem a prendre alguns passos de nadó cap a començant amb un programa que funciona, 1255 00:55:57,390 --> 00:55:59,310 absolutament, però no és molt bo. 1256 00:55:59,310 --> 00:56:00,650 No està molt ben escrit. 1257 00:56:00,650 --> 00:56:03,830 >> Així que aquí hi ha un programa que fa això. 1258 00:56:03,830 --> 00:56:08,060 Tos, tos, tos. 1259 00:56:08,060 --> 00:56:09,880 Què fa el programa sembla? 1260 00:56:09,880 --> 00:56:11,330 Sembla correcte per a mi. 1261 00:56:11,330 --> 00:56:13,370 Està dient sofà per un segon, llavors s'espera. 1262 00:56:13,370 --> 00:56:14,515 >> Llavors diu de nou, llavors s'espera. 1263 00:56:14,515 --> 00:56:16,056 Llavors diu de nou, llavors s'espera. 1264 00:56:16,056 --> 00:56:18,770 I llavors el programa implícitament acaba, perquè no hi ha bucle. 1265 00:56:18,770 --> 00:56:21,325 Però per què és un programa mal escrit? 1266 00:56:21,325 --> 00:56:22,950 Fins i tot si mai has programat abans? 1267 00:56:22,950 --> 00:56:25,240 Igual, el frega la camí equivocat, potser aquí? 1268 00:56:25,240 --> 00:56:26,016 Sí? 1269 00:56:26,016 --> 00:56:29,278 >> AUDIÈNCIA: [inaudible] 1270 00:56:29,278 --> 00:56:29,950 1271 00:56:29,950 --> 00:56:30,950 DAVID J. Malan: Exactament. 1272 00:56:30,950 --> 00:56:32,700 Estàs repetint a tu mateix una i altra vegada. 1273 00:56:32,700 --> 00:56:36,190 I, literalment, He copiat i pegat dos d'aquests blocs i una altra. 1274 00:56:36,190 --> 00:56:39,237 I això és exactament el tipus de seny i comprova que vostè ha de fer. 1275 00:56:39,237 --> 00:56:39,820 Espera un minut. 1276 00:56:39,820 --> 00:56:41,070 He realment estar fent això? 1277 00:56:41,070 --> 00:56:43,610 Llavors, què és això el que és el solució òbvia, potser? 1278 00:56:43,610 --> 00:56:44,680 Tenen algun tipus de llaç. 1279 00:56:44,680 --> 00:56:46,860 I jo recordo no del tot el que la peça del trencaclosques és, 1280 00:56:46,860 --> 00:56:48,810 però si miro el següent iteració aquí, 1281 00:56:48,810 --> 00:56:50,560 de fet, no hi ha només el bucle per sempre, 1282 00:56:50,560 --> 00:56:52,560 no repetir un nombre de vegades. 1283 00:56:52,560 --> 00:56:54,080 I així he especificat 03:00. 1284 00:56:54,080 --> 00:56:57,839 I ara compte del molt més ajustada, com molt més succinta aquest programa és. 1285 00:56:57,839 --> 00:56:59,630 I en cert sentit, com molt més fàcil de mantenir. 1286 00:56:59,630 --> 00:57:02,840 Si vull canviar la paraula de la tos a una altra cosa, 1287 00:57:02,840 --> 00:57:07,530 com achoo, com si estigués esternuts. 1288 00:57:07,530 --> 00:57:09,770 Llavors el canvi en una lloc, i no tres. 1289 00:57:09,770 --> 00:57:12,050 Així que això ja se sent com lleugerament millor disseny. 1290 00:57:12,050 --> 00:57:14,610 Déjame tos lloc obert 2, el nostre tercer exemple. 1291 00:57:14,610 --> 00:57:17,670 >> Observi com un científic de la computació, Començo a comptar a 0, en general. 1292 00:57:17,670 --> 00:57:20,950 Ara bé, això es veu una mica més aterridor en primer, però l'efecte és el mateix. 1293 00:57:20,950 --> 00:57:22,590 Tos, tos, tos. 1294 00:57:22,590 --> 00:57:26,920 Però el que sembla ser, fonamentalment, nou a la part superior del programa? 1295 00:57:26,920 --> 00:57:28,670 He tret la paraula. 1296 00:57:28,670 --> 00:57:29,830 >> He tret l'espera. 1297 00:57:29,830 --> 00:57:32,370 ¿I què tinc jo vaig connectar al seu lloc? 1298 00:57:32,370 --> 00:57:32,890 Una funció. 1299 00:57:32,890 --> 00:57:33,670 Un bloc de la tos. 1300 00:57:33,670 --> 00:57:35,410 Vull dir, francament, em sembla classe d'un idiota si no ho feia només 1301 00:57:35,410 --> 00:57:37,285 començar amb el bloc això és aparentment anomenat 1302 00:57:37,285 --> 00:57:38,894 "tos", si això és tot el que vull que faci. 1303 00:57:38,894 --> 00:57:40,310 Però això no existeix en Scratch. 1304 00:57:40,310 --> 00:57:43,396 Més aviat em vaig anar a la una de la paleta de flama Més Blocs aquí, 1305 00:57:43,396 --> 00:57:46,270 i m'arrossego aquesta gran cosa porpra aquí que em permet definir una funció. 1306 00:57:46,270 --> 00:57:48,240 En essència, em deixa crear el meu propi trencaclosques 1307 00:57:48,240 --> 00:57:51,280 peça que es pot trucar qualsevol cosa que jo volem, que pot fer el que vulgui, 1308 00:57:51,280 --> 00:57:52,360 però li dóna un nom. 1309 00:57:52,360 --> 00:57:57,050 Em fa una nova peça del trencaclosques de color porpra que ara fa el que li dic que faci. 1310 00:57:57,050 --> 00:58:01,060 Així que aquesta peça porpra aquí correspon a aquest d'aquí. 1311 00:58:01,060 --> 00:58:01,960 >> I què fa? 1312 00:58:01,960 --> 00:58:03,930 Diu la tos per a un segons, i després s'espera. 1313 00:58:03,930 --> 00:58:07,330 I ara que he creat una mena de la meva pròpia peça del trencaclosques d'encàrrec, 1314 00:58:07,330 --> 00:58:10,040 de manera que es comporta exactament la mateixa manera. 1315 00:58:10,040 --> 00:58:11,130 Així que puc seguir fent això. 1316 00:58:11,130 --> 00:58:14,421 I, de fet, no hi haurà més i més oportunitats per a la modularització, 1317 00:58:14,421 --> 00:58:16,630 i per l'estratificació, la complexitat a la part superior d'un a l'altre. 1318 00:58:16,630 --> 00:58:18,547 Però aquesta idea bàsica, de fet en el problema va dir 0. 1319 00:58:18,547 --> 00:58:20,338 Què vas a el repte de fer és 1320 00:58:20,338 --> 00:58:23,810 descarregar Scratch, o simplement usar-lo a la web, i divertir-se amb ella. 1321 00:58:23,810 --> 00:58:26,056 Li donarem una sèrie de requisits, que té un so, 1322 00:58:26,056 --> 00:58:27,430 i cert nombre de peces d'un trencaclosques. 1323 00:58:27,430 --> 00:58:28,480 Però que va a fer exactament això. 1324 00:58:28,480 --> 00:58:31,771 I t'adones que vas a voler prendre alguns passos de nadó en un principi, 1325 00:58:31,771 --> 00:58:33,690 fins que el programa es fa cada vegada més complexa. 1326 00:58:33,690 --> 00:58:36,010 Però tenint en compte aquest és el millor manera que podia fer això? 1327 00:58:36,010 --> 00:58:39,210 Puc evitar aquest instint potser, copiar i enganxar? 1328 00:58:39,210 --> 00:58:41,850 >> Però abans de problemes 0, i abans d'aixecar la sessió, 1329 00:58:41,850 --> 00:58:44,980 pensem que seria millor agafar-ne un més voluntaris si poguéssim, 1330 00:58:44,980 --> 00:58:46,820 per a un programa final aquesta és potser la més 1331 00:58:46,820 --> 00:58:49,150 ajust en absolut, donat lloc actual. 1332 00:58:49,150 --> 00:58:50,298 Anem cap avall. 1333 00:58:50,298 --> 00:58:51,234 Sí. 1334 00:58:51,234 --> 00:58:52,170 Sí. 1335 00:58:52,170 --> 00:58:53,431 Com et dius? 1336 00:58:53,431 --> 00:58:53,930 UH oh. 1337 00:58:53,930 --> 00:58:57,820 1338 00:58:57,820 --> 00:58:59,010 Està bé. 1339 00:58:59,010 --> 00:59:01,230 Tots dos vénen a baix. 1340 00:59:01,230 --> 00:59:05,520 I jo tinc s'ocuparà d'això d'alguna manera dins d'aquest pròxims deu segons. 1341 00:59:05,520 --> 00:59:06,550 Així que anem cap avall. 1342 00:59:06,550 --> 00:59:08,370 Anem cap avall. 1343 00:59:08,370 --> 00:59:13,250 >> Déjame entrar a fins aquí. 1344 00:59:13,250 --> 00:59:16,050 Vine. 1345 00:59:16,050 --> 00:59:16,685 Tot bé. 1346 00:59:16,685 --> 00:59:21,360 1347 00:59:21,360 --> 00:59:22,360 Anem a veure aquí. 1348 00:59:22,360 --> 00:59:25,735 Així compte molt ràpid aquí, si vols venir a endavant. 1349 00:59:25,735 --> 00:59:28,650 1350 00:59:28,650 --> 00:59:29,926 >> Farem dues rondes d'això. 1351 00:59:29,926 --> 00:59:30,800 ¿I quin és el teu nom? 1352 00:59:30,800 --> 00:59:31,270 >> SABRINA: Sabrina. 1353 00:59:31,270 --> 00:59:32,060 >> DAVID J. Malan: Sabrina i? 1354 00:59:32,060 --> 00:59:32,622 >> YING GEE: Ying Gee. 1355 00:59:32,622 --> 00:59:33,360 >> DAVID J. Malan: Ying Gee. 1356 00:59:33,360 --> 00:59:34,276 Encantat de conèixer tots dos. 1357 00:59:34,276 --> 00:59:34,970 En David. 1358 00:59:34,970 --> 00:59:38,785 Així que el nostre últim exemple aquí és anomenat joc més difícil d'Ivy. 1359 00:59:38,785 --> 00:59:41,160 I per què no tenim que facis Nivell 1, i vostè fan Nivell 2. 1360 00:59:41,160 --> 00:59:43,350 >> I veurem fins on més enllà que en realitat anem. 1361 00:59:43,350 --> 00:59:45,855 Escrit per un estudiant l'any passat, remesclat per mi 1362 00:59:45,855 --> 00:59:48,840 de manera que això aniria més aviat a New Haven. 1363 00:59:48,840 --> 00:59:53,180 I et dono un joc que va a involucrar moure les fletxes amunt i avall, 1364 00:59:53,180 --> 00:59:55,771 i aconseguir de Yale a la línia de meta. 1365 00:59:55,771 --> 00:59:56,270 Som-hi. 1366 00:59:56,270 --> 00:59:56,759 >> [REPRODUCCIÓ DE VÍDEO] 1367 00:59:56,759 --> 00:59:58,092 >> [MÚSICA - NFL A FOX Theme Song] 1368 00:59:58,092 --> 00:59:59,369 1369 00:59:59,369 --> 01:00:01,160 [MÚSICA - MC HAMMER "U POT NO TOC  AQUESTA "] 1370 01:00:01,160 --> 01:00:04,590 1371 01:00:04,590 --> 01:00:07,900 >> -U No pot tocar això. 1372 01:00:07,900 --> 01:00:11,634 U no pot tocar això. 1373 01:00:11,634 --> 01:00:14,252 No pot tocar això. 1374 01:00:14,252 --> 01:00:19,490 El meu, el meu, la meva, la meva música em colpeja tan dur, em fa dir, oh, senyor. 1375 01:00:19,490 --> 01:00:22,927 Gràcies per bendecirme amb una ment a la rima i dos peus bombo. 1376 01:00:22,927 --> 01:00:24,891 >> Això és bo quan saps que estàs a baix. 1377 01:00:24,891 --> 01:00:26,855 Un Homeboy droga súper Del Oaktown. 1378 01:00:26,855 --> 01:00:31,274 I jo sóc conegut com a tal i això un batec uh, no es pot tocar. 1379 01:00:31,274 --> 01:00:34,672 Et vaig dir que Homeboy U no pot tocar això. 1380 01:00:34,672 --> 01:00:38,656 Sí, això és el que estem vivint i saps U no pot tocar això. 1381 01:00:38,656 --> 01:00:40,135 >> Mireu-me als ulls, l'home. 1382 01:00:40,135 --> 01:00:43,093 U no pot tocar això. 1383 01:00:43,093 --> 01:00:44,572 Jo, deixa bust el funky lletres. 1384 01:00:44,572 --> 01:00:45,363 U no pot tocar això. 1385 01:00:45,363 --> 01:00:46,544 Noves puntades i pantalons frescos. 1386 01:00:46,544 --> 01:00:48,627 >> El tens com aquest i vostè sap que vol ballar. 1387 01:00:48,627 --> 01:00:51,967 Així que moure del seu seient i obtenir una mosca noia i atrapar aquest ritme. 1388 01:00:51,967 --> 01:00:55,911 Mentre s'espera rodar a bombar una mica poc i fer-los saber el que està passant. 1389 01:00:55,911 --> 01:00:56,890 Així. 1390 01:00:56,890 --> 01:00:57,390 Així. 1391 01:00:57,390 --> 01:00:59,362 >> Freda en una missió tan tiri cap enrere. 1392 01:00:59,362 --> 01:01:04,785 Faci-ho saber que vostè és massa i aquest és un moviment uh no es pot tocar. 1393 01:01:04,785 --> 01:01:07,743 Jo, t'ho vaig dir U no pot tocar això. 1394 01:01:07,743 --> 01:01:09,222 Per què vostè hi era home? 1395 01:01:09,222 --> 01:01:10,208 U no pot tocar això. 1396 01:01:10,208 --> 01:01:13,200 >> Jo, sonarà a l'escola de la campana, garrí. 1397 01:01:13,200 --> 01:01:14,005 U no pot tocar això. 1398 01:01:14,005 --> 01:01:18,326 Dóna'm una cançó, un ritme fent-los suor que és el que els estic donant ara. 1399 01:01:18,326 --> 01:01:21,805 Ells saben quan es parla de la Hammer es parla d'un espectacle que és exagerada. 1400 01:01:21,805 --> 01:01:24,290 I els cantants són ajustats sudoració pel que els passi un micròfon. 1401 01:01:24,290 --> 01:01:27,272 >> O una cinta per saber què que va tenir i ara 1402 01:01:27,272 --> 01:01:29,260 ell va a cremar les cartes. 1403 01:01:29,260 --> 01:01:32,739 Legit ja sigui un treball dur o que també podria deixar de fumar. 1404 01:01:32,739 --> 01:01:37,709 Perquè saps U no pot tocar això. 1405 01:01:37,709 --> 01:01:41,599 U no pot tocar això. 1406 01:01:41,599 --> 01:01:42,182 Perd el control. 1407 01:01:42,182 --> 01:01:56,095 1408 01:01:56,095 --> 01:01:56,595 Pare. 1409 01:01:56,595 --> 01:01:57,095 Temps Hammer. 1410 01:01:57,095 --> 01:01:59,577 Anar amb el corrent en un gir si no es pot moure a aquesta 1411 01:01:59,577 --> 01:02:01,068 llavors probablement estàs mort. 1412 01:02:01,068 --> 01:02:04,547 Així que agitar les mans en l'aire [inaudible] 1413 01:02:04,547 --> 01:02:08,026 >> Aquest és un ball guanyador això i vas a obtenir més prima. 1414 01:02:08,026 --> 01:02:12,996 Moveu llisqui el cul només per un minut anem a tots fer el cop. 1415 01:02:12,996 --> 01:02:13,990 Sí. 1416 01:02:13,990 --> 01:02:14,984 U no pot tocar això. 1417 01:02:14,984 --> 01:02:17,966 1418 01:02:17,966 --> 01:02:19,457 >> U no pot tocar això. 1419 01:02:19,457 --> 01:02:23,433 Serà millor que publicitat noi U no pot tocar això. 1420 01:02:23,433 --> 01:02:24,924 Anell de retorn de l'escola campana. 1421 01:02:24,924 --> 01:02:25,918 Perd el control. 1422 01:02:25,918 --> 01:02:38,837 1423 01:02:38,837 --> 01:02:39,337 Pare. 1424 01:02:39,337 --> 01:02:40,828 Temps del martell 1425 01:02:40,828 --> 01:02:42,816 >> DAVID J. Malan: Això és tot per CS50! 1426 01:02:42,816 --> 01:02:45,301 Moltes gràcies per estar amb nosaltres! 1427 01:02:45,301 --> 01:02:47,786 Ens veiem fora. 1428 01:02:47,786 --> 01:02:48,611 >> [FI DE REPRODUCCIÓ] 1429 01:02:48,611 --> 01:02:49,277 [REPRODUCCIÓ DE VÍDEO] 1430 01:02:49,277 --> 01:02:52,259 [MÚSICA - "Seinfeld", tema musical] 1431 01:02:52,259 --> 01:02:53,860 -Escolta David. 1432 01:02:53,860 --> 01:02:54,500 -Escolta, David. 1433 01:02:54,500 --> 01:02:55,912 Com va? 1434 01:02:55,912 --> 01:02:58,078 >> -Bon Treball, avui dia. 1435 01:02:58,078 --> 01:03:00,952 -Llavors Has pensat en el que que vas a fer per les bromes fora? 1436 01:03:00,952 --> 01:03:03,207 -No, No tinc res. 1437 01:03:03,207 --> 01:03:07,550 -Què Si: ¿i si aquesta és la broma fora? 1438 01:03:07,550 --> 01:03:08,970 -Com, Descarregada carros? 1439 01:03:08,970 --> 01:03:11,430 -UH huh. 1440 01:03:11,430 --> 01:03:13,890 Ja saps, es tracta de res. 1441 01:03:13,890 --> 01:03:17,559 >> -Així Que desitja, no hi ha història, no hi ha conflicte, sense resolució. 1442 01:03:17,559 --> 01:03:18,350 No entenc. 1443 01:03:18,350 --> 01:03:20,542 De què tracta llavors? 1444 01:03:20,542 --> 01:03:23,510 >> -Res. 1445 01:03:23,510 --> 01:03:27,427 >> -Així Que tenim fora broma és sobre res, i que no tenen els actors. 1446 01:03:27,427 --> 01:03:28,510 Qui va a estar en això? 1447 01:03:28,510 --> 01:03:29,010 >> -No no No. 1448 01:03:29,010 --> 01:03:31,310 Vull dir, vaig a ser-hi. 1449 01:03:31,310 --> 01:03:32,109 >> -Tindràs Estar en ella? 1450 01:03:32,109 --> 01:03:32,608 -Sí! 1451 01:03:32,608 --> 01:03:34,903 La gent sempre està dient jo sóc un personatge. 1452 01:03:34,903 --> 01:03:36,029 >> -Bé, Vull dir, és veritat. 1453 01:03:36,029 --> 01:03:37,445 Però, ¿qui més va a ser-hi? 1454 01:03:37,445 --> 01:03:38,660 No pot simplement ser tu. 1455 01:03:38,660 --> 01:03:47,240 >> -Vostè Hi haurà en ella, Gavin, Dan, Donen, Colton, Z'Myla, Alysse, Doug, 1456 01:03:47,240 --> 01:03:51,120 David, tothom. 1457 01:03:51,120 --> 01:03:53,630 >> -Així Que es tracta del no res, i tothom que està en ell? 1458 01:03:53,630 --> 01:03:54,530 >> -absolutament Res. 1459 01:03:54,530 --> 01:03:58,730 1460 01:03:58,730 --> 01:04:00,580 >> -Això És ridícul.