1 00:00:00,000 --> 00:00:09,840 2 00:00:09,840 --> 00:00:10,824 >> [VIDEO PLAYBACK] 3 00:00:10,824 --> 00:00:13,284 >> [Usa de închidere] 4 00:00:13,284 --> 00:00:15,744 >> [CAR pornirea motorului] 5 00:00:15,744 --> 00:00:19,188 >> [MUSIC JOC] 6 00:00:19,188 --> 00:00:20,172 7 00:00:20,172 --> 00:00:24,516 >> -Moving Chiar de-a lungul, în căutare de vremuri bune și vești bune. 8 00:00:24,516 --> 00:00:26,871 Cu prieteni buni, nu se pot pierde. 9 00:00:26,871 --> 00:00:28,755 >> -Acest Ar putea deveni un obicei. 10 00:00:28,755 --> 00:00:32,460 >> Bate -posibilitatea Să doar ajunge si apuca-l. 11 00:00:32,460 --> 00:00:32,960 Da! 12 00:00:32,960 --> 00:00:34,920 -Together Vom pune mâna. 13 00:00:34,920 --> 00:00:37,370 Excursie zgudui -We'll, autobuz, sau taxi galben-l. 14 00:00:37,370 --> 00:00:38,840 -Dammit. 15 00:00:38,840 --> 00:00:40,800 -Suntem În mișcare de-a lungul dreapta. 16 00:00:40,800 --> 00:00:43,750 -Footloose Și fantezie gratuit. 17 00:00:43,750 --> 00:00:45,960 -Getting Există jumătate din distracție. 18 00:00:45,960 --> 00:00:47,718 Vino să o împărtășească cu mine. 19 00:00:47,718 --> 00:00:49,654 >> -Suntem În mișcare de-a lungul dreapta. 20 00:00:49,654 --> 00:00:52,558 >> -Suntem De gând să împartă sarcina. 21 00:00:52,558 --> 00:00:57,604 >> -Noi Nu au nevoie de o hartă a obține acest spectacol pe drum. 22 00:00:57,604 --> 00:01:00,520 Hei Fozzy, vreau să virați la stânga dacă ajunge la o furculiță în drum. 23 00:01:00,520 --> 00:01:01,020 -Da domnule. 24 00:01:01,020 --> 00:01:03,334 Viraj stânga la bifurcație în drum. 25 00:01:03,334 --> 00:01:05,222 Viraj la stânga. 26 00:01:05,222 --> 00:01:07,582 >> -Nu Cred că. 27 00:01:07,582 --> 00:01:11,720 >> -Cruising Dreapta de-a lungul-am găsit luminile de pe autostrada. 28 00:01:11,720 --> 00:01:13,664 >> -Si-Ți de drum sau felul meu. 29 00:01:13,664 --> 00:01:16,154 >> Deci încredere navigare mea. 30 00:01:16,154 --> 00:01:21,134 >> Stele -Movie cu masini ostentative și viața cu partea de sus în jos. 31 00:01:21,134 --> 00:01:23,126 >> -Suntem Storming dealuri mari. 32 00:01:23,126 --> 00:01:24,122 >> Da, furtuna este corect. 33 00:01:24,122 --> 00:01:25,160 Ar trebui să fie ninge? 34 00:01:25,160 --> 00:01:26,220 >> Nu, nu cred așa. 35 00:01:26,220 --> 00:01:28,505 >> -Moving Dreapta de-a lungul. 36 00:01:28,505 --> 00:01:30,980 >> -Footloose Și fantezie gratuit. 37 00:01:30,980 --> 00:01:32,960 >> -Esti Gata pentru mare de timp. 38 00:01:32,960 --> 00:01:34,445 >> -Este Pregatit pentru mine? 39 00:01:34,445 --> 00:01:38,900 40 00:01:38,900 --> 00:01:42,860 >> -Moving Dreapta de-a lungul. 41 00:01:42,860 --> 00:01:47,315 Mutarea dreapta de-a lungul. 42 00:01:47,315 --> 00:01:52,265 Mutarea dreapta de-a lungul. 43 00:01:52,265 --> 00:01:56,131 Mutarea dreapta de-a lungul. 44 00:01:56,131 --> 00:01:57,380 -Cred Că ar fi mai bine trage peste. 45 00:01:57,380 --> 00:01:58,020 -Da domnule. 46 00:01:58,020 --> 00:02:02,475 47 00:02:02,475 --> 00:02:03,960 >> [END PLAYBACK] 48 00:02:03,960 --> 00:02:07,425 >> [Aplauze] 49 00:02:07,425 --> 00:02:09,405 50 00:02:09,405 --> 00:02:11,930 >> David J. MALAN: Aceasta este CS50. 51 00:02:11,930 --> 00:02:15,940 Și acesta este sfârșitul săptămânii 0, dar începutul unei frumoase prietenii. 52 00:02:15,940 --> 00:02:18,250 Suntem atât de entuziasmat de a fi aici, la Universitatea Yale 53 00:02:18,250 --> 00:02:21,530 pentru prima dată, cu nostru prietenul Scaz, și Jason, și Andy. 54 00:02:21,530 --> 00:02:24,320 Toate 40 de TF lui CS50 lui și CA e aici la Yale. 55 00:02:24,320 --> 00:02:25,440 Și voi toți. 56 00:02:25,440 --> 00:02:28,470 Și, de fapt, este probabil timpul sa-- 57 00:02:28,470 --> 00:02:31,914 >> [Aplauze] 58 00:02:31,914 --> 00:02:43,722 59 00:02:43,722 --> 00:02:47,920 >> Deci, chiar dacă de cele mai multe prelegeri va fi într-adevăr în Cambridge în acest an, 60 00:02:47,920 --> 00:02:51,250 realitatea este că de proiectare, și foarte mult în mod deliberat în CS50, 61 00:02:51,250 --> 00:02:54,740 Eu cred că ne apropiem de punctul de bază tehnologic, pedagogic și, 62 00:02:54,740 --> 00:02:57,930 în cazul în care acesta poate fi un învățământ superior de Experiența de a se angaja cu unele 63 00:02:57,930 --> 00:02:59,610 cursului de materiale on-line. 64 00:02:59,610 --> 00:03:02,862 Într-adevăr, reality-- și dacă cred acest philosophically-- este că prelegeri 65 00:03:02,862 --> 00:03:05,070 nu sunt un deosebit mijloace eficiente pentru livrarea 66 00:03:05,070 --> 00:03:06,900 informații destul de complex. 67 00:03:06,900 --> 00:03:09,219 Desigur peste ora plus deschideri lungi de timp. 68 00:03:09,219 --> 00:03:11,760 Și într-adevăr fiecare câteva minutes-- Îmi amintesc eu în college-- 69 00:03:11,760 --> 00:03:14,210 te zonei A afară pentru o clipă, e dor de tine un subiect complex, 70 00:03:14,210 --> 00:03:16,540 și ai plecat destul de mult pentru următoarele 45 de minute. 71 00:03:16,540 --> 00:03:19,414 Iar realitatea este că dacă esti aici, în New Haven sau Cambridge 72 00:03:19,414 --> 00:03:22,930 sau dincolo, simplitatea de a avea capacitatea de a întrerupe și derulare înainte, 73 00:03:22,930 --> 00:03:26,270 înapoi, hyperlink către conexe Resurse, transcrieri de căutare full text 74 00:03:26,270 --> 00:03:29,900 și altele asemenea este o oportunitate care Îndrăznesc să spun pentru studenții noștri on-line 75 00:03:29,900 --> 00:03:32,530 dincolo de New Haven, le oferă o oportunitate de 76 00:03:32,530 --> 00:03:34,700 Pentru a înțelege cu adevărat Material conceptual pe care le 77 00:03:34,700 --> 00:03:36,700 introducă în prelegeri cu atât mai bine. 78 00:03:36,700 --> 00:03:39,415 >> Dar în cele din urmă în CS50, este Experiența studenților 79 00:03:39,415 --> 00:03:43,099 este caracterizat atât, mult mai mult de seturi de problema cursului, 80 00:03:43,099 --> 00:03:46,140 sau proiecte de programare pe săptămână, The secțiuni de curs a condus de predare 81 00:03:46,140 --> 00:03:49,600 semenii, Nightly orele de birou condus de asistenții de curs și de predare 82 00:03:49,600 --> 00:03:52,330 semenii, și într-adevăr, cum ar evenimente ca CS50 Puzzle 83 00:03:52,330 --> 00:03:56,500 Zi, CS50 lui Hack-un-thon, The CS50 Fair, prânzuri săptămânale, și mult mai mult. 84 00:03:56,500 --> 00:03:59,580 Și așa indiferent dacă sunteți aici, în New Haven, sau de tuning de la distanță, 85 00:03:59,580 --> 00:04:02,270 astăzi în Cambridge, și vom vedea din nou în curând te, 86 00:04:02,270 --> 00:04:04,580 realitatea este aceasta este una și aceeași clasă. 87 00:04:04,580 --> 00:04:07,990 Și noi suntem atat de incantati sa aici toate împreună astăzi. 88 00:04:07,990 --> 00:04:11,110 Și astfel, la sfârșitul semestrului, dacă aici sau departe, bine 89 00:04:11,110 --> 00:04:14,910 sperăm că vă purta cu mândrie, din fericire, și, probabil, cu un pic de relief, 90 00:04:14,910 --> 00:04:19,459 cămașa care poartă mărturie pentru a vă a luat CS50. 91 00:04:19,459 --> 00:04:21,700 >> Deci, unde am lăsa pe miercuri? 92 00:04:21,700 --> 00:04:24,410 Am luat o privire la gândire de calcul. 93 00:04:24,410 --> 00:04:27,830 Și asta e ceea ce am distilată spre informatică lui, cel puțin 94 00:04:27,830 --> 00:04:28,800 deocamdata. 95 00:04:28,800 --> 00:04:31,990 Dar l-am distilat puțin mai departe în cel puțin trei elemente componente. 96 00:04:31,990 --> 00:04:34,570 >> Intrări, astfel încât ceea ce este problemă încercăm să rezolve? 97 00:04:34,570 --> 00:04:36,650 Ieșiri, ceea ce este răspunde suntem în speranța de a obține? 98 00:04:36,650 --> 00:04:38,210 Și reprezentarea acolo de. 99 00:04:38,210 --> 00:04:41,870 Și nu vom insista aici pe după pe binar, sau chiar ASCII, 100 00:04:41,870 --> 00:04:44,050 și altele atât de mult, dar mai degrabă ia acordat 101 00:04:44,050 --> 00:04:47,520 pe care le poate reprezenta această informație, deoarece mult mai interesante piese 102 00:04:47,520 --> 00:04:51,010 de aceste probleme nu sunt doar intrări și ieșiri, dar algoritmii 103 00:04:51,010 --> 00:04:53,020 care merg în rezolvarea acestor probleme. 104 00:04:53,020 --> 00:04:55,120 >> Și s-ar putea retrage de la de altă zi pe care le 105 00:04:55,120 --> 00:04:59,860 a luat o destul de tradiționale Conceptul de a privi pe cineva 106 00:04:59,860 --> 00:05:03,240 într-o carte de telefon destul de mare, sau mai general digital in aceste zile, 107 00:05:03,240 --> 00:05:04,420 doar un set de date foarte mare. 108 00:05:04,420 --> 00:05:07,840 O lista de contacte foarte mare, cu o mulțime de nume sortate în ordine alfabetică. 109 00:05:07,840 --> 00:05:11,310 Și ne-am dat seama că în timp ce eu ar putea apropia de această problemă, pur și simplu 110 00:05:11,310 --> 00:05:14,520 prin utilizarea unui liniar Pagina approach-- de pagină, 111 00:05:14,520 --> 00:05:17,775 sau chiar două, la un time-- am realizat că algorithm-- mai intuitiv 112 00:05:17,775 --> 00:05:20,840 doar un fel de divizare și cucerirea din nou problema, și din nou, 113 00:05:20,840 --> 00:05:24,670 și again-- l înjumătățirea cu fiecare timp, ne-a dat acest rezultat verde. 114 00:05:24,670 --> 00:05:27,080 Și e atât de mult mai plat deoarece sugereaza 115 00:05:27,080 --> 00:05:29,160 că, chiar și ca această problemă devine mai mare și mai mare, 116 00:05:29,160 --> 00:05:32,470 așa cum este cazul acestor zile cu date seturi și reality-- Facebook și Google 117 00:05:32,470 --> 00:05:34,630 rezultatele căutării și like-- face algoritmul nostru 118 00:05:34,630 --> 00:05:37,660 efectua la fel de eficient cu aceste mușcături mai mari 119 00:05:37,660 --> 00:05:40,310 așa cum a făcut chiar și cu muscaturile mici. 120 00:05:40,310 --> 00:05:45,330 >> Acum duce la intrebarea, ce putem de fapt rezolva în mod similar 121 00:05:45,330 --> 00:05:46,820 cu acest tip de intuiție? 122 00:05:46,820 --> 00:05:48,740 Acest tip de diviziune și cucerire? 123 00:05:48,740 --> 00:05:51,029 Ei bine, am putea face ceva ca acest lucru astăzi aici. 124 00:05:51,029 --> 00:05:52,070 Am putea lua prezență. 125 00:05:52,070 --> 00:05:56,102 Deci, poate ca 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11-- 126 00:05:56,102 --> 00:05:57,560 nu va fi tot atât de eficient. 127 00:05:57,560 --> 00:05:58,990 Deci, așteptați, școala primară. 128 00:05:58,990 --> 00:06:02,770 2, 4, 6, 8, 10, 12, 14, 16, 18 și așa mai departe. 129 00:06:02,770 --> 00:06:04,140 Dar am putea face un pic mai bine? 130 00:06:04,140 --> 00:06:06,630 >> Sunt destul de sigur eu nu pot face acest lucru de unul singur. 131 00:06:06,630 --> 00:06:09,420 Deci, dacă veți umorul ne doar un moment, ne-am adus cu noi 132 00:06:09,420 --> 00:06:11,640 un algoritm care este tocmai am primit trei etape, 133 00:06:11,640 --> 00:06:15,130 dar nu require-- dacă Nu mind-- noi toți se ridice în picioare, 134 00:06:15,130 --> 00:06:15,690 dacă ar fi. 135 00:06:15,690 --> 00:06:23,901 136 00:06:23,901 --> 00:06:29,380 Deci, cu noi toți în picioare acum, pas unul dintre acest algoritm este următoarea. 137 00:06:29,380 --> 00:06:31,680 Ridică-te și să alocați te numărul 1. 138 00:06:31,680 --> 00:06:34,180 Deci, în acest moment, literalmente toată lumea în această cameră 139 00:06:34,180 --> 00:06:38,830 sperăm se gandeste la ei înșiși, Cu toate acestea dur, numărul 1. 140 00:06:38,830 --> 00:06:42,020 >> Acum pas a doua a acestui algoritm este O să implice următoarele. 141 00:06:42,020 --> 00:06:44,680 Pasul doi, pereche off cu cineva în picioare, 142 00:06:44,680 --> 00:06:47,970 adăugați numerele împreună, și adoptă suma ca numarul tau nou. 143 00:06:47,970 --> 00:06:53,110 144 00:06:53,110 --> 00:06:55,620 Cec bun-simț rapid. 145 00:06:55,620 --> 00:06:58,180 Ce numar este pentru toată lumea gândesc acum? 146 00:06:58,180 --> 00:07:01,930 >> Deci 2, cu excepția, poate, pentru unul, ciudat, persoana singur. 147 00:07:01,930 --> 00:07:04,269 Dacă avem un număr impar de oameni în cameră. 148 00:07:04,269 --> 00:07:06,560 Deci, o persoană ar putea fi încă numărul 1, e în regulă. 149 00:07:06,560 --> 00:07:09,440 Dar pasul trei aici, o de ar trebui să stai jos. 150 00:07:09,440 --> 00:07:13,620 Celălalt trebuie să reveniți la pasul doi, și se repetă, dacă ar fi. 151 00:07:13,620 --> 00:07:54,430 152 00:07:54,430 --> 00:07:58,240 >> Deci, dacă încă în picioare, ar trebui să fie printre cei care merg înapoi la pasul doi. 153 00:07:58,240 --> 00:08:13,910 154 00:08:13,910 --> 00:08:14,574 Continua. 155 00:08:14,574 --> 00:08:20,790 156 00:08:20,790 --> 00:08:22,130 Câțiva oameni încă în picioare. 157 00:08:22,130 --> 00:08:33,590 158 00:08:33,590 --> 00:08:35,614 >> Deci, în cazul în care încă în picioare, pereche cu cineva. 159 00:08:35,614 --> 00:08:53,710 160 00:08:53,710 --> 00:08:55,020 Bine, în scădere în jos. 161 00:08:55,020 --> 00:09:06,394 162 00:09:06,394 --> 00:09:07,560 Câțiva oameni încă în picioare. 163 00:09:07,560 --> 00:09:08,600 Te voi ajuta dacă este nevoie. 164 00:09:08,600 --> 00:09:11,855 Amintiți-vă de Takeaway cheie aici este modul în care mult mai rapid acest lucru este decât mine numărare. 165 00:09:11,855 --> 00:09:15,090 166 00:09:15,090 --> 00:09:16,200 >> Deci, să vedem. 167 00:09:16,200 --> 00:09:16,900 Pot ajuta. 168 00:09:16,900 --> 00:09:19,425 Deci, ce număr sunt încă gândești? 169 00:09:19,425 --> 00:09:20,320 >> Audiența: Sunt la 44. 170 00:09:20,320 --> 00:09:22,400 >> David J. MALAN: 44, așa a merge mai departe și stai jos. 171 00:09:22,400 --> 00:09:23,733 Ce număr te gândești de? 172 00:09:23,733 --> 00:09:24,840 Audiența: 74. 173 00:09:24,840 --> 00:09:27,006 >> David J. MALAN: 74. 174 00:09:27,006 --> 00:09:28,380 Bine, mergeți mai departe și stai jos. 175 00:09:28,380 --> 00:09:30,390 Cine altcineva este încă în picioare? 176 00:09:30,390 --> 00:09:31,550 86. 177 00:09:31,550 --> 00:09:33,340 Și este cineva încă în picioare? 178 00:09:33,340 --> 00:09:34,976 >> Ce număr? 179 00:09:34,976 --> 00:09:37,380 Am auzit 67. 180 00:09:37,380 --> 00:09:39,370 Și apoi în top? 181 00:09:39,370 --> 00:09:40,900 32. 182 00:09:40,900 --> 00:09:44,230 Oricine altcineva încă în picioare și de gândire a unui număr? 183 00:09:44,230 --> 00:09:44,730 >> Oh bună. 184 00:09:44,730 --> 00:09:45,230 Scuze. 185 00:09:45,230 --> 00:09:48,350 Revin imediat. 186 00:09:48,350 --> 00:09:49,520 42. 187 00:09:49,520 --> 00:09:51,758 Oricine altcineva? 188 00:09:51,758 --> 00:09:52,610 >> Audiența: 47. 189 00:09:52,610 --> 00:09:54,930 >> David J. MALAN: 47. 190 00:09:54,930 --> 00:09:57,980 Este cineva încă în picioare care nu a fost inregistrat? 191 00:09:57,980 --> 00:10:06,450 Deci numărul final de persoane într-o cameră care are 497 de locuri este-- toate 192 00:10:06,450 --> 00:10:10,930 sunt filled-- este 390. 193 00:10:10,930 --> 00:10:12,230 Deci, aceasta este mare. 194 00:10:12,230 --> 00:10:16,435 >> Vom discuta în curând noțiunea de o eroare într-un program de calculator. 195 00:10:16,435 --> 00:10:19,660 Dar vom reveni la asta înainte de mult timp. 196 00:10:19,660 --> 00:10:22,440 Dar, în teorie, ceea ce ar putea s-au întâmplat doar acum? 197 00:10:22,440 --> 00:10:25,930 Deci, chiar dacă au existat trei mari pași pentru acest algoritm, fiecare dintre aceste 198 00:10:25,930 --> 00:10:27,510 a fost doar un fel de-o singură operație de mare. 199 00:10:27,510 --> 00:10:31,020 Și nu a existat acest ciclicitate să-l în care, dacă ați fost încă în picioare, 200 00:10:31,020 --> 00:10:34,870 ai continuat drumul de la pasul trei la doi, Pasul trei la doi, pasul trei la doi. 201 00:10:34,870 --> 00:10:37,330 >> Dar ce se întâmplă ținut pe fiecare iterație? 202 00:10:37,330 --> 00:10:39,440 Fiecare ciclu de această buclă? 203 00:10:39,440 --> 00:10:41,940 Ce se întâmpla în altă parte în cameră? 204 00:10:41,940 --> 00:10:45,170 Nu numai acelasi lucru, dar ceea ce se întâmpla la jumătate din tine? 205 00:10:45,170 --> 00:10:46,170 A sta jos. 206 00:10:46,170 --> 00:10:49,710 Și deci nu în minciuni acest insight, la fel ca exemplul de carte de telefon, 207 00:10:49,710 --> 00:10:52,050 în cazul în care jumătate dintre care sunteți sta jos de fiecare dată, 208 00:10:52,050 --> 00:10:54,560 problema este de pornire cu 400 de persoane, poate, 209 00:10:54,560 --> 00:10:57,780 apoi la 200 de persoane, peste 100 de persoane, apoi 50 de persoane, și așa mai departe. 210 00:10:57,780 --> 00:11:00,660 >> Și așa ne-am Whittle la teorie la doar o singură persoană, 211 00:11:00,660 --> 00:11:02,830 gândire din valoarea totală a tuturor. 212 00:11:02,830 --> 00:11:05,777 Acum realitate, unele dinamica socială, și unele erori aritmetice 213 00:11:05,777 --> 00:11:07,360 ar putea contribui la acest bug final. 214 00:11:07,360 --> 00:11:10,300 Dar, în teorie, în timp ce a fost încă de numărare departe, 215 00:11:10,300 --> 00:11:12,860 luând câteva zeci trepte, sau sute de pași 216 00:11:12,860 --> 00:11:16,240 să vă conta, pentru a număra o cameră plină de 500 sau cam asa ceva de oameni 217 00:11:16,240 --> 00:11:20,560 ar fi luat mult mai puține etape, pentru că puteți împărți doar 500 și 1/2 218 00:11:20,560 --> 00:11:21,350 de atâtea ori. 219 00:11:21,350 --> 00:11:24,120 Și așa fel ca cu telefonul rezervați exemplu de altă zi, 220 00:11:24,120 --> 00:11:26,740 am ceva logaritmică ca să spunem așa, 221 00:11:26,740 --> 00:11:28,870 prin care, dacă am fost cu toții operează la unison, 222 00:11:28,870 --> 00:11:32,000 și ignorând erori de adiție, ar am 223 00:11:32,000 --> 00:11:34,140 au realizat exact acest tip de timpul de funcționare? 224 00:11:34,140 --> 00:11:37,900 >> Acum, pentru a fi corect, un fel de inselat, în că efectul de levier o altă resursă. 225 00:11:37,900 --> 00:11:40,320 Întrucât este doar unul de la mine, Am sute de indatorare tine. 226 00:11:40,320 --> 00:11:43,340 Dar care ar putea fi declarat a fi un exemplu de procesare paralelă, 227 00:11:43,340 --> 00:11:46,400 sau o stare de arta foarte mult în vogă în cazul în care computerele aceste zile au 228 00:11:46,400 --> 00:11:49,830 mai multe procesoare, sau mai mult punct de vedere tehnic, mai multe nuclee, 229 00:11:49,830 --> 00:11:52,550 și poate face cu adevărat mai multe lucruri în același timp, la fel ca tine 230 00:11:52,550 --> 00:11:54,706 Tot ce facem acolo, în paralel. 231 00:11:54,706 --> 00:11:56,580 Dar amintesc că ceea ce de asemenea, a făcut miercuri 232 00:11:56,580 --> 00:12:02,640 a fost să încerce să captureze această intuiție și formalizarea în codul. 233 00:12:02,640 --> 00:12:04,165 Ceva de genul pseudo-cod. 234 00:12:04,165 --> 00:12:07,040 Și, de fapt, și sper că veți iartă, e ca si cum 80 de grade aici. 235 00:12:07,040 --> 00:12:09,420 Deci, am de gând să ia acest off pentru doar un pic. 236 00:12:09,420 --> 00:12:12,410 Ceea ce am crezut că vom face este de tranziție acum la o cerere prin care 237 00:12:12,410 --> 00:12:16,300 ne angajăm din nou publicul, dar scrie un program în limba engleză 238 00:12:16,300 --> 00:12:19,537 cum ar fi sintaxa, cu care să rezolva această problemă aici. 239 00:12:19,537 --> 00:12:20,203 [VIDEO PLAYBACK] 240 00:12:20,203 --> 00:12:22,266 Unt de arahide timp jeleu -E. 241 00:12:22,266 --> 00:12:23,890 Unt de arahide timp jeleu. 242 00:12:23,890 --> 00:12:25,620 Unt de arahide timp jeleu. 243 00:12:25,620 --> 00:12:26,320 >> Way ya! 244 00:12:26,320 --> 00:12:26,927 Way ya! 245 00:12:26,927 --> 00:12:27,781 Way ya! 246 00:12:27,781 --> 00:12:28,350 Way ya! 247 00:12:28,350 --> 00:12:29,723 Acum nu te duci! 248 00:12:29,723 --> 00:12:30,264 Nu te duci! 249 00:12:30,264 --> 00:12:30,805 Nu te duci! 250 00:12:30,805 --> 00:12:31,710 Nu te duci! 251 00:12:31,710 --> 00:12:33,156 Unt de arahide jeleu! 252 00:12:33,156 --> 00:12:34,602 Unt de arahide jeleu! 253 00:12:34,602 --> 00:12:36,530 >> Unt de arahide jeleu! 254 00:12:36,530 --> 00:12:37,494 Unt de arahide jeleu! 255 00:12:37,494 --> 00:12:38,940 Arahide, unt de arahide jeleu! 256 00:12:38,940 --> 00:12:39,904 Unt de arahide jeleu! 257 00:12:39,904 --> 00:12:41,840 Unt de arahide jeleu cu o bâtă de baseball. 258 00:12:41,840 --> 00:12:42,423 >> [END PLAYBACK] 259 00:12:42,423 --> 00:12:45,510 David J. MALAN: --that video, dar este un pic dependență, 260 00:12:45,510 --> 00:12:46,540 dacă nu un pic enervant. 261 00:12:46,540 --> 00:12:49,623 Dar pentru a face acest lucru, m-am gândit ce ne-ar faceți este să încercați să scrie un program împreună, 262 00:12:49,623 --> 00:12:51,870 pentru care avem nevoie de trei voluntari. 263 00:12:51,870 --> 00:12:54,350 Trebuie să fie confortabil pe aparatul de fotografiat și internet. 264 00:12:54,350 --> 00:12:57,820 Sam, haide sus. 265 00:12:57,820 --> 00:12:59,830 Cămașă violet, chiar aici, haide sus. 266 00:12:59,830 --> 00:13:03,470 >> Și de aici, lasă-mă să du-te un pic mai departe înapoi. 267 00:13:03,470 --> 00:13:05,280 Crimson și tricouri albastre, haide sus. 268 00:13:05,280 --> 00:13:06,980 Perfect. 269 00:13:06,980 --> 00:13:09,790 Haide acum. 270 00:13:09,790 --> 00:13:12,490 Hai sus, haide sus. 271 00:13:12,490 --> 00:13:13,581 >> Și care e numele tău? 272 00:13:13,581 --> 00:13:14,080 Erica. 273 00:13:14,080 --> 00:13:15,289 David, mă bucur să te cunosc. 274 00:13:15,289 --> 00:13:16,830 Dacă doriți să luați acest scaun aici. 275 00:13:16,830 --> 00:13:17,900 Aceasta este Sam. 276 00:13:17,900 --> 00:13:19,690 >> Care e numele tău? 277 00:13:19,690 --> 00:13:20,260 Antonio. 278 00:13:20,260 --> 00:13:21,595 Antonio, bucur să te cunosc. 279 00:13:21,595 --> 00:13:23,790 Erica și Sam, dacă ai fi dori să aibă un loc aici. 280 00:13:23,790 --> 00:13:26,700 Ceea ce am venit pregătiți cu, ca astia sunt descoperirea, 281 00:13:26,700 --> 00:13:30,580 este ingredientele cu care să facă un sandwich cu unt de arahide si jeleu. 282 00:13:30,580 --> 00:13:33,520 >> Acum, acest lucru ar putea fi ceva care luați foarte mult de la sine. 283 00:13:33,520 --> 00:13:35,430 Dar ne-am dat fiecare din cele trei voluntari 284 00:13:35,430 --> 00:13:40,500 here-- doi voluntari și Sam aici, o pâine fiecare, o placă, un cuțit, 285 00:13:40,500 --> 00:13:43,740 un borcan de jeleu sau gem, și un borcan de unt de arahide. 286 00:13:43,740 --> 00:13:46,190 Și obiectivul la îndemână acum este va fi pentru aceste trei 287 00:13:46,190 --> 00:13:48,030 pentru a face un unt de arahide și jeleu de tip sandwich. 288 00:13:48,030 --> 00:13:51,000 Dar ceea ce am de gând să faci este așteptăm audience-- deoarece voi toti 289 00:13:51,000 --> 00:13:53,710 cu siguranță știu cum să facă acest atât de bine în reality-- 290 00:13:53,710 --> 00:13:56,380 sunt de gând să ne furnizați pas cu pas instrucțiunile. 291 00:13:56,380 --> 00:13:57,970 Pseudo-cod, dacă vrei. 292 00:13:57,970 --> 00:13:59,922 >> Așa că voi juca rolul de scrib aici. 293 00:13:59,922 --> 00:14:02,880 Și am un pic a-do list, și în așa fel încât fiecare dintre voi, o la un moment dat, 294 00:14:02,880 --> 00:14:04,588 strigă un potențial instruire, voi 295 00:14:04,588 --> 00:14:06,110 scrie-l jos, repeta după cum este necesar. 296 00:14:06,110 --> 00:14:09,650 Și apoi voi sunt de gând să facă un sandwich cu unt de arahide și jeleu 297 00:14:09,650 --> 00:14:11,171 doar de a face ceea ce se spune. 298 00:14:11,171 --> 00:14:12,670 Deci, cred că de voi ca calculatoare. 299 00:14:12,670 --> 00:14:13,740 >> Puteți face doar ceea ce ți se spune. 300 00:14:13,740 --> 00:14:14,948 Nu există ipoteze, nici o întrebare. 301 00:14:14,948 --> 00:14:16,660 Trebuie doar să o faci. 302 00:14:16,660 --> 00:14:20,460 Deci care ar dori să risc major pentru prima instrucțiuni pentru a face un sandwich PBJ? 303 00:14:20,460 --> 00:14:21,460 Pe balcon acolo. 304 00:14:21,460 --> 00:14:22,801 >> Audiența: Deschideți punga de pâine. 305 00:14:22,801 --> 00:14:26,430 >> David J. MALAN: deschide sac de pâine, dacă vreți. 306 00:14:26,430 --> 00:14:34,440 307 00:14:34,440 --> 00:14:35,230 Deci, să vedem. 308 00:14:35,230 --> 00:14:37,910 Să repeta, și de a lua un pic mai precis. 309 00:14:37,910 --> 00:14:39,040 >> Bun mod de a începe, totuși. 310 00:14:39,040 --> 00:14:42,340 Pasul doi, altcineva. 311 00:14:42,340 --> 00:14:43,590 Acum nimeni nu vrea să se ofere voluntari. 312 00:14:43,590 --> 00:14:44,616 Pasul doi, în fața. 313 00:14:44,616 --> 00:14:46,532 Audiența: Deschideți interior sac de pâine, de asemenea. 314 00:14:46,532 --> 00:14:50,600 David J. MALAN: deschide sac interior de pâine, de asemenea. 315 00:14:50,600 --> 00:14:51,880 Mare, am de învățare. 316 00:14:51,880 --> 00:14:57,880 317 00:14:57,880 --> 00:14:59,090 Un pic mai precisă. 318 00:14:59,090 --> 00:15:00,240 Hai să de lucru. 319 00:15:00,240 --> 00:15:01,180 Da, în cămașă verde. 320 00:15:01,180 --> 00:15:04,608 >> Audiența: [inaudibil] 321 00:15:04,608 --> 00:15:05,108 322 00:15:05,108 --> 00:15:09,040 David J. MALAN: felii de pâine. 323 00:15:09,040 --> 00:15:11,110 Scoateți cu grijă două felii de pâine. 324 00:15:11,110 --> 00:15:20,350 325 00:15:20,350 --> 00:15:21,000 Asta e bine. 326 00:15:21,000 --> 00:15:24,300 Pasul patru, altcineva? 327 00:15:24,300 --> 00:15:25,170 Aici, da? 328 00:15:25,170 --> 00:15:26,130 >> Audiența: [inaudibil] 329 00:15:26,130 --> 00:15:28,810 >> David J. MALAN: Locul pâine pe placa. 330 00:15:28,810 --> 00:15:33,490 331 00:15:33,490 --> 00:15:35,290 Pasul cinci? 332 00:15:35,290 --> 00:15:36,020 Pasul cinci, da? 333 00:15:36,020 --> 00:15:39,440 >> Audiența: [inaudibil] 334 00:15:39,440 --> 00:15:39,940 335 00:15:39,940 --> 00:15:43,860 David J. MALAN: Pe partea de sus de-- Oh, de mână. 336 00:15:43,860 --> 00:15:46,967 Pune mâna pe partea de sus de unt de arahide. 337 00:15:46,967 --> 00:15:47,800 Este că ceea ce am capul? 338 00:15:47,800 --> 00:15:49,160 >> Audiența: Da, și deșurubați. 339 00:15:49,160 --> 00:15:51,370 >> David J. MALAN: si-- spune din nou. 340 00:15:51,370 --> 00:15:52,696 >> Audiența: [inaudibil] 341 00:15:52,696 --> 00:15:57,990 >> David J. MALAN: și a pus capac lângă unt de arahide. 342 00:15:57,990 --> 00:16:00,370 Puneți ușor mâna pe Partea de sus a unt de arahide, 343 00:16:00,370 --> 00:16:03,240 și deșurubați, și a pus capacul alături de unt de arahide. 344 00:16:03,240 --> 00:16:14,760 345 00:16:14,760 --> 00:16:16,260 OK, pasul șase. 346 00:16:16,260 --> 00:16:17,520 Pasul șase, altcineva. 347 00:16:17,520 --> 00:16:19,366 Da? 348 00:16:19,366 --> 00:16:22,740 >> Audiența: [inaudibil] 349 00:16:22,740 --> 00:16:29,197 350 00:16:29,197 --> 00:16:30,405 David J. MALAN: spune din nou. 351 00:16:30,405 --> 00:16:31,946 Audiența: Repetați pasul cinci din nou. 352 00:16:31,946 --> 00:16:37,380 David J. MALAN: Și repetați pasul cinci, din nou, 353 00:16:37,380 --> 00:16:39,400 care este de gând să creeze un pic de o problemă 354 00:16:39,400 --> 00:16:42,600 acum dacă vom face acest lucru pas cu pas. 355 00:16:42,600 --> 00:16:44,640 Deci, acum ne întoarcem la pasul cinci. 356 00:16:44,640 --> 00:16:47,760 Puneți ușor mâna pe partea de sus de unt de arahide și deșurubați 357 00:16:47,760 --> 00:16:50,990 și a pus capac lângă unt de arahide. 358 00:16:50,990 --> 00:16:55,340 Apoi apucați unt de arahide și repetați pasul cinci din nou. 359 00:16:55,340 --> 00:16:58,410 >> Așa că vom trece peste asta buclă infinită, dacă vreți. 360 00:16:58,410 --> 00:17:00,400 Pasul șapte, altcineva. 361 00:17:00,400 --> 00:17:02,918 Da, în spate. 362 00:17:02,918 --> 00:17:06,397 >> Audiența: [inaudibil] 363 00:17:06,397 --> 00:17:16,084 364 00:17:16,084 --> 00:17:17,769 >> David J. MALAN: top --on de alte. 365 00:17:17,769 --> 00:17:20,529 >> Audiența: [inaudibil] 366 00:17:20,529 --> 00:17:23,175 >> David J. MALAN: Pe altă parte, pe de altă parte de sus. 367 00:17:23,175 --> 00:17:28,880 368 00:17:28,880 --> 00:17:30,895 Vrei să vii doar aici? 369 00:17:30,895 --> 00:17:34,750 Cum am terminat instrucțiunile? 370 00:17:34,750 --> 00:17:37,790 Care este restul instrucțiunii? 371 00:17:37,790 --> 00:17:39,140 >> Audiența: Ignorarea partea. 372 00:17:39,140 --> 00:17:41,050 >> David J. MALAN: Ignorarea partea. 373 00:17:41,050 --> 00:17:44,192 374 00:17:44,192 --> 00:17:44,900 Să începem de peste. 375 00:17:44,900 --> 00:17:45,400 Pasul șapte. 376 00:17:45,400 --> 00:17:48,516 377 00:17:48,516 --> 00:17:51,883 >> Audiența: [inaudibil] 378 00:17:51,883 --> 00:17:56,090 >> David J. MALAN: Prindeți cu opune hand-- acest lucru este bun. 379 00:17:56,090 --> 00:17:58,544 Aceasta este, de fapt bun. 380 00:17:58,544 --> 00:18:01,750 >> Audiența: [inaudibil] 381 00:18:01,750 --> 00:18:03,975 >> David J. MALAN: Și jar-- plastic 382 00:18:03,975 --> 00:18:06,675 >> Audiența: [inaudibil] 383 00:18:06,675 --> 00:18:08,420 >> David J. MALAN: Și twist-- 384 00:18:08,420 --> 00:18:11,488 >> Audiența: [inaudibil] 385 00:18:11,488 --> 00:18:13,730 >> David J. MALAN: timp de două secunde. 386 00:18:13,730 --> 00:18:15,800 Doar deschide borcanul cu unt de arahide. 387 00:18:15,800 --> 00:18:19,020 388 00:18:19,020 --> 00:18:20,632 Sper vei ierta. 389 00:18:20,632 --> 00:18:21,840 Deci, să presupunem am ajuns acolo. 390 00:18:21,840 --> 00:18:23,240 Deschideți borcan de unt de arahide. 391 00:18:23,240 --> 00:18:27,008 392 00:18:27,008 --> 00:18:32,570 >> [Aplauze] 393 00:18:32,570 --> 00:18:34,790 >> David J. MALAN: Pasul opt, să mergem. 394 00:18:34,790 --> 00:18:37,510 Pasul opt, da, în spate. 395 00:18:37,510 --> 00:18:38,470 >> Audiența: [inaudibil] 396 00:18:38,470 --> 00:18:44,772 397 00:18:44,772 --> 00:18:45,700 >> David J. MALAN: Bine. 398 00:18:45,700 --> 00:18:47,040 Pasul nouă, da? 399 00:18:47,040 --> 00:18:48,924 >> Audiența: [inaudibil] 400 00:18:48,924 --> 00:18:51,567 >> David J. MALAN: --out de borcanul unt de arahide. 401 00:18:51,567 --> 00:18:53,830 Si-- si ce? 402 00:18:53,830 --> 00:18:54,729 >> Audiența: [inaudibil] 403 00:18:54,729 --> 00:18:58,222 >> David J. MALAN: Și a pus cuțit înapoi în unt de arahide. 404 00:18:58,222 --> 00:19:11,130 405 00:19:11,130 --> 00:19:12,090 Pasul zece. 406 00:19:12,090 --> 00:19:13,050 Pasul zece. 407 00:19:13,050 --> 00:19:14,970 >> Audiența: [inaudibil] 408 00:19:14,970 --> 00:19:20,710 >> David J. MALAN: Pune cuțitul out, iar apoi scoateți sigiliul. 409 00:19:20,710 --> 00:19:23,060 Nisa. 410 00:19:23,060 --> 00:19:24,400 Pe unt de arahide. 411 00:19:24,400 --> 00:19:34,490 412 00:19:34,490 --> 00:19:36,406 Bine, etapa 11. 413 00:19:36,406 --> 00:19:37,322 >> Audiența: [inaudibil] 414 00:19:37,322 --> 00:19:42,520 415 00:19:42,520 --> 00:19:48,164 >> David J. MALAN: OK, calculator gri urmați de calculator albastru sau roșu. 416 00:19:48,164 --> 00:19:49,631 Bine. 417 00:19:49,631 --> 00:19:53,054 >> [Aplauze] 418 00:19:53,054 --> 00:19:55,920 419 00:19:55,920 --> 00:19:57,170 David J. MALAN: Adu-ne acasă. 420 00:19:57,170 --> 00:19:59,570 Cuplu mai multe etape. 421 00:19:59,570 --> 00:20:00,250 Ce urmeaza? 422 00:20:00,250 --> 00:20:02,590 Etapele 12. 423 00:20:02,590 --> 00:20:04,161 Pasul 12. 424 00:20:04,161 --> 00:20:05,123 Da? 425 00:20:05,123 --> 00:20:14,262 >> Audiența: Pune una dintre feliile de pâine ușor pe una din mâinile tale. 426 00:20:14,262 --> 00:20:17,550 >> David J. MALAN: Unul din mâinile tale. 427 00:20:17,550 --> 00:20:20,760 Și apoi, pasul 13. 428 00:20:20,760 --> 00:20:21,260 Da? 429 00:20:21,260 --> 00:20:22,220 >> Audiența: [inaudibil] 430 00:20:22,220 --> 00:20:25,580 431 00:20:25,580 --> 00:20:27,150 >> David J. MALAN: felie de pâine --on. 432 00:20:27,150 --> 00:20:29,950 Bine. 433 00:20:29,950 --> 00:20:32,260 Destul de bine. 434 00:20:32,260 --> 00:20:34,990 Pasul 14, da. 435 00:20:34,990 --> 00:20:38,126 >> Audiența: Undo pas 13. 436 00:20:38,126 --> 00:20:39,950 >> David J. MALAN: Undo pas 13. 437 00:20:39,950 --> 00:20:42,690 438 00:20:42,690 --> 00:20:44,770 Să trecem la jeleu. 439 00:20:44,770 --> 00:20:47,900 Este un program de 100- pas, dar ne-au la pasul 15. 440 00:20:47,900 --> 00:20:49,210 Da. 441 00:20:49,210 --> 00:20:50,170 >> Audiența: [inaudibil] 442 00:20:50,170 --> 00:20:53,050 443 00:20:53,050 --> 00:20:59,570 >> David J. MALAN: 7 prin 13 folosind jeleu, pentru că cei mers atât de bine. 444 00:20:59,570 --> 00:21:02,530 Repetați pașii 7 prin 13, folosind jeleu. 445 00:21:02,530 --> 00:21:07,940 Deci profite de jumătatea inferioară a borcan jeleu cu o mână pe partea de sus. 446 00:21:07,940 --> 00:21:11,970 Pe de altă alta a alte top, ignorând partea, 447 00:21:11,970 --> 00:21:15,430 apuce cu mâinile opuse, capacul și vasul de plastic 448 00:21:15,430 --> 00:21:18,300 în partea de jos, și răsuciți timp de două secunde. 449 00:21:18,300 --> 00:21:19,940 Apoi, deschideți borcanul jeleu. 450 00:21:19,940 --> 00:21:23,290 451 00:21:23,290 --> 00:21:26,580 Și, în fine, să încercăm să să ne dea ceva comestibil. 452 00:21:26,580 --> 00:21:27,270 Pasul 16. 453 00:21:27,270 --> 00:21:35,820 454 00:21:35,820 --> 00:21:37,130 Deci, de ce nu l-am lăsa acolo. 455 00:21:37,130 --> 00:21:38,879 Va multumesc foarte mult pentru cele trei voluntari. 456 00:21:38,879 --> 00:21:41,466 [Aplauze] 457 00:21:41,466 --> 00:21:45,920 458 00:21:45,920 --> 00:21:50,300 >> Avem un pic CS50 stress în adâncime pentru tine. 459 00:21:50,300 --> 00:21:54,540 Acesta a fost de gând să fie un sandviș dar-- Deci, ce 460 00:21:54,540 --> 00:21:57,130 a fost punctul de, dincolo de a avea un pic de distracție cu algoritmul? 461 00:21:57,130 --> 00:22:00,140 Dar realitatea este că chiar și atunci când te programarea unui calculator, 462 00:22:00,140 --> 00:22:02,050 aveți nevoie pentru a fi super precis. 463 00:22:02,050 --> 00:22:04,030 La fel de complex sau intimidant ca propriul computer 464 00:22:04,030 --> 00:22:06,670 ar putea fi foarte bine pentru tine, la puțin atunci când ceva nu merge bine, 465 00:22:06,670 --> 00:22:10,150 realitatea este că este un destul de prost dispozitiv care a fost inventat de noi, oamenii, 466 00:22:10,150 --> 00:22:13,267 și poate face doar un subset de ceea ce am do-- uneori cu siguranță faster-- 467 00:22:13,267 --> 00:22:15,100 dar nu știe cum pentru a face presupuneri. 468 00:22:15,100 --> 00:22:18,070 Ea nu știe cum să fie pe aceeași lungime de undă ca tine. 469 00:22:18,070 --> 00:22:20,280 >> Acesta va face doar cu precizie ceea ce-l spun. 470 00:22:20,280 --> 00:22:22,070 Și veți fi lovit, poate, așa cum vom începe 471 00:22:22,070 --> 00:22:24,770 scrierea de cod real cu seturi de probleme prima și dincolo, 472 00:22:24,770 --> 00:22:27,490 cât de ușor este de a face o presupunere ca om, 473 00:22:27,490 --> 00:22:31,880 și nu anticipa am nevoie să se ocupe de acest caz, sau acest caz colț, 474 00:22:31,880 --> 00:22:34,900 ca să spunem așa, care ar putea foarte bine apărea în cazul în care, de exemplu, a avut Sam singurul 475 00:22:34,900 --> 00:22:38,711 borcan compresibil de jeleu, în timp ce oricine altcineva a avut unele borcane de sticlă ca 476 00:22:38,711 --> 00:22:39,210 bine. 477 00:22:39,210 --> 00:22:42,170 Deci, înainte de a ne întoarce nostru atenție la unele codul actual, 478 00:22:42,170 --> 00:22:44,680 permiteți-mi să introducă capete de aici la Yale curs de. 479 00:22:44,680 --> 00:22:49,058 Prietenii noștri Scaz, Andy, și Jason să vină și să spună salut. 480 00:22:49,058 --> 00:22:52,544 >> [Aplauze] 481 00:22:52,544 --> 00:22:58,022 482 00:22:58,022 --> 00:23:01,060 >> SCAZ: Am pierdut temporar Jason. 483 00:23:01,060 --> 00:23:02,440 Bună din nou, toată lumea. 484 00:23:02,440 --> 00:23:03,610 Numele meu este Scaz. 485 00:23:03,610 --> 00:23:06,860 Am fost de predare la Yale din 2001. 486 00:23:06,860 --> 00:23:10,820 Și când eu nu sunt de predare, cercetarea mea este în robotică 487 00:23:10,820 --> 00:23:12,620 și inteligență artificială. 488 00:23:12,620 --> 00:23:17,700 >> Și anunțul că am astăzi este că, începând într-o câteva săptămâni, 489 00:23:17,700 --> 00:23:22,170 vom fi adus unele materiale suplimentare pentru a CS50 pentru a vorbi 490 00:23:22,170 --> 00:23:24,510 despre software-ul de informații. 491 00:23:24,510 --> 00:23:28,230 Vom vorbi despre modul în care locuri precum Netflix și Hulu 492 00:23:28,230 --> 00:23:31,780 poate recomanda filme care ați putea dori să urmăriți. 493 00:23:31,780 --> 00:23:35,710 În cazul în care vom vorbi despre modul în care masini-driver mai puțin de fapt locul de muncă. 494 00:23:35,710 --> 00:23:39,020 Și vom fi în măsură să sol aceste lucruri în conceptele 495 00:23:39,020 --> 00:23:41,730 că sunteți de învățare în această clasă de astăzi. 496 00:23:41,730 --> 00:23:45,410 >> Pentru ca toate aceste lucruri sunt construit pe aceeași fundație. 497 00:23:45,410 --> 00:23:47,396 Și asta e ceea ce acest Seria va explora. 498 00:23:47,396 --> 00:23:49,520 Deci Abia nerăbdare să vedem mai mult de tine 499 00:23:49,520 --> 00:23:53,260 toate, și ai de gând să ajungă la vezi mai mult din noi toți foarte curând. 500 00:23:53,260 --> 00:23:56,500 Permiteți-mi să prezint apoi Jason. 501 00:23:56,500 --> 00:23:57,950 >> JASON: Max toată lumea. 502 00:23:57,950 --> 00:23:59,290 Numele meu este Jason. 503 00:23:59,290 --> 00:24:03,540 M-am dus, din păcate, să Harvard ca un student. 504 00:24:03,540 --> 00:24:07,020 Care va să se taie din fluxul real. 505 00:24:07,020 --> 00:24:09,870 >> Și acum sunt aici în calitate de lector în departamentul de informatică. 506 00:24:09,870 --> 00:24:14,825 Și mă ajuta alerga cursului cu Scaz, David și Andy. 507 00:24:14,825 --> 00:24:17,140 >> Andy: Hei baieti. 508 00:24:17,140 --> 00:24:17,980 Numele meu este Andy. 509 00:24:17,980 --> 00:24:21,992 Eu sunt de fapt doar Yale elev pe scena acum. 510 00:24:21,992 --> 00:24:25,464 >> [Aplauze] 511 00:24:25,464 --> 00:24:29,440 512 00:24:29,440 --> 00:24:31,770 >> Sunt în Berkeley College, originar din Solon, Ohio. 513 00:24:31,770 --> 00:24:35,240 514 00:24:35,240 --> 00:24:37,930 Și am fost unul dintre acei copii în cazul în care, atunci când am venit la Yale, 515 00:24:37,930 --> 00:24:42,030 M-am gândit cu adevărat că nu aș trebuie să se uite la un număr vreodată. 516 00:24:42,030 --> 00:24:46,240 Și apoi am realizat că ai nevoie atât știință și QR credite pentru a absolvi. 517 00:24:46,240 --> 00:24:51,340 Și așa primavara mea student în anul întâi, am luat o clasa, o CS, intro CS clasa aici 518 00:24:51,340 --> 00:24:52,230 la Yale. 519 00:24:52,230 --> 00:24:54,710 Am fost ca, acest lucru este ca de fapt destul de cool. 520 00:24:54,710 --> 00:25:01,330 >> Și în timp ce de fapt am ajuns de declarare ca o afacerile globale majore, competențele 521 00:25:01,330 --> 00:25:04,910 Am învățat în CS și programarea sunt atât de aplicabile orice domeniu 522 00:25:04,910 --> 00:25:05,970 alegeți să faceți. 523 00:25:05,970 --> 00:25:09,770 Iar personalul de aici la Yale, am fost atât de greu la locul de muncă 524 00:25:09,770 --> 00:25:10,800 să se pregătească pentru voi. 525 00:25:10,800 --> 00:25:13,410 Si asteptam cu nerabdare sa vad toate în secțiune și birou ore. 526 00:25:13,410 --> 00:25:14,874 Deci da. 527 00:25:14,874 --> 00:25:18,178 >> [Aplauze] 528 00:25:18,178 --> 00:25:19,297 529 00:25:19,297 --> 00:25:20,380 David J. MALAN: Mulțumesc. 530 00:25:20,380 --> 00:25:22,940 Deci, chiar înainte de a început de clasă, am avut o oportunitate 531 00:25:22,940 --> 00:25:25,660 să se plimbe campus cu un telefon mobil și să ia 532 00:25:25,660 --> 00:25:30,530 unele selfies în formă videoclip într-adevăr primul meu tur al campusului Yale aici. 533 00:25:30,530 --> 00:25:35,420 Și așa ne-am gândit împărtășesc o dur tăiat de exact acest lucru ca Scaz și Andy 534 00:25:35,420 --> 00:25:37,970 si Jason mi-a luat prin campus. 535 00:25:37,970 --> 00:25:43,662 536 00:25:43,662 --> 00:25:44,328 [VIDEO PLAYBACK] 537 00:25:44,328 --> 00:25:47,322 [Sirens] 538 00:25:47,322 --> 00:25:49,318 -David. 539 00:25:49,318 --> 00:25:50,132 Bun venit la Yale. 540 00:25:50,132 --> 00:25:50,840 -Bine ca te vad. 541 00:25:50,840 --> 00:25:52,410 -Ma bucur sa te vad. 542 00:25:52,410 --> 00:25:53,340 -Putem Merge într-un turneu? 543 00:25:53,340 --> 00:25:56,845 -Să Mergem pe un tur. 544 00:25:56,845 --> 00:25:57,523 Tur -Road. 545 00:25:57,523 --> 00:25:59,106 -Acest Semn a fost acolo pentru un timp. 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 >> Grăbește-te! 549 00:26:05,293 --> 00:26:08,970 Du-te, du-te, du-te, du-te. 550 00:26:08,970 --> 00:26:12,340 Ar trebui să [neauzit] Harkness Tower. 551 00:26:12,340 --> 00:26:13,850 >> -Si Am văzut că de câteva ori. 552 00:26:13,850 --> 00:26:16,760 553 00:26:16,760 --> 00:26:20,155 >> [Aplauze] 554 00:26:20,155 --> 00:26:21,130 555 00:26:21,130 --> 00:26:22,890 >> Uite-te de motocicleta! 556 00:26:22,890 --> 00:26:24,500 Ahh! 557 00:26:24,500 --> 00:26:25,030 Bună Frank. 558 00:26:25,030 --> 00:26:26,314 >> Ce-i treaba, băieți? 559 00:26:26,314 --> 00:26:26,855 -Ce mai faci? 560 00:26:26,855 --> 00:26:28,474 -Bine ca te vad. 561 00:26:28,474 --> 00:26:29,390 Bun venit la video. 562 00:26:29,390 --> 00:26:32,270 Nu te purta prea excitat. 563 00:26:32,270 --> 00:26:34,502 >> -Am Dragoste Silliman. 564 00:26:34,502 --> 00:26:36,430 Ahh! 565 00:26:36,430 --> 00:26:39,780 >> -E Fost aproximativ trei ore de la Jason a avut înghețată și Nutella. 566 00:26:39,780 --> 00:26:43,189 Așa că trebuie să se oprească din nou la Silliman pentru un pic. 567 00:26:43,189 --> 00:26:45,137 >> -Nu E chiar [Inaudibil] totuși, doar faptul 568 00:26:45,137 --> 00:26:47,270 că ei o au aici este atât de uimitor. 569 00:26:47,270 --> 00:26:49,830 Omule, nu e Nutella la fiecare masa. 570 00:26:49,830 --> 00:26:51,830 >> -Nu A fost anul trecut prea. 571 00:26:51,830 --> 00:26:54,220 >> Da. 572 00:26:54,220 --> 00:26:56,440 >> Spune multe despre Yale până acum. 573 00:26:56,440 --> 00:26:58,485 Dar eu acum, că TD acolo. 574 00:26:58,485 --> 00:26:59,860 Și care este considerat în afara campusului. 575 00:26:59,860 --> 00:27:03,659 >> -Aici Avem arhitectura gotica. 576 00:27:03,659 --> 00:27:04,200 Faimos la nivel mondial. 577 00:27:04,200 --> 00:27:06,758 Avem unele arhitectura gotica mai multe. 578 00:27:06,758 --> 00:27:10,614 Și construcții, și mai arhitectura gotica. 579 00:27:10,614 --> 00:27:11,114 Bună. 580 00:27:11,114 --> 00:27:15,470 Acest lucru este în cazul în care avem de ore de birou Marți până joi în Hogwarts, 581 00:27:15,470 --> 00:27:16,922 ca [neauzit]. 582 00:27:16,922 --> 00:27:20,620 583 00:27:20,620 --> 00:27:21,120 -In regula. 584 00:27:21,120 --> 00:27:22,078 Asta e pentru turneu. 585 00:27:22,078 --> 00:27:24,030 Suntem la Universitatea Yale lui Facultatea de Drept, în cazul în care 586 00:27:24,030 --> 00:27:25,870 prelegere astăzi este pe cale să aibă loc. 587 00:27:25,870 --> 00:27:29,220 Să capul,. 588 00:27:29,220 --> 00:27:30,375 >> [END PLAYBACK] 589 00:27:30,375 --> 00:27:32,370 >> David J. MALAN: Și care ne aduce aici, acum. 590 00:27:32,370 --> 00:27:38,040 591 00:27:38,040 --> 00:27:40,770 Deci până acum, am fost concentrându-se pe pseudocod, 592 00:27:40,770 --> 00:27:42,430 care este această sintaxă limba engleză-ca. 593 00:27:42,430 --> 00:27:45,030 Ea nu are nici o specificație prescrisă. 594 00:27:45,030 --> 00:27:47,030 Este doar să utilizați unele limbă intuitiv, dacă 595 00:27:47,030 --> 00:27:48,950 doresc să explic ceea ce vrei sa faci. 596 00:27:48,950 --> 00:27:52,270 >> Dar să începem acum să tranziție codul, ca majoritatea oamenilor ar spune. 597 00:27:52,270 --> 00:27:54,880 Dar mai precis, ceva cunoscut sub numele de cod sursă. 598 00:27:54,880 --> 00:27:58,210 Aceasta este limba pe care oamenii scrie că computerele ultimately-- 599 00:27:58,210 --> 00:28:00,780 eventual după un numar de steps-- în cele din urmă înțelege 600 00:28:00,780 --> 00:28:02,530 astfel încât să știe cum să facă ceva. 601 00:28:02,530 --> 00:28:05,120 Că ai văzut o bucatica de acest poate miercuri. 602 00:28:05,120 --> 00:28:07,780 >> Acesta este un exemplu care incredibil, underwhelming 603 00:28:07,780 --> 00:28:10,220 atunci când pur și simplu rulați spune "Hello World". 604 00:28:10,220 --> 00:28:13,510 Și este scris într-un limbaj numit C, care este foarte asemănătoare sintactic 605 00:28:13,510 --> 00:28:15,676 la o mulțime de alte limbi care ar putea să nu știi, 606 00:28:15,676 --> 00:28:18,409 dar s-ar putea să fi auzit de cum ar fi Java, și C ++, Python și, și Ruby, 607 00:28:18,409 --> 00:28:21,200 și altele asemenea, și într-adevăr, ne vom petrec o mare parte din semestrul folosind C, 608 00:28:21,200 --> 00:28:23,530 și apoi spre sfârșitul semestru, bazându-se pe el, 609 00:28:23,530 --> 00:28:25,446 și introducerea orice Numărul de alte limbi. 610 00:28:25,446 --> 00:28:28,810 Printre ei PHP, JavaScript și, un limbaj de baze de date SQL numit. 611 00:28:28,810 --> 00:28:31,526 Dar cu C, ceea ce vom avea această înțelegere de jos în sus 612 00:28:31,526 --> 00:28:33,900 de exact cum muncă calculatoare, ceea ce se poate face cu ei, 613 00:28:33,900 --> 00:28:37,252 și cum poți rezolva problemele cu atât mai eficient cu această 614 00:28:37,252 --> 00:28:39,460 stratificare care am discutat miercuri, și în picioare 615 00:28:39,460 --> 00:28:40,870 pe umerii altora. 616 00:28:40,870 --> 00:28:42,200 Dar mai multe despre asta pentru a veni. 617 00:28:42,200 --> 00:28:46,650 >> Astăzi ne uităm la un mediu mai simplu, dar un fundamental identice 618 00:28:46,650 --> 00:28:49,970 mediu cunoscut sub numele de zero de către prietenii nostri de la MIT Media Lab. 619 00:28:49,970 --> 00:28:52,570 Aceasta este o grafică limbaj de programare, Scratch, 620 00:28:52,570 --> 00:28:54,330 prin care aveți posibilitatea să glisați and drop lucruri care 621 00:28:54,330 --> 00:28:57,430 arata ca piese de puzzle care numai de blocare în cazul în care face 622 00:28:57,430 --> 00:28:59,872 sens logic sau programatic să facă acest lucru. 623 00:28:59,872 --> 00:29:02,330 Dar o să ne permită să avea o conversație despre toate 624 00:29:02,330 --> 00:29:04,604 din aceeași programare fundamentele pe care unii dintre voi 625 00:29:04,604 --> 00:29:06,520 să știe deja, că mulți dintre voi s-ar putea să nu 626 00:29:06,520 --> 00:29:09,670 știu nimic de fără pentru a obține împotmolit sincer, 627 00:29:09,670 --> 00:29:13,150 în intelectual sintaxa neinteresant de punct și virgulă, 628 00:29:13,150 --> 00:29:14,950 și paranteze, și citate, și altele asemenea. 629 00:29:14,950 --> 00:29:16,910 Toate acestea, mai devreme pe, sunt o distragere a atenției 630 00:29:16,910 --> 00:29:20,322 la ce sunt interesante și idei cu adevărat utile. 631 00:29:20,322 --> 00:29:22,280 Deci, haideți să aruncăm o rapid privire la mediul 632 00:29:22,280 --> 00:29:24,180 aici, astfel încât să știi ce așteaptă. 633 00:29:24,180 --> 00:29:28,060 Și, de fapt, printre jocuri pe care le poate juca sunt câteva programe scrise 634 00:29:28,060 --> 00:29:30,810 prin CS50 proprii foști elevi. 635 00:29:30,810 --> 00:29:36,200 Unul dintre ei, eu, voi fi acesta scris în școală absolvent pentru mine. 636 00:29:36,200 --> 00:29:39,030 >> Dacă aș putea lua un voluntar care e dispus să joace 637 00:29:39,030 --> 00:29:40,420 un joc pentru prima dată. 638 00:29:40,420 --> 00:29:40,920 Sigur. 639 00:29:40,920 --> 00:29:41,690 Haide sus. 640 00:29:41,690 --> 00:29:42,565 Care e numele tău? 641 00:29:42,565 --> 00:29:43,372 >> Audiența: Angela. 642 00:29:43,372 --> 00:29:44,830 David J. MALAN: Angela, haide sus. 643 00:29:44,830 --> 00:29:47,220 Deci, Scratch a fost în afara de cativa ani. 644 00:29:47,220 --> 00:29:49,960 Și când am fost în școală absolvent, Am fost cruce înregistrate la MIT, 645 00:29:49,960 --> 00:29:53,392 luând profesor Mitchel Resnick de curs de tehnologii educaționale. 646 00:29:53,392 --> 00:29:56,350 Și am fost printre prima studenți din lume pentru a efectiv beta 647 00:29:56,350 --> 00:29:57,120 încercare Scratch. 648 00:29:57,120 --> 00:30:00,090 Și proiectul meu a fost ceea ce Angela acum sa oferit voluntar grațios 649 00:30:00,090 --> 00:30:02,060 pentru a juca numit Oscartime. 650 00:30:02,060 --> 00:30:04,507 >> Deci, am de gând să merg mai departe și dublu clic pe pictograma aici. 651 00:30:04,507 --> 00:30:07,590 Se va deschide o programare mediu care vom arunca cu capul în curând în. 652 00:30:07,590 --> 00:30:09,720 Am de gând să full-screen l pentru Angela, aici. 653 00:30:09,720 --> 00:30:12,490 Am de gând să lovit verde pavilion într-o clipă. 654 00:30:12,490 --> 00:30:15,130 Și apoi o mulțime de gunoi este de gând să cadă din cer. 655 00:30:15,130 --> 00:30:17,830 Și ai de gând să utilizați mouse-ul aici pentru a trage de fapt, și fixați 656 00:30:17,830 --> 00:30:20,169 coșul de gunoi în cutii de gunoi Oscar lui. 657 00:30:20,169 --> 00:30:23,210 Deci, dacă vrei să mergi mai departe și faceți clic pe steagul verde, jocul va începe. 658 00:30:23,210 --> 00:30:26,890 >> [MUSIC JOC] 659 00:30:26,890 --> 00:30:29,980 >> Oh, îmi place gunoi. 660 00:30:29,980 --> 00:30:34,840 Orice murdar sau murdar sau plin de praf. 661 00:30:34,840 --> 00:30:39,300 Orice zdrențuită sau putred, sau ruginit. 662 00:30:39,300 --> 00:30:43,155 Da, îmi place gunoi. 663 00:30:43,155 --> 00:30:45,530 Dacă într-adevăr doriți să vedeți ceva prost, uita-te la asta. 664 00:30:45,530 --> 00:30:49,570 Am aici o sneaker care este zdrențuite și uzate. 665 00:30:49,570 --> 00:30:53,750 Totul este plin de găuri deține și șireturile sunt rupte. 666 00:30:53,750 --> 00:30:57,590 Un cadou de la mama mea ziua în care am născut. 667 00:30:57,590 --> 00:30:59,434 Îmi place pentru că it's-- 668 00:30:59,434 --> 00:31:02,600 David J. MALAN: --green aceste zile doar fi aruncat totul la gunoi. 669 00:31:02,600 --> 00:31:04,312 Și așa mai departe ceea ce a CS50 propriu did-- personal 670 00:31:04,312 --> 00:31:06,270 Jordan, care s-ar putea întâlni today-- are de fapt 671 00:31:06,270 --> 00:31:08,030 actualizat acest lucru pentru timpurile de astăzi. 672 00:31:08,030 --> 00:31:10,800 Și așa să-mi permiteți să se deschidă un remix în schimb pentru Angela. 673 00:31:10,800 --> 00:31:13,600 Și vom juca acest loc pentru câteva momente în care acum esti 674 00:31:13,600 --> 00:31:16,600 Va trebui să decidă dacă între pentru a arunca ceva la gunoi, 675 00:31:16,600 --> 00:31:19,050 sau reciclați sau compost l. 676 00:31:19,050 --> 00:31:21,280 Deci, există un pic de presiune pe tine pentru a obține 677 00:31:21,280 --> 00:31:28,040 acest drept în fața dumneavoastră pentru a 392 497 colegii de aici în sală, 678 00:31:28,040 --> 00:31:28,724 dacă ar fi. 679 00:31:28,724 --> 00:31:29,390 [VIDEO PLAYBACK] 680 00:31:29,390 --> 00:31:32,540 [MUSIC JOC] 681 00:31:32,540 --> 00:31:36,280 Oh Îmi place gunoi. 682 00:31:36,280 --> 00:31:40,840 Orice murdar sau murdar sau plin de praf. 683 00:31:40,840 --> 00:31:44,910 Orice neregulat sau putred sau ruginite. 684 00:31:44,910 --> 00:31:48,830 Da, îmi place gunoi. 685 00:31:48,830 --> 00:31:51,480 >> Dacă într-adevăr doriți să vedeți ceva prost, uita-te la asta. 686 00:31:51,480 --> 00:31:55,540 Am aici o sneaker care este zdrențuite și uzate. 687 00:31:55,540 --> 00:31:59,440 Totul este plin de găuri și șireturile sunt rupte. 688 00:31:59,440 --> 00:32:03,762 Un cadou de la mama mea ziua în care am născut. 689 00:32:03,762 --> 00:32:07,630 Îmi place pentru că e gunoi. 690 00:32:07,630 --> 00:32:11,570 >> Oh, îmi place gunoi. 691 00:32:11,570 --> 00:32:15,512 Orice murdar, sau murdar, sau praf. 692 00:32:15,512 --> 00:32:20,200 Orice neregulat sau putred sau ruginite. 693 00:32:20,200 --> 00:32:23,856 Da, îmi place gunoi. 694 00:32:23,856 --> 00:32:26,246 Iată câteva lucruri mai putred. 695 00:32:26,246 --> 00:32:28,240 Am aici niște newspaper-- 696 00:32:28,240 --> 00:32:28,889 >> [END PLAYBACK] 697 00:32:28,889 --> 00:32:30,680 David J. MALAN: --are de fapt compostabile. 698 00:32:30,680 --> 00:32:32,790 Dar vă mulțumesc pentru voluntarul nostru, Angela. 699 00:32:32,790 --> 00:32:37,920 Avem o minge de stres pentru tine, aici, de asemenea. 700 00:32:37,920 --> 00:32:38,790 Așa că vă mulțumesc. 701 00:32:38,790 --> 00:32:40,250 >> Deci, acesta a fost scris de mine. 702 00:32:40,250 --> 00:32:44,324 Dar acum, unul câte un fost student real care a implementat acest lucru, care este un joc. 703 00:32:44,324 --> 00:32:46,490 Toate în această limbă numit Zero, ne vom în curând că 704 00:32:46,490 --> 00:32:47,850 coaja înapoi straturile de. 705 00:32:47,850 --> 00:32:49,940 Dar dacă am fi like-- cum despre un alt voluntar? 706 00:32:49,940 --> 00:32:50,440 Dreapta. 707 00:32:50,440 --> 00:32:50,970 >> Haide sus. 708 00:32:50,970 --> 00:32:52,070 Care e numele tău? 709 00:32:52,070 --> 00:32:52,570 Glance? 710 00:32:52,570 --> 00:32:53,280 Lance. 711 00:32:53,280 --> 00:32:54,082 Lance, haide sus. 712 00:32:54,082 --> 00:32:54,790 Îmi pare bine să te cunosc. 713 00:32:54,790 --> 00:32:56,170 Vino pe această cale. 714 00:32:56,170 --> 00:32:59,940 Deci, aceasta ar putea avea un temă familiar pentru unii dintre voi. 715 00:32:59,940 --> 00:33:02,180 Dar veți vedea că prea nu poate fi interactivitate, 716 00:33:02,180 --> 00:33:05,242 prin care ai putea fi de fapt Rolul personajului se deplasează în jurul. 717 00:33:05,242 --> 00:33:05,950 Îmi pare bine să te cunosc. 718 00:33:05,950 --> 00:33:06,470 David. 719 00:33:06,470 --> 00:33:10,464 >> Eu vă dau, Pikachu. 720 00:33:10,464 --> 00:33:12,380 Instrucțiuni va despre să vină de pe ecran. 721 00:33:12,380 --> 00:33:16,070 Dar, în scurt, ai de gând să doresc să prindă lucruri gustoase, 722 00:33:16,070 --> 00:33:18,827 și pentru a evita bombe și alte lucruri. 723 00:33:18,827 --> 00:33:19,910 Cu cursoarele în întregime. 724 00:33:19,910 --> 00:33:21,320 Deci a lovit bara de spațiu. 725 00:33:21,320 --> 00:33:21,820 -Pikachu. 726 00:33:21,820 --> 00:33:23,480 David J. MALAN: Catch chestii din stânga, 727 00:33:23,480 --> 00:33:24,938 nu prinde chestii pe dreapta. 728 00:33:24,938 --> 00:33:27,576 729 00:33:27,576 --> 00:34:44,540 >> [MUSIC JOC] 730 00:34:44,540 --> 00:34:46,332 >> Deci, o ultima aici. 731 00:34:46,332 --> 00:34:48,040 Dacă am putea avea o mai voluntar aici. 732 00:34:48,040 --> 00:34:50,760 Ne-am gândit recrea ceva from-- în shirt-- galben 733 00:34:50,760 --> 00:34:53,110 de miercuri. 734 00:34:53,110 --> 00:34:54,540 Cum te numești? 735 00:34:54,540 --> 00:34:57,090 Mary, haide sus Mary. 736 00:34:57,090 --> 00:35:01,340 >> Și amintesc miercuri am introdus noțiunea de binar, și becurile binare. 737 00:35:01,340 --> 00:35:03,930 Aceasta este de fapt o acum punerea în aplicare a aceluiași interfață 738 00:35:03,930 --> 00:35:07,360 că am avut pe iPad cu lumina bulbi, dar aici prestate digital. 739 00:35:07,360 --> 00:35:11,220 Și, mai degrabă decât a face un stres ball-- bucur să te cunosc, David. 740 00:35:11,220 --> 00:35:14,600 Am adus o lumină câteva becuri de la Cambridge. 741 00:35:14,600 --> 00:35:18,650 >> Dacă se poate, pe cei clic becuri pentru a le activa și dezactiva, 742 00:35:18,650 --> 00:35:29,510 veni cu binar reprezentarea spun 256. 743 00:35:29,510 --> 00:35:32,500 Și veți vedea în mijloc, concordanța curent. 744 00:35:32,500 --> 00:35:33,690 Astfel încât unul este pe. 745 00:35:33,690 --> 00:35:34,810 Deci din stânga bit este pe. 746 00:35:34,810 --> 00:35:36,016 >> MARY: Da, [neauzit] 747 00:35:36,016 --> 00:35:39,292 748 00:35:39,292 --> 00:35:41,280 >> David J. MALAN: Ei bine, așa că avem doar-- oh. 749 00:35:41,280 --> 00:35:42,780 Deci aceasta este coloana 128. 750 00:35:42,780 --> 00:35:44,460 Deci suntem de până la 128. 751 00:35:44,460 --> 00:35:46,769 Trebuie să ajungem la 256. 752 00:35:46,769 --> 00:35:48,560 Și puteți joace pe și în afara, nu e mare lucru. 753 00:35:48,560 --> 00:35:53,700 Sau puteți lovi că 128 de mai multe ori, dacă doriți. 754 00:35:53,700 --> 00:35:56,310 >> Bine, bine. 755 00:35:56,310 --> 00:35:58,090 24. 756 00:35:58,090 --> 00:35:59,790 Da, se apropie. 757 00:35:59,790 --> 00:36:02,105 Mai aproape! 758 00:36:02,105 --> 00:36:05,980 Oh, ce-i problema atunci? 759 00:36:05,980 --> 00:36:07,510 Deci, ce-i problema? 760 00:36:07,510 --> 00:36:10,040 >> Deci, ceea ce avem nevoie pentru a rezolva aceasta problema? 761 00:36:10,040 --> 00:36:11,060 Asa ca am nevoie de un alt bit. 762 00:36:11,060 --> 00:36:12,770 Și acest lucru este perfect rezonabil în realitate, nu? 763 00:36:12,770 --> 00:36:15,800 Dacă doriți să conta din numărul Un, 2, 3 și 4 la 5, 6, 7, 8, 9 764 00:36:15,800 --> 00:36:18,880 să se rostogolească de fapt pe la 10, ești avea nevoie de un pic suplimentar. 765 00:36:18,880 --> 00:36:21,240 Deci, haideți să de fapt înapoi aici, și să vină 766 00:36:21,240 --> 00:36:23,790 aplice: care a fost în mod evident, menit să fie un set-up. 767 00:36:23,790 --> 00:36:25,590 >> Nu poți face 256 cu doar un bec. 768 00:36:25,590 --> 00:36:29,290 Deci, cum despre pur și simplu numărul 50? 769 00:36:29,290 --> 00:36:29,977 Number 50. 770 00:36:29,977 --> 00:36:34,550 771 00:36:34,550 --> 00:36:35,100 Excelent. 772 00:36:35,100 --> 00:36:39,050 O rundă mare de aplauze pentru Maria și ei, de asemenea. 773 00:36:39,050 --> 00:36:41,840 Multumesc. 774 00:36:41,840 --> 00:36:45,570 >> Deci, acest topic-- intenționat ca că asta-- va reaparea, de fapt. 775 00:36:45,570 --> 00:36:50,020 Cea mai mare valoare pe care le puteți reprezintă cu opt biți, sau un octet, 776 00:36:50,020 --> 00:36:51,750 este într-adevăr 256. 777 00:36:51,750 --> 00:36:55,770 Dar nu în cazul în care începi numărând de 0, după cum am 778 00:36:55,770 --> 00:36:58,060 să țină face de către având toate aceste biți de pe. 779 00:36:58,060 --> 00:37:01,530 Dar acum Haideti sa patrundem in activului suport punerea în aplicare a acestui mediu, 780 00:37:01,530 --> 00:37:03,200 și tachineze pe langa unele dintre aceste idei. 781 00:37:03,200 --> 00:37:06,350 >> Deci, într-un moment suntem prezenti la o câteva Bazele de programare diferite. 782 00:37:06,350 --> 00:37:08,080 Prima dintre care sun declarație. 783 00:37:08,080 --> 00:37:09,360 Un fel de verbe, dacă vreți. 784 00:37:09,360 --> 00:37:09,960 Acțiuni. 785 00:37:09,960 --> 00:37:11,180 Lucruri pe care ar trebui să fie făcut. 786 00:37:11,180 --> 00:37:13,430 >> Și într-un moment veți vedea blocuri care arata ca acest lucru. 787 00:37:13,430 --> 00:37:14,940 Spune "Hello World", de exemplu. 788 00:37:14,940 --> 00:37:16,330 Sau așteptați o secundă. 789 00:37:16,330 --> 00:37:17,834 Sau pentru a juca miau sunet. 790 00:37:17,834 --> 00:37:20,500 Și într-adevăr mediul în care vom face acest 791 00:37:20,500 --> 00:37:21,610 este numit Scratch. 792 00:37:21,610 --> 00:37:25,060 >> Și dacă am trage în sus Scratch fără preloading orice cod real, 793 00:37:25,060 --> 00:37:27,830 haideți să aruncăm o scurtă privire la acest interfață cu utilizatorul, ca să spunem așa. 794 00:37:27,830 --> 00:37:29,730 Comenzile cu care interacționează. 795 00:37:29,730 --> 00:37:32,840 Pe partea de sus din stânga aici la ecran, sub meniuri, 796 00:37:32,840 --> 00:37:34,650 avem scena, ca să spunem așa. 797 00:37:34,650 --> 00:37:36,550 Deci, Scratch este ceea ce numim Sprite să. 798 00:37:36,550 --> 00:37:37,520 E un personaj. 799 00:37:37,520 --> 00:37:40,660 >> Și el poate fi controlat prin scrierea programelor împotriva lui. 800 00:37:40,660 --> 00:37:43,950 Și el va fi capabil să se deplaseze sus și în jos și stânga și la dreapta în acest mediu, 801 00:37:43,950 --> 00:37:46,075 nu doar prin mutarea mouse-ul, dar programatic. 802 00:37:46,075 --> 00:37:48,930 Pot spune-i de mers pe jos dreapta, jos stânga, în sus, în jos sau altele asemenea. 803 00:37:48,930 --> 00:37:51,440 Și pot introduce alte sprite sau caractere, de asemenea. 804 00:37:51,440 --> 00:37:54,616 >> Într-adevăr, pe fundul aici este locul unde veți vedea lista de sprites. 805 00:37:54,616 --> 00:37:56,865 În momentul de față, doar am o, dar pot crea mai mult, 806 00:37:56,865 --> 00:37:58,880 și vor apărea exact acolo. 807 00:37:58,880 --> 00:38:02,630 Deci, dacă înapoi pentru un moment, cum ar fi Oscartime-- de exemplu, Oscar, 808 00:38:02,630 --> 00:38:04,590 pe stânga, coșul de gunoi poate, a fost un sprite. 809 00:38:04,590 --> 00:38:07,450 Și lucrul în mijloc, reciclare bin, a fost un alt sprite. 810 00:38:07,450 --> 00:38:09,300 Și coșul de compost a fost un alt sprite. 811 00:38:09,300 --> 00:38:11,790 Și fiecare bucată de gunoi sau reciclabile 812 00:38:11,790 --> 00:38:14,590 care a fost care se încadrează din cer este de asemenea un Sprite, fiecare dintre care 813 00:38:14,590 --> 00:38:16,150 a fost programat individual. 814 00:38:16,150 --> 00:38:17,040 >> Cum vă programați? 815 00:38:17,040 --> 00:38:20,180 Ei bine, aici pe dreapta în partea stângă este zona script-uri. 816 00:38:20,180 --> 00:38:22,930 Și acest lucru este în cazul în care putem drag and drop piese de puzzle. 817 00:38:22,930 --> 00:38:26,066 Într-o săptămână, se va fi în cazul în care vom scrie cod echivalent 818 00:38:26,066 --> 00:38:28,940 cu mai mult de o tastatură, dar pentru astăzi va fi drag and drop 819 00:38:28,940 --> 00:38:31,680 piese de puzzle, The palete pentru care poate toți 820 00:38:31,680 --> 00:38:33,190 fi găsit aici chiar în mijloc. 821 00:38:33,190 --> 00:38:35,190 Într-adevăr, în mijlocul aici există o grămadă 822 00:38:35,190 --> 00:38:37,910 categoriilor de puzzle piese sau blocuri. 823 00:38:37,910 --> 00:38:42,500 Unul este legat de mișcare, uite, sunet, un creion merge în sus și în jos, 824 00:38:42,500 --> 00:38:43,860 date, evenimente de control. 825 00:38:43,860 --> 00:38:45,654 Nu este destul de sigur încă ce toate acestea înseamnă, 826 00:38:45,654 --> 00:38:47,820 dar veți vedea că le-am fost frumos clasificate. 827 00:38:47,820 --> 00:38:50,680 Și pentru a scrie un program în Scratch, să facă exact acest lucru. 828 00:38:50,680 --> 00:38:53,480 >> Am de gând să încep în Evenimente, și trageți asta aici. 829 00:38:53,480 --> 00:38:55,470 Când pavilion verde clic. 830 00:38:55,470 --> 00:38:56,704 Acum, de ce asta? 831 00:38:56,704 --> 00:38:59,120 Ei bine, reamintesc faptul că voluntarii noștri a venit, primul lucru pe care am 832 00:38:59,120 --> 00:39:02,017 sau ei au fost dați clic care verde pavilion în colțul din dreapta sus. 833 00:39:02,017 --> 00:39:03,600 Și asta înseamnă doar a porni programul. 834 00:39:03,600 --> 00:39:06,560 >> Deci, atunci când acest eveniment se intampla, ce vreau să fac? 835 00:39:06,560 --> 00:39:10,070 Am de gând să merg în pare, și am de gând să fac "salut". 836 00:39:10,070 --> 00:39:14,000 Și am de gând să schimbe acest lucru și spune ceva de genul "salut Yale." 837 00:39:14,000 --> 00:39:16,970 Iar acum am de gând pentru a mări out, faceți clic pe steagul verde, 838 00:39:16,970 --> 00:39:19,050 și voila, am scris un program. 839 00:39:19,050 --> 00:39:20,990 Nu e tot ce interesant doar încă, dar acest lucru 840 00:39:20,990 --> 00:39:23,195 este exact în cazul în care fiecare din cei autor început, 841 00:39:23,195 --> 00:39:25,740 ambele cu Pikachu, iar bulbi binare, și Oscartime, 842 00:39:25,740 --> 00:39:26,890 și atât de multe mai multe exemple. 843 00:39:26,890 --> 00:39:29,150 >> Începi super-simplu, și apoi începe să strat, 844 00:39:29,150 --> 00:39:31,046 și se adaugă la caracteristici și funcționalitate. 845 00:39:31,046 --> 00:39:32,920 Deci, ce sunt aceste straturi O să constea din? 846 00:39:32,920 --> 00:39:36,086 Ei bine, dincolo de declarații, vom, de asemenea, au lucruri care sunt puțin mai fancily 847 00:39:36,086 --> 00:39:38,910 numit Boolean expresii, după cineva pe nume Bool. 848 00:39:38,910 --> 00:39:42,820 Și o expresie booleană este pur și simplu un expresie care este fie adevărat sau fals, 849 00:39:42,820 --> 00:39:45,740 da sau nu, 1 sau 0. 850 00:39:45,740 --> 00:39:47,480 >> Orice poli opuși de genul asta. 851 00:39:47,480 --> 00:39:48,902 Este fie adevărat sau nu. 852 00:39:48,902 --> 00:39:51,360 Dar noi, de asemenea, vom vedea cele care s-ar putea arata ca aceasta. 853 00:39:51,360 --> 00:39:52,925 Deci, de exemplu, este mouse-ul jos? 854 00:39:52,925 --> 00:39:54,550 Sunt un fel de întrebări, dacă vrei. 855 00:39:54,550 --> 00:39:57,650 >> Mouse-ul este fie în jos, adevărat sau nu e, fals. 856 00:39:57,650 --> 00:39:59,990 1 sau 0, dacă vreți, tinde să fie de cartografiere. 857 00:39:59,990 --> 00:40:01,740 Adevărat este 1, fals este 0. 858 00:40:01,740 --> 00:40:03,740 Ei bine, ceea ce despre mai puțin de asta? 859 00:40:03,740 --> 00:40:05,400 Sau cel puțin așa, este mai mică decât această aceasta? 860 00:40:05,400 --> 00:40:06,650 Aceasta este o chestiune de felul. 861 00:40:06,650 --> 00:40:09,140 >> Și dacă ai pus doi numere acolo, fie x 862 00:40:09,140 --> 00:40:12,010 va fi mai mică de y sau egal cu y, sau mai mare decât y, 863 00:40:12,010 --> 00:40:14,635 dar acest bloc vom vedea, este doar O să răspundă la întrebarea, 864 00:40:14,635 --> 00:40:15,810 este această mică decât cea? 865 00:40:15,810 --> 00:40:17,650 S-ar putea vedea, de asemenea am ceva de genul asta. 866 00:40:17,650 --> 00:40:18,790 Indicii mouse-ul atinge. 867 00:40:18,790 --> 00:40:21,610 Deci, în Scratch, puteți cere întrebarea, este Sprite 868 00:40:21,610 --> 00:40:22,800 atingând cursorul mouse-ului? 869 00:40:22,800 --> 00:40:26,040 Cu alte cuvinte, este situându-cursor peste capacul, sau echivalentul? 870 00:40:26,040 --> 00:40:28,100 >> Vom vedea lucrurile Anding împreună. 871 00:40:28,100 --> 00:40:30,970 Puteti cere două întrebări, și asigurați-vă că ambii 872 00:40:30,970 --> 00:40:34,920 vă dau da sau raspunsuri adevarate înainte luarea unei decizii de a face ceva. 873 00:40:34,920 --> 00:40:36,709 Dar atunci cum a face tu a lua decizii? 874 00:40:36,709 --> 00:40:38,000 Ei bine, avem aceste conditii. 875 00:40:38,000 --> 00:40:40,041 >> Și am văzut acest lucru în nostru exemplu de cartea de telefon. 876 00:40:40,041 --> 00:40:41,900 Privind la stânga sau drept pentru Mike Smith. 877 00:40:41,900 --> 00:40:45,140 Și în starea sa face ceva cu potențial, 878 00:40:45,140 --> 00:40:47,240 în cazul în care o expresie booleană este adevărată. 879 00:40:47,240 --> 00:40:48,720 >> Și într-adevăr, observăm formele acum. 880 00:40:48,720 --> 00:40:52,250 E un substituent acum pe tavan care putem fit-- 881 00:40:52,250 --> 00:40:54,532 dacă am înapoi o slide-- care forma. 882 00:40:54,532 --> 00:40:55,740 Nu e destul de aceeași dimensiune. 883 00:40:55,740 --> 00:40:58,400 Și într-adevăr, veți vedea că Scratch redimensionează lucruri dinamic 884 00:40:58,400 --> 00:41:01,479 pentru a se potrivi piese de puzzle, dar forma este ceea ce este important. 885 00:41:01,479 --> 00:41:03,270 Acest lucru arata ca că, și într-adevăr este 886 00:41:03,270 --> 00:41:05,410 aproximativ aceeași formă că trebuie să se potrivească acolo. 887 00:41:05,410 --> 00:41:09,520 Și dacă vrem să facem ceva în acest fel sau în acest fel, în cazul în care altfel, 888 00:41:09,520 --> 00:41:12,080 avem acest puzzle piesă în Scratch, de asemenea. 889 00:41:12,080 --> 00:41:17,450 >> Acum, să presupunem că vrei să face dacă, în cazul în care altcineva, sau altceva. 890 00:41:17,450 --> 00:41:20,120 Cu alte cuvinte, o cu trei căi furculiță în drum. 891 00:41:20,120 --> 00:41:22,656 Ei bine, ce poti sa faci doar uite la asta? 892 00:41:22,656 --> 00:41:25,030 Pot să această piesă de puzzle, și nu pare să se potrivească, 893 00:41:25,030 --> 00:41:27,670 dar din nou, Scratch va de a re-size frumos pentru noi. 894 00:41:27,670 --> 00:41:29,940 Am putea începe să strat aceste lucruri împreună. 895 00:41:29,940 --> 00:41:32,900 >> Deci, acum am un fel de trei- furculiță dacă acest lucru este adevărat, face acest lucru. 896 00:41:32,900 --> 00:41:36,560 Altfel, dacă acest alt lucru este adevărat, du-te în acest fel, mai du-te acest alt mod. 897 00:41:36,560 --> 00:41:39,200 Iar în Muppet film, furculiță în drum, ca să spunem așa, 898 00:41:39,200 --> 00:41:42,610 între Yale sau Stanford, a fost exact că, doar două condiții. 899 00:41:42,610 --> 00:41:45,190 Oricum merge în acest fel, mai du-te în acest fel. 900 00:41:45,190 --> 00:41:46,940 >> Ei bine, bucle există și în programare. 901 00:41:46,940 --> 00:41:49,100 Si am folosit aceste deja în clasă și în codul pseudocod, 902 00:41:49,100 --> 00:41:51,060 și cu siguranță în cele Programele zero pentru totdeauna. 903 00:41:51,060 --> 00:41:53,730 Scratch are această piesă de puzzle care va permite doar să faci ceva pentru totdeauna. 904 00:41:53,730 --> 00:41:55,688 Și, uneori, vrei de a face ceva pentru totdeauna. 905 00:41:55,688 --> 00:41:58,810 Nu este neapărat un bug, e pentru că vrei un ceas să continui, 906 00:41:58,810 --> 00:42:00,730 sau un joc ca jocul să continue. 907 00:42:00,730 --> 00:42:04,800 Sau puteți specifica un număr finit de trepte, ca și în acest bloc repeta aici, 908 00:42:04,800 --> 00:42:06,550 care se va repeta ceva de 10 ori. 909 00:42:06,550 --> 00:42:08,560 Putem seta variabile, vom vedea în curând. 910 00:42:08,560 --> 00:42:12,300 Și cu variabile, similare în spirit la algebra, cum ar fi X, Y sau, sau z. 911 00:42:12,300 --> 00:42:16,390 E ceva simbolic, care poate stoca o valoare, unele bucată de informații, 912 00:42:16,390 --> 00:42:18,320 că ați putea dori să-și amintească mai târziu. 913 00:42:18,320 --> 00:42:21,080 >> Cel mai bun exemplu în acest sens ar putea fi un joc în cazul în care aveți un scor, 914 00:42:21,080 --> 00:42:22,080 ca în Pikachu. 915 00:42:22,080 --> 00:42:25,180 Câte bucăți de tort și fleacuri ai prins? 916 00:42:25,180 --> 00:42:29,340 Ei bine, care ar putea fi o variabilă numit scor care începe la 0. 917 00:42:29,340 --> 00:42:32,400 Și apoi de fiecare dată când am prins-o bucată de tort sau bomboane, sau altele asemenea, 918 00:42:32,400 --> 00:42:33,720 acesta devine crește. 919 00:42:33,720 --> 00:42:35,990 Acesta se adaugă la unul la un moment dat. 920 00:42:35,990 --> 00:42:38,450 Și stochează astfel o variabilă o bucată de informații de genul asta. 921 00:42:38,450 --> 00:42:41,450 Apoi, nu e matrice, și vom veni Înapoi la acestea într-un timp săptămână sau două, 922 00:42:41,450 --> 00:42:44,900 dar o serie este un fel de ca un inventar sau un ghiozdan, în interiorul 923 00:42:44,900 --> 00:42:46,940 din care se poate pune lucrurile virtuale. 924 00:42:46,940 --> 00:42:49,852 Acesta vă permite să stocați mai multe mult de o bucată de informații. 925 00:42:49,852 --> 00:42:51,810 Și care ar putea fi utile Dacă în joc, tu esti 926 00:42:51,810 --> 00:42:53,630 un fel de mers pe jos în jurul valorii de iau lucrurile. 927 00:42:53,630 --> 00:42:55,879 Și poate doriți să le păstrați toate aceste bucăți de tort 928 00:42:55,879 --> 00:42:58,260 în jurul valorii de, și nu doar să mănânce le una după alta. 929 00:42:58,260 --> 00:43:00,010 Și apoi există o constructie crescator ne vom 930 00:43:00,010 --> 00:43:02,932 vin la numit funcții sau proceduri. 931 00:43:02,932 --> 00:43:04,640 Și, deși ne vom mai repede de aici, vom 932 00:43:04,640 --> 00:43:07,345 vedea că acestea sunt foarte soluție naturală la problemele 933 00:43:07,345 --> 00:43:08,470 că vom întâlni. 934 00:43:08,470 --> 00:43:10,220 Ca programele noastre începe ce mai mare ne vom 935 00:43:10,220 --> 00:43:12,640 începe a observa modele în codul pe care noi scriem, 936 00:43:12,640 --> 00:43:14,556 piesele de puzzle suntem drag and drop. 937 00:43:14,556 --> 00:43:18,240 Și de îndată ce observați te faci ceva nou și din nou, sau mai rău încă 938 00:43:18,240 --> 00:43:21,400 Copierea și lipirea de programare cod care le-ați scris, 939 00:43:21,400 --> 00:43:23,612 asta e, probabil, o posibilitatea de a factor în 940 00:43:23,612 --> 00:43:25,820 tot ce ține de copiere și lipire, și punerea 941 00:43:25,820 --> 00:43:27,430 în ceva numit "funcție". 942 00:43:27,430 --> 00:43:29,690 Dar mai mult pe cei din mult mai multe detalii înainte de mult timp. 943 00:43:29,690 --> 00:43:31,314 >> Și apoi există caracteristici chiar crescator. 944 00:43:31,314 --> 00:43:34,100 Pentru cei dintre voi mai confortabil, sau de a lua APCS sau echivalent, 945 00:43:34,100 --> 00:43:37,600 Scratch sprijină de fapt lucrurile cum ar fi fire și evenimente si mai mult. 946 00:43:37,600 --> 00:43:39,840 Deci dau seama că are un plafon destul de ridicat, 947 00:43:39,840 --> 00:43:42,540 chiar dacă este de asemenea foarte în linii mari, accesibile oameni 948 00:43:42,540 --> 00:43:44,460 care nu au programat înainte. 949 00:43:44,460 --> 00:43:47,130 Deci, într-adevăr, haideți să aruncăm o privire la un simplu program sau două. 950 00:43:47,130 --> 00:43:49,920 >> Ne-am uitat deja la modul în care s-ar putea spune salut cu zero. 951 00:43:49,920 --> 00:43:52,800 Lasă-mă să merg mai departe și deschide un mic program mai interesant 952 00:43:52,800 --> 00:43:54,100 că am scris în avans. 953 00:43:54,100 --> 00:43:56,430 Și a numit acest cuiva Pet Cat. 954 00:43:56,430 --> 00:43:58,954 Toate aceste programe vor fi disponibil pe site-ul CS50 lui. 955 00:43:58,954 --> 00:43:59,870 Într-adevăr, deja acolo. 956 00:43:59,870 --> 00:44:01,190 >> Astfel încât să puteți descărca le, și să se joace cu ei, 957 00:44:01,190 --> 00:44:03,850 și cu problema Set 0, care este, de asemenea pe site-ul cursului, 958 00:44:03,850 --> 00:44:05,516 te încurajat să se plimbe prin aceste. 959 00:44:05,516 --> 00:44:07,820 Și mai mult, avem o Numărul de videoclipuri, mers pe jos prin 960 00:44:07,820 --> 00:44:10,951 online, în care am și Echipa CS50 mergem cu adevărat 961 00:44:10,951 --> 00:44:14,200 prin fiecare dintre aceste exemple, la o mult ritm mai lent, o forwardable foarte rapid, 962 00:44:14,200 --> 00:44:18,530 sau ritmul rebobinabil, astfel încât să puteți merge prin acestea la timpul tău liber, de asemenea. 963 00:44:18,530 --> 00:44:20,330 Deci, aici e Scratch pe stânga. 964 00:44:20,330 --> 00:44:22,920 Iată un program de la dreapta care le-am deja pre-a făcut. 965 00:44:22,920 --> 00:44:24,880 Deci lasă-mă să măriți această. 966 00:44:24,880 --> 00:44:28,780 Și ar putea cineva în limba engleză, cunoașterea ceea ce știi, doar de acum cum 967 00:44:28,780 --> 00:44:31,650 la modul în care funcționează zero, un fel de spune într-o frază sau propoziție limba engleză, 968 00:44:31,650 --> 00:44:35,450 ce acest program aparent nu? 969 00:44:35,450 --> 00:44:36,836 >> Da, în cămașă de culoare portocalie. 970 00:44:36,836 --> 00:44:40,804 >> Audiența: [inaudibil] 971 00:44:40,804 --> 00:44:41,796 972 00:44:41,796 --> 00:44:44,980 >> David J. MALAN: Da, în cazul în care dumneavoastră cursorul este pe Scratch pisica, 973 00:44:44,980 --> 00:44:46,220 reda un sunet meowing. 974 00:44:46,220 --> 00:44:47,870 Dar observați cum ne exprimăm asta. 975 00:44:47,870 --> 00:44:49,980 Există aparent o buclă acolo, pentru totdeauna. 976 00:44:49,980 --> 00:44:53,000 Și apoi există o condiție, în cazul în care expresia. 977 00:44:53,000 --> 00:44:55,090 Și colectiv, ce cei spui? 978 00:44:55,090 --> 00:44:57,210 Aceasta înseamnă acest program este doar întotdeauna de funcționare, 979 00:44:57,210 --> 00:44:59,510 și este doar întotdeauna așteaptă și vizionarea și de a asculta 980 00:44:59,510 --> 00:45:01,730 pentru mine pentru a muta mouse-ul meu pe pisica. 981 00:45:01,730 --> 00:45:04,810 >> Pentru că de fiecare dată când fac asta, ca propui, o să facă acest lucru. 982 00:45:04,810 --> 00:45:06,475 Permiteți-mi să începe programul. 983 00:45:06,475 --> 00:45:08,350 Nimic nu pare a fi întâmplă, dar observați cum 984 00:45:08,350 --> 00:45:10,152 este evidențiat acum într-o linie galbenă. 985 00:45:10,152 --> 00:45:11,360 Asta înseamnă doar rulează. 986 00:45:11,360 --> 00:45:13,770 Și pentru că există o pentru totdeauna bucla, se încă în desfășurare. 987 00:45:13,770 --> 00:45:19,610 >> Deci lasă-mă să se mute cursorul peste meu Scratch. [Miau] [miau] Și dacă l-am muta off, 988 00:45:19,610 --> 00:45:25,444 [Miau] acum se oprește, dar programul de încă în desfășurare. [Miau] Și astfel, adorabil. 989 00:45:25,444 --> 00:45:28,550 [Miau] Deci, haideți să deschidem puțin mai avansat 990 00:45:28,550 --> 00:45:32,620 exemplu numit Nu de companie Cat. 991 00:45:32,620 --> 00:45:35,805 >> Și acum să vedem ce se întâmplă aici. [Miau] meowing. 992 00:45:35,805 --> 00:45:39,297 Deci, este un pic pe pilot automat, dacă vreți. 993 00:45:39,297 --> 00:45:39,880 --pet pisica. 994 00:45:39,880 --> 00:45:42,820 Mă întreb de ce. 995 00:45:42,820 --> 00:45:45,389 [ROAR] [miau] Deci, cum a făcut acest lucru? 996 00:45:45,389 --> 00:45:47,930 Ei bine, puteți fel de motiv prin ea intuitiv, probabil. 997 00:45:47,930 --> 00:45:49,346 >> Dar să ne uităm la codul actual. 998 00:45:49,346 --> 00:45:51,819 Deci, din nou, în cazul în care steagul verde se face clic, face acest lucru pentru totdeauna. 999 00:45:51,819 --> 00:45:53,110 Ce vrei să faci pentru totdeauna? 1000 00:45:53,110 --> 00:45:56,150 Ei bine, în cazul în care mouse-ul atinge pointer, apoi juca 1001 00:45:56,150 --> 00:46:00,270 un sunet care este aparent numit Lion 5, care este în interiorul acestui proiect, altfel 1002 00:46:00,270 --> 00:46:03,010 juca miau sunet, și apoi așteptați două secunde, astfel încât 1003 00:46:03,010 --> 00:46:04,510 că nu este meowing fără încetare. 1004 00:46:04,510 --> 00:46:07,650 De fapt, puteți începe foarte repede pentru tine si colegii de cameră tale enerva. 1005 00:46:07,650 --> 00:46:08,690 >> Să elimina acest bloc. 1006 00:46:08,690 --> 00:46:10,580 Și observați ce e frumos despre Scratch. 1007 00:46:10,580 --> 00:46:13,070 Lucruri doar un fel de tragere și fixați și de blocare. 1008 00:46:13,070 --> 00:46:14,980 Deci, din nou, ea creste la umple ceea ce vrei. 1009 00:46:14,980 --> 00:46:20,118 Dar dacă am elimina acest lucru, și apoi joc a lovit, [COMPUTER blip SOUND] 1010 00:46:20,118 --> 00:46:22,904 >> --it un fel de împiedicare peste în sine, pentru că este pur și simplu 1011 00:46:22,904 --> 00:46:23,820 a face ceea ce vreau să spun. 1012 00:46:23,820 --> 00:46:27,080 Este spune totdeauna juca acest sunet, dar Nu dau o șansă pentru a termina. 1013 00:46:27,080 --> 00:46:28,205 Și așa ar fi un bug. 1014 00:46:28,205 --> 00:46:30,700 Și de aceea am avut acest lucru aici acum. 1015 00:46:30,700 --> 00:46:34,030 Așa că haideți să începem de fapt de la rămășițe un fel de joc de cuvinte puțin intended-- 1016 00:46:34,030 --> 00:46:36,450 în care avem acum în mișcare pisica. 1017 00:46:36,450 --> 00:46:38,130 >> Deci, am de gând să facă acest lucru pe zbor. 1018 00:46:38,130 --> 00:46:40,910 Am de gând pentru a mări aici, doar să mă început la evenimente. 1019 00:46:40,910 --> 00:46:42,000 Și pavilionul verde clic. 1020 00:46:42,000 --> 00:46:43,410 Și există și alte modalități pentru a porni script-uri. 1021 00:46:43,410 --> 00:46:44,920 Vom să-l păstrați simplu aici. 1022 00:46:44,920 --> 00:46:48,049 >> Iar acum am de gând să merg înainte și du-te sub control. 1023 00:46:48,049 --> 00:46:50,590 Și din nou, dacă vă uitați în cazul în care lucrurile sunt, doar să faceți clic în jurul valorii de, 1024 00:46:50,590 --> 00:46:52,048 și, eventual, să le găsi din nou. 1025 00:46:52,048 --> 00:46:53,680 Deci, vreau să fac totdeauna ce? 1026 00:46:53,680 --> 00:46:58,650 Vreau să folosesc blocul de mișcare că știu exista, mutați 10 pasi. 1027 00:46:58,650 --> 00:47:02,016 >> Deci, haideți să vedem ce se întâmplă aici dacă am juca acest joc. 1028 00:47:02,016 --> 00:47:03,390 Din fericire aceasta nu merge prea departe. 1029 00:47:03,390 --> 00:47:05,190 Pot încă un fel de el apuca de coada și trageți-l înapoi. 1030 00:47:05,190 --> 00:47:07,860 Dar programul este încă în desfășurare, așa că e un fel de luptă mine. 1031 00:47:07,860 --> 00:47:10,870 Dar că ar fi un fel de frumos dacă am rezolva conditionat acest cod. 1032 00:47:10,870 --> 00:47:12,800 >> Deoarece aceasta este not-- de fapt, acest lucru este foarte 1033 00:47:12,800 --> 00:47:15,770 nu un joc distractiv pentru oricine de orice varsta. 1034 00:47:15,770 --> 00:47:18,915 Deci, haideți să încercăm să stabilească acest lucru prin având un fel de condiții. 1035 00:47:18,915 --> 00:47:21,670 Deci, am de gând să merg în De control, și apoi, dacă. 1036 00:47:21,670 --> 00:47:22,660 Îmi place această idee. 1037 00:47:22,660 --> 00:47:27,470 Deci, după ce sa mutat 10 pași, lasă-mă să simt if-- unde sunt. 1038 00:47:27,470 --> 00:47:30,799 Am de gând să merg în Sensing, și apoi se pare că pot merge aici. 1039 00:47:30,799 --> 00:47:31,840 rând la meciurile forma. 1040 00:47:31,840 --> 00:47:34,380 >> Dimensiunea nu, dar e de gând să crească pentru a umple. 1041 00:47:34,380 --> 00:47:35,984 Și acum acest lucru este un pic meniu. 1042 00:47:35,984 --> 00:47:38,650 Și acum mouse-ul pointer-- eu nu doresc mouse-ul, vreau margine. 1043 00:47:38,650 --> 00:47:41,700 Deci Scratch este suficient de inteligent pentru a ști când un Sprite atinge marginea. 1044 00:47:41,700 --> 00:47:44,360 Ce vreau să-l face de fapt? 1045 00:47:44,360 --> 00:47:46,025 >> Lasă-mă să merg mai departe și de a schimba mișcare. 1046 00:47:46,025 --> 00:47:46,940 Știi ce? 1047 00:47:46,940 --> 00:47:49,242 Am de gând sa-l întoarcă. 1048 00:47:49,242 --> 00:47:51,200 Deci, la 15 de grade nu este într-adevăr de gând să mă ajute. 1049 00:47:51,200 --> 00:47:53,990 Vreau să se întoarcă și du-te în altă parte. 1050 00:47:53,990 --> 00:47:57,740 >> Deci, haideți să vedem ce se întâmplă aici, dacă am lovit Joacă acum. 1051 00:47:57,740 --> 00:48:01,520 OK, un fel de prost căutați, dar se face exact ceea ce am spus. 1052 00:48:01,520 --> 00:48:03,540 Și se rotește tot Sprite. 1053 00:48:03,540 --> 00:48:04,900 Acum se pare că pot rezolva asta. 1054 00:48:04,900 --> 00:48:06,691 Și eu nu știu cum pentru a rezolva acest lucru la prima. 1055 00:48:06,691 --> 00:48:09,190 Am avut un fel de futz în jurul și a se vedea cel mai bun mod de a face acest lucru. 1056 00:48:09,190 --> 00:48:12,630 Dar dacă mă duc sa-- să vedem, de mișcare. 1057 00:48:12,630 --> 00:48:14,050 Oh, am găsit asta. 1058 00:48:14,050 --> 00:48:15,660 De fapt, Set Stil de rotație. 1059 00:48:15,660 --> 00:48:18,431 Stânga, dreapta, sau nu roti, sau peste tot în jurul. 1060 00:48:18,431 --> 00:48:19,930 Și se pare că e ceea ce vreau. 1061 00:48:19,930 --> 00:48:22,920 Și am de gând să pun acest lucru nu este meu buclă, pentru că nu am nevoie pentru a seta 1062 00:48:22,920 --> 00:48:24,487 stilul de rotație de mai multe ori. 1063 00:48:24,487 --> 00:48:27,570 Am de gând pus-o la foarte de sus a acest program astfel încât să se setat o dată, 1064 00:48:27,570 --> 00:48:28,670 și apoi își amintește. 1065 00:48:28,670 --> 00:48:30,340 Iar acum am de gând să încerc din nou. 1066 00:48:30,340 --> 00:48:32,520 Lasă-mă să opresc programul. 1067 00:48:32,520 --> 00:48:34,050 >> Și acum că fix asta bug. 1068 00:48:34,050 --> 00:48:35,700 Deci, eu sunt iterativ îmbunătățirea pe acest lucru. 1069 00:48:35,700 --> 00:48:37,900 Programul este obtinerea unui pic mai complex și mai mare, 1070 00:48:37,900 --> 00:48:40,810 dar eu iau copilul pașii ca să spunem așa, și mușcături mici din problema 1071 00:48:40,810 --> 00:48:42,010 pentru a obține mai bine și mai bine. 1072 00:48:42,010 --> 00:48:43,260 Dar asta, este un fel de lame. 1073 00:48:43,260 --> 00:48:43,900 >> Știi ce? 1074 00:48:43,900 --> 00:48:49,860 Ar cere cineva cu un foarte bun, voce înspăimântător dori să vină? 1075 00:48:49,860 --> 00:48:51,210 Cineva cu o voce. 1076 00:48:51,210 --> 00:48:54,070 1077 00:48:54,070 --> 00:48:54,570 Uh, da. 1078 00:48:54,570 --> 00:48:55,550 Haide sus. 1079 00:48:55,550 --> 00:48:57,990 În cămașa verde. 1080 00:48:57,990 --> 00:49:01,530 >> Deci, se dovedește că e un alt distractiv lucruri, estetica si sunete la fel. 1081 00:49:01,530 --> 00:49:02,290 Iată miau. 1082 00:49:02,290 --> 00:49:04,000 Am faceți clic pe fila Sunete. 1083 00:49:04,000 --> 00:49:08,730 [Miau] E miau. [Miau] [miau] [Miau] --actually ceva înregistrare 1084 00:49:08,730 --> 00:49:10,310 de propria noastră aici. 1085 00:49:10,310 --> 00:49:13,120 >> Deci, haideți să facă exact acest lucru. 1086 00:49:13,120 --> 00:49:17,670 În loc de a folosi acest sunet pisică, să mergeți mai departe aici, și ceea ce e numele tău? 1087 00:49:17,670 --> 00:49:18,850 Nick, mă bucur să te cunosc. 1088 00:49:18,850 --> 00:49:19,350 E David. 1089 00:49:19,350 --> 00:49:21,474 Deci, într-un moment, am de gând să apăsați pe butonul de înregistrare. 1090 00:49:21,474 --> 00:49:23,240 Și dacă poți doar tipa in laptop, 1091 00:49:23,240 --> 00:49:26,140 "Ouch" ca și cum ați tocmai a intrat în perete, 1092 00:49:26,140 --> 00:49:28,180 care va fi mult mai apreciat. 1093 00:49:28,180 --> 00:49:29,660 1, 2. 1094 00:49:29,660 --> 00:49:31,470 >> Nick: Ouch! 1095 00:49:31,470 --> 00:49:32,470 David J. MALAN: Awesome. 1096 00:49:32,470 --> 00:49:34,410 Și acum se poate face un pic de editare aici. 1097 00:49:34,410 --> 00:49:35,910 Mergând pentru a scăpa de piese liniștite. 1098 00:49:35,910 --> 00:49:37,000 Și cred că e bine. 1099 00:49:37,000 --> 00:49:37,690 Multumesc foarte mult. 1100 00:49:37,690 --> 00:49:38,315 >> NICK: Pleasure. 1101 00:49:38,315 --> 00:49:43,277 1102 00:49:43,277 --> 00:49:45,110 David J. MALAN: Am doar redenumit "Ouch" 1103 00:49:45,110 --> 00:49:46,901 dar acum am de gând să du-te înapoi la scripturile mele. 1104 00:49:46,901 --> 00:49:49,810 Și există într-adevăr o notificare de sunet aici. 1105 00:49:49,810 --> 00:49:53,520 Și am de gând să merg mai departe și să se joace Ouch sunet, 1106 00:49:53,520 --> 00:49:56,991 și am de gând să face asta dacă se atinge numai marginile. 1107 00:49:56,991 --> 00:49:58,740 Și apoi am de gând să l-au întoarce. 1108 00:49:58,740 --> 00:50:00,250 Deci, haideți să vedem ce se întâmplă aici. 1109 00:50:00,250 --> 00:50:01,728 Să mergem ecran complet. 1110 00:50:01,728 --> 00:50:02,394 [VIDEO PLAYBACK] 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 >> [END PLAYBACK] 1120 00:50:12,492 --> 00:50:14,490 >> David J. MALAN: Deci iti dai seama că suntem cam norocos. 1121 00:50:14,490 --> 00:50:17,110 Am de gând să-l aibă mișcare ca 100 pași la un moment dat. 1122 00:50:17,110 --> 00:50:21,790 Efectul care acum se întâmplă la be-- [COMPUTER Glitch SOUND] Deci 1123 00:50:21,790 --> 00:50:22,490 în termen de motiv. 1124 00:50:22,490 --> 00:50:25,470 Deci, o oportunitate de a rafina că în plus, dacă vrem cu adevărat să. 1125 00:50:25,470 --> 00:50:27,340 >> Deci, acum să introducă un alt concept. 1126 00:50:27,340 --> 00:50:30,660 Să-mi intru în unul numit Numărarea Ovine și utilizarea ceva 1127 00:50:30,660 --> 00:50:31,610 numit variabilă. 1128 00:50:31,610 --> 00:50:34,700 Aceasta este o oaie adorabil puțin, și Mi-am schimbat costumul său ca să spunem așa. 1129 00:50:34,700 --> 00:50:37,450 Deci, chiar dacă implicit este un pisica, puteți încărca, puteți desena, 1130 00:50:37,450 --> 00:50:40,020 poti sa faci orice număr de caractere pe Sprite ta. 1131 00:50:40,020 --> 00:50:43,740 Iata un program care este de gând să facă ceea ce în limba engleză? 1132 00:50:43,740 --> 00:50:47,110 >> Bazat din nou doar pe ceea ce știi acum. 1133 00:50:47,110 --> 00:50:48,230 Ce se face acest program? 1134 00:50:48,230 --> 00:50:50,740 1135 00:50:50,740 --> 00:50:53,500 Da, o să conteze. 1136 00:50:53,500 --> 00:50:55,842 Un număr de la un moment dat. 1137 00:50:55,842 --> 00:50:57,550 Avem aparent au acest set contra. 1138 00:50:57,550 --> 00:50:59,380 >> Nu știu ce este, dar poate e un variabil. 1139 00:50:59,380 --> 00:51:00,740 E doar un container, x sau y. 1140 00:51:00,740 --> 00:51:04,290 Dar contorul cuvântul este mai descriptiv decât X matematician sau y. 1141 00:51:04,290 --> 00:51:06,560 Deci, putem folosi cuvinte în limba engleză pentru lucruri. 1142 00:51:06,560 --> 00:51:08,490 Pentru totdeauna, înseamnă doar continua să faci asta. 1143 00:51:08,490 --> 00:51:10,020 >> Spune contra. 1144 00:51:10,020 --> 00:51:11,270 Acum, în cazul în care a venit asta? 1145 00:51:11,270 --> 00:51:13,240 Ei bine, se pare că contor este o variabilă. 1146 00:51:13,240 --> 00:51:15,645 Deci, este doar un alt puzzle piesă am creat în avans. 1147 00:51:15,645 --> 00:51:18,020 Și chiar dacă se întâmplă să nu fie aceeași formă aici, 1148 00:51:18,020 --> 00:51:20,540 în mod normal, ai spune ceva de genul salut aici. 1149 00:51:20,540 --> 00:51:23,610 >> Puteți trage, de asemenea, o variabilă astfel că asta e ceea ce-i dăm spus. 1150 00:51:23,610 --> 00:51:26,170 Apoi am așteptați pentru o secundă, am schimba contorul de unul, 1151 00:51:26,170 --> 00:51:27,940 incrementarea prin adăugarea unui. 1152 00:51:27,940 --> 00:51:32,407 Astfel încât efectul net este acest oaie numărare adorabil. 1153 00:51:32,407 --> 00:51:33,615 Deși el însuși de numărare. 1154 00:51:33,615 --> 00:51:36,642 1155 00:51:36,642 --> 00:51:38,350 Acum e foarte repede mergi la a lua plictisitor 1156 00:51:38,350 --> 00:51:40,900 pentru că el va face acest lucru cu adevărat pentru totdeauna, 1157 00:51:40,900 --> 00:51:44,240 dar asta e exact ceea ce program de proiectare a prescrie. 1158 00:51:44,240 --> 00:51:48,090 Să încercăm acum un alt exemplu care foloseste o variabilă. 1159 00:51:48,090 --> 00:51:51,140 Aceasta unul numit Hi Hi Hi, că se ajunge enervant repede. 1160 00:51:51,140 --> 00:51:52,987 Acum, aceasta are două scripturi. 1161 00:51:52,987 --> 00:51:54,570 Și astfel, din nou, vom lua măsuri pentru copii. 1162 00:51:54,570 --> 00:51:57,236 >> Am inceput cu ceva super- mici, a adăugat la aceasta, a adăugat la acesta. 1163 00:51:57,236 --> 00:51:59,750 Acum vreau să fac ceva chiar mai dinamic, 1164 00:51:59,750 --> 00:52:02,950 așa că vreau să fie de ascultare pentru două lucruri diferite la un moment dat. 1165 00:52:02,950 --> 00:52:05,420 Deci, pe partea stângă, atunci când pavilion verde se face clic, 1166 00:52:05,420 --> 00:52:08,100 Am stabilit o variabilă pe care am scris în avans numit dezactivat. 1167 00:52:08,100 --> 00:52:09,700 Și l-am setat arbitrar la 0. 1168 00:52:09,700 --> 00:52:13,290 Deci, Scratch nu are adevărată și fals, dar are 0 și 1. 1169 00:52:13,290 --> 00:52:15,270 >> Deci, eu pot aproxima aceeași idee. 1170 00:52:15,270 --> 00:52:21,110 Și apoi pentru totdeauna, în cazul în care bara de spațiu este apăsat, apoi setați variabila la 0. 1171 00:52:21,110 --> 00:52:21,810 Sau rău. 1172 00:52:21,810 --> 00:52:25,920 Dacă se apasă Space, și dacă dezactivat, variabila, este 0, 1173 00:52:25,920 --> 00:52:29,950 apoi setați dezactivat la 1, altceva setat dezactivat la 0. 1174 00:52:29,950 --> 00:52:32,370 Acest lucru pare un fel de suntem doar fac și desfac muncă. 1175 00:52:32,370 --> 00:52:33,130 >> Dar ceea ce este efectul? 1176 00:52:33,130 --> 00:52:35,588 De fiecare dată când a lovit bara de spațiu, ce se întâmplă cu variabile meu 1177 00:52:35,588 --> 00:52:38,150 numit dezactivat, în mod logic? 1178 00:52:38,150 --> 00:52:39,100 Un fel de devine oglindită. 1179 00:52:39,100 --> 00:52:41,035 Se schimbă de la 0 la 1, sau 1 până la 0. 1180 00:52:41,035 --> 00:52:43,035 Așa că a luat câteva blocuri să-și exprime asta, dar toate 1181 00:52:43,035 --> 00:52:47,280 Fac este basculând starea de această variabilă a 0 sau 1, sau 0 sau 1 1182 00:52:47,280 --> 00:52:48,530 de fiecare dată când am lovit bara de spațiu. 1183 00:52:48,530 --> 00:52:49,905 Acum aici, ce-i asta face? 1184 00:52:49,905 --> 00:52:53,400 Pentru totdeauna, dacă dezactivat este 0, Deci, dacă dezactivat este falsă. 1185 00:52:53,400 --> 00:52:57,910 Deci, dacă nu e oprit, este semantică acolo, joacă mare leu de sunet, 1186 00:52:57,910 --> 00:53:00,810 și cred că Hi Hi Hi pentru două secunde, așteptați două secunde. 1187 00:53:00,810 --> 00:53:02,710 Deci observați acum acestea script-uri sunt efectiv 1188 00:53:02,710 --> 00:53:07,100 de gând să ruleze în paralel, astfel încât se poate asculta pentru o acțiune, celălalt 1189 00:53:07,100 --> 00:53:09,010 să ia o decizie pe baza acestei acțiuni. 1190 00:53:09,010 --> 00:53:10,655 Si se poate face acest lucru pentru totdeauna. 1191 00:53:10,655 --> 00:53:12,638 >> [Sea Lion BARKING] 1192 00:53:12,638 --> 00:53:14,852 >> [Sea Lion BARKING] 1193 00:53:14,852 --> 00:53:20,050 >> Este de gând să facă acest lucru pentru totdeauna și [Sea Lion BARKING] ca tocmai am făcut. 1194 00:53:20,050 --> 00:53:23,010 Iar acum este încă în desfășurare dar am "dezactivat" jocul. 1195 00:53:23,010 --> 00:53:27,260 [Sea Lion BARKING] Si asta toate tipul ăsta are acum prea. 1196 00:53:27,260 --> 00:53:28,660 >> Să deschidem un alt exemplu aici. 1197 00:53:28,660 --> 00:53:31,840 Lasă-mă să intru în Evenimente, și acum acest adorabil prea. 1198 00:53:31,840 --> 00:53:34,130 Dar observați că are două sprites. 1199 00:53:34,130 --> 00:53:37,520 Deci, nu doar două scripturi cu un sprite, dar două sprites. 1200 00:53:37,520 --> 00:53:40,750 Și dacă am faceți clic pe tipul albastru ca am au deja, am sa vad ca un program 1201 00:53:40,750 --> 00:53:43,790 aici că literalmente spune doar acest lucru, atunci când primesc un eveniment, 1202 00:53:43,790 --> 00:53:45,620 spune "Polo" timp de două secunde. 1203 00:53:45,620 --> 00:53:48,460 >> Deci, dacă v-ați jucat vreodată în o piscină, jocul Marco Polo, 1204 00:53:48,460 --> 00:53:52,500 dacă script-ul tip Orange este nici o indicație, aparent 1205 00:53:52,500 --> 00:53:57,380 de fiecare dată când a lovit bara de spațiu, ceea ce e tipul portocaliu de gând să faci? 1206 00:53:57,380 --> 00:53:58,642 El va spune "Marco." 1207 00:53:58,642 --> 00:53:59,850 Și apoi acest lucru este un bloc nou. 1208 00:53:59,850 --> 00:54:02,409 Noi nu am văzut acest lucru înainte, dar a difuzat un eveniment. 1209 00:54:02,409 --> 00:54:04,200 Și am putea spune orice eveniment ne dorim. 1210 00:54:04,200 --> 00:54:06,033 >> Vom reveni la acest Poate înainte de mult timp. 1211 00:54:06,033 --> 00:54:08,410 Dar difuzarea unui eveniment este o modalitate pentru un Sprite 1212 00:54:08,410 --> 00:54:11,836 pentru a vorbi cu un alt prin în esență, trecerea un mesaj. 1213 00:54:11,836 --> 00:54:12,960 Nu este un mesaj pe care îl vezi. 1214 00:54:12,960 --> 00:54:14,130 Nu e ceva vizual. 1215 00:54:14,130 --> 00:54:17,370 E un fel de mesaj calculator că celălalt este de ascultare pentru. 1216 00:54:17,370 --> 00:54:21,210 Pentru că, într-adevăr, tipul albastru, rechemare nu are, atunci când pavilion verde clic. 1217 00:54:21,210 --> 00:54:23,290 >> El are în schimb, atunci când primesc un eveniment. 1218 00:54:23,290 --> 00:54:26,850 Când el devine dat această notă în clasă, ca să spunem așa, el ar trebui să spună "Polo." 1219 00:54:26,850 --> 00:54:30,200 Și astfel efectul net este că atunci când am lovit steagul verde, nu se întâmplă nimic. 1220 00:54:30,200 --> 00:54:34,940 Dar când am lovit bara de spațiu, spune el "Marco", el răspunde cu "Polo." 1221 00:54:34,940 --> 00:54:38,350 Dar singura Sprite sunt interacționează cu este cea portocalie. 1222 00:54:38,350 --> 00:54:40,980 Deci, aceasta este o modalitate de fel de asociate de mesaje între sprites 1223 00:54:40,980 --> 00:54:43,210 și având le comunice unul cu altul. 1224 00:54:43,210 --> 00:54:46,280 >> Acum să ne uităm la o ultimă de aici numit Fire. 1225 00:54:46,280 --> 00:54:49,370 Si observa acest lucru prin joc el. 1226 00:54:49,370 --> 00:54:51,184 Deci, acestea sunt două sprites. 1227 00:54:51,184 --> 00:54:52,600 Pasărea este un fel de zbor în jurul. 1228 00:54:52,600 --> 00:54:53,310 A viguros. 1229 00:54:53,310 --> 00:54:55,890 Nu e nici o "Ouch", dar aceeași idee. 1230 00:54:55,890 --> 00:54:58,230 >> Dar pisica pare destul de inteligent. 1231 00:54:58,230 --> 00:55:01,010 Ce este pisica aparent faci? 1232 00:55:01,010 --> 00:55:03,430 Și așteptați pentru ea. 1233 00:55:03,430 --> 00:55:05,010 Ce este pisica aparent faci? 1234 00:55:05,010 --> 00:55:07,740 Nu este vorba doar rigidă. 1235 00:55:07,740 --> 00:55:09,860 >> El urma pasărea. 1236 00:55:09,860 --> 00:55:13,920 Și astfel se pare, există o modalitate cu o combinație de blocuri here-- 1237 00:55:13,920 --> 00:55:15,760 și să ne uităm la pisica foarte repede. 1238 00:55:15,760 --> 00:55:20,270 Pentru totdeauna, dacă atinge pasăre, apoi joacă Lion 4, indiferent că este sunetul. 1239 00:55:20,270 --> 00:55:21,360 Am auzit odată. 1240 00:55:21,360 --> 00:55:25,431 În caz contrar, punctul spre pasăre, și pentru a muta cu un pas. 1241 00:55:25,431 --> 00:55:27,680 Acum, faptul că este o pas este ceea ce dă pasărea 1242 00:55:27,680 --> 00:55:29,850 un pic de un avantaj Inițial, dar dacă am în schimb 1243 00:55:29,850 --> 00:55:32,980 face acest 10, de exemplu, așa că fiecare iterație a buclei e 1244 00:55:32,980 --> 00:55:34,100 se deplasează 10 pași de timp. 1245 00:55:34,100 --> 00:55:35,280 Deci, mai mult spațiu. 1246 00:55:35,280 --> 00:55:36,650 Să vedem ce se întâmplă atunci. 1247 00:55:36,650 --> 00:55:38,740 [LION ROAR] Nu toate că mult mai bine. 1248 00:55:38,740 --> 00:55:41,460 Deci, acum să încercăm să îmbunătățească pe acestea un pic iterativ, 1249 00:55:41,460 --> 00:55:43,330 și reveni la care noțiune de o funcție. 1250 00:55:43,330 --> 00:55:46,580 >> Și într-adevăr unul dintre fundamentale takeaways de design de clasă. 1251 00:55:46,580 --> 00:55:49,560 Nu doar scrierea programelor care funcționează și că sunt corecte, dar sunt bine 1252 00:55:49,560 --> 00:55:50,080 proiectat. 1253 00:55:50,080 --> 00:55:54,349 Si design este mult mai subiectiv, și veți obține mai bine la ea în timp. 1254 00:55:54,349 --> 00:55:57,390 Dar să luăm unele măsuri pentru copii spre începând cu un program ce funcționează, 1255 00:55:57,390 --> 00:55:59,310 absolut, dar nu e foarte bine. 1256 00:55:59,310 --> 00:56:00,650 Nu e foarte bine scrise. 1257 00:56:00,650 --> 00:56:03,830 >> Deci, aici este un program care face acest lucru. 1258 00:56:03,830 --> 00:56:08,060 Tuse, tuse, tuse. 1259 00:56:08,060 --> 00:56:09,880 Ce face programul arata ca? 1260 00:56:09,880 --> 00:56:11,330 Se pare corect pentru mine. 1261 00:56:11,330 --> 00:56:13,370 Este spune canapea pentru o în al doilea rând, atunci așteaptă. 1262 00:56:13,370 --> 00:56:14,515 >> Apoi, se spune din nou, apoi așteaptă. 1263 00:56:14,515 --> 00:56:16,056 Apoi, se spune din nou, apoi așteaptă. 1264 00:56:16,056 --> 00:56:18,770 Apoi programul implicit se termină, pentru că nu există nici o buclă. 1265 00:56:18,770 --> 00:56:21,325 Dar de ce este acest program de prost scris un? 1266 00:56:21,325 --> 00:56:22,950 Chiar dacă nu ați programat înainte? 1267 00:56:22,950 --> 00:56:25,240 Cum ar fi, ce freaca bine poate aici? 1268 00:56:25,240 --> 00:56:26,016 Da? 1269 00:56:26,016 --> 00:56:29,278 >> Audiența: [inaudibil] 1270 00:56:29,278 --> 00:56:29,950 1271 00:56:29,950 --> 00:56:30,950 David J. MALAN: Exact. 1272 00:56:30,950 --> 00:56:32,700 Ești repetarea te nou și din nou. 1273 00:56:32,700 --> 00:56:36,190 Și literal, eu copiat și inserat două dintre aceste blocuri nou și din nou. 1274 00:56:36,190 --> 00:56:39,237 Și asta e exact genul de bun-simț verifica dacă ar trebui să fie a face. 1275 00:56:39,237 --> 00:56:39,820 Asteapta un minut. 1276 00:56:39,820 --> 00:56:41,070 Ar trebui să mă fi cu adevărat face acest lucru? 1277 00:56:41,070 --> 00:56:43,610 Deci, ce e asta ceea ce este soluție evident poate? 1278 00:56:43,610 --> 00:56:44,680 Au un fel de buclă. 1279 00:56:44,680 --> 00:56:46,860 Și nu-mi amintesc destul de ce piesa de puzzle este, 1280 00:56:46,860 --> 00:56:48,810 dar dacă mă uit la următor iterație aici, 1281 00:56:48,810 --> 00:56:50,560 într-adevăr, nu e doar pentru totdeauna bucla, 1282 00:56:50,560 --> 00:56:52,560 există repeta un numar de ori. 1283 00:56:52,560 --> 00:56:54,080 Și așa am specificat trei. 1284 00:56:54,080 --> 00:56:57,839 Și acum observați cât de mult mai stricte, cum mult mai succintă acest program este. 1285 00:56:57,839 --> 00:56:59,630 Și într-un sens, cum mult mai mult de întreținut. 1286 00:56:59,630 --> 00:57:02,840 Dacă vreau să schimbe cuvântul de la tuse la altceva, 1287 00:57:02,840 --> 00:57:07,530 ca achoo, ca el strănut. 1288 00:57:07,530 --> 00:57:09,770 Apoi am schimba într-o singură loc, și nu trei. 1289 00:57:09,770 --> 00:57:12,050 Deci, acest lucru se simte deja ca ceva mai bine de design. 1290 00:57:12,050 --> 00:57:14,610 Lasă-mă să tuse în loc deschis 2, al treilea exemplu nostru. 1291 00:57:14,610 --> 00:57:17,670 >> Observați ca un om de stiinta de calculator, Am începe numărarea la 0, de obicei. 1292 00:57:17,670 --> 00:57:20,950 Acum, acest lucru pare un pic înfricoșător la prima, dar efectul este același. 1293 00:57:20,950 --> 00:57:22,590 Tuse, tuse, tuse. 1294 00:57:22,590 --> 00:57:26,920 Dar ceea ce pare a fi fundamental nou în partea de sus a programului? 1295 00:57:26,920 --> 00:57:28,670 Am scos cuvânt. 1296 00:57:28,670 --> 00:57:29,830 >> Am scos așteptați. 1297 00:57:29,830 --> 00:57:32,370 Și ce am conectat în loc? 1298 00:57:32,370 --> 00:57:32,890 O funcție. 1299 00:57:32,890 --> 00:57:33,670 Un bloc tuse. 1300 00:57:33,670 --> 00:57:35,410 Adică, sincer, mi se pare un fel de un idiot dacă nu doar 1301 00:57:35,410 --> 00:57:37,285 începe cu blocul care este aparent numește 1302 00:57:37,285 --> 00:57:38,894 "tuse", dacă asta e tot ce vreau să-l fac. 1303 00:57:38,894 --> 00:57:40,310 Dar care nu există în Scratch. 1304 00:57:40,310 --> 00:57:43,396 Mai degrabă m-am dus la unul din Paleta numit mai multe blocuri aici, 1305 00:57:43,396 --> 00:57:46,270 și am trageți acest lucru mare violet aici că îmi permite să definiți o funcție. 1306 00:57:46,270 --> 00:57:48,240 Acesta, în esență, mi permite crea propriul meu puzzle 1307 00:57:48,240 --> 00:57:51,280 piesă care poate fi numit orice I doresc, că pot face orice vreau, 1308 00:57:51,280 --> 00:57:52,360 dar îi dă un nume. 1309 00:57:52,360 --> 00:57:57,050 Ea dă-mi o bucată nouă, puzzle violet care face acum tot ce am spus să fac. 1310 00:57:57,050 --> 00:58:01,060 Deci, această piesă violet aici corespunde cu aceasta aici. 1311 00:58:01,060 --> 00:58:01,960 >> Și ce face? 1312 00:58:01,960 --> 00:58:03,930 Se spune tuse pentru o în al doilea rând, și apoi așteaptă. 1313 00:58:03,930 --> 00:58:07,330 Și acum am un fel de creat propria mea piesa de puzzle personalizat, 1314 00:58:07,330 --> 00:58:10,040 astfel încât acesta se comportă exact același fel. 1315 00:58:10,040 --> 00:58:11,130 Așa că am putea face asta. 1316 00:58:11,130 --> 00:58:14,421 Și într-adevăr, acolo va fi mai mult și mai multe oportunități de modularizare, 1317 00:58:14,421 --> 00:58:16,630 și pentru stratificarea, complexitate pe unul deasupra celuilalt. 1318 00:58:16,630 --> 00:58:18,547 Dar această idee de bază, într-adevăr, în problemă a spus 0. 1319 00:58:18,547 --> 00:58:20,338 Ce ai de gând să fi invitați să facă este 1320 00:58:20,338 --> 00:58:23,810 pentru a descărca Scratch, sau doar l utilizați pe web, și doar să se distreze cu ea. 1321 00:58:23,810 --> 00:58:26,056 Vă vom oferi un set de Cerințe, având un sunet, 1322 00:58:26,056 --> 00:58:27,430 și unele numărul de piese de puzzle. 1323 00:58:27,430 --> 00:58:28,480 Dar vei face exact acest lucru. 1324 00:58:28,480 --> 00:58:31,771 Și vei realiza că ai de gând să doresc să ia unele măsuri pentru copii inițial, 1325 00:58:31,771 --> 00:58:33,690 până programul devine mai multe și mai complexe. 1326 00:58:33,690 --> 00:58:36,010 Dar având în vedere este aceasta cel mai bun mod am putea face acest lucru? 1327 00:58:36,010 --> 00:58:39,210 Pot evita acest instinct probabil, pentru a copia și lipi? 1328 00:58:39,210 --> 00:58:41,850 >> Dar, înainte de Problemă Set 0, și înainte de a suspenda, 1329 00:58:41,850 --> 00:58:44,980 am gândit să ia o mai voluntar dacă am putea, 1330 00:58:44,980 --> 00:58:46,820 pentru un program de finală asta e, probabil, cel mai mult 1331 00:58:46,820 --> 00:58:49,150 montaj la toate, având în vedere locul de astăzi. 1332 00:58:49,150 --> 00:58:50,298 Haide jos. 1333 00:58:50,298 --> 00:58:51,234 Da. 1334 00:58:51,234 --> 00:58:52,170 Da. 1335 00:58:52,170 --> 00:58:53,431 Care e numele tău? 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 Asta e ok. 1339 00:58:59,010 --> 00:59:01,230 Ambele vin în jos. 1340 00:59:01,230 --> 00:59:05,520 Și am se va ocupa de acest într-un fel în faptul că următorii zece secunde. 1341 00:59:05,520 --> 00:59:06,550 Deci, haide jos. 1342 00:59:06,550 --> 00:59:08,370 Haide jos. 1343 00:59:08,370 --> 00:59:13,250 >> Lasă-mă să vin pe aici. 1344 00:59:13,250 --> 00:59:16,050 Haide. 1345 00:59:16,050 --> 00:59:16,685 In regula. 1346 00:59:16,685 --> 00:59:21,360 1347 00:59:21,360 --> 00:59:22,360 Să vedem aici. 1348 00:59:22,360 --> 00:59:25,735 Deci observați foarte repede aici, dacă doriți să vină pe sus. 1349 00:59:25,735 --> 00:59:28,650 1350 00:59:28,650 --> 00:59:29,926 >> Vom face două runde de acest lucru. 1351 00:59:29,926 --> 00:59:30,800 Și care e numele tău? 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 Mă bucur să te cunosc ambele. 1357 00:59:34,276 --> 00:59:34,970 David. 1358 00:59:34,970 --> 00:59:38,785 Deci exemplul nostru final este aici numit cel mai greu joc Ivy lui. 1359 00:59:38,785 --> 00:59:41,160 Și de ce nu ne-am face Nivelul 1, și de ai face Nivelul 2. 1360 00:59:41,160 --> 00:59:43,350 >> Și vom vedea cât de departe dincolo de faptul că suntem de fapt merge. 1361 00:59:43,350 --> 00:59:45,855 Scris de un student anul trecut, remixat de mine 1362 00:59:45,855 --> 00:59:48,840 astfel încât acest lucru ar merge peste bine în New Haven. 1363 00:59:48,840 --> 00:59:53,180 Și am să vă dau un joc care va implica mutarea săgețile sus și în jos, 1364 00:59:53,180 --> 00:59:55,771 și obținerea Yale la linia de sosire. 1365 00:59:55,771 --> 00:59:56,270 Începem. 1366 00:59:56,270 --> 00:59:56,759 >> [VIDEO PLAYBACK] 1367 00:59:56,759 --> 00:59:58,092 >> [MUSIC - NFL ON FOX tema cântec] 1368 00:59:58,092 --> 00:59:59,369 1369 00:59:59,369 --> 01:00:01,160 [MUSIC - MC Hammer, "U NU POATE ATINGE  ACEST "] 1370 01:00:01,160 --> 01:00:04,590 1371 01:00:04,590 --> 01:00:07,900 >> -U Nu poate atinge acest lucru. 1372 01:00:07,900 --> 01:00:11,634 U nu se poate atinge acest lucru. 1373 01:00:11,634 --> 01:00:14,252 Nu se poate atinge acest lucru. 1374 01:00:14,252 --> 01:00:19,490 Mea, mea, mea, muzica mea mă lovește atât de greu, mă face să spun, oh, domnul meu. 1375 01:00:19,490 --> 01:00:22,927 Vă mulțumim pentru mine cu o binecuvântare minte pentru a rima și două picioare hype. 1376 01:00:22,927 --> 01:00:24,891 >> Asta-i bine când știi că ești jos. 1377 01:00:24,891 --> 01:00:26,855 Un super-homeboy droguri din Oaktown. 1378 01:00:26,855 --> 01:00:31,274 Și eu cunoscut ca atare și acest o bataie uh, nu te poate atinge. 1379 01:00:31,274 --> 01:00:34,672 Am spus că Homeboy U nu se poate atinge acest lucru. 1380 01:00:34,672 --> 01:00:38,656 Da, așa trăim și știi U nu se poate atinge acest lucru. 1381 01:00:38,656 --> 01:00:40,135 >> Uită-te în ochii mei, omule. 1382 01:00:40,135 --> 01:00:43,093 U nu se poate atinge acest lucru. 1383 01:00:43,093 --> 01:00:44,572 Yo, permiteți-mi să bustul versurile funky. 1384 01:00:44,572 --> 01:00:45,363 U nu se poate atinge acest lucru. 1385 01:00:45,363 --> 01:00:46,544 Noi lovituri și pantaloni proaspete. 1386 01:00:46,544 --> 01:00:48,627 >> Ai luat așa și tu știi să dansezi. 1387 01:00:48,627 --> 01:00:51,967 Deci, muta din locul dumneavoastră și de a lua un zbor fată și captura acest beat. 1388 01:00:51,967 --> 01:00:55,911 În timp ce este de rulare mâna pe pompa un pic bit și să le știu ce se întâmplă. 1389 01:00:55,911 --> 01:00:56,890 Asa. 1390 01:00:56,890 --> 01:00:57,390 Asa. 1391 01:00:57,390 --> 01:00:59,362 >> Rece într-o misiune atât de trage pe spate. 1392 01:00:59,362 --> 01:01:04,785 Lasă-i să știe că ești prea mult și aceasta este o mutare uh, nu se pot atinge. 1393 01:01:04,785 --> 01:01:07,743 Yo, ți-am spus u nu poate atinge acest lucru. 1394 01:01:07,743 --> 01:01:09,222 De ce stai acolo omule? 1395 01:01:09,222 --> 01:01:10,208 U nu se poate atinge acest lucru. 1396 01:01:10,208 --> 01:01:13,200 >> Yo, sunet în școală Bell, fraiere. 1397 01:01:13,200 --> 01:01:14,005 U nu se poate atinge acest lucru. 1398 01:01:14,005 --> 01:01:18,326 Dă-mi un cântec, un ritm ceea ce le face sudoare asta e ceea ce am le da acum. 1399 01:01:18,326 --> 01:01:21,805 Ei știu când vorbești despre Hammer vorbești despre un spectacol care este exagerat. 1400 01:01:21,805 --> 01:01:24,290 Și cântăreți strânse sunt transpirație astfel să treacă un microfon. 1401 01:01:24,290 --> 01:01:27,272 >> Sau o bandă pentru a afla ce se va lua și acum 1402 01:01:27,272 --> 01:01:29,260 el va arde topuri. 1403 01:01:29,260 --> 01:01:32,739 Fie munca legit greu sau s-ar putea la fel de bine renunta. 1404 01:01:32,739 --> 01:01:37,709 Pentru că știi U nu se poate atinge acest lucru. 1405 01:01:37,709 --> 01:01:41,599 U nu se poate atinge acest lucru. 1406 01:01:41,599 --> 01:01:42,182 Break-l jos. 1407 01:01:42,182 --> 01:01:56,095 1408 01:01:56,095 --> 01:01:56,595 Stop. 1409 01:01:56,595 --> 01:01:57,095 Timp Hammer. 1410 01:01:57,095 --> 01:01:59,577 Du-te cu fluxul într-o rotire dacă nu se poate trece la acest 1411 01:01:59,577 --> 01:02:01,068 atunci probabil ești mort. 1412 01:02:01,068 --> 01:02:04,547 Deci val-vă pe mâini în aerul [neauzit] 1413 01:02:04,547 --> 01:02:08,026 >> Acest lucru este pentru un dans câștigător la acest lucru și vei obține mai subțire. 1414 01:02:08,026 --> 01:02:12,996 Mutați glisați rump dvs. doar pentru un minut să facem tot cucui. 1415 01:02:12,996 --> 01:02:13,990 Da. 1416 01:02:13,990 --> 01:02:14,984 U nu se poate atinge acest lucru. 1417 01:02:14,984 --> 01:02:17,966 1418 01:02:17,966 --> 01:02:19,457 >> U nu se poate atinge acest lucru. 1419 01:02:19,457 --> 01:02:23,433 Ar fi bine să exagerat băiat U nu se poate atinge acest lucru. 1420 01:02:23,433 --> 01:02:24,924 Inel înapoi școlii Bell in. 1421 01:02:24,924 --> 01:02:25,918 Break-l jos. 1422 01:02:25,918 --> 01:02:38,837 1423 01:02:38,837 --> 01:02:39,337 Stop. 1424 01:02:39,337 --> 01:02:40,828 Timp Hammer 1425 01:02:40,828 --> 01:02:42,816 >> David J. MALAN: Asta e pentru CS50! 1426 01:02:42,816 --> 01:02:45,301 Multumesc mult pentru alături de noi! 1427 01:02:45,301 --> 01:02:47,786 Ne vedem afară. 1428 01:02:47,786 --> 01:02:48,611 >> [END PLAYBACK] 1429 01:02:48,611 --> 01:02:49,277 [VIDEO PLAYBACK] 1430 01:02:49,277 --> 01:02:52,259 [MUSIC - "Seinfeld" tema cântec] 1431 01:02:52,259 --> 01:02:53,860 Hei David. 1432 01:02:53,860 --> 01:02:54,500 Hei, David. 1433 01:02:54,500 --> 01:02:55,912 Cum stă treaba? 1434 01:02:55,912 --> 01:02:58,078 >> De locuri de muncă Bună, astăzi. 1435 01:02:58,078 --> 01:03:00,952 Deci te-ai gândit la ce ai de gând să faci pentru glumele afară? 1436 01:03:00,952 --> 01:03:03,207 Nu, nu am nimic. 1437 01:03:03,207 --> 01:03:07,550 -Ce If-- ce dacă acest lucru este gluma afară? 1438 01:03:07,550 --> 01:03:08,970 -cum Ar fi, despachetarea căruțe? 1439 01:03:08,970 --> 01:03:11,430 -Uh-Huh. 1440 01:03:11,430 --> 01:03:13,890 Știi, este vorba despre nimic. 1441 01:03:13,890 --> 01:03:17,559 >> -Deci Place, nici o poveste, nu conflictelor, nu rezoluția. 1442 01:03:17,559 --> 01:03:18,350 Nu înțeleg. 1443 01:03:18,350 --> 01:03:20,542 Despre ce e vorba, atunci? 1444 01:03:20,542 --> 01:03:23,510 >> -Nimic. 1445 01:03:23,510 --> 01:03:27,427 >> Deci avem în glumă este de aproximativ nimic, și nu avem nici actorii. 1446 01:03:27,427 --> 01:03:28,510 Cine va fi în acest? 1447 01:03:28,510 --> 01:03:29,010 >> -Nu Nu NU. 1448 01:03:29,010 --> 01:03:31,310 Adică, voi fi în ea. 1449 01:03:31,310 --> 01:03:32,109 >> -Vei Fi în ea? 1450 01:03:32,109 --> 01:03:32,608 Da! 1451 01:03:32,608 --> 01:03:34,903 Oamenii sunt întotdeauna spun mi că sunt un personaj. 1452 01:03:34,903 --> 01:03:36,029 >> Ei bine, vreau să spun, e adevărat. 1453 01:03:36,029 --> 01:03:37,445 Dar cine altcineva va fi în ea? 1454 01:03:37,445 --> 01:03:38,660 Nu poate fi doar tu. 1455 01:03:38,660 --> 01:03:47,240 >> -Ai Va fi în ea, Gavin, Dan, Dan, Colton, Z'Myla, Alysse, Doug, 1456 01:03:47,240 --> 01:03:51,120 David, toata lumea. 1457 01:03:51,120 --> 01:03:53,630 >> Deci este vorba despre nimic, și toată lumea e în ea? 1458 01:03:53,630 --> 01:03:54,530 >> -Absolut nimic. 1459 01:03:54,530 --> 01:03:58,730 1460 01:03:58,730 --> 01:04:00,580 >> -Acest lucru este ridicol.