1 00:00:00,000 --> 00:00:10,980 >> [Predvajanje glasbe] 2 00:00:10,980 --> 00:00:13,260 >> -Prav! 3 00:00:13,260 --> 00:00:16,400 >> Tole je CS50. 4 00:00:16,400 --> 00:00:18,220 >> Tole je CS50. 5 00:00:18,220 --> 00:00:19,324 >> Tole je CS50. 6 00:00:19,324 --> 00:00:20,615 [MUSIC - IGGY AZALEA "modno"] 7 00:00:20,615 --> 00:00:29,925 8 00:00:29,925 --> 00:00:33,570 >> -Moje Najljubši spomin iz CS50 je bil, ko sem šel na Puzzle dan. 9 00:00:33,570 --> 00:00:35,797 >> Verjetno samo čas delavec delal na problemskih sklopov 10 00:00:35,797 --> 00:00:38,630 s prijatelji in ljudmi, ki Ravnica sčasoma postali moji blockmates. 11 00:00:38,630 --> 00:00:40,421 >> Moja najboljša pomnilnik CS50 je Hackathon. 12 00:00:40,421 --> 00:00:41,630 -V CS50 Hackathon. 13 00:00:41,630 --> 00:00:42,130 >> -Hackathon. 14 00:00:42,130 --> 00:00:42,800 >> -Hackathon. 15 00:00:42,800 --> 00:00:43,300 -Hackathon. 16 00:00:43,300 --> 00:00:43,883 -V Hackathon 17 00:00:43,883 --> 00:00:45,027 -Rob Bowden. 18 00:00:45,027 --> 00:00:46,110 Samo vse okoli njega. 19 00:00:46,110 --> 00:00:47,401 >> [MUSIC - IGGY AZALEA "modno"] 20 00:00:47,401 --> 00:00:56,790 21 00:00:56,790 --> 00:01:02,512 >> -Moje Najljubši spomin je, ko sem bil na stage in sem igral prestižno vlogo 22 00:01:02,512 --> 00:01:04,220 vozlišča [? v povezano?] [? Seznam. ?] 23 00:01:04,220 --> 00:01:08,470 >> Kdaj bomo vsi dobili brezplačno Dropbox prostora in David je bil všeč, poglej pod svoje sedeže. 24 00:01:08,470 --> 00:01:10,520 In bilo je kot, prostor za vsakogar! 25 00:01:10,520 --> 00:01:11,811 >> [MUSIC - IGGY AZALEA "modno"] 26 00:01:11,811 --> 00:01:20,940 27 00:01:20,940 --> 00:01:22,830 >> Moja nasvet za katerokoli Prihodnje študent bi 28 00:01:22,830 --> 00:01:26,170 je res delati na P-seti s prijatelji. 29 00:01:26,170 --> 00:01:27,960 >> -Office Ur je zelo tvoj prijatelj. 30 00:01:27,960 --> 00:01:30,870 >> Objavljajo večina vaše izkušnje in izpolnjujejo čim več ljudi, kot si lahko. 31 00:01:30,870 --> 00:01:32,390 >> Ne bodi strah prositi za pomoč. 32 00:01:32,390 --> 00:01:33,890 -start P-nizov v začetku tedna. 33 00:01:33,890 --> 00:01:36,723 Mislim, da je največja stvar je, da izkoristiti vse vire, 34 00:01:36,723 --> 00:01:37,950 da CS50 ima. 35 00:01:37,950 --> 00:01:39,960 >> -Pojdi Do uradnih ur zgodnjih v tednu. 36 00:01:39,960 --> 00:01:41,430 >> -Zagotovo Gledam hlače. 37 00:01:41,430 --> 00:01:42,989 >> -Ne Odlašajo na vaših P-sprejemnikov. 38 00:01:42,989 --> 00:01:45,780 Objavljajo, da boste našli veliko skupino ljudi za delo na P-sprejemnikov z. 39 00:01:45,780 --> 00:01:48,530 Lahko imajo veliko zabave in se delo skupaj. 40 00:01:48,530 --> 00:01:50,370 >> Ne bodi strah, da se potiskanje. 41 00:01:50,370 --> 00:01:52,080 Go za izdajo hacker včasih. 42 00:01:52,080 --> 00:01:55,410 >> -Write Stvari na papirju pred Ste že kdaj dotakniti računalnika. 43 00:01:55,410 --> 00:01:58,380 >> -CS50 Je res super na zagotavljanjem načinov, da bi dobili pomoč. 44 00:01:58,380 --> 00:02:01,134 >> Moja en nasvet je spanec. 45 00:02:01,134 --> 00:02:02,050 Je kdo rekel, da je? 46 00:02:02,050 --> 00:02:04,100 Sleep, zagotovo. 47 00:02:04,100 --> 00:02:08,919 To je enostavno, da ne, ampak moraš to narediti, se mi zdi. 48 00:02:08,919 --> 00:02:12,982 >> Jaz bi rekel, res se psihično pripravili ker ti bo všeč. 49 00:02:12,982 --> 00:02:14,273 [MUSIC - IGGY AZALEA "modno"] 50 00:02:14,273 --> 00:02:17,750 51 00:02:17,750 --> 00:02:18,940 >> Tole je CS50. 52 00:02:18,940 --> 00:02:22,090 53 00:02:22,090 --> 00:02:23,066 >> Tole je CS50. 54 00:02:23,066 --> 00:02:26,400 55 00:02:26,400 --> 00:02:26,989 >> Tole je CS50. 56 00:02:26,989 --> 00:02:28,280 [MUSIC - IGGY AZALEA "modno"] 57 00:02:28,280 --> 00:02:31,290 58 00:02:31,290 --> 00:02:31,964 >> Tole je CS50. 59 00:02:31,964 --> 00:02:36,020 60 00:02:36,020 --> 00:02:42,270 >> [APLAVZ] 61 00:02:42,270 --> 00:02:46,040 >> DAVID J. Malan: Torej, to je CS50 in to je konec 0 tedna. 62 00:02:46,040 --> 00:02:48,770 In to je bilo le nekaj osebja CS50 je kdo 63 00:02:48,770 --> 00:02:51,100 čakajo vas ne le v oddelkih in uradnih ur, vendar, 64 00:02:51,100 --> 00:02:54,390 tudi ta prihaja konec tedna na CS50 Puzzle dan. 65 00:02:54,390 --> 00:02:56,410 Ki je, še enkrat, ni vse o programiranju. 66 00:02:56,410 --> 00:02:59,710 Dejansko je bilo pričakovati, da vas ne bo treba programirati ničesar, 67 00:02:59,710 --> 00:03:03,780 ampak reševati probleme z uporabo razum in prijatelji z vami. 68 00:03:03,780 --> 00:03:06,400 >> Mi se jim bodo pridružili tudi nekateri naših prijateljev na Facebook-- 69 00:03:06,400 --> 00:03:08,980 če tu-- registracijo, ki v zadnjih nekaj letih, 70 00:03:08,980 --> 00:03:11,450 imajo dejansko pisanje ti izzivi z nami. 71 00:03:11,450 --> 00:03:14,822 In tako se bodo oni tisti, na koncu teče Puzzle Day. 72 00:03:14,822 --> 00:03:17,530 In tako, boste mogoče izpodbijati z ravno prave vrste stvari 73 00:03:17,530 --> 00:03:20,520 in problemov, ljudje na Facebook želi razmišljati. 74 00:03:20,520 --> 00:03:21,860 Torej, to je jutri. 75 00:03:21,860 --> 00:03:25,980 Registriraj se na cs50.harvard.edu/register. 76 00:03:25,980 --> 00:03:28,120 >> Zdaj beseda na nekaj osebja posebej. 77 00:03:28,120 --> 00:03:30,090 To tukaj je Ansel Duff, ki je pravzaprav ena 78 00:03:30,090 --> 00:03:33,860 od soavtorjev ti binarno žarnice, ki smo jih videli v sredo, 79 00:03:33,860 --> 00:03:36,710 poleg CS50 lastno Dan Bradley. 80 00:03:36,710 --> 00:03:40,094 Ansel Duff je bil tudi nekdanji novinec advisee moj 3 leta nazaj 81 00:03:40,094 --> 00:03:41,760 in je dejansko celo zgradili to govorniškim pultom. 82 00:03:41,760 --> 00:03:45,330 Odšel je na narediti inženirske znanosti in še več. 83 00:03:45,330 --> 00:03:49,279 Zdaj, njegova slika je tu dejansko Ansel pred 3 leti na CS50 Hackathon 84 00:03:49,279 --> 00:03:51,820 ko je sposodil enega od naših baloni, je zaljubljen v svoj laptop, 85 00:03:51,820 --> 00:03:55,240 in za naslednjih 12 nekaj čudno ur, ki se osredotoča na svojem zadnjem projektu, 86 00:03:55,240 --> 00:03:59,150 ob odmori samo za odpiranje vrečke bonbonov na Hackathon. 87 00:03:59,150 --> 00:04:02,210 >> Ampak je šel na nedavno na preživijo to čez poletje pri nas, 88 00:04:02,210 --> 00:04:05,270 saj CS50 za svoje osebje, in zdaj študenti tem polletju, 89 00:04:05,270 --> 00:04:06,770 ima svojo 3D tiskalnik. 90 00:04:06,770 --> 00:04:10,180 In na kratko 3D tiskalniki je Naprava, ki izgleda precej všeč. 91 00:04:10,180 --> 00:04:15,700 Lahko ga napolnimo s plastično konico da stalimo po napravi 92 00:04:15,700 --> 00:04:18,940 in ste graditi stvari dobesedno iz nič. 93 00:04:18,940 --> 00:04:22,660 Podobno kot brizgalni tiskalnik, ko začnete izpljunil majhne pike plastike 94 00:04:22,660 --> 00:04:24,990 da tvorita skupaj tvorijo celotno predmetov. 95 00:04:24,990 --> 00:04:28,430 In tako Ansel na primer, prej to poletje, je iPhone 5 96 00:04:28,430 --> 00:04:30,722 in se odločil, da je res želel da ga podpre na njegovi mizi. 97 00:04:30,722 --> 00:04:32,638 Toda on ni hotel iti ven in kupiti nekaj 98 00:04:32,638 --> 00:04:36,030 iz trgovine Apple ali kaj podobnega, tako da je sedel in začel risati nekaj. 99 00:04:36,030 --> 00:04:38,280 Vzel je nekaj meritev , kako debel 100 00:04:38,280 --> 00:04:41,270 in kako širok je bil njegov iPhone, je narisal to sliko tukaj, 101 00:04:41,270 --> 00:04:43,870 se je odločil, da je želel da imajo nagib 75 stopinj 102 00:04:43,870 --> 00:04:46,150 saj je strmel mu na njegovi mizi tam. 103 00:04:46,150 --> 00:04:50,440 Potem se je obrnil to uporabo programske opreme v 3D CAD modela 104 00:04:50,440 --> 00:04:52,400 da je pogledal malo kaj takega. 105 00:04:52,400 --> 00:04:55,940 In potem je nadaljeval, končno, dejansko ustvarjajo. 106 00:04:55,940 --> 00:05:00,250 Torej, v bistvu, če kdo od vas tukaj, morda v vrsti, da sem lahko vrgel, da imajo 107 00:05:00,250 --> 00:05:06,780 an-- tam imamo ljudje z iPhone 5, in tukaj imamo dva več. 108 00:05:06,780 --> 00:05:10,650 109 00:05:10,650 --> 00:05:17,037 >> Zdaj, da ne bo zaostajal, CS50 lastne Cheng Gong določa tudi to poletje 110 00:05:17,037 --> 00:05:19,870 zgraditi kar nekaj stvari in, v resnici, zaradi razlogov, ki so še vedno 111 00:05:19,870 --> 00:05:23,970 nejasen, je počasi tiskanje vojsko slonov 112 00:05:23,970 --> 00:05:27,250 artikulacijski z orožjem in debla. 113 00:05:27,250 --> 00:05:32,515 Nekaj, ki so dejansko tukaj, če kdo bi zdaj takšen-- slona. 114 00:05:32,515 --> 00:05:35,650 115 00:05:35,650 --> 00:05:40,522 V redu. ampak kaj Cheng tudi storila Za nas je bil zelo vljudno ustanoviti kamero 116 00:05:40,522 --> 00:05:42,230 zaradi tega slona, verjeli ali ne, 117 00:05:42,230 --> 00:05:44,690 traja približno dve uri in pol ure za tiskanje. 118 00:05:44,690 --> 00:05:47,840 Tudi stojalo iPhone je uro in pol za tiskanje. 119 00:05:47,840 --> 00:05:51,490 In kaj Cheng je šel naprej in naredili je bila ustanovljena lepo kamero na sprednji strani 120 00:05:51,490 --> 00:05:55,580 te 3D tiskalniku, posnet za eno uro in pol so oblikovanje Ansel natisnjene. 121 00:05:55,580 --> 00:05:58,090 Obloži smo nekaj sexy glasba ji da 122 00:05:58,090 --> 00:06:00,570 da vam to, da si kako 3D tiskarno. 123 00:06:00,570 --> 00:06:02,494 In čeprav je to je pravzaprav v plastiko, 124 00:06:02,494 --> 00:06:05,160 Zavedam se, da če je to področje vas zanima akademsko, 125 00:06:05,160 --> 00:06:07,120 obstajajo ljudje, med jim Jennifer Lewis tukaj 126 00:06:07,120 --> 00:06:09,036 na Visoki šoli za Engineering, ki so dejansko 127 00:06:09,036 --> 00:06:10,920 delajo na 3D tiskanja plastičnih predmetov. 128 00:06:10,920 --> 00:06:14,150 Ampak še vedno bolj bioloških materialov za reševanje 129 00:06:14,150 --> 00:06:16,530 fizioloških težav pri ljudeh. 130 00:06:16,530 --> 00:06:19,944 Ampak tukaj je malo Nekaj ​​od CS50. 131 00:06:19,944 --> 00:06:31,625 >> [LOUD MECHANICAL zvoke] 132 00:06:31,625 --> 00:06:34,250 DAVID J. Malan: To se ne sliši kaj podobnega, da je v resnici, 133 00:06:34,250 --> 00:06:37,240 ampak to je precej hladneje, da pazi pri tej hitrosti in s tem zvokom. 134 00:06:37,240 --> 00:06:40,000 >> Zdaj, v sredo, kako smo prvič prišli sem? 135 00:06:40,000 --> 00:06:43,345 Začeli smo govoriti o računalniku znanost in smo vprašali, kaj je bilo. 136 00:06:43,345 --> 00:06:46,470 In gre za več stvari, in tam je toliko različnih smereh 137 00:06:46,470 --> 00:06:48,477 , v katerem se lahko odpravite Po zaključenem kot CS50. 138 00:06:48,477 --> 00:06:50,810 V bistvu, če ste pobrali eno teh neuradnih vodnikov 139 00:06:50,810 --> 00:06:54,080 CS zunaj, v knjižici, ki smo pod pogojem, ali ste 140 00:06:54,080 --> 00:06:57,150 nameraval vzeti le CS50, ali pa morda delaš sekundarne, 141 00:06:57,150 --> 00:06:59,557 ali morda celo usmeriti v CS, ne flip skozi to. 142 00:06:59,557 --> 00:07:01,390 In boste videli diagram proti koncu, da 143 00:07:01,390 --> 00:07:04,950 vam prikazuje različne smeri v CS da lahko greš off. 144 00:07:04,950 --> 00:07:09,030 >> Ampak za danes, bomo osredotočiti, še enkrat, na res ena izmed temeljnih stališč, 145 00:07:09,030 --> 00:07:11,500 morda, kjer imate Poraba težave, 146 00:07:11,500 --> 00:07:13,430 imate izhodnih težave, in imate 147 00:07:13,430 --> 00:07:17,420 algoritmi, s katerimi ustvariti ti izhodi iz teh vložkov. 148 00:07:17,420 --> 00:07:20,330 In en tak primer, je bil od Seveda, ta telefon knjigo tukaj. 149 00:07:20,330 --> 00:07:24,180 In smo uporabili kot primer, da gredo s pomočjo algoritma, ki je bila pravilna. 150 00:07:24,180 --> 00:07:26,490 In potem še eden je bil pravilna, vendar nekoliko hitreje. 151 00:07:26,490 --> 00:07:29,448 In potem še eden, ki je malo bolj dramatično, vendar bistveno 152 00:07:29,448 --> 00:07:30,000 hitreje. 153 00:07:30,000 --> 00:07:32,720 >> V redu, ta telefon knjigo, ki jo trdil je imela približno 1000 strani. 154 00:07:32,720 --> 00:07:36,200 In kolikokrat si moram trgati imenika na pol 155 00:07:36,200 --> 00:07:39,930 da bi našli nekoga, kot je Mike Smith, maksimalno, v 1.000 strani knjige? 156 00:07:39,930 --> 00:07:41,040 Torej, 10 gor ali dol. 157 00:07:41,040 --> 00:07:45,050 In tako, ko sem strgal to stvar v pol, ali pa preprosto, bolj zrelo, 158 00:07:45,050 --> 00:07:48,490 razdeljen na pol, saj je samo 10 strani, od 1000. 159 00:07:48,490 --> 00:07:51,470 In če ste ekstrapolirati, malo nerealno za telefonski imenik, 160 00:07:51,470 --> 00:07:56,540 ampak, če je imel ta telefon knjigo nekaj 4 milijard strani v njem, tako da v celoti 161 00:07:56,540 --> 00:07:59,680 nepriročno fizično, koliko krat si razdelite 4 milijarde 162 00:07:59,680 --> 00:08:01,460 stran imenika na pol? 163 00:08:01,460 --> 00:08:03,035 Torej je to dejansko 32, vzemi ali pusti. 164 00:08:03,035 --> 00:08:07,090 In le tako 32-krat, od 4 milijarde strani, lahko 165 00:08:07,090 --> 00:08:08,700 boste našli nekoga, kot Mike Smith. 166 00:08:08,700 --> 00:08:09,740 In to je učinkovitost. 167 00:08:09,740 --> 00:08:12,130 To je dober algoritem, si trditi. 168 00:08:12,130 --> 00:08:14,480 >> Ampak potem smo se preselili iz tega da bi poskušali formalizirati. 169 00:08:14,480 --> 00:08:16,100 In sem predlagal to psevdokoda kodo. 170 00:08:16,100 --> 00:08:17,800 Psevdokoda koda ni nič formalno. 171 00:08:17,800 --> 00:08:18,880 To ni nekaj, kar si zapomniti. 172 00:08:18,880 --> 00:08:21,588 To je samo nekaj, kar izražajo precej intuitivno uporabo angleščine, 173 00:08:21,588 --> 00:08:24,990 ali katerikoli jezik res, da izraža svoje ideje jedrnato. 174 00:08:24,990 --> 00:08:26,990 Toda kaj je ključnega pomena zaradi psevdokoda koda je, da vas 175 00:08:26,990 --> 00:08:30,331 poskusite predvideti vse možni primeri, da bi se lahko zgodilo. 176 00:08:30,331 --> 00:08:33,080 In res, v tem psevdokoda Koda je bilo res trije primeri 177 00:08:33,080 --> 00:08:34,700 vsakič, ko sem razdelil telefonski imenik. 178 00:08:34,700 --> 00:08:36,006 Mike lahko v levo. 179 00:08:36,006 --> 00:08:37,130 Mike je lahko v desno. 180 00:08:37,130 --> 00:08:39,240 Ali bi lahko bil prav na strani sem. 181 00:08:39,240 --> 00:08:42,110 Ali Četrti primer vogal, tako rekoč. 182 00:08:42,110 --> 00:08:46,470 Slab scenarij, bi bila lahko eden which-- kaj se dogaja? 183 00:08:46,470 --> 00:08:48,860 Mike je samo ne v Telefonski imenik na vse. 184 00:08:48,860 --> 00:08:52,720 >> In ko programi crash-- ko Mac in PC software, da vi teči 185 00:08:52,720 --> 00:08:56,400 na svojih računalnikih, včasih visi ali se nepričakovano zapre, 186 00:08:56,400 --> 00:08:59,770 ki na splošno pomeni, da nekateri programer, nekateri človek, kot si ti kmalu, 187 00:08:59,770 --> 00:09:01,650 samo zasral in naredil nekaj zmotil. 188 00:09:01,650 --> 00:09:05,207 Morda ni predvidel, da morda obstaja Ni Mike Smith v telefonskem imeniku. 189 00:09:05,207 --> 00:09:08,040 In če ne boste dejansko napisati Koda ravnati v situacijah, kot je ta, 190 00:09:08,040 --> 00:09:09,890 običajno nepredvidljivi stvari se lahko zgodi. 191 00:09:09,890 --> 00:09:10,960 Naprava lahko zamrzne. 192 00:09:10,960 --> 00:09:11,730 To lahko ponovno zagnal. 193 00:09:11,730 --> 00:09:12,889 Program lahko nehal. 194 00:09:12,889 --> 00:09:14,722 In tako se vsi ti neumnosti, ki jih lahko 195 00:09:14,722 --> 00:09:18,030 se pojavile v vaš dejanski življenje samo z uporabo računalnikov, 196 00:09:18,030 --> 00:09:20,710 bo bolj prav odslovljena s tem intuicijo 197 00:09:20,710 --> 00:09:24,920 in to razumevanje tega, kaj je dejansko dogaja pod pokrovom. 198 00:09:24,920 --> 00:09:27,329 >> Zdaj pa poskusimo, da se zazremo na bolj splošen problem. 199 00:09:27,329 --> 00:09:29,120 Namesto da bi prisotnost v mestu, kot 200 00:09:29,120 --> 00:09:32,230 to, kar bi bilo zelo počasno storiti, ena, dva, tri, štiri. 201 00:09:32,230 --> 00:09:34,070 Ali morda dve, štiri, šest, osem. 202 00:09:34,070 --> 00:09:36,080 Osredotočimo se namesto na kako bi lahko formalizirali 203 00:09:36,080 --> 00:09:39,400 algoritem procesu ki bi lahko vzamemo udeležbo. 204 00:09:39,400 --> 00:09:42,290 In na tej poti, pa začnimo jih namažete z nomenklaturo 205 00:09:42,290 --> 00:09:47,130 da bomo uporabili tudi danes, ko smo dejansko pričetkom programiranja v jeziku. 206 00:09:47,130 --> 00:09:50,910 Torej, jaz ti dam zdaj, štiri minutni video da smo skupaj z našimi prijatelji 207 00:09:50,910 --> 00:09:52,820 iz TED, organizacije. 208 00:09:52,820 --> 00:09:56,380 Pri čemer imamo na voljo scenarij in so prinesli svoje animatorje nositi, 209 00:09:56,380 --> 00:10:00,970 in dejansko ustvaril 2D animacija, kaj algoritem. 210 00:10:00,970 --> 00:10:02,776 Če bi lahko zatemnite. 211 00:10:02,776 --> 00:10:06,664 >> [Predvajanje glasbe] 212 00:10:06,664 --> 00:10:17,890 213 00:10:17,890 --> 00:10:19,140 NARRATOR: Kaj je algoritem? 214 00:10:19,140 --> 00:10:21,620 Na področju računalništva, Algoritem je niz 215 00:10:21,620 --> 00:10:24,840 navodil reševanje nekateri problem korak za korakom. 216 00:10:24,840 --> 00:10:27,310 Značilno je, algoritmi računalniki izvajajo, 217 00:10:27,310 --> 00:10:29,365 vendar smo ljudje imajo algoritme, kot dobro. 218 00:10:29,365 --> 00:10:31,240 Na primer, kako greste o štetju 219 00:10:31,240 --> 00:10:32,990 število ljudi v prostoru? 220 00:10:32,990 --> 00:10:36,840 No, če ste kot jaz, bi si verjetno opozarjajo na vsako osebo ena naenkrat 221 00:10:36,840 --> 00:10:38,370 in prešteti od nič. 222 00:10:38,370 --> 00:10:41,200 Ena, dva, tri, štiri, in tako naprej. 223 00:10:41,200 --> 00:10:42,410 No, to je algoritem. 224 00:10:42,410 --> 00:10:45,820 V bistvu, poskusimo jo je izraziti malo bolj formalno v psevdokoda kodo. 225 00:10:45,820 --> 00:10:48,940 Angleško-podobno skladnjo, ki spominja na programski jezik. 226 00:10:48,940 --> 00:10:50,880 >> Naj bo n enak 0. 227 00:10:50,880 --> 00:10:55,210 Za vsako osebo v sobi, nastavljen n enako n plus 1. 228 00:10:55,210 --> 00:10:56,790 Kako razložiti psevdokoda? 229 00:10:56,790 --> 00:10:59,490 No, prva vrstica izjavlja, tako rekoč, spremenljivko 230 00:10:59,490 --> 00:11:02,880 imenujemo n in inicializira njegova vrednost na 0 to samo 231 00:11:02,880 --> 00:11:05,080 pomeni, da na začetek našega algoritma 232 00:11:05,080 --> 00:11:07,910 stvar, s katero smo štetje ima vrednost 0. 233 00:11:07,910 --> 00:11:10,860 Konec koncev, preden začnemo štetje še nismo šteli nič. 234 00:11:10,860 --> 00:11:13,580 Kliče te spremenljivke n je le dogovor. 235 00:11:13,580 --> 00:11:15,130 Lahko bi ga imenovali najbolj karkoli. 236 00:11:15,130 --> 00:11:17,460 Zdaj liniji demarks začetek zanke, 237 00:11:17,460 --> 00:11:20,550 zaporedje korakov, da bo ponoviti določeno število krat. 238 00:11:20,550 --> 00:11:24,130 Torej, v našem primeru, korak smo Odvzem je štetje ljudi v sobi. 239 00:11:24,130 --> 00:11:26,260 Pod črto dve je linija tri, ki opisuje 240 00:11:26,260 --> 00:11:28,400 točno, kako se bomo lotili štetja. 241 00:11:28,400 --> 00:11:31,720 Vdolbina pomeni, da to je tretja vrstica, ki bo ponovil. 242 00:11:31,720 --> 00:11:35,190 Torej s kodo psevdokoda je rekel je, da potem ko se začne z 0 243 00:11:35,190 --> 00:11:38,940 Za vsako osebo v Prostor bomo povečali n za 1 244 00:11:38,940 --> 00:11:41,310 Zdaj je to algoritem pravilen? 245 00:11:41,310 --> 00:11:42,820 No dajmo bang na njej malo. 246 00:11:42,820 --> 00:11:45,520 >> Deluje, če obstajajo v sobi dve osebi? 247 00:11:45,520 --> 00:11:46,420 Pa poglejmo. 248 00:11:46,420 --> 00:11:48,500 V prvi liniji bomo inicializacijo n 0. 249 00:11:48,500 --> 00:11:51,910 Za vsako od teh dveh oseb, smo nato prirastek n za 1. 250 00:11:51,910 --> 00:11:55,570 Tako je v prvem potovanju prek zanka, smo posodobili n od 0 do 1. 251 00:11:55,570 --> 00:11:59,320 Na drugem potovanju skozi, da Enako zanka, smo posodobili n od 1 do 2. 252 00:11:59,320 --> 00:12:02,850 In tako, ki jo je ta algoritem je konec, je n 2, ki 253 00:12:02,850 --> 00:12:04,950 dejansko ustreza številu ljudi v sobi. 254 00:12:04,950 --> 00:12:06,040 Do sedaj tako dobro. 255 00:12:06,040 --> 00:12:07,870 >> Kaj praviš na primer kota, čeprav? 256 00:12:07,870 --> 00:12:11,090 Denimo, da obstajajo ljudje, 0 v room-- poleg mene, ki je 257 00:12:11,090 --> 00:12:12,420 tem štetju. 258 00:12:12,420 --> 00:12:15,380 V prvi liniji, smo spet zažene n 0. 259 00:12:15,380 --> 00:12:17,810 Ta čas, čeprav, linija tri ne izvede na vseh 260 00:12:17,810 --> 00:12:19,610 saj ni oseba v sobi. 261 00:12:19,610 --> 00:12:23,540 In tako ostaja n 0, kar dejansko ustreza število ljudi v sobi. 262 00:12:23,540 --> 00:12:24,670 Precej preprosto, kajne? 263 00:12:24,670 --> 00:12:27,880 Vendar štetje ljudi, eno naenkrat je precej neučinkovita, preveč, ne? 264 00:12:27,880 --> 00:12:29,160 Zagotovo lahko storimo bolje. 265 00:12:29,160 --> 00:12:33,440 Zakaj se ne šteje za dve osebi naenkrat, namesto štetje ena, dva, tri, 266 00:12:33,440 --> 00:12:36,470 štiri, pet, šest, sedem, osem, in tako naprej. 267 00:12:36,470 --> 00:12:39,106 Zakaj se ne šteje dve, štiri, šest, osem, in tako naprej? 268 00:12:39,106 --> 00:12:40,670 To celo zveni hitreje. 269 00:12:40,670 --> 00:12:41,940 In to je zagotovo. 270 00:12:41,940 --> 00:12:44,490 >> Pojdimo izrazi to optimizacijo v psevdokoda kodo. 271 00:12:44,490 --> 00:12:46,040 Naj bo n enak 0. 272 00:12:46,040 --> 00:12:50,760 Za vsak par ljudi v Prostor, določen n enak n plus 2. 273 00:12:50,760 --> 00:12:52,360 Precej enostavno spremembo, kajne? 274 00:12:52,360 --> 00:12:56,560 Namesto štetje ljudi v enem trenutku, smo jim namesto računati dve hkrati. 275 00:12:56,560 --> 00:12:59,240 Ta algoritem je torej dvakrat hitreje kot zadnji. 276 00:12:59,240 --> 00:13:00,530 Toda ali je to res? 277 00:13:00,530 --> 00:13:01,160 Pa poglejmo. 278 00:13:01,160 --> 00:13:03,580 Deluje, če obstajajo v sobi dve osebi? 279 00:13:03,580 --> 00:13:05,800 V liniji smo inicializacijo n 0. 280 00:13:05,800 --> 00:13:09,160 Za ta enim parom ljudi, smo nato prirastek n z 2. 281 00:13:09,160 --> 00:13:11,910 In tako ga je ta algoritem je Konec je n 2, ki 282 00:13:11,910 --> 00:13:13,910 dejansko ustreza številu ljudi v sobi. 283 00:13:13,910 --> 00:13:16,610 >> Denimo, da obstajajo naslednja nič ljudi v sobi. 284 00:13:16,610 --> 00:13:19,080 V prvi liniji bomo inicializacijo n 0. 285 00:13:19,080 --> 00:13:21,260 Kot prej, tretja vrstica pa vse ne izvrši 286 00:13:21,260 --> 00:13:25,270 saj ne obstajajo kakršne koli parov ljudi v sobi in tako ostane n 0. 287 00:13:25,270 --> 00:13:27,840 Ki dejansko ustreza število ljudi v sobi. 288 00:13:27,840 --> 00:13:30,520 Toda kaj, če obstajajo v sobi trije ljudje? 289 00:13:30,520 --> 00:13:32,380 Kako to algoritem fare? 290 00:13:32,380 --> 00:13:35,710 Poglejmo, v liniji, smo inicializacijo n 0. 291 00:13:35,710 --> 00:13:39,140 Za par teh ljudi, smo nato prirastek n z 2. 292 00:13:39,140 --> 00:13:40,050 Toda kaj potem? 293 00:13:40,050 --> 00:13:42,340 Ni drugega poln par ljudi v sobi, 294 00:13:42,340 --> 00:13:44,430 tako druga vrstica ne velja več. 295 00:13:44,430 --> 00:13:48,790 In tako do konca tega algoritma je, n je vedno 2, ki ni pravilna. 296 00:13:48,790 --> 00:13:52,070 Dejansko je ta algoritem je dejal, da biti buggy ker ima napako. 297 00:13:52,070 --> 00:13:54,070 >> Pojdimo odškodnine z nekaterimi Novi psevdokoda code. 298 00:13:54,070 --> 00:13:56,110 Naj bo n enak 0. 299 00:13:56,110 --> 00:14:00,790 Za vsak par ljudi v Prostor naj bo N enako n plus 2. 300 00:14:00,790 --> 00:14:05,410 Če ena oseba ostane brez para, nastavljena N enako n plus 1. 301 00:14:05,410 --> 00:14:09,340 Da bi rešili ta problem, ki smo jih uvedena v liniji štiri stanja, 302 00:14:09,340 --> 00:14:12,120 sicer znan kot podružnice, le da Izvrši 303 00:14:12,120 --> 00:14:14,890 Če je le ena oseba, ki jo ni mogla seznaniti z drugo. 304 00:14:14,890 --> 00:14:17,140 In zdaj, ali je en ali trije, 305 00:14:17,140 --> 00:14:21,550 ali liho število oseb v sobi, Ta algoritem se bo zdaj jih šteje. 306 00:14:21,550 --> 00:14:22,810 Lahko storimo še bolje? 307 00:14:22,810 --> 00:14:25,890 No, smo lahko računali na trojkah, ali štiric, ali celo petke in desetine, 308 00:14:25,890 --> 00:14:29,390 ampak po tem, kaj gre, da bi dobili malo težko izpostaviti. 309 00:14:29,390 --> 00:14:32,900 >> Ob koncu dneva, bodisi računalniki ali človeka izvršen, 310 00:14:32,900 --> 00:14:34,870 algoritmi so samo nabor ukazov 311 00:14:34,870 --> 00:14:36,560 , s katerimi bi rešili težave. 312 00:14:36,560 --> 00:14:38,360 To so bili samo trije. 313 00:14:38,360 --> 00:14:41,860 Kaj bi vi problem rešiti z algoritmom? 314 00:14:41,860 --> 00:14:44,261 >> DAVID J. Malan: Torej namerno, zelo preprost program, 315 00:14:44,261 --> 00:14:46,260 zelo preprost algoritem, za doseganje nekaj 316 00:14:46,260 --> 00:14:48,280 Zelo preprosto, štetje število ljudi v sobi. 317 00:14:48,280 --> 00:14:50,370 >> Ampak kaj je draži narazen nekatere predstavnika 318 00:14:50,370 --> 00:14:52,870 Ima tukaj, da so dejansko bo uporaben tudi kadar 319 00:14:52,870 --> 00:14:54,880 izvajanje najbolj Kompleksna programske opreme. 320 00:14:54,880 --> 00:14:58,060 Tako, na primer, v tej prvi vrstici, imamo kar imenujemo spremenljivko, 321 00:14:58,060 --> 00:15:01,040 in iz algebre, ste splošno znano uporabo x in y 322 00:15:01,040 --> 00:15:02,930 in z včasih, in tako naprej. 323 00:15:02,930 --> 00:15:05,770 Toda v programiranju, spremenljivke so še vedno na koncu dneva, 324 00:15:05,770 --> 00:15:06,680 zelo podoben. 325 00:15:06,680 --> 00:15:09,910 Ampak to je morda lažje razmišljati spremenljivke kot samo posodo. 326 00:15:09,910 --> 00:15:13,520 In, v resnici, je nekaj število bitov izvajati nekako v trdem disku 327 00:15:13,520 --> 00:15:16,410 ali v pomnilnik vašega računalnika, a več o tem v prihodnosti. 328 00:15:16,410 --> 00:15:17,670 To je samo posoda. 329 00:15:17,670 --> 00:15:20,310 In če rečeš kot da n enak 0, 330 00:15:20,310 --> 00:15:24,310 dobro, da je, kot zahteva ta kozarec bowl tu n, le poljubno ime, 331 00:15:24,310 --> 00:15:26,230 in dajanje nič v njej sprva. 332 00:15:26,230 --> 00:15:28,940 Torej je vrednost tega bowl zdaj nič. 333 00:15:28,940 --> 00:15:31,380 In seveda, če dojemajo v naslednjem linije, 334 00:15:31,380 --> 00:15:35,070 dejansko prirastek nekaj linijo kodo, se v tej tretji vrstici tukaj, 335 00:15:35,070 --> 00:15:39,857 za 1, ki je, kot pravijo, kaj je Sedanja vrednost n, je 0, plus 1, 336 00:15:39,857 --> 00:15:41,690 dal nekaj podobnega ping-pong žogo tukaj. 337 00:15:41,690 --> 00:15:45,140 Zdaj se vrednost tega spremenljivka je preprosto 1. 338 00:15:45,140 --> 00:15:50,064 In bi lahko zelo hitro ekstrapolirati, zdaj pa je 2, zdaj je 3, in tako naprej. 339 00:15:50,064 --> 00:15:51,230 Tako, da je vse spremenljivka. 340 00:15:51,230 --> 00:15:53,740 To je kos shranjevanja, dejansko shranite nekaj podatkov. 341 00:15:53,740 --> 00:15:55,050 Za zdaj je ping pong žoga. 342 00:15:55,050 --> 00:15:55,883 Tukaj je številka. 343 00:15:55,883 --> 00:15:58,910 Vendar pa bi bilo besede v slovar, kot je črkovalnik 344 00:15:58,910 --> 00:16:02,300 I omenili v sredo za ena od lanskoletnih problemskih sklopov. 345 00:16:02,300 --> 00:16:05,640 >> Zdaj pa še ena ključna ideja, da podobno je precej intuitiven jaz bi trdil, 346 00:16:05,640 --> 00:16:06,690 je, da zanke. 347 00:16:06,690 --> 00:16:08,930 In zanke v procesu šteto od vsakogar 348 00:16:08,930 --> 00:16:12,540 je seveda počne isto spet stvar in again-- enem 349 00:16:12,540 --> 00:16:14,140 hkrati ali dva naenkrat. 350 00:16:14,140 --> 00:16:17,690 In to lahko izrazi v angleškem jeziku, ali psevdokoda koda, v poljubnem številu načinov, 351 00:16:17,690 --> 00:16:21,560 vendar z uporabo tega predloga v "za" je zelo pogost način s tem. 352 00:16:21,560 --> 00:16:24,460 Za vsako osebo v sobi, to storite. 353 00:16:24,460 --> 00:16:25,350 Znova in znova. 354 00:16:25,350 --> 00:16:27,700 In dejstvo, da je razčlenjena, linija tri, 355 00:16:27,700 --> 00:16:29,840 pomeni le, da je kaj boš moral storiti 356 00:16:29,840 --> 00:16:33,490 je stvar, ki je zamaknjen pod liniji sama. 357 00:16:33,490 --> 00:16:35,590 Samo človek konvencija, ampak pogost 358 00:16:35,590 --> 00:16:39,010 kot bomo videli v dejanski Higher programskem jeziku. 359 00:16:39,010 --> 00:16:41,870 >> Zdaj pa malo bolj zanimivo je, ko prideš v primeru kota. 360 00:16:41,870 --> 00:16:43,970 Na primer, kotiček primer je bil, ko je 361 00:16:43,970 --> 00:16:48,060 so bili trije ljudje, ali pet ali sedem, ali liho število oseb v sobi, 362 00:16:48,060 --> 00:16:51,630 ker to, da z parih zavorami na koncu, ker vaš bo 363 00:16:51,630 --> 00:16:54,265 da pogrešam nekoga, bodisi na samem začetku ali zelo konec 364 00:16:54,265 --> 00:16:55,390 odvisno od tega, kako si to naredil. 365 00:16:55,390 --> 00:16:59,800 In tako je, zdaj imam to podružnico, ali stanje, če se ena oseba še vedno, 366 00:16:59,800 --> 00:17:04,490 potem pa pojdi naprej in obvladam osamljena oseba, ki ni dobil 367 00:17:04,490 --> 00:17:05,690 seznanjene z nekom. 368 00:17:05,690 --> 00:17:09,030 Torej, to je tisto, kar bi imenovali stanje, ali podružnica. 369 00:17:09,030 --> 00:17:11,500 >> Zdaj psevdokoda koda bolj splošno lahko 370 00:17:11,500 --> 00:17:13,730 pisni rešiti poljubno število problemov. 371 00:17:13,730 --> 00:17:16,490 In tisto, kar sem mislil, da smo tukaj storiti je vzeti trenutek 372 00:17:16,490 --> 00:17:20,089 povabiti rečemo CS50 je lastnik Rob Bowden na odru 373 00:17:20,089 --> 00:17:25,040 se pridružila dva prostovoljce, , ki nimajo pojma, kaj nas čaka. 374 00:17:25,040 --> 00:17:26,890 Roko je šel dol takoj, ko sem rekel, da. 375 00:17:26,890 --> 00:17:28,700 Kaj pa ti na konča tukaj, pridi gor. 376 00:17:28,700 --> 00:17:33,040 In kako približno od dlje stran, kaj pa način v hrbtu. 377 00:17:33,040 --> 00:17:35,200 Zadnja vrsta, pridi gor z dvignjenimi rokami. 378 00:17:35,200 --> 00:17:36,475 Dobro, in kako ti je ime? 379 00:17:36,475 --> 00:17:36,960 >> ANITA: Anita. 380 00:17:36,960 --> 00:17:37,655 >> DAVID J. Malan: Anita. 381 00:17:37,655 --> 00:17:38,613 Ok, lepo, da sva se spoznala. 382 00:17:38,613 --> 00:17:41,010 Dovolite mi, da vam predstavim Rob Bowden. 383 00:17:41,010 --> 00:17:42,890 To je Anita. 384 00:17:42,890 --> 00:17:44,033 In kako ti je ime? 385 00:17:44,033 --> 00:17:44,800 >> KIERSTEN: Kiersten 386 00:17:44,800 --> 00:17:46,020 >> DAVID J. Malan: Kiersten. 387 00:17:46,020 --> 00:17:49,790 Kiersten, pridi gor in izpolnjujejo Rob Bowden in Anita. 388 00:17:49,790 --> 00:17:51,036 Lepo, da sva se spoznala. 389 00:17:51,036 --> 00:17:52,160 KIERSTEN: Me veseli. 390 00:17:52,160 --> 00:17:53,368 DAVID J. Malan: Dobro, Rob. 391 00:17:53,368 --> 00:17:54,650 ROB Bowden: Me veseli. 392 00:17:54,650 --> 00:17:55,566 DAVID J. Malan: Anita. 393 00:17:55,566 --> 00:17:56,520 KIERSTEN: Hi Anita. 394 00:17:56,520 --> 00:17:58,686 DAVID J. Malan: In vaš več sto sošolci. 395 00:17:58,686 --> 00:18:02,490 Tako, zdaj pa grem naprej in potegnite up preprostim programom tukaj 396 00:18:02,490 --> 00:18:05,690 na Mac OS bom, da mi dovolite, dejansko zapišete nekaj opomb navzdol. 397 00:18:05,690 --> 00:18:09,570 In če hočete, da sprejmeta položaj na enem od teh šol tam, 398 00:18:09,570 --> 00:18:16,360 Naj gredo naprej in se začne seznam od psevdokoda kode, če hočete. 399 00:18:16,360 --> 00:18:19,970 In kaj hočem narediti tukaj, na koncu je tip za vas 400 00:18:19,970 --> 00:18:22,470 nekaj navodil, da je naša Člani občinstva so dejansko 401 00:18:22,470 --> 00:18:23,569 bo recitirati za nas. 402 00:18:23,569 --> 00:18:25,860 Dovolite mi, da gredo naprej in samo spremeniti to oštevilčen seznam 403 00:18:25,860 --> 00:18:27,720 da se ujemajo, kar smo počeli tam. 404 00:18:27,720 --> 00:18:30,990 In kaj bom naredil z vaša pomoč, je napisati program 405 00:18:30,990 --> 00:18:34,620 v psevdokoda, s katerim ti fantje gredo 406 00:18:34,620 --> 00:18:38,150 izvajati kikiriki maslo in žele sendvič. 407 00:18:38,150 --> 00:18:40,880 Zato je morda apropos za nekaj pokazati nekatere izmed vas 408 00:18:40,880 --> 00:18:44,560 Morda so videli na internetu za samo kratek siten trenutku. 409 00:18:44,560 --> 00:18:47,650 >> [MUSIC BUCKEWHEAT BOYS, "arašidovo maslo  JELLY TIME "] 410 00:18:47,650 --> 00:19:08,119 411 00:19:08,119 --> 00:19:08,910 DAVID J. Malan: OK. 412 00:19:08,910 --> 00:19:10,050 To je dovolj, da. 413 00:19:10,050 --> 00:19:12,690 Torej, tukaj je medtem, imam Par Google Glasses, ki 414 00:19:12,690 --> 00:19:16,500 bomo dali CS50 lastno Rob Bowden videti svet skozi njegove oči. 415 00:19:16,500 --> 00:19:19,140 In mi se bomo potrudili na delovnem mestu proizvodnja dejansko tkanje 416 00:19:19,140 --> 00:19:23,100 posnetek kaj Rob videnje Zdaj, v tem dejansko predavanje 417 00:19:23,100 --> 00:19:26,420 video z našimi dva prostovoljci poleg njega. 418 00:19:26,420 --> 00:19:28,480 Torej, kaj bom naredil je, bom tipkam. 419 00:19:28,480 --> 00:19:31,849 Imamo cilj Tu dejansko pisanje programa 420 00:19:31,849 --> 00:19:34,640 s katerimi naj bi v končni fazi arašidovo maslo in žele sendvič, 421 00:19:34,640 --> 00:19:37,680 ampak ti trije se bodo obnašali kot da so računalniki. 422 00:19:37,680 --> 00:19:40,638 In računalniki, na koncu dneva, so pravzaprav precej neumna naprave. 423 00:19:40,638 --> 00:19:44,432 Oni so super hitro, ampak jih lahko samo storiti, dobesedno, kaj so povedali. 424 00:19:44,432 --> 00:19:46,890 Ne moreš kar reči, da kikiriki maslo in žele sendvič. 425 00:19:46,890 --> 00:19:48,640 Moraš jih programirate za to. 426 00:19:48,640 --> 00:19:51,420 Moraš jim povedati natančno, kaj naj naredim, 427 00:19:51,420 --> 00:19:54,400 manj gredo stvari strašno in upajmo, zabavno narobe. 428 00:19:54,400 --> 00:19:57,460 >> Torej, s tem je dejal, da potrebujemo en klic-out iz občinstva 429 00:19:57,460 --> 00:19:59,440 Za kaj naj okrepijo eno je, če je cilj tukaj 430 00:19:59,440 --> 00:20:01,356 je, da kikiriki maslo in žele sendvič. 431 00:20:01,356 --> 00:20:01,910 Ja? 432 00:20:01,910 --> 00:20:03,647 >> OBČINSTVO: [neslišno] vrečko kruha. 433 00:20:03,647 --> 00:20:05,230 DAVID J. Malan: Odprite vrečko kruha. 434 00:20:05,230 --> 00:20:08,360 Torej, če bi trije tekmovalci želite nadaljevati to storiti dobesedno. 435 00:20:08,360 --> 00:20:12,394 Odprite vrečko kruha. 436 00:20:12,394 --> 00:20:15,810 >> [PUBLIKA smejati] 437 00:20:15,810 --> 00:20:20,717 438 00:20:20,717 --> 00:20:22,300 DAVID J. Malan: Torej delati na tem. 439 00:20:22,300 --> 00:20:23,180 V redu. 440 00:20:23,180 --> 00:20:25,400 Torej drugi korak, kako-- vzemiva to še dodatno. 441 00:20:25,400 --> 00:20:26,480 Ja, na sprednji strani. 442 00:20:26,480 --> 00:20:27,240 >> OBČINSTVO: [neslišno] kruh. 443 00:20:27,240 --> 00:20:27,735 >> DAVID J. Malan: Kaj je to? 444 00:20:27,735 --> 00:20:28,836 >> OBČINSTVO: Odstranite kruh. 445 00:20:28,836 --> 00:20:30,210 DAVID J. Malan: Odstranite kruh. 446 00:20:30,210 --> 00:20:31,190 Podobno jedrnati. 447 00:20:31,190 --> 00:20:33,667 Hvala. 448 00:20:33,667 --> 00:20:43,777 >> [APLAVZ] 449 00:20:43,777 --> 00:20:44,860 DAVID J. Malan: To je to? 450 00:20:44,860 --> 00:20:48,830 OK, tako da stopite dva se dogaja da se odstrani kruh. 451 00:20:48,830 --> 00:20:51,790 Dobro, nekdo rad pišite nam daljšo kazen? 452 00:20:51,790 --> 00:20:52,640 Nekdo drug? 453 00:20:52,640 --> 00:20:53,920 Malo več [neslišno]. 454 00:20:53,920 --> 00:20:54,810 Ne, nič zdaj. 455 00:20:54,810 --> 00:20:56,094 Ja? 456 00:20:56,094 --> 00:20:58,900 >> OBČINSTVO: Place dva rezine drug poleg drugega. 457 00:20:58,900 --> 00:21:03,575 >> DAVID J. Malan: Place dva rezine drug poleg drugega. 458 00:21:03,575 --> 00:21:06,420 >> [PUBLIKA smejati] 459 00:21:06,420 --> 00:21:09,590 >> DAVID J. Malan: Place dva rezine drug poleg drugega. 460 00:21:09,590 --> 00:21:11,334 Četrti korak. 461 00:21:11,334 --> 00:21:12,816 Ja? 462 00:21:12,816 --> 00:21:14,792 >> OBČINSTVO: Vzemite si roko in jo rahlo 463 00:21:14,792 --> 00:21:17,756 na vrhu pokrova arašidovo maslo. 464 00:21:17,756 --> 00:21:19,710 >> [PUBLIKA smejati] 465 00:21:19,710 --> 00:21:21,710 OBČINSTVO: [neslišno] poleg kikirikijevo maslo. 466 00:21:21,710 --> 00:21:21,870 DAVID J. Malan: Kaj? 467 00:21:21,870 --> 00:21:22,520 Ponoviš. 468 00:21:22,520 --> 00:21:26,308 >> OBČINSTVO: Odvijte pokrov in dal nežno poleg kikirikijevo maslo. 469 00:21:26,308 --> 00:21:31,490 >> DAVID J. Malan: Daj jo nežno poleg kikirikijevo maslo. 470 00:21:31,490 --> 00:21:37,770 471 00:21:37,770 --> 00:21:40,090 OK, napredek. 472 00:21:40,090 --> 00:21:41,080 Peti korak. 473 00:21:41,080 --> 00:21:42,380 Odlično. 474 00:21:42,380 --> 00:21:43,261 Ja? 475 00:21:43,261 --> 00:21:44,163 >> Poberi nož. 476 00:21:44,163 --> 00:21:46,380 477 00:21:46,380 --> 00:21:47,630 DAVID J. Malan: Poberi nož. 478 00:21:47,630 --> 00:21:52,320 479 00:21:52,320 --> 00:21:53,631 OK, šestim korakom. 480 00:21:53,631 --> 00:21:54,130 Ja? 481 00:21:54,130 --> 00:21:56,237 >> OBČINSTVO: Drži nož za ročaj. 482 00:21:56,237 --> 00:21:57,945 DAVID J. Malan: Držite nož za ročaj. 483 00:21:57,945 --> 00:22:00,710 484 00:22:00,710 --> 00:22:03,230 Držite nož za ročaj. 485 00:22:03,230 --> 00:22:04,880 Sedmi korak. 486 00:22:04,880 --> 00:22:05,692 Ja? 487 00:22:05,692 --> 00:22:10,030 >> OBČINSTVO: [neslišno] nož na arašide maslo in tako malo ven [neslišno]. 488 00:22:10,030 --> 00:22:13,070 >> DAVID J. Malan: Postavite nož noter-- I Slišal "dal nož v arašidovo maslo 489 00:22:13,070 --> 00:22:19,500 in se tako malo, kot je mogoče. " 490 00:22:19,500 --> 00:22:22,480 Mimogrede, najprej odstranimo papir. 491 00:22:22,480 --> 00:22:29,320 492 00:22:29,320 --> 00:22:31,890 V redu, stopite devet. 493 00:22:31,890 --> 00:22:34,910 Devet korak. 494 00:22:34,910 --> 00:22:35,624 Devet korak. 495 00:22:35,624 --> 00:22:37,290 Nismo dejansko je še sendvič. 496 00:22:37,290 --> 00:22:37,790 Ja? 497 00:22:37,790 --> 00:22:41,570 OBČINSTVO: Z nožem v arašidovo maslo, Uporablja arašidovo maslo na omenjeni kruh. 498 00:22:41,570 --> 00:22:47,440 >> DAVID J. Malan: Z nožem v arašidovo maslo, uporabljati arašidovo maslo na 499 00:22:47,440 --> 00:22:48,736 dejal kruh. 500 00:22:48,736 --> 00:22:56,030 >> [PUBLIKA smejati] 501 00:22:56,030 --> 00:22:59,480 DAVID J. Malan: Dobro korak 10. 502 00:22:59,480 --> 00:23:01,762 10. korak. 503 00:23:01,762 --> 00:23:02,750 Ja? 504 00:23:02,750 --> 00:23:05,220 >> OBČINSTVO: Taste arašide maslo za zagotavljanje kakovosti. 505 00:23:05,220 --> 00:23:15,960 >> [PUBLIKA smejati] 506 00:23:15,960 --> 00:23:16,960 DAVID J. Malan: 11. korak. 507 00:23:16,960 --> 00:23:19,500 508 00:23:19,500 --> 00:23:21,340 11. korak. 509 00:23:21,340 --> 00:23:22,101 11. korak. 510 00:23:22,101 --> 00:23:22,600 Daj no. 511 00:23:22,600 --> 00:23:23,099 Ja? 512 00:23:23,099 --> 00:23:24,208 Točno tam. 513 00:23:24,208 --> 00:23:25,840 >> OBČINSTVO: Previdno poberem žele. 514 00:23:25,840 --> 00:23:28,220 >> DAVID J. Malan: Previdno poberem žele. 515 00:23:28,220 --> 00:23:29,970 OK, potem pa še ena roka je bila gor. 516 00:23:29,970 --> 00:23:32,812 517 00:23:32,812 --> 00:23:33,520 Takoj za tabo. 518 00:23:33,520 --> 00:23:35,761 Ja, v modri barvi. 519 00:23:35,761 --> 00:23:40,671 >> OBČINSTVO: Dobro, odstranite pokrov iz [neslišno], ja, 520 00:23:40,671 --> 00:23:42,635 odstraniti pokrov iz želeja. 521 00:23:42,635 --> 00:23:43,617 >> [PUBLIKA smejati] 522 00:23:43,617 --> 00:23:44,742 >> DAVID J. Malan: Od žele. 523 00:23:44,742 --> 00:23:45,581 Ha ha. 524 00:23:45,581 --> 00:23:48,967 >> [PUBLIKA smejati] 525 00:23:48,967 --> 00:23:49,800 DAVID J. Malan: In? 526 00:23:49,800 --> 00:23:52,490 OBČINSTVO: In komaj pomete vsak [neslišno]. 527 00:23:52,490 --> 00:23:59,536 [PUBLIKA smejati] 528 00:23:59,536 --> 00:24:04,456 OBČINSTVO: Seveda, pred [neslišno] odstranite papir iz želeja. 529 00:24:04,456 --> 00:24:06,940 DAVID J. Malan: Odstranite papir iz želeja. 530 00:24:06,940 --> 00:24:08,229 14. korak. 531 00:24:08,229 --> 00:24:09,020 Skoraj smo že tam. 532 00:24:09,020 --> 00:24:09,857 Ja? 533 00:24:09,857 --> 00:24:12,600 >> OBČINSTVO: Obrni jelly steklenica preden se je vse pade ven. 534 00:24:12,600 --> 00:24:16,515 >> DAVID J. Malan: Obrni jelly Steklenička pred žele pade ven. 535 00:24:16,515 --> 00:24:19,070 536 00:24:19,070 --> 00:24:19,890 15. korak. 537 00:24:19,890 --> 00:24:21,130 >> OBČINSTVO: Zamenjajte pokrov. 538 00:24:21,130 --> 00:24:22,463 >> DAVID J. Malan: Zamenjajte pokrov. 539 00:24:22,463 --> 00:24:25,880 540 00:24:25,880 --> 00:24:28,190 16. korak. 541 00:24:28,190 --> 00:24:28,931 Ja? 542 00:24:28,931 --> 00:24:29,806 >> OBČINSTVO: [neslišno] 543 00:24:29,806 --> 00:24:34,109 544 00:24:34,109 --> 00:24:35,400 DAVID J. Malan: Ponovi to. 545 00:24:35,400 --> 00:24:38,100 OBČINSTVO: Vzemite pokrovček vaše žele. 546 00:24:38,100 --> 00:24:39,650 DAVID J. Malan: Off vaš žele. 547 00:24:39,650 --> 00:24:43,720 548 00:24:43,720 --> 00:24:49,510 Torej res-- Ups. 549 00:24:49,510 --> 00:24:50,420 Daj no. 550 00:24:50,420 --> 00:24:51,740 Zamenjajte pokrov. 551 00:24:51,740 --> 00:24:56,660 Put cap-- Rekli ste odstranite pokrovček z želejem. 552 00:24:56,660 --> 00:24:58,950 Počutim se, kot da smo v nekaj zanke. 553 00:24:58,950 --> 00:24:59,640 17. korak. 554 00:24:59,640 --> 00:25:00,398 Ja? 555 00:25:00,398 --> 00:25:02,639 >> OBČINSTVO: [neslišno] 556 00:25:02,639 --> 00:25:03,930 DAVID J. Malan: Ponovi to. 557 00:25:03,930 --> 00:25:05,150 OBČINSTVO: [neslišno] 558 00:25:05,150 --> 00:25:07,835 DAVID J. Malan: Vrnite se step-- 559 00:25:07,835 --> 00:25:10,110 OBČINSTVO: [neslišno] 560 00:25:10,110 --> 00:25:13,760 DAVID J. Malan: Odstrani kapa iz kikirikijevega masla. 561 00:25:13,760 --> 00:25:14,492 Ja? 562 00:25:14,492 --> 00:25:16,430 >> OBČINSTVO: izbrišite vse jelly na kruh. 563 00:25:16,430 --> 00:25:19,040 >> DAVID J. Malan: izbrišite vse žele za kruh. 564 00:25:19,040 --> 00:25:25,372 565 00:25:25,372 --> 00:25:26,830 DAVID J. Malan: Skoraj smo že tam. 566 00:25:26,830 --> 00:25:27,800 Korak 19. 567 00:25:27,800 --> 00:25:30,250 >> OBČINSTVO: Odvečno žele. 568 00:25:30,250 --> 00:25:31,720 >> DAVID J. Malan: Haha, žele. 569 00:25:31,720 --> 00:25:36,615 >> [APLAVZ] 570 00:25:36,615 --> 00:25:39,240 DAVID J. Malan: Zakaj ne lahko-- en korak, da to doma. 571 00:25:39,240 --> 00:25:41,720 Še en korak in potem bomo služijo sendviče. 572 00:25:41,720 --> 00:25:42,900 Ja? 573 00:25:42,900 --> 00:25:45,570 >> OBČINSTVO: [neslišno] 574 00:25:45,570 --> 00:25:50,704 >> DAVID J. Malan: Medtem koli sendvič alinea remains-- Pojdimo to-- jesti. 575 00:25:50,704 --> 00:25:56,400 >> [Smeh občinstva] 576 00:25:56,400 --> 00:26:00,395 >> DAVID J. Malan: Dobro, hvala da si naši prostovoljci tukaj. 577 00:26:00,395 --> 00:26:06,150 >> [APLAVZ} 578 00:26:06,150 --> 00:26:08,940 >> DAVID J. Malan: Imamo nekaj lepo slovesu darila za vsakega izmed vas. 579 00:26:08,940 --> 00:26:14,350 Vaša lastna arašidovo maslo, žele, in kruh, da bi nazaj domov. 580 00:26:14,350 --> 00:26:15,774 Hvala. 581 00:26:15,774 --> 00:26:17,118 >> KIERSTEN: Hvala. 582 00:26:17,118 --> 00:26:18,618 DAVID J. Malan: [neslišno] dobrodošli. 583 00:26:18,618 --> 00:26:21,849 [APLAVZ] 584 00:26:21,849 --> 00:26:24,390 DAVID J. Malan: Torej, to je, Seveda, smešno primer. 585 00:26:24,390 --> 00:26:24,890 Prav? 586 00:26:24,890 --> 00:26:28,890 Ampak to nekako pokažejo, kako smo ljudje vzemite jasnost za samoumevno. 587 00:26:28,890 --> 00:26:30,890 In dejstvo, da sem bil Govorimo, da drugemu človeku, 588 00:26:30,890 --> 00:26:33,300 on ali ona samo ve, kaj misliš. 589 00:26:33,300 --> 00:26:35,220 >> Računalniki ne bodo da vem, kaj misliš, 590 00:26:35,220 --> 00:26:37,430 tudi pri uporabi, kot smo na tem, da je danes, 591 00:26:37,430 --> 00:26:42,300 programiranje nekaj v Scratch, povlecite in spusti, košček sestavljanke slog jezik. 592 00:26:42,300 --> 00:26:44,310 Tudi zasnovan za mlade Otroci, imate 593 00:26:44,310 --> 00:26:48,726 da so tako očitne in tako literal s kaj želite, da vaš program za narediti. 594 00:26:48,726 --> 00:26:50,600 Zdaj na koncu, smo bo programiranje 595 00:26:50,600 --> 00:26:53,550 ne psevdokoda kodo, Angleščina kot sintakso, 596 00:26:53,550 --> 00:26:56,370 vendar kodo ali bolj pravilno, izvorna koda. 597 00:26:56,370 --> 00:26:59,260 Izvorna koda je samo fancy način za opisovanje kodo, ki jo dejansko 598 00:26:59,260 --> 00:27:01,730 pisati s tipkovnico, ki je ne v angleščini po sebi. 599 00:27:01,730 --> 00:27:06,480 To je v C ali Java ali C ++ ali kaj podobnega tako, kot bomo kmalu videli. 600 00:27:06,480 --> 00:27:09,510 >> In v resnici, samo prestrašiti nekaj vas je, na prvi pogled, 601 00:27:09,510 --> 00:27:13,769 to je program napisan v jeziku imenovano C. Ampak un-prestrašiti nekaj od tebe, 602 00:27:13,769 --> 00:27:15,560 boste popolnoma razumeti, kaj se dogaja 603 00:27:15,560 --> 00:27:18,980 pridejo na naslednji ponedeljek, ko ga gre za kaj takega. 604 00:27:18,980 --> 00:27:20,510 Odkrito povedano, to je starejši jezik. 605 00:27:20,510 --> 00:27:22,430 To je precej skrivnostne, vendar je reprezentativen 606 00:27:22,430 --> 00:27:26,120 partije jezikov te dni, da imajo veliko oklepaji in kodrolistna 607 00:27:26,120 --> 00:27:28,630 oporniki in narekovajev in podpičja. 608 00:27:28,630 --> 00:27:30,780 In veliko tega skladenjska stvari, ki je ne 609 00:27:30,780 --> 00:27:32,450 sploh intelektualno zanimiva. 610 00:27:32,450 --> 00:27:35,790 Pravzaprav, to je popolna zmeda od zelo preprostih idej 611 00:27:35,790 --> 00:27:37,370 da so nas gledal v obraz. 612 00:27:37,370 --> 00:27:41,760 Ta program, kot si lahko samo mislim, odtisi na nekoga računalniškem zaslonu 613 00:27:41,760 --> 00:27:44,070 besede "Hello comma svetu." 614 00:27:44,070 --> 00:27:44,860 To je vse. 615 00:27:44,860 --> 00:27:46,580 Torej je jasno, da je Veliko stvari, ki je 616 00:27:46,580 --> 00:27:48,970 že na poti nekateri očitnost tam, 617 00:27:48,970 --> 00:27:52,490 ampak to bo zelo hitro zdrsnejo stran in je popolnoma intuitivno. 618 00:27:52,490 --> 00:27:55,617 >> Pravzaprav, kaj bomo storili danes destilirati to precej zapletena 619 00:27:55,617 --> 00:27:58,950 išče programa, kar spet boste prišli hitro razumeli, ampak za nekaj, 620 00:27:58,950 --> 00:27:59,710 veliko enostavnejša. 621 00:27:59,710 --> 00:28:01,640 Reciva, kaj mislimo. 622 00:28:01,640 --> 00:28:05,590 Pojdimo narisati sliko o tem, kaj mislimo, s pomočjo teh kosov sestavljanke tukaj. 623 00:28:05,590 --> 00:28:09,110 >> Torej, to je programiranje jezik, znan kot nič. 624 00:28:09,110 --> 00:28:11,080 Zato je bil razvit z MIT Media Lab. 625 00:28:11,080 --> 00:28:14,830 In kaj boste videli na problem nastaviti ničlo, ki bo izšla kasneje nocoj, 626 00:28:14,830 --> 00:28:18,980 bomo morali greš na to URL tukaj scratch.mit.edu. 627 00:28:18,980 --> 00:28:20,940 In imajo spletu vmesnik, ki temelji preko katerih 628 00:28:20,940 --> 00:28:22,540 boste napisali svoj prvi program. 629 00:28:22,540 --> 00:28:25,330 Ali tiste, ki ste pred izkušnje, tvoj drugi programi, 630 00:28:25,330 --> 00:28:28,090 toda v okolju, ki je Verjetno malo poznajo, in da 631 00:28:28,090 --> 00:28:32,930 si bo prizadevala ustvariti nekaj z uporabo te zelo vizualno okolje. 632 00:28:32,930 --> 00:28:35,940 >> Zdaj, kaj bom naredil tukaj je odprla sam program. 633 00:28:35,940 --> 00:28:41,911 To ne obstaja le kot spletni brskalnik, ampak tudi kot downloadable programa 634 00:28:41,911 --> 00:28:44,660 tako da lahko dejansko uporabljajo Če nimate dostopa do interneta. 635 00:28:44,660 --> 00:28:46,743 In bom za to Tukaj, v Sanders, samo 636 00:28:46,743 --> 00:28:49,580 v primeru, Wi-Fi ne sodelovati super dobro. 637 00:28:49,580 --> 00:28:52,640 In kaj bom storiti, je točka ven nekaj značilnosti tega programa. 638 00:28:52,640 --> 00:28:55,720 Torej, da bo jasno, imam samo dvojno kliknili na ikono na namizje, 639 00:28:55,720 --> 00:28:59,830 ali enakovredno šli scratch.mit.edu, in to je potegnil to okno. 640 00:28:59,830 --> 00:29:01,650 To je programsko okolje. 641 00:29:01,650 --> 00:29:04,110 To je kos programske opreme, ki nekateri naši prijatelji na MIT 642 00:29:04,110 --> 00:29:08,850 je zapisal, da naj v ZDA in pišete Programi v jeziku imenuje praske. 643 00:29:08,850 --> 00:29:12,010 >> Zdaj se to zgodi, da se Mačka, ki je znan tudi pod imenom Scratch 644 00:29:12,010 --> 00:29:13,890 in to je njegov svet, v katerem živi. 645 00:29:13,890 --> 00:29:17,175 To je stopnja, tako rekoč, da pravokotnik v zgornjem levem kotu. 646 00:29:17,175 --> 00:29:18,800 In ni nujno, da je videti kot mačka. 647 00:29:18,800 --> 00:29:20,591 Lahko da mu je videti kot karkoli in vam 648 00:29:20,591 --> 00:29:23,700 imajo lahko veliko takšnih sprites, ali znakov, v programu. 649 00:29:23,700 --> 00:29:27,450 Medtem sem na daleč V redu, je velik nepopisan list. 650 00:29:27,450 --> 00:29:30,260 In to je, če se v trenutku, se bomo za začetek programiranja 651 00:29:30,260 --> 00:29:32,750 z vlečenjem in spuščanjem ti grafični puzzle 652 00:29:32,750 --> 00:29:35,300 kosi, ki so prav tu v sredini. 653 00:29:35,300 --> 00:29:38,140 In tam je veliko bolj od njih, kot bomo preživeli več časa tukaj v razredu 654 00:29:38,140 --> 00:29:40,080 ker boste ugotovili, da oni so vsi precej intuitivna. 655 00:29:40,080 --> 00:29:41,788 Spet je bilo načrtovano za otroke, vendar smo 656 00:29:41,788 --> 00:29:45,759 zafrkavajo, razen nekaj tistih temeljne ideje spremenljivk, zank, 657 00:29:45,759 --> 00:29:48,050 pogoji, in kmalu stvari kot funkcije in dogodki 658 00:29:48,050 --> 00:29:51,810 in niti in drugi modni stvari, ki jih bomo priti pred dolgo, da se dejansko ustvarijo 659 00:29:51,810 --> 00:29:53,840 nekaj iz nič. 660 00:29:53,840 --> 00:29:54,810 Pun namenjena. 661 00:29:54,810 --> 00:29:58,740 >> Zdaj, kaj bom storiti, je tu kliknite na ne gibanje, ampak nadzor. 662 00:29:58,740 --> 00:30:01,400 In to je samo kategorizacija tu-- 663 00:30:01,400 --> 00:30:03,150 in vidim drugačen Barva niz blokov. 664 00:30:03,150 --> 00:30:05,030 Ampak obvestilo nekaj poznane besede. 665 00:30:05,030 --> 00:30:07,830 "Če" in "else if" in "ponavljanja". 666 00:30:07,830 --> 00:30:10,440 In si verjetno lahko uganiti to spominja na podružnice, 667 00:30:10,440 --> 00:30:12,870 ali pogojev, smo videli, in tudi zanka konstrukt. 668 00:30:12,870 --> 00:30:14,760 Torej imamo tukaj podobne bloke. 669 00:30:14,760 --> 00:30:16,720 Ampak najbolj zanimivo ena je tale tukaj. 670 00:30:16,720 --> 00:30:20,690 Ko je ta zelena zastava kliknili, to je za tiste s predhodnim programiranje 671 00:30:20,690 --> 00:30:23,110 izkušnje, je enakovredna za glavno funkcijo. 672 00:30:23,110 --> 00:30:25,300 Toda za tiste, ki ne poznajo, To je puzzle piece 673 00:30:25,300 --> 00:30:27,320 , ki se bodo začeli začeli naš celoten program. 674 00:30:27,320 --> 00:30:31,350 To dobesedno pomeni, ko sem šel v to program in kliknite na zeleno flag-- 675 00:30:31,350 --> 00:30:35,560 ki si lahko ogledate tukaj v zgornjem levem kotu na UI, 676 00:30:35,560 --> 00:30:38,570 tako da vidim zeleno zastavo ob rdeči stop znak? 677 00:30:38,570 --> 00:30:41,475 Ko sem kliknite, da moj Program se bo teči. 678 00:30:41,475 --> 00:30:43,850 Zdaj bom nekaj narediti super enostavno z Scratch. 679 00:30:43,850 --> 00:30:46,640 Jaz grem naprej in pojdite na plošči Looks 680 00:30:46,640 --> 00:30:50,010 tukaj, kjer imam kup vijoličnih koščke, 681 00:30:50,010 --> 00:30:53,887 in bom, da gredo naprej in ne Nekaj ​​zelo preprostega, kot, recimo. 682 00:30:53,887 --> 00:30:55,720 In potem-- Obvestilo to besedilo v beli škatli 683 00:30:55,720 --> 00:30:59,290 je editable-- bom rekel, "Hello world", kot mi 684 00:30:59,290 --> 00:31:01,470 storil v tem gramatikalne Različica za trenutek nazaj. 685 00:31:01,470 --> 00:31:05,920 In zdaj, če grem in kliknite to zelena zastava, ki sem jih sedaj programirati. 686 00:31:05,920 --> 00:31:07,810 To ni posebej zanimiv program, 687 00:31:07,810 --> 00:31:09,760 vendar sem računalnik nekaj narediti. 688 00:31:09,760 --> 00:31:13,120 Začel sem program in ga kar sem rekel, da naj naredim. 689 00:31:13,120 --> 00:31:16,170 Zdaj bom lahko še naprej, da povlečete in spustite več in več teh kosov sestavljanke 690 00:31:16,170 --> 00:31:19,220 in gredo, da sinhronizira, vendar kaj je klofuta nekaj terminologije tukaj 691 00:31:19,220 --> 00:31:21,680 da bomo videli ponavljajoče celotnem poteku, 692 00:31:21,680 --> 00:31:24,610 in res po vsej računalništva in načrtovanje na splošno. 693 00:31:24,610 --> 00:31:27,990 >> Ta "reči" blok, v vijolični, dajva šele začetek kliče izjavo. 694 00:31:27,990 --> 00:31:29,240 To je kot dejansko trditvijo. 695 00:31:29,240 --> 00:31:30,380 Ali to. 696 00:31:30,380 --> 00:31:32,590 Torej, to je kategorija navodila, ki vas 697 00:31:32,590 --> 00:31:36,760 bi lahko nahranili računalnik kot del programa ali algoritma. 698 00:31:36,760 --> 00:31:39,270 In da bo jasno, ki ste jih Verjetno samoumevno 699 00:31:39,270 --> 00:31:41,930 da imate programe na vašem računalniku. 700 00:31:41,930 --> 00:31:45,850 In oni so vrste algoritmov, vendar Program je res kup algoritmov 701 00:31:45,850 --> 00:31:47,160 da so nekateri ljudje pisali. 702 00:31:47,160 --> 00:31:49,040 Zapakirane jo gor in so ga prodali, tako vas, 703 00:31:49,040 --> 00:31:51,330 ali pa so objavljene na spletnih straneh za vas, da prenesete. 704 00:31:51,330 --> 00:31:54,930 Torej, program je le Cel kup ničel in enic 705 00:31:54,930 --> 00:31:56,970 da, nekako, ljudje ustvarili. 706 00:31:56,970 --> 00:32:00,080 In ti vzorci ničel in tisti predstavljajo stvari, navsezadnje, 707 00:32:00,080 --> 00:32:04,030 kot "pozdravit sveta" ali "predvajanjem ta glasba "ali" igrati ta video " 708 00:32:04,030 --> 00:32:05,129 ali "pošljete e-pošto." 709 00:32:05,129 --> 00:32:06,920 Ampak se bomo vrnili v tako bolj podrobno, kaj 710 00:32:06,920 --> 00:32:08,780 Program je, ko ti, sami, jih napišite. 711 00:32:08,780 --> 00:32:11,320 >> Tu je še en statement-- "Počakajte eno sekundo." 712 00:32:11,320 --> 00:32:14,330 Nisem te še uporabljajo, vendar, če želim moj program za premor za trenutek 713 00:32:14,330 --> 00:32:16,540 nekaj narediti, lahko jaz povem, da to storijo. 714 00:32:16,540 --> 00:32:18,450 Počakajte trenutek. 715 00:32:18,450 --> 00:32:20,150 Zdaj morda še eden je "igral zvok." 716 00:32:20,150 --> 00:32:23,270 Torej, to je edinstvena na nič, ga Ima sposobnost, da predvaja zvoke. 717 00:32:23,270 --> 00:32:26,130 Torej, sem morda izjavo Uporaba je tukaj, "play zvok." 718 00:32:26,130 --> 00:32:29,530 Medtem, Boolean izraz, tako da je to Ljubitelj beseda 719 00:32:29,530 --> 00:32:34,490 poimenovana po le nekoga z imenom G. bool, in to je vse o vprašanju. 720 00:32:34,490 --> 00:32:37,470 True ali false-- je miška dol? 721 00:32:37,470 --> 00:32:41,100 Logični izraz je le nekateri izraz v angleščini 722 00:32:41,100 --> 00:32:42,860 ki je bodisi resnična ali neresnična. 723 00:32:42,860 --> 00:32:44,140 Bodisi na ali izključite. 724 00:32:44,140 --> 00:32:45,130 Bodisi eno ali nič. 725 00:32:45,130 --> 00:32:46,960 Lahko si misliš o njem v poljubnem številu načinov, 726 00:32:46,960 --> 00:32:49,220 ampak to je bodisi resnična ali Ta lažna, na koncu. 727 00:32:49,220 --> 00:32:52,540 Torej "miške navzdol vprašaj," da bi logični izraz. 728 00:32:52,540 --> 00:32:54,300 In lahko si misliš o drugih, morda. 729 00:32:54,300 --> 00:32:57,510 Na primer, "je levo število manj kot pravo število? " 730 00:32:57,510 --> 00:32:59,410 Tudi to bi bilo Logični izraz. 731 00:32:59,410 --> 00:33:01,540 "Manj kot je" Logični izraz. 732 00:33:01,540 --> 00:33:03,280 >> Ta je tudi, "ganljivo miškin kazalec." 733 00:33:03,280 --> 00:33:05,196 Ne vem, zakaj so Poimenovali so ga kazalec miške. 734 00:33:05,196 --> 00:33:08,430 To samo pomeni, je kazalec, je puščica na zaslonu, da se dotaknete mačko, 735 00:33:08,430 --> 00:33:09,022 na primer. 736 00:33:09,022 --> 00:33:10,480 Ali drug vidik zaslona. 737 00:33:10,480 --> 00:33:13,710 In to je vprašanje, še enkrat, in , ki označuje logični izraz. 738 00:33:13,710 --> 00:33:17,130 Nekaj, kar bi lahko želijo uporabljati v stanju. 739 00:33:17,130 --> 00:33:19,100 Tako bomo prišli do, da je v samo nekaj trenutkov. 740 00:33:19,100 --> 00:33:20,350 Lahko "in" stvari skupaj. 741 00:33:20,350 --> 00:33:23,099 Torej, če želite, da preverite, če je to je primer in da je v primeru, 742 00:33:23,099 --> 00:33:25,580 lahko uporabite "in" blok, kot je ta. 743 00:33:25,580 --> 00:33:26,850 In tukaj je ta pogoj. 744 00:33:26,850 --> 00:33:31,290 Opazili obliko malo odprtino na vrhu te rumene koščka sestavljanke, 745 00:33:31,290 --> 00:33:34,480 to spominja na obliko da smo pravkar videli pred nekaj trenutki. 746 00:33:34,480 --> 00:33:37,920 Vsaka od teh logičnih izrazov imajo te zašiljene robove 747 00:33:37,920 --> 00:33:39,030 na levo in desno. 748 00:33:39,030 --> 00:33:43,140 In to zato, ker MIT ljudje odločili, da jih vizualno transportnih oblik, 749 00:33:43,140 --> 00:33:45,780 lahko nekako pomagali ljudem, študenti kot otroci, 750 00:33:45,780 --> 00:33:47,650 da nekako zapolniti prazne dobesedno. 751 00:33:47,650 --> 00:33:49,780 >> Zdaj, puzzle-- da Odpiranje je malo majhen, 752 00:33:49,780 --> 00:33:52,750 in, kot bomo videli v programu, V Scratch, bo rasla, da se prilega. 753 00:33:52,750 --> 00:33:54,830 Da bo ohranila svojo obliko, v končni fazi. 754 00:33:54,830 --> 00:33:58,350 Torej, stanje pa se odločite "Moram nekaj narediti ali ne?" 755 00:33:58,350 --> 00:34:00,470 Logični izraz je dejansko vprašanje 756 00:34:00,470 --> 00:34:04,100 ki ga uporabljate za odločitev ne grem levo ali naj grem na desno 757 00:34:04,100 --> 00:34:06,710 ko naletijo na to tako imenovani vilice na cesti? 758 00:34:06,710 --> 00:34:07,980 Lahko imaš dve veji. 759 00:34:07,980 --> 00:34:10,909 Če je nekaj res, naredite Ta, sicer gredo v to smer, 760 00:34:10,909 --> 00:34:14,590 ali pa preprosto sploh nič Vse, kar je pomenilo to block. 761 00:34:14,590 --> 00:34:16,360 Podobno smo lahko gnezdo te stvari. 762 00:34:16,360 --> 00:34:20,204 Torej, če želite, da trojne vilice road, to ali to ali ono storiti, 763 00:34:20,204 --> 00:34:21,870 si lahko samo gnezdo te stvari skupaj. 764 00:34:21,870 --> 00:34:24,520 In se začne, da bi dobili malo grd, sčasoma zagotovo, 765 00:34:24,520 --> 00:34:26,120 vendar logika je vedno enaka. 766 00:34:26,120 --> 00:34:28,000 Lahko dobesedno prebral To zgoraj navzdol 767 00:34:28,000 --> 00:34:33,290 in pravi, kaj je pomeni--, če je to je res to, if drugje. 768 00:34:33,290 --> 00:34:36,179 >> Zanka ne pride enostavnejša v nič. 769 00:34:36,179 --> 00:34:37,422 Forever storite naslednje. 770 00:34:37,422 --> 00:34:39,880 Zdaj pa ti morda ne zdi more veliko storiti, ker tam ni 771 00:34:39,880 --> 00:34:42,839 veliko prostora med top in Dno odpiranja puzzle kos. 772 00:34:42,839 --> 00:34:45,671 Vendar boste videli Scratch bo raste, da se prilega toliko kosov sestavljanke 773 00:34:45,671 --> 00:34:47,060 kot želite, da strpati tja. 774 00:34:47,060 --> 00:34:48,960 Druga zanka lahko izražena s ponovitvami. 775 00:34:48,960 --> 00:34:51,590 Če veste, vnaprej, «sem želijo narediti nekaj 10-krat, " 776 00:34:51,590 --> 00:34:54,010 lahko samo povem, praske da narediš nekaj 10-krat. 777 00:34:54,010 --> 00:34:57,260 In medtem, lahko imamo spremenljivke. 778 00:34:57,260 --> 00:34:59,572 Torej, tukaj je ena arbitrarna, je oranžna v tem primeru, 779 00:34:59,572 --> 00:35:00,780 in to je tornado turnejo. 780 00:35:00,780 --> 00:35:04,540 Again, boste našli to zelo dostopna Ko začnete z opozarjanjem in kliknete. 781 00:35:04,540 --> 00:35:07,930 Sem poimenovala moj spremenljivo n, ampak jaz Lahko bi ga poimenovali kar hočem, 782 00:35:07,930 --> 00:35:11,280 in sem ga na tem mestu, v ta samovoljna primer, nič. 783 00:35:11,280 --> 00:35:14,250 >> Zdaj vidim program, kot je zdravo svet ni vse, kar prepričljiv, 784 00:35:14,250 --> 00:35:17,900 tako da je dejansko odprla nekaj da nekdanji študent je. 785 00:35:17,900 --> 00:35:23,100 Dovolite mi, da gredo naprej in odprla, na primer, tale tukaj, 786 00:35:23,100 --> 00:35:26,780 za katere bi radi imeti prostovoljca. 787 00:35:26,780 --> 00:35:28,450 V redu, kako na-- pojdimo dalje. 788 00:35:28,450 --> 00:35:29,240 Ja, pridi gor. 789 00:35:29,240 --> 00:35:30,056 Kako ti je ime? 790 00:35:30,056 --> 00:35:30,635 >> Abby: Abby. 791 00:35:30,635 --> 00:35:32,010 DAVID J. Malan: Abby, pridi gor. 792 00:35:32,010 --> 00:35:35,930 Torej, ste kdaj igrali ta igra prej? 793 00:35:35,930 --> 00:35:36,430 Abby: Ne 794 00:35:36,430 --> 00:35:37,370 DAVID J. Malan: Dobro. 795 00:35:37,370 --> 00:35:38,380 David, lepo, da sva se spoznala. 796 00:35:38,380 --> 00:35:39,620 Pridi. 797 00:35:39,620 --> 00:35:42,300 In kaj je tvoj programiranje v ozadju, če sploh. 798 00:35:42,300 --> 00:35:43,914 >> Abby: Sem se naučil nekaj C ++. 799 00:35:43,914 --> 00:35:45,580 DAVID J. Malan: ste se naučili nekaj C ++. 800 00:35:45,580 --> 00:35:48,382 In kaj je tvoja igra igranjem ozadje? 801 00:35:48,382 --> 00:35:49,505 >> Abby: Ni veliko. 802 00:35:49,505 --> 00:35:51,130 DAVID J. Malan: OK, tako da bom vzel. 803 00:35:51,130 --> 00:35:52,700 Torej, tukaj je, kako igra, se bo delo. 804 00:35:52,700 --> 00:35:54,510 Jaz grem naprej in kliknite na zeleno zastavo, ki 805 00:35:54,510 --> 00:35:55,830 je tu v zgornjem desnem kotu. 806 00:35:55,830 --> 00:35:59,710 Zdaj je vaš predhodnik v razredu je dal nekaj napotkov tukaj. 807 00:35:59,710 --> 00:36:02,306 In vsak trenutek, ga pravi "prostor za začetek." 808 00:36:02,306 --> 00:36:03,680 Tako da gredo naprej in zadeti preslednico. 809 00:36:03,680 --> 00:36:05,507 >> RAČUNALNIŠKA IGRA: Pikachu. 810 00:36:05,507 --> 00:36:08,340 DAVID J. Malan: In cilj je, da ujeti hrano, kot je narisano tam 811 00:36:08,340 --> 00:36:09,320 na levi strani. 812 00:36:09,320 --> 00:36:11,388 In [neslišno] 813 00:36:11,388 --> 00:36:15,356 >> [GAME predvajanja glasbe] 814 00:36:15,356 --> 00:36:27,280 815 00:36:27,280 --> 00:36:29,610 >> DAVID J. Malan: Aww, dobro, hvala za igranje. 816 00:36:29,610 --> 00:36:32,800 Imamo tu malo slovesu darilo za vas. 817 00:36:32,800 --> 00:36:35,574 Imamo CS50 stres žogo, Če želite izbrati. 818 00:36:35,574 --> 00:36:36,820 Dobro, dobro, da sva se spoznala. 819 00:36:36,820 --> 00:36:39,680 Hvala za obisk in izziv. 820 00:36:39,680 --> 00:36:42,410 821 00:36:42,410 --> 00:36:46,910 Torej imamo več stresa kroglice, tako da Naredimo še en primer za motivacijo. 822 00:36:46,910 --> 00:36:48,150 Prostovoljec? 823 00:36:48,150 --> 00:36:50,510 V redu, kaj pa Prav pred. 824 00:36:50,510 --> 00:36:51,250 Kako ti je ime? 825 00:36:51,250 --> 00:36:51,660 >> PHILLIP: Phillip. 826 00:36:51,660 --> 00:36:52,660 >> DAVID J. Malan: Phillip. 827 00:36:52,660 --> 00:36:54,530 Pridi gor, Phillipa. 828 00:36:54,530 --> 00:36:57,340 Torej, Phillip se bo izpodbijati z drugo igro 829 00:36:57,340 --> 00:37:00,840 da je eden od vaših predhodnikov zapisal kot del problema nastaviti ničlo, 830 00:37:00,840 --> 00:37:03,510 imenovano Ivy Hardest Game. 831 00:37:03,510 --> 00:37:05,980 In bomo videli, v samo Trenutek, kaj je mišljeno s tem. 832 00:37:05,980 --> 00:37:07,400 Phillip, lepo, da sva se spoznala. 833 00:37:07,400 --> 00:37:09,060 Kakšno je vaše ozadje? 834 00:37:09,060 --> 00:37:10,310 PHILLIP: V veliko kodiranja. 835 00:37:10,310 --> 00:37:11,110 Opravljeno malo igranja, preveč. 836 00:37:11,110 --> 00:37:11,570 >> DAVID J. Malan: OK. 837 00:37:11,570 --> 00:37:12,620 Dobil veliko iger na srečo, preveč. 838 00:37:12,620 --> 00:37:14,230 In ste igrali to igro, preden? 839 00:37:14,230 --> 00:37:14,730 >> PHILLIP: Ne 840 00:37:14,730 --> 00:37:16,438 DAVID J. Malan: All Dobro, torej gremo. 841 00:37:16,438 --> 00:37:18,434 Jaz grem naprej in kliknite na zeleno zastavo. 842 00:37:18,434 --> 00:37:24,160 >> [GAME MUSIC] 843 00:37:24,160 --> 00:37:27,770 >> [MUSIC MC Hammer, "U NE MOREJO tega dotaknila"] 844 00:37:27,770 --> 00:38:39,790 845 00:38:39,790 --> 00:38:41,635 >> PHILLIP: [neslišno] 846 00:38:41,635 --> 00:38:42,760 DAVID J. Malan: [neslišno] 847 00:38:42,760 --> 00:38:44,740 PHILLIP: [neslišno] 848 00:38:44,740 --> 00:38:49,056 [Laughing] 849 00:38:49,056 --> 00:38:50,680 [MUSIC MC Hammer, "U NE MOREJO tega dotaknila"] 850 00:38:50,680 --> 00:38:52,660 DAVID J. Malan: [neslišno] Proorati njo. 851 00:38:52,660 --> 00:38:54,094 PHILLIP: [neslišno] 852 00:38:54,094 --> 00:38:55,135 DAVID J. Malan: Pojdi naprej. 853 00:38:55,135 --> 00:39:01,570 [MUSIC MC Hammer, "U NE MOREJO tega dotaknila"] 854 00:39:01,570 --> 00:39:15,832 855 00:39:15,832 --> 00:39:16,915 DAVID J. Malan: Dobro. 856 00:39:16,915 --> 00:39:18,400 Čestitam. 857 00:39:18,400 --> 00:39:25,150 >> [APLAVZ] 858 00:39:25,150 --> 00:39:27,330 >> DAVID J. Malan: Bomo objave na spletu, da kasneje tako 859 00:39:27,330 --> 00:39:29,820 da lahko odlašajo z njo pa tudi. 860 00:39:29,820 --> 00:39:32,550 Princeton je naslednji, po tem. 861 00:39:32,550 --> 00:39:35,470 >> Torej, zdaj pa pravzaprav nadaljuje začeti iz nič, 862 00:39:35,470 --> 00:39:39,310 tako rekoč, in dejansko zgraditi do lahko draži narazen nekatere od teh idej 863 00:39:39,310 --> 00:39:41,970 in se za nekaj, kar sploh bolj zapletena konca. 864 00:39:41,970 --> 00:39:45,240 Jaz grem tja in bom da gredo naprej in ustvarite novo datoteko. 865 00:39:45,240 --> 00:39:47,460 Torej še enkrat, bo problem set sprehod ste skozi nekatere od teh korakov. 866 00:39:47,460 --> 00:39:49,300 Ampak, vse, kar sem storil, je bilo go v meniju Datoteka in I 867 00:39:49,300 --> 00:39:52,760 dejal: "Nova" toliko kot Microsoft Word, ali kateri koli program, kot je ta. 868 00:39:52,760 --> 00:39:56,630 >> In pojdimo naprej sedaj-- in mi izvaja "Hello world" Trenutek nazaj 869 00:39:56,630 --> 00:39:58,410 ampak dajmo narediti nekaj malo lepši. 870 00:39:58,410 --> 00:40:00,150 Jaz grem gor na dogodke. 871 00:40:00,150 --> 00:40:02,350 In bom naredil ", ko zelena zastava kliknili. " 872 00:40:02,350 --> 00:40:05,830 In potem grem za uporabo, rečemo, podružnico. 873 00:40:05,830 --> 00:40:07,610 Torej bom uporabiti "če" stanje. 874 00:40:07,610 --> 00:40:10,940 In opazili, kako čim prej pridem blizu na to, da želi skupaj snap. 875 00:40:10,940 --> 00:40:13,020 Zato sem izpustil in da skoči skupaj. 876 00:40:13,020 --> 00:40:15,150 In zdaj ne morem narediti nekaj zanimivega. 877 00:40:15,150 --> 00:40:19,150 Če sem se pomikate po tu, bom da vidim cel kup blokov. 878 00:40:19,150 --> 00:40:22,620 Če grem na "podatki" - Naj povečavo noter-- obstaja nekaj o spremenljivkah. 879 00:40:22,620 --> 00:40:26,160 Če grem v "gibanju", lahko stvari očitno obrnil. 880 00:40:26,160 --> 00:40:28,760 Če grem na "operaterji" - oh, to je zanimivo, 881 00:40:28,760 --> 00:40:31,000 Lahko izberete naključno število. 882 00:40:31,000 --> 00:40:34,119 Torej, kaj naj naredim s samo nekaj nekateri verjetnost, samo zato, ker. 883 00:40:34,119 --> 00:40:36,160 Jaz grem naprej in povlecite ta kos sestavljanke, 884 00:40:36,160 --> 00:40:37,910 to je, da je manj kot blok, tako da je le 885 00:40:37,910 --> 00:40:39,480 "Je to število manjše od tega enega?" 886 00:40:39,480 --> 00:40:42,438 Ampak jaz nočem trdega šifra število ker to precej nesmiselno. 887 00:40:42,438 --> 00:40:46,270 Torej bom vleči ta kos tu, in opazujte, kako se zaskoči, 888 00:40:46,270 --> 00:40:49,480 in zdaj naj gredo naprej in rekli, "če Številka, ki je izbral naključno 889 00:40:49,480 --> 00:40:51,820 je manj kot šest, naredite naslednje. " 890 00:40:51,820 --> 00:40:52,790 Zdaj, zakaj manj kot šest? 891 00:40:52,790 --> 00:40:56,400 Kakšna je verjetnost, da se to dejansko dogaja, da me, samo intuitivno? 892 00:40:56,400 --> 00:40:57,440 Približno 50%, kajne? 893 00:40:57,440 --> 00:41:01,190 Če je številka, ki je uganiti naključno med 1 in 10 je manj kot šest, 894 00:41:01,190 --> 00:41:03,480 jasno, da je ena, dva, tri, štiri ali pet. 895 00:41:03,480 --> 00:41:06,740 In tako, da se dogaja, da mi 50% verjetnost, kaj se dogaja? 896 00:41:06,740 --> 00:41:09,890 >> No, dajmo narediti nekaj podobnega to, "play zvoka mijav." 897 00:41:09,890 --> 00:41:11,750 In obvestilo, še enkrat, puzzle piece raste 898 00:41:11,750 --> 00:41:13,700 da se prilega, dokler oblike ujemajo. 899 00:41:13,700 --> 00:41:14,910 To je tisto, kar je pomembno. 900 00:41:14,910 --> 00:41:18,000 Naj grem več na Scratch tu in kliknite "play". 901 00:41:18,000 --> 00:41:19,300 Nič se ne zgodi. 902 00:41:19,300 --> 00:41:21,160 Je to bug? 903 00:41:21,160 --> 00:41:21,999 Ne, ni potrebno. 904 00:41:21,999 --> 00:41:24,040 To lahko samo, da je Večje število je bilo izbrano. 905 00:41:24,040 --> 00:41:25,762 Torej, dajmo še enkrat. 906 00:41:25,762 --> 00:41:27,550 Nič. 907 00:41:27,550 --> 00:41:28,344 >> [Meow] 908 00:41:28,344 --> 00:41:29,510 DAVID J. Malan: Tukaj je. 909 00:41:29,510 --> 00:41:30,280 [Meow] 910 00:41:30,280 --> 00:41:31,690 DAVID J. Malan: Spet. 911 00:41:31,690 --> 00:41:32,300 Število 912 00:41:32,300 --> 00:41:32,922 >> [MEOWING] 913 00:41:32,922 --> 00:41:35,380 DAVID J. Malan: Torej, če ste jih kdaj igral igro, seveda, 914 00:41:35,380 --> 00:41:38,500 kjer stvari se dogaja naključno, kot slabi prihajajo ali ne 915 00:41:38,500 --> 00:41:41,350 prihaja na zaslonu, ali stvari, ki spadajo ali ne spadajo, 916 00:41:41,350 --> 00:41:43,610 to je samo zato, ker nekaj super preprosta, kot se to dogaja. 917 00:41:43,610 --> 00:41:46,010 Pick naključno število, in če to je manj kot neko vrednost, 918 00:41:46,010 --> 00:41:49,100 Mogoče to narediti ali pa to. 919 00:41:49,100 --> 00:41:51,340 Mi lahko vključi da je v stanju. 920 00:41:51,340 --> 00:41:52,600 Naredimo nekaj drugačnega. 921 00:41:52,600 --> 00:41:53,559 >> Naj me vrgli proč. 922 00:41:53,559 --> 00:41:56,058 Lahko se znebite stvari, ki jih Pravkar jo zvlekel v levo 923 00:41:56,058 --> 00:41:56,810 in opuščanja. 924 00:41:56,810 --> 00:42:00,310 Dovolite mi, da gredo naprej in narediti večno blok in zelo hitro narediti nekaj siten. 925 00:42:00,310 --> 00:42:03,010 Dovolite mi, da gredo naprej in pravijo "play zvoka mijav." 926 00:42:03,010 --> 00:42:06,620 Vendar ne želim, da je to preveč moteč, zato naj me zgrabi ta blok, 927 00:42:06,620 --> 00:42:09,090 "Počakajte trenutek" in obvestilo ni več prostora za to. 928 00:42:09,090 --> 00:42:11,310 Ampak, če greš dovolj blizu, želi, da bi šel tja. 929 00:42:11,310 --> 00:42:14,100 Zato sem izpustil in bo raste za zapolnitev blok. 930 00:42:14,100 --> 00:42:15,932 Zdaj, to je zanka. 931 00:42:15,932 --> 00:42:16,432 [MEOWING] 932 00:42:16,432 --> 00:42:18,473 DAVID J. Malan: Sem dobesedno delaš to za vedno. 933 00:42:18,473 --> 00:42:19,360 Znova in znova. 934 00:42:19,360 --> 00:42:21,510 To preprosto ni naravno zveneče. 935 00:42:21,510 --> 00:42:24,800 Dovolite mi, da gredo naprej in to spremenili da ne eno sekundo, za dve sekundi 936 00:42:24,800 --> 00:42:25,854 in pritisnite tipko Enter. 937 00:42:25,854 --> 00:42:28,770 In kaj je lepo o Scratch je da bi lahko programirate interaktivno. 938 00:42:28,770 --> 00:42:32,450 Naredili spremembo, morda pritisnite tipko Enter ali Predvajaj še enkrat, in to bo samo naprej. 939 00:42:32,450 --> 00:42:34,962 No, zakaj ne delamo nekaj malo lepši? 940 00:42:34,962 --> 00:42:39,680 Namesto, da stori vse, kar iz nič, Naj gredo naprej in odprla predujem 941 00:42:39,680 --> 00:42:43,180 je eno, da sem pre-pečen, imenuje "Pet Cat." 942 00:42:43,180 --> 00:42:44,920 In bomo objavili vse Te datoteke na spletu, 943 00:42:44,920 --> 00:42:48,464 in problem nastaviti nič vam bo povedal, kako priti do njih in odprite jih. 944 00:42:48,464 --> 00:42:49,880 In obvestilo, to je zelo preprosta. 945 00:42:49,880 --> 00:42:53,860 Vendar vnaprej, sem se zdi, da je zgrabil "za vedno" blok, tako da imam zanko. 946 00:42:53,860 --> 00:42:55,500 In potem sem dobil "če" stanje. 947 00:42:55,500 --> 00:42:57,410 Imam logični izraz. 948 00:42:57,410 --> 00:43:00,100 >> Torej, v angleščini, samo pogledal na to, še posebej, če ste nikoli 949 00:43:00,100 --> 00:43:04,278 programirano pred, samo intuitivno, kaj bo to naredil, ta program? 950 00:43:04,278 --> 00:43:06,910 >> [PUBLIKA Zmenkar] 951 00:43:06,910 --> 00:43:09,960 >> DAVID J. Malan: Če vaš hišni ljubljenček mačko, mačka se bo Meow, kajne? 952 00:43:09,960 --> 00:43:14,560 Ker je "za vedno počistite" je miškin kazalec dotika mačko. 953 00:43:14,560 --> 00:43:17,630 Torej, da bo jasno, jaz nisem rekel že prej, vse te sestavljanke 954 00:43:17,630 --> 00:43:20,750 kosov in skript, ki smo jih združili v, 955 00:43:20,750 --> 00:43:25,510 tako rekoč, scenarij je sinonim Program, res, spada v to mačko. 956 00:43:25,510 --> 00:43:30,110 In razlog je-- ker obvestilo kako je označena ta ista mačka tukaj, 957 00:43:30,110 --> 00:43:32,710 tukaj si lahko ustvarite Druga mačka ali pes ali res 958 00:43:32,710 --> 00:43:33,970 karkoli hočeš grafično. 959 00:43:33,970 --> 00:43:35,900 Lahko uvozite nekaj iz Photoshopa ali podobno, 960 00:43:35,900 --> 00:43:38,300 in vključiti nekaj, če ste želijo, da bi bilo za projekt. 961 00:43:38,300 --> 00:43:40,174 In kaj boste našli, v končni fazi, je, da vas 962 00:43:40,174 --> 00:43:44,800 lahko dodate skript, dodamo uganke kosov, do posameznih znakov. 963 00:43:44,800 --> 00:43:47,210 Torej, vsi ti pripadajo To zlasti mačka. 964 00:43:47,210 --> 00:43:51,770 Torej, zdaj, če grem naprej in igrati ta program, nič ne dogaja. 965 00:43:51,770 --> 00:43:52,970 Ampak to deluje. 966 00:43:52,970 --> 00:43:56,364 Program je v tem večno zanko, nekako čakajo, kaj se bo zgodilo? 967 00:43:56,364 --> 00:43:57,230 >> [PUBLIKA Zmenkar] 968 00:43:57,230 --> 00:43:58,130 >> DAVID J. Malan: Za hišne mačke. 969 00:43:58,130 --> 00:43:59,800 Torej, če sem premakniti miško proti him-- 970 00:43:59,800 --> 00:44:02,420 >> [MEOWING] 971 00:44:02,420 --> 00:44:04,450 >> DAVID J. Malan: Torej, zdaj Jaz sem ljubkuje mačko. 972 00:44:04,450 --> 00:44:07,330 Medtem, bomo lahko imeli dvojno podružnico. 973 00:44:07,330 --> 00:44:10,370 Dovolite mi, da gredo naprej in odprite up ne poboža mačko. 974 00:44:10,370 --> 00:44:12,160 Bomo objavili v spletu, kot tudi. 975 00:44:12,160 --> 00:44:16,760 To je malo več kompleks, vendar brez rekoč 976 00:44:16,760 --> 00:44:18,780 lahko uganiti morda kaj se bo zgodilo. 977 00:44:18,780 --> 00:44:20,160 >> [MEOWING] 978 00:44:20,160 --> 00:44:23,900 >> DAVID J. Malan: Cat je meowing, grand starega časa. 979 00:44:23,900 --> 00:44:26,690 Vendar je ta program seveda imenovano "Ne Pet Cat," 980 00:44:26,690 --> 00:44:29,350 zato je jasno, želim hišne mačke. 981 00:44:29,350 --> 00:44:30,490 >> [Buči] 982 00:44:30,490 --> 00:44:31,940 >> DAVID J. Malan: Ne hišne mačke. 983 00:44:31,940 --> 00:44:34,230 Zdaj pa si poglejmo na drugi primer tukaj. 984 00:44:34,230 --> 00:44:38,035 Ta se bo imenovala "Hi, Hi, Hi," zaradi 985 00:44:38,035 --> 00:44:40,410 da bo jasno, saj takoj, ko sem teči ta stvar-- 986 00:44:40,410 --> 00:44:41,401 >> [SEAL BARKING] 987 00:44:41,401 --> 00:44:43,942 DAVID J. Malan: Zelo enostavno pisati nadležne programe nič. 988 00:44:43,942 --> 00:44:45,300 [SEAL BARKING] 989 00:44:45,300 --> 00:44:48,540 DAVID J. Malan: Zdaj se ne bom spuščal v veliko podrobnosti z vsemi temi, 990 00:44:48,540 --> 00:44:51,150 ampak obvestilo obstaja Nekaj ​​novosti tukaj. 991 00:44:51,150 --> 00:44:55,540 Tam je spremenljivka, ki se imenuje "utišani" in potem je tukaj še kup pogojev. 992 00:44:55,540 --> 00:44:57,900 In za zdaj, kaj me samo zafrkavali z besedami 993 00:44:57,900 --> 00:45:03,170 da če je ta fant preveč siten, Lahko hit preslednico in se ustavi. 994 00:45:03,170 --> 00:45:05,880 Ker so vlogo igrale ti dve skripte je, kot sledi. 995 00:45:05,880 --> 00:45:08,510 Eden od njih je delal lajanje vsakih nekaj sekund. 996 00:45:08,510 --> 00:45:11,305 Drugi pa je samo čaka za mene udaril preslednico. 997 00:45:11,305 --> 00:45:14,780 In če jaz udaril preslednico, to se bo spremenilo 998 00:45:14,780 --> 00:45:18,096 stanje te spremenljivke, vrednost te spremenljivke, ki je očitno 999 00:45:18,096 --> 00:45:20,470 imenovano "utišan", nisem poklical je nekaj dolgočasno, kot n, 1000 00:45:20,470 --> 00:45:22,370 Poklical sem ga angleške besede "izključen." 1001 00:45:22,370 --> 00:45:24,740 1 do 0 ali 0 do 1. 1002 00:45:24,740 --> 00:45:26,830 Iz true na false ali false na true. 1003 00:45:26,830 --> 00:45:28,930 In tako si lahko dejansko zdaj vidim, da vas 1004 00:45:28,930 --> 00:45:31,720 bi lahko imeli dve skripte, dva programov teče hkrati, 1005 00:45:31,720 --> 00:45:34,360 in oba lahko seje v zanki nekaj dela. 1006 00:45:34,360 --> 00:45:38,067 Čakam na človeško storiti nekaj podobnega hitting preslednico. 1007 00:45:38,067 --> 00:45:38,650 [SEAL BARKING] 1008 00:45:38,650 --> 00:45:40,566 DAVID J. Malan: In zdaj je že na poti spet. 1009 00:45:40,566 --> 00:45:41,640 [SEAL BARKING] 1010 00:45:41,640 --> 00:45:45,220 DAVID J. Malan: Torej, kaj še Morda bomo s temi primeri? 1011 00:45:45,220 --> 00:45:50,920 No, gremo naprej in to primer s štetjem ovac. 1012 00:45:50,920 --> 00:45:59,210 To bomo še naprej po vzoru tukaj o-- Odprimo primer ovce. 1013 00:45:59,210 --> 00:46:02,460 In obvestilo, tako kot prej, je to eno, na srečo, je malo manj nadležno. 1014 00:46:02,460 --> 00:46:06,940 Ko sem udaril igrati tu-- Oh no, to je nadležno. 1015 00:46:06,940 --> 00:46:10,130 On se dogaja, da BAA z neko verjetnostjo. 1016 00:46:10,130 --> 00:46:11,050 Igrajmo se to še enkrat. 1017 00:46:11,050 --> 00:46:15,221 >> [OVCE BLEETING] 1018 00:46:15,221 --> 00:46:18,470 DAVID J. Malan: Razlika je le v smo spremenili kostum, tako rekoč, 1019 00:46:18,470 --> 00:46:21,710 in smo razpolovila in reči kakšna je dejanska številka. 1020 00:46:21,710 --> 00:46:24,680 Pa pojdimo naprej in to en korak naprej. 1021 00:46:24,680 --> 00:46:28,190 In naj vas draži s ena značilnost tukaj. 1022 00:46:28,190 --> 00:46:31,800 Pojdimo naprej in odprla program, imenovan Threads. 1023 00:46:31,800 --> 00:46:36,620 Toliko, kot si lahko eno sprite, ki imajo več scenarijev, 1024 00:46:36,620 --> 00:46:41,250 imaš lahko dve sprites, ptic v mačka, ki imajo vsaka svoj scenarij. 1025 00:46:41,250 --> 00:46:43,976 In vsak od njih lahko delujeta istočasno. 1026 00:46:43,976 --> 00:46:45,980 Če ste kdaj slišali Beseda "večnitnostnost" 1027 00:46:45,980 --> 00:46:49,240 Računalnik je "večnitne" pomeni to lahko naredite več stvari naenkrat, 1028 00:46:49,240 --> 00:46:50,880 in seveda, tako da lahko Scratch. 1029 00:46:50,880 --> 00:46:52,690 >> In zdaj opazili ptica je neumen. 1030 00:46:52,690 --> 00:46:55,100 To je samo delaš stvari naključno, odbijajo zaslon. 1031 00:46:55,100 --> 00:46:59,460 Jasno je mačka programirana da nekako še išče zmogljivosti 1032 00:46:59,460 --> 00:47:02,680 doma v na ptice zato, ker on je vedno obrnjena na glavo. 1033 00:47:02,680 --> 00:47:06,176 Dokler končno je ujame dejansko ptico. 1034 00:47:06,176 --> 00:47:08,550 Tako da ne bom spuščala v podrobnosti tukaj, lahko pa nekako 1035 00:47:08,550 --> 00:47:12,160 pogled enake oblike, nekateri "Če" pogoji, nekatere spremenljivke, 1036 00:47:12,160 --> 00:47:15,740 morda nekaj zank, so navsezadnje počne isto stvar. 1037 00:47:15,740 --> 00:47:18,400 >> Zdaj pa grem naprej in odprite up nekaj povsem drugega, 1038 00:47:18,400 --> 00:47:20,920 draži nekateri od vas, še posebej tiste bolj udobno, 1039 00:47:20,920 --> 00:47:22,760 kaj lahko dejansko naredim s tem. 1040 00:47:22,760 --> 00:47:26,080 Jaz grem naprej in odpirajo Button tukaj. 1041 00:47:26,080 --> 00:47:28,740 In to je super Program preprost navidezna, 1042 00:47:28,740 --> 00:47:34,190 vendar pazite, kaj se zgodi ko I-- Oglejte si, kaj 1043 00:47:34,190 --> 00:47:39,860 se zgodi, ko odprem to različico nje, tukaj v brskalniku, scratch.mit.edu. 1044 00:47:39,860 --> 00:47:43,460 In ko kliknem ta velik rdeče gumb, opazili, kaj se zgodi. 1045 00:47:43,460 --> 00:47:46,110 1046 00:47:46,110 --> 00:47:47,647 Torej, kaj se tukaj dogaja? 1047 00:47:47,647 --> 00:47:50,480 Tam je pravzaprav veliko bolj zahtevnost dogaja pod pokrovom, 1048 00:47:50,480 --> 00:47:52,896 čeprav sem izvajala to, ali odkrito, Dan Bradley 1049 00:47:52,896 --> 00:47:54,660 je ta izveden tako preprosto. 1050 00:47:54,660 --> 00:47:59,540 Je bil zasnovan po meri Scratch sestavljanke Kos, ki je znana kot razširitev Scratch, 1051 00:47:59,540 --> 00:48:01,300 je imenoval ga Toggle. 1052 00:48:01,300 --> 00:48:06,332 >> In kaj Toggle pa je pošlje sporočilo preko interneta. 1053 00:48:06,332 --> 00:48:08,290 In da je sam sporočilo Izgleda malo skrivnosten. 1054 00:48:08,290 --> 00:48:10,248 Ampak tudi to, boste razumeti do konca izraza je. 1055 00:48:10,248 --> 00:48:14,930 Sporočilo, da je v resnici pošilja Izgleda Nekaj ​​takega. 1056 00:48:14,930 --> 00:48:15,921 To je samo besedilo. 1057 00:48:15,921 --> 00:48:16,420 Cryptic. 1058 00:48:16,420 --> 00:48:19,130 Boste razumeli s časom smo dobili problem določiti sedem. 1059 00:48:19,130 --> 00:48:22,180 To je samo pošiljanje tekstovnih sporočil preko interneta na strežnik. 1060 00:48:22,180 --> 00:48:24,330 In da je strežnik, na koncu, govoril te žarnice, ki 1061 00:48:24,330 --> 00:48:27,240 je eden od teh fancy žarnic v njem, da je sama, je govoril 1062 00:48:27,240 --> 00:48:30,760 z Wi-Fi na omrežju tukaj, kjer lokalna naprava navzdol tu-- 1063 00:48:30,760 --> 00:48:34,400 in končno, da je dejansko vklopimo to svetlobo in izklop. 1064 00:48:34,400 --> 00:48:36,240 Vendar pa lahko naredimo več še zanimive stvari. 1065 00:48:36,240 --> 00:48:38,270 Opažati Dan storil tudi za nas. 1066 00:48:38,270 --> 00:48:42,210 Naredil je več sprites, vsaka ki ima scenarij čaka za klik. 1067 00:48:42,210 --> 00:48:44,030 In če sem kliknite red, da gre rdeča. 1068 00:48:44,030 --> 00:48:46,780 Če dobim modra, gre blueish. 1069 00:48:46,780 --> 00:48:49,854 Zelena, rumena, oranžna. 1070 00:48:49,854 --> 00:48:52,520 In vse to se dogaja z bo izhod na internetu, 1071 00:48:52,520 --> 00:48:54,690 nazaj dol, da žarnica, in izklop. 1072 00:48:54,690 --> 00:48:57,981 >> In če lahko tem-- verjamem in to je morda ena od najbolj zapletenih Scratch 1073 00:48:57,981 --> 00:49:00,930 Projekti nekdo implemented-- je to storil, v poštenosti, v enem dnevu. 1074 00:49:00,930 --> 00:49:04,180 In to je bil izziv, vrgel dol Dana, ko smo videli, imajo binarne žarnice, 1075 00:49:04,180 --> 00:49:05,810 imamo praske, kako Lahko jih kombinirate? 1076 00:49:05,810 --> 00:49:08,410 In res, to je popolnoma kaj kdo v tej sobi 1077 00:49:08,410 --> 00:49:14,250 lahko storite s end-- semester Je reimplemented binarni žarnice, ki uporabljajo 1078 00:49:14,250 --> 00:49:18,310 isti vmesnik, ki je na naši iPad v sredo. 1079 00:49:18,310 --> 00:49:22,000 Tako, da zdaj, če sem dejansko kliknite na plus sem, 1080 00:49:22,000 --> 00:49:25,250 imamo eno, dve, tri. 1081 00:49:25,250 --> 00:49:27,550 Ne morem zadeti 16 in nato, da je eden na. 1082 00:49:27,550 --> 00:49:29,440 128, in tako naprej. 1083 00:49:29,440 --> 00:49:31,250 >> Zdaj, če ima ta sam pihano svoj um, 1084 00:49:31,250 --> 00:49:35,680 lahko narediš stvari veliko bolj dostopne, ki ne vključuje nobene strojne opreme gotovo. 1085 00:49:35,680 --> 00:49:38,320 Samo stvari na zaslonu sama. 1086 00:49:38,320 --> 00:49:41,110 In res, kar večina študentov na koncu delaš neke vrste divjadi, 1087 00:49:41,110 --> 00:49:44,600 nekaj del umetniškega dela, ali nekakšen interaktivni animaciji. 1088 00:49:44,600 --> 00:49:47,352 In bom rekel eden od naših izbira je bila to ena. 1089 00:49:47,352 --> 00:49:49,060 In mislil sem, da če bomo lahko zatemnite, 1090 00:49:49,060 --> 00:49:52,960 bova vzela pogled na finale Projekt praske na koncu. 1091 00:49:52,960 --> 00:49:57,460 Ampak kaj boš moral imeti v mislih, kot Lahko draži z eno zadnje podrobnosti 1092 00:49:57,460 --> 00:49:59,140 odseke se bo začel naslednji teden. 1093 00:49:59,140 --> 00:50:00,830 Uradne ure se bo začel naslednji teden. 1094 00:50:00,830 --> 00:50:04,410 Problem nastavite zero bodo objavljene CS50.harvard.edu kasneje danes. 1095 00:50:04,410 --> 00:50:06,430 In vas bo pozdravil problematično nastaviti ničlo 1096 00:50:06,430 --> 00:50:10,070 da CS50 lastno Zamyla Chan, ki je večina naših walkthroughs vodi. 1097 00:50:10,070 --> 00:50:11,952 To so vgrajeni videos v problemskih sklopov 1098 00:50:11,952 --> 00:50:15,160 da bo imel roko skozi veliko začetnega vzpostavi in ​​skozi mnoge 1099 00:50:15,160 --> 00:50:16,570 možnih odločitev glede projektiranja. 1100 00:50:16,570 --> 00:50:19,570 Torej, če ste kdaj imeli, da čustva pri dviganju domačo nalogo 1101 00:50:19,570 --> 00:50:21,030 in se sprašujete, kje naj začnem? 1102 00:50:21,030 --> 00:50:23,510 Ona bo imela ta odgovor za vas. 1103 00:50:23,510 --> 00:50:27,720 In zdaj, zadnji program iz ene od vaših predhodnikov 1104 00:50:27,720 --> 00:50:30,659 v odgovor na vprašanje, "Kaj je lisica rekla?" 1105 00:50:30,659 --> 00:50:32,242 [MUSIC YLVIS, "KAJ FOX rekel?] 1106 00:50:32,242 --> 00:50:40,178 1107 00:50:40,178 --> 00:50:41,666 >> YLVIS: (PETJE) Dog gre hov. 1108 00:50:41,666 --> 00:50:43,650 Cat gre mijav. 1109 00:50:43,650 --> 00:50:47,520 Bird gre tweet in miško gre Citati. 1110 00:50:47,520 --> 00:50:49,240 Krava gre Moo. 1111 00:50:49,240 --> 00:50:51,690 Žaba gre poginil. 1112 00:50:51,690 --> 00:50:54,630 In slon gre toot. 1113 00:50:54,630 --> 00:50:59,040 Ducks pravijo kvak in ribe šel blub. 1114 00:50:59,040 --> 00:51:07,370 In tesnilo gre ow ow ow, vendar tam je en zvok, da nihče ne ve, 1115 00:51:07,370 --> 00:51:10,330 Kaj je lisica rekla? 1116 00:51:10,330 --> 00:51:11,020 In 1117 00:51:11,020 --> 00:51:12,478 >> DAVID J. Malan: To je za CS50. 1118 00:51:12,478 --> 00:51:15,436 Vas bomo videli na Puzzle dan in v ponedeljek. 1119 00:51:15,436 --> 00:51:16,424 >> [APLAVZ] 1120 00:51:16,424 --> 00:51:19,882 >> [MUSIC YLVIS, "KAJ je lisica rekla?"] 1121 00:51:19,882 --> 00:51:24,840 1122 00:51:24,840 --> 00:51:28,820 >> NARRATOR: In sedaj globoko misli, ki jih Daven Farnham. 1123 00:51:28,820 --> 00:51:31,770 1124 00:51:31,770 --> 00:51:34,570 Danes me je zadela v soočajo z imenika. 1125 00:51:34,570 --> 00:51:38,160 Zmedeno, kot da sem na doma gledal na spletu. 1126 00:51:38,160 --> 00:51:42,528