1 00:00:00,000 --> 00:00:09,840 2 00:00:09,840 --> 00:00:10,824 >> [VIDEO PREDVAJANJE] 3 00:00:10,824 --> 00:00:13,284 >> [CAR DOOR roleta] 4 00:00:13,284 --> 00:00:15,744 >> [CAR zagonom motorja] 5 00:00:15,744 --> 00:00:19,188 >> [Predvaja glasba] 6 00:00:19,188 --> 00:00:20,172 7 00:00:20,172 --> 00:00:24,516 >> -Moving Pravica skupaj v iskanju dobrih časih in dobre novice. 8 00:00:24,516 --> 00:00:26,871 Z dobrimi prijatelji, ne moreš izgubiti. 9 00:00:26,871 --> 00:00:28,755 >> -To Lahko postane navada. 10 00:00:28,755 --> 00:00:32,460 >> -Opportunity Udarci Poglejmo samo dosegla ven in jo zgrabi. 11 00:00:32,460 --> 00:00:32,960 Ja! 12 00:00:32,960 --> 00:00:34,920 -Together Jo bomo nab. 13 00:00:34,920 --> 00:00:37,370 -We'll Hitch hike, avtobusom ali rumeno je kabina. 14 00:00:37,370 --> 00:00:38,840 -Dammit. 15 00:00:38,840 --> 00:00:40,800 -We're Premika desno skupaj. 16 00:00:40,800 --> 00:00:43,750 -Footloose In fancy brezplačno. 17 00:00:43,750 --> 00:00:45,960 -Getting Je pol zabave. 18 00:00:45,960 --> 00:00:47,718 Pridite jo delite z mano. 19 00:00:47,718 --> 00:00:49,654 >> -We're Premika desno skupaj. 20 00:00:49,654 --> 00:00:52,558 >> -We're Dogaja, da delijo breme. 21 00:00:52,558 --> 00:00:57,604 >> -Ne Potrebujem karto do dobili ta show na cesti. 22 00:00:57,604 --> 00:01:00,520 Hej Fozzy, želim si, da zavijete levo če prideš do razpotja. 23 00:01:00,520 --> 00:01:01,020 -Da, gospod. 24 00:01:01,020 --> 00:01:03,334 Zavijte levo na razcepu ceste. 25 00:01:03,334 --> 00:01:05,222 Zavijemo levo. 26 00:01:05,222 --> 00:01:07,582 >> -Ne Verjamem, da je. 27 00:01:07,582 --> 00:01:11,720 >> -Cruising Pravico skupaj smo ugotovili, lučke na avtocesti. 28 00:01:11,720 --> 00:01:13,664 >> In svojo pot ali na svoj način. 29 00:01:13,664 --> 00:01:16,154 >> Torej zaupam mojo navigacijo. 30 00:01:16,154 --> 00:01:21,134 >> -Movie Zvezde z neokusen avtomobilov in življenje z vrha navzdol. 31 00:01:21,134 --> 00:01:23,126 >> -We're Napad velike hribe. 32 00:01:23,126 --> 00:01:24,122 >> Ja, nevihta je prav. 33 00:01:24,122 --> 00:01:25,160 Je treba sneži? 34 00:01:25,160 --> 00:01:26,220 >> Ne, jaz ne mislim tako. 35 00:01:26,220 --> 00:01:28,505 >> -Moving Desno skupaj. 36 00:01:28,505 --> 00:01:30,980 >> -Footloose In fancy brezplačno. 37 00:01:30,980 --> 00:01:32,960 >> -You're Pripravljeno za veliko časa. 38 00:01:32,960 --> 00:01:34,445 >> To -je pripravljen za mene? 39 00:01:34,445 --> 00:01:38,900 40 00:01:38,900 --> 00:01:42,860 >> -Moving Desno skupaj. 41 00:01:42,860 --> 00:01:47,315 Premikanje desno skupaj. 42 00:01:47,315 --> 00:01:52,265 Premikanje desno skupaj. 43 00:01:52,265 --> 00:01:56,131 Premikanje desno skupaj. 44 00:01:56,131 --> 00:01:57,380 -Mislim, Da boste bolje ustaviš. 45 00:01:57,380 --> 00:01:58,020 -Da, gospod. 46 00:01:58,020 --> 00:02:02,475 47 00:02:02,475 --> 00:02:03,960 >> [END PREDVAJANJE] 48 00:02:03,960 --> 00:02:07,425 >> [Aplavz] 49 00:02:07,425 --> 00:02:09,405 50 00:02:09,405 --> 00:02:11,930 >> DAVID J. Malan: To je CS50. 51 00:02:11,930 --> 00:02:15,940 In to je konec tedna 0, vendar začetek čudovitega prijateljstva. 52 00:02:15,940 --> 00:02:18,250 Mi smo tako navdušeni, da so tukaj na univerzi Yale 53 00:02:18,250 --> 00:02:21,530 za zelo prvič z našimi prijatelj Scaz in Jason in Andy. 54 00:02:21,530 --> 00:02:24,320 Vse 40 CS50 je TF-ih in CA je tukaj na univerzi Yale. 55 00:02:24,320 --> 00:02:25,440 In vse vas. 56 00:02:25,440 --> 00:02:28,470 In v resnici, je verjetno čas to-- 57 00:02:28,470 --> 00:02:31,914 >> [Aplavz] 58 00:02:31,914 --> 00:02:43,722 59 00:02:43,722 --> 00:02:47,920 >> Torej, čeprav je večina predavanj bo dejansko v Cambridgeu v letošnjem letu, 60 00:02:47,920 --> 00:02:51,250 dejstvo pa je, da je po svoji zasnovi in zelo namerno v CS50, 61 00:02:51,250 --> 00:02:54,740 Mislim da smo bliža točko tehnološko in pedagoško, 62 00:02:54,740 --> 00:02:57,930 kjer je lahko boljša izobrazbena izkušnje, da sodelujejo z nekaterimi 63 00:02:57,930 --> 00:02:59,610 materialne spletu tečaja je. 64 00:02:59,610 --> 00:03:02,862 Dejansko je reality-- in če menim to philosophically-- je, da predavanja 65 00:03:02,862 --> 00:03:05,070 niso posebej učinkovito sredstvo za zagotavljanje 66 00:03:05,070 --> 00:03:06,900 precej zapleteno informacij. 67 00:03:06,900 --> 00:03:09,219 Zagotovo več kot eno uro plus dolgi razponi časa. 68 00:03:09,219 --> 00:03:11,760 In res vsak nekaj minutes-- Sem se spomnim v college-- 69 00:03:11,760 --> 00:03:14,210 vam cono ven za trenutek, ste zamudili nekaj kompleksno temo, 70 00:03:14,210 --> 00:03:16,540 in ste šli precej v naslednjih 45 minutah. 71 00:03:16,540 --> 00:03:19,414 In realnost je, da, ali ste tukaj v New Haven ali Cambridgeu 72 00:03:19,414 --> 00:03:22,930 ali tistega, preprostost ob sposobnost, da se ustavite in hitro naprej, 73 00:03:22,930 --> 00:03:26,270 previjanje, hiperpovezave do povezanih viri, iskanje Celotno besedilo prepisi 74 00:03:26,270 --> 00:03:29,900 in podobno, je priložnost, da Upam si reči, za naše spletne študente 75 00:03:29,900 --> 00:03:32,530 tudi izven New Haven, jim nudi priložnost 76 00:03:32,530 --> 00:03:34,700 res dojeti konceptualno gradivo, ki smo 77 00:03:34,700 --> 00:03:36,700 pri predavanjih uvesti vse bolje. 78 00:03:36,700 --> 00:03:39,415 >> Ampak v končni fazi v CS50, je izkušnje učenčevo 79 00:03:39,415 --> 00:03:43,099 je označen tako, toliko bolj s problemskih sklopov predmeta je, 80 00:03:43,099 --> 00:03:46,140 ali tedenskega programiranja projektov, odseki seveda je s poučevanjem vodil 81 00:03:46,140 --> 00:03:49,600 fantje so nočne uradnih ur, ki jih pod vodstvom pomočnikov tečaj in poučevanje 82 00:03:49,600 --> 00:03:52,330 fantje, in res kot prireditve, kot CS50 Puzzle 83 00:03:52,330 --> 00:03:56,500 Dan, CS50 je Hack-a-thon je CS50 Sejem, tedenska kosila, in še veliko več. 84 00:03:56,500 --> 00:03:59,580 In tako, ali ste tukaj v New Haven, ali tuning v od daleč, 85 00:03:59,580 --> 00:04:02,270 danes v Cambridgeu, in vas bomo kmalu spet vidimo, 86 00:04:02,270 --> 00:04:04,580 dejstvo pa je, da je to ena in ista razred. 87 00:04:04,580 --> 00:04:07,990 In mi smo tako veseli, da tu vse skupaj danes. 88 00:04:07,990 --> 00:04:11,110 In tako na koncu semestra, ali tu ali daleč, dobro 89 00:04:11,110 --> 00:04:14,910 upajmo, da nosite ponosno, veselo, in morda z malo reliefa, 90 00:04:14,910 --> 00:04:19,459 majica, ki priča da vas je upošteval CS50. 91 00:04:19,459 --> 00:04:21,700 >> Torej, kje smo zapustili v sredo? 92 00:04:21,700 --> 00:04:24,410 Vzeli smo si na računalniška razmišljanje. 93 00:04:24,410 --> 00:04:27,830 In to je v smeri, kar smo destilirali računalništvo reče, vsaj 94 00:04:27,830 --> 00:04:28,800 za zdaj. 95 00:04:28,800 --> 00:04:31,990 Ampak mi je malo nadaljnji destilaciji vsaj tri komponente elementi. 96 00:04:31,990 --> 00:04:34,570 >> Vhodi, kaj je Problem smo poskušali rešiti? 97 00:04:34,570 --> 00:04:36,650 Izhodi, kaj je odgovoriti upamo, da bomo dobili? 98 00:04:36,650 --> 00:04:38,210 In zastopanje tam od. 99 00:04:38,210 --> 00:04:41,870 In ne bomo se zadrževala ko na binarnem ali celo ASCII, 100 00:04:41,870 --> 00:04:44,050 in podobno toliko, vendar precej samoumevno, 101 00:04:44,050 --> 00:04:47,520 da bomo lahko predstavljajo te informacije, ker so veliko bolj zanimivih delov 102 00:04:47,520 --> 00:04:51,010 od teh problemov niso le vhodi in izhodi, vendar so algoritmi 103 00:04:51,010 --> 00:04:53,020 da gredo v reševanje teh problemov. 104 00:04:53,020 --> 00:04:55,120 >> In morda spomnite iz drugi dan, ki smo 105 00:04:55,120 --> 00:04:59,860 je precej tradicionalna Koncept je videti nekoga 106 00:04:59,860 --> 00:05:03,240 V dokaj velikem imeniku ali bolj splošno digitalno teh dneh, 107 00:05:03,240 --> 00:05:04,420 samo zelo velik nabor podatkov. 108 00:05:04,420 --> 00:05:07,840 Res velik seznam stikov, s veliko imen po abecedi razporejene. 109 00:05:07,840 --> 00:05:11,310 In smo ugotovili, da je, medtem ko sem mogoče približati ta problem preprosto 110 00:05:11,310 --> 00:05:14,520 z linearno approach-- stran za stranjo, 111 00:05:14,520 --> 00:05:17,775 ali celo dve je na time-- smo ugotovili, da je bolj intuitiven algorithm-- 112 00:05:17,775 --> 00:05:20,840 nekako delitve in osvajanju problem znova in znova, 113 00:05:20,840 --> 00:05:24,670 in again-- ga prepolovitev s seboj Tokrat nam je dal to zeleno rezultat. 114 00:05:24,670 --> 00:05:27,080 In to je toliko laskati ker predlaga 115 00:05:27,080 --> 00:05:29,160 da tudi kot ta problem dobi večji in večji, 116 00:05:29,160 --> 00:05:32,470 kot je to primer v teh dneh s podatki kompleti in reality-- Facebook in Google 117 00:05:32,470 --> 00:05:34,630 rezultati iskanja in like-- počne naš algoritem 118 00:05:34,630 --> 00:05:37,660 opravljajo enako učinkovito s temi večjimi piki 119 00:05:37,660 --> 00:05:40,310 kot je to storila tudi pri manjših ugrizov. 120 00:05:40,310 --> 00:05:45,330 >> Zdaj se postavlja vprašanje, kaj Lahko smo dejansko rešili podobno 121 00:05:45,330 --> 00:05:46,820 s tovrstno intuicijo? 122 00:05:46,820 --> 00:05:48,740 Takšna delitev in osvajanju? 123 00:05:48,740 --> 00:05:51,029 No, lahko naredimo nekaj kot je ta danes tukaj. 124 00:05:51,029 --> 00:05:52,070 Mi bi lahko prisotnost. 125 00:05:52,070 --> 00:05:56,102 Mogoče kot 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11-- 126 00:05:56,102 --> 00:05:57,560 ne bo vse, da bo učinkovita. 127 00:05:57,560 --> 00:05:58,990 Torej, počakajte, osnovni šoli. 128 00:05:58,990 --> 00:06:02,770 2, 4, 6, 8, 10, 12, 14, 16, 18 in tako naprej. 129 00:06:02,770 --> 00:06:04,140 Ampak lahko naredimo malo bolje? 130 00:06:04,140 --> 00:06:06,630 >> Prepričan sem, da ne morem to narediti sam. 131 00:06:06,630 --> 00:06:09,420 Torej, če boste humor nas za samo Trenutek, smo pripeljali z nami 132 00:06:09,420 --> 00:06:11,640 algoritem, ki je pravkar dobil tri korake, 133 00:06:11,640 --> 00:06:15,130 vendar pa require-- če vas ne mind-- vse nas vstane, 134 00:06:15,130 --> 00:06:15,690 če bi. 135 00:06:15,690 --> 00:06:23,901 136 00:06:23,901 --> 00:06:29,380 Torej, z vsemi nami stoji, korak eden od tem algoritmu je naslednji. 137 00:06:29,380 --> 00:06:31,680 Stand up in dodelite sami številka 1. 138 00:06:31,680 --> 00:06:34,180 Tako da na tej točki v času, dobesedno vsi v tej sobi 139 00:06:34,180 --> 00:06:38,830 upajmo, da je razmišljanje, da zase, Vendar nerodno, število 1. 140 00:06:38,830 --> 00:06:42,020 >> Sedaj korak dva tega algoritma bo vključevalo naslednje. 141 00:06:42,020 --> 00:06:44,680 Dvostopenjski, par off z nekom stoji, 142 00:06:44,680 --> 00:06:47,970 dodajte vaše številke skupaj, in sprejme vsoto kot svojo novo številko. 143 00:06:47,970 --> 00:06:53,110 144 00:06:53,110 --> 00:06:55,620 Preverjanje Quick sanity. 145 00:06:55,620 --> 00:06:58,180 Koliko je vsakdo razmišljal zdaj? 146 00:06:58,180 --> 00:07:01,930 >> Torej 2, razen morda za eno, nerodno, osamljena oseba. 147 00:07:01,930 --> 00:07:04,269 Če imamo liho število ljudi v sobi. 148 00:07:04,269 --> 00:07:06,560 Torej ena oseba lahko še vedno številka 1, da je v redu. 149 00:07:06,560 --> 00:07:09,440 Ampak korak tri tukaj, ena od morate usesti. 150 00:07:09,440 --> 00:07:13,620 Druga bi morala iti nazaj v korak dva, in ponavljam, če bi. 151 00:07:13,620 --> 00:07:54,430 152 00:07:54,430 --> 00:07:58,240 >> Torej, če še vedno stoji, morate biti med tistimi, ki gredo nazaj na drugi korak. 153 00:07:58,240 --> 00:08:13,910 154 00:08:13,910 --> 00:08:14,574 Nadaljuj. 155 00:08:14,574 --> 00:08:20,790 156 00:08:20,790 --> 00:08:22,130 Nekaj ​​ljudi še vedno stoji. 157 00:08:22,130 --> 00:08:33,590 158 00:08:33,590 --> 00:08:35,614 >> Torej, če še vedno stoji, seznanite se z nekom. 159 00:08:35,614 --> 00:08:53,710 160 00:08:53,710 --> 00:08:55,020 Vredu, zmanjševanje navzdol. 161 00:08:55,020 --> 00:09:06,394 162 00:09:06,394 --> 00:09:07,560 Nekaj ​​ljudi še vedno stoji. 163 00:09:07,560 --> 00:09:08,600 Bom pomagal, če bo to potrebno. 164 00:09:08,600 --> 00:09:11,855 Zapomni ključno takeaway tukaj, je, kako veliko hitreje, to je od mene štetje. 165 00:09:11,855 --> 00:09:15,090 166 00:09:15,090 --> 00:09:16,200 >> Torej, poglejmo. 167 00:09:16,200 --> 00:09:16,900 Jaz lahko pomagam. 168 00:09:16,900 --> 00:09:19,425 Torej, kaj več so Še vedno razmišljate? 169 00:09:19,425 --> 00:09:20,320 >> OBČINSTVO: Jaz sem pri 44. 170 00:09:20,320 --> 00:09:22,400 >> DAVID J. Malan: 44, tako da greš naprej in se usedem. 171 00:09:22,400 --> 00:09:23,733 Kaj več si v mislih? 172 00:09:23,733 --> 00:09:24,840 OBČINSTVO: 74. 173 00:09:24,840 --> 00:09:27,006 >> DAVID J. Malan: 74. 174 00:09:27,006 --> 00:09:28,380 Vse je v redu, pojdi in sedi. 175 00:09:28,380 --> 00:09:30,390 Kdo je še vedno stoji? 176 00:09:30,390 --> 00:09:31,550 86. 177 00:09:31,550 --> 00:09:33,340 In je kdo drug še vedno stoji? 178 00:09:33,340 --> 00:09:34,976 >> Katero številko? 179 00:09:34,976 --> 00:09:37,380 Slišal sem 67. 180 00:09:37,380 --> 00:09:39,370 In potem na vrhu? 181 00:09:39,370 --> 00:09:40,900 32. 182 00:09:40,900 --> 00:09:44,230 Kdorkoli drug, še vedno stoji in razmišljal o številnih? 183 00:09:44,230 --> 00:09:44,730 >> Oh, hi. 184 00:09:44,730 --> 00:09:45,230 Žal mi je. 185 00:09:45,230 --> 00:09:48,350 Takoj bom nazaj. 186 00:09:48,350 --> 00:09:49,520 42. 187 00:09:49,520 --> 00:09:51,758 Še kdo drug? 188 00:09:51,758 --> 00:09:52,610 >> OBČINSTVO: 47. 189 00:09:52,610 --> 00:09:54,930 >> DAVID J. Malan: 47. 190 00:09:54,930 --> 00:09:57,980 Je še kdo še vedno stoji Kdo še ni bilo prešteti? 191 00:09:57,980 --> 00:10:06,450 Torej končno število oseb v sobi ki ima 497 sedežev is-- od katerih so vsi 192 00:10:06,450 --> 00:10:10,930 so filled-- je 390. 193 00:10:10,930 --> 00:10:12,230 Torej, to je super. 194 00:10:12,230 --> 00:10:16,435 >> Kmalu bomo razpravljali o pojmu za napake v računalniškem programu. 195 00:10:16,435 --> 00:10:19,660 Vendar bomo prišli nazaj, da je pred dolgo. 196 00:10:19,660 --> 00:10:22,440 Ampak v teoriji, kaj bi lahko se je zgodilo šele zdaj? 197 00:10:22,440 --> 00:10:25,930 Torej, čeprav je bilo v treh velikih korakov do tega algoritma, vsak od teh 198 00:10:25,930 --> 00:10:27,510 je bila le vrsta enega velikega delovanja. 199 00:10:27,510 --> 00:10:31,020 In tam je bil ta cikličnost z njo s tem, da če ste bili še vedno stoji, 200 00:10:31,020 --> 00:10:34,870 vas bo ohranil iz treh korak za dva, Tretji korak na dva, korak tri na dva. 201 00:10:34,870 --> 00:10:37,330 >> Toda kaj hranijo dogaja na vsaki ponovitvi? 202 00:10:37,330 --> 00:10:39,440 Vsak cikel te zanke? 203 00:10:39,440 --> 00:10:41,940 Kaj se je dogajalo drugje v prostoru? 204 00:10:41,940 --> 00:10:45,170 Ne samo, da je ista stvar, ampak kaj se je dogajalo do polovice vas? 205 00:10:45,170 --> 00:10:46,170 Sedel. 206 00:10:46,170 --> 00:10:49,710 In tako je v laži ta vpogled, podobno kot na primer telefonskega imenika, 207 00:10:49,710 --> 00:10:52,050 s tem, da če se polovica od vas sedel vsakič, 208 00:10:52,050 --> 00:10:54,560 problem se začenja z morda 400 ljudi, 209 00:10:54,560 --> 00:10:57,780 nato pa do 200 ljudi, od 100 ljudi, nato 50 ljudi, in tako naprej. 210 00:10:57,780 --> 00:11:00,660 >> In tako smo whittle določa Teorija na samo eno osebo, 211 00:11:00,660 --> 00:11:02,830 razmišljanje celotne vrednosti vseh. 212 00:11:02,830 --> 00:11:05,777 Zdaj resničnost, nekatere socialne dinamike, in nekateri aritmetične napake 213 00:11:05,777 --> 00:11:07,360 lahko prispevajo k temu končnemu bug. 214 00:11:07,360 --> 00:11:10,300 Toda v teoriji, medtem ko I je še vedno štejemo stran, 215 00:11:10,300 --> 00:11:12,860 ob nekaj deset koraki, ali sto korakov 216 00:11:12,860 --> 00:11:16,240 da sami štetje, štetje Polna soba 500 ali tako ljudi 217 00:11:16,240 --> 00:11:20,560 bi bilo treba sprejeti veliko manj korakov, ker lahko razdeli le 500 in 1/2 218 00:11:20,560 --> 00:11:21,350 tolikokrat. 219 00:11:21,350 --> 00:11:24,120 In zato tako kot s telefonom Rezervirajte primer drugi dan, 220 00:11:24,120 --> 00:11:26,740 pa imamo nekaj logaritemsko tako rekoč, 221 00:11:26,740 --> 00:11:28,870 pri čemer, če smo bili vsi delujejo v sozvočju, 222 00:11:28,870 --> 00:11:32,000 in ignorirajo adicijske napake, bi mi 223 00:11:32,000 --> 00:11:34,140 so dosegli točno da nekako čas teče? 224 00:11:34,140 --> 00:11:37,900 >> Zdaj pa, da je pošteno, vrsta goljufal, v da sem vzvodom drug vir. 225 00:11:37,900 --> 00:11:40,320 Ker je to samo ena od mene, Jaz vzvodom stotine vas. 226 00:11:40,320 --> 00:11:43,340 Ampak, da bi lahko rekel, da je Primer paralelno procesiranje, 227 00:11:43,340 --> 00:11:46,400 ali stanje umetnosti zelo v modi kjer računalniki v teh dneh imajo 228 00:11:46,400 --> 00:11:49,830 več procesorjev ali več tehnično, bolj več jedra, 229 00:11:49,830 --> 00:11:52,550 in lahko resnično naredite multipla stvari naenkrat, podobno kot tebi 230 00:11:52,550 --> 00:11:54,706 vsi delamo tam, vzporedno. 231 00:11:54,706 --> 00:11:56,580 Vendar pa opozarjajo, da tisto, kar smo storil tudi v sredo 232 00:11:56,580 --> 00:12:02,640 smo poskušali ujeti to intuicijo in ga formalizirati v kodi. 233 00:12:02,640 --> 00:12:04,165 Nekaj ​​takega kot psevdo-kodo. 234 00:12:04,165 --> 00:12:07,040 In v resnici, in upam, da boste odpusti, to je kot 80 stopinj v tukaj. 235 00:12:07,040 --> 00:12:09,420 Tako da bom, da to off za samo malo. 236 00:12:09,420 --> 00:12:12,410 Kaj Mislil sem, da bi naredil, je prehod Sedaj do uporabne pri čemer 237 00:12:12,410 --> 00:12:16,300 smo spet vključijo občinstvo, ampak napisati program v angleščini 238 00:12:16,300 --> 00:12:19,537 podobno sintakso, s katerimi bi rešili ta problem tukaj. 239 00:12:19,537 --> 00:12:20,203 [VIDEO PREDVAJANJE] 240 00:12:20,203 --> 00:12:22,266 -To Arašidovo maslo čas žele. 241 00:12:22,266 --> 00:12:23,890 Arašidovo maslo čas žele. 242 00:12:23,890 --> 00:12:25,620 Arašidovo maslo čas žele. 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 Zdaj pa greš! 248 00:12:29,723 --> 00:12:30,264 Izvolite! 249 00:12:30,264 --> 00:12:30,805 Izvolite! 250 00:12:30,805 --> 00:12:31,710 Izvolite! 251 00:12:31,710 --> 00:12:33,156 Arašidovo maslo žele! 252 00:12:33,156 --> 00:12:34,602 Arašidovo maslo žele! 253 00:12:34,602 --> 00:12:36,530 >> Arašidovo maslo žele! 254 00:12:36,530 --> 00:12:37,494 Arašidovo maslo žele! 255 00:12:37,494 --> 00:12:38,940 Peanut, jelly arašidovo maslo! 256 00:12:38,940 --> 00:12:39,904 Arašidovo maslo žele! 257 00:12:39,904 --> 00:12:41,840 Arašidovo maslo žele z baseball kijem. 258 00:12:41,840 --> 00:12:42,423 >> [END PREDVAJANJE] 259 00:12:42,423 --> 00:12:45,510 DAVID J. Malan: --that video, vendar je malo zasvoji, 260 00:12:45,510 --> 00:12:46,540 če ne bit siten. 261 00:12:46,540 --> 00:12:49,623 Ampak za to, sem mislil, kaj bi storiti je, da poskusite napisati program skupaj, 262 00:12:49,623 --> 00:12:51,870 za kar smo potrebovali tri prostovoljce. 263 00:12:51,870 --> 00:12:54,350 Morajo biti udobna na kamero in internet. 264 00:12:54,350 --> 00:12:57,820 Sam, pridi gor. 265 00:12:57,820 --> 00:12:59,830 Vijolična majica, tukaj, pridi gor. 266 00:12:59,830 --> 00:13:03,470 >> In od tukaj, pusti me iti malo dlje nazaj. 267 00:13:03,470 --> 00:13:05,280 Crimson in modre majice, pridi gor. 268 00:13:05,280 --> 00:13:06,980 Popolna. 269 00:13:06,980 --> 00:13:09,790 Dajmo zdaj. 270 00:13:09,790 --> 00:13:12,490 Pridi gor, pridi gor. 271 00:13:12,490 --> 00:13:13,581 >> In kako ti je ime? 272 00:13:13,581 --> 00:13:14,080 Erica. 273 00:13:14,080 --> 00:13:15,289 David, lepo, da sva se spoznala. 274 00:13:15,289 --> 00:13:16,830 Če želite, da bo ta sedež tukaj. 275 00:13:16,830 --> 00:13:17,900 To je Sam. 276 00:13:17,900 --> 00:13:19,690 >> Kako ti je ime? 277 00:13:19,690 --> 00:13:20,260 Antonio. 278 00:13:20,260 --> 00:13:21,595 Antonio, lepo, da sva se spoznala. 279 00:13:21,595 --> 00:13:23,790 Erica in Sam, če bi radi imajo sedež tukaj. 280 00:13:23,790 --> 00:13:26,700 Kaj smo prišli pripravljeni z, saj ti fantje so odkrivanje, 281 00:13:26,700 --> 00:13:30,580 je sestavine, s katerimi naj bi arašidovo maslo in žele sendvič. 282 00:13:30,580 --> 00:13:33,520 >> Zdaj to lahko bilo nekaj, kar ste vzeli zelo samoumevno. 283 00:13:33,520 --> 00:13:35,430 Vendar smo glede na vsak od naših treh prostovoljcev 284 00:13:35,430 --> 00:13:40,500 here-- dva prostovoljca in Sam tu, A štruce kruha vsak, krožnik, nož, 285 00:13:40,500 --> 00:13:43,740 kozarec žele ali marmelado, in kozarec arašidovega masla. 286 00:13:43,740 --> 00:13:46,190 In cilj pri roki zdaj bo za te tri 287 00:13:46,190 --> 00:13:48,030 narediti arašidovo maslo in žele sendvič. 288 00:13:48,030 --> 00:13:51,000 Ampak, kaj bomo storili, je pričakovati, audience-- od vseh vas 289 00:13:51,000 --> 00:13:53,710 zagotovo vem, kako to storiti to tako dobro v reality-- 290 00:13:53,710 --> 00:13:56,380 se dogaja, da nam posredujete korak za korakom navodila. 291 00:13:56,380 --> 00:13:57,970 Psevdo-koda, če hočete. 292 00:13:57,970 --> 00:13:59,922 >> Torej bom igral vlogo pisar tukaj. 293 00:13:59,922 --> 00:14:02,880 In imam malo seznama opravil, in tako kot vsak od vas, enega po enega, 294 00:14:02,880 --> 00:14:04,588 kliče potencial poučni, bom 295 00:14:04,588 --> 00:14:06,110 zapisati, da postopek po potrebi ponovite. 296 00:14:06,110 --> 00:14:09,650 In potem vidva bosta morala arašidovo maslo in žele sendvič 297 00:14:09,650 --> 00:14:11,171 le s tem, kar ste povedali. 298 00:14:11,171 --> 00:14:12,670 Tako da mislim o sebi kot računalniki. 299 00:14:12,670 --> 00:14:13,740 >> To lahko storite le to, kar ste povedali. 300 00:14:13,740 --> 00:14:14,948 Ni predpostavke, brez vprašanj. 301 00:14:14,948 --> 00:14:16,660 Vi šele potreba, da to storite. 302 00:14:16,660 --> 00:14:20,460 Torej, kdo bi rad ogrožala prvo navodila za izdelavo PBJ sendvič? 303 00:14:20,460 --> 00:14:21,460 Na balkonu tam. 304 00:14:21,460 --> 00:14:22,801 >> OBČINSTVO: Odprite vrečko kruha. 305 00:14:22,801 --> 00:14:26,430 >> DAVID J. Malan: Odprite vrečko kruha, če hočete. 306 00:14:26,430 --> 00:14:34,440 307 00:14:34,440 --> 00:14:35,230 Torej, poglejmo. 308 00:14:35,230 --> 00:14:37,910 Oglejmo Ponovil, in dobili malo bolj natančno. 309 00:14:37,910 --> 00:14:39,040 >> Dober način za začetek, čeprav. 310 00:14:39,040 --> 00:14:42,340 Korak dva, nekdo drug. 311 00:14:42,340 --> 00:14:43,590 Zdaj nihče ne želi prostovoljno. 312 00:14:43,590 --> 00:14:44,616 Drugi korak, pred. 313 00:14:44,616 --> 00:14:46,532 OBČINSTVO: Odprite notranja vrečko kruha, kot tudi. 314 00:14:46,532 --> 00:14:50,600 DAVID J. Malan: Odprite notranja vreča kruha, kot tudi. 315 00:14:50,600 --> 00:14:51,880 Great, učimo. 316 00:14:51,880 --> 00:14:57,880 317 00:14:57,880 --> 00:14:59,090 Malo bolj natančno. 318 00:14:59,090 --> 00:15:00,240 Pojdimo to delo. 319 00:15:00,240 --> 00:15:01,180 Da, v zeleni srajci. 320 00:15:01,180 --> 00:15:04,608 >> OBČINSTVO: [neslišno] 321 00:15:04,608 --> 00:15:05,108 322 00:15:05,108 --> 00:15:09,040 DAVID J. Malan: Rezine kruha. 323 00:15:09,040 --> 00:15:11,110 Nežno odstrani dve rezini kruha. 324 00:15:11,110 --> 00:15:20,350 325 00:15:20,350 --> 00:15:21,000 To je dobro. 326 00:15:21,000 --> 00:15:24,300 Korak štiri, nekdo drug? 327 00:15:24,300 --> 00:15:25,170 Tukaj, kajne? 328 00:15:25,170 --> 00:15:26,130 >> OBČINSTVO: [neslišno] 329 00:15:26,130 --> 00:15:28,810 >> DAVID J. Malan: Kraj kruh na tablici. 330 00:15:28,810 --> 00:15:33,490 331 00:15:33,490 --> 00:15:35,290 Peti korak? 332 00:15:35,290 --> 00:15:36,020 Korak pet, ja? 333 00:15:36,020 --> 00:15:39,440 >> OBČINSTVO: [neslišno] 334 00:15:39,440 --> 00:15:39,940 335 00:15:39,940 --> 00:15:43,860 DAVID J. Malan: Na vrhu of-- oh, roko. 336 00:15:43,860 --> 00:15:46,967 Postavite roko na vrhu arašidovega masla. 337 00:15:46,967 --> 00:15:47,800 Je to tisto, kar sem glavo? 338 00:15:47,800 --> 00:15:49,160 >> OBČINSTVO: Ja, in odvijte. 339 00:15:49,160 --> 00:15:51,370 >> DAVID J. Malan: in-- ponavljal. 340 00:15:51,370 --> 00:15:52,696 >> OBČINSTVO: [neslišno] 341 00:15:52,696 --> 00:15:57,990 >> DAVID J. Malan: In dal pokrov poleg kikirikijevo maslo. 342 00:15:57,990 --> 00:16:00,370 Rahlo položite roko na top arašidovega masla, 343 00:16:00,370 --> 00:16:03,240 in odvijte, in dal pokrov poleg kikirikijevo maslo. 344 00:16:03,240 --> 00:16:14,760 345 00:16:14,760 --> 00:16:16,260 OK, šestim korakom. 346 00:16:16,260 --> 00:16:17,520 Korak šest, nekdo drug. 347 00:16:17,520 --> 00:16:19,366 Ja? 348 00:16:19,366 --> 00:16:22,740 >> OBČINSTVO: [neslišno] 349 00:16:22,740 --> 00:16:29,197 350 00:16:29,197 --> 00:16:30,405 DAVID J. Malan: Ponovi. 351 00:16:30,405 --> 00:16:31,946 OBČINSTVO: Ponovite korak pet znova. 352 00:16:31,946 --> 00:16:37,380 DAVID J. Malan: In ponovite korak pet, 353 00:16:37,380 --> 00:16:39,400 ki bo vzpostavila bit problem 354 00:16:39,400 --> 00:16:42,600 Zdaj, če delamo to korak za korakom. 355 00:16:42,600 --> 00:16:44,640 Torej, zdaj gremo nazaj na korak pet. 356 00:16:44,640 --> 00:16:47,760 Rahlo položite roko na vrh arašidovega masla in odvijte 357 00:16:47,760 --> 00:16:50,990 in čaka pokrov poleg kikirikijevo maslo. 358 00:16:50,990 --> 00:16:55,340 Nato primite arašidovo maslo in ponovite korak pet. 359 00:16:55,340 --> 00:16:58,410 >> Torej bomo razveljavili, da neskončna zanka, če hočete. 360 00:16:58,410 --> 00:17:00,400 Korak sedem, nekdo drug. 361 00:17:00,400 --> 00:17:02,918 Ja, v hrbtu. 362 00:17:02,918 --> 00:17:06,397 >> OBČINSTVO: [neslišno] 363 00:17:06,397 --> 00:17:16,084 364 00:17:16,084 --> 00:17:17,769 >> DAVID J. Malan: --on vrh drugega. 365 00:17:17,769 --> 00:17:20,529 >> OBČINSTVO: [neslišno] 366 00:17:20,529 --> 00:17:23,175 >> DAVID J. Malan: Na drugi strani pa na nasprotni vrhu. 367 00:17:23,175 --> 00:17:28,880 368 00:17:28,880 --> 00:17:30,895 Želite pravkar prišel sem gor? 369 00:17:30,895 --> 00:17:34,750 Kako končati navodila? 370 00:17:34,750 --> 00:17:37,790 Kaj je ostalo od pouka? 371 00:17:37,790 --> 00:17:39,140 >> OBČINSTVO: Ignoriranje ta del. 372 00:17:39,140 --> 00:17:41,050 >> DAVID J. Malan: Ignoriranje ta del. 373 00:17:41,050 --> 00:17:44,192 374 00:17:44,192 --> 00:17:44,900 Začnimo znova. 375 00:17:44,900 --> 00:17:45,400 Sedmi korak. 376 00:17:45,400 --> 00:17:48,516 377 00:17:48,516 --> 00:17:51,883 >> OBČINSTVO: [neslišno] 378 00:17:51,883 --> 00:17:56,090 >> DAVID J. Malan: Primite z nasprotovanje hand-- to je dobro. 379 00:17:56,090 --> 00:17:58,544 To je dejansko dobro. 380 00:17:58,544 --> 00:18:01,750 >> OBČINSTVO: [neslišno] 381 00:18:01,750 --> 00:18:03,975 >> DAVID J. Malan: In plastična jar-- 382 00:18:03,975 --> 00:18:06,675 >> OBČINSTVO: [neslišno] 383 00:18:06,675 --> 00:18:08,420 >> DAVID J. Malan: In twist-- 384 00:18:08,420 --> 00:18:11,488 >> OBČINSTVO: [neslišno] 385 00:18:11,488 --> 00:18:13,730 >> DAVID J. Malan: Za dve sekundi. 386 00:18:13,730 --> 00:18:15,800 Samo odpreti kozarec s kikirikijevim maslom. 387 00:18:15,800 --> 00:18:19,020 388 00:18:19,020 --> 00:18:20,632 Upam, da si bom odpustil. 389 00:18:20,632 --> 00:18:21,840 Torej, kaj je domnevati, da imamo tam. 390 00:18:21,840 --> 00:18:23,240 Odprite kozarec s kikirikijevim maslom. 391 00:18:23,240 --> 00:18:27,008 392 00:18:27,008 --> 00:18:32,570 >> [Aplavz] 393 00:18:32,570 --> 00:18:34,790 >> DAVID J. Malan: Korak osem, pojdimo. 394 00:18:34,790 --> 00:18:37,510 Korak osem, ja, v hrbtu. 395 00:18:37,510 --> 00:18:38,470 >> OBČINSTVO: [neslišno] 396 00:18:38,470 --> 00:18:44,772 397 00:18:44,772 --> 00:18:45,700 >> DAVID J. Malan: Dobro. 398 00:18:45,700 --> 00:18:47,040 Korak devet, ja? 399 00:18:47,040 --> 00:18:48,924 >> OBČINSTVO: [neslišno] 400 00:18:48,924 --> 00:18:51,567 >> DAVID J. Malan: --out od jar arašidovo maslo. 401 00:18:51,567 --> 00:18:53,830 In-- in kaj? 402 00:18:53,830 --> 00:18:54,729 >> OBČINSTVO: [neslišno] 403 00:18:54,729 --> 00:18:58,222 >> DAVID J. Malan: In dal nož nazaj v arašidovo maslo. 404 00:18:58,222 --> 00:19:11,130 405 00:19:11,130 --> 00:19:12,090 Deset korak. 406 00:19:12,090 --> 00:19:13,050 Deset korak. 407 00:19:13,050 --> 00:19:14,970 >> OBČINSTVO: [neslišno] 408 00:19:14,970 --> 00:19:20,710 >> DAVID J. Malan: Put nož ven, in nato odstranite pečat. 409 00:19:20,710 --> 00:19:23,060 Lepo. 410 00:19:23,060 --> 00:19:24,400 Off arašidovo maslo. 411 00:19:24,400 --> 00:19:34,490 412 00:19:34,490 --> 00:19:36,406 Vredu, korak 11. 413 00:19:36,406 --> 00:19:37,322 >> OBČINSTVO: [neslišno] 414 00:19:37,322 --> 00:19:42,520 415 00:19:42,520 --> 00:19:48,164 >> DAVID J. Malan: OK, siva računalnik sledite modro ali rdečo računalnik. 416 00:19:48,164 --> 00:19:49,631 Dobro. 417 00:19:49,631 --> 00:19:53,054 >> [Aplavz] 418 00:19:53,054 --> 00:19:55,920 419 00:19:55,920 --> 00:19:57,170 DAVID J. Malan: Pripeljite nam domov. 420 00:19:57,170 --> 00:19:59,570 Par korakov. 421 00:19:59,570 --> 00:20:00,250 Kaj je naslednje? 422 00:20:00,250 --> 00:20:02,590 Koraki 12. 423 00:20:02,590 --> 00:20:04,161 12. korak. 424 00:20:04,161 --> 00:20:05,123 Ja? 425 00:20:05,123 --> 00:20:14,262 >> OBČINSTVO: Put eno rezine kruh nežno na enem od vaših rokah. 426 00:20:14,262 --> 00:20:17,550 >> DAVID J. Malan: Ena vaših rokah. 427 00:20:17,550 --> 00:20:20,760 In potem, 13 korak. 428 00:20:20,760 --> 00:20:21,260 Ja? 429 00:20:21,260 --> 00:20:22,220 >> OBČINSTVO: [neslišno] 430 00:20:22,220 --> 00:20:25,580 431 00:20:25,580 --> 00:20:27,150 >> DAVID J. Malan: --on rezina kruha. 432 00:20:27,150 --> 00:20:29,950 Dobro. 433 00:20:29,950 --> 00:20:32,260 Precej dobro. 434 00:20:32,260 --> 00:20:34,990 Korak 14, ja. 435 00:20:34,990 --> 00:20:38,126 >> OBČINSTVO: Razveljavi korak 13. 436 00:20:38,126 --> 00:20:39,950 >> DAVID J. Malan: Razveljavi korak 13. 437 00:20:39,950 --> 00:20:42,690 438 00:20:42,690 --> 00:20:44,770 Pojdimo na žele. 439 00:20:44,770 --> 00:20:47,900 To je 100- korak program, vendar pa sva bili na korak 15. 440 00:20:47,900 --> 00:20:49,210 Ja. 441 00:20:49,210 --> 00:20:50,170 >> OBČINSTVO: [neslišno] 442 00:20:50,170 --> 00:20:53,050 443 00:20:53,050 --> 00:20:59,570 >> DAVID J. Malan: 7 do 13, ob uporabi žele, ker tisti je šel tako dobro. 444 00:20:59,570 --> 00:21:02,530 Ponovite korake od 7 do 13, z uporabo žele. 445 00:21:02,530 --> 00:21:07,940 Torej dojeti spodnjo polovico jelly jar z eno roko na vrhu. 446 00:21:07,940 --> 00:21:11,970 Po drugi strani pa od drugi top, ignoriranje tisti del, 447 00:21:11,970 --> 00:21:15,430 primite z nasprotnimi rokami, pokrov in plastični kozarec 448 00:21:15,430 --> 00:21:18,300 na dnu, in zasuk za dve sekundi. 449 00:21:18,300 --> 00:21:19,940 Nato odprite žele kozarec. 450 00:21:19,940 --> 00:21:23,290 451 00:21:23,290 --> 00:21:26,580 In nenazadnje, poskusimo nam kaj užitnega. 452 00:21:26,580 --> 00:21:27,270 16. korak. 453 00:21:27,270 --> 00:21:35,820 454 00:21:35,820 --> 00:21:37,130 Torej, zakaj ne bomo ga pustiti tam. 455 00:21:37,130 --> 00:21:38,879 Najlepša hvala za naši trije prostovoljci. 456 00:21:38,879 --> 00:21:41,466 [Aplavz] 457 00:21:41,466 --> 00:21:45,920 458 00:21:45,920 --> 00:21:50,300 >> Imamo malo CS50 stres žogo za vas. 459 00:21:50,300 --> 00:21:54,540 Gre, da je bila sendvič ampak-- pa kaj 460 00:21:54,540 --> 00:21:57,130 je točka, ki presegajo imajo malo zabave s algoritma? 461 00:21:57,130 --> 00:22:00,140 Ampak dejstvo je, da tudi, ko ste programiranje računalnika, 462 00:22:00,140 --> 00:22:02,050 morate biti super natančno. 463 00:22:02,050 --> 00:22:04,030 Kot kompleks ali zastraševalno kot svoj računalnik 464 00:22:04,030 --> 00:22:06,670 bi bilo zelo dobro za vas, na Vsaj ko gre kaj narobe, 465 00:22:06,670 --> 00:22:10,150 Realnost je, da je precej neumna Naprava, ki je izumil nas ljudi, 466 00:22:10,150 --> 00:22:13,267 in lahko storite le podmnožica tisto, kar smo do-- včasih gotovo faster-- 467 00:22:13,267 --> 00:22:15,100 vendar pa ne vem, kako za predpostavke. 468 00:22:15,100 --> 00:22:18,070 Ne vem, kako, da se na isti valovni dolžini kot ti. 469 00:22:18,070 --> 00:22:20,280 >> To bo le naredil prav kaj ti je povedal. 470 00:22:20,280 --> 00:22:22,070 In boš udaril, morda, kot smo začeli 471 00:22:22,070 --> 00:22:24,770 pisanje dejansko kodo s Prvi problem kompleti in tistega, 472 00:22:24,770 --> 00:22:27,490 kako enostavno je, da bi predpostavka kot človek, 473 00:22:27,490 --> 00:22:31,880 in ne predvidevati moram ravnati da je tako, ali da kotna primer, 474 00:22:31,880 --> 00:22:34,900 tako rekoč, da bi lahko zelo dobro nastane, če za imeli primer Sam edini 475 00:22:34,900 --> 00:22:38,711 stisne kozarec marmelade, medtem vsi ostali imeli nekaj steklenih kozarcev, kot je 476 00:22:38,711 --> 00:22:39,210 dobro. 477 00:22:39,210 --> 00:22:42,170 Torej, preden se obrnemo naše pozornost do neke dejanske kode, 478 00:22:42,170 --> 00:22:44,680 dovolite mi, da uvede glave seveda je tukaj na univerzi Yale. 479 00:22:44,680 --> 00:22:49,058 Naši prijatelji Scaz, Andy, in Jason, da pridejo gor in pozdravi. 480 00:22:49,058 --> 00:22:52,544 >> [Aplavz] 481 00:22:52,544 --> 00:22:58,022 482 00:22:58,022 --> 00:23:01,060 >> SCAZ: Izgubili smo Jasona začasno. 483 00:23:01,060 --> 00:23:02,440 Živjo spet, vsi. 484 00:23:02,440 --> 00:23:03,610 Moje ime je Scaz. 485 00:23:03,610 --> 00:23:06,860 Sem bil poučevanje na univerzi Yale leta 2001. 486 00:23:06,860 --> 00:23:10,820 In ko nisem učil, moje raziskave je v robotiki 487 00:23:10,820 --> 00:23:12,620 in umetna inteligenca. 488 00:23:12,620 --> 00:23:17,700 >> In napoved, da imam danes je, da se začne v nekaj tednih 489 00:23:17,700 --> 00:23:22,170 bomo prinašali nekateri dodatni material CS50 govoriti 490 00:23:22,170 --> 00:23:24,510 o inteligence programske opreme. 491 00:23:24,510 --> 00:23:28,230 Bomo govorili o tem, kako mestih, kot so Netflix in Hulu 492 00:23:28,230 --> 00:23:31,780 lahko priporoči filme, ki boste morda želeli gledati. 493 00:23:31,780 --> 00:23:35,710 Kjer bomo govorili o tem, kako voznik manj avtomobilov dejansko delajo. 494 00:23:35,710 --> 00:23:39,020 In bomo lahko zemlja te stvari v koncepte 495 00:23:39,020 --> 00:23:41,730 da se učite V tem razredu danes. 496 00:23:41,730 --> 00:23:45,410 >> Ker vse te stvari so zgrajen na isti temelj. 497 00:23:45,410 --> 00:23:47,396 In to je tisto, kar ta Serija bo raziskala. 498 00:23:47,396 --> 00:23:49,520 Tako da sem res videti pričakujem več od vas 499 00:23:49,520 --> 00:23:53,260 vse, in boste dobili videti več od vseh nas zelo kmalu. 500 00:23:53,260 --> 00:23:56,500 Naj potem uvedejo Jason. 501 00:23:56,500 --> 00:23:57,950 >> JASON: Pozdravljeni vsi. 502 00:23:57,950 --> 00:23:59,290 Moje ime je Jason. 503 00:23:59,290 --> 00:24:03,540 Jaz žal šla Harvard kot Undergrad. 504 00:24:03,540 --> 00:24:07,020 To se dogaja, da se zmanjšanje od dejanskega toka. 505 00:24:07,020 --> 00:24:09,870 >> In zdaj sem tu kot predavatelj oddelek za računalništvo. 506 00:24:09,870 --> 00:24:14,825 In sem pomagal zagnati potek z Scaz, David in Andy. 507 00:24:14,825 --> 00:24:17,140 >> ANDY: Hej fantje. 508 00:24:17,140 --> 00:24:17,980 Moje ime je Andy. 509 00:24:17,980 --> 00:24:21,992 Jaz sem pravzaprav edini Yale študent na odru prav zdaj. 510 00:24:21,992 --> 00:24:25,464 >> [Aplavz] 511 00:24:25,464 --> 00:24:29,440 512 00:24:29,440 --> 00:24:31,770 >> Sem v Berkeley College, prvotno iz Solon, Ohio. 513 00:24:31,770 --> 00:24:35,240 514 00:24:35,240 --> 00:24:37,930 In jaz sem bil eden tistih otrok kjer je, ko sem prišel na Yale, 515 00:24:37,930 --> 00:24:42,030 Res sem mislil, da mi ne bi nikoli morali pogledati na številnih nikoli več. 516 00:24:42,030 --> 00:24:46,240 In potem sem ugotovil, da si je potrebno tako znanost in QR krediti diplomiral. 517 00:24:46,240 --> 00:24:51,340 In tako je moj novinec pomlad, sem razred, CS, intro CS razred tukaj 518 00:24:51,340 --> 00:24:52,230 na univerzi Yale. 519 00:24:52,230 --> 00:24:54,710 Bil sem kot, da je to všeč pravzaprav zelo kul. 520 00:24:54,710 --> 00:25:01,330 >> In ko sem dejansko končal razglasitvi Kot globalni zadeve velik, spretnosti 521 00:25:01,330 --> 00:25:04,910 Naučil sem se v CS in programiranje so tako uporabljajo za katero koli področje 522 00:25:04,910 --> 00:25:05,970 odločite, da boste storili. 523 00:25:05,970 --> 00:25:09,770 In osebje tukaj na univerzi Yale, smo bili tako na trdo delo 524 00:25:09,770 --> 00:25:10,800 pripraviti za vas. 525 00:25:10,800 --> 00:25:13,410 In se veselimo, da vidim vse v strokovnih in drugih uradnih ur. 526 00:25:13,410 --> 00:25:14,874 Torej, ja. 527 00:25:14,874 --> 00:25:18,178 >> [Aplavz] 528 00:25:18,178 --> 00:25:19,297 529 00:25:19,297 --> 00:25:20,380 DAVID J. Malan: Hvala. 530 00:25:20,380 --> 00:25:22,940 Torej, tik pred razred začel, smo imeli priložnost 531 00:25:22,940 --> 00:25:25,660 hoditi okrog kampusu s mobilni telefon in se 532 00:25:25,660 --> 00:25:30,530 nekateri selfies v video obliki res moja prva turneja Yale kampusu tukaj. 533 00:25:30,530 --> 00:25:35,420 In zato smo menili, da bi delili groba Kroj točno to kot Scaz in Andy 534 00:25:35,420 --> 00:25:37,970 in Jason me je okoli kampusa. 535 00:25:37,970 --> 00:25:43,662 536 00:25:43,662 --> 00:25:44,328 [VIDEO PREDVAJANJE] 537 00:25:44,328 --> 00:25:47,322 [Sirene] 538 00:25:47,322 --> 00:25:49,318 -David. 539 00:25:49,318 --> 00:25:50,132 -Dobrodošli Na Yale. 540 00:25:50,132 --> 00:25:50,840 -Lepo te je videti. 541 00:25:50,840 --> 00:25:52,410 -Lepo te je videti. 542 00:25:52,410 --> 00:25:53,340 -Ali Lahko gremo na turnejo? 543 00:25:53,340 --> 00:25:56,845 -Naj Gremo na turnejo. 544 00:25:56,845 --> 00:25:57,523 -Road Turnejo. 545 00:25:57,523 --> 00:25:59,106 -Ta Znak je bil tam za nekaj časa. 546 00:25:59,106 --> 00:26:00,200 -Whah, CS50. 547 00:26:00,200 --> 00:26:02,978 548 00:26:02,978 --> 00:26:05,293 >> -Hurry! 549 00:26:05,293 --> 00:26:08,970 Gremo, gremo, gremo, gremo. 550 00:26:08,970 --> 00:26:12,340 Moral bi [neslišno] Harkness Tower. 551 00:26:12,340 --> 00:26:13,850 >> In smo videli, da nekajkrat. 552 00:26:13,850 --> 00:26:16,760 553 00:26:16,760 --> 00:26:20,155 >> [Aplavz] 554 00:26:20,155 --> 00:26:21,130 555 00:26:21,130 --> 00:26:22,890 >> Poglej, ven na kolo! 556 00:26:22,890 --> 00:26:24,500 Ahh! 557 00:26:24,500 --> 00:26:25,030 Hi Frank. 558 00:26:25,030 --> 00:26:26,314 >> Kaj je gor, fantje? 559 00:26:26,314 --> 00:26:26,855 -Kako si? 560 00:26:26,855 --> 00:26:28,474 -Lepo te je videti. 561 00:26:28,474 --> 00:26:29,390 -Dobrodošli Na video. 562 00:26:29,390 --> 00:26:32,270 Ne delujejo preveč navdušena. 563 00:26:32,270 --> 00:26:34,502 >> -I Ljubezen Silliman. 564 00:26:34,502 --> 00:26:36,430 Ahh! 565 00:26:36,430 --> 00:26:39,780 >> -To Je bilo približno tri ure, saj Jason je imel sladoled in Nutella. 566 00:26:39,780 --> 00:26:43,189 Torej morava ustaviti nazaj Silliman za malo. 567 00:26:43,189 --> 00:26:45,137 >> -To Ni niti [neslišno] še, samo dejstvo, 568 00:26:45,137 --> 00:26:47,270 da ga imamo tukaj, je tako neverjetno. 569 00:26:47,270 --> 00:26:49,830 Stari, tam je Nutella pri vsakem obroku. 570 00:26:49,830 --> 00:26:51,830 >> Lani -Ni bilo preveč. 571 00:26:51,830 --> 00:26:54,220 >> Ja. 572 00:26:54,220 --> 00:26:56,440 >> -tell veliko o Yale doslej. 573 00:26:56,440 --> 00:26:58,485 Ampak jaz zdaj, da je TD tam. 574 00:26:58,485 --> 00:26:59,860 In to velja off kampusu. 575 00:26:59,860 --> 00:27:03,659 >> -Here Imamo gotske arhitekture. 576 00:27:03,659 --> 00:27:04,200 Svetovno znana. 577 00:27:04,200 --> 00:27:06,758 Imamo nekaj več gotske arhitekture. 578 00:27:06,758 --> 00:27:10,614 In gradbeništvo, in več gotska arhitektura. 579 00:27:10,614 --> 00:27:11,114 Hi. 580 00:27:11,114 --> 00:27:15,470 To je, če smo ob uradnih ur Ob torkih skozi četrtkih v Hogwarts, 581 00:27:15,470 --> 00:27:16,922 kot [neslišno]. 582 00:27:16,922 --> 00:27:20,620 583 00:27:20,620 --> 00:27:21,120 -V redu. 584 00:27:21,120 --> 00:27:22,078 To je to za turnejo. 585 00:27:22,078 --> 00:27:24,030 Smo na Yale University je Law School, kjer je 586 00:27:24,030 --> 00:27:25,870 današnje predavanje je na tem, da poteka. 587 00:27:25,870 --> 00:27:29,220 Vrnimo v. 588 00:27:29,220 --> 00:27:30,375 >> [END PREDVAJANJE] 589 00:27:30,375 --> 00:27:32,370 >> DAVID J. Malan: In ki nam zdaj prinaša tukaj. 590 00:27:32,370 --> 00:27:38,040 591 00:27:38,040 --> 00:27:40,770 Torej tako daleč, da smo bili s poudarkom na psevdokoda, 592 00:27:40,770 --> 00:27:42,430 ki je to angleščina podobno sintakso. 593 00:27:42,430 --> 00:27:45,030 To nima predpisane specifikacije. 594 00:27:45,030 --> 00:27:47,030 To je samo vi uporabljate nekatere intuitivno jezik, če vas 595 00:27:47,030 --> 00:27:48,950 želim, da pojasni, kaj želite storiti. 596 00:27:48,950 --> 00:27:52,270 >> Ampak začnimo zdaj na prehodu na kodo, kot bi večina ljudi pravijo. 597 00:27:52,270 --> 00:27:54,880 Ampak bolj natančno, kaj znan kot izvorne kode. 598 00:27:54,880 --> 00:27:58,210 To je jezik, da ljudje pisati, da računalniki ultimately-- 599 00:27:58,210 --> 00:28:00,780 po možnosti po določenem številu steps-- končno razume 600 00:28:00,780 --> 00:28:02,530 tako da vem, kako nekaj narediti. 601 00:28:02,530 --> 00:28:05,120 Da ste videli pogled to morda v sredo. 602 00:28:05,120 --> 00:28:07,780 >> To je primer, da je neverjetno, underwhelming 603 00:28:07,780 --> 00:28:10,220 ko zaženete preprosto reče "Zdravo svet." 604 00:28:10,220 --> 00:28:13,510 In to je napisano v jeziku, ki se imenuje C, kar je skladenjsko zelo podobna 605 00:28:13,510 --> 00:28:15,676 na veliko drugih jezikih ki morda ne vedo, 606 00:28:15,676 --> 00:28:18,409 vendar bi lahko slišali, kot so Java, in C ++ in Python in Ruby, 607 00:28:18,409 --> 00:28:21,200 in podobno, in dejansko, bomo preživijo veliko semestra uporabo C, 608 00:28:21,200 --> 00:28:23,530 in nato proti koncu semester, ki temelji na tem, 609 00:28:23,530 --> 00:28:25,446 in uvajanje koli število drugih jezikih. 610 00:28:25,446 --> 00:28:28,810 Med njimi PHP in JavaScript, jezik, podatkovno bazo, imenovano SQL. 611 00:28:28,810 --> 00:28:31,526 Ampak s C, kaj bomo imeli to razumevanje spodaj navzgor 612 00:28:31,526 --> 00:28:33,900 točno, kako računalniki delo, Kaj lahko naredite z njimi, 613 00:28:33,900 --> 00:28:37,252 in kako lahko reši težave toliko bolj učinkovito s tem 614 00:28:37,252 --> 00:28:39,460 layering, da smo razpravljali v sredo, in položaja 615 00:28:39,460 --> 00:28:40,870 na ramena drugih. 616 00:28:40,870 --> 00:28:42,200 Ampak več o tem, da pridejo. 617 00:28:42,200 --> 00:28:46,650 >> Danes gledamo na preprostejši okolje, ampak v bistvu enaka 618 00:28:46,650 --> 00:28:49,970 Okolje znan kot Scratch ga naši prijatelji na MIT Media Lab. 619 00:28:49,970 --> 00:28:52,570 To je grafična programski jezik, Scratch, 620 00:28:52,570 --> 00:28:54,330 s katerim lahko povlečete in spustite stvari, ki 621 00:28:54,330 --> 00:28:57,430 izgledal kosov sestavljanke, ki le interlock če naredi 622 00:28:57,430 --> 00:28:59,872 logična ali programski občutek, da to storijo. 623 00:28:59,872 --> 00:29:02,330 Ampak to se dogaja, da nam omogočajo, da imajo pogovor o vsem 624 00:29:02,330 --> 00:29:04,604 iste programiranja osnove, da nekateri od vas 625 00:29:04,604 --> 00:29:06,520 Morda že veste, da mnogi od vas morda ne 626 00:29:06,520 --> 00:29:09,670 vedo ničesar, ne da bi ob da se bogged odkrito, 627 00:29:09,670 --> 00:29:13,150 v intelektualno nezanimiv sintaksa podpičji, 628 00:29:13,150 --> 00:29:14,950 in oklepaji in navaja, in podobno. 629 00:29:14,950 --> 00:29:16,910 Vse to, zgodnje na, so moteča 630 00:29:16,910 --> 00:29:20,322 s tem, kar so zanimive in resnično uporabne ideje. 631 00:29:20,322 --> 00:29:22,280 Torej, vzemimo na hitro pogled na okolje 632 00:29:22,280 --> 00:29:24,180 tukaj, tako da boste vedeli, kaj čaka. 633 00:29:24,180 --> 00:29:28,060 In dejansko med igrah lahko igrajo so napisani nekateri programi 634 00:29:28,060 --> 00:29:30,810 ga CS50 lastnih nekdanjih študentov. 635 00:29:30,810 --> 00:29:36,200 Eden od njih, sam, bom to ena napisana v podiplomski šoli za mene. 636 00:29:36,200 --> 00:29:39,030 >> Če lahko vzamem enega prostovoljca kdo je pripravljen igrati 637 00:29:39,030 --> 00:29:40,420 igra za zelo prvič. 638 00:29:40,420 --> 00:29:40,920 Sure. 639 00:29:40,920 --> 00:29:41,690 Pridi gor. 640 00:29:41,690 --> 00:29:42,565 Kako ti je ime? 641 00:29:42,565 --> 00:29:43,372 >> OBČINSTVO: Angela. 642 00:29:43,372 --> 00:29:44,830 DAVID J. Malan: Angela, pridi gor. 643 00:29:44,830 --> 00:29:47,220 Torej je Scratch bilo ven za nekaj let. 644 00:29:47,220 --> 00:29:49,960 In ko sem bil v podiplomski šoli, Bil sem navzkrižno registrirane na MIT, 645 00:29:49,960 --> 00:29:53,392 ob profesor Mitchel Resnick je Seveda na izobraževalnih tehnologij. 646 00:29:53,392 --> 00:29:56,350 In smo bili med zelo prvi študentov v svetu dejansko beta 647 00:29:56,350 --> 00:29:57,120 Test Scratch. 648 00:29:57,120 --> 00:30:00,090 In moj projekt je bilo tisto, Angela je zdaj milostno javil 649 00:30:00,090 --> 00:30:02,060 Če želite igrati imenuje Oscartime. 650 00:30:02,060 --> 00:30:04,507 >> Tako da sem šel naprej in dvakrat kliknite na ikono tukaj. 651 00:30:04,507 --> 00:30:07,590 To se dogaja, da odprejo programiranje okolje, da bomo kmalu potopite v. 652 00:30:07,590 --> 00:30:09,720 Jaz grem v celozaslonskem načinu je za Angelo, tukaj. 653 00:30:09,720 --> 00:30:12,490 Bom udaril zeleno zastavo v samo trenutek. 654 00:30:12,490 --> 00:30:15,130 In potem cel kup smeti se dogaja, da pade z neba. 655 00:30:15,130 --> 00:30:17,830 In boste uporabili miško tukaj dejansko povleci in spusti 656 00:30:17,830 --> 00:30:20,169 smeti v smeti pločevinke Oscar je. 657 00:30:20,169 --> 00:30:23,210 Torej, če želite, da gredo naprej in kliknite zelena zastava, se igra začne. 658 00:30:23,210 --> 00:30:26,890 >> [Predvaja glasba] 659 00:30:26,890 --> 00:30:29,980 >> Oh, obožujem smeti. 660 00:30:29,980 --> 00:30:34,840 Karkoli umazan ali Umazan ali prašno. 661 00:30:34,840 --> 00:30:39,300 Karkoli raztrgan ali gnilo, ali zarjaveli. 662 00:30:39,300 --> 00:30:43,155 Yes, I love smeti. 663 00:30:43,155 --> 00:30:45,530 Če ste prepričani, da želite videti nekaj trashy, poglej to. 664 00:30:45,530 --> 00:30:49,570 Tukaj imam zavezat da je raztrgano in obrabljena. 665 00:30:49,570 --> 00:30:53,750 To je vse polno lukenj ima in čipke so raztrgana. 666 00:30:53,750 --> 00:30:57,590 Darilo od moje mame dan, ko sem bil rojen. 667 00:30:57,590 --> 00:30:59,434 Všeč mi je, ker it's-- 668 00:30:59,434 --> 00:31:02,600 DAVID J. Malan: --green teh dneh tik se meče vse v smeti. 669 00:31:02,600 --> 00:31:04,312 In kaj eno CS50 lastno did-- osebje 670 00:31:04,312 --> 00:31:06,270 Jordan, ki ste morda izpolnjujejo today-- ima dejansko 671 00:31:06,270 --> 00:31:08,030 posodobljena to za današnje čase. 672 00:31:08,030 --> 00:31:10,800 In zato mi dovolite, da odprejo remix namesto za Angelo. 673 00:31:10,800 --> 00:31:13,600 In bomo to igral namesto za nekaj trenutkov, kjer zdaj si 674 00:31:13,600 --> 00:31:16,600 bodo morali odločiti med tem, ali vrgel nekaj v smeti, 675 00:31:16,600 --> 00:31:19,050 ali reciklirati ali kompostirati. 676 00:31:19,050 --> 00:31:21,280 Tako da je malo pritisk na vas, da bi dobili 677 00:31:21,280 --> 00:31:28,040 ta pravica pred vaš 392 do 497 sošolci tukaj v dvorani, 678 00:31:28,040 --> 00:31:28,724 če bi. 679 00:31:28,724 --> 00:31:29,390 [VIDEO PREDVAJANJE] 680 00:31:29,390 --> 00:31:32,540 [Predvaja glasba] 681 00:31:32,540 --> 00:31:36,280 Oh ljubim smeti. 682 00:31:36,280 --> 00:31:40,840 Karkoli umazan ali Umazan ali prašno. 683 00:31:40,840 --> 00:31:44,910 Karkoli raztrgan ali gnilo ali zarjaveli. 684 00:31:44,910 --> 00:31:48,830 Yes, I love smeti. 685 00:31:48,830 --> 00:31:51,480 >> Če ste prepričani, da želite videti nekaj trashy, poglej to. 686 00:31:51,480 --> 00:31:55,540 Tukaj imam zavezat da je raztrgano in obrabljena. 687 00:31:55,540 --> 00:31:59,440 To je vse polno lukenj in čipke so raztrgana. 688 00:31:59,440 --> 00:32:03,762 Darilo od moje mame dan, ko sem bil rojen. 689 00:32:03,762 --> 00:32:07,630 Všeč mi je, ker je smeti. 690 00:32:07,630 --> 00:32:11,570 >> Oh, obožujem smeti. 691 00:32:11,570 --> 00:32:15,512 Karkoli umazan ali Umazan ali prašna. 692 00:32:15,512 --> 00:32:20,200 Karkoli raztrgan ali gnilo ali zarjaveli. 693 00:32:20,200 --> 00:32:23,856 Yes, I love smeti. 694 00:32:23,856 --> 00:32:26,246 Tukaj je nekaj bolj gnilo stvari. 695 00:32:26,246 --> 00:32:28,240 Tukaj imam nekaj newspaper-- 696 00:32:28,240 --> 00:32:28,889 >> [END PREDVAJANJE] 697 00:32:28,889 --> 00:32:30,680 DAVID J. Malan: --are dejansko kompostirati. 698 00:32:30,680 --> 00:32:32,790 Ampak hvala za naše prostovoljce, Angela. 699 00:32:32,790 --> 00:32:37,920 Imamo stres žogo za vas, tudi tukaj. 700 00:32:37,920 --> 00:32:38,790 Torej, hvala. 701 00:32:38,790 --> 00:32:40,250 >> Torej je bil to eden napisal jaz. 702 00:32:40,250 --> 00:32:44,324 Zdaj pa eden z dejanskim nekdanji študent kdo je to izvajal, kar je igra. 703 00:32:44,324 --> 00:32:46,490 Vse v tem jeziku imenuje Scratch, da bomo kmalu 704 00:32:46,490 --> 00:32:47,850 olupimo nazaj plasti. 705 00:32:47,850 --> 00:32:49,940 Ampak, če bi mi like-- kako približno en prostovoljec? 706 00:32:49,940 --> 00:32:50,440 Prav. 707 00:32:50,440 --> 00:32:50,970 >> Pridi gor. 708 00:32:50,970 --> 00:32:52,070 Kako ti je ime? 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, pridi gor. 712 00:32:54,082 --> 00:32:54,790 Me veseli. 713 00:32:54,790 --> 00:32:56,170 Pridite na ta način. 714 00:32:56,170 --> 00:32:59,940 Torej, morda je to ena ima Tema seznanjeni z nekaterimi od vas. 715 00:32:59,940 --> 00:33:02,180 Ampak boste videli tudi, da ne more biti interaktivnost, 716 00:33:02,180 --> 00:33:05,242 s katerim bi ga lahko dejansko biti Vloga značaja gibljejo okoli. 717 00:33:05,242 --> 00:33:05,950 Me veseli. 718 00:33:05,950 --> 00:33:06,470 David. 719 00:33:06,470 --> 00:33:10,464 >> Vam dam, Pikachu. 720 00:33:10,464 --> 00:33:12,380 Navodila bodo o zapustiti na zaslonu. 721 00:33:12,380 --> 00:33:16,070 Ampak na kratko, si boste želijo ujeti okusne stvari, 722 00:33:16,070 --> 00:33:18,827 in se izognili bombe in druge stvari. 723 00:33:18,827 --> 00:33:19,910 Z puščice povsemmedicinskih. 724 00:33:19,910 --> 00:33:21,320 Torej hit preslednico. 725 00:33:21,320 --> 00:33:21,820 -Pikachu. 726 00:33:21,820 --> 00:33:23,480 DAVID J. Malan: Catch stvari na levi strani, 727 00:33:23,480 --> 00:33:24,938 ne ujamejo stvari na desni strani. 728 00:33:24,938 --> 00:33:27,576 729 00:33:27,576 --> 00:34:44,540 >> [Predvaja glasba] 730 00:34:44,540 --> 00:34:46,332 >> Torej ena zadnja tukaj. 731 00:34:46,332 --> 00:34:48,040 Če bi lahko imamo eno več prostovoljec tukaj. 732 00:34:48,040 --> 00:34:50,760 Mislili smo, da bi ponovno nekaj from-- v rumenem shirt-- 733 00:34:50,760 --> 00:34:53,110 od srede. 734 00:34:53,110 --> 00:34:54,540 Kako ti je ime? 735 00:34:54,540 --> 00:34:57,090 Mary, pridi gor Marije. 736 00:34:57,090 --> 00:35:01,340 >> In spomnimo sredo smo uvedli pojem binarne in binarne žarnice. 737 00:35:01,340 --> 00:35:03,930 To je dejansko zdaj izvedba istega vmesnika 738 00:35:03,930 --> 00:35:07,360 da smo imeli na iPad z lučjo žarnice, ampak tu digitalno opravljene. 739 00:35:07,360 --> 00:35:11,220 In namesto da narediš stres ball-- Me veseli, David. 740 00:35:11,220 --> 00:35:14,600 Pripeljali smo nekaj svetlobe čebulice iz Cambridgea. 741 00:35:14,600 --> 00:35:18,650 >> Če lahko, s klikom na tiste Žarnice, da jih vklop in izklop, 742 00:35:18,650 --> 00:35:29,510 dohiteti binarni zastopanje pravijo 256. 743 00:35:29,510 --> 00:35:32,500 In boste videli v srednji, trenutna ujemajo. 744 00:35:32,500 --> 00:35:33,690 Tako, da je eden je on. 745 00:35:33,690 --> 00:35:34,810 Zato je skrajni levi bit vklopljen. 746 00:35:34,810 --> 00:35:36,016 >> MARY: Ja, [neslišno] 747 00:35:36,016 --> 00:35:39,292 748 00:35:39,292 --> 00:35:41,280 >> DAVID J. Malan: No, tako da imamo just-- oh. 749 00:35:41,280 --> 00:35:42,780 Torej je to stolpec 128. 750 00:35:42,780 --> 00:35:44,460 Tako da smo do 128. 751 00:35:44,460 --> 00:35:46,769 Moramo priti do 256. 752 00:35:46,769 --> 00:35:48,560 In lahko Lemiti na in off, no big deal. 753 00:35:48,560 --> 00:35:53,700 Ali lahko zadeti, da je 128 večkrat, če hočeš. 754 00:35:53,700 --> 00:35:56,310 >> Dobro, dobro. 755 00:35:56,310 --> 00:35:58,090 24. 756 00:35:58,090 --> 00:35:59,790 Ja, vse bližje. 757 00:35:59,790 --> 00:36:02,105 Bližje! 758 00:36:02,105 --> 00:36:05,980 Oh, kaj je problem potem? 759 00:36:05,980 --> 00:36:07,510 Torej, kaj je problem? 760 00:36:07,510 --> 00:36:10,040 >> Torej, kaj moramo rešili ta problem? 761 00:36:10,040 --> 00:36:11,060 Zato moramo še malo. 762 00:36:11,060 --> 00:36:12,770 In to popolnoma smiselno v resnici, kajne? 763 00:36:12,770 --> 00:36:15,800 Če želite, da računajo od števila 1 do 2 do 3 do 4 do 5, 6, 7, 8, 9 764 00:36:15,800 --> 00:36:18,880 dejansko prevračanje do 10, ste bodo potrebovali dodaten bit. 765 00:36:18,880 --> 00:36:21,240 Torej Dovolite dejansko nazaj tukaj, in prišli do 766 00:36:21,240 --> 00:36:23,790 with--, da je bil očitno mišljeno, da bo set up. 767 00:36:23,790 --> 00:36:25,590 >> Ne, ne moreš narediti 256 s samo žarnico. 768 00:36:25,590 --> 00:36:29,290 Torej, kaj pa zgolj številko 50? 769 00:36:29,290 --> 00:36:29,977 Številka 50. 770 00:36:29,977 --> 00:36:34,550 771 00:36:34,550 --> 00:36:35,100 Odlično. 772 00:36:35,100 --> 00:36:39,050 Velik aplavz Mary in njen kot tudi. 773 00:36:39,050 --> 00:36:41,840 Hvala. 774 00:36:41,840 --> 00:36:45,570 >> Torej, to topic-- namerno kot da was-- bo dejansko ponovile. 775 00:36:45,570 --> 00:36:50,020 Največja vrednost, ki jo lahko predstavljajo z osem bitov, ali en bajt, 776 00:36:50,020 --> 00:36:51,750 je res 256. 777 00:36:51,750 --> 00:36:55,770 Ampak ne, če začnete šteto od 0, saj smo 778 00:36:55,770 --> 00:36:58,060 Zdi se, da delaš s tem, vseh teh bitov off. 779 00:36:58,060 --> 00:37:01,530 Ampak zdaj pa se potopite v osnovni Izvajanje tem okolju 780 00:37:01,530 --> 00:37:03,200 in draži narazen nekatere od teh idej. 781 00:37:03,200 --> 00:37:06,350 >> Torej, v trenutku, ko smo na tem, da vidijo nekaj različnih programskih temeljev. 782 00:37:06,350 --> 00:37:08,080 Prvi izmed katerih bomo poklical izjavo. 783 00:37:08,080 --> 00:37:09,360 Nekako glagolov, če hočete. 784 00:37:09,360 --> 00:37:09,960 Dejanja. 785 00:37:09,960 --> 00:37:11,180 Stvari, ki jih je treba storiti. 786 00:37:11,180 --> 00:37:13,430 >> In v trenutku boste videli bloki, ki izgledajo kot to. 787 00:37:13,430 --> 00:37:14,940 Reči "zdravo svet", na primer. 788 00:37:14,940 --> 00:37:16,330 Ali počakati eno sekundo. 789 00:37:16,330 --> 00:37:17,834 Ali igrajo zvoka mijav. 790 00:37:17,834 --> 00:37:20,500 In res je okolje, v ki bomo to početje 791 00:37:20,500 --> 00:37:21,610 se imenuje praske. 792 00:37:21,610 --> 00:37:25,060 >> In če potegnem gor praske brez zategovalnik nikakršne dejanske kode, 793 00:37:25,060 --> 00:37:27,830 Vzemimo hiter pogled na to uporabniški vmesnik, tako rekoč. 794 00:37:27,830 --> 00:37:29,730 Kontrole, s katerimi sodelujemo. 795 00:37:29,730 --> 00:37:32,840 Na vrhu sem ostal izmed zaslon, pod meniji, 796 00:37:32,840 --> 00:37:34,650 imamo fazo, tako rekoč. 797 00:37:34,650 --> 00:37:36,550 Torej Scratch je tisto, kar pokličem Sprite. 798 00:37:36,550 --> 00:37:37,520 To je znak. 799 00:37:37,520 --> 00:37:40,660 >> In se je mogoče nadzorovati z pisanje programov zoper njega. 800 00:37:40,660 --> 00:37:43,950 In ne boste mogli premikati gor in dol in levo in desno v tem okolju, 801 00:37:43,950 --> 00:37:46,075 ne samo s premikanjem miš, ampak načrtno. 802 00:37:46,075 --> 00:37:48,930 Jaz lahko povem, hodi desno, sprehod levo, gor, dol ali podobno. 803 00:37:48,930 --> 00:37:51,440 In jaz lahko uvede drugo sprites ali znakov, kot tudi. 804 00:37:51,440 --> 00:37:54,616 >> Dejansko je na dnu tukaj je, če boste videli svoj seznam sprites. 805 00:37:54,616 --> 00:37:56,865 V tem trenutku sem samo še ena, vendar sem lahko ustvarite več, 806 00:37:56,865 --> 00:37:58,880 in jih bomo pojavi natanko tam dol. 807 00:37:58,880 --> 00:38:02,630 Torej, če ste nazaj za trenutek, kot je Oscartime-- primer, Oscar, 808 00:38:02,630 --> 00:38:04,590 na levi, smeti lahko, je sprite. 809 00:38:04,590 --> 00:38:07,450 In stvar v sredini je recikliranje smeti, je bil še en sprite. 810 00:38:07,450 --> 00:38:09,300 In kompost bin je bil še en sprite. 811 00:38:09,300 --> 00:38:11,790 In vsak kos smeti ali za recikliranje 812 00:38:11,790 --> 00:38:14,590 da je padel z neba je tudi Sprite, od katerih vsaka 813 00:38:14,590 --> 00:38:16,150 je bil programiran posamično. 814 00:38:16,150 --> 00:38:17,040 >> Kako ste programirati? 815 00:38:17,040 --> 00:38:20,180 No, tukaj na desni z stran je površina skriptov. 816 00:38:20,180 --> 00:38:22,930 In to je, če bomo lahko povleci in spusti kosov sestavljanke. 817 00:38:22,930 --> 00:38:26,066 V tednu, da se dogaja, da se kjer smo enakovredno pisanje kode 818 00:38:26,066 --> 00:38:28,940 z več od tipkovnice, ampak danes pa bomo povlečete in spustite 819 00:38:28,940 --> 00:38:31,680 kosov sestavljanke je palete, za katere lahko vsi 820 00:38:31,680 --> 00:38:33,190 najdete tukaj prav na sredini. 821 00:38:33,190 --> 00:38:35,190 Dejansko je v sredini tu je cel kup 822 00:38:35,190 --> 00:38:37,910 kategorij sestavljanke kosi ali bloki. 823 00:38:37,910 --> 00:38:42,500 Ena je povezana s pobudo, poglej, zvok, pero gredo gor in dol, 824 00:38:42,500 --> 00:38:43,860 podatkov, nadzor nad dogodki. 825 00:38:43,860 --> 00:38:45,654 Ne čisto prepričani, da še kaj vse to pomeni, 826 00:38:45,654 --> 00:38:47,820 vendar pa boste videli, da oni bilo lepo kategorizirana. 827 00:38:47,820 --> 00:38:50,680 In napisati program v Scratch, kaj je naredil točno to. 828 00:38:50,680 --> 00:38:53,480 >> Jaz grem, da začnete pod Dogodki in povlecite tole tukaj. 829 00:38:53,480 --> 00:38:55,470 Ko je zelena zastava kliknili. 830 00:38:55,470 --> 00:38:56,704 Zdaj zakaj je to ena? 831 00:38:56,704 --> 00:38:59,120 Tudi opozarjajo, da naše prostovoljce je prišel gor, prva stvar, ki sem 832 00:38:59,120 --> 00:39:02,017 ali pa jim je bilo, kliknite, da zelena zastavo v zgornjem desnem kotu. 833 00:39:02,017 --> 00:39:03,600 In to samo pomeni, da zaženete program. 834 00:39:03,600 --> 00:39:06,560 >> Torej, ko se ta dogodek zgodi, kaj hočem narediti? 835 00:39:06,560 --> 00:39:10,070 Jaz bom šel pod Looks, in jaz bom naredil "pozdravi". 836 00:39:10,070 --> 00:39:14,000 In bom to spremeniti in reči nekaj podobnega "Hello Yale." 837 00:39:14,000 --> 00:39:16,970 In zdaj bom za povečavo ven, kliknite na zeleno zastavo, 838 00:39:16,970 --> 00:39:19,050 in voila, sem napisal program. 839 00:39:19,050 --> 00:39:20,990 To pa še ni vse, da je razburljivo samo še, vendar je to 840 00:39:20,990 --> 00:39:23,195 je točno tam, kjer je vsak tistih, avtor začel, 841 00:39:23,195 --> 00:39:25,740 tako z Pikachu in binarnih žarnice, in Oscartime, 842 00:39:25,740 --> 00:39:26,890 in tako veliko več primerov. 843 00:39:26,890 --> 00:39:29,150 >> Začnete super enostavno, in potem začneš plast, 844 00:39:29,150 --> 00:39:31,046 in dodamo na funkcije in funkcionalnost. 845 00:39:31,046 --> 00:39:32,920 Torej, kaj so te plasti bo sestavljen iz? 846 00:39:32,920 --> 00:39:36,086 No, poleg izjav, bom tudi mi imajo stvari, ki so malo bolj fancily 847 00:39:36,086 --> 00:39:38,910 imenujemo Logični izrazi, ko nekoga z imenom Bool. 848 00:39:38,910 --> 00:39:42,820 In logično izraz je preprosto izraz, ki je bodisi resnična ali neresnična, 849 00:39:42,820 --> 00:39:45,740 da ali ne, 1 ali 0. 850 00:39:45,740 --> 00:39:47,480 >> Vsa polarni nasprotji, kot je ta. 851 00:39:47,480 --> 00:39:48,902 To je bodisi resnična ali ne. 852 00:39:48,902 --> 00:39:51,360 Vendar smo tudi videli tisti, ki bi lahko izgledala takole. 853 00:39:51,360 --> 00:39:52,925 Tako, na primer, je miška dol? 854 00:39:52,925 --> 00:39:54,550 Oni so vrste vprašanj, če hočete. 855 00:39:54,550 --> 00:39:57,650 >> Miška je bodisi navzdol, res ali ni, napačna. 856 00:39:57,650 --> 00:39:59,990 1 ali 0, če hočete, kaže, da je preslikava. 857 00:39:59,990 --> 00:40:01,740 Res je 1, false 0. 858 00:40:01,740 --> 00:40:03,740 No, kaj pa manj kot to? 859 00:40:03,740 --> 00:40:05,400 Ali tako, je to manj kot to? 860 00:40:05,400 --> 00:40:06,650 To je vprašanje z menoj. 861 00:40:06,650 --> 00:40:09,140 >> In če si dal dva Številke v tam, bodisi X 862 00:40:09,140 --> 00:40:12,010 se dogaja, da je manj kot y ali enako y ali večja od y, 863 00:40:12,010 --> 00:40:14,635 vendar je to blok, da bomo videli, je samo bo odgovoriti na vprašanje, 864 00:40:14,635 --> 00:40:15,810 je ta krajši od tega? 865 00:40:15,810 --> 00:40:17,650 Bomo morda videli tudi nekaj takega. 866 00:40:17,650 --> 00:40:18,790 Dotik kazalci miške. 867 00:40:18,790 --> 00:40:21,610 Torej v nič, lahko prosite Vprašanje, ali je Sprite 868 00:40:21,610 --> 00:40:22,800 dotika miškin kazalec? 869 00:40:22,800 --> 00:40:26,040 Z drugimi besedami, je kazalec Lebdenje čez kapo, ali enakovredno? 870 00:40:26,040 --> 00:40:28,100 >> Bomo videli, operatorji AND stvari skupaj. 871 00:40:28,100 --> 00:40:30,970 Lahko vprašam dve vprašanji, in se prepričajte, da sta oba 872 00:40:30,970 --> 00:40:34,920 daš yes ali prave odgovore pred sprejemanju odločitev, da narediš nekaj. 873 00:40:34,920 --> 00:40:36,709 Ampak potem kako si lahko odločitev? 874 00:40:36,709 --> 00:40:38,000 No, imamo te pogoje. 875 00:40:38,000 --> 00:40:40,041 >> In to smo videli v našem Primer imeniku. 876 00:40:40,041 --> 00:40:41,900 Če pogledamo na levo ali pravica Mike Smith. 877 00:40:41,900 --> 00:40:45,140 In v stanju, ki jih narediti nekaj potencialno 878 00:40:45,140 --> 00:40:47,240 če je logični izraz res. 879 00:40:47,240 --> 00:40:48,720 >> In res, opazili oblik zdaj. 880 00:40:48,720 --> 00:40:52,250 Tam je to placeholder zdaj v zgornjem delu, kjer bomo lahko fit-- 881 00:40:52,250 --> 00:40:54,532 če sem nazaj eno slide-- tej obliki. 882 00:40:54,532 --> 00:40:55,740 To ni povsem enake velikosti. 883 00:40:55,740 --> 00:40:58,400 In res, boste videli, da Scratch spremeni velikost stvari dinamično 884 00:40:58,400 --> 00:41:01,479 da se prilega kosov sestavljanke, ki pa oblika je tisto, kar je pomembno. 885 00:41:01,479 --> 00:41:03,270 Ta stvar izgleda da, in res je 886 00:41:03,270 --> 00:41:05,410 približno enako obliko da bi morala biti prilagojena tam. 887 00:41:05,410 --> 00:41:09,520 In če hočemo narediti nekaj Na ta način ali na ta način, če je ali pa, 888 00:41:09,520 --> 00:41:12,080 imamo te uganke kos v Scratch kot dobro. 889 00:41:12,080 --> 00:41:17,450 >> Sedaj predpostavimo, da je želel storiti, če else if, ali kaj drugega. 890 00:41:17,450 --> 00:41:20,120 Z drugimi besedami, tripotni odcepu. 891 00:41:20,120 --> 00:41:22,656 No, kaj lahko storite samo s pogledom ošine to? 892 00:41:22,656 --> 00:41:25,030 Lahko vzamem ta kos sestavljanke, in se ne zdi, da se prilega, 893 00:41:25,030 --> 00:41:27,670 ampak spet, se nič dogaja ponovno velikosti lepo za nas. 894 00:41:27,670 --> 00:41:29,940 Sem lahko začel sloju te stvari skupaj. 895 00:41:29,940 --> 00:41:32,900 >> Torej, zdaj imam tri-način vilice, če je to res, to storite. 896 00:41:32,900 --> 00:41:36,560 Drugega, če je to druga stvar je res, gredo v to smer, drugače gredo to drugo smer. 897 00:41:36,560 --> 00:41:39,200 In v The Muppet Movie je odcepu, tako rekoč 898 00:41:39,200 --> 00:41:42,610 med Yale ali Stanford, je bil točno to, le dva pogoja. 899 00:41:42,610 --> 00:41:45,190 Ali gredo v to smer, sicer gredo v to smer. 900 00:41:45,190 --> 00:41:46,940 >> No, zankami obstajajo tudi pri programiranju. 901 00:41:46,940 --> 00:41:49,100 In smo uporabili ti že v razred in v psevdokoda kodo, 902 00:41:49,100 --> 00:41:51,060 in zagotovo v tistih, Praskam programi vedno. 903 00:41:51,060 --> 00:41:53,730 Scratch je ta kos sestavljanke, ki bo samo vam nekaj storiti večno. 904 00:41:53,730 --> 00:41:55,688 In včasih si želim narediti nekaj za večno. 905 00:41:55,688 --> 00:41:58,810 To ni nujno napako, to je ker želite ura nadaljuj, 906 00:41:58,810 --> 00:42:00,730 ali igro, da bo igral. 907 00:42:00,730 --> 00:42:04,800 Ali lahko določite končno število koraki, kot je s to ponovite bloka tukaj, 908 00:42:04,800 --> 00:42:06,550 ki bo ponovil nekaj, kar 10-krat. 909 00:42:06,550 --> 00:42:08,560 Mi lahko določite spremenljivke, bomo kmalu videli. 910 00:42:08,560 --> 00:42:12,300 In s spremenljivkami, podobno v duhu da algebre, kot je X ali Y ali Z. 911 00:42:12,300 --> 00:42:16,390 To je nekaj, kar simbolično, da lahko shranite nekaj vrednost, nekaj podatek, 912 00:42:16,390 --> 00:42:18,320 da boste morda želeli da se spomnimo za pozneje. 913 00:42:18,320 --> 00:42:21,080 >> Najboljši primer za to je lahko igra, kjer imate rezultat, 914 00:42:21,080 --> 00:42:22,080 kot v Pikachu. 915 00:42:22,080 --> 00:42:25,180 Koliko kosov torte in malenkosti ste ujeli? 916 00:42:25,180 --> 00:42:29,340 No, da bi bila spremenljivka imenovano rezultat, ki se začne pri 0. 917 00:42:29,340 --> 00:42:32,400 In potem vsakič, ko smo ujeli kos torte ali sladkarije, ali podobno, 918 00:42:32,400 --> 00:42:33,720 da dobi poveča. 919 00:42:33,720 --> 00:42:35,990 To dobi doda enega naenkrat. 920 00:42:35,990 --> 00:42:38,450 In tako spremenljivka shranjuje podatek, kot je ta. 921 00:42:38,450 --> 00:42:41,450 Potem je tu še nizi in bomo prišli nazaj na ti v tednu ali dveh času, 922 00:42:41,450 --> 00:42:44,900 ampak niz je nekako kot inventar ali torba, v notranjosti 923 00:42:44,900 --> 00:42:46,940 od katerih lahko postavite virtualne stvari. 924 00:42:46,940 --> 00:42:49,852 To vam omogoča, da shranite več kot eno informacijo. 925 00:42:49,852 --> 00:42:51,810 In da bi bilo koristno če je v igri, ste 926 00:42:51,810 --> 00:42:53,630 nekako hodi okoli pobiral stvari. 927 00:42:53,630 --> 00:42:55,879 In morda želite obdržati vse te kose pogače 928 00:42:55,879 --> 00:42:58,260 okoli, in ne samo jesti jih enega za drugim. 929 00:42:58,260 --> 00:43:00,010 In potem je tukaj še Ljubitelj konstrukt bomo 930 00:43:00,010 --> 00:43:02,932 pridejo na imenovanih funkcij ali postopkov. 931 00:43:02,932 --> 00:43:04,640 In čeprav gremo hitreje tu, bomo 932 00:43:04,640 --> 00:43:07,345 vidim, da so to zelo naravna rešitev za težave 933 00:43:07,345 --> 00:43:08,470 da bomo srečanje. 934 00:43:08,470 --> 00:43:10,220 Kot začetek naši programi dobili večje Bomo 935 00:43:10,220 --> 00:43:12,640 začeli opažati vzorce v koda, ki smo pisno, 936 00:43:12,640 --> 00:43:14,556 kosov sestavljanke, da smo povleci in spusti. 937 00:43:14,556 --> 00:43:18,240 In takoj, ko opazite sebe delaš nekaj, kar znova in znova, ali še huje 938 00:43:18,240 --> 00:43:21,400 kopiranje in lepljenje programiranje kodo, ki ste napisali, 939 00:43:21,400 --> 00:43:23,612 da je verjetno priložnost za faktor ven 940 00:43:23,612 --> 00:43:25,820 karkoli boste obdržali kopiranje in lepljenje, in ki ga je dala 941 00:43:25,820 --> 00:43:27,430 v nekaj, kar se imenuje "funkcija". 942 00:43:27,430 --> 00:43:29,690 Ampak bolj na tiste, v veliko kmalu več podrobnosti. 943 00:43:29,690 --> 00:43:31,314 >> In potem je tukaj še ljubitelj funkcije. 944 00:43:31,314 --> 00:43:34,100 Za tiste, ki ste bolj udobno, ali ob APC ali enakovredno, 945 00:43:34,100 --> 00:43:37,600 Scratch dejansko podpira stvari kot navoje in dogodke in več. 946 00:43:37,600 --> 00:43:39,840 Torej, zavedati, da ima dokaj visok strop, 947 00:43:39,840 --> 00:43:42,540 čeprav je tudi zelo splošno dostopna ljudje 948 00:43:42,540 --> 00:43:44,460 ki niso nikoli programirana prej. 949 00:43:44,460 --> 00:43:47,130 Torej res, dajmo si oglejte na preprost program ali dva. 950 00:43:47,130 --> 00:43:49,920 >> Smo že pogledal, kako smo lahko pozdravite z Scratch. 951 00:43:49,920 --> 00:43:52,800 Naj gredo naprej in odprla malo bolj zanimiv program 952 00:43:52,800 --> 00:43:54,100 da sem napisal vnaprej. 953 00:43:54,100 --> 00:43:56,430 In ta je pozval Pet Cat. 954 00:43:56,430 --> 00:43:58,954 Vsi ti programi bodo na voljo na spletni strani CS50 je. 955 00:43:58,954 --> 00:43:59,870 Dejansko je že tam. 956 00:43:59,870 --> 00:44:01,190 >> Torej si lahko prenesete njih, in se igral z njimi, 957 00:44:01,190 --> 00:44:03,850 in s problematičnimi Set 0, kar je tudi na spletni strani predmeta je, 958 00:44:03,850 --> 00:44:05,516 ste spodbuja, da sprehod skozi to. 959 00:44:05,516 --> 00:44:07,820 In poleg tega, imamo Število sprehod skozi video posnetkov 960 00:44:07,820 --> 00:44:10,951 na spletu, v katerem sem in Ekipa CS50 je resnično hodi 961 00:44:10,951 --> 00:44:14,200 skozi vsako od teh primerov na veliko počasnejši tempo, zelo hitro forwardable, 962 00:44:14,200 --> 00:44:18,530 ali navitjem tempo, tako da lahko hodiš preko teh na vaš prosti čas, kot tudi. 963 00:44:18,530 --> 00:44:20,330 Torej, tukaj je Scratch na levi strani. 964 00:44:20,330 --> 00:44:22,920 Tukaj je program, na desni da sem že vnaprej narejene. 965 00:44:22,920 --> 00:44:24,880 Zato mi dovolite, povečate na to. 966 00:44:24,880 --> 00:44:28,780 In bi lahko nekdo v angleščini, vedoč, kaj veš, samo od zdaj kot 967 00:44:28,780 --> 00:44:31,650 kako Scratch dela, nekako reči v angleškem fraze ali stavka 968 00:44:31,650 --> 00:44:35,450 Kaj ta program očitno ne? 969 00:44:35,450 --> 00:44:36,836 >> Ja, v oranžni srajci. 970 00:44:36,836 --> 00:44:40,804 >> OBČINSTVO: [neslišno] 971 00:44:40,804 --> 00:44:41,796 972 00:44:41,796 --> 00:44:44,980 >> DAVID J. Malan: Ja, če je vaš kazalec je na Scratch mačka, 973 00:44:44,980 --> 00:44:46,220 igrajo meowing zvok. 974 00:44:46,220 --> 00:44:47,870 Ampak obvestilo, kako izraziti to. 975 00:44:47,870 --> 00:44:49,980 Tam je očitno zanka tam, za vedno. 976 00:44:49,980 --> 00:44:53,000 In potem je tukaj še pogoj je, če izraz. 977 00:44:53,000 --> 00:44:55,090 In skupaj, kaj pa tisti, pomeni? 978 00:44:55,090 --> 00:44:57,210 To pomeni, da ta program je samo vedno teče, 979 00:44:57,210 --> 00:44:59,510 in to je samo vedno čaka in gledal in poslušal 980 00:44:59,510 --> 00:45:01,730 za mene, da se premaknete svojo miško preko mačka. 981 00:45:01,730 --> 00:45:04,810 >> Ker vsakič, ko sem to naredil, kot vam predlagam, da se dogaja, da to storijo. 982 00:45:04,810 --> 00:45:06,475 Naj začnem program. 983 00:45:06,475 --> 00:45:08,350 Nič se zdi dogaja, ampak obvestilo, kako 984 00:45:08,350 --> 00:45:10,152 to je zdaj poudarjeno v rumeno črto. 985 00:45:10,152 --> 00:45:11,360 To samo pomeni, da je tekmovanje v teku. 986 00:45:11,360 --> 00:45:13,770 In ker tam je vedno zanke, to je še vedno teče. 987 00:45:13,770 --> 00:45:19,610 >> Torej, kaj mi premakniti svoj kazalec nad nič. [Meow] [Meow] In če sem ga premaknete off, 988 00:45:19,610 --> 00:45:25,444 [Meow] zdaj se ne ustavi, ampak program je še vedno teče. [Meow] In tako čudovit. 989 00:45:25,444 --> 00:45:28,550 [Meow] Torej, kaj je odprla nekoliko bolj napredni 990 00:45:28,550 --> 00:45:32,620 Primer imenovano Ne Pet Cat. 991 00:45:32,620 --> 00:45:35,805 >> In zdaj poglejmo, kaj dogaja tukaj. [Meow] Meowing. 992 00:45:35,805 --> 00:45:39,297 Tako da je malo na auto pilot, če hočete. 993 00:45:39,297 --> 00:45:39,880 --pet mačko. 994 00:45:39,880 --> 00:45:42,820 Sprašujem se zakaj. 995 00:45:42,820 --> 00:45:45,389 [Roar] [Meow] Torej, kako je to delo? 996 00:45:45,389 --> 00:45:47,930 No, lahko vrsta razuma skozi intuitivno, morda. 997 00:45:47,930 --> 00:45:49,346 >> Toda poglejmo na dejanske kode. 998 00:45:49,346 --> 00:45:51,819 Torej še enkrat, ko je zelena zastava je kliknil, naredite to za vedno. 999 00:45:51,819 --> 00:45:53,110 Kaj hočeš, da vedno naredim? 1000 00:45:53,110 --> 00:45:56,150 No, če se dotika miška kazalec, nato pa igrajo 1001 00:45:56,150 --> 00:46:00,270 zvok, ki je očitno imenuje Lion 5, ki je znotraj tega projekta, ostalo 1002 00:46:00,270 --> 00:46:03,010 predvajanje zvoka mijav, in počakajte dve sekundi, tako da 1003 00:46:03,010 --> 00:46:04,510 da to ni meowing neprestano. 1004 00:46:04,510 --> 00:46:07,650 V bistvu, lahko zelo hitro začeti da sebe in svoje sostanovalce nagajati. 1005 00:46:07,650 --> 00:46:08,690 >> Oglejmo odstranite ta blok. 1006 00:46:08,690 --> 00:46:10,580 In opazil, kaj je lepo o Scratch. 1007 00:46:10,580 --> 00:46:13,070 Stvari nekako upora in spusti in blokada. 1008 00:46:13,070 --> 00:46:14,980 Torej še enkrat, to raste izpolniti tisto, kar želite. 1009 00:46:14,980 --> 00:46:20,118 Ampak, če sem to odstraniti, in nato hit play, [COMPUTER blip SOUND] 1010 00:46:20,118 --> 00:46:22,904 >> --it je vrsta spotaknete sam, saj je dobesedno 1011 00:46:22,904 --> 00:46:23,820 to, kar sem rekel. 1012 00:46:23,820 --> 00:46:27,080 To je rekel, vedno igrajo ta zvok, vendar Ne bom mu daje priložnost, da končate. 1013 00:46:27,080 --> 00:46:28,205 In tako, da bi bila napaka. 1014 00:46:28,205 --> 00:46:30,700 In to je, zakaj smo imeli ta stvar tukaj zdaj. 1015 00:46:30,700 --> 00:46:34,030 Torej, kaj je dejansko začeti iz scratch-- nekako pun nekoliko intended-- 1016 00:46:34,030 --> 00:46:36,450 v katerem imamo zdaj mačka potezo. 1017 00:46:36,450 --> 00:46:38,130 >> Tako da bom, da to storijo na letenje. 1018 00:46:38,130 --> 00:46:40,910 Jaz grem za povečavo tukaj, samo da me začel dogodkov. 1019 00:46:40,910 --> 00:46:42,000 In zelena zastava kliknili. 1020 00:46:42,000 --> 00:46:43,410 In tam je druge načine za začetek skripte. 1021 00:46:43,410 --> 00:46:44,920 Bomo, da ga bo enostavno tukaj. 1022 00:46:44,920 --> 00:46:48,049 >> In zdaj bom šel naprej in iti pod nadzor. 1023 00:46:48,049 --> 00:46:50,590 In še enkrat, če ste pozabili, kjer stvari, samo kliknite okrog, 1024 00:46:50,590 --> 00:46:52,048 in na koncu jih ponovno našli. 1025 00:46:52,048 --> 00:46:53,680 Torej, želim vedno narediti kaj? 1026 00:46:53,680 --> 00:46:58,650 Želim uporabiti gibanja blok da vem, obstaja, premaknite 10 korakov. 1027 00:46:58,650 --> 00:47:02,016 >> Torej, da vidimo, kaj se zgodi tukaj, če igram to igro. 1028 00:47:02,016 --> 00:47:03,390 K sreči ne gre predaleč. 1029 00:47:03,390 --> 00:47:05,190 Še vedno se mu nekako zgrabi za rep in ga potegnite nazaj. 1030 00:47:05,190 --> 00:47:07,860 Vendar program še vedno teče, tako da je nekako me boj. 1031 00:47:07,860 --> 00:47:10,870 Vendar bi bilo nekako lepo, če sem pogojno popraviti to v kodi. 1032 00:47:10,870 --> 00:47:12,800 >> Ker to je not-- dejansko je to res 1033 00:47:12,800 --> 00:47:15,770 ni zabavna igra za vsakogar, katerekoli starosti. 1034 00:47:15,770 --> 00:47:18,915 Torej poskusimo popraviti to z ob nekakšen pogojih. 1035 00:47:18,915 --> 00:47:21,670 Torej, jaz bom šel pod Nadzor, in potem, če. 1036 00:47:21,670 --> 00:47:22,660 Všeč mi je ta zamisel. 1037 00:47:22,660 --> 00:47:27,470 Torej, po selitvi 10 korakov, if-- mi občutek, kje sem. 1038 00:47:27,470 --> 00:47:30,799 Jaz bom šel pod Sensing, in potem izgleda lahko grem tukaj. 1039 00:47:30,799 --> 00:47:31,840 Vrstica na obliko tekmah. 1040 00:47:31,840 --> 00:47:34,380 >> Velikost ne, ampak to je dogaja, da raste, da izpolnite. 1041 00:47:34,380 --> 00:47:35,984 In zdaj je to malo meni. 1042 00:47:35,984 --> 00:47:38,650 In zdaj miš pointer-- jaz ne želijo miško, hočem rob. 1043 00:47:38,650 --> 00:47:41,700 Torej Scratch je dovolj pameten, da veš ko je Sprite dotika rob. 1044 00:47:41,700 --> 00:47:44,360 Kaj sem hotel, da bi dejansko naredil? 1045 00:47:44,360 --> 00:47:46,025 >> Naj gredo naprej in spremeniti predlog. 1046 00:47:46,025 --> 00:47:46,940 Veš kaj? 1047 00:47:46,940 --> 00:47:49,242 Grem, da so mu obrne. 1048 00:47:49,242 --> 00:47:51,200 Torej na 15 stopinj ni res dogaja, da mi pomaga. 1049 00:47:51,200 --> 00:47:53,990 Želim mu, da se obrni in gredo v drugo smer. 1050 00:47:53,990 --> 00:47:57,740 >> Torej, da vidimo, kaj se zgodi Tukaj, če sem udaril Igrajte zdaj. 1051 00:47:57,740 --> 00:48:01,520 OK, nekako neumno videti, vendar to počne točno to, kar sem rekel. 1052 00:48:01,520 --> 00:48:03,540 In to je vrtenje celotnega sprite. 1053 00:48:03,540 --> 00:48:04,900 Zdaj se je izkazalo, da sem lahko to popravimo. 1054 00:48:04,900 --> 00:48:06,691 In nisem vedel, kako popraviti to na prvi. 1055 00:48:06,691 --> 00:48:09,190 Nekako sem moral futz okoli in glej najboljši način, da to storijo. 1056 00:48:09,190 --> 00:48:12,630 Ampak, če grem to-- poglejmo, gibanje. 1057 00:48:12,630 --> 00:48:14,050 Oh, to sem našel. 1058 00:48:14,050 --> 00:48:15,660 Pravzaprav, Nastavi rotacijo Style. 1059 00:48:15,660 --> 00:48:18,431 Levo, desno, ali pa ne vrtenje, ali vsem. 1060 00:48:18,431 --> 00:48:19,930 In se izkaže, da je tisto, kar hočem. 1061 00:48:19,930 --> 00:48:22,920 In bom dal to ni moj zanka, ker mi ni treba nastaviti 1062 00:48:22,920 --> 00:48:24,487 stil vrtenja večkrat. 1063 00:48:24,487 --> 00:48:27,570 Bom dal na samem vrhu ta program, tako da dobi nastavljena enkrat, 1064 00:48:27,570 --> 00:48:28,670 in nato spominja. 1065 00:48:28,670 --> 00:48:30,340 In zdaj bom spet poskusil s tem. 1066 00:48:30,340 --> 00:48:32,520 Naj zaustavitev programa. 1067 00:48:32,520 --> 00:48:34,050 >> In zdaj, ki je določena to napako. 1068 00:48:34,050 --> 00:48:35,700 Torej sem iterativno izboljšanje na tem. 1069 00:48:35,700 --> 00:48:37,900 Program je pridobivanje malo bolj zapletena in večji, 1070 00:48:37,900 --> 00:48:40,810 vendar sem ob dojenček korake tako rekoč, in majhne piki od problema 1071 00:48:40,810 --> 00:48:42,010 da se je bolje in bolje. 1072 00:48:42,010 --> 00:48:43,260 Ampak tudi to je vrsta lame. 1073 00:48:43,260 --> 00:48:43,900 >> Veš kaj? 1074 00:48:43,900 --> 00:48:49,860 Bi prosil nekoga res dober, Strašen glas rad prišel gor? 1075 00:48:49,860 --> 00:48:51,210 Nekdo z glasom. 1076 00:48:51,210 --> 00:48:54,070 1077 00:48:54,070 --> 00:48:54,570 Uh, ja. 1078 00:48:54,570 --> 00:48:55,550 Pridi gor. 1079 00:48:55,550 --> 00:48:57,990 V zeleni srajci. 1080 00:48:57,990 --> 00:49:01,530 >> Tako se izkaže, da je kakšno drugo zabavno Stvari, estetika in zveni enako. 1081 00:49:01,530 --> 00:49:02,290 Tukaj je mijav. 1082 00:49:02,290 --> 00:49:04,000 I kliknite na zavihek Zvoki. 1083 00:49:04,000 --> 00:49:08,730 [Meow] Tukaj je mijav. [Meow] [mijav] [Meow] --actually zapis nekaj 1084 00:49:08,730 --> 00:49:10,310 od naše tukaj. 1085 00:49:10,310 --> 00:49:13,120 >> Torej, kaj je naredil točno to. 1086 00:49:13,120 --> 00:49:17,670 Namesto z uporabo te mačka zvok, kaj je nadaljujte tukaj, in kako vam je ime? 1087 00:49:17,670 --> 00:49:18,850 Nick, lepo, da sva se spoznala. 1088 00:49:18,850 --> 00:49:19,350 To je David. 1089 00:49:19,350 --> 00:49:21,474 Torej, v tem trenutku, jaz grem zadeti gumb za snemanje. 1090 00:49:21,474 --> 00:49:23,240 In če si lahko samo kričati v laptop, 1091 00:49:23,240 --> 00:49:26,140 "Au," kot da bi vas pravkar vstopil v steno, 1092 00:49:26,140 --> 00:49:28,180 da bo zelo cenjeno. 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 In zdaj lahko naredil malo urejanje tukaj. 1097 00:49:34,410 --> 00:49:35,910 Dogaja, da se znebite tihih delov. 1098 00:49:35,910 --> 00:49:37,000 In mislim, da je dobro. 1099 00:49:37,000 --> 00:49:37,690 Najlepša hvala. 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: Sem samo preimenovala "Au," 1103 00:49:45,110 --> 00:49:46,901 ampak zdaj bom pojdite nazaj na moje skripte. 1104 00:49:46,901 --> 00:49:49,810 In obvestilo dejansko obstaja zvok tukaj. 1105 00:49:49,810 --> 00:49:53,520 In bom, da gredo naprej in predvajanje zvoka Ouch, 1106 00:49:53,520 --> 00:49:56,991 in bom naredil, da če to je dotika samo robove. 1107 00:49:56,991 --> 00:49:58,740 In potem bom so ga obrniti. 1108 00:49:58,740 --> 00:50:00,250 Torej, da vidimo, kaj se dogaja tukaj. 1109 00:50:00,250 --> 00:50:01,728 Pojdimo celoten zaslon. 1110 00:50:01,728 --> 00:50:02,394 [VIDEO PREDVAJANJE] 1111 00:50:02,394 --> 00:50:03,790 -Ouch! 1112 00:50:03,790 --> 00:50:05,290 Joj! 1113 00:50:05,290 --> 00:50:06,790 Joj! 1114 00:50:06,790 --> 00:50:07,790 Joj! 1115 00:50:07,790 --> 00:50:09,160 Joj! 1116 00:50:09,160 --> 00:50:10,780 Joj! 1117 00:50:10,780 --> 00:50:11,587 Joj! 1118 00:50:11,587 --> 00:50:12,086 Joj! 1119 00:50:12,086 --> 00:50:12,492 >> [END PREDVAJANJE] 1120 00:50:12,492 --> 00:50:14,490 >> DAVID J. Malan: Torej se zavedaš da smo dobili malo srečen. 1121 00:50:14,490 --> 00:50:17,110 Bom mu morali premakniti kot 100 korakov hkrati. 1122 00:50:17,110 --> 00:50:21,790 Učinek, ki sedaj se dogaja da be-- [Računalnik Glitch zvok] Torej 1123 00:50:21,790 --> 00:50:22,490 v okviru možnega. 1124 00:50:22,490 --> 00:50:25,470 Tako priložnost, da izboljšate da nadalje, če res hočemo. 1125 00:50:25,470 --> 00:50:27,340 >> Torej, zdaj pa je predstavil še en koncept. 1126 00:50:27,340 --> 00:50:30,660 Da mi gredo v eno imenovano Štetje ovac in uporabite nekaj 1127 00:50:30,660 --> 00:50:31,610 imenujemo spremenljivka. 1128 00:50:31,610 --> 00:50:34,700 To je čudovit malo ovce, in Spremenil sem svoj kostum tako rekoč. 1129 00:50:34,700 --> 00:50:37,450 Torej, čeprav privzeto je mačka, si lahko naložite, lahko pripravi, 1130 00:50:37,450 --> 00:50:40,020 lahko naredite poljubno število znakov na vašem Vilenjak. 1131 00:50:40,020 --> 00:50:43,740 Tukaj je program, ki je boš naredil kaj v angleščini? 1132 00:50:43,740 --> 00:50:47,110 >> Spet temelji na samo tisto, kar zdaj vem. 1133 00:50:47,110 --> 00:50:48,230 Kaj je ta program naredil? 1134 00:50:48,230 --> 00:50:50,740 1135 00:50:50,740 --> 00:50:53,500 Ja, to se dogaja, da računajo. 1136 00:50:53,500 --> 00:50:55,842 Ena številka naenkrat. 1137 00:50:55,842 --> 00:50:57,550 Imamo očitno imajo to nastavljeno števec. 1138 00:50:57,550 --> 00:50:59,380 >> Ne vem, kaj je to, ampak morda je spremenljiva. 1139 00:50:59,380 --> 00:51:00,740 To je samo posode x ali y. 1140 00:51:00,740 --> 00:51:04,290 Toda beseda števec je bolj opisna kot x ali y matematik je. 1141 00:51:04,290 --> 00:51:06,560 Tako bomo lahko uporabili angleških besed za stvari. 1142 00:51:06,560 --> 00:51:08,490 Večno, samo pomeni, da delaš to. 1143 00:51:08,490 --> 00:51:10,020 >> Reci števec. 1144 00:51:10,020 --> 00:51:11,270 Zdaj, ko je to prišlo? 1145 00:51:11,270 --> 00:51:13,240 No, izkaže se, da Števec je spremenljiva. 1146 00:51:13,240 --> 00:51:15,645 Torej, to je samo še ena uganka kos sem ustvaril vnaprej. 1147 00:51:15,645 --> 00:51:18,020 In čeprav se to zgodi da niso enake oblike tod 1148 00:51:18,020 --> 00:51:20,540 običajno bi rekli nekaj podobnega Pozdravljeni tukaj. 1149 00:51:20,540 --> 00:51:23,610 >> Prav tako lahko povlečete spremenljivko tako, da je to tisto, kar se je rekel. 1150 00:51:23,610 --> 00:51:26,170 Potem sem čakati na sekundo, sem zamenjati števec z enim, 1151 00:51:26,170 --> 00:51:27,940 je povečevanje z dodajanjem enega. 1152 00:51:27,940 --> 00:51:32,407 Tako da je neto učinek ta čudovit štetje ovac. 1153 00:51:32,407 --> 00:51:33,615 Čeprav on sam štetje. 1154 00:51:33,615 --> 00:51:36,642 1155 00:51:36,642 --> 00:51:38,350 Zdaj je zelo hitro bo dobil dolgočasno 1156 00:51:38,350 --> 00:51:40,900 zato, ker se dogaja, To storite tako resnično večno, 1157 00:51:40,900 --> 00:51:44,240 ampak to je točno tisto, kar Zasnova programa predpisuje. 1158 00:51:44,240 --> 00:51:48,090 Upamo, zdaj poskusite še en primer ki dopolnjuje spremenljivko. 1159 00:51:48,090 --> 00:51:51,140 Ta se imenuje Hi Hi Hi, da ne dobite nadležno hitro. 1160 00:51:51,140 --> 00:51:52,987 Zdaj je to eden ima dve skripte. 1161 00:51:52,987 --> 00:51:54,570 In tako spet, smo ob otroške korake. 1162 00:51:54,570 --> 00:51:57,236 >> Začeli smo z nekaj super majhen, dodamo k njej, dodamo k njej. 1163 00:51:57,236 --> 00:51:59,750 Sedaj želim nekaj narediti še bolj dinamičen, 1164 00:51:59,750 --> 00:52:02,950 zato želim, da se posluša dve različni stvari hkrati. 1165 00:52:02,950 --> 00:52:05,420 Torej, na levi strani, ko zelena zastava je kliknil, 1166 00:52:05,420 --> 00:52:08,100 Postavil sem spremenljivko, da sem napisal vnaprej imenuje izključen. 1167 00:52:08,100 --> 00:52:09,700 In sem samovoljno jo nastavite na 0. 1168 00:52:09,700 --> 00:52:13,290 Torej, nič ne velja in napačna, vendar pa ima 0 in 1. 1169 00:52:13,290 --> 00:52:15,270 >> Tako sem lahko približati to isto idejo. 1170 00:52:15,270 --> 00:52:21,110 In potem za vedno, če je prostor bar pritisniti, nato nastavite spremenljivko 0. 1171 00:52:21,110 --> 00:52:21,810 Ali mi je žal. 1172 00:52:21,810 --> 00:52:25,920 Če pritisnete Space, in če utišan, spremenljivka, 0, 1173 00:52:25,920 --> 00:52:29,950 nato nastavite utišan 1, drug nastavljen utišan 0. 1174 00:52:29,950 --> 00:52:32,370 To se zdi nekako kot smo samo delaš in razveljavili delo. 1175 00:52:32,370 --> 00:52:33,130 >> Toda kaj je učinek? 1176 00:52:33,130 --> 00:52:35,588 Vsakič, ko sem udaril preslednico, kaj se zgodi z mojim spremenljivko 1177 00:52:35,588 --> 00:52:38,150 imenovano utišan, logično? 1178 00:52:38,150 --> 00:52:39,100 Nekako dobi plavut. 1179 00:52:39,100 --> 00:52:41,035 Se spreminja od 0 do 1, ali 1 do 0. 1180 00:52:41,035 --> 00:52:43,035 Torej, to je le nekaj ulic izraziti, toda vse 1181 00:52:43,035 --> 00:52:47,280 Delam je preklapljanje stanje ta spremenljivka 0 ali 1 ali 0 ali 1 1182 00:52:47,280 --> 00:52:48,530 vsakič, ko sem udaril preslednico. 1183 00:52:48,530 --> 00:52:49,905 Zdaj sem, kaj to delaš? 1184 00:52:49,905 --> 00:52:53,400 Forever, če utišan 0, tako da, če izključen, je napačen. 1185 00:52:53,400 --> 00:52:57,910 Torej, če je ne utišan, je semantika tam, predvajanje zvoka morski lev, 1186 00:52:57,910 --> 00:53:00,810 in mislim, Hi Hi Hi za dve osebi sekund, počakajte dve sekundi. 1187 00:53:00,810 --> 00:53:02,710 Torej opazili zdaj ti skripte so učinkovito 1188 00:53:02,710 --> 00:53:07,100 bo potekala vzporedno, tako da je lahko ena posluša za eno tožbo, drugi 1189 00:53:07,100 --> 00:53:09,010 da bi odločitev, ki temelji na tej akciji. 1190 00:53:09,010 --> 00:53:10,655 In da lahko to za vedno. 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 >> To se dogaja, da to storijo na veke [SEA LION BARKING] kot sem pravkar storil. 1194 00:53:20,050 --> 00:53:23,010 In zdaj je še vedno teče Ampak sem "utišan" igro. 1195 00:53:23,010 --> 00:53:27,260 [SEA LION BARKING] In to je Vse to fant počne zdaj preveč. 1196 00:53:27,260 --> 00:53:28,660 >> Odprimo še en primer tukaj. 1197 00:53:28,660 --> 00:53:31,840 Naj gredo v Dogodki, in zdaj je to preveč lepa. 1198 00:53:31,840 --> 00:53:34,130 Ampak obvestilo, da ima dve sprites. 1199 00:53:34,130 --> 00:53:37,520 Torej ne samo dve skripti z en Sprite, ampak dva sprites. 1200 00:53:37,520 --> 00:53:40,750 In če sem kliknite na modro fanta, kot sem že, sem videl kot enega programa 1201 00:53:40,750 --> 00:53:43,790 tu gor, ki dobesedno samo pravi tem, ko sem prejel dogodek, 1202 00:53:43,790 --> 00:53:45,620 pravijo "Polo" za dve sekundi. 1203 00:53:45,620 --> 00:53:48,460 >> Torej, če ste kdaj igrali v bazen, igra Marco Polo, 1204 00:53:48,460 --> 00:53:52,500 če je oranžna fant skript znamenje, očitno 1205 00:53:52,500 --> 00:53:57,380 vsakič, ko sem udaril preslednico, kaj je oranžna fant boš naredil? 1206 00:53:57,380 --> 00:53:58,642 On bo rekel "Marco." 1207 00:53:58,642 --> 00:53:59,850 In potem je to nov blok. 1208 00:53:59,850 --> 00:54:02,409 Mi smo nismo videli že prej, ampak oddaja dogodka. 1209 00:54:02,409 --> 00:54:04,200 In lahko sem ga poklical Dogodek karkoli hočemo. 1210 00:54:04,200 --> 00:54:06,033 >> Vrnili se bomo k temu morda kmalu. 1211 00:54:06,033 --> 00:54:08,410 Ampak oddaja dogodka je način za en sprite 1212 00:54:08,410 --> 00:54:11,836 govoriti v drugo v bistvu ji posreduje sporočilo. 1213 00:54:11,836 --> 00:54:12,960 To ni sporočilo, ki ga vidite. 1214 00:54:12,960 --> 00:54:14,130 To ni nekaj, kar vizualno. 1215 00:54:14,130 --> 00:54:17,370 To je vrsta računalniškega sporočila da je drugi človek posluša. 1216 00:54:17,370 --> 00:54:21,210 Saj res, modra fant, odpoklic nima ko zelena zastava kliknili. 1217 00:54:21,210 --> 00:54:23,290 >> Namesto tega je bil, ko sem prejela dogodek. 1218 00:54:23,290 --> 00:54:26,850 Ko dobi on izročil ta bankovec v razredu, tako rekoč, bi moral reči "Polo". 1219 00:54:26,850 --> 00:54:30,200 In tako je neto učinek je, da ko sem zadeti zeleno zastavo, se ne zgodi nič. 1220 00:54:30,200 --> 00:54:34,940 Toda, ko sem udaril preslednico, pravi "Marco," se odzove s "Polo". 1221 00:54:34,940 --> 00:54:38,350 Ampak samo Sprite sem interakciji z je oranžna ena. 1222 00:54:38,350 --> 00:54:40,980 Torej je to način vrste posredovanje sporočil med sprites 1223 00:54:40,980 --> 00:54:43,210 in ob njih komunicirajo drug z drugim. 1224 00:54:43,210 --> 00:54:46,280 >> Zdaj pa si oglejmo enega zadnjih ena tukaj imenovani Threads. 1225 00:54:46,280 --> 00:54:49,370 In opazila to, da ga igrajo. 1226 00:54:49,370 --> 00:54:51,184 Torej, to sta dve sprites. 1227 00:54:51,184 --> 00:54:52,600 Ptica je nekako plujejo okoli. 1228 00:54:52,600 --> 00:54:53,310 On je odbijal. 1229 00:54:53,310 --> 00:54:55,890 Ni "Au," ampak isto idejo. 1230 00:54:55,890 --> 00:54:58,230 >> Toda mačka zdi zelo pameten. 1231 00:54:58,230 --> 00:55:01,010 Kaj je mačka očitno počne? 1232 00:55:01,010 --> 00:55:03,430 In čakati na to. 1233 00:55:03,430 --> 00:55:05,010 Kaj je mačka očitno počne? 1234 00:55:05,010 --> 00:55:07,740 To ni samo odbijal. 1235 00:55:07,740 --> 00:55:09,860 >> On je po ptico. 1236 00:55:09,860 --> 00:55:13,920 In tako očitno, tam je pot s kombinacijo blokov here-- 1237 00:55:13,920 --> 00:55:15,760 in si oglejmo mačke resnično hitro. 1238 00:55:15,760 --> 00:55:20,270 Za vedno, če se dotaknete ptico, potem pa igrajo zvok Lion 4, karkoli že to je. 1239 00:55:20,270 --> 00:55:21,360 Enkrat smo slišali. 1240 00:55:21,360 --> 00:55:25,431 Sicer pa kažejo na ptica, in premik za en korak. 1241 00:55:25,431 --> 00:55:27,680 Zdaj pa je dejstvo, da je ena korak je tisto, kar daje ptico 1242 00:55:27,680 --> 00:55:29,850 malo prednosti na začetku, vendar če bomo namesto 1243 00:55:29,850 --> 00:55:32,980 da to 10, na primer, tako da je vsaka ponovitev zanke, da je 1244 00:55:32,980 --> 00:55:34,100 premikanje 10 korakov časa. 1245 00:55:34,100 --> 00:55:35,280 Torej, več prostora. 1246 00:55:35,280 --> 00:55:36,650 Poglejmo, kaj se zgodi potem. 1247 00:55:36,650 --> 00:55:38,740 [LION Roar] Ne vsi, da je veliko bolje. 1248 00:55:38,740 --> 00:55:41,460 Torej, zdaj poskusimo izboljšati ko ti malo iterativno, 1249 00:55:41,460 --> 00:55:43,330 in prišel nazaj, da Pojem funkcije. 1250 00:55:43,330 --> 00:55:46,580 >> In res ena izmed temeljnih takeaways zasnove razreda. 1251 00:55:46,580 --> 00:55:49,560 Ne samo pisanje programov, ki delujejo in da so pravilne, ampak so dobro 1252 00:55:49,560 --> 00:55:50,080 oblikovan. 1253 00:55:50,080 --> 00:55:54,349 In oblikovanje je veliko bolj subjektivna, in boste dobili boljši na to v daljšem časovnem obdobju. 1254 00:55:54,349 --> 00:55:57,390 Ampak vzemimo nekaj otroške korake v smeri začenši s programom, ki deluje, 1255 00:55:57,390 --> 00:55:59,310 absolutno, vendar to ni zelo dobra. 1256 00:55:59,310 --> 00:56:00,650 To ni zelo dobro napisana. 1257 00:56:00,650 --> 00:56:03,830 >> Torej, tukaj je program, ki to zmore. 1258 00:56:03,830 --> 00:56:08,060 Kašelj, kašelj, kašelj. 1259 00:56:08,060 --> 00:56:09,880 Kaj je program izgledal? 1260 00:56:09,880 --> 00:56:11,330 Izgleda pravilno zame. 1261 00:56:11,330 --> 00:56:13,370 To je rekel, kavč za po drugi strani, nato pa počaka. 1262 00:56:13,370 --> 00:56:14,515 >> Potem je spet pravi, nato pa počaka. 1263 00:56:14,515 --> 00:56:16,056 Potem je spet pravi, nato pa počaka. 1264 00:56:16,056 --> 00:56:18,770 In nato program implicitno se konča, ker ni zanka. 1265 00:56:18,770 --> 00:56:21,325 Ampak zakaj je to slabo napisani programa? 1266 00:56:21,325 --> 00:56:22,950 Tudi če ste nikoli programirana prej? 1267 00:56:22,950 --> 00:56:25,240 Všeč, kaj drgne napačen način, morda tukaj? 1268 00:56:25,240 --> 00:56:26,016 Ja? 1269 00:56:26,016 --> 00:56:29,278 >> OBČINSTVO: [neslišno] 1270 00:56:29,278 --> 00:56:29,950 1271 00:56:29,950 --> 00:56:30,950 DAVID J. Malan: Točno tako. 1272 00:56:30,950 --> 00:56:32,700 Ste ponavljali sami znova in znova. 1273 00:56:32,700 --> 00:56:36,190 In dobesedno sem kopirali in prilepili dva spet in spet teh blokih. 1274 00:56:36,190 --> 00:56:39,237 In to je točno neke vrste duševno zdravje preverite, ali vam je treba odločitev. 1275 00:56:39,237 --> 00:56:39,820 Počakaj minuto. 1276 00:56:39,820 --> 00:56:41,070 Bi bilo res počel to? 1277 00:56:41,070 --> 00:56:43,610 Torej, kaj je to, kar je očitna rešitev morda? 1278 00:56:43,610 --> 00:56:44,680 Imajo nekakšen zanke. 1279 00:56:44,680 --> 00:56:46,860 In jaz ne ravno odpoklic kaj puzzle kos je, 1280 00:56:46,860 --> 00:56:48,810 ampak če pogledam Naslednja ponovitev tukaj, 1281 00:56:48,810 --> 00:56:50,560 res, tam ni samo večno zanka, 1282 00:56:50,560 --> 00:56:52,560 tam je ponoviti določeno število krat. 1283 00:56:52,560 --> 00:56:54,080 In tako sem določeno tri. 1284 00:56:54,080 --> 00:56:57,839 In zdaj opazili, koliko močneje, kako veliko bolj zgoščeno ta program. 1285 00:56:57,839 --> 00:56:59,630 In v nekem smislu, kako veliko več vzdrževati. 1286 00:56:59,630 --> 00:57:02,840 Če želim zamenjati besedo od kašlja v nekaj drugega, 1287 00:57:02,840 --> 00:57:07,530 kot achoo, kot da je kihanje. 1288 00:57:07,530 --> 00:57:09,770 Potem sem ga spremeniti v enem mesto, in ne tri. 1289 00:57:09,770 --> 00:57:12,050 Torej, to je že počuti kot nekoliko boljši dizajn. 1290 00:57:12,050 --> 00:57:14,610 Naj namesto open kašelj 2, naš tretji primer. 1291 00:57:14,610 --> 00:57:17,670 >> Opazili kot računalniški znanstvenik, Začnem Računam na 0, običajno. 1292 00:57:17,670 --> 00:57:20,950 Zdaj to izgleda malo strašnejši na Prvi, učinek je enak. 1293 00:57:20,950 --> 00:57:22,590 Kašelj, kašelj, kašelj. 1294 00:57:22,590 --> 00:57:26,920 Ampak, kar se zdi, da je v osnovi Novo v zgornjem delu programa? 1295 00:57:26,920 --> 00:57:28,670 Sem odstranil besedo. 1296 00:57:28,670 --> 00:57:29,830 >> Sem odstranil čakati. 1297 00:57:29,830 --> 00:57:32,370 In kaj imajo namesto sem priklopljen? 1298 00:57:32,370 --> 00:57:32,890 Funkcija. 1299 00:57:32,890 --> 00:57:33,670 Kašelj blok. 1300 00:57:33,670 --> 00:57:35,410 Mislim, odkrito povedano, sem se zdi nekako idiot, če nisem samo 1301 00:57:35,410 --> 00:57:37,285 začeti z blokom to je očitno imenuje 1302 00:57:37,285 --> 00:57:38,894 "kašelj", če je to vse, hočem ga narediti. 1303 00:57:38,894 --> 00:57:40,310 Ampak, da ne obstaja nič. 1304 00:57:40,310 --> 00:57:43,396 Raje sem šel na eno v Paleta imenuje več blokov tukaj, 1305 00:57:43,396 --> 00:57:46,270 in sem povlecite to veliko vijolično stvar tukaj, ki mi omogoča definiramo funkcijo. 1306 00:57:46,270 --> 00:57:48,240 V bistvu mi omogoča ustvarite svoj uganke 1307 00:57:48,240 --> 00:57:51,280 kos, ki ga lahko imenujemo karkoli sem želijo, da lahko narediš vse, kar si želim, 1308 00:57:51,280 --> 00:57:52,360 vendar pa ji daje ime. 1309 00:57:52,360 --> 00:57:57,050 To mi daje nov, vijolična kos sestavljanke da je zdaj počne vse, kar mi je povedal, da storiti. 1310 00:57:57,050 --> 00:58:01,060 Torej, ta vijolična kos tukaj ustreza tej tukaj. 1311 00:58:01,060 --> 00:58:01,960 >> In kaj je naredil? 1312 00:58:01,960 --> 00:58:03,930 Piše kašelj za drugič, potem pa čaka. 1313 00:58:03,930 --> 00:58:07,330 In zdaj sem nekako ustvarjena moja meri puzzle kos, 1314 00:58:07,330 --> 00:58:10,040 tako, da se obnaša natanko isti način. 1315 00:58:10,040 --> 00:58:11,130 Tako sem lahko vodijo to. 1316 00:58:11,130 --> 00:58:14,421 In res, tam se dogaja, da se bolj in več priložnosti za modularne, 1317 00:58:14,421 --> 00:58:16,630 in plastenjem, kompleksnost na vrhu drug drugega. 1318 00:58:16,630 --> 00:58:18,547 Vendar je to osnovna ideja, res v problemu dejal 0. 1319 00:58:18,547 --> 00:58:20,338 Kaj boš mogoče izpodbijati storiti, je 1320 00:58:20,338 --> 00:58:23,810 prenesti na praske, ali pa jo uporabite na spletu, in samo zabavajte se z njo. 1321 00:58:23,810 --> 00:58:26,056 Mi vam bomo niz Zahteve, ki ima zvok, 1322 00:58:26,056 --> 00:58:27,430 in nekateri število koščke. 1323 00:58:27,430 --> 00:58:28,480 Ampak boš naredil točno to. 1324 00:58:28,480 --> 00:58:31,771 In boste spoznali, da boš želeli, da sprejmejo nekatere otroške korake najprej, 1325 00:58:31,771 --> 00:58:33,690 dokler se program ne dobi bolj in bolj zapletena. 1326 00:58:33,690 --> 00:58:36,010 Toda če upoštevamo to je Najboljši način, da bi to lahko naredil? 1327 00:58:36,010 --> 00:58:39,210 Lahko bi se izognili temu nagon morda, kopirati in prilepiti? 1328 00:58:39,210 --> 00:58:41,850 >> Toda preden Problem Set 0, in preden smo se prekine, 1329 00:58:41,850 --> 00:58:44,980 mislila sva traja eno več prostovoljcev, če bi lahko, 1330 00:58:44,980 --> 00:58:46,820 za končno programa da je morda najbolj 1331 00:58:46,820 --> 00:58:49,150 opremljanje sploh, glede na današnje prizorišče. 1332 00:58:49,150 --> 00:58:50,298 Pridi dol. 1333 00:58:50,298 --> 00:58:51,234 Ja. 1334 00:58:51,234 --> 00:58:52,170 Da. 1335 00:58:52,170 --> 00:58:53,431 Kako ti je ime? 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 To je ok. 1339 00:58:59,010 --> 00:59:01,230 Oba sta prišla dol. 1340 00:59:01,230 --> 00:59:05,520 In sem se bo ukvarjal s tem nekako v tem, da v naslednjih desetih sekundah. 1341 00:59:05,520 --> 00:59:06,550 Torej, pridi dol. 1342 00:59:06,550 --> 00:59:08,370 Pridi dol. 1343 00:59:08,370 --> 00:59:13,250 >> Naj pride sem gor. 1344 00:59:13,250 --> 00:59:16,050 Daj no. 1345 00:59:16,050 --> 00:59:16,685 V redu. 1346 00:59:16,685 --> 00:59:21,360 1347 00:59:21,360 --> 00:59:22,360 Poglejmo tukaj. 1348 00:59:22,360 --> 00:59:25,735 Tako obvestilo resnično hitro tukaj, če želite, da pridejo gor. 1349 00:59:25,735 --> 00:59:28,650 1350 00:59:28,650 --> 00:59:29,926 >> Bomo naredili dva kroga to. 1351 00:59:29,926 --> 00:59:30,800 In kako ti je ime? 1352 00:59:30,800 --> 00:59:31,270 >> SABRINA: Sabrina. 1353 00:59:31,270 --> 00:59:32,060 >> DAVID J. Malan: Sabrina in? 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 Lepo vas je spoznati oboje. 1357 00:59:34,276 --> 00:59:34,970 David. 1358 00:59:34,970 --> 00:59:38,785 Torej naš zadnji primer je tu imenuje Ivy je Hardest Game. 1359 00:59:38,785 --> 00:59:41,160 In zakaj ne moramo vam Raven 1, in vam Level 2. 1360 00:59:41,160 --> 00:59:43,350 >> In bomo videli, kako daleč tistega, ki smo dejansko šel. 1361 00:59:43,350 --> 00:59:45,855 Prispeval študent lani, remix by me 1362 00:59:45,855 --> 00:59:48,840 tako, da bi bilo to kot tudi v New Haven. 1363 00:59:48,840 --> 00:59:53,180 In jaz vam igro, ki se dogaja na vključujejo premikanje puščice gor in dol, 1364 00:59:53,180 --> 00:59:55,771 in pridobivanje Yale do ciljne črte. 1365 00:59:55,771 --> 00:59:56,270 Gremo. 1366 00:59:56,270 --> 00:59:56,759 >> [VIDEO PREDVAJANJE] 1367 00:59:56,759 --> 00:59:58,092 >> [MUSIC - NFL NA FOX THEME SONG] 1368 00:59:58,092 --> 00:59:59,369 1369 00:59:59,369 --> 01:00:01,160 [MUSIC - MC Hammer, "U CAN ne dotikajte  TO "] 1370 01:00:01,160 --> 01:00:04,590 1371 01:00:04,590 --> 01:00:07,900 >> -U Ne more dotakniti tega. 1372 01:00:07,900 --> 01:00:11,634 U ne more dotakniti tega. 1373 01:00:11,634 --> 01:00:14,252 Ne more dotakniti tega. 1374 01:00:14,252 --> 01:00:19,490 Moja, moja, moja, moja glasba me zadene tako težko, naredi povem, oh, moj gospodar. 1375 01:00:19,490 --> 01:00:22,927 Hvala za blagoslov z moti, da se rima in dve hype noge. 1376 01:00:22,927 --> 01:00:24,891 >> To je dobro, če veste, da ste na tla. 1377 01:00:24,891 --> 01:00:26,855 Super dope kolega iz Oaktown. 1378 01:00:26,855 --> 01:00:31,274 In jaz sem znan kot tak in to utrip uh, ne moreš dotakniti. 1379 01:00:31,274 --> 01:00:34,672 Rekel sem ti, kolega U ne more dotakniti tega. 1380 01:00:34,672 --> 01:00:38,656 Ja, to je, kako živimo in veš, U ne more dotakniti tega. 1381 01:00:38,656 --> 01:00:40,135 >> Poglej me v oči, človek. 1382 01:00:40,135 --> 01:00:43,093 U ne more dotakniti tega. 1383 01:00:43,093 --> 01:00:44,572 Yo, dovolite mi, doprsni funky lyrics. 1384 01:00:44,572 --> 01:00:45,363 U ne more dotakniti tega. 1385 01:00:45,363 --> 01:00:46,544 Sveže nove brce in hlače. 1386 01:00:46,544 --> 01:00:48,627 >> Ga imaš tako in ti veš, želim ples. 1387 01:00:48,627 --> 01:00:51,967 Torej premakniti iz svojega sedeža in se letenje dekle in ujeti ta utrip. 1388 01:00:51,967 --> 01:00:55,911 Medtem ko je vozni položaj na malo črpalke bit in jim vedeti, kaj se dogaja. 1389 01:00:55,911 --> 01:00:56,890 Kot to. 1390 01:00:56,890 --> 01:00:57,390 Kot to. 1391 01:00:57,390 --> 01:00:59,362 >> Hladna na misijo, tako povlecite nazaj. 1392 01:00:59,362 --> 01:01:04,785 Naj vedo, da ste preveč in to je poteza uh ne morete prijeti. 1393 01:01:04,785 --> 01:01:07,743 Yo, sem ti rekel, U ne more dotakniti tega. 1394 01:01:07,743 --> 01:01:09,222 Zakaj si stal tam človek? 1395 01:01:09,222 --> 01:01:10,208 U ne more dotakniti tega. 1396 01:01:10,208 --> 01:01:13,200 >> Yo, zvok v Bell šole, bedak. 1397 01:01:13,200 --> 01:01:14,005 U ne more dotakniti tega. 1398 01:01:14,005 --> 01:01:18,326 Daj mi pesem, ritem ki jih znoj, da je tisto, kar sem jim daje zdaj. 1399 01:01:18,326 --> 01:01:21,805 Vedo, ko govorimo o Hammer govoriš o oddaji, ki je hyped. 1400 01:01:21,805 --> 01:01:24,290 In tesen pevci so znojenje, da jim mimo mic. 1401 01:01:24,290 --> 01:01:27,272 >> Ali trak, da se naučijo, kaj to se dogaja, da sprejmejo in zdaj 1402 01:01:27,272 --> 01:01:29,260 on se dogaja, da gorijo lestvic. 1403 01:01:29,260 --> 01:01:32,739 Zakonit bodisi trdo delati ali boste lahko tudi zaprete. 1404 01:01:32,739 --> 01:01:37,709 Ker veš, U ne more dotakniti tega. 1405 01:01:37,709 --> 01:01:41,599 U ne more dotakniti tega. 1406 01:01:41,599 --> 01:01:42,182 Ga razčleniti. 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 Čas Hammer. 1410 01:01:57,095 --> 01:01:59,577 Pojdi s tokom v spin Če se ne morete premakniti na to 1411 01:01:59,577 --> 01:02:01,068 potem ste verjetno mrtev. 1412 01:02:01,068 --> 01:02:04,547 Torej zamahniti z vašimi rokami zrak [neslišno] 1413 01:02:04,547 --> 01:02:08,026 >> To je to za zmagovalca zaplešite to in boš dobil tanjši. 1414 01:02:08,026 --> 01:02:12,996 Premakni drsite križ samo za minuto kaj je vse naredil udarec. 1415 01:02:12,996 --> 01:02:13,990 Ja. 1416 01:02:13,990 --> 01:02:14,984 U ne more dotakniti tega. 1417 01:02:14,984 --> 01:02:17,966 1418 01:02:17,966 --> 01:02:19,457 >> U ne more dotakniti tega. 1419 01:02:19,457 --> 01:02:23,433 Bolje hyped Fant U ne more dotakniti tega. 1420 01:02:23,433 --> 01:02:24,924 Pozvonim šole hrbet. 1421 01:02:24,924 --> 01:02:25,918 Ga razčleniti. 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 Čas Hammer 1425 01:02:40,828 --> 01:02:42,816 >> DAVID J. Malan: To je to za CS50! 1426 01:02:42,816 --> 01:02:45,301 Najlepša hvala za nam pridružili! 1427 01:02:45,301 --> 01:02:47,786 Vidimo se zunaj. 1428 01:02:47,786 --> 01:02:48,611 >> [END PREDVAJANJE] 1429 01:02:48,611 --> 01:02:49,277 [VIDEO PREDVAJANJE] 1430 01:02:49,277 --> 01:02:52,259 [MUSIC - "Seinfeld" THEME SONG] 1431 01:02:52,259 --> 01:02:53,860 Hej David. 1432 01:02:53,860 --> 01:02:54,500 Hej, David. 1433 01:02:54,500 --> 01:02:55,912 Kako gre? 1434 01:02:55,912 --> 01:02:58,078 >> Dobro delo, danes. 1435 01:02:58,078 --> 01:03:00,952 Torej ste mislili o tem, kaj boš naredil za od šale? 1436 01:03:00,952 --> 01:03:03,207 Ne, sem dobil nič. 1437 01:03:03,207 --> 01:03:07,550 Kaj if-- kaj pa, če je to od šala? 1438 01:03:07,550 --> 01:03:08,970 -Kot, Razpakiranje vozički? 1439 01:03:08,970 --> 01:03:11,430 -Uh-Huh. 1440 01:03:11,430 --> 01:03:13,890 Saj veš, to je približno nič. 1441 01:03:13,890 --> 01:03:17,559 >> Torej je všeč, ni zgodba, ni konflikt, ni rešen. 1442 01:03:17,559 --> 01:03:18,350 Ne razumem. 1443 01:03:18,350 --> 01:03:20,542 Kaj je pa potem? 1444 01:03:20,542 --> 01:03:23,510 >> Nič. 1445 01:03:23,510 --> 01:03:27,427 >> Torej imamo ven šala je približno nič, in nimamo akterje. 1446 01:03:27,427 --> 01:03:28,510 Kdo bo v tem? 1447 01:03:28,510 --> 01:03:29,010 >> Ne, ne, ne. 1448 01:03:29,010 --> 01:03:31,310 Mislim, bom v njej. 1449 01:03:31,310 --> 01:03:32,109 >> -You'll Bo v njem? 1450 01:03:32,109 --> 01:03:32,608 Ja! 1451 01:03:32,608 --> 01:03:34,903 Ljudje so vedno govoril jaz sem lik. 1452 01:03:34,903 --> 01:03:36,029 >> No, mislim, da je res. 1453 01:03:36,029 --> 01:03:37,445 Ampak, kdo se bo v njem? 1454 01:03:37,445 --> 01:03:38,660 To ne more biti samo ti. 1455 01:03:38,660 --> 01:03:47,240 >> Si bo v njej, Gavin, Dan, Dan, Colton, Z'Myla, Alysse, Doug, 1456 01:03:47,240 --> 01:03:51,120 David, vsi. 1457 01:03:51,120 --> 01:03:53,630 >> Torej gre za nič, in vsakdo je v njem? 1458 01:03:53,630 --> 01:03:54,530 >> -Absolutely Nič. 1459 01:03:54,530 --> 01:03:58,730 1460 01:03:58,730 --> 01:04:00,580 >> -To Je smešno.