1 00:00:00,000 --> 00:00:10,980 >> [Speel van musiek] 2 00:00:10,980 --> 00:00:13,260 >> -Alright! 3 00:00:13,260 --> 00:00:16,400 >> Nie, dit is CS50. 4 00:00:16,400 --> 00:00:18,220 >> Nie, dit is CS50. 5 00:00:18,220 --> 00:00:19,324 >> Nie, dit is CS50. 6 00:00:19,324 --> 00:00:20,615 [MUSIEK - IGGY AZALEA, "FANCY"] 7 00:00:20,615 --> 00:00:29,925 8 00:00:29,925 --> 00:00:33,570 >> -My gunsteling herinnering van CS50 was toe ek Day legkaart. 9 00:00:33,570 --> 00:00:35,797 >> -Probably Net die tyd gewerk het op die probleem stelle 10 00:00:35,797 --> 00:00:38,630 saam met my vriende en mense wat weier uiteindelik my blockmates. 11 00:00:38,630 --> 00:00:40,421 >> -My beste herinnering van CS50 is die Hackathon. 12 00:00:40,421 --> 00:00:41,630 -Die 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 -Die Hackathon 17 00:00:43,883 --> 00:00:45,027 -Rob Bowden. 18 00:00:45,027 --> 00:00:46,110 Net alles oor hom. 19 00:00:46,110 --> 00:00:47,401 >> [MUSIEK - IGGY AZALEA, "FANCY"] 20 00:00:47,401 --> 00:00:56,790 21 00:00:56,790 --> 00:01:02,512 >> -My gunsteling herinnering is toe ek op Ek stadium gespeel en die gesogte rol 22 00:01:02,512 --> 00:01:04,220 van 'n knoop [? in die gekoppelde?] [? Lys. ?] 23 00:01:04,220 --> 00:01:08,470 >> -Wanneer Ons almal het gratis Dropbox ruimte en David was soos, kyk onder jou sitplekke. 24 00:01:08,470 --> 00:01:10,520 En dit was soos, ruimte vir almal! 25 00:01:10,520 --> 00:01:11,811 >> [MUSIEK - IGGY AZALEA, "FANCY"] 26 00:01:11,811 --> 00:01:20,940 27 00:01:20,940 --> 00:01:22,830 >> -My raad vir enige inkomende student sou 28 00:01:22,830 --> 00:01:26,170 wees om regtig te werk op P-stelle met vriende. 29 00:01:26,170 --> 00:01:27,960 >> -Office Ure is baie jou vriend. 30 00:01:27,960 --> 00:01:30,870 >> -maak Die meeste van jou ervaring en aan soveel mense as wat jy kan. 31 00:01:30,870 --> 00:01:32,390 >> Nie bang om te vra vir hulp. 32 00:01:32,390 --> 00:01:33,890 -Tuisblad die P-stelle vroeg in die week. 33 00:01:33,890 --> 00:01:36,723 -Ek Dink die grootste ding is om te neem voordeel van al die hulpbronne 34 00:01:36,723 --> 00:01:37,950 dat CS50 het. 35 00:01:37,950 --> 00:01:39,960 >> Rijd te kantoorure vroeg in die week. 36 00:01:39,960 --> 00:01:41,430 >> -Definitely Kyk na die kortbroek. 37 00:01:41,430 --> 00:01:42,989 >> Jump uitstel op jou P-stelle. 38 00:01:42,989 --> 00:01:45,780 -Maak Seker jy vind 'n groot groep mense om te werk aan P-stelle met. 39 00:01:45,780 --> 00:01:48,530 Jy kan 'n baie pret en raak saam te werk gedoen. 40 00:01:48,530 --> 00:01:50,370 >> Nie bang om jouself te stoot nie. 41 00:01:50,370 --> 00:01:52,080 Gaan vir die hacker uitgawe soms. 42 00:01:52,080 --> 00:01:55,410 >> -Write Dinge op papier voordat jy al ooit raak jou rekenaar. 43 00:01:55,410 --> 00:01:58,380 >> -CS50 Is regtig groot op die verskaffing van maniere om hulp te kry. 44 00:01:58,380 --> 00:02:01,134 >> -MY Een stuk van die raad is slaap. 45 00:02:01,134 --> 00:02:02,050 Het iemand gesê dat? 46 00:02:02,050 --> 00:02:04,100 Slaap, vir seker. 47 00:02:04,100 --> 00:02:08,919 Dit is maklik om te doen nie, maar jy het om dit te doen, dink ek. 48 00:02:08,919 --> 00:02:12,982 >> -Ek Sou sê regtig geestelik voorberei word want jy gaan dit om lief te hê. 49 00:02:12,982 --> 00:02:14,273 [MUSIEK - IGGY AZALEA, "FANCY"] 50 00:02:14,273 --> 00:02:17,750 51 00:02:17,750 --> 00:02:18,940 >> Nie, dit is CS50. 52 00:02:18,940 --> 00:02:22,090 53 00:02:22,090 --> 00:02:23,066 >> Nie, dit is CS50. 54 00:02:23,066 --> 00:02:26,400 55 00:02:26,400 --> 00:02:26,989 >> Nie, dit is CS50. 56 00:02:26,989 --> 00:02:28,280 [MUSIEK - IGGY AZALEA, "FANCY"] 57 00:02:28,280 --> 00:02:31,290 58 00:02:31,290 --> 00:02:31,964 >> Nie, dit is CS50. 59 00:02:31,964 --> 00:02:36,020 60 00:02:36,020 --> 00:02:42,270 >> [Applous] 61 00:02:42,270 --> 00:02:46,040 >> David J. Malan So dit is CS50 en dit is die einde van die week 0. 62 00:02:46,040 --> 00:02:48,770 En dit was net 'n paar van CS50 se personeel wat 63 00:02:48,770 --> 00:02:51,100 wag jy nie net in afdelings en kantoorure, maar 64 00:02:51,100 --> 00:02:54,390 ook die komende naweek op CS50 legkaart Day. 65 00:02:54,390 --> 00:02:56,410 Watter, weer, is nie alles oor ontwikkeling. 66 00:02:56,410 --> 00:02:59,710 Inderdaad, is dit verwag dat jy sal nie iets om die program, 67 00:02:59,710 --> 00:03:03,780 maar eerder probleme op te los met behulp van verstand en vriende saam met jou. 68 00:03:03,780 --> 00:03:06,400 >> Ons sal bygestaan ​​word deur 'n paar van ons vriende by Facebook-- 69 00:03:06,400 --> 00:03:08,980 As jy here-- registreer wat vir die afgelope paar jaar, 70 00:03:08,980 --> 00:03:11,450 het eintlik skryf hierdie uitdagings met ons. 71 00:03:11,450 --> 00:03:14,822 En so, sal hulle die kinders uiteindelik loop legkaart Day. 72 00:03:14,822 --> 00:03:17,530 En so, sal jy uitgedaag word met presies die soort van dinge 73 00:03:17,530 --> 00:03:20,520 en probleme wat mense by Facebook wil om te dink oor. 74 00:03:20,520 --> 00:03:21,860 So dit is môre. 75 00:03:21,860 --> 00:03:25,980 Registreer by cs50.harvard.edu/register. 76 00:03:25,980 --> 00:03:28,120 >> Nou is 'n woord op 'n paar van die personeel in die besonder. 77 00:03:28,120 --> 00:03:30,090 Dit is hier is Ansel Duff, wat eintlik een 78 00:03:30,090 --> 00:03:33,860 van die mede-outeurs van hierdie binêre gloeilampe wat ons gesien het op Woensdag, 79 00:03:33,860 --> 00:03:36,710 bykomend tot CS50 se eie Dan Bradley. 80 00:03:36,710 --> 00:03:40,094 Ansel Duff was ook 'n voormalige groentjie advisee van my 3 jaar gelede 81 00:03:40,094 --> 00:03:41,760 en hy eintlik nog gebou hierdie kateder. 82 00:03:41,760 --> 00:03:45,330 Hy is weg op te doen ingenieurswetenskappe en nog baie meer. 83 00:03:45,330 --> 00:03:49,279 Nou, sy foto hier is eintlik Ansel 3 jaar gelede by die CS50 Hackathon 84 00:03:49,279 --> 00:03:51,820 toe hy geleen een van ons ballonne, steek dit aan sy skootrekenaar, 85 00:03:51,820 --> 00:03:55,240 en vir die volgende 12 paar vreemde uur, gefokus op sy finale projek, 86 00:03:55,240 --> 00:03:59,150 neem breek net oop te maak sakke van snoep aan die Hackathon. 87 00:03:59,150 --> 00:04:02,210 >> Maar hy het meer onlangs spandeer die afgelope somer met ons, 88 00:04:02,210 --> 00:04:05,270 sedert CS50 vir sy personeel en nou studente hierdie semester, 89 00:04:05,270 --> 00:04:06,770 het sy eie 3D drukker. 90 00:04:06,770 --> 00:04:10,180 En in 'n neutedop 'n 3D drukkers is 'n toestel wat lyk baie soos hierdie. 91 00:04:10,180 --> 00:04:15,700 Jy vul dit met 'n plastiek spoel wat gesmelt deur die toestel 92 00:04:15,700 --> 00:04:18,940 en jy dinge te bou letterlik uit niks. 93 00:04:18,940 --> 00:04:22,660 Baie soos 'n inkjet drukker, jy begin spoeg bietjie kolle van plastiek 94 00:04:22,660 --> 00:04:24,990 wat tesame met vorm geheel voorwerpe. 95 00:04:24,990 --> 00:04:28,430 En so Ansel byvoorbeeld vroeër hierdie somer, het 'n iPhone 5 96 00:04:28,430 --> 00:04:30,722 en besluit hy wou regtig om dit te stut op sy lessenaar. 97 00:04:30,722 --> 00:04:32,638 Maar hy wou nie gaan uit en koop iets 98 00:04:32,638 --> 00:04:36,030 van die Apple winkel of die wil, sodat hy gaan sit en begin trek iets. 99 00:04:36,030 --> 00:04:38,280 Hy het 'n paar metings hoe dik 100 00:04:38,280 --> 00:04:41,270 en hoe groot sy iPhone was, hy hierdie beeld het hier, 101 00:04:41,270 --> 00:04:43,870 het hy besluit dat hy wou 'n 75 graad hoek te hê 102 00:04:43,870 --> 00:04:46,150 as dit is staar hom op sy lessenaar daar. 103 00:04:46,150 --> 00:04:50,440 Hy het hom dit, gebruik sagteware, in 'n 3D CAD model 104 00:04:50,440 --> 00:04:52,400 wat lyk 'n bietjie iets soos hierdie. 105 00:04:52,400 --> 00:04:55,940 En het toe voortgegaan hy, uiteindelik, om werklik dit skep. 106 00:04:55,940 --> 00:05:00,250 So in werklikheid, as enige van julle hier, miskien in 'n ry wat ek kan gooi, het 107 00:05:00,250 --> 00:05:06,780 an-- daar het ons mense met 'n iPhone 5, en hier het ons twee meer. 108 00:05:06,780 --> 00:05:10,650 109 00:05:10,650 --> 00:05:17,037 >> Nou, om nie te oortref word, CS50 se eie Cheng Gong ook uiteengesit in die somer 110 00:05:17,037 --> 00:05:19,870 nogal 'n paar dinge en te bou, Trouens, vir die redes wat nog 111 00:05:19,870 --> 00:05:23,970 onduidelik, het stadig druk 'n leër van olifante 112 00:05:23,970 --> 00:05:27,250 met die artikulering arms en stamme. 113 00:05:27,250 --> 00:05:32,515 'N Paar wat eintlik hier as iemand sal nou like-- 'n olifant. 114 00:05:32,515 --> 00:05:35,650 115 00:05:35,650 --> 00:05:40,522 Alle reg,. maar wat Cheng het ook vir ons is hy baie vriendelik opstel van 'n kamera 116 00:05:40,522 --> 00:05:42,230 omdat olifante, glo dit of nie, 117 00:05:42,230 --> 00:05:44,690 neem sowat twee en 'n half uur te druk. 118 00:05:44,690 --> 00:05:47,840 Selfs die iPhone staan ​​het 'n uur en 'n half te druk. 119 00:05:47,840 --> 00:05:51,490 En wat Cheng het nog ' is gestig 'n lekker kamera in die voorkant 120 00:05:51,490 --> 00:05:55,580 van hierdie 3D drukker, verfilm vir 'n uur en 'n half as Ansel se ontwerp gedruk. 121 00:05:55,580 --> 00:05:58,090 Ons oorgetrek paar sexy musiek het ten einde 122 00:05:58,090 --> 00:06:00,570 te gee om dit te sien hoe 3D druk werk. 123 00:06:00,570 --> 00:06:02,494 En selfs al is dit is eintlik in plastiek, 124 00:06:02,494 --> 00:06:05,160 besef dat indien dit is 'n gebied van belang vir jou akademies, 125 00:06:05,160 --> 00:06:07,120 daar is mense, onder hulle Jennifer Lewis hier 126 00:06:07,120 --> 00:06:09,036 by die Skool vir Engineering, wat eintlik 127 00:06:09,036 --> 00:06:10,920 werk op 3D druk plastiek voorwerpe. 128 00:06:10,920 --> 00:06:14,150 Maar selfs toenemend biologiese materiaal op te los 129 00:06:14,150 --> 00:06:16,530 fisiologiese probleme vir die mens. 130 00:06:16,530 --> 00:06:19,944 Maar hier is 'n bietjie iets van CS50. 131 00:06:19,944 --> 00:06:31,625 >> [LOUD meganiese geluide] 132 00:06:31,625 --> 00:06:34,250 David J. Malan Dit klink nie iets wat in werklikheid, 133 00:06:34,250 --> 00:06:37,240 maar dit is baie koeler om dit te sien teen daardie spoed, en met daardie klank. 134 00:06:37,240 --> 00:06:40,000 >> Nou, op Woensdag, hoe het ons die eerste keer hier? 135 00:06:40,000 --> 00:06:43,345 Ons het begin praat oor die rekenaar wetenskap en ons gevra wat dit was nie. 136 00:06:43,345 --> 00:06:46,470 En dit gaan oor 'n aantal van die dinge, en daar is so baie verskillende rigtings 137 00:06:46,470 --> 00:06:48,477 waarin jy kan kop na 'n kursus soos CS50. 138 00:06:48,477 --> 00:06:50,810 In werklikheid, as jy opgetel een van die nie-amptelike gids 139 00:06:50,810 --> 00:06:54,080 te CS buite, die boekie wat ons voorsien, of jy 140 00:06:54,080 --> 00:06:57,150 dink van die neem van net CS50, of dalk besig met 'n sekondêre, 141 00:06:57,150 --> 00:06:59,557 of miskien selfs konsentreer in CS, nie flip deur dit. 142 00:06:59,557 --> 00:07:01,390 En jy sal 'n diagram te sien aan die einde wat 143 00:07:01,390 --> 00:07:04,950 sien jy die verskillende rigtings in CS wat jy kan gaan af in. 144 00:07:04,950 --> 00:07:09,030 >> Maar vir vandag, sal ons fokus weer op regtig een van die fundamentele standpunte, 145 00:07:09,030 --> 00:07:11,500 miskien, waar jy insette tot probleme, 146 00:07:11,500 --> 00:07:13,430 jy uitgange van probleme, en jy het 147 00:07:13,430 --> 00:07:17,420 algoritmes waarmee te skep diegene uitgange van dié insette. 148 00:07:17,420 --> 00:07:20,330 En een so 'n voorbeeld, was van Natuurlik, dit telefoon boek hier. 149 00:07:20,330 --> 00:07:24,180 En ons gebruik as 'n voorbeeld om te gaan deur 'n algoritme wat nie korrek was. 150 00:07:24,180 --> 00:07:26,490 En dan die ander een was korrek is, maar 'n bietjie vinniger. 151 00:07:26,490 --> 00:07:29,448 En dan die ander een wat 'n bietjie was meer dramaties, maar fundamenteel 152 00:07:29,448 --> 00:07:30,000 vinniger. 153 00:07:30,000 --> 00:07:32,720 >> Reg, hierdie telefoon boek ons geëis het sowat 1000 bladsye. 154 00:07:32,720 --> 00:07:36,200 En hoeveel keer het ek die telefoon boek in die helfte te skeur 155 00:07:36,200 --> 00:07:39,930 om iemand te vind soos Mike Smith, maksimaal in 1000 bladsy boek? 156 00:07:39,930 --> 00:07:41,040 So, 10 gee of neem. 157 00:07:41,040 --> 00:07:45,050 En so nadat ek hierdie ding skeur in helfte, of net meer volwasse, 158 00:07:45,050 --> 00:07:48,490 verdeel in die helfte, dit is net 10 bladsye uit 1000. 159 00:07:48,490 --> 00:07:51,470 En as jy ekstrapoleer, 'n bietjie onrealisties vir 'n telefoon boek, 160 00:07:51,470 --> 00:07:56,540 maar as dit telefoon boek het 'n paar 4 miljard bladsye in dit, so heeltemal 161 00:07:56,540 --> 00:07:59,680 lomp fisies, hoeveel keer verdeel jy nie 'n 4 miljard 162 00:07:59,680 --> 00:08:01,460 bladsy telefoon boek in die helfte? 163 00:08:01,460 --> 00:08:03,035 So dit is eintlik 32, gee of neem. 164 00:08:03,035 --> 00:08:07,090 En net so 32 keer uit 4 miljard bladsye, kan 165 00:08:07,090 --> 00:08:08,700 jy iemand soos Mike Smith. 166 00:08:08,700 --> 00:08:09,740 En dit is doeltreffendheid. 167 00:08:09,740 --> 00:08:12,130 Dit is 'n goeie algoritme, daresay. 168 00:08:12,130 --> 00:08:14,480 >> Maar dan moet ons beweeg van daardie om te probeer om dit te formaliseer. 169 00:08:14,480 --> 00:08:16,100 En ek het voorgestel hierdie pseudokode kode. 170 00:08:16,100 --> 00:08:17,800 Pseudokode kode is niks formeel. 171 00:08:17,800 --> 00:08:18,880 Dit is nie iets wat jy onthou. 172 00:08:18,880 --> 00:08:21,588 Dis net iets wat jy druk redelik intuïtief gebruik Engels, 173 00:08:21,588 --> 00:08:24,990 of enige taal regtig, wat dra jou idees saaklik. 174 00:08:24,990 --> 00:08:26,990 Maar wat is die sleutel oor pseudokode kode is dat jy 175 00:08:26,990 --> 00:08:30,331 probeer om al die te verwag moontlike gevalle wat kan gebeur. 176 00:08:30,331 --> 00:08:33,080 En inderdaad, in hierdie pseudokode kode, daar was regtig drie gevalle 177 00:08:33,080 --> 00:08:34,700 elke keer as ek die telefoon boek verdeel. 178 00:08:34,700 --> 00:08:36,006 Mike dalk aan die linkerkant. 179 00:08:36,006 --> 00:08:37,130 Mike kan wees aan die regterkant. 180 00:08:37,130 --> 00:08:39,240 Of hy dalk reg op die bladsy Ek is nie. 181 00:08:39,240 --> 00:08:42,110 Of 'n vierde hoek geval, om so te praat. 182 00:08:42,110 --> 00:08:46,470 'N slegte scenario kan 'n mens wees which-- wat gebeur? 183 00:08:46,470 --> 00:08:48,860 Mike is net nie in die telefoon boek nie. 184 00:08:48,860 --> 00:08:52,720 >> En toe programme crash-- wanneer Mac en PC sagteware wat julle hardloop 185 00:08:52,720 --> 00:08:56,400 op jou rekenaars soms hang of onverwags gesluit, 186 00:08:56,400 --> 00:08:59,770 wat oor die algemeen beteken dat sommige programmeerder, sommige mense soos jy gou, 187 00:08:59,770 --> 00:09:01,650 net verfrommeld en het 'n fout. 188 00:09:01,650 --> 00:09:05,207 Miskien nie verwag het dat miskien is daar geen Mike Smith in die telefoon boek. 189 00:09:05,207 --> 00:09:08,040 En as jy nie eintlik skryf kode situasies soos dié te hanteer, 190 00:09:08,040 --> 00:09:09,890 algemeen onvoorspelbaar dinge kan gebeur. 191 00:09:09,890 --> 00:09:10,960 Jou masjien kan vries. 192 00:09:10,960 --> 00:09:11,730 Dit kan herlaai. 193 00:09:11,730 --> 00:09:12,889 Die program kan hou. 194 00:09:12,889 --> 00:09:14,722 En so al hierdie stupidities wat jy kan 195 00:09:14,722 --> 00:09:18,030 het in jou werklike teëgekom lewe net die gebruik van rekenaars, 196 00:09:18,030 --> 00:09:20,710 toenemend net verduidelik weg deur hierdie intuïsie 197 00:09:20,710 --> 00:09:24,920 en hierdie begrip van wat eintlik gaan op onder die kap. 198 00:09:24,920 --> 00:09:27,329 >> Nou laat ons probeer om 'n blik te neem op 'n meer algemene probleem. 199 00:09:27,329 --> 00:09:29,120 Eerder as om bywoning in 'n plek soos 200 00:09:29,120 --> 00:09:32,230 hierdie, wat baie stadig sou wees een, twee, drie, vier te doen. 201 00:09:32,230 --> 00:09:34,070 Of miskien twee, vier, ses, agt. 202 00:09:34,070 --> 00:09:36,080 Kom ons fokus eerder op hoe ons die formalisering 203 00:09:36,080 --> 00:09:39,400 die algoritme van die proses wat ons kan neem bywoning. 204 00:09:39,400 --> 00:09:42,290 En langs die pad, laat ons begin sommige naam om aansoek te doen 205 00:09:42,290 --> 00:09:47,130 dat ons vandag sal gebruik wanneer ons eintlik begin programmering in 'n taal. 206 00:09:47,130 --> 00:09:50,910 So ek gee jou nou, 'n vier minute video dat ons saam met ons vriende 207 00:09:50,910 --> 00:09:52,820 vanaf TED, die organisasie. 208 00:09:52,820 --> 00:09:56,380 Waardeur ons verskaf 'n script en hulle het hul vermaak te dra, 209 00:09:56,380 --> 00:10:00,970 en eintlik het 'n 2D animasie van wat 'n algoritme is. 210 00:10:00,970 --> 00:10:02,776 As ons die ligte kan verdof. 211 00:10:02,776 --> 00:10:06,664 >> [Speel van musiek] 212 00:10:06,664 --> 00:10:17,890 213 00:10:17,890 --> 00:10:19,140 NARRATOR: Wat is 'n algoritme? 214 00:10:19,140 --> 00:10:21,620 In rekenaarwetenskap, 'n Algoritme is 'n stel 215 00:10:21,620 --> 00:10:24,840 instruksies beslegting 'n probleem stap-vir-stap. 216 00:10:24,840 --> 00:10:27,310 Tipies, algoritmes uitgevoer word deur rekenaars, 217 00:10:27,310 --> 00:10:29,365 maar ons mense het algoritmes as well. 218 00:10:29,365 --> 00:10:31,240 Byvoorbeeld, hoe sou jy gaan tel 219 00:10:31,240 --> 00:10:32,990 die aantal mense wat in 'n kamer? 220 00:10:32,990 --> 00:10:36,840 Wel, as jy soos ek, sal jy waarskynlik wys op elke persoon op 'n tyd 221 00:10:36,840 --> 00:10:38,370 en tel van nul. 222 00:10:38,370 --> 00:10:41,200 Een, twee, drie, vier, en so meer. 223 00:10:41,200 --> 00:10:42,410 Wel, dit is 'n algoritme. 224 00:10:42,410 --> 00:10:45,820 In werklikheid, laat ons probeer om dit 'n te druk bietjie meer formeel in pseudokode kode. 225 00:10:45,820 --> 00:10:48,940 Engels-agtige sintaksis wat lyk soos 'n programmeertaal. 226 00:10:48,940 --> 00:10:50,880 >> Laat n gelyke 0. 227 00:10:50,880 --> 00:10:55,210 Vir elke persoon in die kamer, stel n gelyk is aan n plus 1. 228 00:10:55,210 --> 00:10:56,790 Hoe die pseudokode te interpreteer? 229 00:10:56,790 --> 00:10:59,490 Wel lyn een verklaar, so te sê, 'n veranderlike 230 00:10:59,490 --> 00:11:02,880 genoem N en initialiseert sy waarde tot 0 Dit is net 231 00:11:02,880 --> 00:11:05,080 beteken dat die begin van ons algoritme 232 00:11:05,080 --> 00:11:07,910 die ding wat ons is toe het 'n waarde van 0. 233 00:11:07,910 --> 00:11:10,860 Na alles, voordat ons begin tel ons het niks getel nie. 234 00:11:10,860 --> 00:11:13,580 Oproep hierdie veranderlike N is net 'n konvensie. 235 00:11:13,580 --> 00:11:15,130 Ek kon genoem het dit die meeste enigiets. 236 00:11:15,130 --> 00:11:17,460 Nou word twee demarks die begin van 'n lus, 237 00:11:17,460 --> 00:11:20,550 'n reeks stappe wat sal herhaal sommige paar keer. 238 00:11:20,550 --> 00:11:24,130 So in ons voorbeeld, die stap ons neem is toe mense in die kamer. 239 00:11:24,130 --> 00:11:26,260 Onder lyn twee is lyn drie wat beskryf 240 00:11:26,260 --> 00:11:28,400 presies hoe ons gaan oor tel. 241 00:11:28,400 --> 00:11:31,720 Die inkeping impliseer dat dit is lyn drie wat sal herhaal. 242 00:11:31,720 --> 00:11:35,190 So met die pseudokode kode is sê, is dat na die begin by 0 243 00:11:35,190 --> 00:11:38,940 vir elke persoon in die kamer ons sal toeneem n deur 1 244 00:11:38,940 --> 00:11:41,310 Nou is hierdie algoritme korrek? 245 00:11:41,310 --> 00:11:42,820 Wel, laat ons bang op dit 'n bietjie. 246 00:11:42,820 --> 00:11:45,520 >> Werk dit as daar twee mense in die kamer? 247 00:11:45,520 --> 00:11:46,420 Kom ons kyk. 248 00:11:46,420 --> 00:11:48,500 In lyn een inisialiseer ons n 0. 249 00:11:48,500 --> 00:11:51,910 Vir elk van hierdie twee mense, ons dan inkrementeer n deur 1. 250 00:11:51,910 --> 00:11:55,570 So in die eerste reis deur die lus, ons werk n 0-1. 251 00:11:55,570 --> 00:11:59,320 Op die tweede reis deur daardie dieselfde lus, ons werk n 1-2. 252 00:11:59,320 --> 00:12:02,850 En so, deur hierdie algoritme se einde, n 2, wat 253 00:12:02,850 --> 00:12:04,950 inderdaad ooreenstem met die aantal van die mense in die kamer. 254 00:12:04,950 --> 00:12:06,040 So ver, so goed. 255 00:12:06,040 --> 00:12:07,870 >> Hoe om 'n hoek geval al? 256 00:12:07,870 --> 00:12:11,090 Veronderstel dat daar is 0 mense in die room-- behalwe vir my, wie is 257 00:12:11,090 --> 00:12:12,420 doen tel. 258 00:12:12,420 --> 00:12:15,380 In lyn een, het ons weer inisialiseer n 0. 259 00:12:15,380 --> 00:12:17,810 Hierdie keer egter, lyn drie nie uitgevoer te word nie 260 00:12:17,810 --> 00:12:19,610 want daar is nie 'n persoon in die kamer. 261 00:12:19,610 --> 00:12:23,540 En so bly n 0, wat inderdaad ooreenstem met die aantal mense in die kamer. 262 00:12:23,540 --> 00:12:24,670 Eenvoudig, reg? 263 00:12:24,670 --> 00:12:27,880 Maar die mense een tel op 'n tyd is redelik ondoeltreffend, ook nie? 264 00:12:27,880 --> 00:12:29,160 Sekerlik kan ons beter doen. 265 00:12:29,160 --> 00:12:33,440 Hoekom nie twee mense reken op 'n tyd, in plaas van die tel van een, twee, drie, 266 00:12:33,440 --> 00:12:36,470 vier, vyf, ses, sewe, agt, en so meer. 267 00:12:36,470 --> 00:12:39,106 Hoekom nie tel twee, vier, ses, agt, en so aan? 268 00:12:39,106 --> 00:12:40,670 Dit klink selfs vinniger. 269 00:12:40,670 --> 00:12:41,940 En dit is seker. 270 00:12:41,940 --> 00:12:44,490 >> Kom ons druk hierdie optimalisering in pseudokode kode. 271 00:12:44,490 --> 00:12:46,040 Laat n gelyke 0. 272 00:12:46,040 --> 00:12:50,760 Vir elke paar van die mense in kamer, stel n gelyk is aan n plus 2. 273 00:12:50,760 --> 00:12:52,360 Pretty eenvoudige verandering, reg? 274 00:12:52,360 --> 00:12:56,560 Eerder as een tel mense op 'n tyd, ons plaas hulle tel twee op 'n tyd. 275 00:12:56,560 --> 00:12:59,240 Hierdie algoritme se dus twee keer so vinnig as die vorige een. 276 00:12:59,240 --> 00:13:00,530 Maar is dit korrek? 277 00:13:00,530 --> 00:13:01,160 Kom ons kyk. 278 00:13:01,160 --> 00:13:03,580 Werk dit as daar twee mense in die kamer? 279 00:13:03,580 --> 00:13:05,800 In lyn een, ons inisialiseer n 0. 280 00:13:05,800 --> 00:13:09,160 Vir wat 'n paar van die mense, ons dan inkrementeer n deur 2. 281 00:13:09,160 --> 00:13:11,910 En so deur hierdie algoritme se einde N 2, wat 282 00:13:11,910 --> 00:13:13,910 inderdaad ooreenstem met die aantal van die mense in die kamer. 283 00:13:13,910 --> 00:13:16,610 >> Veronderstel die volgende dat daar zero mense in die kamer. 284 00:13:16,610 --> 00:13:19,080 In lyn een inisialiseer ons n 0. 285 00:13:19,080 --> 00:13:21,260 Soos voorheen, lyn drie beteken dit nie uitvoer nie al 286 00:13:21,260 --> 00:13:25,270 want daar is geen pare mense in die kamer, en so n bly 0. 287 00:13:25,270 --> 00:13:27,840 Wat inderdaad ooreenstem met die aantal mense in die kamer. 288 00:13:27,840 --> 00:13:30,520 Maar wat as daar drie mense in die kamer? 289 00:13:30,520 --> 00:13:32,380 Hoe hierdie algoritme tarief? 290 00:13:32,380 --> 00:13:35,710 Kom ons kyk, in lyn een, ons inisialiseer n 0. 291 00:13:35,710 --> 00:13:39,140 Vir 'n paar van die mense, ons dan inkrementeer n deur 2. 292 00:13:39,140 --> 00:13:40,050 Maar wat dan? 293 00:13:40,050 --> 00:13:42,340 Daar is nie 'n vol paar van die mense in die kamer, 294 00:13:42,340 --> 00:13:44,430 so word twee nie meer van toepassing is. 295 00:13:44,430 --> 00:13:48,790 En so deur hierdie algoritme se einde, N is nog 2 wat nie korrek is nie. 296 00:13:48,790 --> 00:13:52,070 Inderdaad hierdie algoritme se antwoord wees karretjie omdat dit 'n fout. 297 00:13:52,070 --> 00:13:54,070 >> Kom ons regstelling met 'n paar nuwe pseudokode kode. 298 00:13:54,070 --> 00:13:56,110 Laat n gelyke 0. 299 00:13:56,110 --> 00:14:00,790 Vir elke paar van die mense in kamer, stel N gelykstaande aan n plus 2. 300 00:14:00,790 --> 00:14:05,410 As een persoon bly onverbonde, stel N gelykstaande aan n plus 1. 301 00:14:05,410 --> 00:14:09,340 Hierdie spesifieke probleem op te los, het ons bekendgestel in lyn vier 'n toestand, 302 00:14:09,340 --> 00:14:12,120 andersins bekend as 'n tak, wat net voer uit 303 00:14:12,120 --> 00:14:14,890 As daar nou een persoon wat ons kon nie paar met mekaar. 304 00:14:14,890 --> 00:14:17,140 En so nou, of daar is een, of drie, 305 00:14:17,140 --> 00:14:21,550 of enige onewe aantal mense in die kamer, hierdie algoritme sal nou hulle tel. 306 00:14:21,550 --> 00:14:22,810 Kan ons selfs beter? 307 00:14:22,810 --> 00:14:25,890 Wel, kan ons in drieë tel, of viere, of selfs twintigs en tien 308 00:14:25,890 --> 00:14:29,390 Maar as dit nie, gaan dit te kry 'n bietjie moeilik om te wys. 309 00:14:29,390 --> 00:14:32,900 >> Aan die einde van die dag, of uitgevoer word deur rekenaars of die mens, 310 00:14:32,900 --> 00:14:34,870 algoritmes is net 'n stel instruksies 311 00:14:34,870 --> 00:14:36,560 waarmee probleme op te los. 312 00:14:36,560 --> 00:14:38,360 Dit was net drie. 313 00:14:38,360 --> 00:14:41,860 Watter probleem sal jy op te los met 'n algoritme? 314 00:14:41,860 --> 00:14:44,261 >> David J. Malan So doelbewus, 'n baie eenvoudige program, 315 00:14:44,261 --> 00:14:46,260 'n baie eenvoudige algoritme, vir die bereiking van iets 316 00:14:46,260 --> 00:14:48,280 baie eenvoudig, tel die aantal mense in die kamer. 317 00:14:48,280 --> 00:14:50,370 >> Maar laat ons terg uitmekaar sommige van die verteenwoordigende 318 00:14:50,370 --> 00:14:52,870 funksies hier wat eintlik gaan selfs nuttig te wees wanneer 319 00:14:52,870 --> 00:14:54,880 die implementering van die mees kompleks van sagteware. 320 00:14:54,880 --> 00:14:58,060 So byvoorbeeld, in die eerste lyn, ons het wat ons noem die veranderlike, 321 00:14:58,060 --> 00:15:01,040 en wat uit die algebra, is jy algemeen bekend gebruik x en y 322 00:15:01,040 --> 00:15:02,930 en Z soms, en so meer. 323 00:15:02,930 --> 00:15:05,770 Maar in ontwikkeling, veranderlikes nog aan die einde van die dag, 324 00:15:05,770 --> 00:15:06,680 baie soortgelyk aan dié. 325 00:15:06,680 --> 00:15:09,910 Maar dit is dalk makliker om te dink van 'n veranderlike as net 'n houer. 326 00:15:09,910 --> 00:15:13,520 En, in werklikheid, dit is 'n paar aantal stukkies in jou hardeskyf geïmplementeer een of ander manier 327 00:15:13,520 --> 00:15:16,410 of in jou rekenaar se geheue, maar meer oor dit in die toekoms. 328 00:15:16,410 --> 00:15:17,670 Dit is net 'n houer. 329 00:15:17,670 --> 00:15:20,310 En as jy iets sê soos laat n gelyke 0, 330 00:15:20,310 --> 00:15:24,310 Wel, dit is soos om hierdie glas bak hier N, net 'n arbitrêre naam, 331 00:15:24,310 --> 00:15:26,230 en om niks in dit aanvanklik. 332 00:15:26,230 --> 00:15:28,940 So het die waarde van hierdie bakkie is nou nul. 333 00:15:28,940 --> 00:15:31,380 En natuurlik as jy sien in 'n daaropvolgende reël, 334 00:15:31,380 --> 00:15:35,070 om werklik inkrementeer paar lyn van kode, soos in hierdie derde lyn hier, 335 00:15:35,070 --> 00:15:39,857 met 1, dit is soos om te sê wat is die huidige waarde van N, dit is 0, plus 1, 336 00:15:39,857 --> 00:15:41,690 sit iets soos 'n tafeltennis bal in hier. 337 00:15:41,690 --> 00:15:45,140 Nou is die waarde van hierdie veranderlike is eenvoudig 1. 338 00:15:45,140 --> 00:15:50,064 En jy kan baie vinnig ekstrapoleer, maar nou is dit 2, is dit nou 3, en so aan. 339 00:15:50,064 --> 00:15:51,230 So dit is al wat 'n veranderlike is. 340 00:15:51,230 --> 00:15:53,740 Dit is 'n stukkie van die stoor te eintlik slaan sommige data. 341 00:15:53,740 --> 00:15:55,050 Vir nou is dit 'n tafeltennis bal. 342 00:15:55,050 --> 00:15:55,883 Daar is dit 'n nommer. 343 00:15:55,883 --> 00:15:58,910 Maar dit kan wees woorde in 'n woordeboek, soos die speltoetser 344 00:15:58,910 --> 00:16:02,300 Ek verwys na Woensdag vir een van verlede jaar se probleem stelle. 345 00:16:02,300 --> 00:16:05,640 >> Nou nog 'n belangrike idee, wat soortgelyke is redelik intuïtief Ek sou eis, 346 00:16:05,640 --> 00:16:06,690 is dié van 'n lus. 347 00:16:06,690 --> 00:16:08,930 En die lus in die proses almal tel 348 00:16:08,930 --> 00:16:12,540 is, natuurlik, doen dieselfde ding weer en again-- óf een 349 00:16:12,540 --> 00:16:14,140 op 'n tyd of twee op 'n tyd. 350 00:16:14,140 --> 00:16:17,690 En jy kan dit uitspreek in Engels, of pseudokode kode, in 'n aantal van maniere, 351 00:16:17,690 --> 00:16:21,560 maar die gebruik van hierdie voorsetsel "vir" is 'n baie algemene manier om dit te doen. 352 00:16:21,560 --> 00:16:24,460 Vir elke persoon in die kamer, doen dit. 353 00:16:24,460 --> 00:16:25,350 Weer en weer. 354 00:16:25,350 --> 00:16:27,700 En die feit dat dit ingekeep, lyn drie, 355 00:16:27,700 --> 00:16:29,840 beteken net dat dit wat jy veronderstel is om te doen 356 00:16:29,840 --> 00:16:33,490 is die dinge wat ingekeep onder die lyn twee self. 357 00:16:33,490 --> 00:16:35,590 Net 'n menslike konvensie, maar 'n algemene een 358 00:16:35,590 --> 00:16:39,010 soos ons sal sien in die werklike hoër vlak programmeertale. 359 00:16:39,010 --> 00:16:41,870 >> Nou bietjie meer interessant is wanneer jy in 'n hoek geval. 360 00:16:41,870 --> 00:16:43,970 Byvoorbeeld, 'n hoek geval was toe daar 361 00:16:43,970 --> 00:16:48,060 was drie mense, of vyf, of sewe, of enige onewe aantal mense in die kamer, 362 00:16:48,060 --> 00:16:51,630 want om dit te doen deur die twee-twee remme uiteindelik omdat jou gaan 363 00:16:51,630 --> 00:16:54,265 om iemand te mis, óf by die begin of die einde 364 00:16:54,265 --> 00:16:55,390 afhangende van hoe jy dit doen. 365 00:16:55,390 --> 00:16:59,800 En so, nou, ek het hierdie tak, of voorwaarde, as een persoon bly, 366 00:16:59,800 --> 00:17:04,490 dan voort te gaan en te hanteer dat 'n mens eensaam persoon wat nie gekry het nie 367 00:17:04,490 --> 00:17:05,690 saam met iemand anders. 368 00:17:05,690 --> 00:17:09,030 So dit is wat ons sou noem 'n toestand, of 'n tak. 369 00:17:09,030 --> 00:17:11,500 >> Nou pseudokode kode meer in die algemeen kan wees 370 00:17:11,500 --> 00:17:13,730 geskryf enige aantal probleme op te los. 371 00:17:13,730 --> 00:17:16,490 En wat ek gedink ons ​​wil hier doen, is om 'n oomblik 372 00:17:16,490 --> 00:17:20,089 te nooi sal ons sê CS50 se besit Rob Bowden op die verhoog 373 00:17:20,089 --> 00:17:25,040 word verbind deur twee vrywilligers, wat geen idee wat wag het. 374 00:17:25,040 --> 00:17:26,890 'N hand het so gou af as ek sê dat. 375 00:17:26,890 --> 00:17:28,700 Hoe gaan jy op die eindig hier, kom boontoe. 376 00:17:28,700 --> 00:17:33,040 En hoe oor uit verder weg, hoe manier in die rug. 377 00:17:33,040 --> 00:17:35,200 Agter, kom op met jou hande in die lug. 378 00:17:35,200 --> 00:17:36,475 Goed, en wat is jou naam? 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 Goed, nice om jou te ontmoet. 382 00:17:38,613 --> 00:17:41,010 Kom ek stel jou aan Rob Bowden. 383 00:17:41,010 --> 00:17:42,890 Dit is Anita. 384 00:17:42,890 --> 00:17:44,033 En wat is jou naam? 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, kom op en ontmoet Rob Bowden en Anita. 388 00:17:49,790 --> 00:17:51,036 Nice om jou te ontmoet. 389 00:17:51,036 --> 00:17:52,160 KIERSTEN: Nice om jou te ontmoet. 390 00:17:52,160 --> 00:17:53,368 David J. Malan Goed, Rob. 391 00:17:53,368 --> 00:17:54,650 ROB BOWDEN: Nice om jou te ontmoet. 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 En jou 'n paar honderd klasmaats. 395 00:17:58,686 --> 00:18:02,490 So, nou laat my gaan voort en trek tot net 'n eenvoudige program hier 396 00:18:02,490 --> 00:18:05,690 Mac OS wat my sal laat eintlik jota paar notas neer. 397 00:18:05,690 --> 00:18:09,570 En as jy ouens wil om elk 'n posisie by een van die skole daar, 398 00:18:09,570 --> 00:18:16,360 Laat my gaan voort en begin 'n lys van pseudokode kode, as jy wil. 399 00:18:16,360 --> 00:18:19,970 En wat ek hier wil doen, uiteindelik is soort vir jou 400 00:18:19,970 --> 00:18:22,470 sommige instruksies wat ons lede van die gehoor is eintlik 401 00:18:22,470 --> 00:18:23,569 gaan voordra vir ons. 402 00:18:23,569 --> 00:18:25,860 Laat my voor en net gaan verander dit na 'n genommerde lys 403 00:18:25,860 --> 00:18:27,720 aan te pas wat ons doen daar. 404 00:18:27,720 --> 00:18:30,990 En wat gaan ek doen met jou help, is 'n program skryf 405 00:18:30,990 --> 00:18:34,620 in pseudokode, waarmee hierdie ouens gaan 406 00:18:34,620 --> 00:18:38,150 'n grondboontjiebotter te implementeer botter en jellie broodjie. 407 00:18:38,150 --> 00:18:40,880 So is dit dalk propos te iets wys sommige van julle 408 00:18:40,880 --> 00:18:44,560 kan gesien het op die internet vir net 'n kort irriterende oomblik. 409 00:18:44,560 --> 00:18:47,650 >> [MUSIEK BUCKEWHEAT seuns, "grondboontjiebotter  Jellie TYD "] 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 Dit is genoeg van daardie. 413 00:19:10,050 --> 00:19:12,690 So hier intussen, ek het 'n paar Google-bril wat 414 00:19:12,690 --> 00:19:16,500 Ons sit op CS50 se eie Rob Bowden die wêreld te sien deur sy oë. 415 00:19:16,500 --> 00:19:19,140 En ons sal ons bes doen om in 'n post produksie te eintlik weef 416 00:19:19,140 --> 00:19:23,100 die beeldmateriaal van wat Rob is om te sien nou, in hierdie werklike lesing 417 00:19:23,100 --> 00:19:26,420 video met ons twee vrywilligers langs hom. 418 00:19:26,420 --> 00:19:28,480 So wat ek gaan doen is, sal ek die tikster wees. 419 00:19:28,480 --> 00:19:31,849 Ons het die doel hier van eintlik skryf van 'n program 420 00:19:31,849 --> 00:19:34,640 waarmee te maak, uiteindelik, 'n grondboontjiebotter en jellie broodjie, 421 00:19:34,640 --> 00:19:37,680 maar hierdie drie gaan om op te tree asof hulle rekenaars. 422 00:19:37,680 --> 00:19:40,638 En rekenaars, aan die einde van die dag, is eintlik baie dom toestelle. 423 00:19:40,638 --> 00:19:44,432 Hulle is super vinnig, maar hulle kan net doen, letterlik, wat hulle vertel. 424 00:19:44,432 --> 00:19:46,890 Jy kan nie net sê 'n grondboontjiebotter botter en jellie broodjie. 425 00:19:46,890 --> 00:19:48,640 Jy het om hulle te program om dit te doen. 426 00:19:48,640 --> 00:19:51,420 Jy het om hulle te vertel met presisie wat om te doen, 427 00:19:51,420 --> 00:19:54,400 minder dinge gaan verskriklik en, hopelik, aantrekkelijke mis. 428 00:19:54,400 --> 00:19:57,460 >> So met wat gesê het, moet ons een oproep-uit die gehoor 429 00:19:57,460 --> 00:19:59,440 vir wat moet stap een wees, indien die doel hier 430 00:19:59,440 --> 00:20:01,356 is 'n grondboontjiebotter te maak botter en jellie broodjie. 431 00:20:01,356 --> 00:20:01,910 Ja? 432 00:20:01,910 --> 00:20:03,647 >> Publiek: [onhoorbaar] in die sak van die brood. 433 00:20:03,647 --> 00:20:05,230 David J. Malan Maak die sak van die brood. 434 00:20:05,230 --> 00:20:08,360 Dus, as die drie deelnemers sal wil voortgaan om dit te letterlik te doen. 435 00:20:08,360 --> 00:20:12,394 Maak die sak van die brood. 436 00:20:12,394 --> 00:20:15,810 >> [Flink aan die lag] 437 00:20:15,810 --> 00:20:20,717 438 00:20:20,717 --> 00:20:22,300 David J. Malan So laat se werk op daardie. 439 00:20:22,300 --> 00:20:23,180 Alle regte. 440 00:20:23,180 --> 00:20:25,400 So stap twee, how-- Kom ons neem dit verder. 441 00:20:25,400 --> 00:20:26,480 Ja, in die voorkant. 442 00:20:26,480 --> 00:20:27,240 >> Publiek: [onhoorbaar] die brood. 443 00:20:27,240 --> 00:20:27,735 >> David J. Malan Wat is dit? 444 00:20:27,735 --> 00:20:28,836 >> Publiek: die brood Verwyder. 445 00:20:28,836 --> 00:20:30,210 David J. Malan Verwyder die brood. 446 00:20:30,210 --> 00:20:31,190 Net bondige. 447 00:20:31,190 --> 00:20:33,667 Dankie. 448 00:20:33,667 --> 00:20:43,777 >> [Applous] 449 00:20:43,777 --> 00:20:44,860 David J. Malan Dit is dit? 450 00:20:44,860 --> 00:20:48,830 OK, so stap twee gaan te wees om die brood te verwyder. 451 00:20:48,830 --> 00:20:51,790 Goed, iemand wil skryf ons 'n langer sin? 452 00:20:51,790 --> 00:20:52,640 Iemand anders? 453 00:20:52,640 --> 00:20:53,920 'N bietjie meer [onhoorbaar]. 454 00:20:53,920 --> 00:20:54,810 Nee, niks nou. 455 00:20:54,810 --> 00:20:56,094 Ja? 456 00:20:56,094 --> 00:20:58,900 >> Publiek: Plaas twee snye langs mekaar. 457 00:20:58,900 --> 00:21:03,575 >> David J. Malan Plaas twee snye langs mekaar. 458 00:21:03,575 --> 00:21:06,420 >> [Flink aan die lag] 459 00:21:06,420 --> 00:21:09,590 >> David J. Malan Plaas twee snye langs mekaar. 460 00:21:09,590 --> 00:21:11,334 Stap vier. 461 00:21:11,334 --> 00:21:12,816 Ja? 462 00:21:12,816 --> 00:21:14,792 >> Publiek: Neem jou hand en sit dit liggies 463 00:21:14,792 --> 00:21:17,756 op die top van die grondboontjiebotter deksel. 464 00:21:17,756 --> 00:21:19,710 >> [Flink aan die lag] 465 00:21:19,710 --> 00:21:21,710 Publiek: [onhoorbaar] langs die grondboontjiebotter. 466 00:21:21,710 --> 00:21:21,870 David J. Malan Wat? 467 00:21:21,870 --> 00:21:22,520 Sê dit weer. 468 00:21:22,520 --> 00:21:26,308 >> Publiek: Draai die deksel op en sit dit liggies langs die grondboontjiebotter. 469 00:21:26,308 --> 00:21:31,490 >> David J. Malan Sit dit liggies langs die grondboontjiebotter. 470 00:21:31,490 --> 00:21:37,770 471 00:21:37,770 --> 00:21:40,090 OK, vordering. 472 00:21:40,090 --> 00:21:41,080 Stap vyf. 473 00:21:41,080 --> 00:21:42,380 Uitstekend. 474 00:21:42,380 --> 00:21:43,261 Ja? 475 00:21:43,261 --> 00:21:44,163 >> Haal mes. 476 00:21:44,163 --> 00:21:46,380 477 00:21:46,380 --> 00:21:47,630 David J. Malan Pick mes. 478 00:21:47,630 --> 00:21:52,320 479 00:21:52,320 --> 00:21:53,631 OK, stap ses. 480 00:21:53,631 --> 00:21:54,130 Ja? 481 00:21:54,130 --> 00:21:56,237 >> Publiek: Hou mes deur die handvatsel. 482 00:21:56,237 --> 00:21:57,945 David J. MALAN: Hou mes deur die handvatsel. 483 00:21:57,945 --> 00:22:00,710 484 00:22:00,710 --> 00:22:03,230 Hou mes deur die handvatsel. 485 00:22:03,230 --> 00:22:04,880 Stap sewe. 486 00:22:04,880 --> 00:22:05,692 Ja? 487 00:22:05,692 --> 00:22:10,030 >> Publiek: [onhoorbaar] mes in grondboontjiebotter botter en so min uit [onhoorbaar]. 488 00:22:10,030 --> 00:22:13,070 >> David J. Malan Sit mes in-- ek gehoor "het mes in grondboontjiebotter 489 00:22:13,070 --> 00:22:19,500 en neem so min as moontlik uit. " 490 00:22:19,500 --> 00:22:22,480 Terloops, verwyder die papier eerste. 491 00:22:22,480 --> 00:22:29,320 492 00:22:29,320 --> 00:22:31,890 Alle reg, stap nege. 493 00:22:31,890 --> 00:22:34,910 Stap nege. 494 00:22:34,910 --> 00:22:35,624 Stap nege. 495 00:22:35,624 --> 00:22:37,290 Ons het nie eintlik 'n broodjie gemaak nie. 496 00:22:37,290 --> 00:22:37,790 Ja? 497 00:22:37,790 --> 00:22:41,570 Publiek: Gebruik mes in grondboontjiebotter, pas grondboontjiebotter op brood gesê. 498 00:22:41,570 --> 00:22:47,440 >> David J. Malan Gebruik mes in grondboontjiebotter, pas grondboontjiebotter op 499 00:22:47,440 --> 00:22:48,736 gesê brood. 500 00:22:48,736 --> 00:22:56,030 >> [Flink aan die lag] 501 00:22:56,030 --> 00:22:59,480 David J. Malan Alle regte stap 10. 502 00:22:59,480 --> 00:23:01,762 Stap 10. 503 00:23:01,762 --> 00:23:02,750 Ja? 504 00:23:02,750 --> 00:23:05,220 >> Publiek: Smaak grondboontjiebotter botter gehalte te verseker. 505 00:23:05,220 --> 00:23:15,960 >> [Flink aan die lag] 506 00:23:15,960 --> 00:23:16,960 David J. Malan Stap 11. 507 00:23:16,960 --> 00:23:19,500 508 00:23:19,500 --> 00:23:21,340 Stap 11. 509 00:23:21,340 --> 00:23:22,101 Stap 11. 510 00:23:22,101 --> 00:23:22,600 Kom op. 511 00:23:22,600 --> 00:23:23,099 Ja? 512 00:23:23,099 --> 00:23:24,208 Reg daar. 513 00:23:24,208 --> 00:23:25,840 >> Publiek: Versigtig haal gelei. 514 00:23:25,840 --> 00:23:28,220 >> David J. Malan versigtig haal gelei. 515 00:23:28,220 --> 00:23:29,970 OK, en dan die ander kant was tot. 516 00:23:29,970 --> 00:23:32,812 517 00:23:32,812 --> 00:23:33,520 Reg agter jou. 518 00:23:33,520 --> 00:23:35,761 Ja, in blou. 519 00:23:35,761 --> 00:23:40,671 >> GEHOOR: Alle reg, verwyder deksel van [onhoorbaar], ja, 520 00:23:40,671 --> 00:23:42,635 verwyder die deksel van die jellie. 521 00:23:42,635 --> 00:23:43,617 >> [Flink aan die lag] 522 00:23:43,617 --> 00:23:44,742 >> David J. Malan Van gelei. 523 00:23:44,742 --> 00:23:45,581 Ha ha. 524 00:23:45,581 --> 00:23:48,967 >> [Flink aan die lag] 525 00:23:48,967 --> 00:23:49,800 David J. Malan En? 526 00:23:49,800 --> 00:23:52,490 Publiek: En skaars vee enige [onhoorbaar]. 527 00:23:52,490 --> 00:23:59,536 [Flink aan die lag] 528 00:23:59,536 --> 00:24:04,456 Publiek: Natuurlik, voor [onhoorbaar], verwyder die papier uit gelei. 529 00:24:04,456 --> 00:24:06,940 David J. Malan Verwyder papier uit gelei. 530 00:24:06,940 --> 00:24:08,229 Stap 14. 531 00:24:08,229 --> 00:24:09,020 Ons is amper daar. 532 00:24:09,020 --> 00:24:09,857 Ja? 533 00:24:09,857 --> 00:24:12,600 >> GEHOOR: Keer jellie bottel voordat alles val uit. 534 00:24:12,600 --> 00:24:16,515 >> David J. Malan Keer gelei bottel voor jellie val uit. 535 00:24:16,515 --> 00:24:19,070 536 00:24:19,070 --> 00:24:19,890 Stap 15. 537 00:24:19,890 --> 00:24:21,130 >> Publiek: Vervang die cap. 538 00:24:21,130 --> 00:24:22,463 >> David J. Malan vervang die cap. 539 00:24:22,463 --> 00:24:25,880 540 00:24:25,880 --> 00:24:28,190 Stap 16. 541 00:24:28,190 --> 00:24:28,931 Ja? 542 00:24:28,931 --> 00:24:29,806 >> Publiek: [onhoorbaar] 543 00:24:29,806 --> 00:24:34,109 544 00:24:34,109 --> 00:24:35,400 David J. Malan Sê dit weer. 545 00:24:35,400 --> 00:24:38,100 Publiek: Neem pet af van jou jellie. 546 00:24:38,100 --> 00:24:39,650 David J. Malan Off jou jellie. 547 00:24:39,650 --> 00:24:43,720 548 00:24:43,720 --> 00:24:49,510 So really-- Oops. 549 00:24:49,510 --> 00:24:50,420 Kom op. 550 00:24:50,420 --> 00:24:51,740 Plaas die doppie. 551 00:24:51,740 --> 00:24:56,660 Sit cap-- Jy sê verwyder cap van jellie. 552 00:24:56,660 --> 00:24:58,950 Voel asof ons in 'n bietjie van 'n lus. 553 00:24:58,950 --> 00:24:59,640 Stap 17. 554 00:24:59,640 --> 00:25:00,398 Ja? 555 00:25:00,398 --> 00:25:02,639 >> Publiek: [onhoorbaar] 556 00:25:02,639 --> 00:25:03,930 David J. Malan Sê dit weer. 557 00:25:03,930 --> 00:25:05,150 Publiek: [onhoorbaar] 558 00:25:05,150 --> 00:25:07,835 David J. Malan Gaan terug na step-- 559 00:25:07,835 --> 00:25:10,110 Publiek: [onhoorbaar] 560 00:25:10,110 --> 00:25:13,760 David J. Malan Verwyder cap van grondboontjiebotter. 561 00:25:13,760 --> 00:25:14,492 Ja? 562 00:25:14,492 --> 00:25:16,430 >> Publiek: Drop al die jellie op die brood. 563 00:25:16,430 --> 00:25:19,040 >> David J. Malan Drop al die jellie op die brood. 564 00:25:19,040 --> 00:25:25,372 565 00:25:25,372 --> 00:25:26,830 David J. Malan Ons is amper daar. 566 00:25:26,830 --> 00:25:27,800 Stap 19. 567 00:25:27,800 --> 00:25:30,250 >> Publiek: Verwyder oortollige gelei. 568 00:25:30,250 --> 00:25:31,720 >> David J. Malan Haha, gelei. 569 00:25:31,720 --> 00:25:36,615 >> [Applous] 570 00:25:36,615 --> 00:25:39,240 David J. Malan Hoekom we-- nie nog 'n stap om hierdie huis toe te neem. 571 00:25:39,240 --> 00:25:41,720 Nog 'n stap en dan ons sal toebroodjies dien. 572 00:25:41,720 --> 00:25:42,900 Ja? 573 00:25:42,900 --> 00:25:45,570 >> Publiek: [onhoorbaar] 574 00:25:45,570 --> 00:25:50,704 >> David J. Malan Terwyl enige toebroodjie remains-- laat se streepje this-- eet. 575 00:25:50,704 --> 00:25:56,400 >> [PUBLIEKSWERKING Gelag] 576 00:25:56,400 --> 00:26:00,395 >> David J. MALAN: Alle reg, dankie aan ons vrywilligers hier. 577 00:26:00,395 --> 00:26:06,150 >> [Applous} 578 00:26:06,150 --> 00:26:08,940 >> David J. Malan Ons het 'n paar mooi afskeid geskenke vir elkeen van julle. 579 00:26:08,940 --> 00:26:14,350 Jou eie grondboontjiebotter, jellie, en brood aan die huis terug te bring. 580 00:26:14,350 --> 00:26:15,774 Dankie. 581 00:26:15,774 --> 00:26:17,118 >> KIERSTEN: Dankie. 582 00:26:17,118 --> 00:26:18,618 David J. Malan [onhoorbaar] verwelkom. 583 00:26:18,618 --> 00:26:21,849 [Applous] 584 00:26:21,849 --> 00:26:24,390 David J. Malan So, dit is, van Natuurlik, 'n belaglike voorbeeld. 585 00:26:24,390 --> 00:26:24,890 Reg? 586 00:26:24,890 --> 00:26:28,890 Maar dit beteken soort openbaar hoe ons mens net neem duidelikheid as vanselfsprekend aanvaar. 587 00:26:28,890 --> 00:26:30,890 En die feit dat ek het al praat met 'n ander mens, 588 00:26:30,890 --> 00:26:33,300 hy of sy weet presies wat jy bedoel. 589 00:26:33,300 --> 00:26:35,220 >> Rekenaars gaan nie om te weet wat jy bedoel, 590 00:26:35,220 --> 00:26:37,430 selfs wanneer die gebruik, soos ons is oor om te doen vandag, 591 00:26:37,430 --> 00:26:42,300 programmering iets nuuts, 'n drag en drop, legkaart stuk styl taal. 592 00:26:42,300 --> 00:26:44,310 Selfs ontwerp vir jong kinders, jy het 593 00:26:44,310 --> 00:26:48,726 om so duidelik en so letterlike wees met wat jy wil hê om jou program te doen. 594 00:26:48,726 --> 00:26:50,600 Nou uiteindelik, ons is gaan wees programmering 595 00:26:50,600 --> 00:26:53,550 nie in pseudokode kode, Engels soos sintaksis, 596 00:26:53,550 --> 00:26:56,370 maar kode, of meer korrek, bron-kode. 597 00:26:56,370 --> 00:26:59,260 Bron-kode is net die fancy manier vir die beskrywing van kode wat jy eintlik 598 00:26:59,260 --> 00:27:01,730 Skryf met 'n sleutelbord wat nie in Engels per se. 599 00:27:01,730 --> 00:27:06,480 Dit is in C of Java of C ++ of iets soos wat, soos ons sal binnekort te sien. 600 00:27:06,480 --> 00:27:09,510 >> En in die waarheid, net 'n bang min van julle, met die eerste oogopslag, 601 00:27:09,510 --> 00:27:13,769 dit is 'n program wat geskryf is in 'n taal genoem C. Maar aan die VN-bang 'n paar van julle, 602 00:27:13,769 --> 00:27:15,560 sal jy heeltemal verstaan ​​wat aangaan 603 00:27:15,560 --> 00:27:18,980 op kom volgende Maandag toe dit kom by iets soos hierdie. 604 00:27:18,980 --> 00:27:20,510 Om eerlik te wees, dit is 'n ouer taal. 605 00:27:20,510 --> 00:27:22,430 Dit is redelik arcane, maar dit is verteenwoordigend 606 00:27:22,430 --> 00:27:26,120 van 'n baie tale die dae wat het baie van die hakies en krullerige 607 00:27:26,120 --> 00:27:28,630 draadjies en haal punte en kommapunte. 608 00:27:28,630 --> 00:27:30,780 En 'n baie van hierdie sintaktiese dinge wat nie 609 00:27:30,780 --> 00:27:32,450 ten alle intellektueel interessant. 610 00:27:32,450 --> 00:27:35,790 Inteendeel, dit is 'n uiterste afleiding van die baie eenvoudige idees 611 00:27:35,790 --> 00:27:37,370 wat staar ons in die gesig. 612 00:27:37,370 --> 00:27:41,760 Hierdie program, as jy dalk net raai, druk op iemand se rekenaar skerm 613 00:27:41,760 --> 00:27:44,070 die woorde "Hallo komma wêreld." 614 00:27:44,070 --> 00:27:44,860 Dit is dit. 615 00:27:44,860 --> 00:27:46,580 So duidelik, daar is 'n baie van die dinge wat 616 00:27:46,580 --> 00:27:48,970 om in die pad van sommige vanselfsprekendheid daar, 617 00:27:48,970 --> 00:27:52,490 maar dit gaan baie vinnig glip weg en heeltemal intuïtief. 618 00:27:52,490 --> 00:27:55,617 >> Inderdaad, wat ons gaan doen vandag is distilleer hierdie redelik komplekse 619 00:27:55,617 --> 00:27:58,950 soek program, wat weer sal jy kom om vinnig te verstaan ​​nie, maar om iets 620 00:27:58,950 --> 00:27:59,710 baie makliker. 621 00:27:59,710 --> 00:28:01,640 Laat ons net sê wat ons bedoel. 622 00:28:01,640 --> 00:28:05,590 Kom ons teken 'n prentjie van wat ons bedoel, deur middel van hierdie legkaart stukke hier. 623 00:28:05,590 --> 00:28:09,110 >> So dit is 'n ontwikkeling taal bekend as nuuts af. 624 00:28:09,110 --> 00:28:11,080 Dit is ontwikkel deur MIT se Media Lab. 625 00:28:11,080 --> 00:28:14,830 En wat jy sien in die probleem stel nul, wat vrygestel sal word later vanaand, 626 00:28:14,830 --> 00:28:18,980 ons sal jy na hierdie URL hier scratch.mit.edu. 627 00:28:18,980 --> 00:28:20,940 En hulle het 'n web koppelvlak via wat 628 00:28:20,940 --> 00:28:22,540 jy sal jou eerste program skryf. 629 00:28:22,540 --> 00:28:25,330 Of dié van julle met vooraf ervaring, jou tweede programme, 630 00:28:25,330 --> 00:28:28,090 maar in 'n omgewing wat waarskynlik 'n bietjie vreemd, en dat 631 00:28:28,090 --> 00:28:32,930 sal jy druk om iets te skep die gebruik van hierdie baie visuele omgewing. 632 00:28:32,930 --> 00:28:35,940 >> Nou, wat ek gaan om hier te doen is oop aan die program self. 633 00:28:35,940 --> 00:28:41,911 Dit bestaan ​​nie net as 'n webblaaier, maar ook as 'n aflaaibare program 634 00:28:41,911 --> 00:28:44,660 sodat jy kan eintlik gebruik dit As jy nie toegang tot die internet. 635 00:28:44,660 --> 00:28:46,743 En ek gaan om dit te doen hier, in Sanders, net 636 00:28:46,743 --> 00:28:49,580 in die geval van die Wi-Fi nie saam super goed. 637 00:28:49,580 --> 00:28:52,640 En wat ek gaan doen, is punt uit 'n paar kenmerke van hierdie program. 638 00:28:52,640 --> 00:28:55,720 So, duidelik te wees, ek het net dubbel kliek op die ikoon op my lessenaar, 639 00:28:55,720 --> 00:28:59,830 of anders gestel weg te scratch.mit.edu, en dit is opgetrek in hierdie venster. 640 00:28:59,830 --> 00:29:01,650 Dit is 'n ontwikkeling omgewing. 641 00:29:01,650 --> 00:29:04,110 Dit is 'n stuk sagteware wat sommige van ons vriende by MIT 642 00:29:04,110 --> 00:29:08,850 geskryf wat laat ons en jy skryf programme in 'n taal, die sogenaamde nuuts af. 643 00:29:08,850 --> 00:29:12,010 >> Nou gebeur dit 'n te wees kat wat is ook genoem Scratch 644 00:29:12,010 --> 00:29:13,890 en dit is sy wêreld waarin hy leef. 645 00:29:13,890 --> 00:29:17,175 Dit is die stadium, so te sê, het reghoek op die boonste linkerhoek. 646 00:29:17,175 --> 00:29:18,800 En hy het nie om te lyk soos 'n kat. 647 00:29:18,800 --> 00:29:20,591 Jy kan maak hom lyk soos enigiets en jy 648 00:29:20,591 --> 00:29:23,700 kan baie sulke sprites, of karakters, in 'n program. 649 00:29:23,700 --> 00:29:27,450 Intussen, hier op die ver reg, is 'n groot skoon lei. 650 00:29:27,450 --> 00:29:30,260 En dit is waar, in 'n oomblik, Ons gaan om te begin programmering 651 00:29:30,260 --> 00:29:32,750 deur te sleep Hierdie grafiese legkaart 652 00:29:32,750 --> 00:29:35,300 stukke wat reg is hier in die middel. 653 00:29:35,300 --> 00:29:38,140 En daar is manier om meer van hulle as ons sal spandeer tyd hier in die klas 654 00:29:38,140 --> 00:29:40,080 want jy sal vind dat hulle is almal redelik intuïtief. 655 00:29:40,080 --> 00:29:41,788 Weereens, is dit ontwerp vir kinders, maar ons 656 00:29:41,788 --> 00:29:45,759 gebruik dit uitmekaar te terg sommige van dié fundamentele idees van veranderlikes, loops, 657 00:29:45,759 --> 00:29:48,050 voorwaardes, en gou, dinge soos funksies en gebeure 658 00:29:48,050 --> 00:29:51,810 en drade en ander fancy dinge wat ons sal kry om voor lank om werklik te skep 659 00:29:51,810 --> 00:29:53,840 iets van nuuts af. 660 00:29:53,840 --> 00:29:54,810 Woordspeling bedoel. 661 00:29:54,810 --> 00:29:58,740 >> Nou, wat ek gaan om hier te doen, is om Klik op nie beweging nie, maar beheer. 662 00:29:58,740 --> 00:30:01,400 En dit is net 'n kategorisering van here-- 663 00:30:01,400 --> 00:30:03,150 en ek sien 'n ander kleur stel van blokke. 664 00:30:03,150 --> 00:30:05,030 Maar let op 'n paar bekende woorde. 665 00:30:05,030 --> 00:30:07,830 "As" en "anders as" en "herhaal." 666 00:30:07,830 --> 00:30:10,440 En jy kan seker raai dit is wat herinner aan die tak, 667 00:30:10,440 --> 00:30:12,870 of die voorwaardes wat ons gesien het, en selfs die herhaling konstruk. 668 00:30:12,870 --> 00:30:14,760 So ons het 'n soortgelyke blokke hier. 669 00:30:14,760 --> 00:30:16,720 Maar die mees interessante een is hierdie een hier. 670 00:30:16,720 --> 00:30:20,690 Wanneer dit groen vlag word gebruik, hierdie, vir diegene met vorige programing 671 00:30:20,690 --> 00:30:23,110 ervaring, is gelykstaande 'n hoof funksie. 672 00:30:23,110 --> 00:30:25,300 Maar vir diegene wat nie vertroud, dit is die legkaart stuk 673 00:30:25,300 --> 00:30:27,320 wat sal begin skop ons hele program. 674 00:30:27,320 --> 00:30:31,350 Dit beteken letterlik wanneer ek gaan in hierdie program, en op 'n groen flag-- 675 00:30:31,350 --> 00:30:35,560 wat jy kan sien hier in die boonste linker hoek van die UI, 676 00:30:35,560 --> 00:30:38,570 so sien die groen vlag langs die rooi stopteken? 677 00:30:38,570 --> 00:30:41,475 Wanneer ek dat my program gaan loop. 678 00:30:41,475 --> 00:30:43,850 Nou, ek gaan om iets te doen super eenvoudig met nuuts af. 679 00:30:43,850 --> 00:30:46,640 Ek gaan om voort te gaan en gaan na die lyk paneel 680 00:30:46,640 --> 00:30:50,010 hier waar ek 'n klomp pers legkaart stukke, 681 00:30:50,010 --> 00:30:53,887 en ek gaan om voort te gaan en te doen iets super eenvoudige soos, sê. 682 00:30:53,887 --> 00:30:55,720 En then-- kennisgewing hierdie teks in die wit blokkie 683 00:30:55,720 --> 00:30:59,290 is editable-- ek gaan om te sê "Hello world," wil ons net 684 00:30:59,290 --> 00:31:01,470 gedoen het in daardie teks weergawe 'n oomblik gelede. 685 00:31:01,470 --> 00:31:05,920 En as ek nou gaan en kliek op hierdie groen vlag, ek het nou geprogrammeer. 686 00:31:05,920 --> 00:31:07,810 Dit is nie 'n besonder interessante program, 687 00:31:07,810 --> 00:31:09,760 maar ek het die rekenaar om iets te doen. 688 00:31:09,760 --> 00:31:13,120 Ek begin met 'n program en dit gedoen het wat ek het om dit te doen. 689 00:31:13,120 --> 00:31:16,170 Nou kan ek voortgaan om te sleep en meer en meer van hierdie stukke van die legkaart 690 00:31:16,170 --> 00:31:19,220 en hulle gaan gekoppel, maar laat klap terminologie hier 691 00:31:19,220 --> 00:31:21,680 dat ons sal sien herhalende deur die loop, 692 00:31:21,680 --> 00:31:24,610 en regtig die hele rekenaarwetenskap en programmering meer algemeen. 693 00:31:24,610 --> 00:31:27,990 >> Hierdie "sê" blok, in die pers, laat net begin roep 'n verklaring. 694 00:31:27,990 --> 00:31:29,240 Dit is soos 'n verklaring van die feit. 695 00:31:29,240 --> 00:31:30,380 Doen dit. 696 00:31:30,380 --> 00:31:32,590 So, dit is 'n kategorie van instruksies wat jou 697 00:31:32,590 --> 00:31:36,760 dalk 'n rekenaar voer as deel van 'n program of 'n algoritme. 698 00:31:36,760 --> 00:31:39,270 En duidelik te wees, het jy waarskynlik as vanselfsprekend aanvaar 699 00:31:39,270 --> 00:31:41,930 dat jy programme op jou rekenaar. 700 00:31:41,930 --> 00:31:45,850 En dit is soort van algoritmes, maar 'n program is regtig 'n klomp van die algoritmes 701 00:31:45,850 --> 00:31:47,160 dat sommige mense geskryf het. 702 00:31:47,160 --> 00:31:49,040 Hulle verpak dit op en hulle verkoop dit, sodat jy, 703 00:31:49,040 --> 00:31:51,330 of hulle op 'n webwerf geplaas vir jou om af te laai. 704 00:31:51,330 --> 00:31:54,930 So, 'n program is net 'n n hele klomp van nulle en ene 705 00:31:54,930 --> 00:31:56,970 dat een of ander manier, die mens geskep. 706 00:31:56,970 --> 00:32:00,080 En die patrone van nulle en mense verteenwoordig dinge, uiteindelik, 707 00:32:00,080 --> 00:32:04,030 soos "sê hallo wêreld" of "speel hierdie musiek "of" speel hierdie video " 708 00:32:04,030 --> 00:32:05,129 of "stuur 'n e-pos." 709 00:32:05,129 --> 00:32:06,920 Maar ons sal terug te kom in manier om meer detail wat 710 00:32:06,920 --> 00:32:08,780 'n program is wanneer jy, jouself, skryf hulle. 711 00:32:08,780 --> 00:32:11,320 >> Hier is nog 'statement-- "Wag vir 'n sekonde." 712 00:32:11,320 --> 00:32:14,330 Ek het nie hierdie gebruik nie, maar as ek wil my program om te breek vir 'n oomblik 713 00:32:14,330 --> 00:32:16,540 om iets te doen, kan ek jou vertel om dit te doen. 714 00:32:16,540 --> 00:32:18,450 Wag 'n sekonde. 715 00:32:18,450 --> 00:32:20,150 Nou 'n ander een kan wees "speel klank." 716 00:32:20,150 --> 00:32:23,270 So, dit is uniek te krap, is dit het die vermoë om klanke te speel. 717 00:32:23,270 --> 00:32:26,130 So, 'n verklaring wat ek mag gebruik is, hier, "speel klank." 718 00:32:26,130 --> 00:32:29,530 Intussen, Boole-uitdrukking, so dit is 'n liefhebber woord 719 00:32:29,530 --> 00:32:34,490 vernoem na net 'n man met die naam Mr Bool, en dit is al oor 'n vraag. 720 00:32:34,490 --> 00:32:37,470 Waar of false-- is die muis af? 721 00:32:37,470 --> 00:32:41,100 'N Boole-uitdrukking is net sommige uitdrukking in Engels 722 00:32:41,100 --> 00:32:42,860 dit is waar of vals is. 723 00:32:42,860 --> 00:32:44,140 Hetsy op of af. 724 00:32:44,140 --> 00:32:45,130 Een of nul. 725 00:32:45,130 --> 00:32:46,960 Jy kan dink dit in 'n aantal van maniere, 726 00:32:46,960 --> 00:32:49,220 maar dit is waar of hierdie valse, uiteindelik. 727 00:32:49,220 --> 00:32:52,540 So "muis af vraagteken," wat 'n Boole-uitdrukking wees. 728 00:32:52,540 --> 00:32:54,300 En jy kan dink van ander, miskien. 729 00:32:54,300 --> 00:32:57,510 Byvoorbeeld, "is die links aantal minder as die regte getal? " 730 00:32:57,510 --> 00:32:59,410 Dit ook, sou wees 'n Boole-uitdrukking. 731 00:32:59,410 --> 00:33:01,540 "Minder as" is 'n Boole-uitdrukking. 732 00:33:01,540 --> 00:33:03,280 >> Hierdie een ook, "raak muis." 733 00:33:03,280 --> 00:33:05,196 Ek is nie seker hoekom hulle noem dit muis. 734 00:33:05,196 --> 00:33:08,430 Dit beteken net, is die wyser, is die pyl op die skerm, raak die kat, 735 00:33:08,430 --> 00:33:09,022 byvoorbeeld. 736 00:33:09,022 --> 00:33:10,480 Of 'n ander aspek van die skerm. 737 00:33:10,480 --> 00:33:13,710 En dit is 'n vraag, weer, en wat dui op 'n Boole-uitdrukking. 738 00:33:13,710 --> 00:33:17,130 Iets wat jy dalk wil gebruik in 'n toestand. 739 00:33:17,130 --> 00:33:19,100 So sal ons wat kom in net 'n oomblik. 740 00:33:19,100 --> 00:33:20,350 Jy kan "en" dinge saam. 741 00:33:20,350 --> 00:33:23,099 So, as jy wil kyk of dit die geval is en dat dit die geval is, 742 00:33:23,099 --> 00:33:25,580 jy kan 'n "en" blok soos hierdie gebruik. 743 00:33:25,580 --> 00:33:26,850 En hier is die toestand. 744 00:33:26,850 --> 00:33:31,290 Let op die vorm van die klein opening in die top van hierdie geel legkaart stuk, 745 00:33:31,290 --> 00:33:34,480 dit is wat herinner aan die vorm dat ons net 'n oomblik gelede gesien het. 746 00:33:34,480 --> 00:33:37,920 Elkeen van hierdie Boolse uitdrukkings het hierdie uitgewys rande 747 00:33:37,920 --> 00:33:39,030 op die links en regs. 748 00:33:39,030 --> 00:33:43,140 En dit is omdat MIT mense besluit wat deur visueel oordra vorms, 749 00:33:43,140 --> 00:33:45,780 jy kan soort van mense help, studente en kinders gelyk, 750 00:33:45,780 --> 00:33:47,650 soort in die spasies te vul letterlik. 751 00:33:47,650 --> 00:33:49,780 >> Nou dat puzzle-- wat opening is 'n bietjie klein, 752 00:33:49,780 --> 00:33:52,750 en as ons sien in die program, in Scratch, sal dit groei aan te pas. 753 00:33:52,750 --> 00:33:54,830 Dit sal die vorm in stand te hou, uiteindelik. 754 00:33:54,830 --> 00:33:58,350 So 'n toestand laat jou besluit "Ek moet iets doen of nie?" 755 00:33:58,350 --> 00:34:00,470 'N Boole-uitdrukking is die werklike vraag 756 00:34:00,470 --> 00:34:04,100 jy gebruik om te besluit gaan ek na links of gaan ek aan die regterkant 757 00:34:04,100 --> 00:34:06,710 toe ek teëkom hierdie sogenaamde vurk in die pad? 758 00:34:06,710 --> 00:34:07,980 Jy kan twee takke. 759 00:34:07,980 --> 00:34:10,909 As iets waar is, doen hierdie, anders gaan die manier, 760 00:34:10,909 --> 00:34:14,590 of jy kan net niks doen nie by almal, as die blok geïmpliseer. 761 00:34:14,590 --> 00:34:16,360 Net so kan ons nes hierdie dinge. 762 00:34:16,360 --> 00:34:20,204 So as jy wil vurk te verdriedubbel in die pad, óf dit of hierdie of daardie, 763 00:34:20,204 --> 00:34:21,870 jy kan net nes hierdie dinge saam. 764 00:34:21,870 --> 00:34:24,520 En dit begin 'n bietjie te kry lelik, uiteindelik, vir seker, 765 00:34:24,520 --> 00:34:26,120 maar die logika is nog steeds dieselfde. 766 00:34:26,120 --> 00:34:28,000 Jy kan letterlik gelees hierdie bo na onder 767 00:34:28,000 --> 00:34:33,290 en dit sê wat dit means-- indien dit is waar, doen dit, anders as die ander. 768 00:34:33,290 --> 00:34:36,179 >> 'N lus kry nie eenvoudiger in nuuts af. 769 00:34:36,179 --> 00:34:37,422 Forever doen die volgende. 770 00:34:37,422 --> 00:34:39,880 Nou kan jy nie dink jy veel kan doen nie, want daar is nie 771 00:34:39,880 --> 00:34:42,839 veel spasie tussen die bokant en die onderkant van die legkaart stuk opening. 772 00:34:42,839 --> 00:34:45,671 Maar jy sal sien Scratch gaan groei soveel stukke van die legkaart in te pas 773 00:34:45,671 --> 00:34:47,060 as jy wil gedrang daar. 774 00:34:47,060 --> 00:34:48,960 Nog 'n lus kan wees uitgespreek met herhalings. 775 00:34:48,960 --> 00:34:51,590 As jy vooraf weet, "Ek iets wil doen 10 keer, " 776 00:34:51,590 --> 00:34:54,010 jy kan net vertel Scratch om iets te doen 10 keer. 777 00:34:54,010 --> 00:34:57,260 En intussen, kan ons veranderlikes. 778 00:34:57,260 --> 00:34:59,572 So hier is 'n arbitrêre een, dit is oranje in hierdie geval, 779 00:34:59,572 --> 00:35:00,780 en dit is 'n warrelwind-toer. 780 00:35:00,780 --> 00:35:04,540 Weereens, sal jy dit baie toeganklik vind sodra jy begin wys en te klik. 781 00:35:04,540 --> 00:35:07,930 Ek het die naam van my veranderlike n, maar ek kan dit genoem het iets wat ek wil hê, 782 00:35:07,930 --> 00:35:11,280 en ek is die opstel van dit hier, in hierdie arbitrêre byvoorbeeld aan nul. 783 00:35:11,280 --> 00:35:14,250 >> Nou sien 'n program soos hallo wêreld is nie al wat dwingende, 784 00:35:14,250 --> 00:35:17,900 so laat ons eintlik oop om iets dat 'n voormalige student gemaak. 785 00:35:17,900 --> 00:35:23,100 Laat my voort te gaan en maak, byvoorbeeld, hierdie een hier, 786 00:35:23,100 --> 00:35:26,780 waarvoor ek lief 'n vrywilliger te hê. 787 00:35:26,780 --> 00:35:28,450 Alle reg, hoe about-- laat ons gaan verder. 788 00:35:28,450 --> 00:35:29,240 Ja, kom op maksimum. 789 00:35:29,240 --> 00:35:30,056 Wat is jou naam? 790 00:35:30,056 --> 00:35:30,635 >> Abby: Abby. 791 00:35:30,635 --> 00:35:32,010 David J. Malan Abby, kom op. 792 00:35:32,010 --> 00:35:35,930 So het jy al ooit gespeel hierdie wedstryd voor? 793 00:35:35,930 --> 00:35:36,430 Abby: Nee 794 00:35:36,430 --> 00:35:37,370 David J. Malan Alle regte. 795 00:35:37,370 --> 00:35:38,380 David, lekker om jou te ontmoet. 796 00:35:38,380 --> 00:35:39,620 Kom oor. 797 00:35:39,620 --> 00:35:42,300 En wat is jou programme agtergrond, indien enige. 798 00:35:42,300 --> 00:35:43,914 >> Abby: Ek het 'n paar C ++ geleer. 799 00:35:43,914 --> 00:35:45,580 David J. Malan Jy het 'n paar C ++ geleer. 800 00:35:45,580 --> 00:35:48,382 En wat is 'n spel speel agtergrond? 801 00:35:48,382 --> 00:35:49,505 >> Abby: Nie 'n baie. 802 00:35:49,505 --> 00:35:51,130 David J. Malan OK, so ons sal dit. 803 00:35:51,130 --> 00:35:52,700 So hier is hoe die spel is om te gaan werk. 804 00:35:52,700 --> 00:35:54,510 Ek gaan om voort te gaan en Klik op die groen vlag, wat 805 00:35:54,510 --> 00:35:55,830 is hier bo aan die regterkant. 806 00:35:55,830 --> 00:35:59,710 Nou is jou voorganger in die klas het jy hier gegee sommige instruksies. 807 00:35:59,710 --> 00:36:02,306 En in 'n oomblik, dit sê "ruimte om te begin." 808 00:36:02,306 --> 00:36:03,680 So gaan voort en druk die spasiebalk. 809 00:36:03,680 --> 00:36:05,507 >> Rekenaar spel: Pikachu. 810 00:36:05,507 --> 00:36:08,340 David J. Malan, en die doel is om te vang die voedsel, as daar uitgebeeld 811 00:36:08,340 --> 00:36:09,320 aan die linkerkant. 812 00:36:09,320 --> 00:36:11,388 En aan [onhoorbaar] 813 00:36:11,388 --> 00:36:15,356 >> [Game Speel van musiek] 814 00:36:15,356 --> 00:36:27,280 815 00:36:27,280 --> 00:36:29,610 >> David J. Malan Aww, goed, dankie vir speel. 816 00:36:29,610 --> 00:36:32,800 Ons het hier 'n bietjie afskeidsgeskenk vir jou. 817 00:36:32,800 --> 00:36:35,574 Ons het CS50 stres bal, As jy wil om te kies. 818 00:36:35,574 --> 00:36:36,820 Alle reg, goed om jou te ontmoet. 819 00:36:36,820 --> 00:36:39,680 Dankie vir die komende en uitdagend. 820 00:36:39,680 --> 00:36:42,410 821 00:36:42,410 --> 00:36:46,910 So ons het meer stres balle, so Kom ons doen nog 'n voorbeeld te motiveer. 822 00:36:46,910 --> 00:36:48,150 'N vrywilliger? 823 00:36:48,150 --> 00:36:50,510 Alle reg, hoe oor hier voor. 824 00:36:50,510 --> 00:36:51,250 Wat is jou naam? 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 Kom op, Phillip. 828 00:36:54,530 --> 00:36:57,340 So, is Phillip gaan wees uitgedaag met 'n ander spel 829 00:36:57,340 --> 00:37:00,840 dat een van jou voorgangers geskryf as deel van die probleem gestel nul, 830 00:37:00,840 --> 00:37:03,510 genoem Ivy se hardste Game. 831 00:37:03,510 --> 00:37:05,980 En ons sal sien in net 'n oomblik wat bedoel word. 832 00:37:05,980 --> 00:37:07,400 Phillip, lekker om jou te ontmoet. 833 00:37:07,400 --> 00:37:09,060 Wat is jou agtergrond? 834 00:37:09,060 --> 00:37:10,310 Phillip: 'n baie gedoen van kodering. 835 00:37:10,310 --> 00:37:11,110 Gedoen om 'n bietjie spel, ook. 836 00:37:11,110 --> 00:37:11,570 >> David J. Malan OK. 837 00:37:11,570 --> 00:37:12,620 Het 'n baie van die spel, ook. 838 00:37:12,620 --> 00:37:14,230 En het jy hierdie speletjie speel voor? 839 00:37:14,230 --> 00:37:14,730 >> Phillip: Geen 840 00:37:14,730 --> 00:37:16,438 David J. Malan Alle reg, so hier gaan ons. 841 00:37:16,438 --> 00:37:18,434 Ek gaan om voort te gaan en klik op die groen vlag. 842 00:37:18,434 --> 00:37:24,160 >> [Game MUSIEK] 843 00:37:24,160 --> 00:37:27,770 >> [MUSIEK MC Hammer, "U kan dit nie touch"] 844 00:37:27,770 --> 00:38:39,790 845 00:38:39,790 --> 00:38:41,635 >> Phillip: [onhoorbaar] 846 00:38:41,635 --> 00:38:42,760 David J. Malan [onhoorbaar] 847 00:38:42,760 --> 00:38:44,740 Phillip: [onhoorbaar] 848 00:38:44,740 --> 00:38:49,056 [ROOIBORSDUIFIE] 849 00:38:49,056 --> 00:38:50,680 [MUSIEK MC Hammer, "U kan dit nie touch"] 850 00:38:50,680 --> 00:38:52,660 David J. Malan [onhoorbaar] Ploeg deur dit. 851 00:38:52,660 --> 00:38:54,094 Phillip: [onhoorbaar] 852 00:38:54,094 --> 00:38:55,135 David J. Malan voort te gaan. 853 00:38:55,135 --> 00:39:01,570 [MUSIEK MC Hammer, "U kan dit nie touch"] 854 00:39:01,570 --> 00:39:15,832 855 00:39:15,832 --> 00:39:16,915 David J. Malan Alle regte. 856 00:39:16,915 --> 00:39:18,400 Baie geluk. 857 00:39:18,400 --> 00:39:25,150 >> [Applous] 858 00:39:25,150 --> 00:39:27,330 >> David J. Malan Ons sal pos wat online later so 859 00:39:27,330 --> 00:39:29,820 wat jy kan uitstel met dit so goed. 860 00:39:29,820 --> 00:39:32,550 Princeton kom volgende, na daardie. 861 00:39:32,550 --> 00:39:35,470 >> So laat ons nou eintlik gaan om te begin van nuuts af, 862 00:39:35,470 --> 00:39:39,310 om so te praat, en eintlik bou tot ons kan terg uitmekaar sommige van hierdie idees 863 00:39:39,310 --> 00:39:41,970 en jy na iets wat selfs meer komplekse teen die einde. 864 00:39:41,970 --> 00:39:45,240 Ek gaan hier gaan en ek gaan om voort te gaan en 'n nuwe lêer. 865 00:39:45,240 --> 00:39:47,460 So weer, sal die probleem stel loop deur 'n paar van hierdie stappe. 866 00:39:47,460 --> 00:39:49,300 Maar, al wat ek gedoen het, was go na die File menu en ek 867 00:39:49,300 --> 00:39:52,760 het gesê: "'n nuwe," so baie soos Microsoft Word, of enige program soos dit. 868 00:39:52,760 --> 00:39:56,630 >> En laat ons gaan voort now-- en ons geïmplementeer "Hello World" 'n oomblik gelede 869 00:39:56,630 --> 00:39:58,410 maar laat ons iets doen om 'n bietjie cuter. 870 00:39:58,410 --> 00:40:00,150 Ek gaan om te gaan na die gebeure. 871 00:40:00,150 --> 00:40:02,350 En ek gaan om te doen "wanneer groen vlag gebruik. " 872 00:40:02,350 --> 00:40:05,830 En dan gaan ek om te gebruik, sal ons sê, 'n tak. 873 00:40:05,830 --> 00:40:07,610 So ek gaan 'n "as" toestand te gebruik. 874 00:40:07,610 --> 00:40:10,940 En sien hoe so gou as ek naby dit, dit wil saam snap. 875 00:40:10,940 --> 00:40:13,020 So ek laat gaan en dit saam breek. 876 00:40:13,020 --> 00:40:15,150 En nou kan ek iets interessant doen. 877 00:40:15,150 --> 00:40:19,150 As ek blaai deur middel van hier, ek gaan 'n hele klomp van die blokke te sien. 878 00:40:19,150 --> 00:40:22,620 As ek gaan na "data" - laat my zoom in-- Daar is iets omtrent veranderlikes. 879 00:40:22,620 --> 00:40:26,160 As ek gaan na "beweging," jy kan blykbaar om dinge rondom. 880 00:40:26,160 --> 00:40:28,760 As ek gaan na "operateurs" - O ja, dit is interessant, 881 00:40:28,760 --> 00:40:31,000 Ek kan 'n ewekansige getal te kies. 882 00:40:31,000 --> 00:40:34,119 So laat my iets te doen met net sommige waarskynlikheid, net omdat. 883 00:40:34,119 --> 00:40:36,160 Ek gaan om voort te gaan en sleep die legkaart stuk, 884 00:40:36,160 --> 00:40:37,910 hiervoor is dat minder as blok, so dit is net 885 00:40:37,910 --> 00:40:39,480 "Is hierdie getal minder as wat 'n mens?" 886 00:40:39,480 --> 00:40:42,438 Maar ek 'n aantal wil nie 'n harde-kode want dit is redelik nutteloos. 887 00:40:42,438 --> 00:40:46,270 So ek gaan hierdie stuk te sleep hier, en kyk hoe dit breek in, 888 00:40:46,270 --> 00:40:49,480 En nou, laat my gaan voort en sê: "As die getal wat is willekeurig 889 00:40:49,480 --> 00:40:51,820 is minder as ses, moenie die volgende. " 890 00:40:51,820 --> 00:40:52,790 Nou hoekom minder as ses? 891 00:40:52,790 --> 00:40:56,400 Wat waarskynlikheid is dit effektief gaan gee my net intuïtief? 892 00:40:56,400 --> 00:40:57,440 Sowat 50% is, reg? 893 00:40:57,440 --> 00:41:01,190 As die getal wat se raai lukraak tussen 1 en 10 is minder as ses, 894 00:41:01,190 --> 00:41:03,480 duidelik is dit een, twee, drie, vier, of vyf. 895 00:41:03,480 --> 00:41:06,740 En so wat gaan om te gee my 'n 50% waarskynlikheid van wat gebeur? 896 00:41:06,740 --> 00:41:09,890 >> Wel, laat ons doen iets soos hierdie, "speel klank miaau." 897 00:41:09,890 --> 00:41:11,750 En kennis, weer, die legkaart stuk groei 898 00:41:11,750 --> 00:41:13,700 aan te pas, so lank as wat die vorms te pas. 899 00:41:13,700 --> 00:41:14,910 Dit is wat belangrik is. 900 00:41:14,910 --> 00:41:18,000 Laat my gaan oor te krap hier en kliek op "te speel." 901 00:41:18,000 --> 00:41:19,300 Niks gebeur nie. 902 00:41:19,300 --> 00:41:21,160 Is dit 'n fout? 903 00:41:21,160 --> 00:41:21,999 Nee, nie nodig nie. 904 00:41:21,999 --> 00:41:24,040 Dit kan net wees dat 'n groter aantal gekies is. 905 00:41:24,040 --> 00:41:25,762 So kom ons doen dit weer. 906 00:41:25,762 --> 00:41:27,550 Niks nie. 907 00:41:27,550 --> 00:41:28,344 >> [Miauw] 908 00:41:28,344 --> 00:41:29,510 David J. Malan Daar is dit. 909 00:41:29,510 --> 00:41:30,280 [Miauw] 910 00:41:30,280 --> 00:41:31,690 David J. Malan Weer. 911 00:41:31,690 --> 00:41:32,300 Nee 912 00:41:32,300 --> 00:41:32,922 >> [Miaau] 913 00:41:32,922 --> 00:41:35,380 David J. Malan So as jy ooit 'n wedstryd gespeel het, het natuurlik 914 00:41:35,380 --> 00:41:38,500 waar dinge is lukraak gebeur, soos die slegte ouens kom of nie 915 00:41:38,500 --> 00:41:41,350 kom op die skerm, of Dinge val of nie val nie, 916 00:41:41,350 --> 00:41:43,610 dit is net omdat iets super eenvoudige soos dit gebeur. 917 00:41:43,610 --> 00:41:46,010 Pick 'n ewekansige getal, en as dit is minder as 'n bietjie waarde, 918 00:41:46,010 --> 00:41:49,100 Miskien doen of miskien doen. 919 00:41:49,100 --> 00:41:51,340 Ons kan inkorporeer wat in 'n toestand. 920 00:41:51,340 --> 00:41:52,600 Kom ons doen iets anders. 921 00:41:52,600 --> 00:41:53,559 >> Laat my gooi dit weg. 922 00:41:53,559 --> 00:41:56,058 Jy kan ontslae te raak van die dinge deur net af te sleep dit na links 923 00:41:56,058 --> 00:41:56,810 en laat gaan. 924 00:41:56,810 --> 00:42:00,310 Laat my gaan voort en doen 'n ewig blok en baie vinnig iets irriterende doen. 925 00:42:00,310 --> 00:42:03,010 Laat my voort te gaan en sê "speel klank miaau." 926 00:42:03,010 --> 00:42:06,620 Maar ek wil dit nie te te wees irriterende, so laat my gryp hierdie blok, 927 00:42:06,620 --> 00:42:09,090 "Wag 'n sekonde," en 'n kennisgewing daar is nie meer plek vir dit. 928 00:42:09,090 --> 00:42:11,310 Maar as jy naby genoeg gaan, dit wil om daar te gaan. 929 00:42:11,310 --> 00:42:14,100 So ek laat gaan en dit sal groei die blok te vul. 930 00:42:14,100 --> 00:42:15,932 So nou is dit 'n lus. 931 00:42:15,932 --> 00:42:16,432 [Miaau] 932 00:42:16,432 --> 00:42:18,473 David J. MALAN: Ek is letterlik om dit te doen vir ewig. 933 00:42:18,473 --> 00:42:19,360 Weer en weer. 934 00:42:19,360 --> 00:42:21,510 Dit is net nie 'n natuurlike klinkende. 935 00:42:21,510 --> 00:42:24,800 Laat my gaan voort en verander dit om nie 'n sekonde tot twee sekondes 936 00:42:24,800 --> 00:42:25,854 en druk Enter. 937 00:42:25,854 --> 00:42:28,770 En wat is lekker oor Scratch is wat jy kan interaktief program. 938 00:42:28,770 --> 00:42:32,450 Maak 'n verandering, miskien druk Enter of Play weer, en dit sal net voort te gaan. 939 00:42:32,450 --> 00:42:34,962 Wel, nou hoekom nie ons doen iets wat 'n bietjie ouliker? 940 00:42:34,962 --> 00:42:39,680 Eerder as om alles van nuuts af, Laat my voort te gaan en maak 'n voorskot 941 00:42:39,680 --> 00:42:43,180 het een, wat ek vooraf-gebak, genoem "Pet die kat." 942 00:42:43,180 --> 00:42:44,920 En ons sal post al hierdie lêers aanlyn, 943 00:42:44,920 --> 00:42:48,464 en probleem gestel nul sal jou vertel hoe om dit te verkry en oop te stel. 944 00:42:48,464 --> 00:42:49,880 En kennis, dit is redelik eenvoudig. 945 00:42:49,880 --> 00:42:53,860 Maar in advance, ek lyk te gryp 'n "ewig" blok, so ek het 'n lus. 946 00:42:53,860 --> 00:42:55,500 En dan het ek het 'n "as" toestand. 947 00:42:55,500 --> 00:42:57,410 Ek het 'n Boole-uitdrukking. 948 00:42:57,410 --> 00:43:00,100 >> So in Engels, net skrams by hierdie, veral as jy nog nooit 949 00:43:00,100 --> 00:43:04,278 geprogrammeer voor, net intuïtief, wat gaan dit te doen, is hierdie program? 950 00:43:04,278 --> 00:43:06,910 >> [PUBLIEKSWERKING BABBELBUS] 951 00:43:06,910 --> 00:43:09,960 >> David J. Malan As jou troeteldier die kat, die kat gaan miaau, reg? 952 00:43:09,960 --> 00:43:14,560 Omdat "vir ewig unchecking" is die muis te raak van die kat. 953 00:43:14,560 --> 00:43:17,630 So duidelik te wees, en ek het nie gesê dit voor, al hierdie legkaart 954 00:43:17,630 --> 00:43:20,750 stukke en die skrif wat Ons het gekombineer hulle in, 955 00:43:20,750 --> 00:43:25,510 om so te praat, 'n script is sinoniem met program, regtig, behoort aan die kat. 956 00:43:25,510 --> 00:43:30,110 En die rede is-- omdat kennisgewing hoe hierdie selfde kat hier uitgelig, 957 00:43:30,110 --> 00:43:32,710 hier kan jy 'n tweede kat of hond of werklik 958 00:43:32,710 --> 00:43:33,970 enigiets wat jy wil grafies. 959 00:43:33,970 --> 00:43:35,900 Jy kan iets invoer van Photoshop, of die wil, 960 00:43:35,900 --> 00:43:38,300 en integreer iets as jy dit wil maak vir 'n projek. 961 00:43:38,300 --> 00:43:40,174 En wat jy sal vind, uiteindelik, is dat jy 962 00:43:40,174 --> 00:43:44,800 skrifte kan voeg, voeg legkaart stukke, op individuele karakters. 963 00:43:44,800 --> 00:43:47,210 So al hierdie dinge behoort aan hierdie spesifieke kat. 964 00:43:47,210 --> 00:43:51,770 So as ek nou gaan voort en speel hierdie program, niks gebeur. 965 00:43:51,770 --> 00:43:52,970 Maar dit is hardloop. 966 00:43:52,970 --> 00:43:56,364 Die program is in dit vir ewig lus, soort van wag vir wat gebeur? 967 00:43:56,364 --> 00:43:57,230 >> [PUBLIEKSWERKING BABBELBUS] 968 00:43:57,230 --> 00:43:58,130 >> David J. Malan die kat te troeteldier. 969 00:43:58,130 --> 00:43:59,800 So as ek beweeg my muis na him-- 970 00:43:59,800 --> 00:44:02,420 >> [Miaau] 971 00:44:02,420 --> 00:44:04,450 >> David J. Malan So nou Ek troetel die kat. 972 00:44:04,450 --> 00:44:07,330 Intussen, kan ons 'n dubbele-tak. 973 00:44:07,330 --> 00:44:10,370 Laat my gaan voort en maak up troeteldier nie die kat. 974 00:44:10,370 --> 00:44:12,160 Ons sal hierdie aanlyn post sowel. 975 00:44:12,160 --> 00:44:16,760 Dit is 'n bietjie meer kompleks, maar sonder om te sê 976 00:44:16,760 --> 00:44:18,780 jy kan dalk dink wat gaan gebeur nie. 977 00:44:18,780 --> 00:44:20,160 >> [Miaau] 978 00:44:20,160 --> 00:44:23,900 >> David J. Malan Kat is miaau, groot ou tyd. 979 00:44:23,900 --> 00:44:26,690 Maar hierdie program is natuurlik genaamd "Moenie die kat Troeteldier nie," 980 00:44:26,690 --> 00:44:29,350 so duidelik, ek wil die kat te troeteldier. 981 00:44:29,350 --> 00:44:30,490 >> [ROARING] 982 00:44:30,490 --> 00:44:31,940 >> David J. Malan Moenie troeteldier die kat. 983 00:44:31,940 --> 00:44:34,230 Nou, laat ons neem 'n blik by nog 'n voorbeeld hier. 984 00:44:34,230 --> 00:44:38,035 Hierdie een sal genoem word "Hi, Hi, Hi," vir redes 985 00:44:38,035 --> 00:44:40,410 wat duidelik sal wees nie, want so gou as ek loop hierdie thing-- 986 00:44:40,410 --> 00:44:41,401 >> [SEAL blaf] 987 00:44:41,401 --> 00:44:43,942 David J. Malan Baie maklik om te skryf irriterende Scratch programme. 988 00:44:43,942 --> 00:44:45,300 [SEAL blaf] 989 00:44:45,300 --> 00:44:48,540 David J. Malan Nou is ons gaan nie in 'n groot detail met al hierdie, 990 00:44:48,540 --> 00:44:51,150 , maar kennis is daar 'n paar nuwe funksies hier. 991 00:44:51,150 --> 00:44:55,540 Daar is 'n veranderlike, genaamd "gedempte" en dan is daar 'n klomp van die voorwaardes. 992 00:44:55,540 --> 00:44:57,900 En nou, laat my net terg jy deur te sê 993 00:44:57,900 --> 00:45:03,170 dat as hierdie man raak te irriterende, Ek kan die spasiebalk getref en hy stop. 994 00:45:03,170 --> 00:45:05,880 Omdat die rol wat gespeel word deur hierdie twee skrifte is soos volg. 995 00:45:05,880 --> 00:45:08,510 Een van hulle is besig om die blaf elke paar sekondes. 996 00:45:08,510 --> 00:45:11,305 Die ander een is wat net wag vir my die spasiebalk te tref. 997 00:45:11,305 --> 00:45:14,780 En as ek doen druk die spasiebalk, dit gaan om te verander 998 00:45:14,780 --> 00:45:18,096 die toestand van die veranderlike, die waarde van hierdie veranderlike, wat blykbaar 999 00:45:18,096 --> 00:45:20,470 genoem "gedempte," Ek het nie geroep dit iets vervelig soos n, 1000 00:45:20,470 --> 00:45:22,370 Ek noem dit 'n Engelse woord, "gedempte." 1001 00:45:22,370 --> 00:45:24,740 Van 1-0 of 0-1. 1002 00:45:24,740 --> 00:45:26,830 Van waar vals of vals waar. 1003 00:45:26,830 --> 00:45:28,930 En so kan jy eintlik sien nou, dat jy 1004 00:45:28,930 --> 00:45:31,720 twee skrifte kan hê, twee programme gelyktydig hardloop, 1005 00:45:31,720 --> 00:45:34,360 en beide van hulle kan sit in 'n lus om iets te doen. 1006 00:45:34,360 --> 00:45:38,067 Wag vir die menslike te doen iets soos die slaan spasiebalk. 1007 00:45:38,067 --> 00:45:38,650 [SEAL blaf] 1008 00:45:38,650 --> 00:45:40,566 David J. Malan En nou Hy is op pad terug. 1009 00:45:40,566 --> 00:45:41,640 [SEAL blaf] 1010 00:45:41,640 --> 00:45:45,220 David J. Malan So wat anders kan ons doen met hierdie voorbeelde? 1011 00:45:45,220 --> 00:45:50,920 Wel, laat ons gaan voort en doen 'n byvoorbeeld met skape tel. 1012 00:45:50,920 --> 00:45:59,210 Ons sal voortgaan om hierdie langs die lyne hier of-- laat oopmaak om die skape voorbeeld. 1013 00:45:59,210 --> 00:46:02,460 En kennis, baie soos voorheen, hierdie een, Gelukkig, is 'n bietjie minder irriterende. 1014 00:46:02,460 --> 00:46:06,940 Sodra ek getref speel here-- O nee, dit is irriterende. 1015 00:46:06,940 --> 00:46:10,130 Hy gaan baa met 'n paar waarskynlikheid. 1016 00:46:10,130 --> 00:46:11,050 Kom ons speel dit weer. 1017 00:46:11,050 --> 00:46:15,221 >> [Skape BLEETING] 1018 00:46:15,221 --> 00:46:18,470 David J. Malan Die enigste verskil is ons het die kostuum verander, om so te praat, 1019 00:46:18,470 --> 00:46:21,710 en ons halveer en sê wat dit werklike getal is. 1020 00:46:21,710 --> 00:46:24,680 Wel, laat ons gaan voort en neem hierdie 'n stap verder. 1021 00:46:24,680 --> 00:46:28,190 En laat my terg jy met een ander funksie hier. 1022 00:46:28,190 --> 00:46:31,800 Kom ons gaan voort en maak 'n program genaamd drade. 1023 00:46:31,800 --> 00:46:36,620 Soveel soos jy kan 'n mens 'n sprite, met verskeie skrifte, 1024 00:46:36,620 --> 00:46:41,250 julle twee sprites, 'n voël in kan 'n kat, elk met hul eie script. 1025 00:46:41,250 --> 00:46:43,976 En elkeen van hulle kan werk gelyktydig. 1026 00:46:43,976 --> 00:46:45,980 As jy al ooit gehoor van die woord "multithreading" 1027 00:46:45,980 --> 00:46:49,240 'n rekenaar is "multi" beteken dit verskeie dinge kan doen in 'n keer, 1028 00:46:49,240 --> 00:46:50,880 en, inderdaad, so kan nuuts af. 1029 00:46:50,880 --> 00:46:52,690 >> En nou sien die voël is 'n soort van stom. 1030 00:46:52,690 --> 00:46:55,100 Dit is net om dinge te doen lukraak, weerkaats die skerm. 1031 00:46:55,100 --> 00:46:59,460 Dit is duidelik dat die kat is geprogrammeer soort het op soek vermoëns 1032 00:46:59,460 --> 00:47:02,680 om die huis op die voël, want Hy is altyd wys op hom. 1033 00:47:02,680 --> 00:47:06,176 Totdat uiteindelik, het hy vang die werklike voël. 1034 00:47:06,176 --> 00:47:08,550 So ek sal nie op die besonderhede woon hier, maar jy kan soort 1035 00:47:08,550 --> 00:47:12,160 blik dieselfde vorms, sommige "As" toestande, 'n paar veranderlikes, 1036 00:47:12,160 --> 00:47:15,740 miskien 'n paar loops, is uiteindelik dieselfde ding doen. 1037 00:47:15,740 --> 00:47:18,400 >> Nou laat my voort te gaan en oop iets heeltemal anders, 1038 00:47:18,400 --> 00:47:20,920 sommige van julle te pla, veral diegene wat meer gemaklik, 1039 00:47:20,920 --> 00:47:22,760 wat jy eintlik kan doen met hierdie. 1040 00:47:22,760 --> 00:47:26,080 Ek gaan om voort te gaan en maak Button hier. 1041 00:47:26,080 --> 00:47:28,740 En dit is 'n super eenvoudige oënskynlike program, 1042 00:47:28,740 --> 00:47:34,190 maar kyk wat gebeur wanneer I-- Kyk wat 1043 00:47:34,190 --> 00:47:39,860 gebeur wanneer ek hierdie weergawe van dit oop te maak, hier in die leser, scratch.mit.edu. 1044 00:47:39,860 --> 00:47:43,460 En wanneer ek op hierdie groot rooi knoppie, let op wat gebeur. 1045 00:47:43,460 --> 00:47:46,110 1046 00:47:46,110 --> 00:47:47,647 So, wat gaan hier aan? 1047 00:47:47,647 --> 00:47:50,480 Daar is eintlik 'n baie meer kompleksiteit gaan op onder die enjinkap, 1048 00:47:50,480 --> 00:47:52,896 selfs al het ek geïmplementeer hierdie, of eerlik, Dan Bradley 1049 00:47:52,896 --> 00:47:54,660 het hierdie geïmplementeer so eenvoudig. 1050 00:47:54,660 --> 00:47:59,540 Hy het ontwerp om 'n persoonlike Scratch legkaart stuk, bekend as 'n skrapie uitbreiding, 1051 00:47:59,540 --> 00:48:01,300 hy het dit Toggle. 1052 00:48:01,300 --> 00:48:06,332 >> En wat Toggle doen, is dit stuur 'n boodskap oor die internet. 1053 00:48:06,332 --> 00:48:08,290 En dat die boodskap self lyk 'n bietjie kripties. 1054 00:48:08,290 --> 00:48:10,248 Maar hierdie, ook, sal jy verstaan ​​deur kwartaal se einde. 1055 00:48:10,248 --> 00:48:14,930 Die boodskap wat hy is eintlik die stuur lyk 'n bietjie iets soos hierdie. 1056 00:48:14,930 --> 00:48:15,921 Dis net die teks. 1057 00:48:15,921 --> 00:48:16,420 Kriptiese. 1058 00:48:16,420 --> 00:48:19,130 Jy sal dit verstaan ​​teen die tyd kry ons die probleem die sewe. 1059 00:48:19,130 --> 00:48:22,180 Dit is net die stuur van 'n teks boodskap oor die internet aan 'n bediener. 1060 00:48:22,180 --> 00:48:24,330 En dat bediener is uiteindelik praat met die gloeilamp, wat 1061 00:48:24,330 --> 00:48:27,240 het een van daardie fancy gloeilampe in dit wat, self, is 'n gesprek 1062 00:48:27,240 --> 00:48:30,760 aan die Wi-Fi in die netwerk hier waar 'n plaaslike toestel af here-- 1063 00:48:30,760 --> 00:48:34,400 en, uiteindelik, dit is eintlik draai die lig op en af. 1064 00:48:34,400 --> 00:48:36,240 Maar ons kan meer doen interessante dinge nog. 1065 00:48:36,240 --> 00:48:38,270 Let op wat Dan ook vir ons gedoen het. 1066 00:48:38,270 --> 00:48:42,210 Hy het verskeie sprites, elk van wat 'n script wag vir 'n klik. 1067 00:48:42,210 --> 00:48:44,030 En as ek op die rooi is, gaan dit rooi. 1068 00:48:44,030 --> 00:48:46,780 As ek blou is, gaan dit blou. 1069 00:48:46,780 --> 00:48:49,854 Groen, geel, oranje. 1070 00:48:49,854 --> 00:48:52,520 En dit alles gebeur deur gaan weg uit op die internet, 1071 00:48:52,520 --> 00:48:54,690 terug te sit hier op die gloeilamp, op en af. 1072 00:48:54,690 --> 00:48:57,981 >> En as jy it-- kan glo en dit is miskien een van die mees komplekse Scratch 1073 00:48:57,981 --> 00:49:00,930 projekte iemand implemented-- Hy het dit gedoen, in regverdigheid, in 'n dag. 1074 00:49:00,930 --> 00:49:04,180 En dit was die uitdaging wat ons gooi tot Dan toe ons het binêre bolle, 1075 00:49:04,180 --> 00:49:05,810 ons het Scratch, hoe kan ons kombineer hulle? 1076 00:49:05,810 --> 00:49:08,410 En, inderdaad, dit is absoluut iets iemand in hierdie kamer 1077 00:49:08,410 --> 00:49:14,250 kon doen deur semester se end-- Is hy reimplemented binêre gloeilampe gebruik 1078 00:49:14,250 --> 00:49:18,310 dieselfde koppelvlak wat was op ons iPad op Woensdag. 1079 00:49:18,310 --> 00:49:22,000 Sodat nou, as ek eintlik Klik op die plus hier, 1080 00:49:22,000 --> 00:49:25,250 ons het een, twee, drie. 1081 00:49:25,250 --> 00:49:27,550 Ek kan druk op die 16 en draai dat een op. 1082 00:49:27,550 --> 00:49:29,440 128, en so meer. 1083 00:49:29,440 --> 00:49:31,250 >> Nou as dit alleen en geblaas jou gedagtes, 1084 00:49:31,250 --> 00:49:35,680 jy dinge veel meer toeganklik kon doen nie, nie met enige hardeware beslis. 1085 00:49:35,680 --> 00:49:38,320 Net die dinge wat op die skerm self. 1086 00:49:38,320 --> 00:49:41,110 En, inderdaad, wat die meeste studente uiteindelik doen, is 'n soort van wild, 1087 00:49:41,110 --> 00:49:44,600 'n stuk van kunstige werk, of 'n soort van interaktiewe animasie. 1088 00:49:44,600 --> 00:49:47,352 En Ek sal sê een van ons gunstelinge is hierdie een. 1089 00:49:47,352 --> 00:49:49,060 En ek het gedink as ons die ligte kan verswak 1090 00:49:49,060 --> 00:49:52,960 Ons sal 'n blik te neem aan hierdie finale Scratch projek in die slot. 1091 00:49:52,960 --> 00:49:57,460 Maar wat jy moet gaan in gedagte hou, soos Ek kan jou terg met 'n laaste detail, 1092 00:49:57,460 --> 00:49:59,140 seksie sal volgende week begin. 1093 00:49:59,140 --> 00:50:00,830 Kantoorure sal volgende week begin. 1094 00:50:00,830 --> 00:50:04,410 Probleem gestel nul gepos word CS50.harvard.edu later vandag. 1095 00:50:04,410 --> 00:50:06,430 En jy sal begroet word in probleem gestel nul 1096 00:50:06,430 --> 00:50:10,070 te CS50 se eie Zamyla Chan, wat lei die meeste van ons ipv. 1097 00:50:10,070 --> 00:50:11,952 Dit is ingesluit video's in die probleem stelle 1098 00:50:11,952 --> 00:50:15,160 wat jou hand hou deur 'n baie van die eerste stel en deur baie 1099 00:50:15,160 --> 00:50:16,570 van die moontlike ontwerp besluite te neem. 1100 00:50:16,570 --> 00:50:19,570 So as jy ooit gehad het dat emosie wanneer pluk van 'n huiswerk opdrag 1101 00:50:19,570 --> 00:50:21,030 en wonder, waar begin ek? 1102 00:50:21,030 --> 00:50:23,510 Sy sal die antwoord vir jou. 1103 00:50:23,510 --> 00:50:27,720 En nou, 'n finale program van een van jou voorgangers 1104 00:50:27,720 --> 00:50:30,659 in antwoord op die vraag "Wat sê die jakkals sê?" 1105 00:50:30,659 --> 00:50:32,242 [MUSIEK YLVIS, "Wat sê die FOX sê?] 1106 00:50:32,242 --> 00:50:40,178 1107 00:50:40,178 --> 00:50:41,666 >> YLVIS: (sang) Hond gaan inslag. 1108 00:50:41,666 --> 00:50:43,650 Kat gaan miaau. 1109 00:50:43,650 --> 00:50:47,520 Voël gaan tweet en muis gaan piep. 1110 00:50:47,520 --> 00:50:49,240 Koei gaan moo. 1111 00:50:49,240 --> 00:50:51,690 Kikker gaan gekwaak. 1112 00:50:51,690 --> 00:50:54,630 En die olifant gaan blaas. 1113 00:50:54,630 --> 00:50:59,040 Eende sê kwak en vis gaan Blub. 1114 00:50:59,040 --> 00:51:07,370 En die seël gaan oe oe oe, maar daar is een klank wat weet niemand nie, 1115 00:51:07,370 --> 00:51:10,330 wat beteken die jakkals sê? 1116 00:51:10,330 --> 00:51:11,020 En 1117 00:51:11,020 --> 00:51:12,478 >> David J. Malan Dit is dit vir CS50. 1118 00:51:12,478 --> 00:51:15,436 Ons sal jy sien by Legkaart Day en op Maandag. 1119 00:51:15,436 --> 00:51:16,424 >> [Applous] 1120 00:51:16,424 --> 00:51:19,882 >> [MUSIEK YLVIS, "Wat sê die FOX sê?"] 1121 00:51:19,882 --> 00:51:24,840 1122 00:51:24,840 --> 00:51:28,820 >> NARRATOR: En nou diep gedagtes, deur Daven Farnham. 1123 00:51:28,820 --> 00:51:31,770 1124 00:51:31,770 --> 00:51:34,570 Vandag het ek in die treffer aangesig met 'n telefoon boek. 1125 00:51:34,570 --> 00:51:38,160 Verwarrend, as ek by die huis kyk aanlyn. 1126 00:51:38,160 --> 00:51:42,528