1 00:00:00,000 --> 00:00:09,840 2 00:00:09,840 --> 00:00:10,824 >> [Video speel] 3 00:00:10,824 --> 00:00:13,284 >> [Motordeur kluitklap] 4 00:00:13,284 --> 00:00:15,744 >> [Motorenjin VANAF] 5 00:00:15,744 --> 00:00:19,188 >> [Speel van musiek] 6 00:00:19,188 --> 00:00:20,172 7 00:00:20,172 --> 00:00:24,516 >> -Moving Reg langs soek goeie tye en goeie nuus. 8 00:00:24,516 --> 00:00:26,871 Met goeie vriende wat jy nie kan verloor nie. 9 00:00:26,871 --> 00:00:28,755 >> -Dit Kan 'n gewoonte geword. 10 00:00:28,755 --> 00:00:32,460 >> -Opportunity Stampe Kom net uit te reik en gryp dit. 11 00:00:32,460 --> 00:00:32,960 -Yeah! 12 00:00:32,960 --> 00:00:34,920 -Saam sal ons dit vang. 13 00:00:34,920 --> 00:00:37,370 -We'll Haakplek staptog, bus, of geel taxi nie. 14 00:00:37,370 --> 00:00:38,840 -Dammit. 15 00:00:38,840 --> 00:00:40,800 -We're Beweeg reg langs. 16 00:00:40,800 --> 00:00:43,750 -Footloose En fancy gratis. 17 00:00:43,750 --> 00:00:45,960 -Getting Daar die helfte van die pret. 18 00:00:45,960 --> 00:00:47,718 Kom deel dit met my. 19 00:00:47,718 --> 00:00:49,654 >> -We're Beweeg reg langs. 20 00:00:49,654 --> 00:00:52,558 >> -We're Gaan die las deel. 21 00:00:52,558 --> 00:00:57,604 >> -Ons Het nie 'n kaart nodig kry hierdie show op die pad. 22 00:00:57,604 --> 00:01:00,520 Hey Fozzy, ek wil hê jy moet links draai as jy kom na 'n vurk in die pad. 23 00:01:00,520 --> 00:01:01,020 -Ja, Meneer. 24 00:01:01,020 --> 00:01:03,334 Draai links by die vurk in die pad. 25 00:01:03,334 --> 00:01:05,222 Draai links. 26 00:01:05,222 --> 00:01:07,582 >> -Ek Glo nie dat. 27 00:01:07,582 --> 00:01:11,720 >> -Cruising Reg langs ons gevind die ligte op die snelweg. 28 00:01:11,720 --> 00:01:13,664 >> -en Jou pad of my pad. 29 00:01:13,664 --> 00:01:16,154 >> -So vertrou my navigasie. 30 00:01:16,154 --> 00:01:21,134 >> -Film Sterre met flitsende motors en die lewe met die top-down. 31 00:01:21,134 --> 00:01:23,126 >> -We're Storm die groot heuwels. 32 00:01:23,126 --> 00:01:24,122 >> -Yeah, Storm is reg. 33 00:01:24,122 --> 00:01:25,160 Moet dit sneeu? 34 00:01:25,160 --> 00:01:26,220 >> Nee, ek dink nie so nie. 35 00:01:26,220 --> 00:01:28,505 >> -Moving Reg langs. 36 00:01:28,505 --> 00:01:30,980 >> -Footloose En fancy gratis. 37 00:01:30,980 --> 00:01:32,960 >> -You're Gereed vir die groot tyd. 38 00:01:32,960 --> 00:01:34,445 >> -Is Dit gereed is vir my? 39 00:01:34,445 --> 00:01:38,900 40 00:01:38,900 --> 00:01:42,860 >> -Moving Reg langs. 41 00:01:42,860 --> 00:01:47,315 Beweeg reg langs. 42 00:01:47,315 --> 00:01:52,265 Beweeg reg langs. 43 00:01:52,265 --> 00:01:56,131 Beweeg reg langs. 44 00:01:56,131 --> 00:01:57,380 -Ek Dink dat jy 'n beter trek oor. 45 00:01:57,380 --> 00:01:58,020 -Ja, Meneer. 46 00:01:58,020 --> 00:02:02,475 47 00:02:02,475 --> 00:02:03,960 >> [Einde afspeel] 48 00:02:03,960 --> 00:02:07,425 >> [Applous] 49 00:02:07,425 --> 00:02:09,405 50 00:02:09,405 --> 00:02:11,930 >> DAVID J. MALAN: Dit is CS50. 51 00:02:11,930 --> 00:02:15,940 En dit is die einde van die week 0, maar die begin van 'n pragtige vriendskap. 52 00:02:15,940 --> 00:02:18,250 Ons is so opgewonde om te wees hier by Yale Universiteit 53 00:02:18,250 --> 00:02:21,530 vir die heel eerste keer met ons vriend Scaz en Jason en Andy. 54 00:02:21,530 --> 00:02:24,320 Alle 40 van CS50 se TF se en CA is hier by Yale. 55 00:02:24,320 --> 00:02:25,440 En almal van julle. 56 00:02:25,440 --> 00:02:28,470 En in die feit, is dit waarskynlik die tyd aan- 57 00:02:28,470 --> 00:02:31,914 >> [Applous] 58 00:02:31,914 --> 00:02:43,722 59 00:02:43,722 --> 00:02:47,920 >> So, selfs al is die meeste van die lesings sal inderdaad in Cambridge vanjaar 60 00:02:47,920 --> 00:02:51,250 Die realiteit is dat deur die ontwerp en baie doelbewus in CS50, 61 00:02:51,250 --> 00:02:54,740 Ek dink ons ​​nader die punt tegnologies en pedagogies, 62 00:02:54,740 --> 00:02:57,930 waar dit 'n beter opvoedkundige kan ervaring om betrokke te raak met 'n paar 63 00:02:57,930 --> 00:02:59,610 materiaal aanlyn die kursus se. 64 00:02:59,610 --> 00:03:02,862 Trouens, die reality-- en as ek glo hierdie philosophically-- is dat lesings 65 00:03:02,862 --> 00:03:05,070 is nie 'n besonder doeltreffende manier vir die lewering 66 00:03:05,070 --> 00:03:06,900 redelik komplekse inligting. 67 00:03:06,900 --> 00:03:09,219 Beslis oor n uur plus 'n lang strek van die tyd. 68 00:03:09,219 --> 00:03:11,760 En inderdaad elke paar minutes-- Ek onthou myself in college-- 69 00:03:11,760 --> 00:03:14,210 jy wegraak vir 'n oomblik, jy 'n paar komplekse onderwerp mis, 70 00:03:14,210 --> 00:03:16,540 en jy pretty much gegaan vir die volgende 45 minute. 71 00:03:16,540 --> 00:03:19,414 En die werklikheid is dat die vraag of jy hier is in New Haven of Cambridge 72 00:03:19,414 --> 00:03:22,930 of buite die eenvoud van ' die vermoë om te breek en vinnig vorentoe, 73 00:03:22,930 --> 00:03:26,270 rewind, hyperlink na verwante hulpbronne, soek volledige teks transkripsies 74 00:03:26,270 --> 00:03:29,900 en dies meer is 'n geleentheid wat Durf ek sê vir ons aanlyn studente 75 00:03:29,900 --> 00:03:32,530 ver buite New Haven, bied hulle 'n geleentheid 76 00:03:32,530 --> 00:03:34,700 om werklik verstaan ​​wat die konseptuele materiaal wat ons 77 00:03:34,700 --> 00:03:36,700 stel in lesings al hoe beter. 78 00:03:36,700 --> 00:03:39,415 >> Maar uiteindelik in CS50, is ervaring van die studente se 79 00:03:39,415 --> 00:03:43,099 so gekenmerk, soveel meer deur die loop se probleem stelle, 80 00:03:43,099 --> 00:03:46,140 of weeklikse ontwikkeling projekte, die afdelings natuurlik se gelei deur die onderrig 81 00:03:46,140 --> 00:03:49,600 genote, die nagtelike kantoorure gelei deur die kursus assistente en die onderrig 82 00:03:49,600 --> 00:03:52,330 genote, en inderdaad sulke gebeure as CS50 legkaart 83 00:03:52,330 --> 00:03:56,500 Dag CS50 se Hack-a-thon, die CS50 Fair, weeklikse middagetes, en soveel meer. 84 00:03:56,500 --> 00:03:59,580 En so of jy hier is in New Haven, of tuning in die verte, 85 00:03:59,580 --> 00:04:02,270 Vandag in Cambridge, en ons sal julle weer sien gou, 86 00:04:02,270 --> 00:04:04,580 die werklikheid is dit is een en dieselfde klas. 87 00:04:04,580 --> 00:04:07,990 En ons is so opgewonde om wees hier almal saam vandag. 88 00:04:07,990 --> 00:04:11,110 En so aan die einde van die semester, of hier of ver, goed 89 00:04:11,110 --> 00:04:14,910 Hopelik sal jy trots dra, gelukkig, en miskien met 'n bietjie van verligting, 90 00:04:14,910 --> 00:04:19,459 die hemp wat getuig om jou CS50 geneem. 91 00:04:19,459 --> 00:04:21,700 >> So waar het ons vertrek af op Woensdag? 92 00:04:21,700 --> 00:04:24,410 Ons het 'n blik op computational denke. 93 00:04:24,410 --> 00:04:27,830 En dit is die rigting wat ons gedistilleerde Rekenaarwetenskap vir ten minste 94 00:04:27,830 --> 00:04:28,800 vir nou. 95 00:04:28,800 --> 00:04:31,990 Maar ons gedistilleerde dit bietjie verder in ten minste drie komponente elemente. 96 00:04:31,990 --> 00:04:34,570 >> Insette, so wat is die probleem wat ons probeer om op te los? 97 00:04:34,570 --> 00:04:36,650 Uitsette, wat is die beantwoord ons hoop om te kry? 98 00:04:36,650 --> 00:04:38,210 En die verteenwoordiging van daar. 99 00:04:38,210 --> 00:04:41,870 En ons sal nie op woon hier na op binêre, of selfs ASCII, 100 00:04:41,870 --> 00:04:44,050 en die soos so baie nie, maar eerder as vanselfsprekend 101 00:04:44,050 --> 00:04:47,520 dat ons hierdie inligting kan verteenwoordig, omdat die veel meer interessante dele 102 00:04:47,520 --> 00:04:51,010 van die probleme is nie net die insette en uitsette, maar die algoritmes 103 00:04:51,010 --> 00:04:53,020 wat gaan in die oplossing van die probleme. 104 00:04:53,020 --> 00:04:55,120 >> En jy kan onthou uit die ander dag dat ons 105 00:04:55,120 --> 00:04:59,860 het 'n redelik tradisionele konsep van soek iemand op 106 00:04:59,860 --> 00:05:03,240 in 'n redelike groot telefoon boek, of meer algemeen digitaal hierdie dae, 107 00:05:03,240 --> 00:05:04,420 net 'n baie groot datastel. 108 00:05:04,420 --> 00:05:07,840 'N baie groot kontakte lys, met baie van die name alfabeties gesorteer. 109 00:05:07,840 --> 00:05:11,310 En ons besef dat, terwyl ek kon hierdie probleem eenvoudig benader 110 00:05:11,310 --> 00:05:14,520 deur die gebruik van 'n lineêre approach-- per bladsy, 111 00:05:14,520 --> 00:05:17,775 of selfs twee se op 'n time-- ons besef dat die meer intuïtief algorithm-- 112 00:05:17,775 --> 00:05:20,840 net soort van verdeel en verower weer die probleem, en weer, 113 00:05:20,840 --> 00:05:24,670 en again-- dit halveer met mekaar tyd, het ons hierdie groen gevolg. 114 00:05:24,670 --> 00:05:27,080 En dit is so baie platter want dit dui 115 00:05:27,080 --> 00:05:29,160 dat selfs as die probleem kry groter en groter, 116 00:05:29,160 --> 00:05:32,470 soos in die geval van hierdie dae met data stelle en reality-- Facebook en Google 117 00:05:32,470 --> 00:05:34,630 resultate en die like-- doen ons algoritme 118 00:05:34,630 --> 00:05:37,660 voer net so effektief met dié groter byt 119 00:05:37,660 --> 00:05:40,310 soos dit gedoen het, selfs met die kleiner byt. 120 00:05:40,310 --> 00:05:45,330 >> Nou is dit lei tot die vraag, wat kan ons eintlik los insgelyks 121 00:05:45,330 --> 00:05:46,820 met hierdie soort van intuïsie? 122 00:05:46,820 --> 00:05:48,740 Hierdie soort van verdeeldheid en verower? 123 00:05:48,740 --> 00:05:51,029 Wel, ons kan iets te doen soos dit vandag hier. 124 00:05:51,029 --> 00:05:52,070 Ons kon bywoning te neem. 125 00:05:52,070 --> 00:05:56,102 So miskien soos 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11-- 126 00:05:56,102 --> 00:05:57,560 gaan nie alles wat doeltreffend te wees. 127 00:05:57,560 --> 00:05:58,990 So wag, graad skool. 128 00:05:58,990 --> 00:06:02,770 2, 4, 6, 8, 10, 12, 14, 16, 18 en so meer. 129 00:06:02,770 --> 00:06:04,140 Maar ons kan 'n bietjie beter te doen? 130 00:06:04,140 --> 00:06:06,630 >> Ek is redelik seker ek kan nie doen dit deur myself. 131 00:06:06,630 --> 00:06:09,420 So as jy sal humor ons vir net 'n oomblik, ons het met ons 132 00:06:09,420 --> 00:06:11,640 'n algoritme wat net 'drie stappe, 133 00:06:11,640 --> 00:06:15,130 maar dit beteken require-- as jy nie mind-- almal van ons staan, 134 00:06:15,130 --> 00:06:15,690 As jy wil. 135 00:06:15,690 --> 00:06:23,901 136 00:06:23,901 --> 00:06:29,380 So, met al van ons nou staan, stap een van hierdie algoritme is die volgende. 137 00:06:29,380 --> 00:06:31,680 Staan op en wys jouself die nommer 1. 138 00:06:31,680 --> 00:06:34,180 So op hierdie punt in die tyd, letterlik almal in hierdie kamer 139 00:06:34,180 --> 00:06:38,830 hopelik dink vir hulself, egter ongemaklik, die nommer 1. 140 00:06:38,830 --> 00:06:42,020 >> Stap nou twee van hierdie algoritme gaan na die volgende te betrek. 141 00:06:42,020 --> 00:06:44,680 Stap twee, paar af met iemand staan, 142 00:06:44,680 --> 00:06:47,970 Voeg jou getalle bymekaar, en neem die bedrag as jou nuwe nommer. 143 00:06:47,970 --> 00:06:53,110 144 00:06:53,110 --> 00:06:55,620 Vinnige gesonde verstand tjek. 145 00:06:55,620 --> 00:06:58,180 Watter getal is almal dink nou? 146 00:06:58,180 --> 00:07:01,930 >> So 2, behalwe miskien vir een, ongemaklike, eensaam persoon. 147 00:07:01,930 --> 00:07:04,269 As ons 'n onewe aantal van die mense in die kamer. 148 00:07:04,269 --> 00:07:06,560 So 'n persoon kan nog steeds die nommer 1, is dit goed. 149 00:07:06,560 --> 00:07:09,440 Maar stap drie hier, een van julle moet sit. 150 00:07:09,440 --> 00:07:13,620 Die ander moet terug te gaan om te stap twee, en herhaal, as jy wil. 151 00:07:13,620 --> 00:07:54,430 152 00:07:54,430 --> 00:07:58,240 >> So as nog steeds staan, moet jy wees onder diegene terug te gaan na stap twee. 153 00:07:58,240 --> 00:08:13,910 154 00:08:13,910 --> 00:08:14,574 Die gang te hou. 155 00:08:14,574 --> 00:08:20,790 156 00:08:20,790 --> 00:08:22,130 'N Paar mense nog steeds staan. 157 00:08:22,130 --> 00:08:33,590 158 00:08:33,590 --> 00:08:35,614 >> Dus, as nog steeds staan, saam te werk met iemand. 159 00:08:35,614 --> 00:08:53,710 160 00:08:53,710 --> 00:08:55,020 Alle reg, kwynende af. 161 00:08:55,020 --> 00:09:06,394 162 00:09:06,394 --> 00:09:07,560 'N Paar mense nog steeds staan. 163 00:09:07,560 --> 00:09:08,600 Ek sal jou help indien nodig. 164 00:09:08,600 --> 00:09:11,855 Onthou die sleutel afhaal hier, is hoe baie vinniger is dit as ek tel. 165 00:09:11,855 --> 00:09:15,090 166 00:09:15,090 --> 00:09:16,200 >> So laat ons sien. 167 00:09:16,200 --> 00:09:16,900 Ek kan help. 168 00:09:16,900 --> 00:09:19,425 So watter getal is jy nog dink? 169 00:09:19,425 --> 00:09:20,320 >> GEHOOR: Ek is op 44. 170 00:09:20,320 --> 00:09:22,400 >> DAVID J. MALAN: 44, so jy gaan voort en gaan sit. 171 00:09:22,400 --> 00:09:23,733 Watter getal dink jy van? 172 00:09:23,733 --> 00:09:24,840 GEHOOR: 74. 173 00:09:24,840 --> 00:09:27,006 >> DAVID J. MALAN: 74. 174 00:09:27,006 --> 00:09:28,380 Alle reg, gaan voort en gaan sit. 175 00:09:28,380 --> 00:09:30,390 Wie anders is nog steeds staan? 176 00:09:30,390 --> 00:09:31,550 86. 177 00:09:31,550 --> 00:09:33,340 En is iemand anders nog staan? 178 00:09:33,340 --> 00:09:34,976 >> Watter getal? 179 00:09:34,976 --> 00:09:37,380 Ek het gehoor 67. 180 00:09:37,380 --> 00:09:39,370 En dan in die top? 181 00:09:39,370 --> 00:09:40,900 32. 182 00:09:40,900 --> 00:09:44,230 Enigiemand anders nog staan en dink aan 'n getal? 183 00:09:44,230 --> 00:09:44,730 >> O, hi. 184 00:09:44,730 --> 00:09:45,230 Jammer. 185 00:09:45,230 --> 00:09:48,350 Gou terug. 186 00:09:48,350 --> 00:09:49,520 42. 187 00:09:49,520 --> 00:09:51,758 Iemand anders? 188 00:09:51,758 --> 00:09:52,610 >> GEHOOR: 47. 189 00:09:52,610 --> 00:09:54,930 >> DAVID J. MALAN: 47. 190 00:09:54,930 --> 00:09:57,980 Is daar iemand anders nog staan wat nog nie getel? 191 00:09:57,980 --> 00:10:06,450 So die finale aantal mense in 'n kamer wat 497 sitplekke is-- wat almal 192 00:10:06,450 --> 00:10:10,930 is filled-- is 390. 193 00:10:10,930 --> 00:10:12,230 So dit is 'n groot. 194 00:10:12,230 --> 00:10:16,435 >> Ons sal binnekort bespreek die idee van 'n fout in 'n rekenaar program. 195 00:10:16,435 --> 00:10:19,660 Maar ons sal terug kom voor lank. 196 00:10:19,660 --> 00:10:22,440 Maar in teorie, wat kan het nou net gebeur? 197 00:10:22,440 --> 00:10:25,930 So selfs al drie groot was daar stappe om hierdie algoritme elkeen van daardie 198 00:10:25,930 --> 00:10:27,510 was net soort van 'n groot operasie. 199 00:10:27,510 --> 00:10:31,020 En daar was hierdie cycliciteit om dit in dat as jy is nog steeds staan, 200 00:10:31,020 --> 00:10:34,870 jy gehou gaan van stap 1:57, stap 1:57, stap 1:57. 201 00:10:34,870 --> 00:10:37,330 >> Maar wat gebeur het op elke iterasie? 202 00:10:37,330 --> 00:10:39,440 Elke siklus van hierdie lus? 203 00:10:39,440 --> 00:10:41,940 Wat gebeur het elders in die kamer? 204 00:10:41,940 --> 00:10:45,170 Nie net die dieselfde ding, maar wat gebeur het om die helfte van jou? 205 00:10:45,170 --> 00:10:46,170 Sit. 206 00:10:46,170 --> 00:10:49,710 En so is daar in leuens hierdie insig, baie soos die telefoon boek byvoorbeeld 207 00:10:49,710 --> 00:10:52,050 in dat as die helfte van julle is elke keer sit 208 00:10:52,050 --> 00:10:54,560 die probleem is die begin met miskien 400 mense, 209 00:10:54,560 --> 00:10:57,780 dan 200 mense, as 100 mense, dan 50 mense, en so meer. 210 00:10:57,780 --> 00:11:00,660 >> En so het ons besnoeien in teorie om net een persoon, 211 00:11:00,660 --> 00:11:02,830 dink aan die totale waarde van almal. 212 00:11:02,830 --> 00:11:05,777 Nou werklikheid, 'n paar sosiale dinamika, en 'n paar rekenkundige foute 213 00:11:05,777 --> 00:11:07,360 kan bydra tot daardie uiteindelike fout. 214 00:11:07,360 --> 00:11:10,300 Maar in teorie, terwyl ek nog toe weg, 215 00:11:10,300 --> 00:11:12,860 neem 'n paar dosyn stappe, of honderde stappe 216 00:11:12,860 --> 00:11:16,240 om julle te tel, te tel 'n volle kamer van 500 of so mense 217 00:11:16,240 --> 00:11:20,560 moet veel minder stappe geneem het, omdat jy net kan verdeel 500 en 1/2 218 00:11:20,560 --> 00:11:21,350 so baie keer. 219 00:11:21,350 --> 00:11:24,120 En so, net soos met die telefoon byvoorbeeld bespreek die ander dag, 220 00:11:24,120 --> 00:11:26,740 het ons iets logaritmiese om so te praat, 221 00:11:26,740 --> 00:11:28,870 waardeur as ons was almal wat in harmonie, 222 00:11:28,870 --> 00:11:32,000 en ignoreer die Daarbenewens foute, sou ons 223 00:11:32,000 --> 00:11:34,140 het presies bereik dat die soort van loop van die tyd? 224 00:11:34,140 --> 00:11:37,900 >> Nou eerlik te wees, soort van verneuk, in dat ek 'n ander aged hulpbron. 225 00:11:37,900 --> 00:11:40,320 AANGESIEN dit is net een van my Ek aged honderde jou. 226 00:11:40,320 --> 00:11:43,340 Maar wat kan gesê word dat 'n wees voorbeeld van parallelle verwerking, 227 00:11:43,340 --> 00:11:46,400 of 'n staat van die kuns baie in die mode waar rekenaars hierdie dae het 228 00:11:46,400 --> 00:11:49,830 verskeie CPUs, of meer tegnies meer verskeie cores, 229 00:11:49,830 --> 00:11:52,550 en kan werklik verskeie doen dinge op een slag, baie soos jy 230 00:11:52,550 --> 00:11:54,706 al is ons daar doen, in parallel. 231 00:11:54,706 --> 00:11:56,580 Maar onthou dat dit wat ons ook gedoen het op Woensdag 232 00:11:56,580 --> 00:12:02,640 is probeer om hierdie intuïsie vang en formaliseer dit in die kode. 233 00:12:02,640 --> 00:12:04,165 Iets soos pseudo-kode. 234 00:12:04,165 --> 00:12:07,040 En in die feit, en ek hoop dat jy vergewe, dit is soos 80 grade in hier. 235 00:12:07,040 --> 00:12:09,420 So ek gaan om dit te neem af vir net 'n bietjie. 236 00:12:09,420 --> 00:12:12,410 Wat ek gedink ons ​​wil doen, is die oorgang nou 'n aansoek waardeur 237 00:12:12,410 --> 00:12:16,300 ons weer betrek die gehoor, maar 'n program skryf in Engels 238 00:12:16,300 --> 00:12:19,537 soos sintaksis, waarmee hierdie probleem op te los hier. 239 00:12:19,537 --> 00:12:20,203 [Video speel] 240 00:12:20,203 --> 00:12:22,266 -Dit Se grondboontjiebotter jellie tyd. 241 00:12:22,266 --> 00:12:23,890 Grondboontjiebotter jellie tyd. 242 00:12:23,890 --> 00:12:25,620 Grondboontjiebotter jellie tyd. 243 00:12:25,620 --> 00:12:26,320 >> Manier ya! 244 00:12:26,320 --> 00:12:26,927 Manier ya! 245 00:12:26,927 --> 00:12:27,781 Manier ya! 246 00:12:27,781 --> 00:12:28,350 Manier ya! 247 00:12:28,350 --> 00:12:29,723 Nou is daar gaan jy! 248 00:12:29,723 --> 00:12:30,264 Daar gaan jy! 249 00:12:30,264 --> 00:12:30,805 Daar gaan jy! 250 00:12:30,805 --> 00:12:31,710 Daar gaan jy! 251 00:12:31,710 --> 00:12:33,156 Grondboontjiebotter jellie! 252 00:12:33,156 --> 00:12:34,602 Grondboontjiebotter jellie! 253 00:12:34,602 --> 00:12:36,530 >> Grondboontjiebotter jellie! 254 00:12:36,530 --> 00:12:37,494 Grondboontjiebotter jellie! 255 00:12:37,494 --> 00:12:38,940 Grondboontjiebotter, grondboontjiebotter jellie! 256 00:12:38,940 --> 00:12:39,904 Grondboontjiebotter jellie! 257 00:12:39,904 --> 00:12:41,840 Grondboontjiebotter jellie met 'n baseball bat. 258 00:12:41,840 --> 00:12:42,423 >> [Einde afspeel] 259 00:12:42,423 --> 00:12:45,510 DAVID J. MALAN: --that video, maar dit is 'n bietjie verslawend, 260 00:12:45,510 --> 00:12:46,540 indien nie 'n bietjie lastig. 261 00:12:46,540 --> 00:12:49,623 Maar om dit te doen, het ek gedink wat ons wil doen is probeer om 'n program saam te skryf, 262 00:12:49,623 --> 00:12:51,870 waarvoor ons moet drie vrywilligers. 263 00:12:51,870 --> 00:12:54,350 Het om gemaklik te word op kamera en die internet. 264 00:12:54,350 --> 00:12:57,820 Sam, kom op op. 265 00:12:57,820 --> 00:12:59,830 Pers hemp, reg hier, kom op op. 266 00:12:59,830 --> 00:13:03,470 >> En van hier, laat my gaan 'n bietjie verder terug. 267 00:13:03,470 --> 00:13:05,280 Bloedrooi en blou hemde, kom op op. 268 00:13:05,280 --> 00:13:06,980 Volmaak. 269 00:13:06,980 --> 00:13:09,790 Kom nou. 270 00:13:09,790 --> 00:13:12,490 Kom op, kom op op. 271 00:13:12,490 --> 00:13:13,581 >> En wat is jou naam? 272 00:13:13,581 --> 00:13:14,080 Erica. 273 00:13:14,080 --> 00:13:15,289 David, lekker om jou te ontmoet. 274 00:13:15,289 --> 00:13:16,830 As jy wil om dit te sit hier neem. 275 00:13:16,830 --> 00:13:17,900 Dit is Sam. 276 00:13:17,900 --> 00:13:19,690 >> Wat is jou naam? 277 00:13:19,690 --> 00:13:20,260 Antonio. 278 00:13:20,260 --> 00:13:21,595 Antonio, lekker om jou te ontmoet. 279 00:13:21,595 --> 00:13:23,790 Erica en Sam, as jy wil graag 'n plek hier hê. 280 00:13:23,790 --> 00:13:26,700 Wat ons bereid kom met, as hierdie ouens ontdek, 281 00:13:26,700 --> 00:13:30,580 is die bestanddele waarmee maak 'n grondboontjiebotter en jellie toebroodjie. 282 00:13:30,580 --> 00:13:33,520 >> Nou is dit dalk iets wees dat neem jou baie as vanselfsprekend aanvaar. 283 00:13:33,520 --> 00:13:35,430 Maar ons het elke gegewe van ons drie vrywilligers 284 00:13:35,430 --> 00:13:40,500 here-- twee vrywilligers en Sam hier, 'n brood elk, 'n bord, 'n mes, 285 00:13:40,500 --> 00:13:43,740 'n pot van jellie of konfyt, en 'n pot van grondboontjiebotter. 286 00:13:43,740 --> 00:13:46,190 En die doel aan die hand is nou gaan wees vir die drie 287 00:13:46,190 --> 00:13:48,030 'n grondboontjiebotter maak en jellie toebroodjie. 288 00:13:48,030 --> 00:13:51,000 Maar wat ons gaan doen, is om te verwag die audience-- sedert almal van julle 289 00:13:51,000 --> 00:13:53,710 sekerlik weet hoe om te doen hierdie so goed in reality-- 290 00:13:53,710 --> 00:13:56,380 gaan ons te voorsien met die stap vir stap instruksies. 291 00:13:56,380 --> 00:13:57,970 Die pseudo-kode, as jy wil. 292 00:13:57,970 --> 00:13:59,922 >> So sal ek die rol van skrywer hier te speel. 293 00:13:59,922 --> 00:14:02,880 En ek het 'n bietjie te-doen lys het, en so elkeen van julle, een op 'n tyd, 294 00:14:02,880 --> 00:14:04,588 roep 'n potensiële instruksionele, sal ek 295 00:14:04,588 --> 00:14:06,110 skryf dit neer, herhaal dit as dit nodig is. 296 00:14:06,110 --> 00:14:09,650 En dan moet jy ouens gaan maak 'n grondboontjiebotter en jellie toebroodjie 297 00:14:09,650 --> 00:14:11,171 net deur te doen wat jy vertel. 298 00:14:11,171 --> 00:14:12,670 So dink julle as rekenaars. 299 00:14:12,670 --> 00:14:13,740 >> Jy kan net doen wat jy gesê het. 300 00:14:13,740 --> 00:14:14,948 Geen aannames, geen vrae. 301 00:14:14,948 --> 00:14:16,660 Jy hoef net om dit te doen. 302 00:14:16,660 --> 00:14:20,460 So wat wil waag die eerste opdrag vir die maak van 'n PBJ toebroodjie? 303 00:14:20,460 --> 00:14:21,460 Op die balkon is daar. 304 00:14:21,460 --> 00:14:22,801 >> GEHOOR: Maak die sak van die brood. 305 00:14:22,801 --> 00:14:26,430 >> DAVID J. MALAN: Maak die sak brood, as jy wil. 306 00:14:26,430 --> 00:14:34,440 307 00:14:34,440 --> 00:14:35,230 So laat ons sien. 308 00:14:35,230 --> 00:14:37,910 Kom ons Itereer, en kry 'n bietjie meer akkuraat. 309 00:14:37,910 --> 00:14:39,040 >> Goeie manier om al begin. 310 00:14:39,040 --> 00:14:42,340 Stap twee, iemand anders. 311 00:14:42,340 --> 00:14:43,590 Nou wil niemand om vrywillig. 312 00:14:43,590 --> 00:14:44,616 Stap twee, in die voorkant. 313 00:14:44,616 --> 00:14:46,532 GEHOOR: Maak die innerlike sak brood as well. 314 00:14:46,532 --> 00:14:50,600 DAVID J. MALAN: Maak die innerlike sak brood as well. 315 00:14:50,600 --> 00:14:51,880 Groot, leer ons. 316 00:14:51,880 --> 00:14:57,880 317 00:14:57,880 --> 00:14:59,090 'N bietjie meer akkuraat. 318 00:14:59,090 --> 00:15:00,240 Kom ons kry dit werk. 319 00:15:00,240 --> 00:15:01,180 Ja, in die groen hemp. 320 00:15:01,180 --> 00:15:04,608 >> GEHOOR: [onhoorbaar] 321 00:15:04,608 --> 00:15:05,108 322 00:15:05,108 --> 00:15:09,040 DAVID J. MALAN: Snye brood. 323 00:15:09,040 --> 00:15:11,110 Verwyder versigtig twee snye brood. 324 00:15:11,110 --> 00:15:20,350 325 00:15:20,350 --> 00:15:21,000 Dit is goed. 326 00:15:21,000 --> 00:15:24,300 Stap vier, iemand anders? 327 00:15:24,300 --> 00:15:25,170 Hier, ja? 328 00:15:25,170 --> 00:15:26,130 >> GEHOOR: [onhoorbaar] 329 00:15:26,130 --> 00:15:28,810 >> DAVID J. MALAN: Place brood op plaat. 330 00:15:28,810 --> 00:15:33,490 331 00:15:33,490 --> 00:15:35,290 Stap vyf? 332 00:15:35,290 --> 00:15:36,020 Stap vyf, ja? 333 00:15:36,020 --> 00:15:39,440 >> GEHOOR: [onhoorbaar] 334 00:15:39,440 --> 00:15:39,940 335 00:15:39,940 --> 00:15:43,860 DAVID J. MALAN: Op die top of-- oh, hand. 336 00:15:43,860 --> 00:15:46,967 Plaas hand op die top van grondboontjiebotter. 337 00:15:46,967 --> 00:15:47,800 Is dit wat ek kop? 338 00:15:47,800 --> 00:15:49,160 >> GEHOOR: Ja, en skroef. 339 00:15:49,160 --> 00:15:51,370 >> DAVID J. MALAN: And-- sê dit weer. 340 00:15:51,370 --> 00:15:52,696 >> GEHOOR: [onhoorbaar] 341 00:15:52,696 --> 00:15:57,990 >> DAVID J. MALAN: En sit die deksel langs die grondboontjiebotter. 342 00:15:57,990 --> 00:16:00,370 Liggies plaas hand op top van grondboontjiebotter, 343 00:16:00,370 --> 00:16:03,240 en skroef, en sit die deksel langs die grondboontjiebotter. 344 00:16:03,240 --> 00:16:14,760 345 00:16:14,760 --> 00:16:16,260 OK, stap ses. 346 00:16:16,260 --> 00:16:17,520 Stap ses iemand anders. 347 00:16:17,520 --> 00:16:19,366 Ja? 348 00:16:19,366 --> 00:16:22,740 >> GEHOOR: [onhoorbaar] 349 00:16:22,740 --> 00:16:29,197 350 00:16:29,197 --> 00:16:30,405 DAVID J. MALAN: Sê dit weer. 351 00:16:30,405 --> 00:16:31,946 GEHOOR: Herhaal stap vyf weer. 352 00:16:31,946 --> 00:16:37,380 DAVID J. MALAN: En Herhaal stap vyf weer 353 00:16:37,380 --> 00:16:39,400 wat gaan om te skep 'n bietjie van 'n probleem 354 00:16:39,400 --> 00:16:42,600 nou as ons doen dit stap vir stap. 355 00:16:42,600 --> 00:16:44,640 So nou terug te gaan ons om te stap vyf. 356 00:16:44,640 --> 00:16:47,760 Liggies plaas hand op die top grondboontjiebotter en draai 357 00:16:47,760 --> 00:16:50,990 en sit deksel langs die grondboontjiebotter. 358 00:16:50,990 --> 00:16:55,340 Gryp dan die grondboontjiebotter en stap vyf herhaal. 359 00:16:55,340 --> 00:16:58,410 >> So ons sal ignoreer wat oneindige lus, as jy wil. 360 00:16:58,410 --> 00:17:00,400 Stap sewe iemand anders. 361 00:17:00,400 --> 00:17:02,918 Ja, in die rug. 362 00:17:02,918 --> 00:17:06,397 >> GEHOOR: [onhoorbaar] 363 00:17:06,397 --> 00:17:16,084 364 00:17:16,084 --> 00:17:17,769 >> DAVID J. MALAN: --on top van die ander. 365 00:17:17,769 --> 00:17:20,529 >> GEHOOR: [onhoorbaar] 366 00:17:20,529 --> 00:17:23,175 >> DAVID J. MALAN: Op die ander hand op die ander top. 367 00:17:23,175 --> 00:17:28,880 368 00:17:28,880 --> 00:17:30,895 Wil jy net kom hier? 369 00:17:30,895 --> 00:17:34,750 Hoe kan ek die opdrag te voltooi? 370 00:17:34,750 --> 00:17:37,790 Wat is die res van die opdrag? 371 00:17:37,790 --> 00:17:39,140 >> GEHOOR: ignoreer wat deel. 372 00:17:39,140 --> 00:17:41,050 >> DAVID J. MALAN: ignoreer wat deel. 373 00:17:41,050 --> 00:17:44,192 374 00:17:44,192 --> 00:17:44,900 Kom ons begin oor. 375 00:17:44,900 --> 00:17:45,400 Stap sewe. 376 00:17:45,400 --> 00:17:48,516 377 00:17:48,516 --> 00:17:51,883 >> GEHOOR: [onhoorbaar] 378 00:17:51,883 --> 00:17:56,090 >> DAVID J. MALAN: begrip met opponerende hand-- dit is goed. 379 00:17:56,090 --> 00:17:58,544 Dit is eintlik 'n goeie. 380 00:17:58,544 --> 00:18:01,750 >> GEHOOR: [onhoorbaar] 381 00:18:01,750 --> 00:18:03,975 >> DAVID J. MALAN: en plastiek jar-- 382 00:18:03,975 --> 00:18:06,675 >> GEHOOR: [onhoorbaar] 383 00:18:06,675 --> 00:18:08,420 >> DAVID J. MALAN: En twist-- 384 00:18:08,420 --> 00:18:11,488 >> GEHOOR: [onhoorbaar] 385 00:18:11,488 --> 00:18:13,730 >> DAVID J. MALAN: Vir twee sekondes. 386 00:18:13,730 --> 00:18:15,800 Net oop die grondboontjiebotter jar. 387 00:18:15,800 --> 00:18:19,020 388 00:18:19,020 --> 00:18:20,632 Ek hoop jy sal vergewe. 389 00:18:20,632 --> 00:18:21,840 So laat ons veronderstel ons daar aankom. 390 00:18:21,840 --> 00:18:23,240 Maak die grondboontjiebotter jar. 391 00:18:23,240 --> 00:18:27,008 392 00:18:27,008 --> 00:18:32,570 >> [Applous] 393 00:18:32,570 --> 00:18:34,790 >> DAVID J. MALAN: Stap agt, laat ons gaan. 394 00:18:34,790 --> 00:18:37,510 Stap agt, ja, in die rug. 395 00:18:37,510 --> 00:18:38,470 >> GEHOOR: [onhoorbaar] 396 00:18:38,470 --> 00:18:44,772 397 00:18:44,772 --> 00:18:45,700 >> DAVID J. MALAN: Goed. 398 00:18:45,700 --> 00:18:47,040 Stap nege, ja? 399 00:18:47,040 --> 00:18:48,924 >> GEHOOR: [onhoorbaar] 400 00:18:48,924 --> 00:18:51,567 >> DAVID J. MALAN: --out van die grondboontjiebotter jar. 401 00:18:51,567 --> 00:18:53,830 And-- en wat? 402 00:18:53,830 --> 00:18:54,729 >> GEHOOR: [onhoorbaar] 403 00:18:54,729 --> 00:18:58,222 >> DAVID J. MALAN: En sit die mes terug in grondboontjiebotter. 404 00:18:58,222 --> 00:19:11,130 405 00:19:11,130 --> 00:19:12,090 Stap tien. 406 00:19:12,090 --> 00:19:13,050 Stap tien. 407 00:19:13,050 --> 00:19:14,970 >> GEHOOR: [onhoorbaar] 408 00:19:14,970 --> 00:19:20,710 >> DAVID J. MALAN: Sit die mes uit en verwyder dan die seël. 409 00:19:20,710 --> 00:19:23,060 Nice. 410 00:19:23,060 --> 00:19:24,400 Off die grondboontjiebotter. 411 00:19:24,400 --> 00:19:34,490 412 00:19:34,490 --> 00:19:36,406 Alle reg, stap 11. 413 00:19:36,406 --> 00:19:37,322 >> GEHOOR: [onhoorbaar] 414 00:19:37,322 --> 00:19:42,520 415 00:19:42,520 --> 00:19:48,164 >> DAVID J. MALAN: OK, grys rekenaar volg blou of rooi rekenaar. 416 00:19:48,164 --> 00:19:49,631 Goed. 417 00:19:49,631 --> 00:19:53,054 >> [Applous] 418 00:19:53,054 --> 00:19:55,920 419 00:19:55,920 --> 00:19:57,170 DAVID J. MALAN: Bring ons huis. 420 00:19:57,170 --> 00:19:59,570 Paar meer stappe. 421 00:19:59,570 --> 00:20:00,250 Wat is volgende? 422 00:20:00,250 --> 00:20:02,590 Stappe 12. 423 00:20:02,590 --> 00:20:04,161 Stap 12. 424 00:20:04,161 --> 00:20:05,123 Ja? 425 00:20:05,123 --> 00:20:14,262 >> GEHOOR: Sit een van die snye brood liggies op een van jou hande. 426 00:20:14,262 --> 00:20:17,550 >> DAVID J. MALAN: Een van jou hande. 427 00:20:17,550 --> 00:20:20,760 En dan, stap 13. 428 00:20:20,760 --> 00:20:21,260 Ja? 429 00:20:21,260 --> 00:20:22,220 >> GEHOOR: [onhoorbaar] 430 00:20:22,220 --> 00:20:25,580 431 00:20:25,580 --> 00:20:27,150 >> DAVID J. MALAN: --on sny brood. 432 00:20:27,150 --> 00:20:29,950 Goed. 433 00:20:29,950 --> 00:20:32,260 Redelik goed. 434 00:20:32,260 --> 00:20:34,990 Stap 14, ja. 435 00:20:34,990 --> 00:20:38,126 >> GEHOOR: ongedaan stap 13. 436 00:20:38,126 --> 00:20:39,950 >> DAVID J. MALAN: ongedaan stap 13. 437 00:20:39,950 --> 00:20:42,690 438 00:20:42,690 --> 00:20:44,770 Kom ons beweeg om jellie. 439 00:20:44,770 --> 00:20:47,900 Dit is 'n 100 stap program, maar ons was op stap 15. 440 00:20:47,900 --> 00:20:49,210 Ja. 441 00:20:49,210 --> 00:20:50,170 >> GEHOOR: [onhoorbaar] 442 00:20:50,170 --> 00:20:53,050 443 00:20:53,050 --> 00:20:59,570 >> DAVID J. MALAN: 7 deur gebruik te maak van 13 die jellie, want dié gaan so goed. 444 00:20:59,570 --> 00:21:02,530 Herhaal stappe 7 deur 13, met behulp van die jellie. 445 00:21:02,530 --> 00:21:07,940 So gryp die onderste helfte van die jellie jar met die een hand bo-op. 446 00:21:07,940 --> 00:21:11,970 Aan die ander kant van die ander top, ignoreer wat deel, 447 00:21:11,970 --> 00:21:15,430 gryp met opponerende hande, die deksel en die plastiek jar 448 00:21:15,430 --> 00:21:18,300 aan die onderkant, en draai vir twee sekondes. 449 00:21:18,300 --> 00:21:19,940 Maak dan die jellie jar. 450 00:21:19,940 --> 00:21:23,290 451 00:21:23,290 --> 00:21:26,580 En laastens, laat ons probeer om gee ons iets eetbaar. 452 00:21:26,580 --> 00:21:27,270 Stap 16. 453 00:21:27,270 --> 00:21:35,820 454 00:21:35,820 --> 00:21:37,130 So waarom nie ons laat dit daar. 455 00:21:37,130 --> 00:21:38,879 Baie dankie aan Ons drie vrywilligers. 456 00:21:38,879 --> 00:21:41,466 [Applous] 457 00:21:41,466 --> 00:21:45,920 458 00:21:45,920 --> 00:21:50,300 >> Ons het 'n bietjie CS50 stres bal vir jou. 459 00:21:50,300 --> 00:21:54,540 Dit gaan 'n wees sandwich but-- so wat 460 00:21:54,540 --> 00:21:57,130 was op die punt, as 'n bietjie pret met die algoritme? 461 00:21:57,130 --> 00:22:00,140 Maar die werklikheid is dat selfs wanneer Jy is 'n rekenaarprogrammering, 462 00:22:00,140 --> 00:22:02,050 wat jy nodig het super presies te wees. 463 00:22:02,050 --> 00:22:04,030 As komplekse of intimiderend as jou eie rekenaar 464 00:22:04,030 --> 00:22:06,670 kan baie goed wees vir julle, by minste wanneer iets verkeerd gaan, 465 00:22:06,670 --> 00:22:10,150 Die werklikheid is dit is 'n redelik dom toestel wat is uitgevind deur ons mense, 466 00:22:10,150 --> 00:22:13,267 en kan dit net doen 'n subset van wat ons do-- soms beslis faster-- 467 00:22:13,267 --> 00:22:15,100 maar dit beteken nie weet hoe om aannames te maak. 468 00:22:15,100 --> 00:22:18,070 Dit maak nie weet hoe om op te wees dieselfde golflengte as jy. 469 00:22:18,070 --> 00:22:20,280 >> Dit sal slegs presies doen wat jy vertel dit. 470 00:22:20,280 --> 00:22:22,070 En jy sal getref word, miskien, as ons begin 471 00:22:22,070 --> 00:22:24,770 skryf werklike kode met die eerste probleem stelle en verder, 472 00:22:24,770 --> 00:22:27,490 net hoe maklik dit is om te maak 'n aanname as 'n mens, 473 00:22:27,490 --> 00:22:31,880 en nie verwag ek moet hanteer daardie geval, of dat die hoek geval, 474 00:22:31,880 --> 00:22:34,900 om so te praat, wat dalk baie goed ontstaan ​​as byvoorbeeld Sam het die enigste 475 00:22:34,900 --> 00:22:38,711 handelbaar jar jellie, terwyl almal het 'n paar glasbottels as 476 00:22:38,711 --> 00:22:39,210 well. 477 00:22:39,210 --> 00:22:42,170 So voordat ons draai ons aandag aan sommige werklike kode, 478 00:22:42,170 --> 00:22:44,680 laat my toe om die stel koppe natuurlik se hier by Yale. 479 00:22:44,680 --> 00:22:49,058 Ons vriende Scaz, Andy en Jason te kom en sê hallo. 480 00:22:49,058 --> 00:22:52,544 >> [Applous] 481 00:22:52,544 --> 00:22:58,022 482 00:22:58,022 --> 00:23:01,060 >> SCAZ: Ons het tydelik verloor Jason. 483 00:23:01,060 --> 00:23:02,440 Hi weer almal. 484 00:23:02,440 --> 00:23:03,610 My naam is Scaz. 485 00:23:03,610 --> 00:23:06,860 Ek het geleer by Yale sedert 2001. 486 00:23:06,860 --> 00:23:10,820 En wanneer ek nie onderrig, my navorsing is in robotika 487 00:23:10,820 --> 00:23:12,620 en kunsmatige intelligensie. 488 00:23:12,620 --> 00:23:17,700 >> En die aankondiging dat ek vandag is dat die begin in 'n paar weke, 489 00:23:17,700 --> 00:23:22,170 ons gaan bring sommige aanvullende materiaal CS50 te praat 490 00:23:22,170 --> 00:23:24,510 oor intelligensie sagteware. 491 00:23:24,510 --> 00:23:28,230 Ons gaan praat oor hoe plekke soos Netflix en Hulu 492 00:23:28,230 --> 00:23:31,780 kan movies beveel wat jy dalk wil om te kyk. 493 00:23:31,780 --> 00:23:35,710 Waar ons sal praat oor hoe bestuurder-minder motors eintlik werk. 494 00:23:35,710 --> 00:23:39,020 En ons sal in staat wees om die grond hierdie dinge in die konsepte 495 00:23:39,020 --> 00:23:41,730 wat jy leer in hierdie klas vandag. 496 00:23:41,730 --> 00:23:45,410 >> Want al hierdie dinge is gebou op die fondament dieselfde. 497 00:23:45,410 --> 00:23:47,396 En dit is wat hierdie reeks sal verken. 498 00:23:47,396 --> 00:23:49,520 So ek sien baie uit daarna om te sien meer van jou 499 00:23:49,520 --> 00:23:53,260 almal, en jy gaan om te kry sien meer van ons almal baie gou. 500 00:23:53,260 --> 00:23:56,500 Laat my dan stel Jason. 501 00:23:56,500 --> 00:23:57,950 >> JASON: Hi almal. 502 00:23:57,950 --> 00:23:59,290 My naam is Jason. 503 00:23:59,290 --> 00:24:03,540 Ek het ongelukkig Harvard as 'n Voorgraadse. 504 00:24:03,540 --> 00:24:07,020 Dit gaan om ontslae te sny uit die werklike stroom. 505 00:24:07,020 --> 00:24:09,870 >> En nou is ek hier as 'n dosent in die Departement Rekenaarwetenskap. 506 00:24:09,870 --> 00:24:14,825 En ek help loop die kursus met Scaz, David en Andy. 507 00:24:14,825 --> 00:24:17,140 >> ANDY: Hey ouens. 508 00:24:17,140 --> 00:24:17,980 Andy van my Naam. 509 00:24:17,980 --> 00:24:21,992 Ek is eintlik die enigste Yale student op die verhoog nou. 510 00:24:21,992 --> 00:24:25,464 >> [Applous] 511 00:24:25,464 --> 00:24:29,440 512 00:24:29,440 --> 00:24:31,770 >> Ek is in Berkeley College, oorspronklik van Solon, Ohio. 513 00:24:31,770 --> 00:24:35,240 514 00:24:35,240 --> 00:24:37,930 En ek was een van daardie kinders waar, wanneer Ek het gekom om Yale, 515 00:24:37,930 --> 00:24:42,030 Ek het regtig gedink dat ek sou nooit het om te kyk na 'n aantal ooit weer. 516 00:24:42,030 --> 00:24:46,240 En dan het ek besef dat jy nodig beide wetenskap en QR krediete gradueer. 517 00:24:46,240 --> 00:24:51,340 En so my eerstejaars lente, het ek 'n klas, 'n CS, intro CS klas hier 518 00:24:51,340 --> 00:24:52,230 aan die Yale. 519 00:24:52,230 --> 00:24:54,710 Ek was soos, dit is soos eintlik pretty cool. 520 00:24:54,710 --> 00:25:01,330 >> En terwyl ek eintlik beland verklaar as 'n globale sake groot, die vaardighede 521 00:25:01,330 --> 00:25:04,910 Ek het geleer in CS en programmering so van toepassing op enige veld 522 00:25:04,910 --> 00:25:05,970 jy kies om te doen. 523 00:25:05,970 --> 00:25:09,770 En die personeel hier by Yale, ons het so hard by die werk 524 00:25:09,770 --> 00:25:10,800 om voor te berei vir julle. 525 00:25:10,800 --> 00:25:13,410 En ons sien uit na al in artikel en kantoorure. 526 00:25:13,410 --> 00:25:14,874 So ja. 527 00:25:14,874 --> 00:25:18,178 >> [Applous] 528 00:25:18,178 --> 00:25:19,297 529 00:25:19,297 --> 00:25:20,380 DAVID J. MALAN: Dankie. 530 00:25:20,380 --> 00:25:22,940 So net voor die klas begin, Ons het 'n geleentheid 531 00:25:22,940 --> 00:25:25,660 om rond te loop kampus met 'n selfoon en neem 532 00:25:25,660 --> 00:25:30,530 sommige selfies in video vorm van werklik my eerste toer van die kampus Yale se hier. 533 00:25:30,530 --> 00:25:35,420 En so het ons gedink ons ​​wil deel 'n rowwe cut presies dit as Scaz en Andy 534 00:25:35,420 --> 00:25:37,970 en Jason het my om die kampus. 535 00:25:37,970 --> 00:25:43,662 536 00:25:43,662 --> 00:25:44,328 [Video speel] 537 00:25:44,328 --> 00:25:47,322 [Sirenes] 538 00:25:47,322 --> 00:25:49,318 -David. 539 00:25:49,318 --> 00:25:50,132 Welcome To Yale. 540 00:25:50,132 --> 00:25:50,840 Goeie om jou te sien. 541 00:25:50,840 --> 00:25:52,410 -Nice Om jou te sien. 542 00:25:52,410 --> 00:25:53,340 -Kan Ons gaan op 'n toer? 543 00:25:53,340 --> 00:25:56,845 -Laat Ons gaan op 'n toer. 544 00:25:56,845 --> 00:25:57,523 -Road Toer. 545 00:25:57,523 --> 00:25:59,106 -Dit Teken is daar vir 'n rukkie. 546 00:25:59,106 --> 00:26:00,200 -Whah, CS50. 547 00:26:00,200 --> 00:26:02,978 548 00:26:02,978 --> 00:26:05,293 >> -Hurry! 549 00:26:05,293 --> 00:26:08,970 Gaan, gaan, gaan, gaan. 550 00:26:08,970 --> 00:26:12,340 Jy moet [onhoorbaar] Harkness toring. 551 00:26:12,340 --> 00:26:13,850 >> -en Het ons gesien dat 'n paar keer. 552 00:26:13,850 --> 00:26:16,760 553 00:26:16,760 --> 00:26:20,155 >> [Applous] 554 00:26:20,155 --> 00:26:21,130 555 00:26:21,130 --> 00:26:22,890 >> -Look Uit vir die fiets! 556 00:26:22,890 --> 00:26:24,500 Ahh! 557 00:26:24,500 --> 00:26:25,030 Hi Frank. 558 00:26:25,030 --> 00:26:26,314 >> -Wat Is up, ouens? 559 00:26:26,314 --> 00:26:26,855 -Hoe Is jy? 560 00:26:26,855 --> 00:26:28,474 Goeie om jou te sien. 561 00:26:28,474 --> 00:26:29,390 Welcome To die video. 562 00:26:29,390 --> 00:26:32,270 Tree nie te opgewonde. 563 00:26:32,270 --> 00:26:34,502 >> -Ek Is lief Silliman. 564 00:26:34,502 --> 00:26:36,430 Ahh! 565 00:26:36,430 --> 00:26:39,780 >> -Dit Was sowat drie uur sedert Jason het roomys en Nutella. 566 00:26:39,780 --> 00:26:43,189 So ons het om terug te stop by Silliman vir 'n bietjie. 567 00:26:43,189 --> 00:26:45,137 >> -Dit Is nie eens [onhoorbaar] Tog, net die feit 568 00:26:45,137 --> 00:26:47,270 dat hulle dit hier het, is so amazing. 569 00:26:47,270 --> 00:26:49,830 Dude, daar is Nutella by elke maaltyd. 570 00:26:49,830 --> 00:26:51,830 >> -Daar Was verlede jaar ook. 571 00:26:51,830 --> 00:26:54,220 >> -Yeah. 572 00:26:54,220 --> 00:26:56,440 >> -tell veel oor Yale so ver. 573 00:26:56,440 --> 00:26:58,485 Maar ek weet nou dat td daar. 574 00:26:58,485 --> 00:26:59,860 En dit is beskou kampus af. 575 00:26:59,860 --> 00:27:03,659 >> -Here Ons het Gotiese argitektuur. 576 00:27:03,659 --> 00:27:04,200 Wêreld beroemde. 577 00:27:04,200 --> 00:27:06,758 Ons het 'n paar meer Gotiese argitektuur. 578 00:27:06,758 --> 00:27:10,614 En konstruksie, en meer Gotiese argitektuur. 579 00:27:10,614 --> 00:27:11,114 Hi. 580 00:27:11,114 --> 00:27:15,470 Dit is waar ons is met kantoorure Dinsdae deur Donderdae in Hogwarts, 581 00:27:15,470 --> 00:27:16,922 as [onhoorbaar]. 582 00:27:16,922 --> 00:27:20,620 583 00:27:20,620 --> 00:27:21,120 -Alle Reg. 584 00:27:21,120 --> 00:27:22,078 Dit is dit vir die toer. 585 00:27:22,078 --> 00:27:24,030 Ons is aan die Yale Universiteit se Law School, waar 586 00:27:24,030 --> 00:27:25,870 lesing vandag se oor plaasvind. 587 00:27:25,870 --> 00:27:29,220 Kom ons kop in. 588 00:27:29,220 --> 00:27:30,375 >> [Einde afspeel] 589 00:27:30,375 --> 00:27:32,370 >> DAVID J. MALAN: En dit bring ons nou hier. 590 00:27:32,370 --> 00:27:38,040 591 00:27:38,040 --> 00:27:40,770 So tot dusver, het ons fokus op pseudokode, 592 00:27:40,770 --> 00:27:42,430 wat is hierdie Engelse-agtige sintaksis. 593 00:27:42,430 --> 00:27:45,030 Dit het geen voorgeskrewe spesifikasie. 594 00:27:45,030 --> 00:27:47,030 Dit is net 'n paar te gebruik wat jy intuïtief taal as jy 595 00:27:47,030 --> 00:27:48,950 wil om te verduidelik wat jy wil doen. 596 00:27:48,950 --> 00:27:52,270 >> Maar laat ons begin nou om die oorgang die kode, soos die meeste mense sou sê. 597 00:27:52,270 --> 00:27:54,880 Maar meer presies, iets bekend as bronkode. 598 00:27:54,880 --> 00:27:58,210 Dit is die taal wat mense skryf dat rekenaars ultimately-- 599 00:27:58,210 --> 00:28:00,780 moontlik na 'n paar aantal steps-- uiteindelik verstaan 600 00:28:00,780 --> 00:28:02,530 so om te weet hoe om iets te doen. 601 00:28:02,530 --> 00:28:05,120 Dat jy het 'n blik op hierdie dalk op Woensdag. 602 00:28:05,120 --> 00:28:07,780 >> Dit is 'n voorbeeld wat ongelooflik, underwhelming 603 00:28:07,780 --> 00:28:10,220 wanneer hardloop eenvoudig sê "hallo wêreld." 604 00:28:10,220 --> 00:28:13,510 En dit is geskryf in 'n taal, die sogenaamde C, wat is sintakties baie soortgelyk 605 00:28:13,510 --> 00:28:15,676 om 'n baie ander tale wat jy dalk nie weet nie, 606 00:28:15,676 --> 00:28:18,409 maar dalk van gehoor soos Java, en C ++ en Python en Ruby, 607 00:28:18,409 --> 00:28:21,200 en dies meer, en inderdaad, sal ons spandeer baie van die semester met behulp van C, 608 00:28:21,200 --> 00:28:23,530 en dan aan die einde van die semester, bou op dit, 609 00:28:23,530 --> 00:28:25,446 en die bekendstelling van 'n aantal ander tale. 610 00:28:25,446 --> 00:28:28,810 Onder hulle PHP en JavaScript, 'n databasis taal genoem SQL. 611 00:28:28,810 --> 00:28:31,526 Maar met C, wat ons sal moet hierdie bottom-up begrip 612 00:28:31,526 --> 00:28:33,900 van presies hoe rekenaars werk, wat jy kan doen met hulle, 613 00:28:33,900 --> 00:28:37,252 en hoe kan jy probleme op te los al hoe meer effektief deur hierdie 614 00:28:37,252 --> 00:28:39,460 gelaagdheid dat ons bespreek op Woensdag, en staan 615 00:28:39,460 --> 00:28:40,870 op die skouers van ander. 616 00:28:40,870 --> 00:28:42,200 Maar meer oor dit te kom. 617 00:28:42,200 --> 00:28:46,650 >> Vandag kyk ons ​​na 'n eenvoudiger omgewing, maar 'n fundamenteel identies 618 00:28:46,650 --> 00:28:49,970 omgewing bekend as Scratch deur ons vriende by MIT Media Lab. 619 00:28:49,970 --> 00:28:52,570 Dit is 'n grafiese programmeertaal, Scratch, 620 00:28:52,570 --> 00:28:54,330 waardeur jy kan sleep en drop dinge wat 621 00:28:54,330 --> 00:28:57,430 lyk legkaart stukke wat net grendeling as dit maak 622 00:28:57,430 --> 00:28:59,872 logiese of programmatiese sin om dit te doen. 623 00:28:59,872 --> 00:29:02,330 Maar dit gaan om ons toe te laat om 'n gesprek oor al 624 00:29:02,330 --> 00:29:04,604 van dieselfde programmering grondbeginsels dat sommige van julle 625 00:29:04,604 --> 00:29:06,520 dalk reeds weet, dat baie van julle dalk nie 626 00:29:06,520 --> 00:29:09,670 weet niks van sonder om eerlik kry vasgeval, 627 00:29:09,670 --> 00:29:13,150 in die intellektueel oninteressant sintaksis van kommapunte, 628 00:29:13,150 --> 00:29:14,950 en hakies, en haal, en dies meer. 629 00:29:14,950 --> 00:29:16,910 Al wat vroeg op, is 'n afleiding 630 00:29:16,910 --> 00:29:20,322 na wat interessant en werklik nuttige idees. 631 00:29:20,322 --> 00:29:22,280 So laat ons neem 'n vinnige blik op die omgewing 632 00:29:22,280 --> 00:29:24,180 hier, sodat jy weet wat wag. 633 00:29:24,180 --> 00:29:28,060 En in die feit, onder die speletjies wat ons kan speel is 'n paar programme wat geskryf is 634 00:29:28,060 --> 00:29:30,810 deur eie oudstudente CS50 se. 635 00:29:30,810 --> 00:29:36,200 Een van hulle, myself, ek sal hierdie een geskryf in nagraadse skool vir my. 636 00:29:36,200 --> 00:29:39,030 >> As ek 'n vrywilliger kan neem wat bereid is om te speel 637 00:29:39,030 --> 00:29:40,420 'n spel vir die heel eerste keer. 638 00:29:40,420 --> 00:29:40,920 Seker nie. 639 00:29:40,920 --> 00:29:41,690 Kom up. 640 00:29:41,690 --> 00:29:42,565 Wat is jou naam? 641 00:29:42,565 --> 00:29:43,372 >> GEHOOR: Angela. 642 00:29:43,372 --> 00:29:44,830 DAVID J. MALAN: Angela, kom op op. 643 00:29:44,830 --> 00:29:47,220 So Scratch is uit vir 'n paar jaar. 644 00:29:47,220 --> 00:29:49,960 En toe ek in nagraadse skool, Ek was kruis geregistreer by MIT, 645 00:29:49,960 --> 00:29:53,392 neem professor Mitchel Resnick se kursus oor opvoedkundige tegnologie. 646 00:29:53,392 --> 00:29:56,350 En ons was onder die eerste studente in die wêreld om werklik beta 647 00:29:56,350 --> 00:29:57,120 toets Scratch. 648 00:29:57,120 --> 00:30:00,090 En my projek was wat Angela nou genade vrywillig 649 00:30:00,090 --> 00:30:02,060 om speel genoem Oscartime. 650 00:30:02,060 --> 00:30:04,507 >> So ek gaan om voort te gaan en dubbel kliek hier die ikoon. 651 00:30:04,507 --> 00:30:07,590 Dit gaan om oop te maak 'n programmeertaal omgewing wat ons binnekort sal duik in. 652 00:30:07,590 --> 00:30:09,720 Ek gaan die volle skerm dit Angela, hier. 653 00:30:09,720 --> 00:30:12,490 Ek gaan die groen getref vlag in net 'n oomblik. 654 00:30:12,490 --> 00:30:15,130 En dan 'n hele klomp van die asblik gaan uit die lug te val. 655 00:30:15,130 --> 00:30:17,830 En jy gaan om die muis te gebruik hier om werklik sleep en 656 00:30:17,830 --> 00:30:20,169 die asblik in Oscar se vuilnisemmer. 657 00:30:20,169 --> 00:30:23,210 So as jy wil om voort te gaan en klik die groen vlag, sal die spel te begin. 658 00:30:23,210 --> 00:30:26,890 >> [Speel van musiek] 659 00:30:26,890 --> 00:30:29,980 >> O, ek hou van asblik. 660 00:30:29,980 --> 00:30:34,840 Enigiets vuil of goor of stowwerige. 661 00:30:34,840 --> 00:30:39,300 Enigiets verskeurde of vrot of roes. 662 00:30:39,300 --> 00:30:43,155 Ja, ek is lief asblik. 663 00:30:43,155 --> 00:30:45,530 As jy regtig wil om te sien iets waardeloos, kyk na hierdie. 664 00:30:45,530 --> 00:30:49,570 Ek het hier 'n sneaker dit is verflenterde en gedra. 665 00:30:49,570 --> 00:30:53,750 Dit is alles vol gate hou en die veters is geskeur. 666 00:30:53,750 --> 00:30:57,590 'N geskenk van my ma Die dag toe ek gebore is. 667 00:30:57,590 --> 00:30:59,434 Ek is mal daaroor, want it's-- 668 00:30:59,434 --> 00:31:02,600 DAVID J. MALAN: --green deesdae net gooi alles in die asblik. 669 00:31:02,600 --> 00:31:04,312 En ja, wat een van CS50 se eie personeel did-- 670 00:31:04,312 --> 00:31:06,270 Jordan, wat jy dalk ontmoet today-- eintlik 671 00:31:06,270 --> 00:31:08,030 hierdie opgedateer vir vandag se tye. 672 00:31:08,030 --> 00:31:10,800 En so laat my toe om oop te maak 'n remix plaas vir Angela. 673 00:31:10,800 --> 00:31:13,600 En ons sal dit in plaas speel 'n paar oomblikke waar nou is jy 674 00:31:13,600 --> 00:31:16,600 gaan hê om te besluit tussen of om iets in die asblik gooi, 675 00:31:16,600 --> 00:31:19,050 of dit herwin of kompos nie. 676 00:31:19,050 --> 00:31:21,280 So is daar 'n bietjie van druk op jou te kry 677 00:31:21,280 --> 00:31:28,040 hierdie reg in die voorkant van jou 392 tot 497 klasmaats hier in die saal, 678 00:31:28,040 --> 00:31:28,724 As jy wil. 679 00:31:28,724 --> 00:31:29,390 [Video speel] 680 00:31:29,390 --> 00:31:32,540 [Speel van musiek] 681 00:31:32,540 --> 00:31:36,280 -OH Ek hou asblik. 682 00:31:36,280 --> 00:31:40,840 Enigiets vuil of goor of stowwerige. 683 00:31:40,840 --> 00:31:44,910 Enigiets verskeurde of vrot of roes. 684 00:31:44,910 --> 00:31:48,830 Ja, ek is lief asblik. 685 00:31:48,830 --> 00:31:51,480 >> As jy regtig wil om te sien iets waardeloos, kyk na hierdie. 686 00:31:51,480 --> 00:31:55,540 Ek het hier 'n sneaker dit is verflenterde en gedra. 687 00:31:55,540 --> 00:31:59,440 Dit is alles vol gate en die veters is geskeur. 688 00:31:59,440 --> 00:32:03,762 'N geskenk van my ma Die dag toe ek gebore is. 689 00:32:03,762 --> 00:32:07,630 Ek is mal daaroor, want dit is asblik. 690 00:32:07,630 --> 00:32:11,570 >> O, ek hou van asblik. 691 00:32:11,570 --> 00:32:15,512 Enigiets vuil, of goor, of stowwerige. 692 00:32:15,512 --> 00:32:20,200 Enigiets verskeurde of vrot of roes. 693 00:32:20,200 --> 00:32:23,856 Ja, ek is lief asblik. 694 00:32:23,856 --> 00:32:26,246 Hier is 'n paar meer vrot dinge. 695 00:32:26,246 --> 00:32:28,240 Ek het hier 'n paar newspaper-- 696 00:32:28,240 --> 00:32:28,889 >> [Einde afspeel] 697 00:32:28,889 --> 00:32:30,680 DAVID J. MALAN: --are eintlik composteren. 698 00:32:30,680 --> 00:32:32,790 Maar dankie aan ons vrywilligers, Angela. 699 00:32:32,790 --> 00:32:37,920 Ons het 'n stress ball vir jou hier. 700 00:32:37,920 --> 00:32:38,790 So dankie. 701 00:32:38,790 --> 00:32:40,250 >> So is hierdie een geskryf deur my. 702 00:32:40,250 --> 00:32:44,324 Maar nou een deur 'n werklike voormalige student wat hierdie geïmplementeer, wat is 'n spel. 703 00:32:44,324 --> 00:32:46,490 All in hierdie taal genoem Nuuts af, dat ons sal gou 704 00:32:46,490 --> 00:32:47,850 skil terug die lae van. 705 00:32:47,850 --> 00:32:49,940 Maar as ons wil like-- hoe oor 'n ander vrywilliger? 706 00:32:49,940 --> 00:32:50,440 Reg. 707 00:32:50,440 --> 00:32:50,970 >> Kom up. 708 00:32:50,970 --> 00:32:52,070 Wat is jou naam? 709 00:32:52,070 --> 00:32:52,570 Oogopslag? 710 00:32:52,570 --> 00:32:53,280 Lance. 711 00:32:53,280 --> 00:32:54,082 Lance, kom op op. 712 00:32:54,082 --> 00:32:54,790 Nice om jou te ontmoet. 713 00:32:54,790 --> 00:32:56,170 Kom hierdie manier. 714 00:32:56,170 --> 00:32:59,940 So hierdie een dalk 'n te hê tema vertroud sommige van julle. 715 00:32:59,940 --> 00:33:02,180 Maar jy sal ook die wat sien daar kan wees interaktiwiteit, 716 00:33:02,180 --> 00:33:05,242 waardeur jy eintlik kan die rol van die karakter te beweeg rond. 717 00:33:05,242 --> 00:33:05,950 Nice om jou te ontmoet. 718 00:33:05,950 --> 00:33:06,470 David. 719 00:33:06,470 --> 00:33:10,464 >> Ek julle gee, Pikachu. 720 00:33:10,464 --> 00:33:12,380 Instruksies sal oor om te kom op die skerm. 721 00:33:12,380 --> 00:33:16,070 Maar in kort, jy gaan wil die lekker dinge te vang, 722 00:33:16,070 --> 00:33:18,827 en vermy die bomme en ander dinge. 723 00:33:18,827 --> 00:33:19,910 Met die wysers geheel. 724 00:33:19,910 --> 00:33:21,320 So tref die space bar. 725 00:33:21,320 --> 00:33:21,820 -Pikachu. 726 00:33:21,820 --> 00:33:23,480 DAVID J. MALAN: Vang die dinge op die linkerkant, 727 00:33:23,480 --> 00:33:24,938 moenie die dinge op die reg om nie te vang. 728 00:33:24,938 --> 00:33:27,576 729 00:33:27,576 --> 00:34:44,540 >> [Speel van musiek] 730 00:34:44,540 --> 00:34:46,332 >> So 'n laaste een hier. 731 00:34:46,332 --> 00:34:48,040 As ons een kan hê meer vrywilligers hier. 732 00:34:48,040 --> 00:34:50,760 Ons het gedink ons ​​iets wil herskep from-- in die geel shirt-- 733 00:34:50,760 --> 00:34:53,110 vanaf Woensdag. 734 00:34:53,110 --> 00:34:54,540 Wat is jou naam? 735 00:34:54,540 --> 00:34:57,090 Mary, kom op tot Maria. 736 00:34:57,090 --> 00:35:01,340 >> En onthou op Woensdag ons bekendgestel die idee van binêre en binêre bolle. 737 00:35:01,340 --> 00:35:03,930 Dit is nou 'n werklikheid implementering van dieselfde koppelvlak 738 00:35:03,930 --> 00:35:07,360 wat ons gehad het op die iPad met die lig bolle, maar hier digitaal gelewer. 739 00:35:07,360 --> 00:35:11,220 En eerder as 'n stress doen ball-- lekker om jou te ontmoet, David. 740 00:35:11,220 --> 00:35:14,600 Ons het 'n paar ligte gloeilampe van Cambridge. 741 00:35:14,600 --> 00:35:18,650 >> As jy kan, kliek op diegene bolle, om dit op en af, 742 00:35:18,650 --> 00:35:29,510 kom met die binêre voorstelling van sê 256. 743 00:35:29,510 --> 00:35:32,500 En jy sal sien in die middel, die huidige kerfstok. 744 00:35:32,500 --> 00:35:33,690 Sodat een is op. 745 00:35:33,690 --> 00:35:34,810 So die linker bietjie op. 746 00:35:34,810 --> 00:35:36,016 >> MARY: Ja, [onhoorbaar] 747 00:35:36,016 --> 00:35:39,292 748 00:35:39,292 --> 00:35:41,280 >> DAVID J. MALAN: Wel, so ons het just-- oh. 749 00:35:41,280 --> 00:35:42,780 So dit is die kolom 128. 750 00:35:42,780 --> 00:35:44,460 So ons is tot 128. 751 00:35:44,460 --> 00:35:46,769 Ons het na 256 te kry. 752 00:35:46,769 --> 00:35:48,560 En jy kan geknoei op en af, geen groot deal. 753 00:35:48,560 --> 00:35:53,700 Of jy kan getref dat 128 meer keer as wat jy wil. 754 00:35:53,700 --> 00:35:56,310 >> Alle reg, goed. 755 00:35:56,310 --> 00:35:58,090 24. 756 00:35:58,090 --> 00:35:59,790 Ja, al hoe nader. 757 00:35:59,790 --> 00:36:02,105 Nader! 758 00:36:02,105 --> 00:36:05,980 O, wat is die probleem dan? 759 00:36:05,980 --> 00:36:07,510 So, wat is die probleem? 760 00:36:07,510 --> 00:36:10,040 >> So, wat moet ons hierdie probleem op te los? 761 00:36:10,040 --> 00:36:11,060 Sodat ons 'n ander bietjie nodig het. 762 00:36:11,060 --> 00:36:12,770 En dit is perfek redelike in werklikheid, reg? 763 00:36:12,770 --> 00:36:15,800 As jy wil om te tel van die aantal 1-2 3 tot 4 tot 5, 6, 7, 8, 9 764 00:36:15,800 --> 00:36:18,880 om werklik rol oor tot 10, is jy gaan 'n bykomende bietjie nodig het. 765 00:36:18,880 --> 00:36:21,240 So laat eintlik rewind hier, en kom 766 00:36:21,240 --> 00:36:23,790 with-- dit was natuurlik bedoel om 'n opstel te wees. 767 00:36:23,790 --> 00:36:25,590 >> Jy kan dit nie doen 256 met net 'n gloeilamp. 768 00:36:25,590 --> 00:36:29,290 So hoe oor bloot die aantal 50? 769 00:36:29,290 --> 00:36:29,977 Nommer 50. 770 00:36:29,977 --> 00:36:34,550 771 00:36:34,550 --> 00:36:35,100 Uitstekend. 772 00:36:35,100 --> 00:36:39,050 'N Groot applous Maria en haar so goed. 773 00:36:39,050 --> 00:36:41,840 Dankie. 774 00:36:41,840 --> 00:36:45,570 >> So hierdie topic-- opsetlike as dat was-- sal eintlik herhaal. 775 00:36:45,570 --> 00:36:50,020 Die grootste waarde wat jy kan verteenwoordig met agt stukkies, of een byte, 776 00:36:50,020 --> 00:36:51,750 is inderdaad 256. 777 00:36:51,750 --> 00:36:55,770 Maar nie as jy begin tel van 0, soos ons 778 00:36:55,770 --> 00:36:58,060 lyk te hou doen deur met al daardie stukkies af. 779 00:36:58,060 --> 00:37:01,530 Maar nou laat ons duik in die onderliggende implementering van hierdie omgewing, 780 00:37:01,530 --> 00:37:03,200 en terg uitmekaar sommige van hierdie idees. 781 00:37:03,200 --> 00:37:06,350 >> Sodat ons in 'n oomblik is oor 'n sien paar verskillende programmering grondbeginsels. 782 00:37:06,350 --> 00:37:08,080 Die eerste wat ons sal verklaring noem. 783 00:37:08,080 --> 00:37:09,360 Soort van werkwoorde, as jy wil. 784 00:37:09,360 --> 00:37:09,960 Aksies. 785 00:37:09,960 --> 00:37:11,180 Dinge wat gedoen moet word. 786 00:37:11,180 --> 00:37:13,430 >> En in 'n oomblik sal jy sien blokke wat lyk soos hierdie. 787 00:37:13,430 --> 00:37:14,940 Sê "hallo wêreld," byvoorbeeld. 788 00:37:14,940 --> 00:37:16,330 Of wag 'n sekonde. 789 00:37:16,330 --> 00:37:17,834 Of speel klank miauw. 790 00:37:17,834 --> 00:37:20,500 En inderdaad die omgewing wat ons gaan hierdie is om te doen 791 00:37:20,500 --> 00:37:21,610 genoem Scratch. 792 00:37:21,610 --> 00:37:25,060 >> En as ek trek Scratch sonder voorlaai enige werklike kode, 793 00:37:25,060 --> 00:37:27,830 Kom ons neem 'n vinnige blik op hierdie gebruikerskoppelvlak, om so te praat. 794 00:37:27,830 --> 00:37:29,730 Die kontroles waarmee ons interaksie. 795 00:37:29,730 --> 00:37:32,840 Op die top hier oorgebly het van die skerm, onder die spyskaarte, 796 00:37:32,840 --> 00:37:34,650 ons het die stadium, om so te praat. 797 00:37:34,650 --> 00:37:36,550 So Scratch is wat ons Sprite bel. 798 00:37:36,550 --> 00:37:37,520 Dit is 'n karakter. 799 00:37:37,520 --> 00:37:40,660 >> En hy kan beheer word deur die skryf van programme teen hom. 800 00:37:40,660 --> 00:37:43,950 En hy sal in staat wees om op en af ​​te beweeg en links en regs in hierdie omgewing, 801 00:37:43,950 --> 00:37:46,075 nie net deur die verskuiwing van die muis, maar programmaties. 802 00:37:46,075 --> 00:37:48,930 Ek kan hom vertel loop reg, wandel links, op, af of die wil. 803 00:37:48,930 --> 00:37:51,440 En ek kan ander stel sprites of karakters as well. 804 00:37:51,440 --> 00:37:54,616 >> Inderdaad, op die onderste hier waar jy sal jou lys van sprites te sien. 805 00:37:54,616 --> 00:37:56,865 Op die oomblik het ek net een nie, maar ek kan meer te skep, 806 00:37:56,865 --> 00:37:58,880 en hulle sal presies af daar verskyn. 807 00:37:58,880 --> 00:38:02,630 So as jy rewind vir 'n oomblik, soos Oscartime-- byvoorbeeld Oscar, 808 00:38:02,630 --> 00:38:04,590 aan die linkerkant, die asblik kan, was 'n sprite. 809 00:38:04,590 --> 00:38:07,450 En die ding in die middel, die recycle bin, was nog 'n sprite. 810 00:38:07,450 --> 00:38:09,300 En die kompos bin was nog sprite. 811 00:38:09,300 --> 00:38:11,790 En elke stuk vullis of herwinbare 812 00:38:11,790 --> 00:38:14,590 wat uit die hemel val is ook 'n sprite, wat elk 813 00:38:14,590 --> 00:38:16,150 individueel geprogrammeer. 814 00:38:16,150 --> 00:38:17,040 >> Hoe kan jy die program? 815 00:38:17,040 --> 00:38:20,180 Wel, hier op die regte kant is die skrifte area. 816 00:38:20,180 --> 00:38:22,930 En dit is waar ons kan sleep en stukke van die legkaart. 817 00:38:22,930 --> 00:38:26,066 In 'n week, is dit gaan wees waar ons in dieselfde kode te skryf 818 00:38:26,066 --> 00:38:28,940 met meer van 'n sleutelbord nie, maar vir vandag is dit sal sleep 819 00:38:28,940 --> 00:38:31,680 legkaart stukke, die palette waarvoor almal kan 820 00:38:31,680 --> 00:38:33,190 hier gevind word reg in die middel. 821 00:38:33,190 --> 00:38:35,190 Inderdaad, in die middel hier is daar 'n hele klomp 822 00:38:35,190 --> 00:38:37,910 van kategorieë van die legkaart stukke of blokke. 823 00:38:37,910 --> 00:38:42,500 'N Mens se verwant aan beweging, kyk, klank, 'n pen op en af ​​gaan, 824 00:38:42,500 --> 00:38:43,860 data, gebeure te beheer. 825 00:38:43,860 --> 00:38:45,654 Nie heeltemal seker nog wat al hierdie beteken, 826 00:38:45,654 --> 00:38:47,820 maar jy sal sien dat hulle het is mooi gekategoriseer. 827 00:38:47,820 --> 00:38:50,680 En om 'n program in te skryf Nuuts af, kom ons doen presies dit. 828 00:38:50,680 --> 00:38:53,480 >> Ek gaan om mee te begin onder Gebeure, en sleep hier hierdie een. 829 00:38:53,480 --> 00:38:55,470 Wanneer groen vlag gebruik. 830 00:38:55,470 --> 00:38:56,704 Nou hoekom daardie een? 831 00:38:56,704 --> 00:38:59,120 Wel onthou dat ons vrywilligers vorendag gekom, die eerste ding wat ek 832 00:38:59,120 --> 00:39:02,017 of hulle het was dat die groen klik vlag in die boonste regterkantste hoek. 833 00:39:02,017 --> 00:39:03,600 En dit beteken net begin van die program. 834 00:39:03,600 --> 00:39:06,560 >> So wanneer daardie gebeurtenis, wat doen wat ek wil doen? 835 00:39:06,560 --> 00:39:10,070 Ek gaan om te gaan onder lyk, en ek gaan om dit te doen "sê hallo." 836 00:39:10,070 --> 00:39:14,000 En ek gaan om dit te verander en sê iets soos "hallo Yale." 837 00:39:14,000 --> 00:39:16,970 En nou gaan ek zoom , kliek op die groen vlag, 838 00:39:16,970 --> 00:39:19,050 en voila, ek het 'n program geskryf. 839 00:39:19,050 --> 00:39:20,990 Dit is nie al wat opwindende net nog nie, maar dit 840 00:39:20,990 --> 00:39:23,195 is presies waar elke van daardie skrywer begin, 841 00:39:23,195 --> 00:39:25,740 beide met Pikachu, en die binêre bolle, en Oscartime, 842 00:39:25,740 --> 00:39:26,890 en so baie meer voorbeelde. 843 00:39:26,890 --> 00:39:29,150 >> Jy begin super eenvoudige en dan kan jy begin om laag, 844 00:39:29,150 --> 00:39:31,046 en voeg op kenmerke en funksies. 845 00:39:31,046 --> 00:39:32,920 So, wat is hierdie lae gaan bestaan? 846 00:39:32,920 --> 00:39:36,086 Wel, as state, sal ons ook het dinge wat min is meer fancily 847 00:39:36,086 --> 00:39:38,910 genoem Boolse uitdrukkings, na iemand met die naam Bool. 848 00:39:38,910 --> 00:39:42,820 En 'n Boole-uitdrukking is bloot 'n uitdrukking wat is waar of vals is, 849 00:39:42,820 --> 00:39:45,740 ja of nee, 1 of 0. 850 00:39:45,740 --> 00:39:47,480 >> Enige polêre teenoorgesteldes soos dit. 851 00:39:47,480 --> 00:39:48,902 Dit is waar of nie. 852 00:39:48,902 --> 00:39:51,360 Maar ons gaan ook om te sien Diegene wat kan lyk soos hierdie. 853 00:39:51,360 --> 00:39:52,925 So byvoorbeeld, is die muis af? 854 00:39:52,925 --> 00:39:54,550 Hulle is soort van vrae, as jy wil. 855 00:39:54,550 --> 00:39:57,650 >> Die muis is óf af, waar of dit is nie, vals is. 856 00:39:57,650 --> 00:39:59,990 1 of 0, as jy wil, geneig is om die kartering wees. 857 00:39:59,990 --> 00:40:01,740 Waar is 1, valse 0. 858 00:40:01,740 --> 00:40:03,740 Wel, wat oor minder as dit? 859 00:40:03,740 --> 00:40:05,400 Of so, is dit minder as dit? 860 00:40:05,400 --> 00:40:06,650 Dit is 'n vraag van spesies. 861 00:40:06,650 --> 00:40:09,140 >> En as jy sit twee getalle daar, óf x 862 00:40:09,140 --> 00:40:12,010 gaan minder as y of wees gelyk aan y, of groter as y, 863 00:40:12,010 --> 00:40:14,635 maar hierdie blok ons ​​sal sien, is net gaan die vraag te beantwoord, 864 00:40:14,635 --> 00:40:15,810 is dit minder as dit? 865 00:40:15,810 --> 00:40:17,650 Ons kan ook sien iets soos hierdie. 866 00:40:17,650 --> 00:40:18,790 Raak muis wysers. 867 00:40:18,790 --> 00:40:21,610 So in Scratch, kan jy vra die vraag is die Sprite 868 00:40:21,610 --> 00:40:22,800 raak die muis? 869 00:40:22,800 --> 00:40:26,040 Ander woorde, is die wyser beweeg word oor die cap, of die ekwivalent? 870 00:40:26,040 --> 00:40:28,100 >> Ons sal Anding dinge saam. 871 00:40:28,100 --> 00:40:30,970 Jy kan twee vrae te vra, en seker te maak dat hulle albei 872 00:40:30,970 --> 00:40:34,920 gee jy ja of ware antwoorde voor 'n besluit om iets te doen. 873 00:40:34,920 --> 00:40:36,709 Maar dan hoe kan jy besluite te neem? 874 00:40:36,709 --> 00:40:38,000 Wel, ons het hierdie toestande. 875 00:40:38,000 --> 00:40:40,041 >> En ons het dit gesien in ons voorbeeld van die telefoon boek. 876 00:40:40,041 --> 00:40:41,900 Na links of reg is vir Mike Smith. 877 00:40:41,900 --> 00:40:45,140 En in die toestand, wat jy iets te doen potensieel, 878 00:40:45,140 --> 00:40:47,240 indien 'n Boole-uitdrukking is waar. 879 00:40:47,240 --> 00:40:48,720 >> En inderdaad, kyk nou die vorms. 880 00:40:48,720 --> 00:40:52,250 Daar is hierdie plekhouer nou op die oorhoofse waar ons kan fit-- 881 00:40:52,250 --> 00:40:54,532 as ek terugdraai een slide-- wat vorm. 882 00:40:54,532 --> 00:40:55,740 Dit is nie heeltemal dieselfde grootte. 883 00:40:55,740 --> 00:40:58,400 En inderdaad, sal jy sien dat Kras grootte dinge dinamiese 884 00:40:58,400 --> 00:41:01,479 om aan te pas legkaart stukke, maar die vorm is wat belangrik is. 885 00:41:01,479 --> 00:41:03,270 Hierdie ding lyk soos wat het, en dit is 886 00:41:03,270 --> 00:41:05,410 min of meer dieselfde vorm dat daar moet inpas. 887 00:41:05,410 --> 00:41:09,520 En as ons iets wil doen hierdie manier of dat die pad, as anders, 888 00:41:09,520 --> 00:41:12,080 ons het hierdie legkaart stuk in Scratch as well. 889 00:41:12,080 --> 00:41:17,450 >> Gestel nou jy wou doen as, anders as, of anders. 890 00:41:17,450 --> 00:41:20,120 Met ander woorde, 'n drie-manier vurk in die pad. 891 00:41:20,120 --> 00:41:22,656 Wel, wat kan jy doen net deur die skrams op hierdie? 892 00:41:22,656 --> 00:41:25,030 Ek kan hierdie legkaart stuk te neem, en dit lyk nie te pas, 893 00:41:25,030 --> 00:41:27,670 maar weer, Scratch gaan tot-grootte weer mooi vir ons. 894 00:41:27,670 --> 00:41:29,940 Ek kon begin laag hierdie dinge saam. 895 00:41:29,940 --> 00:41:32,900 >> So nou het ek 'n drie-manier vurk as dit waar is, doen dit. 896 00:41:32,900 --> 00:41:36,560 Anders as dit ander ding is waar, gaan op hierdie manier, anders gaan hierdie ander manier nie. 897 00:41:36,560 --> 00:41:39,200 En in The Muppet Movie, die vurk in die pad, so te sê, 898 00:41:39,200 --> 00:41:42,610 tussen Yale of Stanford, was presies dit, net twee voorwaardes. 899 00:41:42,610 --> 00:41:45,190 Óf gaan op hierdie manier, anders gaan die manier. 900 00:41:45,190 --> 00:41:46,940 >> Wel, loops ook bestaan ​​in die ontwikkeling. 901 00:41:46,940 --> 00:41:49,100 En ons het hierdie reeds in gebruik klas en in pseudokode kode, 902 00:41:49,100 --> 00:41:51,060 en sekerlik in daardie Kras programme vir ewig. 903 00:41:51,060 --> 00:41:53,730 Scratch het hierdie legkaart stuk wat sal net laat jy vir ewig iets te doen. 904 00:41:53,730 --> 00:41:55,688 En soms jy wil om vir ewig iets te doen. 905 00:41:55,688 --> 00:41:58,810 Dit is nie noodwendig 'n fout, dit is want jy wil 'n horlosie om aan te hou, 906 00:41:58,810 --> 00:42:00,730 of 'n spel te hou speel. 907 00:42:00,730 --> 00:42:04,800 Of jy kan 'n beperkte aantal spesifiseer stappe, soos met hierdie herhaling blok hier 908 00:42:04,800 --> 00:42:06,550 wat iets sal herhaal 10 keer. 909 00:42:06,550 --> 00:42:08,560 Ons kan veranderlikes stel, sal ons binnekort te sien. 910 00:42:08,560 --> 00:42:12,300 En met veranderlikes, soortgelyk in die gees om algebra, soos x of y, z of. 911 00:42:12,300 --> 00:42:16,390 Dit is iets wat kan stoor simboliese 'n bietjie waarde, 'n stuk van inligting, 912 00:42:16,390 --> 00:42:18,320 wat jy dalk wil om te onthou vir latere. 913 00:42:18,320 --> 00:42:21,080 >> Beste voorbeeld van hierdie kan wees 'n spel waar jy 'n telling, 914 00:42:21,080 --> 00:42:22,080 soos in Pikachu. 915 00:42:22,080 --> 00:42:25,180 Hoeveel stukke van die koek en noem maar het jy vang? 916 00:42:25,180 --> 00:42:29,340 Wel, dit kan 'n veranderlike genoem telling wat begin by 0. 917 00:42:29,340 --> 00:42:32,400 En dan elke keer as ons gevang 'n stukkie van die koek of lekkergoed, of die wil, 918 00:42:32,400 --> 00:42:33,720 dit word geïnkrementeer. 919 00:42:33,720 --> 00:42:35,990 Dit word bygevoeg om een ​​op 'n tyd. 920 00:42:35,990 --> 00:42:38,450 En so 'n veranderlike winkels 'n stukkie inligting soos dit. 921 00:42:38,450 --> 00:42:41,450 Dan is daar skikkings, en ons sal kom terug na dit in 'n week of twee keer 922 00:42:41,450 --> 00:42:44,900 maar 'n verskeidenheid is soort van soos 'n voorraad of 'n skooltas, binne 923 00:42:44,900 --> 00:42:46,940 van wat jy kan virtuele dinge. 924 00:42:46,940 --> 00:42:49,852 Dit laat jou toe om meer te stoor as een stukkie inligting. 925 00:42:49,852 --> 00:42:51,810 En wat dalk nuttig wees indien dit in die spel, jy is 926 00:42:51,810 --> 00:42:53,630 soort van loop rond pluk dinge op. 927 00:42:53,630 --> 00:42:55,879 En dalk wil jy hou al daardie stukke van die koek 928 00:42:55,879 --> 00:42:58,260 rond, en nie net eet hulle die een na die ander. 929 00:42:58,260 --> 00:43:00,010 En dan is daar 'n liefhebber konstruk ons ​​sal 930 00:43:00,010 --> 00:43:02,932 kom genoem funksies of prosedures. 931 00:43:02,932 --> 00:43:04,640 En al het ons gaan vinniger hier, sal ons 932 00:43:04,640 --> 00:43:07,345 sien dat hierdie is 'n baie natuurlike oplossing vir probleme 933 00:43:07,345 --> 00:43:08,470 dat ons gaan ontmoeting. 934 00:43:08,470 --> 00:43:10,220 As ons programme begin om groter ons sal 935 00:43:10,220 --> 00:43:12,640 begin om patrone in kennis die kode wat ons skryf, 936 00:43:12,640 --> 00:43:14,556 die stukke van die legkaart ons sleep. 937 00:43:14,556 --> 00:43:18,240 En sodra jy jouself sien doen iets weer en weer, of nog erger nog 938 00:43:18,240 --> 00:43:21,400 kopieer en plak programmering kode wat jy geskryf het, 939 00:43:21,400 --> 00:43:23,612 dit is waarskynlik 'n geleentheid om faktor uit 940 00:43:23,612 --> 00:43:25,820 alles wat jy kopiëring hou en plak, en sit dit 941 00:43:25,820 --> 00:43:27,430 in iets genaamd 'n "funksie." 942 00:43:27,430 --> 00:43:29,690 Maar meer oor dié in veel meer detail voor lank. 943 00:43:29,690 --> 00:43:31,314 >> En dan is daar nog liefhebber funksies. 944 00:43:31,314 --> 00:43:34,100 Vir dié van julle meer gemaklik, of die neem van APCs of ekwivalent, 945 00:43:34,100 --> 00:43:37,600 Kras eintlik ondersteun dinge soos drade en gebeure en nog baie meer. 946 00:43:37,600 --> 00:43:39,840 So besef dat dit ' 'n redelik hoë plafon, 947 00:43:39,840 --> 00:43:42,540 selfs al is dit ook baie breedweg toeganklik vir mense 948 00:43:42,540 --> 00:43:44,460 wat nog nooit vantevore geprogrammeer. 949 00:43:44,460 --> 00:43:47,130 So ja, laat ons neem 'n blik op 'n eenvoudige program of twee. 950 00:43:47,130 --> 00:43:49,920 >> Ons het reeds gekyk na hoe ons kan sê hallo met Scratch. 951 00:43:49,920 --> 00:43:52,800 Laat my gaan voort en maak 'n bietjie meer interessant program 952 00:43:52,800 --> 00:43:54,100 wat ek geskryf het in advance. 953 00:43:54,100 --> 00:43:56,430 En hierdie een genoem Pet die kat. 954 00:43:56,430 --> 00:43:58,954 Al hierdie programme sal wees beskikbaar op die webwerf CS50 se. 955 00:43:58,954 --> 00:43:59,870 Inderdaad, reeds daar. 956 00:43:59,870 --> 00:44:01,190 >> So jy kan aflaai hulle, en speel saam met hulle, 957 00:44:01,190 --> 00:44:03,850 en met Probleem Stel 0, wat is ook op die webwerf die kursus se 958 00:44:03,850 --> 00:44:05,516 jy aangemoedig om te loop deur middel van hierdie. 959 00:44:05,516 --> 00:44:07,820 En ja, ons het 'n aantal deur-stap videos 960 00:44:07,820 --> 00:44:10,951 aanlyn in wat ek en CS50 se span werklik loop 961 00:44:10,951 --> 00:44:14,200 deur elkeen van hierdie voorbeelde op 'n veel stadiger pas, 'n baie vinnige Deurstuurbaar, 962 00:44:14,200 --> 00:44:18,530 of rewindable tempo, sodat jy kan loop deur middel van hierdie op jou gemak as well. 963 00:44:18,530 --> 00:44:20,330 So hier is Scratch aan die linkerkant. 964 00:44:20,330 --> 00:44:22,920 Hier is 'n program op die regte wat ek reeds vooraf gemaak. 965 00:44:22,920 --> 00:44:24,880 So laat my zoom in op hierdie. 966 00:44:24,880 --> 00:44:28,780 En kan iemand in Engels, weet wat jy weet, net van nou as 967 00:44:28,780 --> 00:44:31,650 hoe Scratch werke, soort van sê in 'n Engelse frase of sin, 968 00:44:31,650 --> 00:44:35,450 wat beteken hierdie program blykbaar doen? 969 00:44:35,450 --> 00:44:36,836 >> Ja, in oranje hemp. 970 00:44:36,836 --> 00:44:40,804 >> GEHOOR: [onhoorbaar] 971 00:44:40,804 --> 00:44:41,796 972 00:44:41,796 --> 00:44:44,980 >> DAVID J. MALAN: Ja, as jou wyser op Scratch die kat, 973 00:44:44,980 --> 00:44:46,220 speel 'n miaau klank. 974 00:44:46,220 --> 00:44:47,870 Maar let op hoe ons uitspreek dat. 975 00:44:47,870 --> 00:44:49,980 Daar is blykbaar 'n lus daar, vir ewig. 976 00:44:49,980 --> 00:44:53,000 En dan is daar 'n toestand, die as uitdrukking. 977 00:44:53,000 --> 00:44:55,090 En gesamentlik, wat doen die beteken? 978 00:44:55,090 --> 00:44:57,210 Dit beteken hierdie program is net altyd loop, 979 00:44:57,210 --> 00:44:59,510 en dit is net altyd wag en kyk en luister 980 00:44:59,510 --> 00:45:01,730 vir my om my muis beweeg oor die kat. 981 00:45:01,730 --> 00:45:04,810 >> Want elke keer as ek dit doen, as jy voorstel, dit gaan om dit te doen. 982 00:45:04,810 --> 00:45:06,475 Laat my die program begin. 983 00:45:06,475 --> 00:45:08,350 Niks blyk te wees gebeur nie, maar sien hoe 984 00:45:08,350 --> 00:45:10,152 dit is nou uitgelig in 'n geel lyn. 985 00:45:10,152 --> 00:45:11,360 Dit beteken net dit loop. 986 00:45:11,360 --> 00:45:13,770 En omdat daar 'n ewigheid lus, is dit nog steeds vertoon. 987 00:45:13,770 --> 00:45:19,610 >> So laat my my muis oor Scratch. [Meow] [Meow] En as ek beweeg dit af, 988 00:45:19,610 --> 00:45:25,444 [Meow] nou is dit tot stilstand kom, maar die program se steeds aan die gang. [Meow] En so adorable. 989 00:45:25,444 --> 00:45:28,550 [Meow] So laat oopmaak effens meer gevorderde 990 00:45:28,550 --> 00:45:32,620 byvoorbeeld genoem Moenie die kat nie troeteldier. 991 00:45:32,620 --> 00:45:35,805 >> En nou, laat ons sien wat hier gebeur. [Meow] miaau. 992 00:45:35,805 --> 00:45:39,297 So dit is 'n bietjie op motor vlieënier, as jy wil. 993 00:45:39,297 --> 00:45:39,880 --pet die kat. 994 00:45:39,880 --> 00:45:42,820 Ek wonder hoekom. 995 00:45:42,820 --> 00:45:45,389 [ROAR] [Meow] So hoe het hierdie werk? 996 00:45:45,389 --> 00:45:47,930 Wel, jy kan soort rede deur dit intuïtief, miskien. 997 00:45:47,930 --> 00:45:49,346 >> Maar laat ons kyk na die werklike kode. 998 00:45:49,346 --> 00:45:51,819 So weer, toe die groen vlag word gebruik, doen dit vir ewig. 999 00:45:51,819 --> 00:45:53,110 Wat wil jy vir ewig doen? 1000 00:45:53,110 --> 00:45:56,150 Wel, as raak muis wyser, dan speel 1001 00:45:56,150 --> 00:46:00,270 'n klank wat blykbaar genoem Lion 5, wat binne-in hierdie projek, anders 1002 00:46:00,270 --> 00:46:03,010 speel klank miauw, en dan wag twee sekondes, so 1003 00:46:03,010 --> 00:46:04,510 dat dit nie aanhoudend miaau. 1004 00:46:04,510 --> 00:46:07,650 In feite, kan jy baie vinnig begin om jouself en jou kamermaats irriteer. 1005 00:46:07,650 --> 00:46:08,690 >> Kom ons verwyder die blok. 1006 00:46:08,690 --> 00:46:10,580 En sien wat is lekker oor Scratch. 1007 00:46:10,580 --> 00:46:13,070 Dinge net soort van drag en drop en gekoppel. 1008 00:46:13,070 --> 00:46:14,980 So weer, dit groei tot vul wat jy wil. 1009 00:46:14,980 --> 00:46:20,118 Maar as ek dit verwyder, en dan treffer speel, [REKENAAR skans KLANK] 1010 00:46:20,118 --> 00:46:22,904 >> --it is soort van struikel oor self, want dit is letterlik 1011 00:46:22,904 --> 00:46:23,820 doen wat ek sê. 1012 00:46:23,820 --> 00:46:27,080 Dit sê vir ewig speel hierdie klank, maar Ek is nie gee dit 'n kans om te voltooi. 1013 00:46:27,080 --> 00:46:28,205 En so sou dit 'n fout wees. 1014 00:46:28,205 --> 00:46:30,700 En dit is hoekom ons moes hierdie ding in nou hier. 1015 00:46:30,700 --> 00:46:34,030 So laat eintlik begin scratch-- soort van woordspeling effens intended-- 1016 00:46:34,030 --> 00:46:36,450 waarin ons nou die kat beweeg. 1017 00:46:36,450 --> 00:46:38,130 >> So ek gaan om dit te doen op die vlieg. 1018 00:46:38,130 --> 00:46:40,910 Ek gaan hier om te vergroot, net om my begin op Events. 1019 00:46:40,910 --> 00:46:42,000 En groen vlag gebruik. 1020 00:46:42,000 --> 00:46:43,410 En daar is ander maniere om die skrifte te begin. 1021 00:46:43,410 --> 00:46:44,920 Ons gaan dit hier eenvoudig te hou. 1022 00:46:44,920 --> 00:46:48,049 >> En nou is ek gaan om te gaan voort en gaan onder beheer. 1023 00:46:48,049 --> 00:46:50,590 En weer, as jy vergeet waar dinge, kliek net rond, 1024 00:46:50,590 --> 00:46:52,048 en uiteindelik sal jy hulle weer te vind. 1025 00:46:52,048 --> 00:46:53,680 So ek wil om vir ewig te doen wat? 1026 00:46:53,680 --> 00:46:58,650 Ek wil die mosie blok dat ek weet bestaan, beweeg 10 stappe. 1027 00:46:58,650 --> 00:47:02,016 >> So laat ons sien wat gebeur hier as ek hierdie spel te speel. 1028 00:47:02,016 --> 00:47:03,390 Gelukkig is dit nie te ver gaan. 1029 00:47:03,390 --> 00:47:05,190 Ek kan hom nog soort van gryp aan die stert en trek hom terug. 1030 00:47:05,190 --> 00:47:07,860 Maar die program is nog steeds hardloop, sodat hy is soort van veg vir my. 1031 00:47:07,860 --> 00:47:10,870 Maar dit sal soort van lekker wees as ek hierdie voorwaardelik op te los in die kode. 1032 00:47:10,870 --> 00:47:12,800 >> Want dit is not-- eintlik is dit regtig 1033 00:47:12,800 --> 00:47:15,770 nie 'n prettige speletjie vir enigiemand van enige ouderdom. 1034 00:47:15,770 --> 00:47:18,915 So kom ons probeer om dit op te los deur met 'n soort van toestande. 1035 00:47:18,915 --> 00:47:21,670 So ek gaan om te gaan onder Beheer, en dan as. 1036 00:47:21,670 --> 00:47:22,660 Ek hou van hierdie idee. 1037 00:47:22,660 --> 00:47:27,470 So na beweeg 10 stappe, if-- laat my voel waar ek is. 1038 00:47:27,470 --> 00:47:30,799 Ek gaan om te gaan onder Sensing, en dan lyk dit ek kan hier gaan. 1039 00:47:30,799 --> 00:47:31,840 ry om die wedstryde vorm. 1040 00:47:31,840 --> 00:47:34,380 >> Grootte nie, maar dit is gaan om te groei in te vul. 1041 00:47:34,380 --> 00:47:35,984 En nou is dit 'n bietjie spyskaart. 1042 00:47:35,984 --> 00:47:38,650 En nou die muis pointer-- ek doen nie wil die muis, ek wil die rand. 1043 00:47:38,650 --> 00:47:41,700 So Scratch is slim genoeg om te weet wanneer 'n sprite raak die rand. 1044 00:47:41,700 --> 00:47:44,360 Wat wil ek hom eintlik doen? 1045 00:47:44,360 --> 00:47:46,025 >> Laat my gaan voort en verander beweging. 1046 00:47:46,025 --> 00:47:46,940 Weet jy wat? 1047 00:47:46,940 --> 00:47:49,242 Ek gaan om hom te draai. 1048 00:47:49,242 --> 00:47:51,200 So teen 15 grade is nie regtig gaan om my te help. 1049 00:47:51,200 --> 00:47:53,990 Ek wil hom om te draai en gaan na die ander kant. 1050 00:47:53,990 --> 00:47:57,740 >> So laat ons sien wat gebeur hier, as ek getref Speel nou. 1051 00:47:57,740 --> 00:48:01,520 OK, soort van dom soek nie, maar dit doen presies wat ek gesê het. 1052 00:48:01,520 --> 00:48:03,540 En dit is die draai van die hele sprite. 1053 00:48:03,540 --> 00:48:04,900 Nou blyk dit ek kan dit regmaak. 1054 00:48:04,900 --> 00:48:06,691 En ek het nie geweet hoe om dit op te los op die eerste. 1055 00:48:06,691 --> 00:48:09,190 Ek het soort rondom futz en sien die beste manier om dit te doen. 1056 00:48:09,190 --> 00:48:12,630 Maar as Ek weggaan aan- laat ons sien, beweging. 1057 00:48:12,630 --> 00:48:14,050 Ag, het ek gevind hierdie. 1058 00:48:14,050 --> 00:48:15,660 Eintlik Stel rotasie Style. 1059 00:48:15,660 --> 00:48:18,431 Links, regs, of nie draai, of rondom. 1060 00:48:18,431 --> 00:48:19,930 En dit blyk dit is wat ek wil hê. 1061 00:48:19,930 --> 00:48:22,920 En ek gaan om dit te sit nie my lus, want ek het nie nodig om te stel 1062 00:48:22,920 --> 00:48:24,487 die rotasie styl verskeie kere. 1063 00:48:24,487 --> 00:48:27,570 Ek gaan sit dit op die top van hierdie program sodat dit een keer kry stel, 1064 00:48:27,570 --> 00:48:28,670 en dan onthou. 1065 00:48:28,670 --> 00:48:30,340 En nou gaan ek dit weer probeer. 1066 00:48:30,340 --> 00:48:32,520 Laat my die program te stop. 1067 00:48:32,520 --> 00:48:34,050 >> En nou dat vaste dat fout. 1068 00:48:34,050 --> 00:48:35,700 So ek iteratief verbetering op dié. 1069 00:48:35,700 --> 00:48:37,900 Die program is om 'n bietjie meer kompleks en groter word, 1070 00:48:37,900 --> 00:48:40,810 maar ek neem baba stappe om so te praat, en klein happies uit die probleem 1071 00:48:40,810 --> 00:48:42,010 om dit beter en beter. 1072 00:48:42,010 --> 00:48:43,260 Maar ook dit is soort van lam. 1073 00:48:43,260 --> 00:48:43,900 >> Weet jy wat? 1074 00:48:43,900 --> 00:48:49,860 Sou iemand te vra met 'n baie goeie, vreeslike stem soos om te kom? 1075 00:48:49,860 --> 00:48:51,210 Iemand met 'n stem. 1076 00:48:51,210 --> 00:48:54,070 1077 00:48:54,070 --> 00:48:54,570 Uh, ja. 1078 00:48:54,570 --> 00:48:55,550 Kom up. 1079 00:48:55,550 --> 00:48:57,990 In die groen hemp. 1080 00:48:57,990 --> 00:49:01,530 >> So dit blyk daar is 'n paar ander pret dinge, estetika en klanke gelyk. 1081 00:49:01,530 --> 00:49:02,290 Hier is die miaau. 1082 00:49:02,290 --> 00:49:04,000 Ek op die blad klanke. 1083 00:49:04,000 --> 00:49:08,730 [Meow] Daar is die miaau. [Meow] [Meow] [Meow] --actually rekord iets 1084 00:49:08,730 --> 00:49:10,310 hier ons eie. 1085 00:49:10,310 --> 00:49:13,120 >> So kom ons doen presies dit. 1086 00:49:13,120 --> 00:49:17,670 In plaas van die gebruik van hierdie kat klank, laat gaan voort hier, en wat is jou naam? 1087 00:49:17,670 --> 00:49:18,850 Nick, lekker om jou te ontmoet. 1088 00:49:18,850 --> 00:49:19,350 Dit is David. 1089 00:49:19,350 --> 00:49:21,474 So in 'n oomblik, ek gaan om die knoppie Rekord getref. 1090 00:49:21,474 --> 00:49:23,240 En as jy kan net gil in die laptop, 1091 00:49:23,240 --> 00:49:26,140 "eina," asof jy net loop in die muur, 1092 00:49:26,140 --> 00:49:28,180 wat sal baie waardeer word. 1093 00:49:28,180 --> 00:49:29,660 1, 2. 1094 00:49:29,660 --> 00:49:31,470 >> NICK: Ouch! 1095 00:49:31,470 --> 00:49:32,470 DAVID J. MALAN: Awesome. 1096 00:49:32,470 --> 00:49:34,410 En kan nou 'n bietjie redigering hier doen. 1097 00:49:34,410 --> 00:49:35,910 Gaan om ontslae te raak van die stil dele te kry. 1098 00:49:35,910 --> 00:49:37,000 En ek dink dit is goed. 1099 00:49:37,000 --> 00:49:37,690 Dankie. 1100 00:49:37,690 --> 00:49:38,315 >> NICK: Pleasure. 1101 00:49:38,315 --> 00:49:43,277 1102 00:49:43,277 --> 00:49:45,110 DAVID J. MALAN: Ek het net dit herdoop "eina," 1103 00:49:45,110 --> 00:49:46,901 maar nou gaan ek gaan terug na my skrifte. 1104 00:49:46,901 --> 00:49:49,810 En kennis daar is inderdaad klank hier. 1105 00:49:49,810 --> 00:49:53,520 En ek gaan om voort te gaan en speel die klank eina, 1106 00:49:53,520 --> 00:49:56,991 en ek gaan om dit te doen as dit is net die aanraking van die kante. 1107 00:49:56,991 --> 00:49:58,740 En dan gaan ek het dit omdraai. 1108 00:49:58,740 --> 00:50:00,250 So laat ons sien wat hier gebeur. 1109 00:50:00,250 --> 00:50:01,728 Kom ons gaan vol skerm. 1110 00:50:01,728 --> 00:50:02,394 [Video speel] 1111 00:50:02,394 --> 00:50:03,790 -Ouch! 1112 00:50:03,790 --> 00:50:05,290 Ouch! 1113 00:50:05,290 --> 00:50:06,790 Ouch! 1114 00:50:06,790 --> 00:50:07,790 Ouch! 1115 00:50:07,790 --> 00:50:09,160 Ouch! 1116 00:50:09,160 --> 00:50:10,780 Ouch! 1117 00:50:10,780 --> 00:50:11,587 Ouch! 1118 00:50:11,587 --> 00:50:12,086 Ouch! 1119 00:50:12,086 --> 00:50:12,492 >> [Einde afspeel] 1120 00:50:12,492 --> 00:50:14,490 >> DAVID J. MALAN: So jy besef dat ons 'n bietjie geluk. 1121 00:50:14,490 --> 00:50:17,110 Ek gaan om hom skuif soos 100 stappe op 'n tyd. 1122 00:50:17,110 --> 00:50:21,790 Die effek van wat nou gaan om [rekenaar glitch KLANK] be-- So 1123 00:50:21,790 --> 00:50:22,490 binne perke. 1124 00:50:22,490 --> 00:50:25,470 So 'n geleentheid om te verfyn dat verder as ons regtig wil. 1125 00:50:25,470 --> 00:50:27,340 >> So nou, laat ons 'n ander stel konsep. 1126 00:50:27,340 --> 00:50:30,660 Om my te laat gaan in een genoem Skape en gebruik iets tel 1127 00:50:30,660 --> 00:50:31,610 bekend as 'n veranderlike. 1128 00:50:31,610 --> 00:50:34,700 Dit is 'n pragtige klein skape en Ek verander sy kostuum om so te praat. 1129 00:50:34,700 --> 00:50:37,450 So selfs al is die standaard is 'n kat, kan jy laai, jy kan trek, 1130 00:50:37,450 --> 00:50:40,020 Jy kan enige aantal van doen karakters op jou sprite. 1131 00:50:40,020 --> 00:50:43,740 Hier is 'n program wat gaan om te doen wat in Engels? 1132 00:50:43,740 --> 00:50:47,110 >> Weer gebaseer op net wat jy nou weet. 1133 00:50:47,110 --> 00:50:48,230 Wat is dié program doen? 1134 00:50:48,230 --> 00:50:50,740 1135 00:50:50,740 --> 00:50:53,500 Ja, dit gaan om te tel. 1136 00:50:53,500 --> 00:50:55,842 'N nommer op 'n tyd. 1137 00:50:55,842 --> 00:50:57,550 Ons het blykbaar het hierdie stel toonbank. 1138 00:50:57,550 --> 00:50:59,380 >> Ek weet nie wat dit is nie, maar miskien is dit 'n veranderlike. 1139 00:50:59,380 --> 00:51:00,740 Dis net 'n houer, x of y. 1140 00:51:00,740 --> 00:51:04,290 Maar die woord toonbank is meer beskrywende as x of y wiskundige se. 1141 00:51:04,290 --> 00:51:06,560 So kan ons Engelse woorde te gebruik vir dinge. 1142 00:51:06,560 --> 00:51:08,490 Forever, beteken net hou om dit te doen. 1143 00:51:08,490 --> 00:51:10,020 >> Sê toonbank. 1144 00:51:10,020 --> 00:51:11,270 Nou waar het dit vandaan? 1145 00:51:11,270 --> 00:51:13,240 Wel, dit blyk dat counter is 'n veranderlike. 1146 00:51:13,240 --> 00:51:15,645 So dit is net nog 'n legkaart stuk wat ek gemaak het in advance. 1147 00:51:15,645 --> 00:51:18,020 En selfs al gebeur dit nie dieselfde vorm hier te wees, 1148 00:51:18,020 --> 00:51:20,540 normaalweg sou jy sê iets soos hallo hier. 1149 00:51:20,540 --> 00:51:23,610 >> Jy kan ook 'n veranderlike sleep sodat dit is wat ons kry het. 1150 00:51:23,610 --> 00:51:26,170 Toe ek wag vir 'n tweede, het ek verander die toonbank vir een, 1151 00:51:26,170 --> 00:51:27,940 die verhoog dit deur die toevoeging van een. 1152 00:51:27,940 --> 00:51:32,407 Sodat die netto effek is hierdie pragtige skape tel. 1153 00:51:32,407 --> 00:51:33,615 Hoewel hy homself tel. 1154 00:51:33,615 --> 00:51:36,642 1155 00:51:36,642 --> 00:51:38,350 Nou is dit baie vinnig gaan vervelig 1156 00:51:38,350 --> 00:51:40,900 want hy gaan doen dit werklik vir ewig, 1157 00:51:40,900 --> 00:51:44,240 maar dit is presies wat die ontwerp program se voorskryf. 1158 00:51:44,240 --> 00:51:48,090 Kom nou probeer nog 'n voorbeeld wat maak gebruik van 'n veranderlike. 1159 00:51:48,090 --> 00:51:51,140 Hierdie een genoem Hi Hi Hi, wat kry nie vinnig irriterende. 1160 00:51:51,140 --> 00:51:52,987 Nou hierdie een het twee skrifte. 1161 00:51:52,987 --> 00:51:54,570 En dit weer, ons neem baba stappe. 1162 00:51:54,570 --> 00:51:57,236 >> Ons het begin met iets super klein, bygevoeg is bygevoeg. 1163 00:51:57,236 --> 00:51:59,750 Nou wil ek om iets te doen selfs meer dinamiese, 1164 00:51:59,750 --> 00:52:02,950 so ek wil luister na twee verskillende dinge op 'n tyd. 1165 00:52:02,950 --> 00:52:05,420 So aan die linkerkant toe groen vlag word gebruik, 1166 00:52:05,420 --> 00:52:08,100 Ek stel 'n veranderlike wat ek geskryf het vooraf genoem gedemp. 1167 00:52:08,100 --> 00:52:09,700 En ek arbitrêr stel dit 0. 1168 00:52:09,700 --> 00:52:13,290 So Scratch nie ware het en valse, maar dit het 0 en 1. 1169 00:52:13,290 --> 00:52:15,270 >> So kan ek dieselfde idee benader. 1170 00:52:15,270 --> 00:52:21,110 En dan vir ewig, as die space bar is gedruk, dan stel die veranderlike 0. 1171 00:52:21,110 --> 00:52:21,810 Of jammer. 1172 00:52:21,810 --> 00:52:25,920 Indien die spasie gedruk word, en As gedemp, die veranderlike, is 0, 1173 00:52:25,920 --> 00:52:29,950 dan stel gedempte tot 1, anders gestel gedempte tot 0. 1174 00:52:29,950 --> 00:52:32,370 Dit lyk amper soos ons net te doen en die verwydering van die werk. 1175 00:52:32,370 --> 00:52:33,130 >> Maar wat is die effek? 1176 00:52:33,130 --> 00:52:35,588 Elke keer as ek druk die space bar, Wat gebeur met my veranderlike 1177 00:52:35,588 --> 00:52:38,150 genoem gedemp, logies? 1178 00:52:38,150 --> 00:52:39,100 Soort van kry omgekeer. 1179 00:52:39,100 --> 00:52:41,035 Dit verander 0-1 of 1-0. 1180 00:52:41,035 --> 00:52:43,035 So dit het 'n paar blokke uit te druk nie, maar al 1181 00:52:43,035 --> 00:52:47,280 Ek doen is Reguliere die toestand van hierdie veranderlike tot 0 of 1, of 0 of 1 1182 00:52:47,280 --> 00:52:48,530 elke keer as ek druk die space bar. 1183 00:52:48,530 --> 00:52:49,905 Nou hier, wat dit te doen? 1184 00:52:49,905 --> 00:52:53,400 Forever, as gedemp is 0, so as gedemp is onwaar. 1185 00:52:53,400 --> 00:52:57,910 So as dit nie gedemp, is die semantiek daar speel klank see leeu 1186 00:52:57,910 --> 00:53:00,810 en dink Hi Hi Hi vir twee sekondes, wag twee sekondes. 1187 00:53:00,810 --> 00:53:02,710 Nou al so sien skrifte is effektief 1188 00:53:02,710 --> 00:53:07,100 gaan parallel loop sodat 'n mens luister vir 'n aksie, die ander 1189 00:53:07,100 --> 00:53:09,010 om 'n besluit op grond van die aksie te maak. 1190 00:53:09,010 --> 00:53:10,655 En dit kan dit vir ewig te doen. 1191 00:53:10,655 --> 00:53:12,638 >> [Seeleeu blaf] 1192 00:53:12,638 --> 00:53:14,852 >> [Seeleeu blaf] 1193 00:53:14,852 --> 00:53:20,050 >> Dit gaan dit vir ewig te doen en [Seeleeu blaf] soos ek nou net gedoen. 1194 00:53:20,050 --> 00:53:23,010 En nou is dit nog steeds vertoon Maar ek het "gedempte" die spel. 1195 00:53:23,010 --> 00:53:27,260 [Seeleeu blaf] En dit is al hierdie man doen nou ook. 1196 00:53:27,260 --> 00:53:28,660 >> Kom ons nog 'n voorbeeld maak hier. 1197 00:53:28,660 --> 00:53:31,840 Laat my gaan na die gebeure, en nou is dit adorable ook. 1198 00:53:31,840 --> 00:53:34,130 Maar let dit het twee sprites. 1199 00:53:34,130 --> 00:53:37,520 So nie net twee skrifte met een sprite, maar twee sprites. 1200 00:53:37,520 --> 00:53:40,750 En as ek op die blou man soos ek reeds het, sien ek hy as een program 1201 00:53:40,750 --> 00:53:43,790 hier wat letterlik net sê hierdie, wanneer ek 'n gebeurtenis, 1202 00:53:43,790 --> 00:53:45,620 sê "Polo" vir twee sekondes. 1203 00:53:45,620 --> 00:53:48,460 >> So as jy ooit gespeel het in 'n swembad, die spel Marco Polo, 1204 00:53:48,460 --> 00:53:52,500 indien die oranje man script is enige aanduiding is, blykbaar 1205 00:53:52,500 --> 00:53:57,380 elke keer as ek druk die space bar, Wat is die oranje man gaan doen? 1206 00:53:57,380 --> 00:53:58,642 Hy gaan om te sê "Marco." 1207 00:53:58,642 --> 00:53:59,850 En dan is dit 'n nuwe blok. 1208 00:53:59,850 --> 00:54:02,409 Ons het dit nie gesien nie, maar uitgesaai 'n gebeurtenis. 1209 00:54:02,409 --> 00:54:04,200 En ek kon noem dit Indien enigiets wat ons wil hê. 1210 00:54:04,200 --> 00:54:06,033 >> Ons sal terug kom dalk kort voor lank. 1211 00:54:06,033 --> 00:54:08,410 Maar uitsaai 'n gebeurtenis is 'n manier vir 'n sprite 1212 00:54:08,410 --> 00:54:11,836 na 'n ander om te praat deur wese om dit 'n boodskap. 1213 00:54:11,836 --> 00:54:12,960 Dit is nie 'n boodskap wat jy sien. 1214 00:54:12,960 --> 00:54:14,130 Dit is nie iets visuele. 1215 00:54:14,130 --> 00:54:17,370 Dit is soort van 'n rekenaar boodskap dat die ander man is luister vir. 1216 00:54:17,370 --> 00:54:21,210 Omdat inderdaad, die blou man, onthou nie wanneer groen vlag gebruik. 1217 00:54:21,210 --> 00:54:23,290 >> Hy plaas het, toe ek 'n gebeurtenis. 1218 00:54:23,290 --> 00:54:26,850 Wanneer hy dit oorhandig hierdie nota in die klas, om so te praat, moet hy sê "Polo." 1219 00:54:26,850 --> 00:54:30,200 En so het die netto effek is dat wanneer ek druk op die groen vlag, gebeur niks. 1220 00:54:30,200 --> 00:54:34,940 Maar toe ek die space bar, sê hy "Marco," reageer hy met 'n "Polo." 1221 00:54:34,940 --> 00:54:38,350 Maar die enigste sprite Ek is interaksie met die oranje een. 1222 00:54:38,350 --> 00:54:40,980 So, dit is 'n manier om soort verby boodskappe tussen sprites 1223 00:54:40,980 --> 00:54:43,210 en met hulle kommunikeer met mekaar. 1224 00:54:43,210 --> 00:54:46,280 >> Nou laat ons kyk na 'n laaste een hier genoem drade. 1225 00:54:46,280 --> 00:54:49,370 En let dit deur dit te speel. 1226 00:54:49,370 --> 00:54:51,184 So dit is twee sprites. 1227 00:54:51,184 --> 00:54:52,600 Die voël is soort van vlieg rond. 1228 00:54:52,600 --> 00:54:53,310 Hy weerkaats. 1229 00:54:53,310 --> 00:54:55,890 Daar is geen "eina," maar dieselfde idee. 1230 00:54:55,890 --> 00:54:58,230 >> Maar die kat lyk redelik slim. 1231 00:54:58,230 --> 00:55:01,010 Wat is die kat blykbaar doen? 1232 00:55:01,010 --> 00:55:03,430 En wag vir dit. 1233 00:55:03,430 --> 00:55:05,010 Wat is die kat blykbaar doen? 1234 00:55:05,010 --> 00:55:07,740 Dit is nie net weerkaats. 1235 00:55:07,740 --> 00:55:09,860 >> Hy is na die voëls. 1236 00:55:09,860 --> 00:55:13,920 En so glo, is daar 'n manier met 'n kombinasie van die blokke here-- 1237 00:55:13,920 --> 00:55:15,760 en laat ons kyk na die kat ware vinnig. 1238 00:55:15,760 --> 00:55:20,270 Forever, as voël raak, dan speel die klank Lion 4, wat dit ook al is. 1239 00:55:20,270 --> 00:55:21,360 Ons het gehoor dit eens. 1240 00:55:21,360 --> 00:55:25,431 Anders, wys na voël en beweeg een stap. 1241 00:55:25,431 --> 00:55:27,680 Nou is die feit dat dit een stap is wat die voël gee 1242 00:55:27,680 --> 00:55:29,850 'n bietjie van 'n voordeel aanvanklik, maar as ons plaas 1243 00:55:29,850 --> 00:55:32,980 maak hierdie 10, byvoorbeeld, so dat elke iterasie van lus hy 1244 00:55:32,980 --> 00:55:34,100 beweeg 10 stappe van die tyd. 1245 00:55:34,100 --> 00:55:35,280 Sodat meer ruimte. 1246 00:55:35,280 --> 00:55:36,650 Kom ons kyk wat gebeur dan. 1247 00:55:36,650 --> 00:55:38,740 [Leeu brul] Nie alles wat baie beter. 1248 00:55:38,740 --> 00:55:41,460 So nou, laat ons probeer om te verbeter op hierdie 'n bietjie iteratief, 1249 00:55:41,460 --> 00:55:43,330 en kom terug na daardie idee van 'n funksie. 1250 00:55:43,330 --> 00:55:46,580 >> En inderdaad een van die fundamentele wegneemetes van die klas ontwerp. 1251 00:55:46,580 --> 00:55:49,560 Nie net die skryf van programme wat werk en dat korrek is nie, maar goed 1252 00:55:49,560 --> 00:55:50,080 ontwerp. 1253 00:55:50,080 --> 00:55:54,349 En ontwerp is baie meer subjektiewe, en jy sal beter kry dit oor tyd. 1254 00:55:54,349 --> 00:55:57,390 Maar laat ons neem 'n paar baba stappe na begin met 'n program wat werk, 1255 00:55:57,390 --> 00:55:59,310 absoluut, maar dit is nie baie goed nie. 1256 00:55:59,310 --> 00:56:00,650 Dit is nie baie goed geskryf. 1257 00:56:00,650 --> 00:56:03,830 >> So hier is 'n program wat dit doen. 1258 00:56:03,830 --> 00:56:08,060 Hoes, hoes, hoes. 1259 00:56:08,060 --> 00:56:09,880 Wat beteken die program lyk? 1260 00:56:09,880 --> 00:56:11,330 Correct vir my. 1261 00:56:11,330 --> 00:56:13,370 Dit sê vir 'n rusbank tweede, dan is dit wag. 1262 00:56:13,370 --> 00:56:14,515 >> Toe sê hy dit weer, dan is dit wag. 1263 00:56:14,515 --> 00:56:16,056 Toe sê hy dit weer, dan is dit wag. 1264 00:56:16,056 --> 00:56:18,770 En dan is die program implisiet eindig, want daar is geen lus. 1265 00:56:18,770 --> 00:56:21,325 Maar hoekom is dit 'n swak geskrewe program? 1266 00:56:21,325 --> 00:56:22,950 Selfs as jy nog nooit voorheen geprogrammeer? 1267 00:56:22,950 --> 00:56:25,240 Soos wat vryf die verkeerde manier, miskien hier? 1268 00:56:25,240 --> 00:56:26,016 Ja? 1269 00:56:26,016 --> 00:56:29,278 >> GEHOOR: [onhoorbaar] 1270 00:56:29,278 --> 00:56:29,950 1271 00:56:29,950 --> 00:56:30,950 DAVID J. MALAN: Presies. 1272 00:56:30,950 --> 00:56:32,700 Jy herhaal jouself weer en weer. 1273 00:56:32,700 --> 00:56:36,190 En letterlik, ek gekopieer en geplak twee van weer en weer daardie blokke. 1274 00:56:36,190 --> 00:56:39,237 En dit is presies die soort van gesonde verstand seker dat jy moet maak. 1275 00:56:39,237 --> 00:56:39,820 Wag 'n minuut. 1276 00:56:39,820 --> 00:56:41,070 Moet ek regtig doen? 1277 00:56:41,070 --> 00:56:43,610 So, wat is dit wat is die hand liggende oplossing dalk? 1278 00:56:43,610 --> 00:56:44,680 'N soort van loop. 1279 00:56:44,680 --> 00:56:46,860 En ek doen nie heeltemal onthou wat die legkaart stuk is, 1280 00:56:46,860 --> 00:56:48,810 maar as ek kyk na die volgende iterasie hier 1281 00:56:48,810 --> 00:56:50,560 Trouens, daar is nie net die ewig lus, 1282 00:56:50,560 --> 00:56:52,560 daar is 'n paar herhaal n paar keer. 1283 00:56:52,560 --> 00:56:54,080 En so het ek drie gespesifiseerde. 1284 00:56:54,080 --> 00:56:57,839 En nou sien hoe baie strenger, hoe veel meer bondige hierdie program is. 1285 00:56:57,839 --> 00:56:59,630 En in 'n sin, hoe veel meer onderhoubare. 1286 00:56:59,630 --> 00:57:02,840 As ek wil die woord te verander van hoes na iets anders, 1287 00:57:02,840 --> 00:57:07,530 soos achoo, asof hy nies. 1288 00:57:07,530 --> 00:57:09,770 Dan is dit verander ek in een plek en nie drie nie. 1289 00:57:09,770 --> 00:57:12,050 So dit reeds voel soos effens beter ontwerp. 1290 00:57:12,050 --> 00:57:14,610 Laat my plaas oop hoes 2, ons derde voorbeeld. 1291 00:57:14,610 --> 00:57:17,670 >> Let as 'n rekenaar wetenskaplike, Ek begin tel by 0, tipies. 1292 00:57:17,670 --> 00:57:20,950 Nou dit lyk 'n bietjie vreesaanjaend by eerste, maar die effek is dieselfde. 1293 00:57:20,950 --> 00:57:22,590 Hoes, hoes, hoes. 1294 00:57:22,590 --> 00:57:26,920 Maar wat blyk te wees fundamenteel nuut in die boonste deel van die program? 1295 00:57:26,920 --> 00:57:28,670 Ek het die seggenskap verwyder. 1296 00:57:28,670 --> 00:57:29,830 >> Ek het die wag verwyder. 1297 00:57:29,830 --> 00:57:32,370 Wat het ek nou ingeprop plaas? 1298 00:57:32,370 --> 00:57:32,890 'N funksie. 1299 00:57:32,890 --> 00:57:33,670 'N hoes blok. 1300 00:57:33,670 --> 00:57:35,410 Ek bedoel, eerlik, ek lyk soort van 'n idioot as wat ek gedoen het nie net 1301 00:57:35,410 --> 00:57:37,285 begin met die blok dit is blykbaar genoem 1302 00:57:37,285 --> 00:57:38,894 "hoes," as dit is al wat ek wil hom is nie. 1303 00:57:38,894 --> 00:57:40,310 Maar dit beteken nie bestaan ​​in Scratch. 1304 00:57:40,310 --> 00:57:43,396 Eerder het ek na een in die palet genoem Meer Blocks hier 1305 00:57:43,396 --> 00:57:46,270 en ek sleep die groot pers ding hier wat kan vir my 'n funksie te definieer. 1306 00:57:46,270 --> 00:57:48,240 Dit laat my wese skep my eie legkaart 1307 00:57:48,240 --> 00:57:51,280 stuk wat enigiets wat ek kan genoem word wil, dat enigiets wat ek wil doen, 1308 00:57:51,280 --> 00:57:52,360 maar dit gee dit 'n naam. 1309 00:57:52,360 --> 00:57:57,050 Dit gee my 'n nuwe, pers legkaart stuk wat nou doen wat ek sê om dit te doen. 1310 00:57:57,050 --> 00:58:01,060 So hierdie pers stuk hier ooreenstem met hierdie een hier. 1311 00:58:01,060 --> 00:58:01,960 >> En wat doen dit? 1312 00:58:01,960 --> 00:58:03,930 Dit sê hoes vir 'n tweede, en dan is dit wag. 1313 00:58:03,930 --> 00:58:07,330 En nou het ek soort van geskep my eie persoonlike legkaart stuk, 1314 00:58:07,330 --> 00:58:10,040 sodat dit optree presies dieselfde manier. 1315 00:58:10,040 --> 00:58:11,130 So ek kan hou om dit te doen. 1316 00:58:11,130 --> 00:58:14,421 En inderdaad, daar gaan meer wees en meer geleenthede vir modularisatie, 1317 00:58:14,421 --> 00:58:16,630 en vir gelaagdheid, kompleksiteit op die top van mekaar. 1318 00:58:16,630 --> 00:58:18,547 Maar dit basiese idee, inderdaad in die probleem gesê 0. 1319 00:58:18,547 --> 00:58:20,338 Wat jy gaan uitgedaag word om te doen, is 1320 00:58:20,338 --> 00:58:23,810 te krap aflaai, of net gebruik dit op die web, en net om pret te hê met dit. 1321 00:58:23,810 --> 00:58:26,056 Ons sal jou 'n stel van gee vereistes, met 'n gesonde, 1322 00:58:26,056 --> 00:58:27,430 en 'n paar van die stukke van die legkaart getal. 1323 00:58:27,430 --> 00:58:28,480 Maar jy sal juis dit doen. 1324 00:58:28,480 --> 00:58:31,771 En jy sal besef dat jy gaan wil 'n paar baba stappe aanvanklik neem, 1325 00:58:31,771 --> 00:58:33,690 totdat jou program kry meer en meer kompleks. 1326 00:58:33,690 --> 00:58:36,010 Maar dit is die oorweging beste manier wat ek kon doen? 1327 00:58:36,010 --> 00:58:39,210 Kan ek vermy instink miskien, te kopieer en plak? 1328 00:58:39,210 --> 00:58:41,850 >> Maar voordat Probleem Stel 0, en voor ons verdaag, 1329 00:58:41,850 --> 00:58:44,980 gedink ons ​​wil neem een meer vrywilligers as ons kon, 1330 00:58:44,980 --> 00:58:46,820 vir 'n finale program dit is miskien die mees 1331 00:58:46,820 --> 00:58:49,150 pas op alle, gegewe venue vandag se. 1332 00:58:49,150 --> 00:58:50,298 Kom af. 1333 00:58:50,298 --> 00:58:51,234 Ja. 1334 00:58:51,234 --> 00:58:52,170 Ja. 1335 00:58:52,170 --> 00:58:53,431 Wat is jou naam? 1336 00:58:53,431 --> 00:58:53,930 Uh-oh. 1337 00:58:53,930 --> 00:58:57,820 1338 00:58:57,820 --> 00:58:59,010 Dit is OK. 1339 00:58:59,010 --> 00:59:01,230 Beide afkom. 1340 00:59:01,230 --> 00:59:05,520 En ek het sal gaan met hierdie een of ander manier binne daardie volgende tien sekondes. 1341 00:59:05,520 --> 00:59:06,550 So kom neer. 1342 00:59:06,550 --> 00:59:08,370 Kom af. 1343 00:59:08,370 --> 00:59:13,250 >> Laat my kom hier. 1344 00:59:13,250 --> 00:59:16,050 Kom op. 1345 00:59:16,050 --> 00:59:16,685 Alle regte. 1346 00:59:16,685 --> 00:59:21,360 1347 00:59:21,360 --> 00:59:22,360 Kom ons kyk hier. 1348 00:59:22,360 --> 00:59:25,735 So sien baie vinnig hier, as jy wil om op te kom. 1349 00:59:25,735 --> 00:59:28,650 1350 00:59:28,650 --> 00:59:29,926 >> Ons sal twee rondes van dit te doen. 1351 00:59:29,926 --> 00:59:30,800 En wat is jou naam? 1352 00:59:30,800 --> 00:59:31,270 >> Sabrina: Sabrina. 1353 00:59:31,270 --> 00:59:32,060 >> DAVID J. MALAN: Sabrina en? 1354 00:59:32,060 --> 00:59:32,622 >> Ying GEE: Ying Gee. 1355 00:59:32,622 --> 00:59:33,360 >> DAVID J. MALAN: Ying Gee. 1356 00:59:33,360 --> 00:59:34,276 Nice om jou te ontmoet beide. 1357 00:59:34,276 --> 00:59:34,970 David. 1358 00:59:34,970 --> 00:59:38,785 So ons finale voorbeeld hier is genoem Hardest Game Ivy se. 1359 00:59:38,785 --> 00:59:41,160 En hoekom nie ons het jy doen Vlak 1, en jy hoef vlak 2. 1360 00:59:41,160 --> 00:59:43,350 >> En ons sal sien hoe ver buite dat ons eintlik gaan. 1361 00:59:43,350 --> 00:59:45,855 Geskryf deur 'n student verlede jaar, remixed deur my 1362 00:59:45,855 --> 00:59:48,840 sodat dit sou gaan oor goed in New Haven. 1363 00:59:48,840 --> 00:59:53,180 En ek gee jou 'n spel wat gaan behels die verskuiwing van die pyle op en af, 1364 00:59:53,180 --> 00:59:55,771 en om Yale na die eindstreep. 1365 00:59:55,771 --> 00:59:56,270 Hier gaan ons. 1366 00:59:56,270 --> 00:59:56,759 >> [Video speel] 1367 00:59:56,759 --> 00:59:58,092 >> [MUSIEK - NFL op Fox Theme Song] 1368 00:59:58,092 --> 00:59:59,369 1369 00:59:59,369 --> 01:00:01,160 [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1370 01:00:01,160 --> 01:00:04,590 1371 01:00:04,590 --> 01:00:07,900 >> -U Kan dit nie raak nie. 1372 01:00:07,900 --> 01:00:11,634 U kan dit nie raak nie. 1373 01:00:11,634 --> 01:00:14,252 Kan dit nie raak nie. 1374 01:00:14,252 --> 01:00:19,490 My, my, my, my musiek treffers my so hard, maak my sê: Ag, my heer. 1375 01:00:19,490 --> 01:00:22,927 Dankie vir die seën my met 'n omgee om rym en twee hype voete. 1376 01:00:22,927 --> 01:00:24,891 >> Dit is goed as jy weet jy is af. 1377 01:00:24,891 --> 01:00:26,855 A super dope jan van die Oaktown. 1378 01:00:26,855 --> 01:00:31,274 En ek is bekend as sodanig en die 'n klop uh, kan jy nie raak nie. 1379 01:00:31,274 --> 01:00:34,672 Ek het jou gesê jan U kan dit nie raak nie. 1380 01:00:34,672 --> 01:00:38,656 Ja, dit is hoe ons lewe en jy weet U kan dit nie raak nie. 1381 01:00:38,656 --> 01:00:40,135 >> Kyk in my oë, man. 1382 01:00:40,135 --> 01:00:43,093 U kan dit nie raak nie. 1383 01:00:43,093 --> 01:00:44,572 Yo, laat my breek die funky lirieke. 1384 01:00:44,572 --> 01:00:45,363 U kan dit nie raak nie. 1385 01:00:45,363 --> 01:00:46,544 Vars nuwe skop en broek. 1386 01:00:46,544 --> 01:00:48,627 >> Jy het dit so en jy weet jy wil dans. 1387 01:00:48,627 --> 01:00:51,967 So beweeg uit jou sitplek en kry 'n vlieg meisie en vang hierdie klop. 1388 01:00:51,967 --> 01:00:55,911 Terwyl dit rol houvas op te pomp 'n bietjie bietjie en laat hulle weet wat aangaan. 1389 01:00:55,911 --> 01:00:56,890 Soos dit. 1390 01:00:56,890 --> 01:00:57,390 Soos dit. 1391 01:00:57,390 --> 01:00:59,362 >> Koue op 'n missie so trek terug. 1392 01:00:59,362 --> 01:01:04,785 Laat hulle weet dat jy te veel is en dit is 'n skuif uh jy nie kan raak nie. 1393 01:01:04,785 --> 01:01:07,743 Yo, ek het jou gesê U kan dit nie raak nie. 1394 01:01:07,743 --> 01:01:09,222 Waarom jy daar staan ​​man? 1395 01:01:09,222 --> 01:01:10,208 U kan dit nie raak nie. 1396 01:01:10,208 --> 01:01:13,200 >> Yo, klink die klok skool se, sucker. 1397 01:01:13,200 --> 01:01:14,005 U kan dit nie raak nie. 1398 01:01:14,005 --> 01:01:18,326 Gee my 'n lied, 'n ritme wat hulle sweet dit is wat ek gee hulle nou. 1399 01:01:18,326 --> 01:01:21,805 Hulle weet wanneer jy praat oor die Hammer jy praat oor 'n show wat hype. 1400 01:01:21,805 --> 01:01:24,290 En stywe sangers is sweet so slaag hulle 'n mic. 1401 01:01:24,290 --> 01:01:27,272 >> Of 'n band om te leer wat dit gaan neem en nou 1402 01:01:27,272 --> 01:01:29,260 hy gaan die kaarte te verbrand. 1403 01:01:29,260 --> 01:01:32,739 Legit óf werk hard of jy kan net sowel ophou. 1404 01:01:32,739 --> 01:01:37,709 Want jy weet U kan dit nie raak nie. 1405 01:01:37,709 --> 01:01:41,599 U kan dit nie raak nie. 1406 01:01:41,599 --> 01:01:42,182 Breek dit af. 1407 01:01:42,182 --> 01:01:56,095 1408 01:01:56,095 --> 01:01:56,595 Stop. 1409 01:01:56,595 --> 01:01:57,095 Hammer tyd. 1410 01:01:57,095 --> 01:01:59,577 Gaan saam met die vloei in 'n spin as jy nie kan beweeg om hierdie 1411 01:01:59,577 --> 01:02:01,068 dan is jy waarskynlik dood. 1412 01:02:01,068 --> 01:02:04,547 So waai jou hande in die lug [onhoorbaar] 1413 01:02:04,547 --> 01:02:08,026 >> Dit is dit vir 'n wenner dans hierdie en jy gaan dunner te kry. 1414 01:02:08,026 --> 01:02:12,996 Beweeg gly jou kruis net vir 'n minuut laat ons almal doen die bult. 1415 01:02:12,996 --> 01:02:13,990 Ja. 1416 01:02:13,990 --> 01:02:14,984 U kan dit nie raak nie. 1417 01:02:14,984 --> 01:02:17,966 1418 01:02:17,966 --> 01:02:19,457 >> U kan dit nie raak nie. 1419 01:02:19,457 --> 01:02:23,433 Jy beter kry hype seuntjie U kan dit nie raak nie. 1420 01:02:23,433 --> 01:02:24,924 Die klok lui skool se rug in. 1421 01:02:24,924 --> 01:02:25,918 Breek dit af. 1422 01:02:25,918 --> 01:02:38,837 1423 01:02:38,837 --> 01:02:39,337 Stop. 1424 01:02:39,337 --> 01:02:40,828 Hammer tyd 1425 01:02:40,828 --> 01:02:42,816 >> DAVID J. MALAN: Dit is dit vir CS50! 1426 01:02:42,816 --> 01:02:45,301 Baie dankie vir die saam met ons! 1427 01:02:45,301 --> 01:02:47,786 Sien julle daar buite. 1428 01:02:47,786 --> 01:02:48,611 >> [Einde afspeel] 1429 01:02:48,611 --> 01:02:49,277 [Video speel] 1430 01:02:49,277 --> 01:02:52,259 [MUSIEK - "Seinfeld" temalied] 1431 01:02:52,259 --> 01:02:53,860 Hey David. 1432 01:02:53,860 --> 01:02:54,500 Hey, David. 1433 01:02:54,500 --> 01:02:55,912 Hoe gaan dit? 1434 01:02:55,912 --> 01:02:58,078 >> Goeie werk, vandag. 1435 01:02:58,078 --> 01:03:00,952 -So het jy al gedink oor wat jy gaan om dit te doen vir die uit grappe? 1436 01:03:00,952 --> 01:03:03,207 Nee, ek het niks. 1437 01:03:03,207 --> 01:03:07,550 -Wat If-- wat as dit is die uit grap? 1438 01:03:07,550 --> 01:03:08,970 -agtige, Uitpak karre? 1439 01:03:08,970 --> 01:03:11,430 -Uh-Huh. 1440 01:03:11,430 --> 01:03:13,890 Jy weet, dit gaan oor niks. 1441 01:03:13,890 --> 01:03:17,559 >> -So wil, geen storie, geen konflik, geen besluit. 1442 01:03:17,559 --> 01:03:18,350 Ek verstaan ​​nie. 1443 01:03:18,350 --> 01:03:20,542 Waaroor gaan dit dan? 1444 01:03:20,542 --> 01:03:23,510 >> Wat gebeur. 1445 01:03:23,510 --> 01:03:27,427 >> -So het ons uit grap oor niks, en ons het geen akteurs. 1446 01:03:27,427 --> 01:03:28,510 Wie gaan wees in hierdie? 1447 01:03:28,510 --> 01:03:29,010 >> Nee, nee, nee. 1448 01:03:29,010 --> 01:03:31,310 Ek bedoel, ek sal dit in. 1449 01:03:31,310 --> 01:03:32,109 >> -You'll Wees daarvan? 1450 01:03:32,109 --> 01:03:32,608 -Yeah! 1451 01:03:32,608 --> 01:03:34,903 Mense is altyd vertel my ek is 'n karakter. 1452 01:03:34,903 --> 01:03:36,029 >> -Goed, Ek bedoel, dit is waar. 1453 01:03:36,029 --> 01:03:37,445 Maar wie anders gaan wees in dit? 1454 01:03:37,445 --> 01:03:38,660 Dit kan nie net jou. 1455 01:03:38,660 --> 01:03:47,240 >> -Jy Sal daarin wees, Gavin, Dan, Dan, Colton, Z'Myla, Alysse, Doug, 1456 01:03:47,240 --> 01:03:51,120 David, almal. 1457 01:03:51,120 --> 01:03:53,630 >> -So dit gaan oor niks nie, en almal is in dit? 1458 01:03:53,630 --> 01:03:54,530 >> -Absolutely Niks. 1459 01:03:54,530 --> 01:03:58,730 1460 01:03:58,730 --> 01:04:00,580 >> -Dit Is belaglik.