1 00:00:14,320 --> 00:00:17,970 So dit is my grootste plesier om julle almal welkom hier vandag 2 00:00:17,970 --> 00:00:20,600 vir die eerste lesing van, wel, Inleiding 3 00:00:20,600 --> 00:00:22,510 om Computing en Programmering. 4 00:00:22,510 --> 00:00:29,110 Ook bekend as CS50 of goed, CPSC 100, amptelik hier aan die Yale. 5 00:00:29,110 --> 00:00:34,820 >> So kan ons nie meer opgewonde wees om julle almal hier te verwelkom. 6 00:00:34,820 --> 00:00:36,620 My naam is Patrick Rebeschini. 7 00:00:36,620 --> 00:00:39,180 Ek is die hoof-instrukteur vir die klas. 8 00:00:39,180 --> 00:00:43,600 Ek hier verteenwoordig 'n groep van ongeveer 60 personeellede 9 00:00:43,600 --> 00:00:46,380 wat sal saam met jou deur die semester plaas. 10 00:00:46,380 --> 00:00:49,040 Hierdie getal is amper 60 van ons. 11 00:00:49,040 --> 00:00:52,440 Tog langs die buitengewone vlak van verpligtinge 12 00:00:52,440 --> 00:00:56,555 dat ons sit in hierdie klas, maak CS50 die klas 13 00:00:56,555 --> 00:01:00,690 aan die Yale Universiteit wat bied die grootste vlak van ondersteuning 14 00:01:00,690 --> 00:01:01,960 aan almal van julle. 15 00:01:01,960 --> 00:01:05,940 En ons kan nie meer op trots te wees bied hierdie klas weer hier. 16 00:01:05,940 --> 00:01:11,380 >> Trouens, as jy sal gou ervaar, CS50 is veel meer as 'n klas. 17 00:01:11,380 --> 00:01:13,120 Dit is 'n gemeenskap. 18 00:01:13,120 --> 00:01:15,250 En jy sal deel wees gou van hierdie gemeenskap. 19 00:01:15,250 --> 00:01:18,730 Dit is die tweede jaar dat Yale bied hierdie klas. 20 00:01:18,730 --> 00:01:21,640 Ons is besig om op die uiterste sukses van verlede jaar, waar 21 00:01:21,640 --> 00:01:24,340 vir die eerste keer, hier aan hierdie universiteit, 22 00:01:24,340 --> 00:01:28,930 voorgraadse leer assistent was in klaskamers aangeneem. 23 00:01:28,930 --> 00:01:32,650 Dit het alles begin met hierdie klas verlede jaar. 24 00:01:32,650 --> 00:01:37,050 >> So as jy weet, is die klas geleer saam met die Universiteit van Harvard. 25 00:01:37,050 --> 00:01:39,920 Om hierdie kursus leer Ons is relying-- ons kan 26 00:01:39,920 --> 00:01:44,850 reken op die groot kundigheid van David Malan en die Harvard-span. 27 00:01:44,850 --> 00:01:48,930 En Dawid het geleer CS50 vir goed, 10 jaar nou. 28 00:01:48,930 --> 00:01:51,160 En elke jaar is hy stoot die grense 29 00:01:51,160 --> 00:01:54,210 en die verbetering van die klaskamer ervaring. 30 00:01:54,210 --> 00:01:58,940 Weereens, kan ons nie meer gelukkig te wees voortgaan om hierdie samewerking met hulle. 31 00:01:58,940 --> 00:02:01,840 >> Trouens, een van die interessantste dele, 32 00:02:01,840 --> 00:02:06,560 Ek sal sê van die bestuur van hierdie klas nou, sowel by Harvard en hier aan die Yale, 33 00:02:06,560 --> 00:02:09,420 is die werklik ongelooflike kruisbestuiwing 34 00:02:09,420 --> 00:02:13,770 van idees, wat gemik is op die verbetering van die leerervaring aan julle almal. 35 00:02:13,770 --> 00:02:18,130 So as 'n gevolg van hierdie uitgebreide samewerking tussen die twee 36 00:02:18,130 --> 00:02:23,070 universiteit, CS50 is trots om kondig die nuwe weergawe vanjaar 37 00:02:23,070 --> 00:02:24,770 met merkbare veranderinge. 38 00:02:24,770 --> 00:02:27,580 David sal ons almal te vertel oor hulle nou. 39 00:02:27,580 --> 00:02:31,450 So please-- hierdie wese gesê, moet asseblief saam met my 40 00:02:31,450 --> 00:02:34,220 en welkom om 'n gee groot applous 41 00:02:34,220 --> 00:02:37,290 Dawid verwelkom en Harvard-span hier by Yale. 42 00:02:37,290 --> 00:02:40,032 >> [Applous] 43 00:02:40,032 --> 00:02:41,882 44 00:02:41,882 --> 00:02:43,247 >> David Malan: Dankie. 45 00:02:43,247 --> 00:02:43,746 Dankie. 46 00:02:43,746 --> 00:02:46,550 47 00:02:46,550 --> 00:02:51,400 Dit is CS50, Harvard Universiteit se en Yale Universiteit se bekendstelling 48 00:02:51,400 --> 00:02:53,960 om die intellektuele ondernemings van rekenaarwetenskap 49 00:02:53,960 --> 00:02:55,490 en die kuns van programmering. 50 00:02:55,490 --> 00:02:59,640 En wat dit beteken, is dat hierdie kursus Uiteindelik is oor probleemoplossing. 51 00:02:59,640 --> 00:03:01,849 Inderdaad baie van julle dalk het uit die hoërskool kom 52 00:03:01,849 --> 00:03:04,931 of het die afgelope paar jaar deurgebring wonder wat sommige van jou vriende 53 00:03:04,931 --> 00:03:06,380 het verlede jaar of in ander klasse. 54 00:03:06,380 --> 00:03:08,449 En tog, die werklikheid is, maak nie saak wat ons 55 00:03:08,449 --> 00:03:11,740 doen aan die einde van die dag in die klas, dit gaan wees oor probleemoplossing. 56 00:03:11,740 --> 00:03:14,320 >> En as sodanig, miskien neem n mate van gerusstelling in die feit 57 00:03:14,320 --> 00:03:16,770 dat 73% van die studente wat neem hierdie klas, sowel hier 58 00:03:16,770 --> 00:03:20,235 aan die Yale asook aan die Harvard, het 'n CS klas nooit tevore geneem. 59 00:03:20,235 --> 00:03:22,610 So as jy hier is die vergadering in die gehoor vandag wonder 60 00:03:22,610 --> 00:03:24,520 waarom jy hier sit in die gehoor vandag, 61 00:03:24,520 --> 00:03:26,300 of miskien het jy net gevolg saam met 'n paar vriende, 62 00:03:26,300 --> 00:03:28,299 of miskien het jy het nie 'n bietjie nuuskierig oor wat 63 00:03:28,299 --> 00:03:30,194 Rekenaarwetenskap en ontwikkeling is, besef 64 00:03:30,194 --> 00:03:32,860 dat die meeste van jou klasmaats te links en regs van jou 65 00:03:32,860 --> 00:03:35,840 is baie in dieselfde demografiese. 66 00:03:35,840 --> 00:03:38,120 >> En inderdaad, as ons kyk by verlede jaar statistieke 67 00:03:38,120 --> 00:03:42,760 binne die studenteliggaam van CS50, beide hier en aan die Harvard, 58% van die studente 68 00:03:42,760 --> 00:03:44,630 beskryf hulself as minder gemaklik. 69 00:03:44,630 --> 00:03:46,090 9% is meer gemaklik. 70 00:03:46,090 --> 00:03:47,699 En dan 33% is iewers tussenin. 71 00:03:47,699 --> 00:03:50,240 En daar is geen formele definisie van wat dit beteken emmers beteken. 72 00:03:50,240 --> 00:03:52,335 Jy weet soort jy minder gemaklik as jy. 73 00:03:52,335 --> 00:03:54,840 Jy voel 'n bietjie ongemaklik met miskien om in die klas. 74 00:03:54,840 --> 00:03:57,840 Jy is nie heeltemal seker of 'n rekenaar wetenskap klas is uiteindelik vir jou, 75 00:03:57,840 --> 00:04:00,009 en besef dat jy in 'n baie goeie geselskap. 76 00:04:00,009 --> 00:04:01,800 En inderdaad die gradering, en die assessering, 77 00:04:01,800 --> 00:04:04,466 en die terugvoer, en al wat ondersteuning struktuur in die klas 78 00:04:04,466 --> 00:04:06,550 is uiteindelik baie geïndividualiseer. 79 00:04:06,550 --> 00:04:09,187 Meer nog as die meeste enige ander klas deur ontwerp. 80 00:04:09,187 --> 00:04:11,520 En inderdaad, wat uiteindelik aangeleenthede in hierdie klas is nie 81 00:04:11,520 --> 00:04:14,180 soveel waar jy eindig up in vergelyking met ander, 82 00:04:14,180 --> 00:04:18,070 maar waar jy in week 11 of laaste, en met betrekking tot jouself in week 83 00:04:18,070 --> 00:04:20,372 0 hier ons eerste. 84 00:04:20,372 --> 00:04:21,330 So wat beteken dit? 85 00:04:21,330 --> 00:04:24,750 Wel, dit beteken van diegene 73% van studente verlede jaar wat nooit plaasgevind het 86 00:04:24,750 --> 00:04:26,917 'n CS klas voor, deur die begin van die semester hulle 87 00:04:26,917 --> 00:04:29,500 was rondspeel in 'n taal genoem nuuts af, wat ons ons 88 00:04:29,500 --> 00:04:30,340 sal vandag hier te sien. 89 00:04:30,340 --> 00:04:32,190 En teen die einde van die semester het hulle gegaan 90 00:04:32,190 --> 00:04:34,700 deur hierdie hele lys van uitdagings. 91 00:04:34,700 --> 00:04:36,399 Begin met 'n taal genoem c. 92 00:04:36,399 --> 00:04:38,190 Implementering, wat met die eerste oogopslag, gaan 93 00:04:38,190 --> 00:04:41,010 om 'n bietjie van 'n uitdaging wees vir sommige, maar redelik bevredigend wanneer jy 94 00:04:41,010 --> 00:04:44,510 kry Super Mario weerkaats op en af ​​'n piramide 95 00:04:44,510 --> 00:04:47,005 geïmplementeer word, al is dit met net iets genoem ASCII art. 96 00:04:47,005 --> 00:04:49,380 Implementering laaste year-- wat die studente verlede jaar toe 97 00:04:49,380 --> 00:04:53,270 het daarna is implementeer hul eie Caesar cipher en vigenere cipher. 98 00:04:53,270 --> 00:04:55,180 So enkripsie-algoritmes waarmee jy kan 99 00:04:55,180 --> 00:04:58,920 geskarrel inligting en dan Ontleden inligting om geheime boodskappe te stuur. 100 00:04:58,920 --> 00:05:00,010 Die spel van 15. 101 00:05:00,010 --> 00:05:02,260 As jy onthou van kinderjare of 'n partytjie guns, 102 00:05:02,260 --> 00:05:05,000 daardie klein plastiek spel waar jy beweeg die getalle op, af, links en regs 103 00:05:05,000 --> 00:05:07,500 om te probeer om hulle te kry ten einde, eintlik die uitvoering van daardie wedstryd 104 00:05:07,500 --> 00:05:09,640 en die oplossing van die logika daar vereis. 105 00:05:09,640 --> 00:05:11,640 En dan dabbled ons in forensiese verlede jaar. 106 00:05:11,640 --> 00:05:13,810 >> So teen die middel van semester, Studente wat nog nooit 107 00:05:13,810 --> 00:05:16,130 gebruik hul sleutelborde vir hierdie doel voor, 108 00:05:16,130 --> 00:05:19,030 is sagteware skryf om te herstel, om so te praat, 109 00:05:19,030 --> 00:05:21,420 JPEG of foto's wat ons gehad het per ongeluk 110 00:05:21,420 --> 00:05:24,430 weggelaat uit 'n digitale geheue kaart van 'n kamera. 111 00:05:24,430 --> 00:05:28,130 Herstel geheime boodskappe van die binnekant van die beeld 'n bitmap, 112 00:05:28,130 --> 00:05:30,030 en ander sulke tipes grafiese sowel. 113 00:05:30,030 --> 00:05:32,770 >> Ons het toe transitioned te gee die hele klas 'n woordeboek. 114 00:05:32,770 --> 00:05:36,330 Net 'n baie groot tekslêer met 150,000 Engelse woorde. 115 00:05:36,330 --> 00:05:39,080 En almal uitgedaag om een ​​of ander manier te lees, om so te praat, 116 00:05:39,080 --> 00:05:40,780 daardie woorde in die geheue. 117 00:05:40,780 --> 00:05:42,060 In die geheue van die rekenaar. 118 00:05:42,060 --> 00:05:44,310 En beantwoord dan vrae van die vorm, is dit 'n woord? 119 00:05:44,310 --> 00:05:44,934 Is dit 'n woord? 120 00:05:44,934 --> 00:05:45,580 Is dit 'n woord? 121 00:05:45,580 --> 00:05:47,880 Eintlik net die implementering 'n speltoetser. 122 00:05:47,880 --> 00:05:50,320 En dan daag elke ander met 'n groot board-- 123 00:05:50,320 --> 00:05:53,040 'n leier raad oor wie sien kon gebruik die minste hoeveelheid van geheue, 124 00:05:53,040 --> 00:05:56,470 in die minste hoeveelheid tyd om eintlik speltoets groot dokumente. 125 00:05:56,470 --> 00:05:59,760 >> Ons transitioned van toe tot implementering van dié eie webbediener. 126 00:05:59,760 --> 00:06:04,070 So nie maak webblaaie in tale soos HTML en CSS, as jy vertroud is. 127 00:06:04,070 --> 00:06:06,360 Maar eintlik implementering die bediener wat 128 00:06:06,360 --> 00:06:09,260 luister op die internet vir versoeke van bruisers 129 00:06:09,260 --> 00:06:11,022 en dan reageer op die versoeke. 130 00:06:11,022 --> 00:06:13,230 Toe die implementering van ons eie e-handel soos webwerf, waar 131 00:06:13,230 --> 00:06:15,490 studente kan koop en verkoop aandele. 132 00:06:15,490 --> 00:06:18,590 Teken in byna real time voorraadkwotasies van Yahoo Finansies. 133 00:06:18,590 --> 00:06:21,200 En toe studente om te sien hoe hul portefeulje ontwikkel. 134 00:06:21,200 --> 00:06:23,570 En dan uiteindelik 'n mash up van Google Nuus en Google 135 00:06:23,570 --> 00:06:26,540 Kaarte waardeur studente deur termyn deur terme einde 136 00:06:26,540 --> 00:06:30,110 het die vermoë om te klik, en ronde, en soek op 'n Google kaart. 137 00:06:30,110 --> 00:06:32,060 En dan sien al die nuus artikels wat 138 00:06:32,060 --> 00:06:33,940 is proksimaal tot die spesifieke gebiede. 139 00:06:33,940 --> 00:06:36,180 So werklik gaan van nul tot 60. 140 00:06:36,180 --> 00:06:39,420 >> En langs die pad met dit wat ons gehad het verlede jaar genoem, hacker toevoegings. 141 00:06:39,420 --> 00:06:41,211 Dit verhoog die bar verder vir dié van julle 142 00:06:41,211 --> 00:06:44,390 wat dalk baie goed het 'n goeie hoeveelheid ervaring wat in daardie 9% 143 00:06:44,390 --> 00:06:45,349 van meer gemaklik. 144 00:06:45,349 --> 00:06:47,140 So besef dat daar ' 'n baie hoë plafon 145 00:06:47,140 --> 00:06:49,200 selfs binne daardie uitdagings vir studente 146 00:06:49,200 --> 00:06:50,660 kom uit 'n ander agtergrond. 147 00:06:50,660 --> 00:06:52,618 Want aan die einde van die dag, ons is uiteindelik 148 00:06:52,618 --> 00:06:54,910 gefokus eenvoudig op hierdie punt. 149 00:06:54,910 --> 00:06:57,010 >> Maar wat beteken dit bedoel, probleemoplossing? 150 00:06:57,010 --> 00:06:59,100 So laat ons stel voor dat ons distilleer dit so. 151 00:06:59,100 --> 00:07:01,550 So probleemoplossing is regtig net hierdie soort prentjie. 152 00:07:01,550 --> 00:07:04,675 So jy het insette om 'n probleem, iets wat jy eintlik wil op te los. 153 00:07:04,675 --> 00:07:07,020 Die doel is om uitsette te kry, 'n oplossing vir die probleem. 154 00:07:07,020 --> 00:07:09,950 En dan in die middel is wat ons 'n swart boks sal noem. 155 00:07:09,950 --> 00:07:13,970 Jy hoef nie noodwendig weet of selfs omgee wat binne daardie black box. 156 00:07:13,970 --> 00:07:16,670 Al wat jy weet, is dat wanneer jy voed insette in dit, 157 00:07:16,670 --> 00:07:19,890 jy hopelik kry uitset of 'n oplossing daaruit. 158 00:07:19,890 --> 00:07:22,380 En terwyl ons vandag sal kyk sowel by die insette en uitsette, 159 00:07:22,380 --> 00:07:24,838 ons sal langtermyn, en oor die loop van die hele semester, 160 00:07:24,838 --> 00:07:26,880 fokus op wat binne daardie boks. 161 00:07:26,880 --> 00:07:30,040 >> En daarin sal lê iets genoem algoritmes. 162 00:07:30,040 --> 00:07:33,300 Stap vir stap instruksies vir eintlik die oplossing van 'n paar probleme. 163 00:07:33,300 --> 00:07:35,090 Maar wat is 'n voorbeeld van 'n paar insette? 164 00:07:35,090 --> 00:07:37,840 So miskien 'n eenvoudige ding op die begin van elke skooljaar, iemand 165 00:07:37,840 --> 00:07:39,090 dalk wil bywoning te neem. 166 00:07:39,090 --> 00:07:42,030 So ons kan doen een, twee, drie, vier, vyf, ses, 167 00:07:42,030 --> 00:07:44,010 en hoe sou ek hou spoor van daardie inligting. 168 00:07:44,010 --> 00:07:46,051 Ek mag dalk net gaan een, twee, drie, vier, vyf, ses. 169 00:07:46,051 --> 00:07:47,720 En net gebruik soort enkelsyfers. 170 00:07:47,720 --> 00:07:51,210 >> Of ek kon eintlik teken dit 'n bietjie langer termyn. 171 00:07:51,210 --> 00:07:53,340 En hoe doen ek verteenwoordig die hele die mens in hierdie kamer? 172 00:07:53,340 --> 00:07:54,900 Wel, ek kan iets soos te doen, OK. 173 00:07:54,900 --> 00:07:56,070 Ek sien een persoon. 174 00:07:56,070 --> 00:07:56,600 Alles reg. 175 00:07:56,600 --> 00:08:01,180 Ek 'n ander persoon te sien, 'n derde persoon, en dies meer. 176 00:08:01,180 --> 00:08:04,070 Maar niemand tel mense hou hiervan. 177 00:08:04,070 --> 00:08:06,952 So letterlik, die meeste van ons as ons selfs van plan om iets te teken op alle, 178 00:08:06,952 --> 00:08:08,910 is waarskynlik gaan om te gaan een twee drie vier, 179 00:08:08,910 --> 00:08:14,240 Miskien 'n bietjie fancy, vyf, ses, sewe, agt, nege, tien en dies meer. 180 00:08:14,240 --> 00:08:16,960 >> En dit is eintlik 'n stelsel genoem unêre. 181 00:08:16,960 --> 00:08:20,549 Uno, soos uno impliseer een, waar jy net een letter van die alfabet. 182 00:08:20,549 --> 00:08:21,840 Jy het net hierdie hash merk. 183 00:08:21,840 --> 00:08:24,570 En ek, vir doeltreffendheid, net getrek hierdie hash punte, uiteindelik 184 00:08:24,570 --> 00:08:25,500 as reguit lyne. 185 00:08:25,500 --> 00:08:27,666 Maar ek kon hulle getrek so min stok figure. 186 00:08:27,666 --> 00:08:29,550 Waar om te verteenwoordig een persoon, een insette, 187 00:08:29,550 --> 00:08:32,210 Ek trek net 'n stok figuur of 'n gemors merk. 188 00:08:32,210 --> 00:08:33,910 Maar dit is nie al wat ekspressiewe. 189 00:08:33,910 --> 00:08:38,020 >> As alles wat ek het is hierdie hash punte, wat nog te sê stok figure, 190 00:08:38,020 --> 00:08:41,410 hoe kan ek verteenwoordig iets soos die nommer 15? 191 00:08:41,410 --> 00:08:43,050 Of 15 mense in die kamer? 192 00:08:43,050 --> 00:08:48,740 Ek kan hê om iets te doen soos 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 193 00:08:48,740 --> 00:08:51,270 14, 15. 194 00:08:51,270 --> 00:08:52,830 Dit maak net nie baie goed skaal. 195 00:08:52,830 --> 00:08:55,730 As die insette kry groot, ons behoefte aan 'n beter stelsel as dit. 196 00:08:55,730 --> 00:08:57,910 >> En dit blyk dat die stelsel wat rekenaars gebruik 197 00:08:57,910 --> 00:09:00,510 is nie al wat verskil van wat ek en jy weet. 198 00:09:00,510 --> 00:09:03,301 Trouens, die meeste mense in hierdie kamer, selfs al is jy onder diegene wat minder 199 00:09:03,301 --> 00:09:06,300 gemaklik, nie noodwendig weet hoe jou Mac of PC regtig werk, 200 00:09:06,300 --> 00:09:09,810 jy het waarskynlik ten minste gehoor het, dat onder die enjinkap is 0 en 1 se. 201 00:09:09,810 --> 00:09:11,390 Die sogenaamde binêre stelsel. 202 00:09:11,390 --> 00:09:15,340 So ja, rekenaars het meer as net hash punte in hul woordeskat, 203 00:09:15,340 --> 00:09:17,450 maar nie so veel van 'n woordeskat soos ons mense. 204 00:09:17,450 --> 00:09:19,210 >> Inderdaad, ons mense nie gebruik binêre. 205 00:09:19,210 --> 00:09:21,160 Bi beteken 2, 0 en 1. 206 00:09:21,160 --> 00:09:24,140 Maar desimale, decaBDE wat beteken dat 10, 0 tot 9. 207 00:09:24,140 --> 00:09:27,660 So ons het 'n baie meer ekspressiewe vermoëns in ons normale menslike wêreld. 208 00:09:27,660 --> 00:09:31,720 Maar Ek sal argumenteer dat hierdie stelsels, binêre, en desimale, en alles 209 00:09:31,720 --> 00:09:35,290 tussen en buite, is eintlik al baie bekend is. 210 00:09:35,290 --> 00:09:39,650 Byvoorbeeld, oorweeg hierdie voorbeeld hier, 123. 211 00:09:39,650 --> 00:09:43,850 So dit werklik is, natuurlik, 'n aantal ons weet as 123. 212 00:09:43,850 --> 00:09:47,160 Maar al wat ek net het was net hierdie patroon van simbole, karakters so te praat. 213 00:09:47,160 --> 00:09:49,100 Soort van vorms op die bord in die kryt. 214 00:09:49,100 --> 00:09:52,951 >> Maar hoekom doen ons onmiddellik en hierdie intuïtief verstaan ​​as 123? 215 00:09:52,951 --> 00:09:54,700 Wel, as jy soos my in graad skool, 216 00:09:54,700 --> 00:09:59,920 jy waarskynlik geleer dat dit die 1s kolom, dit is die kolom 10s, 217 00:09:59,920 --> 00:10:01,330 dit is die kolom 100'e. 218 00:10:01,330 --> 00:10:02,860 En hoekom is dit nuttig? 219 00:10:02,860 --> 00:10:06,440 Wel, dit is 'n eenvoudige rekenkunde jy nou doen van 'n patroon van simbole te kry 220 00:10:06,440 --> 00:10:08,940 om 'n aantal verstaan ​​ons intuïtief. 221 00:10:08,940 --> 00:10:14,160 Is wat, 100 keer 1, en dan 10 keer 2 en 1 keer 3, 222 00:10:14,160 --> 00:10:17,860 wat natuurlik is net 100, en dit is 20, en dit is drie. 223 00:10:17,860 --> 00:10:19,740 En so as ons diegene saam op ah voeg. 224 00:10:19,740 --> 00:10:23,880 So daarin lê die soort van redenasie agter hoekom hierdie stel simbole 225 00:10:23,880 --> 00:10:26,550 beteken iets waardevols en numeriese. 226 00:10:26,550 --> 00:10:32,030 >> Wel, rekenaars doen presies dieselfde ding, maar hulle net so hoog as 'n mens kan reken. 227 00:10:32,030 --> 00:10:34,400 Terwyl ek in staat was om tel so hoog as drie. 228 00:10:34,400 --> 00:10:37,380 En in werklikheid, as ek aan die gang gehou kon ek gaan so hoog as nege in hierdie stelsel. 229 00:10:37,380 --> 00:10:40,430 Rekenaars het net nulle en kinders in hul alfabet. 230 00:10:40,430 --> 00:10:41,410 >> So wat beteken dit? 231 00:10:41,410 --> 00:10:46,900 Wel, dit beteken net dat as 'n rekenaar wil verteenwoordig, sê die getal 0, 232 00:10:46,900 --> 00:10:51,300 Miskien met behulp van drie characters-- drie letters van die alfabet so te sê, 233 00:10:51,300 --> 00:10:53,050 dit is hoe 'n rekenaar verteenwoordig 0. 234 00:10:53,050 --> 00:10:54,620 So nie alles wat scary tot dusver. 235 00:10:54,620 --> 00:10:56,450 Dit is presies wat ons mense sou doen. 236 00:10:56,450 --> 00:10:59,410 En in werklikheid, die meeste van ons sou net ignoreer die voorste nulle in elk geval. 237 00:10:59,410 --> 00:11:01,640 >> 'N Rekenaar, as dit wil om die nommer 1 te slaan, 238 00:11:01,640 --> 00:11:03,330 blyk aan die gang om dit te doen. 239 00:11:03,330 --> 00:11:05,630 En 'n rekenaar te stoor die nommer 2 is nie 240 00:11:05,630 --> 00:11:09,280 gaan die unêre stelsel doen, wat ek verwys na vroeër. 241 00:11:09,280 --> 00:11:11,360 Dit is eintlik van plan om dit te doen. 242 00:11:11,360 --> 00:11:13,570 En dit is waarskynlik waar die patroon begin 243 00:11:13,570 --> 00:11:15,570 minder voor die hand liggend is vir die meeste mense geword. 244 00:11:15,570 --> 00:11:18,580 Dit is 2, dit is 3. 245 00:11:18,580 --> 00:11:21,600 Vreemd genoeg, dit is nou 4. 246 00:11:21,600 --> 00:11:24,120 En nou is dit regtig nie lyk dalk kriptiese te wees, 247 00:11:24,120 --> 00:11:26,762 maar dit is nie as ons kyk na wat binêre werklik beteken. 248 00:11:26,762 --> 00:11:28,720 Dit beteken dat jy twee letters van jou alfabet. 249 00:11:28,720 --> 00:11:31,940 So twee moontlike karakters vir elke plekhouer. 250 00:11:31,940 --> 00:11:35,970 >> So wat werklik beteken ons gaan 'n 1s plek, of 2s plek nodig, 251 00:11:35,970 --> 00:11:40,800 'n 4s plek en dan 8, en 16, 32, en 64. 252 00:11:40,800 --> 00:11:42,290 En wat is die verskil daar? 253 00:11:42,290 --> 00:11:47,150 Soos dit is 1, 2, 4, 8, 16, 32, 64. 254 00:11:47,150 --> 00:11:50,690 En voordat ons moes 110, 100,000, 10000. 255 00:11:50,690 --> 00:11:53,170 Wat is die ooreenkoms daar? 256 00:11:53,170 --> 00:11:54,940 En wat is die patroon? 257 00:11:54,940 --> 00:11:55,505 Ja. 258 00:11:55,505 --> 00:11:57,380 STUDENT: Magte van 2 in plaas van magte van 10. 259 00:11:57,380 --> 00:11:57,660 David Malan: Ja. 260 00:11:57,660 --> 00:11:59,290 Magte van 2 plaas van magte van 10. 261 00:11:59,290 --> 00:12:02,160 En so as ek wou hou gaan, 8, 16s en so forth-- 262 00:12:02,160 --> 00:12:05,822 maar nou as jy hierdie soort van idee, nou die binêre stelsel 263 00:12:05,822 --> 00:12:07,280 is eintlik redelik eenvoudig. 264 00:12:07,280 --> 00:12:10,910 Hoekom is hierdie patroon van 0 se in die wêreld van rekenaars 0? 265 00:12:10,910 --> 00:12:14,910 Wel, want dit is 4 keer 0, 2 tye 0, 1 keer 0 en jy 0. 266 00:12:14,910 --> 00:12:16,650 >> Hoekom is dit die nommer 1? 267 00:12:16,650 --> 00:12:20,070 Dieselfde redenasie, maar nou is ons 'n 1 in die 1 kolom. 268 00:12:20,070 --> 00:12:21,840 Hoekom is hierdie 2? 269 00:12:21,840 --> 00:12:24,450 Ons het 'n 1 in die 2s kolom. 270 00:12:24,450 --> 00:12:30,190 En hoe sal ek my dan verteenwoordig sê, die nommer 7 in binêre? 271 00:12:30,190 --> 00:12:31,324 Sê harder. 272 00:12:31,324 --> 00:12:32,170 >> STUDENT: Drie 1s. 273 00:12:32,170 --> 00:12:33,086 >> David Malan: Drie 1s. 274 00:12:33,086 --> 00:12:37,110 So 1, 1, 1, want ons het net nodig 4 plus 2 plus 1 gee my 7. 275 00:12:37,110 --> 00:12:37,610 Alles reg. 276 00:12:37,610 --> 00:12:40,410 So vandaar hoe doen ons verteenwoordig 8 met 3 plekhouers? 277 00:12:40,410 --> 00:12:43,310 278 00:12:43,310 --> 00:12:43,922 Ja. 279 00:12:43,922 --> 00:12:45,070 >> STUDENT: 1, 0, 0, 0. 280 00:12:45,070 --> 00:12:46,970 >> David Malan: Ja 1, 0, 0, 0. 281 00:12:46,970 --> 00:12:49,380 En tog miskien, ek soort van tegnies nodig 282 00:12:49,380 --> 00:12:52,380 na 'n ander plekhouer voeg aan die direksie. 283 00:12:52,380 --> 00:12:55,480 As ek wil dat ek inderdaad pas nodig om so iets te doen. 284 00:12:55,480 --> 00:12:58,990 So ek moet eintlik nou gebruik die 8's kolom, en dit is goed. 285 00:12:58,990 --> 00:13:02,680 Maar die snaakse ding in die rekenaar is dat dit gaan vir ons iets om kos. 286 00:13:02,680 --> 00:13:04,390 Jy moet meer RAM op jou rekenaar nou. 287 00:13:04,390 --> 00:13:06,348 Jy moet meer geheue omdat jy iets nodig het 288 00:13:06,348 --> 00:13:09,650 fisiese te slaan wat addisionele bietjie, om so te praat. 289 00:13:09,650 --> 00:13:10,700 Binêre syfers. 290 00:13:10,700 --> 00:13:13,260 En inderdaad alles wat gebeur het hier, soos die desimale stelsel, 291 00:13:13,260 --> 00:13:17,380 As ons die toevoeging van getalle op en op en dan op, klim ons op 5-6 te 7-8 292 00:13:17,380 --> 00:13:19,330 dit is soos die uitvoering van die 1, letterlik. 293 00:13:19,330 --> 00:13:21,940 En dan is alles anders gaan terug na nul. 294 00:13:21,940 --> 00:13:25,870 >> Maar hoe weet ons eintlik verteenwoordig hierdie dinge fisies in 'n rekenaar? 295 00:13:25,870 --> 00:13:29,380 Wel, aan die einde van die dag, die enigste fisiese insette gaan in my rekenaar 296 00:13:29,380 --> 00:13:33,630 hier is dit netsnoer, sodat elektrisiteit of elektrone van die muur af. 297 00:13:33,630 --> 00:13:36,920 En so hoe kry ek uit iets fisiese so om werklik 298 00:13:36,920 --> 00:13:40,630 verteenwoordig 'n idee soos hierdie plaas. 299 00:13:40,630 --> 00:13:41,930 >> Wel, wat kan ons doen? 300 00:13:41,930 --> 00:13:45,560 Ons kon dink dat, al die regte, Miskien as elektrisiteit vloei 301 00:13:45,560 --> 00:13:47,420 Ek kon dit stoor en vashou aan dit. 302 00:13:47,420 --> 00:13:49,250 En as ek vashou 'n paar elektrisiteit, 303 00:13:49,250 --> 00:13:51,700 dit is net gaan om te arbitrêr verteenwoordig 'n 1. 304 00:13:51,700 --> 00:13:53,997 En as ek trek die prop en daar is niks, 305 00:13:53,997 --> 00:13:56,330 jy weet dit is net gaan om na willekeur verteenwoordig 'n 0. 306 00:13:56,330 --> 00:13:57,700 >> So as iets is daar, 1. 307 00:13:57,700 --> 00:13:59,280 As daar niks is daar, 0. 308 00:13:59,280 --> 00:14:01,420 Of jy kan dit maak 'n bietjie meer visuele. 309 00:14:01,420 --> 00:14:02,704 Hier is 'n 0. 310 00:14:02,704 --> 00:14:05,370 Daar is niks interessant lopende op die rug van my selfoon. 311 00:14:05,370 --> 00:14:08,690 Maar as ek toelaat dat 'n bietjie bietjie van elektrisiteit te laat vloei, 312 00:14:08,690 --> 00:14:11,490 selfs al is dit 'n bietjie helder hier, my flitslig het. 313 00:14:11,490 --> 00:14:15,840 So ek stoor 'n aanklag en ergo, die selfoon verteenwoordig nou 'n 1. 314 00:14:15,840 --> 00:14:17,700 So 0 1. 315 00:14:17,700 --> 00:14:23,630 >> So met 1 iPhone hoe hoog kan ek reken die gebruik van hierdie soort benadering? 316 00:14:23,630 --> 00:14:24,490 Ek bedoel om 1. 317 00:14:24,490 --> 00:14:25,900 Dit is nie al wat dwingende. 318 00:14:25,900 --> 00:14:27,170 So, wat meer kan ons doen? 319 00:14:27,170 --> 00:14:31,180 Wel, laat ons sien, is niemand op hul telefoon nou dat ek kan leen? 320 00:14:31,180 --> 00:14:33,800 Enigiemand wat 'n selfoon het met 'n flitslig gebou in? 321 00:14:33,800 --> 00:14:34,969 Mag ek leen? 322 00:14:34,969 --> 00:14:36,010 Ek hoef nie dit ontsluit. 323 00:14:36,010 --> 00:14:36,510 Alles reg. 324 00:14:36,510 --> 00:14:37,150 Dankie. 325 00:14:37,150 --> 00:14:37,780 Laat my leen. 326 00:14:37,780 --> 00:14:38,279 Alles reg. 327 00:14:38,279 --> 00:14:45,570 So as ek blaai nou en hier, wat ek verteenwoordig nou? 328 00:14:45,570 --> 00:14:46,070 Ja. 329 00:14:46,070 --> 00:14:49,350 Dit is dus 'n drie, want dit is in die 1s kolom, dit is in die 2s kolom. 330 00:14:49,350 --> 00:14:50,480 So 1 plus 2 is 3. 331 00:14:50,480 --> 00:14:53,410 En dan as ons probeer om te kry regtig creative-- O, dankie. 332 00:14:53,410 --> 00:14:54,690 Baie preventive. 333 00:14:54,690 --> 00:14:55,560 Alles reg. 334 00:14:55,560 --> 00:14:57,100 Ek het nou drie iPhones. 335 00:14:57,100 --> 00:14:58,810 Alles reg. 336 00:14:58,810 --> 00:15:02,500 >> En nou this-- Ek sal nie doen geen verdere as dit. 337 00:15:02,500 --> 00:15:04,380 Wat doen ek wat nou? 338 00:15:04,380 --> 00:15:05,090 Net sewes. 339 00:15:05,090 --> 00:15:08,000 Maar ek nodig het fisies meer geheue in hierdie geval. 340 00:15:08,000 --> 00:15:08,920 Maar dis al wat dit is. 341 00:15:08,920 --> 00:15:12,870 Jy kan dink wat gaan is-- dankie you-- binnekant van jou selfoon 342 00:15:12,870 --> 00:15:16,240 as net 'n skakelaar wat word aangeskakel en af. 343 00:15:16,240 --> 00:15:18,350 >> En as jy al ooit gehoor die woord transistor. 344 00:15:18,350 --> 00:15:21,312 Of as jy al ooit gehoor van die bemarking praat Intel binnekant, 345 00:15:21,312 --> 00:15:24,270 dit is die woord van die soort hardeware dis binnekant van jou rekenaar. 346 00:15:24,270 --> 00:15:26,707 Intel maak CPUs, sentrale verwerking eenhede, 347 00:15:26,707 --> 00:15:28,790 wat soos die brein binnekant van jou rekenaar. 348 00:15:28,790 --> 00:15:30,640 En dit CPUs en dinge wat hulle verbind 349 00:15:30,640 --> 00:15:32,740 om baie, baie klein skakelaars het. 350 00:15:32,740 --> 00:15:36,440 Miljoene, miljarde skakelaars wat kan óf op of af. 351 00:15:36,440 --> 00:15:38,840 >> So rekenaars, gelukkig, soos ons Mac en PC, 352 00:15:38,840 --> 00:15:43,830 kan manier hoër as 7 of 8 tel want hulle het baie meer as drie 353 00:15:43,830 --> 00:15:44,660 of vier stukkies. 354 00:15:44,660 --> 00:15:48,140 Manier om meer as die ekwivalent van die drie flitse dat ons net gehad. 355 00:15:48,140 --> 00:15:52,110 Maar dit is nou begin om te kry mooi oninteressant vinnig. 356 00:15:52,110 --> 00:15:55,810 As ek wil nou eintlik in staat wees iets meer interessant te doen, 357 00:15:55,810 --> 00:16:00,340 Ek wil in staat wees om te spring om iets soos hierdie. 358 00:16:00,340 --> 00:16:03,604 >> So ASCII, dit is nie regtig 'n nuttige afkorting nie, maar American Standard Code 359 00:16:03,604 --> 00:16:04,770 vir inligting wisselaar. 360 00:16:04,770 --> 00:16:07,450 Dit beteken net 'n paar jaar gelede het ons mense besluit, 361 00:16:07,450 --> 00:16:10,724 Weet jy wat, ons wil in staat wees om te doen meer met rekenaars as net getalle. 362 00:16:10,724 --> 00:16:12,890 Ons wil nie hê hulle om net wees duur sakrekenaars, 363 00:16:12,890 --> 00:16:16,730 Ons wil graag in staat wees om dinge te doen soos woordverwerking, al is dit baie eenvoudig. 364 00:16:16,730 --> 00:16:20,030 Later het ons e-pos en ander sulke media. 365 00:16:20,030 --> 00:16:23,700 >> En so het die wêreld besluit 'n paar jaar gelede volgens hierdie stelsel ASCII, 366 00:16:23,700 --> 00:16:24,770 jy weet wat? 367 00:16:24,770 --> 00:16:26,970 In sekere tipes programme enige tyd wat jy 368 00:16:26,970 --> 00:16:30,649 sien die ekwivalent van die aantal 65, soos die patroon van stukkies. 369 00:16:30,649 --> 00:16:32,440 En ons kon die doen wiskunde hier op die bord. 370 00:16:32,440 --> 00:16:34,450 Die patroon van stukkies wat 65 verteenwoordig. 371 00:16:34,450 --> 00:16:37,240 Moenie dink dat dit as 65 in desimale. 372 00:16:37,240 --> 00:16:41,620 Dink aan dit as arbitrêr, maar wêreldwyd, konsekwent as die hoofstad 373 00:16:41,620 --> 00:16:42,201 A. 374 00:16:42,201 --> 00:16:43,950 En dan is die wêreld besluit, jy weet wat? 375 00:16:43,950 --> 00:16:45,630 Kom ons neem 'n ander patroon van stukkies. 376 00:16:45,630 --> 00:16:47,770 En as ons ooit sien die getal 66, laat ons net 377 00:16:47,770 --> 00:16:50,573 aanvaar dat dit is die kapitaal B. Vinnig uit na H 378 00:16:50,573 --> 00:16:55,510 en ek, as jy sien 72 of 73, wat moet 'n H en 'n B, onderskeidelik. 379 00:16:55,510 --> 00:16:57,780 En so lank as wat die hele wêreld is dit eens oor hierdie. 380 00:16:57,780 --> 00:17:01,342 Sodat wanneer jy 'n e-pos ontvang, of jy sal 'n lêer te kry op 'n USB stick, 381 00:17:01,342 --> 00:17:03,800 of iets soos that-- toe sien jy dat patroon van stukkies, 382 00:17:03,800 --> 00:17:06,980 jy weet dat dit behoort te wees brief of 'n ander brief. 383 00:17:06,980 --> 00:17:08,620 >> Maar dis konteks spesifieke, reg. 384 00:17:08,620 --> 00:17:12,250 'N e-pos program te interpreteer hierdie dinge as karakters, 385 00:17:12,250 --> 00:17:15,760 maar 'n grafiese sakrekenaar of sakrekenaar kan verteenwoordig of interpreteer 386 00:17:15,760 --> 00:17:18,370 hierdie dinge, natuurlik, as letters. 387 00:17:18,370 --> 00:17:21,610 >> So met wat gesê het, 'n vinnige bietjie hersiening. 388 00:17:21,610 --> 00:17:25,440 Dit is miskien 'n drie karakter e-pos wat al na my gestuur. 389 00:17:25,440 --> 00:17:27,990 Onder die enjinkap is dit alles in 0e en 1e, maar ons gee nie om. 390 00:17:27,990 --> 00:17:31,580 Ons gaan begin om abstrakte bo die 0e en 1e briewe. 391 00:17:31,580 --> 00:17:36,830 En as ek sien 'n patroon van 0e en 1e dat werklik verteenwoordig 72, wenk, wenk, 73, 392 00:17:36,830 --> 00:17:38,866 en dan 33, wat is die boodskap? 393 00:17:38,866 --> 00:17:40,348 >> STUDENT: [onhoorbaar] 394 00:17:40,348 --> 00:17:42,639 David Malan: So as jy dink terug net 'n oomblik gelede, MI 395 00:17:42,639 --> 00:17:47,210 was die boodskap wat ek probeer kommunikeer hier omdat H is 72, 396 00:17:47,210 --> 00:17:50,925 Ek is 73, en nou 33-- julle wou nie hierdie noodwendig vooraf weet, 397 00:17:50,925 --> 00:17:53,800 maar dit blyk asof jy eintlik sien meer van die grafiek en die stelsel 398 00:17:53,800 --> 00:17:56,800 dat die mensdom ooreengekom jaar gelede, dit is net 'n uitroepteken. 399 00:17:56,800 --> 00:18:01,590 En inderdaad, daar is 'n patroon van simbole en getalle vir elke karakter 400 00:18:01,590 --> 00:18:03,849 wat jy mag hê op jou sleutelbord. 401 00:18:03,849 --> 00:18:04,389 >> Alles reg. 402 00:18:04,389 --> 00:18:05,660 Kom ons abstrakte verder. 403 00:18:05,660 --> 00:18:09,380 As ons nie wil net hê dinge soos getalle en letters, 404 00:18:09,380 --> 00:18:11,420 ons eintlik wil grafiese implementeer. 405 00:18:11,420 --> 00:18:13,351 Wel, as jy ooit hoor die afkorting RGB. 406 00:18:13,351 --> 00:18:15,559 Dit is soort van nou gedateer, maar dit is nog steeds soort daar. 407 00:18:15,559 --> 00:18:17,380 RGB is rooi, groen, blou. 408 00:18:17,380 --> 00:18:19,380 En dit is net 'n stelsel om te sê, jy weet wat, 409 00:18:19,380 --> 00:18:21,650 Kom ons gebruik drie stelle stukkies. 410 00:18:21,650 --> 00:18:25,280 'N Stel van 8 bisse, nog 'n stel van 8 stukkies, en 'n ander stel van 8 stukkies. 411 00:18:25,280 --> 00:18:27,710 En laat ons gebruik daardie stukkies te slaan hoeveel rooi ons 412 00:18:27,710 --> 00:18:31,430 wil op ons skerm, hoeveel Groen ons wil op ons skerm, 413 00:18:31,430 --> 00:18:34,070 en hoeveel blou ons wil op ons skerm. 414 00:18:34,070 --> 00:18:37,860 En dit beteken net dat as jy 'n lot-- 'n groot aantal vir rooi, 415 00:18:37,860 --> 00:18:39,200 dit beteken vir my baie rooi. 416 00:18:39,200 --> 00:18:41,658 As jy 'n groot aantal vir groen, gee my 'n baie groen. 417 00:18:41,658 --> 00:18:44,660 En as jy net 'n bietjie blou of 'n klein aantal soos 33, 418 00:18:44,660 --> 00:18:45,960 Gee my 'n bietjie blou. 419 00:18:45,960 --> 00:18:49,720 En as jy gebeur met diegene kombineer drie groottes, so te sê, 420 00:18:49,720 --> 00:18:53,160 jy this-- jy skaars kan sien op die projektor hier, maar dit donker 421 00:18:53,160 --> 00:18:54,630 skaduwee van geel of bruin. 422 00:18:54,630 --> 00:18:58,590 >> Maar dit wil sê, die gebruik van daardie patroon van 8 plus 8 plus plus 8-- 423 00:18:58,590 --> 00:19:01,710 dat patroon van 24 stukkies is hoe 'n rekenaar sou 424 00:19:01,710 --> 00:19:06,460 winkel wat skaduwee van geel in een klein dot n pixel op die skerm. 425 00:19:06,460 --> 00:19:10,570 So ons het gegaan van 0e en 1e na desimaal getalle tot letters van die alfabet. 426 00:19:10,570 --> 00:19:13,680 Of meer interessant, gekleurde kolle. 427 00:19:13,680 --> 00:19:16,200 >> Wel, wat natuurlik kom dan nou? 428 00:19:16,200 --> 00:19:19,040 Wel, wat is 'n beeld wat jy sien op Facebook of kry in 'n e-pos? 429 00:19:19,040 --> 00:19:20,172 En dies meer? 430 00:19:20,172 --> 00:19:22,130 Wat is die definisie tegnies van 'n beeld? 431 00:19:22,130 --> 00:19:25,090 432 00:19:25,090 --> 00:19:27,710 Ja. 433 00:19:27,710 --> 00:19:31,270 Wat is 'n beeld saamgestel uit as jy lyk regtig naby aan jou skerm? 434 00:19:31,270 --> 00:19:31,770 Ja. 435 00:19:31,770 --> 00:19:33,186 Dis net 'n hele klomp van die pixels. 436 00:19:33,186 --> 00:19:35,220 In werklikheid, as jy neem jou laptop miskien later op, 437 00:19:35,220 --> 00:19:37,180 en lyk regtig nou by it-- afhangende 438 00:19:37,180 --> 00:19:40,370 oor hoe duur die laptop is en hoe 'n hoë gehalte van die skerm is, 439 00:19:40,370 --> 00:19:43,480 jy dalk baie goed sien al die klein kolletjies op die skerm. 440 00:19:43,480 --> 00:19:45,890 >> En diegene kolle of pixels, wat beteken daar is 441 00:19:45,890 --> 00:19:49,810 24 stukkies wat elke pixel in daardie foto wat jy sien op Facebook, 442 00:19:49,810 --> 00:19:52,049 of dat jy net neem op jou iPhone onlangs. 443 00:19:52,049 --> 00:19:54,090 En so dit is hoe ons om dinge soos beelde. 444 00:19:54,090 --> 00:19:55,120 Wel, wat is 'n video? 445 00:19:55,120 --> 00:19:58,660 'N Video is net 'n stel van grafiese vlieg deur die skerm weer 446 00:19:58,660 --> 00:19:59,780 en weer en weer. 447 00:19:59,780 --> 00:20:04,080 En so videos regtig, net patrone bisse verteenwoordig roosters, rye 448 00:20:04,080 --> 00:20:06,880 en kolomme van kolle, vlieg beeld op die skerm deur, 449 00:20:06,880 --> 00:20:09,240 nadat beeld, na die beeld, ook bekend as 450 00:20:09,240 --> 00:20:10,650 Rolprente. 451 00:20:10,650 --> 00:20:12,340 So dit is dit vir insette en uitsette. 452 00:20:12,340 --> 00:20:14,420 >> Al wat ons nou het, is 'n aanname dat jy 453 00:20:14,420 --> 00:20:17,190 weet wat, as ons wil 'n rekenaar om inligting voor te stel, 454 00:20:17,190 --> 00:20:18,560 Ons het 'n stelsel om dit te doen nie. 455 00:20:18,560 --> 00:20:20,780 Ons kan dit doen met 0'e en 1s aan die einde van die dag. 456 00:20:20,780 --> 00:20:23,160 Maar ons kan abstrakte, sodat om te praat, op die top van wat 457 00:20:23,160 --> 00:20:25,140 ten einde meer verteenwoordig interessante dinge. 458 00:20:25,140 --> 00:20:28,790 En hier op in CS50, en in rekenaarwetenskap meer algemeen, 459 00:20:28,790 --> 00:20:31,250 Ons staan ​​nou op die skouers van al die mense wat 460 00:20:31,250 --> 00:20:33,530 kom voor ons wat dit uitgepluis het. 461 00:20:33,530 --> 00:20:38,170 En nou net aanvaar dat rekenaars kan insette en uitsette verteenwoordig. 462 00:20:38,170 --> 00:20:41,140 >> Maar nou kom ons eintlik iets met hulle te doen. 463 00:20:41,140 --> 00:20:44,850 So 'n algoritme is net 'n stel instruksies stap vir stap, 464 00:20:44,850 --> 00:20:46,340 vir die oplossing van 'n probleem. 465 00:20:46,340 --> 00:20:48,730 En wat kan 'n mens so 'n probleem te wees nie. 466 00:20:48,730 --> 00:20:52,440 So dit is 'n ou skool tegnologie, 'n telefoon boek. 467 00:20:52,440 --> 00:20:55,534 En binnekant van 'n telefoon boek is 'n hele klomp van name en nommers. 468 00:20:55,534 --> 00:20:57,700 En daardie name is oor die algemeen gesorteer alfabeties. 469 00:20:57,700 --> 00:21:01,310 >> So as ek wou iemand in kry hierdie telefoon boek soos Mike Smith, 470 00:21:01,310 --> 00:21:02,930 Wat is 'n tipiese menslike gaan doen? 471 00:21:02,930 --> 00:21:06,000 Wel, jy kan eenvoudig oop it up, kyk na die eerste bladsy. 472 00:21:06,000 --> 00:21:07,390 Ek kan nie sien Mike Smith. 473 00:21:07,390 --> 00:21:09,740 Draai by die tweede bladsy, Ek kan nie sien Mike Smith. 474 00:21:09,740 --> 00:21:11,830 En net voort te gaan en gaan. 475 00:21:11,830 --> 00:21:14,397 Is dit stap vir stap benadering korrek? 476 00:21:14,397 --> 00:21:17,380 477 00:21:17,380 --> 00:21:18,310 Ja. 478 00:21:18,310 --> 00:21:20,080 Dit is soort van dom, reg. 479 00:21:20,080 --> 00:21:21,646 Dit is ondoeltreffend, reg. 480 00:21:21,646 --> 00:21:24,520 Omdat dit gaan om vir ewig te neem Mike te kry, maar dit is korrek. 481 00:21:24,520 --> 00:21:26,620 Want as Mike is hier Ek sal hom wel vind. 482 00:21:26,620 --> 00:21:29,030 >> So, wat is 'n bietjie meer redelike persoon gaan doen? 483 00:21:29,030 --> 00:21:32,180 Hulle kan nog steeds oop vir die voorkant, en miskien vlieg deur die telefoon boek 484 00:21:32,180 --> 00:21:33,250 twee bladsye op 'n slag. 485 00:21:33,250 --> 00:21:34,840 Twee, vier, ses, agt. 486 00:21:34,840 --> 00:21:36,830 Ek kan nie eintlik fisies doen dit baie goed. 487 00:21:36,830 --> 00:21:39,560 Maar in teorie, hierdie moet wees twee keer so vinnig, twee bladsye op 'n slag. 488 00:21:39,560 --> 00:21:41,152 Is hierdie algoritme korrek? 489 00:21:41,152 --> 00:21:43,252 >> STUDENT: [onhoorbaar] 490 00:21:43,252 --> 00:21:44,460 David Malan: Nie noodwendig nie. 491 00:21:44,460 --> 00:21:44,960 Goeie. 492 00:21:44,960 --> 00:21:46,112 Hoekom dit caveat? 493 00:21:46,112 --> 00:21:50,020 >> STUDENT: Omdat hy kon wees op 'n van die bladsye wat jy draai. 494 00:21:50,020 --> 00:21:50,770 David Malan: Ja. 495 00:21:50,770 --> 00:21:52,260 So selfs as ek nader en nader. 496 00:21:52,260 --> 00:21:56,150 Wat as hy net per ongeluk, deur slegte Sterkte, landgebonde tussen die twee bladsye 497 00:21:56,150 --> 00:21:57,290 dat ek vlieg oor? 498 00:21:57,290 --> 00:21:59,920 499 00:21:59,920 --> 00:22:01,730 So ons het 'n oplossing vir hierdie. 500 00:22:01,730 --> 00:22:03,590 Ons moet eintlik om dan sê, wag 'n minuut, 501 00:22:03,590 --> 00:22:06,240 Miskien as ons te ver gaan, miskien as ons druk op die T artikel, 502 00:22:06,240 --> 00:22:09,670 vir T kom nadat Smith, dan moet ons ten minste verdubbel ten minste een bladsy terug. 503 00:22:09,670 --> 00:22:12,630 So fixable, maar daar is 'n voorwaardelike kwessie daar. 504 00:22:12,630 --> 00:22:16,159 Dit is dus twee keer so vinnig, maar jy kan het om terug te verdubbel net 'n bietjie. 505 00:22:16,159 --> 00:22:19,200 Maar niemand in sy kamer, selfs al is jy nie regtig gebruik telefoon boeke nie, 506 00:22:19,200 --> 00:22:20,740 gaan begin by die begin. 507 00:22:20,740 --> 00:22:23,317 Wat gaan jy doen op soek na Mike Smith? 508 00:22:23,317 --> 00:22:24,900 Jy gaan ongeveer gaan na die S se. 509 00:22:24,900 --> 00:22:26,820 Of as jy nie regtig ' die cheat sheet op die papier, 510 00:22:26,820 --> 00:22:28,365 jy gaan ten minste gaan ongeveer die middel. 511 00:22:28,365 --> 00:22:30,220 En in elk geval nie om die voorkant van die boek. 512 00:22:30,220 --> 00:22:31,130 Jy gaan om af te kyk. 513 00:22:31,130 --> 00:22:33,770 En wiskundig jy waarskynlik gaan die M artikel te sien, wat 514 00:22:33,770 --> 00:22:34,890 is min of meer in die middel. 515 00:22:34,890 --> 00:22:36,848 En dan gaan jy besef, wat waar is? 516 00:22:36,848 --> 00:22:37,968 Waar is Mike? 517 00:22:37,968 --> 00:22:39,170 >> STUDENT: [onhoorbaar] 518 00:22:39,170 --> 00:22:39,920 David Malan: Ja. 519 00:22:39,920 --> 00:22:41,530 So hy is oor aan hierdie kant. 520 00:22:41,530 --> 00:22:42,710 En so wat kan jy doen? 521 00:22:42,710 --> 00:22:48,870 Wel, beide figuurlik en letterlik kan jy die probleem in die helfte skeur keer? 522 00:22:48,870 --> 00:22:54,260 En dan moet julle weet dat jy kan gooi hierdie helfte van die probleem weg. 523 00:22:54,260 --> 00:22:58,170 En nou is ons gelaat met fundamenteel dieselfde probleem, maar dit is die helfte so groot. 524 00:22:58,170 --> 00:22:59,920 En so nou wat die stel instruksies? 525 00:22:59,920 --> 00:23:01,753 Wat is die algoritme vir die vind van Mike Smith? 526 00:23:01,753 --> 00:23:03,030 Dit is presies dieselfde ding. 527 00:23:03,030 --> 00:23:05,750 >> Nou dit gebeur, moet die M wees artikel en dit is die Z artikel, 528 00:23:05,750 --> 00:23:08,650 maar die fundamentele formule is nog steeds dieselfde. 529 00:23:08,650 --> 00:23:10,800 Gaan hard aangespreek die middel, neersien O, darn dit. 530 00:23:10,800 --> 00:23:13,160 Nou is ek in die T artikel, Ek het te ver gegaan. 531 00:23:13,160 --> 00:23:16,640 Maar ook hier kan jy toepassing daardie selfde logika. 532 00:23:16,640 --> 00:23:19,189 Gooi die helfte van die probleem weg en nou is ons 533 00:23:19,189 --> 00:23:21,230 gelaat met 'n probleem wat 'n kwart van die grootte. 534 00:23:21,230 --> 00:23:28,140 En ons kan herhaal, en ons kan herhaal, en ons kan herhaal totdat teoreties 535 00:23:28,140 --> 00:23:32,190 daar is net een bladsy links op wat Mike óf is of nie. 536 00:23:32,190 --> 00:23:34,014 >> So, wat is so kragtig oor hierdie idee? 537 00:23:34,014 --> 00:23:35,680 Ek bedoel Na alles, dit is redelik intuïtief. 538 00:23:35,680 --> 00:23:37,390 Niemand gaan om te begin by die begin van die telefoon boek 539 00:23:37,390 --> 00:23:39,320 en flip 1000 bladsye aan Mike Smith vind. 540 00:23:39,320 --> 00:23:42,319 Die meeste mense in hierdie kamer gaan om min of meer daardie soort algoritme doen 541 00:23:42,319 --> 00:23:43,220 behalwe vir die skeur. 542 00:23:43,220 --> 00:23:45,480 >> En so hoekom het ons dit doen? 543 00:23:45,480 --> 00:23:47,810 Wel, kyk na die doeltreffendheid. 544 00:23:47,810 --> 00:23:51,500 Oorweeg net hoeveel beter dit algoritme was deur dit af te breek 545 00:23:51,500 --> 00:23:52,890 in sy samestellende dele. 546 00:23:52,890 --> 00:23:53,980 So, wat het ek eerste doen? 547 00:23:53,980 --> 00:23:55,389 Ek opgetel het die telefoon boek. 548 00:23:55,389 --> 00:23:57,180 En 'n rekenaar wetenskaplike, en 'n programmeerder, 549 00:23:57,180 --> 00:24:00,090 meer in die algemeen dit blyk, gaan om te begin tel alles by 0. 550 00:24:00,090 --> 00:24:00,610 >> Hoekom? 551 00:24:00,610 --> 00:24:03,240 Wel, dit is 'n bietjie vreemd dat ons mense tel, oor die algemeen, 552 00:24:03,240 --> 00:24:04,400 vanaf een. 553 00:24:04,400 --> 00:24:08,110 Want wat is die kleinste getal Ons kan duidelik verteenwoordig gebaseer 554 00:24:08,110 --> 00:24:09,930 selfs op ons ou laerskool wiskunde? 555 00:24:09,930 --> 00:24:12,400 Wel, dit was 0, of dis in desimale of binêre. 556 00:24:12,400 --> 00:24:14,900 En so sien jy in die wêreld vir Rekenaarkunde en ontwikkeling, 557 00:24:14,900 --> 00:24:17,620 spesifiek, het ons begin tel alles van 0. 558 00:24:17,620 --> 00:24:19,690 >> So ek opgetel die telefoon boek stap 0. 559 00:24:19,690 --> 00:24:21,924 Ek gaan oopmaak om die middel van die telefoon boek. 560 00:24:21,924 --> 00:24:23,840 En dit is inderdaad 'n uitdrukking van wat ek gedoen het. 561 00:24:23,840 --> 00:24:25,900 En dan stap twee was blik op die name. 562 00:24:25,900 --> 00:24:29,110 Stap drie is 'n bietjie verskillende konseptueel. 563 00:24:29,110 --> 00:24:30,600 Ek vra myself die vraag. 564 00:24:30,600 --> 00:24:33,610 As Smith is een van die name, Ek gaan 'n besluit te neem. 565 00:24:33,610 --> 00:24:36,550 As hy onder die name, dan gaan ek Mike bel. 566 00:24:36,550 --> 00:24:39,590 En ek gaan 'n besluit te neem gebaseer op die stukkie inligting. 567 00:24:39,590 --> 00:24:44,100 >> Maar as dit nie, as Smith is vroeër in die boek aan die linkerkant, 568 00:24:44,100 --> 00:24:48,200 Ek gaan oop tot in die middel van die linkerhelfte van die boek. 569 00:24:48,200 --> 00:24:51,674 En dan is hier is die slim, Ek gaan om terug te gaan na stap twee. 570 00:24:51,674 --> 00:24:53,590 Ek gaan om te sorteer van staan ​​op my eie skouers 571 00:24:53,590 --> 00:24:55,110 en net herhaal die vorige werk wat ek gedoen het. 572 00:24:55,110 --> 00:24:58,062 Maar die werk wat ek verlaat het, is minder, en minder, en minder. 573 00:24:58,062 --> 00:24:59,270 Maar dit is nog steeds gaan werk. 574 00:24:59,270 --> 00:25:02,110 Maar as Mike, in plaas daarvan, is later in die boek om die regte, 575 00:25:02,110 --> 00:25:04,980 Ek gaan oop tot in die middel van die regter helfte van die boek, 576 00:25:04,980 --> 00:25:07,240 gaan dan terug na stap twee. 577 00:25:07,240 --> 00:25:09,330 >> Maar daar is eintlik 'n vierde scenario. 578 00:25:09,330 --> 00:25:13,336 Mike se óf hier, of hier of hier, or-- 579 00:25:13,336 --> 00:25:14,152 >> STUDENT: Nie daar. 580 00:25:14,152 --> 00:25:15,110 David Malan: daar is nie. 581 00:25:15,110 --> 00:25:18,580 En inderdaad, as ons nie verwag hierdie vierde en laaste scenario 582 00:25:18,580 --> 00:25:21,510 ons program kan wees karretjie of gebrekkig in een of ander manier. 583 00:25:21,510 --> 00:25:25,020 Anders, ophou in die geval dat Ons het glad nie gevind Mike. 584 00:25:25,020 --> 00:25:27,720 En inderdaad, as jy al ooit opgelet jou rekenaar hang, of al 585 00:25:27,720 --> 00:25:30,490 Skielik woord of 'n ander program verlaat net onverwags, 586 00:25:30,490 --> 00:25:32,614 en soms jou fout boodskap is letterlik dat. 587 00:25:32,614 --> 00:25:34,070 Hierdie program sluit onverwags. 588 00:25:34,070 --> 00:25:35,570 Dit kan wees vir 'n aantal redes. 589 00:25:35,570 --> 00:25:38,120 Maar soms is dit iets so eenvoudig soos dit. 590 00:25:38,120 --> 00:25:40,440 Die menslike programmeerder wat geskryf het dat sagteware 591 00:25:40,440 --> 00:25:43,610 het nie besef dat, oh, is daar 'n voorskyn ding wat eintlik kan gebeur. 592 00:25:43,610 --> 00:25:46,480 En as jy nie kode te skryf om vang wat vierde scenario, 593 00:25:46,480 --> 00:25:51,342 Dit is inderdaad soms onverwagte wat die rekenaar eintlik kan doen. 594 00:25:51,342 --> 00:25:53,050 Kom ons noem 'n paar van hierdie dinge. 595 00:25:53,050 --> 00:25:55,465 So in geel hier, ek het beklemtoon terme 596 00:25:55,465 --> 00:25:57,590 van nou af moet ons net gaan funksies noem. 597 00:25:57,590 --> 00:26:00,700 Funksies in die wêreld van ontwikkeling is net soos aksies, 598 00:26:00,700 --> 00:26:01,850 state van aksies. 599 00:26:01,850 --> 00:26:05,720 So haal, oop vir, kyk op, bel, oop, oop, op te hou. 600 00:26:05,720 --> 00:26:09,350 Dit is 'n funksie, 'n prosedure, 'n aksie, 'n aantal sinonieme 601 00:26:09,350 --> 00:26:10,184 sou so goed werk. 602 00:26:10,184 --> 00:26:11,850 Nou wat is hierdie dinge wat nou in geel? 603 00:26:11,850 --> 00:26:14,210 As anders as anders as anders, hierdie is wat 604 00:26:14,210 --> 00:26:16,500 ons gaan om te bel toestande in programmering, 605 00:26:16,500 --> 00:26:19,270 of takke, besluit wys, as jy wil. 606 00:26:19,270 --> 00:26:22,759 Maar hoe weet jy wat vurk in die pad te neem, om so te praat? 607 00:26:22,759 --> 00:26:24,550 Ons moet na vore te bring die terme na regs 608 00:26:24,550 --> 00:26:27,570 daar, wat beteken dit Ja, geen vrae. 609 00:26:27,570 --> 00:26:29,040 Hierdie ware valse vrae. 610 00:26:29,040 --> 00:26:30,880 Smith onder name? 611 00:26:30,880 --> 00:26:32,190 Smith het vroeër in 'n boek? 612 00:26:32,190 --> 00:26:33,260 Smith later in boek? 613 00:26:33,260 --> 00:26:35,490 Dit is vrae aan waarvan daar 'n ja of nee, 614 00:26:35,490 --> 00:26:42,110 Of anders gestel ware of valse, of anders gestel, een of nul antwoord. 615 00:26:42,110 --> 00:26:44,260 >> En intussen is daar ' net 'n laaste stukkie. 616 00:26:44,260 --> 00:26:45,940 Dit het hier watter soort effek? 617 00:26:45,940 --> 00:26:48,230 Of jy die program voor, hoe sou jy 618 00:26:48,230 --> 00:26:51,030 beskryf wat stap sewe en 10 doen? 619 00:26:51,030 --> 00:26:54,110 620 00:26:54,110 --> 00:26:55,027 Wat het jy gesê? 621 00:26:55,027 --> 00:26:56,110 STUDENT: 'n rekursiewe stap. 622 00:26:56,110 --> 00:26:56,980 David Malan: 'n rekursiewe stap. 623 00:26:56,980 --> 00:26:58,000 Ja, in wese. 624 00:26:58,000 --> 00:27:00,384 Dit is tegnies iteratiewe hier as jy vertroud is. 625 00:27:00,384 --> 00:27:01,550 Maar ons sal terug kom. 626 00:27:01,550 --> 00:27:03,930 Maar dit is iets wat duidelik doen. 627 00:27:03,930 --> 00:27:06,370 Weereens, dit beïnvloeding van 'n siklus, 'n lus, reg. 628 00:27:06,370 --> 00:27:08,770 Jy letterlik gaan terug na 'n paar vorige stap. 629 00:27:08,770 --> 00:27:12,592 En so ja, dit gaan implementeer 'n soort van siklus. 630 00:27:12,592 --> 00:27:15,050 Maar jy gaan nie kry vas in hierdie eindeloos, reg. 631 00:27:15,050 --> 00:27:19,290 Want as jy voortdurend nagaan is Mike hier, of na links, of nie hier nie, 632 00:27:19,290 --> 00:27:21,360 uiteindelik het hy is nie van plan om daar te wees. 633 00:27:21,360 --> 00:27:24,590 En jy kan net ophou heeltemal soos per die laaste reël. 634 00:27:24,590 --> 00:27:25,834 >> So dit is dit vir woordeskat. 635 00:27:25,834 --> 00:27:28,250 En dit is wat ons wil oor die algemeen noem pseudokode kode. 636 00:27:28,250 --> 00:27:29,570 Dit is nie 'n werklike taal. 637 00:27:29,570 --> 00:27:32,405 Dis net baie kortaf Engels, maar dit dra die punt. 638 00:27:32,405 --> 00:27:33,780 Daar is geen formele struktuur hier. 639 00:27:33,780 --> 00:27:35,738 Jy gebruik net dis min woorde, maar as duidelike woorde 640 00:27:35,738 --> 00:27:37,870 as wat jy kan om jou idee te kommunikeer. 641 00:27:37,870 --> 00:27:40,580 >> Nou hoe goed is dat algoritme en hoeveel beter is dit? 642 00:27:40,580 --> 00:27:43,570 Wel, ons hoef nie te kry in die besonderhede van getalle of enigiets 643 00:27:43,570 --> 00:27:44,069 soos dit. 644 00:27:44,069 --> 00:27:46,300 Maar ons kan kyk na die vorm van hierdie oplossing. 645 00:27:46,300 --> 00:27:50,194 So as ons net voorstel sommige xy plot hier op die horisontale as hier. 646 00:27:50,194 --> 00:27:51,860 Kom ons noem die omvang van die probleem. 647 00:27:51,860 --> 00:27:55,540 En 'n rekenaar wetenskaplike sou tipies gebruik N as die veranderlike hier. 648 00:27:55,540 --> 00:27:59,690 So N bladsye, of N mense in die kamer, of wat dit ookal is wat jy probeer om te tel. 649 00:27:59,690 --> 00:28:03,039 >> En dan op die vertikale as op die gelaat, wil hê dat die tyd om op te los. 650 00:28:03,039 --> 00:28:05,330 So hoeveel sekondes doen dit neem my na Mike Smith vind? 651 00:28:05,330 --> 00:28:06,621 Of hoeveel stappe neem dit? 652 00:28:06,621 --> 00:28:08,100 Hoeveel bladsy beurte neem dit? 653 00:28:08,100 --> 00:28:11,370 So dit is hoeveel dit kos My tyd om 'n probleem op te los. 654 00:28:11,370 --> 00:28:15,030 En ons kan trek die eerste algoritmes helling, as jy wil, 655 00:28:15,030 --> 00:28:16,910 as net hierdie reguitlyn in rooi. 656 00:28:16,910 --> 00:28:18,450 En ek sal dit N bel. 657 00:28:18,450 --> 00:28:19,117 >> Hoekom N? 658 00:28:19,117 --> 00:28:20,950 Hoekom is dit net hierdie een tot een verhouding? 659 00:28:20,950 --> 00:28:22,700 Wel, as Verizon of ongeag selfoon maatskappy 660 00:28:22,700 --> 00:28:25,130 voeg nog 'n bladsy te die telefoon boek volgende jaar, 661 00:28:25,130 --> 00:28:28,370 wat dalk Mike een stoot nog 'n stap nader aan die einde, 662 00:28:28,370 --> 00:28:29,950 afhangende van waar daardie bladsy is. 663 00:28:29,950 --> 00:28:32,380 En so het die effek mag dalk net wees om 'n meer tweede voeg. 664 00:28:32,380 --> 00:28:33,520 Of nog 'n bladsy beurt. 665 00:28:33,520 --> 00:28:34,970 A 12:59 verhouding. 666 00:28:34,970 --> 00:28:37,410 >> In teenstelling hiermee, die tweede algoritme. 667 00:28:37,410 --> 00:28:41,406 Hoeveel vinniger was dat intuïtief? 668 00:28:41,406 --> 00:28:42,780 Waar ek het twee bladsye op 'n slag? 669 00:28:42,780 --> 00:28:43,664 Ja. 670 00:28:43,664 --> 00:28:44,497 >> STUDENT: [onhoorbaar] 671 00:28:44,497 --> 00:28:47,255 672 00:28:47,255 --> 00:28:48,080 >> David Malan: Ja. 673 00:28:48,080 --> 00:28:49,220 So dit gaan twee keer so vinnig te wees. 674 00:28:49,220 --> 00:28:51,344 En ons sou hier vestig wat afhangende van die skaal. 675 00:28:51,344 --> 00:28:54,220 Dit is nog steeds 'n reguit lyn, maar laer as die rooi lyn. 676 00:28:54,220 --> 00:28:56,410 Want ter wille van 'n paar nommer bladsye, as wat dit neem 677 00:28:56,410 --> 00:28:58,360 jy hierdie baie stappe met die eerste algoritme, 678 00:28:58,360 --> 00:29:00,570 dit gaan jy half neem soveel stappe met die tweede. 679 00:29:00,570 --> 00:29:02,770 En so het die geel lyn beskrywing van die tweede algoritme 680 00:29:02,770 --> 00:29:03,990 is net gaan om te wees onder dit. 681 00:29:03,990 --> 00:29:07,250 >> Maar wat is werklik kragtig is om dink oor die derde en laaste, 682 00:29:07,250 --> 00:29:10,480 en wonder bo wonder mees intuïtief algoritme, dat dit vorm het. 683 00:29:10,480 --> 00:29:12,720 Tegnies sou ons 'n beroep dit 'n logaritmiese kurwe. 684 00:29:12,720 --> 00:29:14,309 Meld basis 2 van N in hierdie geval. 685 00:29:14,309 --> 00:29:15,600 Maar dit beteken nie regtig saak nie. 686 00:29:15,600 --> 00:29:19,140 Wat belangrik is, is werklik die wese verskillende vorm wat dit het. 687 00:29:19,140 --> 00:29:22,810 En jy kan oorweeg hoe baie korter die lyn werklik 688 00:29:22,810 --> 00:29:24,620 is op die lange duur. 689 00:29:24,620 --> 00:29:25,870 Dit is voortdurend toeneem. 690 00:29:25,870 --> 00:29:27,620 Dit maak nie perfek plat uit. 691 00:29:27,620 --> 00:29:34,030 Maar dit groei steeds soveel stadiger as die probleem kry groter en groter. 692 00:29:34,030 --> 00:29:36,710 En jy kan dink dit hierdie way-- as Verizon nie net 693 00:29:36,710 --> 00:29:40,410 voeg 'n bladsy aanstaande jaar, maar dubbelspel die aantal bladsye in die telefoon boek, 694 00:29:40,410 --> 00:29:42,740 die eerste algoritme dalk neem dubbel soveel stappe. 695 00:29:42,740 --> 00:29:45,360 As dit is 1000 bladsye hierdie jaar, 2000 bladsye volgende jaar, 696 00:29:45,360 --> 00:29:47,180 Mike dalk dat daar nog baie verder weg wees. 697 00:29:47,180 --> 00:29:49,380 Dit is dus 1,000 ekstra stappe om hom te vind. 698 00:29:49,380 --> 00:29:51,610 Die tweede algoritme dalk net 500 meer wees 699 00:29:51,610 --> 00:29:55,490 stappe om hom, want weer vind, Ek is wat deur dit twee op 'n slag. 700 00:29:55,490 --> 00:29:56,950 >> Maar wat van die derde algoritme? 701 00:29:56,950 --> 00:29:59,010 As Verizon verdubbel die grootte van die telefoon boek 702 00:29:59,010 --> 00:30:02,620 volgende jaar van 1000 tot 2000 bladsye, hoeveel meer stappe 703 00:30:02,620 --> 00:30:05,540 is my derde algoritme gaan neem? 704 00:30:05,540 --> 00:30:06,630 Ja, dit is net een. 705 00:30:06,630 --> 00:30:08,600 En dit is die kragtige idee. 706 00:30:08,600 --> 00:30:12,780 Jy kan bladsy byt 1000 neem uit daardie probleem op een slag. 707 00:30:12,780 --> 00:30:14,510 En nou as jy kyk na 'n dom scenario, 708 00:30:14,510 --> 00:30:17,320 maar dit soort van praat met die krag van hierdie soort intuition-- 709 00:30:17,320 --> 00:30:21,494 As 'n telefoon boek gehad, soos, 4000000000 bladsye, voel soos 'n baie groot probleem. 710 00:30:21,494 --> 00:30:23,410 En inderdaad, kan dit neem my 4000000000 bladsy 711 00:30:23,410 --> 00:30:26,549 draai na Mike Smith in daardie vind geval met die eerste algoritme. 712 00:30:26,549 --> 00:30:28,840 Maar hoeveel stappe sal dit in die derde algoritme 713 00:30:28,840 --> 00:30:31,585 Mike vind onder vier miljard stukkies papier? 714 00:30:31,585 --> 00:30:34,865 715 00:30:34,865 --> 00:30:36,240 So 4000000000 skeur jy in die helfte. 716 00:30:36,240 --> 00:30:37,220 Jy kry twee biljoen. 717 00:30:37,220 --> 00:30:42,810 En een miljard as 500 miljoen 250 miljoen, 125 million-- maar dit 718 00:30:42,810 --> 00:30:44,780 voel soos hierdie is gaan 'n rukkie neem. 719 00:30:44,780 --> 00:30:47,340 Ek dalk nodig 32 vingers tel op dat 'n hoë. 720 00:30:47,340 --> 00:30:51,340 Maar dit is wel so min as bladsy trane 32. 721 00:30:51,340 --> 00:30:54,060 Jy kan gaan van vier miljard na bladsy skeidslyn een 722 00:30:54,060 --> 00:30:57,030 die oorspronklike aantal bladsye in die helfte 32 keer 723 00:30:57,030 --> 00:30:59,290 totdat jy links met net dat enkele bladsy. 724 00:30:59,290 --> 00:31:01,320 >> Nou, natuurlik, ek is hier verneuk. 725 00:31:01,320 --> 00:31:06,470 Dit is nie dat ons net word soort dom heeltemal met die eerste twee 726 00:31:06,470 --> 00:31:07,470 algoritmes. 727 00:31:07,470 --> 00:31:11,500 Ek verneuk in 'n sekere sin, of regtig ek gebruik te maak van 'n aanname. 728 00:31:11,500 --> 00:31:15,610 Wat is waarheid oor die telefoon boek in sy oorspronklike vorm wat toegelaat 729 00:31:15,610 --> 00:31:17,450 my daardie derde algoritme selfs gebruik? 730 00:31:17,450 --> 00:31:18,110 Ja? 731 00:31:18,110 --> 00:31:19,360 Publiek: Dit is analfabeet. 732 00:31:19,360 --> 00:31:21,130 David Malan: Dit is analfabeet, reg? 733 00:31:21,130 --> 00:31:23,500 As dit net in 'n ewekansige orde, dit is 'n vermorsing 734 00:31:23,500 --> 00:31:24,880 van tyd, hierdie hele gesprek. 735 00:31:24,880 --> 00:31:27,500 Ek moet by elke kyk bladsy al is dit in enige volgorde 736 00:31:27,500 --> 00:31:30,350 Mike Smith vind voordat ek kan aflei hy daar is of nie. 737 00:31:30,350 --> 00:31:32,880 En so het die hoek ons uitgeroei is dat ek 738 00:31:32,880 --> 00:31:35,752 aanvaar dat iemand anders in hierdie geval het die werk vir my. 739 00:31:35,752 --> 00:31:38,460 En sodat uiteindelik nooi die vraag, goed, wag 'n minuut. 740 00:31:38,460 --> 00:31:41,284 Hoe kan jy sorteer 1000 bladsye van name en nommers? 741 00:31:41,284 --> 00:31:43,200 Dit is eintlik 'n ander probleem, iets 742 00:31:43,200 --> 00:31:44,574 ons sal terug te kom om in die toekoms. 743 00:31:44,574 --> 00:31:48,130 Maar as jy dink oor webwerwe soos Facebook en Google vir Gmail 744 00:31:48,130 --> 00:31:50,450 en dinge soos Google se eie soek indekse, 745 00:31:50,450 --> 00:31:53,800 wanneer jy miljoene of biljoene stukkies data wat deesdae gestoor, 746 00:31:53,800 --> 00:31:56,660 searching-- en nie te praat sorteer diegene problems-- 747 00:31:56,660 --> 00:31:59,450 is uiteindelik 'n uitdaging vir homself. 748 00:31:59,450 --> 00:32:02,250 En inderdaad, hierdie dan is net een van daardie uitdagings 749 00:32:02,250 --> 00:32:03,460 dat ons sal kyk na. 750 00:32:03,460 --> 00:32:05,590 >> So nou kom ons neem 'n oomblik en 'n blik op CS50 751 00:32:05,590 --> 00:32:09,082 self en gee jou 'n gevoel van wat in die winkel van hierdie semester. 752 00:32:09,082 --> 00:32:11,540 Inderdaad, as jy dit nog nie gedoen, moenie 'n blik op hierdie URL. 753 00:32:11,540 --> 00:32:13,880 En as Patrick verwys om vanjaar ons 754 00:32:13,880 --> 00:32:17,130 'n beduidende belegging al hoe meer ter ondersteuning van die kursus se 755 00:32:17,130 --> 00:32:20,170 struktuur in terme van die Tas en die Cas, kantoorure, 756 00:32:20,170 --> 00:32:23,520 afdelings beskikbaarheid, en digitale materiaal aanlyn, sowel. 757 00:32:23,520 --> 00:32:27,489 Inderdaad, in terme van die kursus se lesing, ons is hier vandag. 758 00:32:27,489 --> 00:32:29,780 En die verwagtinge hierdie jaar amptelik van die kursus 759 00:32:29,780 --> 00:32:32,370 word by te woon tot vandag, die loop se laaste lesing, en 'n kursus 760 00:32:32,370 --> 00:32:35,161 min of meer in die middel van die semester met elke lesing tussen 761 00:32:35,161 --> 00:32:37,280 algemeen beskikbaar gestel op 'n Vrydagmiddag 762 00:32:37,280 --> 00:32:40,240 aanlyn, sowel vir Yale studente en Harvard studente vanjaar. 763 00:32:40,240 --> 00:32:42,090 Trouens, een van die fundamentele veranderinge is 764 00:32:42,090 --> 00:32:44,310 dat ons die aanneming by Harvard n paradigma baie 765 00:32:44,310 --> 00:32:46,570 soos ons gedoen het hier verlede jaar en nou vanjaar, 766 00:32:46,570 --> 00:32:50,300 sodat soortgelyke, het ons nog verfilm mees lesings deur die loop in Cambridge 767 00:32:50,300 --> 00:32:52,900 maar maak dit beskikbaar vroeër as wat ons in die verlede 768 00:32:52,900 --> 00:32:55,540 sodat dié van you-- as jy wil, byvoorbeeld, 769 00:32:55,540 --> 00:32:58,400 Neem 'n voorsprong op materiaal op die eerste naweek eerder 770 00:32:58,400 --> 00:33:02,000 as die tweede naweek, sal jy toegang tot hierdie soort van materiaal, 771 00:33:02,000 --> 00:33:06,561 gesoek, Inlegbare, hyperlinkable om verwante hulpbronne al die vorige. 772 00:33:06,561 --> 00:33:09,560 In terme van die onderwerpe, om jou te gee 'n gevoel van trajectory-- die kursus se 773 00:33:09,560 --> 00:33:12,365 en 'n paar van hierdie kan jargon vir wees nou, maar nie vir lank nie, seker wees. 774 00:33:12,365 --> 00:33:15,010 Ons begin vandag, uiteindelik, met kyk na een programmering 775 00:33:15,010 --> 00:33:16,260 taal genoem krap. 776 00:33:16,260 --> 00:33:19,380 Ons sal daarna oorgang volgende week iets genoem C 777 00:33:19,380 --> 00:33:22,140 en dan kyk na ander gebou blokke vir die oplos van probleme, 778 00:33:22,140 --> 00:33:26,230 dinge genoem skikkings en algoritmes, hoe ons dit gebruik geheue tot ons voordeel 779 00:33:26,230 --> 00:33:28,326 en nadeel, en dinge soos datastrukture, 780 00:33:28,326 --> 00:33:31,200 en dan na die stertkant van die klas kyk na masjienleer 781 00:33:31,200 --> 00:33:33,410 en kyk na 'n ander taal genoem Python, 782 00:33:33,410 --> 00:33:37,460 hoe die web werk, hoe die internet meer oor die algemeen werk, protokolle soos HTTP, 783 00:33:37,460 --> 00:33:40,950 tale vir databasisse soos SQL, JavaScript vir die web, 784 00:33:40,950 --> 00:33:43,000 en uiteindelik vasmaak al daardie saam. 785 00:33:43,000 --> 00:33:44,708 >> En so ja, op die einde van die dag, jy 786 00:33:44,708 --> 00:33:50,250 sal nie leer in hierdie klas Scratch of C of Python of SQL of JavaScript. 787 00:33:50,250 --> 00:33:53,560 Jy sal plaas meer algemeen leer rekenaarwetenskap en die fondamente 788 00:33:53,560 --> 00:33:55,790 daarvan, en jy sal leer hoe om die program 789 00:33:55,790 --> 00:33:58,800 in 'n aantal van hierdie tale langs die pad. 790 00:33:58,800 --> 00:34:00,970 So ja, een van die doelwitte van die kursus op die ou end 791 00:34:00,970 --> 00:34:04,160 is om al die kursus se opstyg opleiding wiele deur die laaste weke 792 00:34:04,160 --> 00:34:06,710 sodat Na dit, kan jy terug te keer na jou eie fields-- 793 00:34:06,710 --> 00:34:08,510 of dit is of is nie rekenaarwetenskap 794 00:34:08,510 --> 00:34:12,290 of ingenieurswese, in die natuurlike wetenskappe, kuns, geesteswetenskappe, of beyond-- 795 00:34:12,290 --> 00:34:14,720 en bring 'n paar van hierdie idees natuurlik en hierdie veld se 796 00:34:14,720 --> 00:34:17,400 idees en praktiese vaardighede om jou eie domein 797 00:34:17,400 --> 00:34:19,480 ten einde probleme daarin op te los. 798 00:34:19,480 --> 00:34:22,990 >> Wat ons hier sal moet doen intussen in die meeste Donderdae na vandag 799 00:34:22,990 --> 00:34:26,160 is met die hoofde van die kursus se voorste wat ons ipv jy bel 800 00:34:26,160 --> 00:34:27,620 van die kursus se probleem stelle. 801 00:34:27,620 --> 00:34:29,610 So elke week wanneer ons Het jy 'n probleem gestel, sal ons 802 00:34:29,610 --> 00:34:32,900 loop deur in 'n plek soos hierdie uitdagings die kursus se 803 00:34:32,900 --> 00:34:35,582 bied jou 'n paar wenke en truuks en ontwerp tegnieke. 804 00:34:35,582 --> 00:34:37,540 Maar as jy nie in staat aan diegene wat persoonlik te maak, 805 00:34:37,540 --> 00:34:39,760 besef daardie selfde hulpbronne sal ingesluit 806 00:34:39,760 --> 00:34:41,590 deur een van die kursus se onderwysassistente 807 00:34:41,590 --> 00:34:43,860 in die probleem stel hulself, sowel. 808 00:34:43,860 --> 00:34:47,124 >> Die probleem sit vanjaar, in teenstelling met verlede jaar, wat gebaseer is op terugvoer, 809 00:34:47,124 --> 00:34:48,540 sal nog bekend gemaak word op Vrydae. 810 00:34:48,540 --> 00:34:51,310 Maar eerder as om te wyte die daaropvolgende Vrydag, 811 00:34:51,310 --> 00:34:55,079 jy daardeur gee net sewe dae, sal effektief wees as gevolg van 10 dae later. 812 00:34:55,079 --> 00:34:57,620 En inderdaad, dit sal beteken dat hulle sal oorvleuel met 'n naweek. 813 00:34:57,620 --> 00:34:59,369 Maar ons hoop dat hierdie jaar veral dié sal 814 00:34:59,369 --> 00:35:02,320 studente in staat stel om beter te akkommodeer eb en vloei in hul skedules, 815 00:35:02,320 --> 00:35:05,040 of dit nou akademici of extracurriculars of atletiek 816 00:35:05,040 --> 00:35:06,280 of akademiese trimester seisoen. 817 00:35:06,280 --> 00:35:10,060 Jy kan óf voor-vrag of back-vrag jou week fokus op CS50 gebaseer 818 00:35:10,060 --> 00:35:12,400 op werklike natuurlik vrag jou eie week se. 819 00:35:12,400 --> 00:35:14,990 >> Die probleem sit hulself sal 'n verskeidenheid van tale te dek, 820 00:35:14,990 --> 00:35:17,990 alhoewel ons sal fokus oorwegend vroeg op C 821 00:35:17,990 --> 00:35:23,040 voordat ons daarna fokus op hoër vlak, meer web-sentriese tale. 822 00:35:23,040 --> 00:35:25,970 En dan 'n paar vrae here-- moet jy 'n klas soos CS50 neem 823 00:35:25,970 --> 00:35:26,900 as 'n eerstejaar? 824 00:35:26,900 --> 00:35:27,970 So absoluut. 825 00:35:27,970 --> 00:35:30,470 En inderdaad, dit is nie noodwendig iets 826 00:35:30,470 --> 00:35:34,440 jy moet uitstel totdat jy sny jou tande op ander vorme van klasse. 827 00:35:34,440 --> 00:35:36,290 Maar eerder, oorweeg wat vir baie studente, 828 00:35:36,290 --> 00:35:39,040 myself ingesluit terug in die dag, dit is 'n baie onbekende veld, 829 00:35:39,040 --> 00:35:40,997 veral as jy nooit het neem 'n AP CSA 830 00:35:40,997 --> 00:35:42,580 of iets soos dit in die hoërskool. 831 00:35:42,580 --> 00:35:44,705 Maar besef dat vroeg, of dit nou hierdie kursus 832 00:35:44,705 --> 00:35:47,900 of 'n ander inleidende kursus, nou is inderdaad die beste tyd, 833 00:35:47,900 --> 00:35:52,082 Ek dink, om 'n paar nuwe pad te vind of 'n paar nuwe akademiese belang, sowel. 834 00:35:52,082 --> 00:35:55,040 En dan neem met ander courses-- sodat een van die belangrikste verskille hier 835 00:35:55,040 --> 00:35:57,906 versus Harvard is dat ons net neem vier kursusse per semester 836 00:35:57,906 --> 00:35:59,030 aan die Harvard vir een of ander rede. 837 00:35:59,030 --> 00:36:01,494 En julle eintlik trek af 'n paar 36 kursusse in totaal 838 00:36:01,494 --> 00:36:04,410 in die loop van jou vier jaar, wat beteken oor die algemeen vier of vyf 839 00:36:04,410 --> 00:36:05,040 klasse. 840 00:36:05,040 --> 00:36:08,367 En ek dink dit is nogal redelik om te sê en om ontken CS50, deur ontwerp, is 841 00:36:08,367 --> 00:36:10,700 waarskynlik nie die tipe klas dat jy moet tipies 842 00:36:10,700 --> 00:36:13,680 neem met vier ander kursusse vir 'n totaal van vyf 843 00:36:13,680 --> 00:36:16,249 omdat psets is deur ontwerp redelik intensief. 844 00:36:16,249 --> 00:36:18,040 Inderdaad, ek geleer dit terug in die dag. 845 00:36:18,040 --> 00:36:21,110 Ek sou nie beskryf CS50 en rekenaarwetenskap, programmering 846 00:36:21,110 --> 00:36:24,477 soos so baie hard as wat dit is net tydrowend. 847 00:36:24,477 --> 00:36:26,560 Dit is nie die soort ding waar na ete, jy 848 00:36:26,560 --> 00:36:28,310 kan terug gaan na jou dorm kamer, sit, en begin 849 00:36:28,310 --> 00:36:29,710 fokus op die pset dink, alles reg, 850 00:36:29,710 --> 00:36:31,340 Ek kan nie nou bang dit uit vanaand en dan skuif 851 00:36:31,340 --> 00:36:33,000 op my volgende onderwerp die volgende dag. 852 00:36:33,000 --> 00:36:34,450 Soms moet jy net druk 'n muur. 853 00:36:34,450 --> 00:36:35,690 Jy het foute in jou kode. 854 00:36:35,690 --> 00:36:37,900 Jy hoef nie noodwendig weet hoe om 'n probleem op te los. 855 00:36:37,900 --> 00:36:41,670 En een van die belangrikste kenmerke van Programmering vir myself tot vandag toe 856 00:36:41,670 --> 00:36:44,480 is jy net soort van moet neem 'n stap terug soms, slaap op dit 857 00:36:44,480 --> 00:36:47,870 of dink oor dit in die loop van 'n draf of 'n ander aktiwiteit, 858 00:36:47,870 --> 00:36:49,240 en kom dan terug om dit vars. 859 00:36:49,240 --> 00:36:50,930 En jy hoef net die vensters van die tyd. 860 00:36:50,930 --> 00:36:52,910 >> En inderdaad, dit is hoekom ons het verleng die bedrag van die tyd 861 00:36:52,910 --> 00:36:55,710 beskikbaar vir die probleem stelle vanjaar en ook, per dat URL 862 00:36:55,710 --> 00:36:57,950 Ek sit vroeër as om Wat is nuut hierdie semester, 863 00:36:57,950 --> 00:37:00,950 afgewerk die probleem stel sodat hulle is fundamenteel nie minder streng, 864 00:37:00,950 --> 00:37:03,741 en die wegneemetes is nie minder nie, maar daar is 'n baie minder voorwerk, 865 00:37:03,741 --> 00:37:07,630 'n baie minder informatieverzameling wat jy nodig het om doen aan die voorkant van elke probleem stel, 866 00:37:07,630 --> 00:37:10,680 as jy sien, voordat jy kan eintlik duik in die vleis daarvan. 867 00:37:10,680 --> 00:37:13,500 So besef dat hierdie en ander veranderinge is op die horison 868 00:37:13,500 --> 00:37:16,490 om beter te akkommodeer studente, maar uiteindelik om seker te maak 869 00:37:16,490 --> 00:37:18,860 dat die wegneemetes is inderdaad so hoog as moontlik te maak. 870 00:37:18,860 --> 00:37:21,330 Dus, terwyl meer werk as wat dit dalk in 'n tipiese klas, 871 00:37:21,330 --> 00:37:25,120 Ons hoop dat die opbrengs vir jy en die wegneemetes vir jou 872 00:37:25,120 --> 00:37:27,490 en die vaardighede en idees waarmee jy die uitgang van 873 00:37:27,490 --> 00:37:29,921 is al hoe meer dwingende as gevolg daarvan. 874 00:37:29,921 --> 00:37:32,420 En te kry wat jy en hierdie there-- is een van die belangrikste wegneemetes, 875 00:37:32,420 --> 00:37:35,470 soos Patrick verwys earlier-- is die kursus se ondersteuningstruktuur. 876 00:37:35,470 --> 00:37:39,720 So nie net CS50 het een van die grootste natuurlik personeel op die kampus. 877 00:37:39,720 --> 00:37:41,750 Dit het ook een van die die meeste voorgraadse. 878 00:37:41,750 --> 00:37:43,700 Inderdaad, CS50 verlede jaar was die eerste klas 879 00:37:43,700 --> 00:37:45,366 aan 'n voorgraadse dosente het. 880 00:37:45,366 --> 00:37:48,570 En getuig van die sukses doen nou baie ander kursusse binne Yale CS 881 00:37:48,570 --> 00:37:49,500 het dat, as well. 882 00:37:49,500 --> 00:37:52,906 En vir studente, spesifiek, sal hierdie Tas en natuurlik assistente 883 00:37:52,906 --> 00:37:55,030 wees ondersteuning van 'n hele netwerk van ondersteuning hulpbronne, 884 00:37:55,030 --> 00:37:58,250 onder hulle afdelings of recitaties, weeklikse geleenthede 885 00:37:58,250 --> 00:38:01,674 meer intieme gesprekke het en resensies van materiaal geteiken 886 00:38:01,674 --> 00:38:04,590 vir verskillende spore, vir studente minder gemaklik, meer gemaklik, 887 00:38:04,590 --> 00:38:05,720 of iewers tussenin. 888 00:38:05,720 --> 00:38:08,886 Dit sal die beskikbaarheid van volg die lesings deur 'n paar dae per week 889 00:38:08,886 --> 00:38:09,970 op Maandae en Dinsdae. 890 00:38:09,970 --> 00:38:11,970 En dan kantoor hours-- een-tot-een geleenthede 891 00:38:11,970 --> 00:38:15,490 vir hulp van die kursus GR'e en Tas sal wees op Woensdae en Donderdae 892 00:38:15,490 --> 00:38:18,400 en Sondae om verskeie tye, wat almal 893 00:38:18,400 --> 00:38:22,180 sal gepos word op die webwerf van die kursus se selfs meer as verlede jaar, sowel. 894 00:38:22,180 --> 00:38:25,501 >> Maar wat is die sleutel tot CS50, indien nie weliswaar 'n bietjie ongewoon, 895 00:38:25,501 --> 00:38:27,750 is kultuur die kursus se Ons het probeer om te kweek, 896 00:38:27,750 --> 00:38:30,672 beide in Cambridge vir baie jare en nou onlangs in New Haven. 897 00:38:30,672 --> 00:38:33,130 En in werklikheid, kom hierdie Saterdag, indien jy dit nog nie gehoor het, 898 00:38:33,130 --> 00:38:36,410 is CS50 legkaart Dag, wat het niks te doen met rekenaarwetenskap 899 00:38:36,410 --> 00:38:39,430 maar is geheel en al ontwerp om te stuur 'n boodskap wat rekenaarwetenskap is 900 00:38:39,430 --> 00:38:40,665 oor probleemoplossing. 901 00:38:40,665 --> 00:38:43,540 En inderdaad, as jy wil vennoot met een of twee of drie vriende 902 00:38:43,540 --> 00:38:46,150 en vorm 'n span vir CS50 Legkaart Dag, 'n blik 903 00:38:46,150 --> 00:38:48,010 op die advertensies wat op die pad uit. 904 00:38:48,010 --> 00:38:51,582 En drie ure van pizza en raaisels en pryse wag. 905 00:38:51,582 --> 00:38:53,290 En inderdaad, vir die eerste keer vanjaar, 906 00:38:53,290 --> 00:38:54,873 dit sal nie gesamentlik gehou word met Harvard. 907 00:38:54,873 --> 00:38:57,530 Dit sal hier onafhanklik wees aan die Yale. 908 00:38:57,530 --> 00:38:59,815 So hou 'n oog uit vir diegene as jy nie. 909 00:38:59,815 --> 00:39:02,440 Die meeste elke Vrydag in die semester ons probeer om 'n groot klas te maak 910 00:39:02,440 --> 00:39:06,710 voel klein en bring sowat 50 studente om middagete saam met personeel die kursus se 911 00:39:06,710 --> 00:39:08,730 met alumni, vriende uit bedryf te praat 912 00:39:08,730 --> 00:39:12,630 oor hoe die lewe is soos na 'n klas soos CS50 en oor die somers 913 00:39:12,630 --> 00:39:14,250 en nadat hulle gegradueer het. 914 00:39:14,250 --> 00:39:16,280 So hou 'n oog uit vir uitnodigings na daardie. 915 00:39:16,280 --> 00:39:17,988 Vir die eerste keer ooit sal vanjaar ons 916 00:39:17,988 --> 00:39:21,420 hou die eerste keer ooit CS50 kodering wedstryd, 'n opsionele opt-in geleentheid 917 00:39:21,420 --> 00:39:25,580 mid-semester, nadat ons almal gehad het sowat ses of sewe weke van ontwikkeling 918 00:39:25,580 --> 00:39:30,100 in C onder hul gordels om mee te ding, As julle dit weer sou choose 919 00:39:30,100 --> 00:39:32,460 op teams-- probeer los soveel uitdagings 920 00:39:32,460 --> 00:39:36,160 as wat jy kan in programmering met vriende van jou teen ander. 921 00:39:36,160 --> 00:39:38,850 >> En in die rigting van die stert van die semester sal ons handves paar busse, 922 00:39:38,850 --> 00:39:40,850 eintlik 'n geruime tyd te spandeer in Cambridge, as jy wil 923 00:39:40,850 --> 00:39:43,460 wil ons aan te sluit vir die sogenaamde CS50 hackathon. 924 00:39:43,460 --> 00:39:44,600 Op 19:00 sal ons begin. 925 00:39:44,600 --> 00:39:45,970 Rondom 09:00, sal ons pizza het. 926 00:39:45,970 --> 00:39:47,650 Rondom 01:00, sal ons tortilla het. 927 00:39:47,650 --> 00:39:50,550 En niemand nog wakker op die busrit huis rondom 05:00, 928 00:39:50,550 --> 00:39:54,070 ons sal ophou om af vir pannekoek by IHOP op die manier home-- 929 00:39:54,070 --> 00:39:57,540 'n 12-uur geleentheid om te verdiep jouself met klasmaats en personeel 930 00:39:57,540 --> 00:39:59,950 in finale projek deur die loop se, wat is 'n geleentheid 931 00:39:59,950 --> 00:40:01,870 om goed te gaan as die Natuurlik se probleem stelle 932 00:40:01,870 --> 00:40:05,950 en ontwerp en implementeer die meeste enigiets van belang vir jou, 933 00:40:05,950 --> 00:40:09,170 wat uiteindelik sal wees featured hier in Commons. 934 00:40:09,170 --> 00:40:12,510 Die eerste CS50 billike was verlede jaar, 'n einde-van-semester uitstalling 935 00:40:12,510 --> 00:40:15,460 of viering van wat almal in die klas het sy einde bereik, 936 00:40:15,460 --> 00:40:19,810 veral diegene, weer, wat het van niks om iets te doen, van nul tot 60, 937 00:40:19,810 --> 00:40:22,450 sonder vooraf agtergrond en uitstal, uiteindelik, 938 00:40:22,450 --> 00:40:26,960 iets vir die hele kampus en, As online, die wêreld om te sien, asook. 939 00:40:26,960 --> 00:40:30,780 >> Nou, hierdie hier is net 'n paar van die Tas en GR'e dat CS50 moontlik maak. 940 00:40:30,780 --> 00:40:33,034 Laat my toe om 'n uitnodiging van daardie personeellede 941 00:40:33,034 --> 00:40:35,700 wat is hier om te kom op die verhoog, sowel as hoofde die kursus se 942 00:40:35,700 --> 00:40:38,785 om 'n paar woorde van bied inspirasie, sowel. 943 00:40:38,785 --> 00:41:03,138 944 00:41:03,138 --> 00:41:03,950 >> ANDI: Hi, ouens. 945 00:41:03,950 --> 00:41:05,290 Kan julle luister na my? 946 00:41:05,290 --> 00:41:10,260 Dankie vir die saam met ons op hierdie pragtige, reën Donderdagmiddag. 947 00:41:10,260 --> 00:41:11,010 My naam is Andi. 948 00:41:11,010 --> 00:41:12,070 Ek is 'n junior in Berkeley. 949 00:41:12,070 --> 00:41:17,250 En saam met Stelios en somer, Ons sal jou drie hoof onderrig wees 950 00:41:17,250 --> 00:41:19,277 assistente vir hierdie komende jaar. 951 00:41:19,277 --> 00:41:21,110 So, dink ek, die opsteek van hands-- hoeveel van julle 952 00:41:21,110 --> 00:41:26,680 nie van plan is om 'n CS groot of baie duik diep 953 00:41:26,680 --> 00:41:29,930 in rekenaarwetenskap as hier 'n groot? 954 00:41:29,930 --> 00:41:30,520 Ontsagwekkende. 955 00:41:30,520 --> 00:41:32,730 Dit is briljant. 956 00:41:32,730 --> 00:41:35,850 >> So ek is eintlik 'n globale sake en kognitiewe wetenskap hoofvak. 957 00:41:35,850 --> 00:41:37,780 Ek het letterlik Yale met die bedoeling 958 00:41:37,780 --> 00:41:42,199 van nooit hoef te kyk na 'n aantal ooit weer in my lewe. 959 00:41:42,199 --> 00:41:44,990 Toe ek by Yale gekom, dit was iets wat nooit was op my radar. 960 00:41:44,990 --> 00:41:46,460 Ek wou om te leer oor die poësie. 961 00:41:46,460 --> 00:41:48,500 Ek wou om te leer oor buitelandse sake. 962 00:41:48,500 --> 00:41:50,510 Ek wou om te leer oor waterverf tekeninge. 963 00:41:50,510 --> 00:41:53,360 Ja, bied ons 'n klas op waterverf tekeninge. 964 00:41:53,360 --> 00:41:57,340 >> Maar ek was nog nooit regtig belangstel in enigiets STEM verwante. 965 00:41:57,340 --> 00:41:59,620 Maar dan moet die ouer ek het, hoe meer het ek besef 966 00:41:59,620 --> 00:42:03,340 dat elke veld regtig in 'n paar sin in diens rekenaarwetenskap, 967 00:42:03,340 --> 00:42:05,700 of indien nie rekenaarwetenskap, berekening. 968 00:42:05,700 --> 00:42:08,300 Trouens, vir my globale sake sluitsteen projek, 969 00:42:08,300 --> 00:42:12,020 ons gebruik data analytics om terroriste-aanvalle te ontleed 970 00:42:12,020 --> 00:42:13,680 vir Boko Haram in Nigerië. 971 00:42:13,680 --> 00:42:17,510 En so soos jy kan sien, ongeag van watter groot beland jy besig 972 00:42:17,510 --> 00:42:21,640 of wat jou belangstellings hier aan die Yale is, programmering en die fondamente 973 00:42:21,640 --> 00:42:24,130 van watter vaardighede is super nuttig. 974 00:42:24,130 --> 00:42:29,840 En CS50 regtig is goed toegerus om soort leen baie van sy hulpbronne 975 00:42:29,840 --> 00:42:32,060 vir julle, ongeag hoe gemaklik is jy 976 00:42:32,060 --> 00:42:34,590 of hoe belangstel jy in die voortsetting van die klas. 977 00:42:34,590 --> 00:42:37,290 >> Somer se plan om 'n bietjie gesels bietjie oor wat julle is 978 00:42:37,290 --> 00:42:39,635 gaan om te leer oor vanjaar. 979 00:42:39,635 --> 00:42:40,510 SOMER: Hi, almal. 980 00:42:40,510 --> 00:42:41,320 Ek is somer Wu. 981 00:42:41,320 --> 00:42:43,090 Ek is 'n junior in Morse. 982 00:42:43,090 --> 00:42:48,100 En ek eintlik begin as 'n CS50 student myself. 983 00:42:48,100 --> 00:42:51,460 So drie jaar gelede, was ek op 'n oorbruggingsjaar. 984 00:42:51,460 --> 00:42:53,940 Ek sal nooit geneem 'n CS klas in die hoërskool, 985 00:42:53,940 --> 00:42:57,800 maar ek het gedink dat daar in my vrye tyd, afkoel sou wees om te leer hoe om die kode. 986 00:42:57,800 --> 00:43:02,610 So ek het 'n vinnige Google-soektog, gesoek wat aanlyn beskikbaar is, 987 00:43:02,610 --> 00:43:06,990 en sien hierdie video met Muppets en DJs en koel webwerwe. 988 00:43:06,990 --> 00:43:09,450 Ek is soos ek wil leer hoe om dit te doen. 989 00:43:09,450 --> 00:43:14,690 >> Toe het ek die kursus, en ek net verlief geraak op dit. 990 00:43:14,690 --> 00:43:20,410 Maar ek onthou wat so jaloers op die kinders wat die hackathon kon bywoon nie, 991 00:43:20,410 --> 00:43:24,610 woon legkaart Dag, by te woon kantoor ure, kry hulp van Tas persoonlik. 992 00:43:24,610 --> 00:43:27,410 En so het ek nooit gedink dat ek die kans sou kry 993 00:43:27,410 --> 00:43:30,640 om hier betrokke wees by die kursus wat eerste het 994 00:43:30,640 --> 00:43:33,630 my belangstel in die rekenaar wetenskap en is die rede waarom 995 00:43:33,630 --> 00:43:35,690 Ek is vandag 'n rekenaarwetenskap as hoofvak. 996 00:43:35,690 --> 00:43:39,290 So ek sal jou waarsku, hierdie klas gaan jy rek. 997 00:43:39,290 --> 00:43:41,120 Dit gaan jou uit te daag. 998 00:43:41,120 --> 00:43:43,910 Maar dit is ook van plan om leer hoe om dinge te doen 999 00:43:43,910 --> 00:43:45,506 dat jy nooit gedink jy kon. 1000 00:43:45,506 --> 00:43:49,330 1001 00:43:49,330 --> 00:43:52,160 >> Stelios: Hi, almal. 1002 00:43:52,160 --> 00:43:53,510 My naam is Stelios. 1003 00:43:53,510 --> 00:43:58,240 Ek is 'n junior in Branford Kollege en 'n CS groot. 1004 00:43:58,240 --> 00:44:01,640 Ek is ook van Athene, Griekeland. 1005 00:44:01,640 --> 00:44:03,830 Ek sien regtig uit daarna om aan al van jou, 1006 00:44:03,830 --> 00:44:09,010 gesels met jou op artikel, by kantoorure by Vrydag middagetes. 1007 00:44:09,010 --> 00:44:11,250 Ek is baie opgewonde, want Ons het so baie moeite 1008 00:44:11,250 --> 00:44:14,650 in die skep van 'n unieke ondersteuning struktuur vir julle almal 1009 00:44:14,650 --> 00:44:19,170 om jou ervaring met te maak die loop van die beste moontlike. 1010 00:44:19,170 --> 00:44:22,640 En ek hoop dat hoewel die meeste van jy het waarskynlik nie geneem 'n CS 1011 00:44:22,640 --> 00:44:27,310 Natuurlik voor, ek hoop dit is CS50 vir jou is wat belangstelling vonke 1012 00:44:27,310 --> 00:44:30,260 om verder na te streef rekenaar wetenskap in die toekoms, 1013 00:44:30,260 --> 00:44:33,270 soos dit gedoen het met so baie mense in die verlede. 1014 00:44:33,270 --> 00:44:36,740 So dankie vir die feit dat hier, opgewonde om julle te sien. 1015 00:44:36,740 --> 00:44:38,487 Jason Hirsch. 1016 00:44:38,487 --> 00:44:39,820 JASON Hirsch: Hi, almal. 1017 00:44:39,820 --> 00:44:41,700 My naam is Jason Hirsch. 1018 00:44:41,700 --> 00:44:43,050 Ek woon in Silliman. 1019 00:44:43,050 --> 00:44:46,910 En Ek het na Harvard as 'n voorgraadse en as hoofvak sosiale studies 1020 00:44:46,910 --> 00:44:48,870 en minored in rekenaarwetenskap. 1021 00:44:48,870 --> 00:44:53,100 En een van my hoof rolle hier is om hierdie wonderlike personeel te ondersteun 1022 00:44:53,100 --> 00:44:54,630 omdat hulle te ondersteun julle almal. 1023 00:44:54,630 --> 00:44:56,410 Trouens, dit is nie almal van hulle. 1024 00:44:56,410 --> 00:45:01,230 Daar is 55 voorgraadse en gegradueerdes hier om julle almal te ondersteun. 1025 00:45:01,230 --> 00:45:04,420 En ek daresay een van die beste dele van die kursus vir jou 1026 00:45:04,420 --> 00:45:08,080 al is om te werk met hulle kry om hulle te leer ken, 1027 00:45:08,080 --> 00:45:12,389 kry om hulle te sien, beide in CS50 en buite CS50 hierdie semester 1028 00:45:12,389 --> 00:45:13,680 en vir baie semesters te kom. 1029 00:45:13,680 --> 00:45:16,770 So hopelik sal jy neem die Natuurlik, want hopelik jy 1030 00:45:16,770 --> 00:45:21,060 kry om met die wonderlike personeel het ons op die verhoog. 1031 00:45:21,060 --> 00:45:24,977 >> SPREKER: Wel, laat ek klaar deur te sê dit sal pret wees. 1032 00:45:24,977 --> 00:45:26,810 David Malan: Wel, te danke aan ons hele span. 1033 00:45:26,810 --> 00:45:29,610 Laat my toe om die ligte verdof en toelaat dat 'n meer van ons span, 1034 00:45:29,610 --> 00:45:32,890 albei van Cambridge en New Haven, om te groet as hierdie ouens lêer af. 1035 00:45:32,890 --> 00:45:36,130 En daarna sal ons oorgang na die eerste van ons program verbintenisse 1036 00:45:36,130 --> 00:45:37,584 met hierdie taal genoem krap. 1037 00:45:37,584 --> 00:45:38,500 So te danke aan die span. 1038 00:45:38,500 --> 00:45:40,770 Kom ons verdof die ligte en hoor van 'n paar ander. 1039 00:45:40,770 --> 00:45:44,207 >> [Applous] 1040 00:45:44,207 --> 00:45:45,680 1041 00:45:45,680 --> 00:45:48,140 >> [Video speel] 1042 00:45:48,140 --> 00:45:53,210 >> -Die Missie van CS50 is om jou te maak meer gemaklik met 'n totaal nuwe manier 1043 00:45:53,210 --> 00:45:54,947 van denke, hierdie computational ingesteldheid. 1044 00:45:54,947 --> 00:45:56,780 -Dit Gemaak rekenaarwetenskap interessante, wat 1045 00:45:56,780 --> 00:46:00,241 is iets wat ek het nie regtig besef was moontlik totdat ek het die klas. 1046 00:46:00,241 --> 00:46:00,990 -Ek Was soos, whoa. 1047 00:46:00,990 --> 00:46:04,120 Ek is regtig vertaal my gedagtes in 'n rekenaar op die oomblik. 1048 00:46:04,120 --> 00:46:07,970 >> -Even As jy nie enige agtergrond het in Rekenaarwetenskap of enige ervaring, 1049 00:46:07,970 --> 00:46:10,140 dit is eintlik die klas vir jou. 1050 00:46:10,140 --> 00:46:12,250 >> -So ek wil beslis my studente om net 1051 00:46:12,250 --> 00:46:14,350 kry opgewonde oor rekenaarwetenskap. 1052 00:46:14,350 --> 00:46:17,187 Nie net programmering, maar dink soos 'n rekenaarwetenskaplike 1053 00:46:17,187 --> 00:46:19,270 is regtig wat ek wil probeer om my eerstejaars leer. 1054 00:46:19,270 --> 00:46:21,560 >> -CS50 Is hard en lonend. 1055 00:46:21,560 --> 00:46:22,592 >> 'n Ervaring. 1056 00:46:22,592 --> 00:46:23,456 >> -Extravaganza. 1057 00:46:23,456 --> 00:46:26,350 >> -Dit Is ons bring na die volgende vlak. 1058 00:46:26,350 --> 00:46:28,850 >> [Speel van musiek] 1059 00:46:28,850 --> 00:46:32,167 >> -Die TFS is, dink ek, die lewensaar van die kursus. 1060 00:46:32,167 --> 00:46:34,560 >> I 'm opgewonde om my studente ek help 1061 00:46:34,560 --> 00:46:38,027 het dat Ha oomblik om te besef wat hulle eintlik probeer 1062 00:46:38,027 --> 00:46:39,610 om te doen, om uit te vind hoe om 'n pset doen. 1063 00:46:39,610 --> 00:46:41,438 >> -CS50 Is beslis 'n harde natuurlik. 1064 00:46:41,438 --> 00:46:43,960 Maar in teenstelling met enige ander Natuurlik regtig aan die Yale, 1065 00:46:43,960 --> 00:46:45,759 Dit het so 'n groot, ondersteunende gemeenskap. 1066 00:46:45,759 --> 00:46:47,550 -Jy Absoluut nie nodig om iets te weet 1067 00:46:47,550 --> 00:46:49,341 oor kodering in staat wees om die kursus te neem. 1068 00:46:49,341 --> 00:46:52,270 -Dit Is ongelooflik om ver te kyk hoe mense kom in een semester. 1069 00:46:52,270 --> 00:46:55,610 >> -Jy Is nie alleen sit in jou kamer te leer kode, 1070 00:46:55,610 --> 00:46:57,170 maar dit was meer as net 'n klas. 1071 00:46:57,170 --> 00:46:58,044 Dit was 'n belewenis. 1072 00:46:58,044 --> 00:47:02,500 -Die Beste manier om begrippe te leer en te verwerk hulle is deur die onderrig van ander. 1073 00:47:02,500 --> 00:47:04,033 >> -Wat Is die telefoon verdeel? 1074 00:47:04,033 --> 00:47:06,934 >> [Speel van musiek] 1075 00:47:06,934 --> 00:47:08,080 >> -en Dit is CS50. 1076 00:47:08,080 --> 00:47:10,810 >> [Speel van musiek] 1077 00:47:10,810 --> 00:47:11,720 1078 00:47:11,720 --> 00:47:12,380 >> -Dit Is CS50. 1079 00:47:12,380 --> 00:47:13,446 >> -Got 'N probleem? 1080 00:47:13,446 --> 00:47:14,852 Skeur dit in die helfte. 1081 00:47:14,852 --> 00:47:15,804 >> [Speel van musiek] 1082 00:47:15,804 --> 00:47:18,184 >> Gooi dit weg. 1083 00:47:18,184 --> 00:47:19,520 >> David Malan: Alle reg. 1084 00:47:19,520 --> 00:47:23,190 So laat ons tackle-- in 'n bietjie bietjie, terloops, is dit 1085 00:47:23,190 --> 00:47:25,270 was hierdie tradisie vir een of ander rede vir 10 jaar 1086 00:47:25,270 --> 00:47:27,260 om koek te dien by die begin en die einde van CS50. 1087 00:47:27,260 --> 00:47:30,800 So wag jy aan die einde van vandag, bykomend tot leerplanne, 1088 00:47:30,800 --> 00:47:34,270 sal 'n paar koek wees as goed, en personeel die kursus se hallo sê. 1089 00:47:34,270 --> 00:47:37,110 oorgang Maar nou, laat ons na die eerste van ons tale, waar 1090 00:47:37,110 --> 00:47:40,970 ons sal net 'n week en 'n spandeer regtig probleem gestel op hierdie domein, krap. 1091 00:47:40,970 --> 00:47:43,160 En jy sal vind as jy het geprogrammeer voor, baie 1092 00:47:43,160 --> 00:47:46,280 van die idees en die moontlikhede is bekend aan jou. 1093 00:47:46,280 --> 00:47:48,160 Maar jy sal dit vind dit is pret langs die pad 1094 00:47:48,160 --> 00:47:51,201 om uit te vind presies hoe om te vertaal sommige van die idees wat jy reeds weet 1095 00:47:51,201 --> 00:47:53,852 om hierdie spesifieke omgewing om werklik beïndruk jou familie 1096 00:47:53,852 --> 00:47:57,060 en vriende met jou werk, wat kan gaan aanlyn, as jy so verkies, daarna. 1097 00:47:57,060 --> 00:47:58,851 >> En as jy het geen vorige ondervinding en is 1098 00:47:58,851 --> 00:48:01,540 onder die meerderheid van studente minder gemaklik, 1099 00:48:01,540 --> 00:48:05,320 besef dat baie van die idees wat ons net verken met reality-- dinge 1100 00:48:05,320 --> 00:48:07,970 soos telefoon boeke en bywoning en so forth-- vertaal 1101 00:48:07,970 --> 00:48:12,280 redelik goed tot 'n rekenaar, maar nie as jy gebruik, 1102 00:48:12,280 --> 00:48:13,710 Aanvanklik het 'n taal soos hierdie. 1103 00:48:13,710 --> 00:48:16,290 So dit is 'n program wat geskryf is in 'n taal, die sogenaamde C. 1104 00:48:16,290 --> 00:48:18,590 En ons sal nogal 'n bietjie te spandeer tyd in C, uiteindelik. 1105 00:48:18,590 --> 00:48:22,560 Maar die kans is, sal dit 'n bietjie kyk kriptiese om jou met die eerste oogopslag. 1106 00:48:22,560 --> 00:48:25,760 Trouens, daar is 'n baie vreemde sintaksis, hakies, hoek tussen hakies, 1107 00:48:25,760 --> 00:48:27,422 krullerige draadjies, aanhalings, en kommapunte. 1108 00:48:27,422 --> 00:48:29,880 En inderdaad, as jy duik in ontwikkeling vir die eerste keer 1109 00:48:29,880 --> 00:48:33,420 kyk na en probeer om dinge te skep soos hierdie, eerlik, jy kry so vasgeval 1110 00:48:33,420 --> 00:48:36,500 so dikwels in net dom minutia dat niks 1111 00:48:36,500 --> 00:48:38,240 intellektueel interessante daaroor. 1112 00:48:38,240 --> 00:48:40,980 >> Maar dink as wat jy kan skep dieselfde program-- wat 1113 00:48:40,980 --> 00:48:46,200 as jy dalk soort aflei, waarskynlik afdrukke "Hallo, wêreld" een of ander manier. 1114 00:48:46,200 --> 00:48:49,850 Ons kan dieselfde idee distilleer in net twee stukke van die legkaart, as jy wil. 1115 00:48:49,850 --> 00:48:52,850 Inderdaad, Scratch is interessant want dit is hierdie grafiese taal. 1116 00:48:52,850 --> 00:48:56,110 Jy kan sleep en hierdie stukke van die legkaart wat net grendeling 1117 00:48:56,110 --> 00:48:57,940 As dit maak logies sin om dit te doen. 1118 00:48:57,940 --> 00:48:59,830 En so in Scratch, Ons sal gou sien, dit is 1119 00:48:59,830 --> 00:49:03,460 hoe jy daardie selfde sal implementeer program, met net twee stukke van die legkaart 1120 00:49:03,460 --> 00:49:05,420 wat pretty much doen wat hulle sê. 1121 00:49:05,420 --> 00:49:08,870 >> Maar ons sal sien in net 'n oomblik dat sommige van die boustene wat ons verwys 1122 00:49:08,870 --> 00:49:12,140 vroeër en nog 'n paar is al wat uiteindelik gaan uitmaak 1123 00:49:12,140 --> 00:49:13,460 sommige van ons vroegste programme. 1124 00:49:13,460 --> 00:49:15,460 Ons gaan dinge soos functions-- net 1125 00:49:15,460 --> 00:49:18,034 aksies wat iets te doen, soos groet, wêreld. 1126 00:49:18,034 --> 00:49:20,200 Ons gaan sirkelroetes het, dinge wat siklusse veroorsaak 1127 00:49:20,200 --> 00:49:23,210 weer en weer, net soos ons het 'n oomblik gelede met soek 1128 00:49:23,210 --> 00:49:24,110 vir Mike Smith. 1129 00:49:24,110 --> 00:49:27,190 Veranderlikes, soos in algebra, as jy het x of y, wat 'n aantal kan stoor. 1130 00:49:27,190 --> 00:49:29,940 Wel, in 'n program, kan jy eintlik stoor meer as net getalle. 1131 00:49:29,940 --> 00:49:34,290 Jy kan woorde en sinne bewaar en grafiese en ander dinge nog. 1132 00:49:34,290 --> 00:49:37,530 Boolse uitdrukkings, net questions-- ja of nee, waar of onwaar is. 1133 00:49:37,530 --> 00:49:40,680 Voorwaardes, besluitneming gebaseer op die ja / nee antwoord. 1134 00:49:40,680 --> 00:49:43,890 >> En dan liefhebber dinge soos verskeidenheid en drade en gebeure 1135 00:49:43,890 --> 00:49:46,100 en 'n aantal ander funksies, maar wat almal 1136 00:49:46,100 --> 00:49:48,670 karteer baie mooi om baie vriendelike blokke soos hierdie. 1137 00:49:48,670 --> 00:49:52,736 Dit gaan 'n funksie, 'n wees pers legkaart stuk wat net sê 1138 00:49:52,736 --> 00:49:54,717 wat sy naam is-- in hierdie geval, sê. 1139 00:49:54,717 --> 00:49:56,550 En dan dikwels, is daar 'n wit blokkie dat jy 1140 00:49:56,550 --> 00:49:58,550 kan tik in of sleep 'n waarde in. 1141 00:49:58,550 --> 00:50:01,370 En dit is wat oor die algemeen genoem 'n argument of 'n parameter. 1142 00:50:01,370 --> 00:50:04,110 Dit is 'n manier om die wysiging van die verstek gedrag van 'n legkaart 1143 00:50:04,110 --> 00:50:07,530 stuk of 'n funksie sodat dit nie iets persoonlike vir jou hou en gesê: 1144 00:50:07,530 --> 00:50:12,570 hallo, wêreld of hello, Andy of hello, Jason of 'n ander vonnis in plaas. 1145 00:50:12,570 --> 00:50:15,830 >> As jy wil om te sê dat 'n lot-- letterlik forever-- 1146 00:50:15,830 --> 00:50:18,142 jy kan 'n ander te neem legkaart stuk genoem vir ewig 1147 00:50:18,142 --> 00:50:20,100 en net landgebonde die twee bymekaar hou hiervan. 1148 00:50:20,100 --> 00:50:24,090 En dit loop, soos die prentjie stel, beteken net sê hallo, wêreld vir ewig, 1149 00:50:24,090 --> 00:50:25,810 weer en weer en weer. 1150 00:50:25,810 --> 00:50:28,840 Of, as jy net wil om dit te doen 'n eindige aantal kere, soos 50 keer, 1151 00:50:28,840 --> 00:50:32,050 daar gaan 'n ander legkaart wees stuk vir that-- herhaal 50 keer. 1152 00:50:32,050 --> 00:50:34,190 >> Intussen, as jy wil 'n veranderlike het 1153 00:50:34,190 --> 00:50:36,090 in hierdie taal is ons oor om te speel met, 1154 00:50:36,090 --> 00:50:37,880 jy kan 'n oranje blok soos hierdie gebruik. 1155 00:50:37,880 --> 00:50:40,750 En hierdie veranderlike Ek arbitrêr het ek vir heelgetal. 1156 00:50:40,750 --> 00:50:42,290 En ek het net sit dit gelyk aan 0. 1157 00:50:42,290 --> 00:50:44,780 En so miskien ek, in hierdie case-- hierdie variable-- 1158 00:50:44,780 --> 00:50:46,630 verteenwoordig iemand se telling in 'n wedstryd. 1159 00:50:46,630 --> 00:50:49,680 Jy begin by nul, en elke keer as jy maak 'n doel of iets soos dit, 1160 00:50:49,680 --> 00:50:51,270 jy 'n ekstra punt. 1161 00:50:51,270 --> 00:50:52,830 >> Jy kan vrae in Scratch vra. 1162 00:50:52,830 --> 00:50:55,390 As ons sleep en legkaart stukke in 'n oomblik soos hierdie, 1163 00:50:55,390 --> 00:50:58,470 jy kan vrae soos vra, Wel, is ek minder as 50? 1164 00:50:58,470 --> 00:51:00,060 Miskien moet jy 50 punte te wen. 1165 00:51:00,060 --> 00:51:01,893 En so sou dit wees die vraag wat jy wil vra. 1166 00:51:01,893 --> 00:51:04,030 Of, meer algemeen, jy kon sê is x minder as y, 1167 00:51:04,030 --> 00:51:05,780 waar daar twee veranderlikes betrokke? 1168 00:51:05,780 --> 00:51:08,320 Nou, hierdie een is 'n baie groter met die eerste oogopslag, 1169 00:51:08,320 --> 00:51:11,470 maar regtig nie alles wat meer kompleks. 1170 00:51:11,470 --> 00:51:15,390 >> Dit is net 'n kombinasie toestande en veranderlikes 1171 00:51:15,390 --> 00:51:19,370 en Boolse uitdrukkings te vra drie questions-- is x minder as y? 1172 00:51:19,370 --> 00:51:20,660 As dit so is, sê so. 1173 00:51:20,660 --> 00:51:22,170 Sê, x is minder as y. 1174 00:51:22,170 --> 00:51:26,571 Want as x groter as y, moet anders x gelyk aan y wees. 1175 00:51:26,571 --> 00:51:29,070 En terwyl met Mike Smith, Daar was vier scenario's, hier 1176 00:51:29,070 --> 00:51:32,270 in die wêreld van getalle, x is óf minder as, groter as, of gelyk aan. 1177 00:51:32,270 --> 00:51:34,531 Al wat ons het, is drie vurke in die pad. 1178 00:51:34,531 --> 00:51:36,530 En dan is daar liefhebber legkaart stukke soos hierdie 1179 00:51:36,530 --> 00:51:39,613 vir dinge soos skikkings, waar ons gaan in staat wees om inligting te stoor. 1180 00:51:39,613 --> 00:51:43,590 Ons gaan blokke wat toelaat sien ons uit te voer verskeie drade, 1181 00:51:43,590 --> 00:51:46,620 Nog 'n kenmerk ons ​​sal gebruik, en dan ook iets genoem gebeure. 1182 00:51:46,620 --> 00:51:49,390 Maar voordat ons by daardie punt en skep selfs, 1183 00:51:49,390 --> 00:51:52,000 uiteindelik, ons eie persoonlike legkaart stukke, laat ons 1184 00:51:52,000 --> 00:51:53,950 eintlik die program self oop te maak. 1185 00:51:53,950 --> 00:51:54,860 >> Dit is dus te krap. 1186 00:51:54,860 --> 00:51:57,490 Dit is beskikbaar by scratch.mit.edu. 1187 00:51:57,490 --> 00:51:59,650 En jy is welkom om te speel is nou of later, as well. 1188 00:51:59,650 --> 00:52:01,330 Dit gebeur met die regte pad weergawe wees. 1189 00:52:01,330 --> 00:52:03,129 Vir mense wat nie noodwendig 'n groot internet, 1190 00:52:03,129 --> 00:52:04,962 jy kan die aflaai Dieselfde sagteware, sowel. 1191 00:52:04,962 --> 00:52:07,460 En daar is eintlik net drie komponente van hierdie sagteware. 1192 00:52:07,460 --> 00:52:10,860 Op die boonste linkerkantste hoek van die skerm is die soort stadium 1193 00:52:10,860 --> 00:52:13,800 dat nuuts af, wat by verstek lyk soos 'n kat, woon binnekant. 1194 00:52:13,800 --> 00:52:16,799 Hy kan beweeg, af, links, en regs en doen 'n aantal ander dinge, 1195 00:52:16,799 --> 00:52:20,520 en kan enige aantal maniere gebaseer kyk op die kostuums wat jy ken aan hom. 1196 00:52:20,520 --> 00:52:22,980 Maar dit is wat ons sal noem 'n sprite, 'n soort van karakter. 1197 00:52:22,980 --> 00:52:25,429 En jy kan verskeie hê karakters, soos ons sal gou sien. 1198 00:52:25,429 --> 00:52:30,060 >> In die middel is nou al hierdie legkaart stukke en hierdie kategorieë of palette 1199 00:52:30,060 --> 00:52:30,900 daarvan. 1200 00:52:30,900 --> 00:52:32,429 So nou, Ek het op Motion. 1201 00:52:32,429 --> 00:52:35,900 En so ek sien al die -Motion verwante stukke van die legkaart of blokke, 1202 00:52:35,900 --> 00:52:37,950 sodat funksies wat te doen met hulle opgaan, 1203 00:52:37,950 --> 00:52:39,950 af, links, regs of 'n ander operasie. 1204 00:52:39,950 --> 00:52:43,790 Maar as Ek het op lyk, jy kon dinge sien soos die seggenskap blok 1205 00:52:43,790 --> 00:52:45,084 wat ons gesien het net 'n oomblik gelede. 1206 00:52:45,084 --> 00:52:48,250 En as ek op die Beheer klik, sal jy sien dinge soos die herhaling en die ewigheid 1207 00:52:48,250 --> 00:52:50,410 en die as blok wat Ons het 'n oomblik gelede. 1208 00:52:50,410 --> 00:52:51,670 >> En so sal jy vind dat ons sal net krap 1209 00:52:51,670 --> 00:52:53,750 die oppervlak van 'n paar van die stukke van die legkaart bymekaar, 1210 00:52:53,750 --> 00:52:55,833 maar dit is alles redelik intuïtief en punt en klik. 1211 00:52:55,833 --> 00:52:58,219 Inderdaad, is Scratch ontwerp vir jonger studente 1212 00:52:58,219 --> 00:53:00,730 om te help gee hulle 'n uitlaat vir kreatiewe denke. 1213 00:53:00,730 --> 00:53:03,040 En tog wonderlik, dis 'n wonderlike stepping stone 1214 00:53:03,040 --> 00:53:07,020 om presies die idees wat ons gaan verken in C en Python en JavaScript, 1215 00:53:07,020 --> 00:53:07,719 ook. 1216 00:53:07,719 --> 00:53:11,960 >> Op die regterkant, uiteindelik hier, is dit, die sogenaamde skrifte gebied. 1217 00:53:11,960 --> 00:53:15,750 En dit is net die skoon lei met wat jy begin om 'n program te skryf. 1218 00:53:15,750 --> 00:53:16,897 En ek sal presies dit. 1219 00:53:16,897 --> 00:53:19,980 Nou, ek weet toevallig waar dinge want Ek het dit 'n paar keer gedoen. 1220 00:53:19,980 --> 00:53:22,710 Maar ek weet dat onder die gebeure kategorie, 1221 00:53:22,710 --> 00:53:25,520 Daar is dié blok here-- wanneer groen vlag gebruik. 1222 00:53:25,520 --> 00:53:28,790 En sien as ek zoom uit en terug in hier op die verhoog, 1223 00:53:28,790 --> 00:53:31,190 Kras lewens binne hierdie bietjie vierkantige wêreld, 1224 00:53:31,190 --> 00:53:33,920 bo wat 'n groen vlag en 'n rooi stopteken. 1225 00:53:33,920 --> 00:53:36,180 So gaan stop, onderskeidelik. 1226 00:53:36,180 --> 00:53:38,710 >> En so wat doen wat ek wil doen wanneer dit groen vlag word gebruik? 1227 00:53:38,710 --> 00:53:40,900 Wel, laat ek gaan na daardie kategorie Lyk. 1228 00:53:40,900 --> 00:53:43,357 En laat ek gaan voort en sleep dit. 1229 00:53:43,357 --> 00:53:45,940 En sien so gou soos dit kry naby, hulle is soort van magnetiese. 1230 00:53:45,940 --> 00:53:48,489 So as ek nou laat gaan, dit breek saam mooi en skoon. 1231 00:53:48,489 --> 00:53:51,030 En ek gaan om voort te gaan en sê iets soos hallo, wêreld 1232 00:53:51,030 --> 00:53:52,190 vir twee sekondes. 1233 00:53:52,190 --> 00:53:56,730 Laat my zoom uit en klik nou die groen vlag, en sê: hello, wêreld. 1234 00:53:56,730 --> 00:53:57,230 Alles reg. 1235 00:53:57,230 --> 00:53:58,460 So dit is alles goed en wel. 1236 00:53:58,460 --> 00:53:59,900 Nie alles wat opwindend. 1237 00:53:59,900 --> 00:54:01,340 Kom ons maak dit 'n bietjie cuter. 1238 00:54:01,340 --> 00:54:03,494 En ek weet dat in vooraf, Scratch gebeur 1239 00:54:03,494 --> 00:54:05,160 kom met 'n paar oulike dinge soos hierdie. 1240 00:54:05,160 --> 00:54:07,720 So speel klank miauw tot gaar. 1241 00:54:07,720 --> 00:54:09,531 So laat ons dit doen. 1242 00:54:09,531 --> 00:54:10,380 >> [MIAAU] 1243 00:54:10,380 --> 00:54:11,819 >> AW, dit is adorable. 1244 00:54:11,819 --> 00:54:12,860 En as ek klik dit again-- 1245 00:54:12,860 --> 00:54:14,920 >> [MIAAU] 1246 00:54:14,920 --> 00:54:15,460 >> En weer. 1247 00:54:15,460 --> 00:54:16,740 >> [MIAAU] 1248 00:54:16,740 --> 00:54:18,760 >> Maar ek hou om te Scratch bezielen. 1249 00:54:18,760 --> 00:54:20,010 Maar ek kan beter as dit doen. 1250 00:54:20,010 --> 00:54:23,060 Hoekom weet ek nie sleep net drie van hulle nie. 1251 00:54:23,060 --> 00:54:24,821 En nou is dit drie keer so adorable. 1252 00:54:24,821 --> 00:54:26,264 >> [Miaau] 1253 00:54:26,264 --> 00:54:28,190 >> OK, eintlik is dit 'n bietjie creepy. 1254 00:54:28,190 --> 00:54:31,020 So het ons iets in tussen is daar nodig. 1255 00:54:31,020 --> 00:54:33,870 As ek na beheer, dit lyk soos Daar is eintlik 'n wag blok. 1256 00:54:33,870 --> 00:54:36,994 En so sien as ek hover oor there-- en laat my 'n bietjie groter maak. 1257 00:54:36,994 --> 00:54:38,780 As ek hang, gaan dit te snap in plek. 1258 00:54:38,780 --> 00:54:41,660 So wag 'n sekonde, wag 'n sekonde. 1259 00:54:41,660 --> 00:54:43,170 Kom ons getref groen vlag weer. 1260 00:54:43,170 --> 00:54:46,330 >> [Miaau] 1261 00:54:46,330 --> 00:54:47,695 1262 00:54:47,695 --> 00:54:50,660 >> OK, 'n bietjie meer natuurlike, maar nie baie doeltreffend nie. 1263 00:54:50,660 --> 00:54:54,300 Dit is dus korrek as my program se doel is drie keer miaau. 1264 00:54:54,300 --> 00:54:56,410 Maar dit is nie baie goed ontwerpte. 1265 00:54:56,410 --> 00:54:57,740 Ek hou nogal van sny 'n paar hoeke. 1266 00:54:57,740 --> 00:54:58,730 Ek het 'n bietjie lui. 1267 00:54:58,730 --> 00:55:05,620 Wat voel like-- wat moet ek lyk swak gedoen het, sou jy sê? 1268 00:55:05,620 --> 00:55:07,197 Ja? 1269 00:55:07,197 --> 00:55:08,030 Ja, in die middel. 1270 00:55:08,030 --> 00:55:11,208 1271 00:55:11,208 --> 00:55:13,083 Publiek: Gebruik meer geheue as jy nodig het om 1272 00:55:13,083 --> 00:55:15,005 want jy gebruik so baie verskillende lyn. 1273 00:55:15,005 --> 00:55:16,380 David Malan: Ja, so meer lyne. 1274 00:55:16,380 --> 00:55:19,190 En dit sou nie noodwendig geheue wees, alhoewel dit kan gesien word as die manier. 1275 00:55:19,190 --> 00:55:20,898 Maar dis definitely-- daar is ontslag. 1276 00:55:20,898 --> 00:55:23,440 En ek letterlik soort gesleep en laat val dieselfde dinge. 1277 00:55:23,440 --> 00:55:26,564 En as jy soort extrapolate-- as dit is nie voor die hand liggend here-- goed, hoe sou 1278 00:55:26,564 --> 00:55:27,910 Ek miauw 30 keer? 1279 00:55:27,910 --> 00:55:31,450 Ek sou sleep en, soos, 30 meer pare stukke van die legkaart. 1280 00:55:31,450 --> 00:55:32,890 En sekerlik is daar 'n beter manier. 1281 00:55:32,890 --> 00:55:34,056 En ons het 'n beter manier gesien. 1282 00:55:34,056 --> 00:55:36,870 Wat intuïtief sou wees hoe beter manier? 1283 00:55:36,870 --> 00:55:37,890 Ja, net gebruik om 'n lus. 1284 00:55:37,890 --> 00:55:38,810 Geen kopie en plak. 1285 00:55:38,810 --> 00:55:40,790 En inderdaad, enige tyd hierdie semester as jy begin 1286 00:55:40,790 --> 00:55:43,890 vind jouself te sleep, of eintlik kopieer en plak, 1287 00:55:43,890 --> 00:55:47,050 gevaarlike gewoonte om in omdat dit is net nie baie te onderhou. 1288 00:55:47,050 --> 00:55:49,740 Byvoorbeeld, as ek wil verander die klank na iets anders, 1289 00:55:49,740 --> 00:55:52,826 Ek moet dit nou verander in drie plekke in plaas van net een. 1290 00:55:52,826 --> 00:55:54,575 Omdat inderdaad, as ek breek dit away-- Ek is 1291 00:55:54,575 --> 00:55:56,170 net gaan om dit los te koppel soos dit. 1292 00:55:56,170 --> 00:56:01,900 Laat my gryp 'n herhaling blok, en kliek drie, tik drie, 1293 00:56:01,900 --> 00:56:04,015 gooi 'n paar van hierdie weg deur net te laat gaan. 1294 00:56:04,015 --> 00:56:05,890 En dan sien dit lyk nie soos dit pas, 1295 00:56:05,890 --> 00:56:08,139 maar magneties, dit gaan om nie net snap in plek 1296 00:56:08,139 --> 00:56:09,510 Maar julle moet toeneem om die vorm te pas. 1297 00:56:09,510 --> 00:56:10,310 So dit is 'n goeie. 1298 00:56:10,310 --> 00:56:11,530 En nou as ek op die spel. 1299 00:56:11,530 --> 00:56:13,870 >> [Miaau] 1300 00:56:13,870 --> 00:56:14,370 1301 00:56:14,370 --> 00:56:15,620 Baie mooi. 1302 00:56:15,620 --> 00:56:16,126 Alles reg. 1303 00:56:16,126 --> 00:56:18,500 En nou is dit baie maklik om te verander, ook, want ek kan net 1304 00:56:18,500 --> 00:56:20,670 verander 'n nommer een plek. 1305 00:56:20,670 --> 00:56:22,500 Maar dit is ook nie alles wat interessant. 1306 00:56:22,500 --> 00:56:25,350 Kom ons eintlik Kras nie miauw, maar beweeg. 1307 00:56:25,350 --> 00:56:32,680 Laat my gaan na Motion en beweeg 10 stappe binne of-- Oeps, laat my dit op te los. 1308 00:56:32,680 --> 00:56:37,460 Laat my dit beweeg 10 steps-- eintlik, laat ons nie te herhaal nie. 1309 00:56:37,460 --> 00:56:40,670 Laat my gryp 'n beheer blok, en doen die volgende vir ewig. 1310 00:56:40,670 --> 00:56:42,720 Forever, beweeg 10 stappe. 1311 00:56:42,720 --> 00:56:45,070 En klik speel. 1312 00:56:45,070 --> 00:56:45,600 >> OK. 1313 00:56:45,600 --> 00:56:46,740 So gelukkig, tot stilstand kom hy gesê. 1314 00:56:46,740 --> 00:56:49,710 Anders, kinders sou kry baie ontsteld wanneer hulle soort verloor hul kat. 1315 00:56:49,710 --> 00:56:52,720 Maar ten minste het ek kan sleep hom terug in die skerm. 1316 00:56:52,720 --> 00:56:56,177 Maar dit is nie al wat groot van 'n wedstryd of animasie. 1317 00:56:56,177 --> 00:56:58,260 Dit sou as miskien lekker wees Hy wip van die rand. 1318 00:56:58,260 --> 00:57:00,020 So, wat doen ons? 1319 00:57:00,020 --> 00:57:04,302 Wat konstruk moet ons hê Kras besluit om hop, dink jy, 1320 00:57:04,302 --> 00:57:06,010 selfs as jy nog nooit gesien Scratch voor? 1321 00:57:06,010 --> 00:57:06,593 Ja, in die rug. 1322 00:57:06,593 --> 00:57:08,359 Gehoor: Jy moet 'n As blok of if-then. 1323 00:57:08,359 --> 00:57:10,650 David Malan: Ja, so 'n paar soort as blok of if-then. 1324 00:57:10,650 --> 00:57:12,275 So eintlik het ons een van hierdie hier. 1325 00:57:12,275 --> 00:57:14,500 So if-- so laat my sommer ontslae te raak van die beweging. 1326 00:57:14,500 --> 00:57:16,070 Laat my in zoom en dit is dus groter. 1327 00:57:16,070 --> 00:57:16,890 So hoe hieroor. 1328 00:57:16,890 --> 00:57:21,920 Forever, as Sensing-- Ons het nie gesien voor. 1329 00:57:21,920 --> 00:57:23,160 Ek het 'n Boole-uitdrukking. 1330 00:57:23,160 --> 00:57:25,970 En dit blyk asof raak wat? 1331 00:57:25,970 --> 00:57:29,030 As die aanraking van die rand, wat doen wat ek wil doen? 1332 00:57:29,030 --> 00:57:32,030 Wel, as ek gaan terug na Motion, blyk, o, ek kan omdraai. 1333 00:57:32,030 --> 00:57:33,350 Laat my trek hier. 1334 00:57:33,350 --> 00:57:36,430 Hoekom weet ek nie voort te gaan en omdraai 180 grade? 1335 00:57:36,430 --> 00:57:38,190 >> En nou, laat my net te beweeg aan die einde. 1336 00:57:38,190 --> 00:57:40,500 Ek kon die beweging op te sit die begin of die einde. 1337 00:57:40,500 --> 00:57:44,452 Maar logies, elke keer as ek beweeg, ek wil om te kyk, ek raak die rand? 1338 00:57:44,452 --> 00:57:45,410 Ek raak die rand? 1339 00:57:45,410 --> 00:57:46,490 Ek raak die rand? 1340 00:57:46,490 --> 00:57:49,200 Sodat logies ek omdraai indien wel. 1341 00:57:49,200 --> 00:57:51,190 So laat ons getref speel. 1342 00:57:51,190 --> 00:57:52,030 >> OK. 1343 00:57:52,030 --> 00:57:53,910 Dit is dus effens karretjie, om so te praat. 1344 00:57:53,910 --> 00:57:56,560 En 'n fout is net 'n fout in 'n rekenaarprogram. 1345 00:57:56,560 --> 00:57:57,800 Maar ten minste dit werk. 1346 00:57:57,800 --> 00:57:59,420 En in werklikheid, kan ek hier gaan. 1347 00:57:59,420 --> 00:58:03,130 En laat ek dit nie 10 stappe teen 'n tyd, maar dit is al animasie is. 1348 00:58:03,130 --> 00:58:05,310 Dit is al 'n spotprent of selfs 'n fliek is. 1349 00:58:05,310 --> 00:58:07,110 Laat my trek 20 stappe op 'n slag. 1350 00:58:07,110 --> 00:58:11,200 So 20 keer soveel dinge gebeur een keer, of twee keer soveel, in hierdie geval. 1351 00:58:11,200 --> 00:58:12,600 En hy beweeg vinniger. 1352 00:58:12,600 --> 00:58:15,150 Laat my verander tot 30. 1353 00:58:15,150 --> 00:58:17,450 100. 1354 00:58:17,450 --> 00:58:19,406 1000. 1355 00:58:19,406 --> 00:58:20,530 En dit gaan baie vinnig. 1356 00:58:20,530 --> 00:58:22,190 En dit is-- ja, OK. 1357 00:58:22,190 --> 00:58:24,130 >> So nou is ons net geknoei met dit. 1358 00:58:24,130 --> 00:58:24,954 OK, so karretjie. 1359 00:58:24,954 --> 00:58:26,620 Maar ons kan hom sleep uit die weg geruim hier. 1360 00:58:26,620 --> 00:58:28,286 Maar ons kan meer pret te maak met hierdie, ook. 1361 00:58:28,286 --> 00:58:30,710 Hoe gaan dit met this-- hy onderstebo. 1362 00:58:30,710 --> 00:58:32,800 Maar dit blyk Scratch-- en daar is eintlik, 1363 00:58:32,800 --> 00:58:35,510 Ek moet ontken, geen akademiese waarde na wat ek nou gaan doen. 1364 00:58:35,510 --> 00:58:40,200 Maar as ek oop te maak die mikrofoon, kom ons stop hom en so iets te doen. 1365 00:58:40,200 --> 00:58:41,960 Eina! 1366 00:58:41,960 --> 00:58:42,884 >> [LAG] 1367 00:58:42,884 --> 00:58:45,200 1368 00:58:45,200 --> 00:58:45,990 >> Dit was adorable. 1369 00:58:45,990 --> 00:58:46,740 Dankie. 1370 00:58:46,740 --> 00:58:50,850 Nou, dit is wat my stem lyk soos wanneer ek skree eina. 1371 00:58:50,850 --> 00:58:52,630 Ek dink nie ons gevang jou lag. 1372 00:58:52,630 --> 00:58:53,280 Dit is OK. 1373 00:58:53,280 --> 00:58:56,550 Laat my dit stoor as "eina." 1374 00:58:56,550 --> 00:58:57,915 Kom ons hierdie save as "eina". 1375 00:58:57,915 --> 00:58:59,410 En nou sal ons terug gaan na skrifte. 1376 00:58:59,410 --> 00:59:01,660 En nou het ek need-- laat ons sien, Sound. 1377 00:59:01,660 --> 00:59:03,160 Ag, speel klank eina. 1378 00:59:03,160 --> 00:59:08,180 So as ek die rand raak, laat my eerste toneelstuk eina, en draai dan om. 1379 00:59:08,180 --> 00:59:10,191 En nou, laat ons hom in die middel. 1380 00:59:10,191 --> 00:59:14,754 >> [Gesegde "Eina"] 1381 00:59:14,754 --> 00:59:15,740 >> Twee keer so vinnig. 1382 00:59:15,740 --> 00:59:20,660 1383 00:59:20,660 --> 00:59:21,830 >> OK. 1384 00:59:21,830 --> 00:59:23,780 Maar dis letterlik doen wat ek sê. 1385 00:59:23,780 --> 00:59:27,580 Dit is dus in werklikheid korrek, dis net 'n bietjie irriterend vinnig. 1386 00:59:27,580 --> 00:59:30,330 So laat ons iets by te voeg meer interessant om hierdie. 1387 00:59:30,330 --> 00:59:32,950 Laat my eintlik oop te maak een wat ek gemaak by voorbaat, 1388 00:59:32,950 --> 00:59:38,560 gepas genaamd Pet die Kat, wat dit doen. 1389 00:59:38,560 --> 00:59:40,340 Hier is die skrif hier. 1390 00:59:40,340 --> 00:59:44,510 Wat gaan dit doen in Engelse terme? 1391 00:59:44,510 --> 00:59:45,820 Wat is dit ontwerp om te doen? 1392 00:59:45,820 --> 00:59:47,900 Ja, laat ons gaan some-- ja? 1393 00:59:47,900 --> 00:59:49,665 >> Publiek: Wanneer jy troeteldier die kat, dit meows. 1394 00:59:49,665 --> 00:59:52,290 David Malan: Ja, so wanneer jy troeteldier die kat, gaan dit miauw. 1395 00:59:52,290 --> 00:59:55,452 So met ander woorde, daar is nou 'n ewig lus nog, gekombineer 1396 00:59:55,452 --> 00:59:57,660 'n voorwaarde, gekombineer met 'n Boole-uitdrukking, 1397 00:59:57,660 --> 01:00:00,140 gekombineer met 'n paar van funksies, die effek 1398 01:00:00,140 --> 01:00:02,610 waarvan, nadat ek speel hierdie program, is niks 1399 01:00:02,610 --> 01:00:06,820 gebeur totdat ek die wyser beweeg nader en nader en nader and-- 1400 01:00:06,820 --> 01:00:08,029 >> [MIAAU] 1401 01:00:08,029 --> 01:00:09,320 Dan is dit soos troetel die kat. 1402 01:00:09,320 --> 01:00:11,210 [MIAAU] 1403 01:00:11,210 --> 01:00:14,270 Eers wanneer jy eintlik beweeg die muis oor hom. 1404 01:00:14,270 --> 01:00:19,964 Nou ja, ek het ook opgesweep nie troeteldier die kat, wat hierdie plaas doen. 1405 01:00:19,964 --> 01:00:21,350 >> [Miaau] 1406 01:00:21,350 --> 01:00:23,485 >> So hy is net voortdurend miaau. 1407 01:00:23,485 --> 01:00:24,455 >> [Miaau] 1408 01:00:24,455 --> 01:00:27,705 >> Maar as ek kom te close-- 1409 01:00:27,705 --> 01:00:29,645 >> [Miaau] 1410 01:00:29,645 --> 01:00:32,080 >> [ROAR] 1411 01:00:32,080 --> 01:00:33,590 >> So, hoe werk dit? 1412 01:00:33,590 --> 01:00:35,880 Nou het ek net 'n tweerigting-vurk in die pad. 1413 01:00:35,880 --> 01:00:38,930 As raak muis, dan speel die leeu klank. 1414 01:00:38,930 --> 01:00:41,950 Anders net speel die miauw klank, en dan wag drie sekondes so 1415 01:00:41,950 --> 01:00:43,880 dat dit soort van doen dit baie rustig. 1416 01:00:43,880 --> 01:00:44,380 Alles reg. 1417 01:00:44,380 --> 01:00:47,290 So dit is die kombinasie van 'n paar meer idees steeds. 1418 01:00:47,290 --> 01:00:50,870 Kom ons neem 'n blik op hierdie voorbeeld Ek opgesweep genoem drade. 1419 01:00:50,870 --> 01:00:54,020 En hierdie een is fundamenteel verskillende deurdat dit Benut 1420 01:00:54,020 --> 01:00:56,070 'n Kenmerk van baie programmeertaal genoem 1421 01:00:56,070 --> 01:00:59,970 drade, die vermoë van 'n program om letterlik doen twee dinge gelyktydig. 1422 01:00:59,970 --> 01:01:03,600 Inderdaad, deesdae as jy die gebruik van Google Docs of Microsoft Word, 1423 01:01:03,600 --> 01:01:09,620 en jou dokument voortdurend spel-nagegaan selfs as jy type-- of jy 1424 01:01:09,620 --> 01:01:11,580 getref Command-P of beheer-P en druk iets, 1425 01:01:11,580 --> 01:01:13,380 dit druk terwyl jy aanhou tik. 1426 01:01:13,380 --> 01:01:16,680 Programme vandag kan inderdaad verskeie doen dinge op een slag, net soos in Scratch 1427 01:01:16,680 --> 01:01:17,180 hier. 1428 01:01:17,180 --> 01:01:20,400 >> So hier het ek twee sprites Nou, 'n voël en 'n kat. 1429 01:01:20,400 --> 01:01:22,780 En as ek klik op elk van diegene karakters een op 'n tyd, 1430 01:01:22,780 --> 01:01:25,590 Ek sien nou die voël se skrifte teen regter boonste. 1431 01:01:25,590 --> 01:01:27,270 Nou sien ek die kat se. 1432 01:01:27,270 --> 01:01:28,540 Bird's, kat se. 1433 01:01:28,540 --> 01:01:30,270 So elkeen van hulle het hul eie script. 1434 01:01:30,270 --> 01:01:32,700 Maar kennisgewing, wat legkaart stuk hulle albei begin met? 1435 01:01:32,700 --> 01:01:34,260 Wanneer groen vlag gebruik. 1436 01:01:34,260 --> 01:01:36,890 En voëls, toe groen vlag gebruik. 1437 01:01:36,890 --> 01:01:40,870 So wanneer ek op die groen vlag, beide van die skrifte of programme 1438 01:01:40,870 --> 01:01:42,759 gaan parallel loop. 1439 01:01:42,759 --> 01:01:45,800 En jy sal sien dat die voël is net klakkeloos weerkaats die rand. 1440 01:01:45,800 --> 01:01:50,890 Die kat duidelik is geprogrammeer met 'n strategiese voordeel. 1441 01:01:50,890 --> 01:01:52,704 And-- 1442 01:01:52,704 --> 01:01:53,490 >> [ROAR] 1443 01:01:53,490 --> 01:01:53,821 1444 01:01:53,821 --> 01:01:54,320 Alles reg. 1445 01:01:54,320 --> 01:01:57,340 So het die kat vang die voëls in hierdie geval. 1446 01:01:57,340 --> 01:01:58,390 Hoekom is dit? 1447 01:01:58,390 --> 01:02:03,310 Wel, kennisgewing eerste het ons net die voëls net klakkeloos gaan 1448 01:02:03,310 --> 01:02:05,120 om hierdie aanvanklike plek, en dan vir ewig, 1449 01:02:05,120 --> 01:02:06,774 indien nie die kat raak, net beweeg. 1450 01:02:06,774 --> 01:02:08,190 En as jy op die rand, hop. 1451 01:02:08,190 --> 01:02:08,870 En net beweeg. 1452 01:02:08,870 --> 01:02:10,286 En as jy op die rand, hop. 1453 01:02:10,286 --> 01:02:12,840 Maar die kat, intussen, het 'n paar ekstra logika 1454 01:02:12,840 --> 01:02:18,250 wat sê this-- eerste, net so dat dit nie heeltemal bevooroordeeld 1455 01:02:18,250 --> 01:02:21,191 teen die voël sien dat ek het gebruik 'n groen legkaart stuk daar 1456 01:02:21,191 --> 01:02:22,690 wat eintlik tel 'n ewekansige getal. 1457 01:02:22,690 --> 01:02:26,179 'N Kenmerk van baie tale is om te gee jy ewekansige of pseudo random nommers. 1458 01:02:26,179 --> 01:02:29,220 So in hierdie geval, die kat aanvanklik kies 'n ewekansige getal tussen, soos, 1459 01:02:29,220 --> 01:02:31,727 90 grade en 180 grade, in wese, sodat 1460 01:02:31,727 --> 01:02:33,310 dat daar 'n bietjie van die variansie. 1461 01:02:33,310 --> 01:02:37,000 En dan vir ewig, as roerende die voëls, speel die leeu klank. 1462 01:02:37,000 --> 01:02:38,754 Andersins, net wys na die voël. 1463 01:02:38,754 --> 01:02:39,670 Wys na die voël. 1464 01:02:39,670 --> 01:02:44,199 Punt in die rigting van die voël, wat 'n legkaart stuk vir homself in hierdie geval. 1465 01:02:44,199 --> 01:02:45,740 Wel, ons kan 'n ander ding hier doen. 1466 01:02:45,740 --> 01:02:49,820 Laat my oop te stel die gebeure program hier. 1467 01:02:49,820 --> 01:02:53,520 En hier het ons weer twee sprites, wat lyk soos hierdie twee poppe hier. 1468 01:02:53,520 --> 01:02:55,710 En wat is interessant hier is dit. 1469 01:02:55,710 --> 01:02:59,140 Die oranje man het hierdie stel van die legkaart stukke hier. 1470 01:02:59,140 --> 01:03:01,700 Forever doen die following-- indien die spasie balk gedruk, 1471 01:03:01,700 --> 01:03:05,430 dan sê, Marco, en dan uitgesaai 'n gebeurtenis. 1472 01:03:05,430 --> 01:03:09,460 En intussen, die blou man het hier this-- wanneer jy die geleentheid kry, 1473 01:03:09,460 --> 01:03:10,540 sê Polo. 1474 01:03:10,540 --> 01:03:12,850 So dit blyk in Scratch en in ander tale, 1475 01:03:12,850 --> 01:03:15,830 daar is maniere om vir twee programme of twee skrifte, in hierdie geval, 1476 01:03:15,830 --> 01:03:20,310 om sodat wanneer die kommunikasie tussen persone ek druk op die spasie balk, sê hy Marco. 1477 01:03:20,310 --> 01:03:23,539 En die ander een hoor, om so te praat, en sê Polo in reaksie. 1478 01:03:23,539 --> 01:03:26,080 So kan jy programme te skryf wat eintlik interaksie op hierdie manier. 1479 01:03:26,080 --> 01:03:28,630 En as ek doen dit een plaas, Ek kan selfs veranderlikes by te voeg, 1480 01:03:28,630 --> 01:03:31,287 net die gebruik van 'n sprite in hierdie geval. 1481 01:03:31,287 --> 01:03:32,578 Hierdie een is veral irriterende. 1482 01:03:32,578 --> 01:03:36,174 >> [SEAL blaf] 1483 01:03:36,174 --> 01:03:37,100 1484 01:03:37,100 --> 01:03:42,490 >> Nou, kennisgewing op die regte wat ons het 'n paar ekstra logika hier. 1485 01:03:42,490 --> 01:03:45,146 Hoe stop ek hierdie seël van blaf? 1486 01:03:45,146 --> 01:03:48,320 >> [SEAL blaf] 1487 01:03:48,320 --> 01:03:52,830 1488 01:03:52,830 --> 01:03:55,630 >> Dit lyk soos op die regterkantste kant is wat die speel van die klank. 1489 01:03:55,630 --> 01:03:58,500 Maar dit is net speel 'n klink asof dit wat waar is? 1490 01:03:58,500 --> 01:04:03,390 As 'n variable-- oranje block-- gedempte nul. 1491 01:04:03,390 --> 01:04:07,916 Hoe kan ek gedempte verander te wees 1, wat beteken dat ware, maak hierdie gedempte? 1492 01:04:07,916 --> 01:04:12,455 Klaarblyklik het die ander script, kan ek druk op die spasie balk, en nou hou hy. 1493 01:04:12,455 --> 01:04:15,080 So kan ons hierdie intercom het oor skrifte, sowel, 1494 01:04:15,080 --> 01:04:18,349 deur net deel van 'n veranderlike oor die twee hou hiervan. 1495 01:04:18,349 --> 01:04:19,890 Nou, dit is nie alles wat interessant. 1496 01:04:19,890 --> 01:04:24,360 Kom ons gaan voort en doen dit en kombineer 'n groot deel van hierdie idees met hierdie program 1497 01:04:24,360 --> 01:04:25,940 hier. 1498 01:04:25,940 --> 01:04:28,100 Voordat ons dit doen, al is, Hoe gaan dit met 'n vrywilliger? 1499 01:04:28,100 --> 01:04:30,558 Laat my die druk neem af van my, want ek doen nie eintlik 1500 01:04:30,558 --> 01:04:31,280 speel hierdie speletjie. 1501 01:04:31,280 --> 01:04:33,030 Kom ons iemand wat ons het nie gesien nie. 1502 01:04:33,030 --> 01:04:36,420 Jy moet gemaklik koms op die verhoog hier, op kamera. 1503 01:04:36,420 --> 01:04:37,430 OK, kom op tot. 1504 01:04:37,430 --> 01:04:38,130 Baie dapper. 1505 01:04:38,130 --> 01:04:39,052 Wat is jou naam? 1506 01:04:39,052 --> 01:04:39,962 >> IDRIS: Idris. 1507 01:04:39,962 --> 01:04:40,753 David Malan: Jammer? 1508 01:04:40,753 --> 01:04:41,196 IDRIS: Idris. 1509 01:04:41,196 --> 01:04:42,670 David Malan: Idris, lekker om jou te ontmoet. 1510 01:04:42,670 --> 01:04:43,170 Kom op. 1511 01:04:43,170 --> 01:04:45,630 En nou, op jou eie mobiele telefoon, hoef jy Pokemon gaan speel? 1512 01:04:45,630 --> 01:04:46,567 >> IDRIS: No. 1513 01:04:46,567 --> 01:04:47,400 David Malan: Regtig? 1514 01:04:47,400 --> 01:04:48,104 IDRIS: Ja. 1515 01:04:48,104 --> 01:04:48,770 David Malan: OK. 1516 01:04:48,770 --> 01:04:49,020 Alles reg. 1517 01:04:49,020 --> 01:04:49,978 Wel, lekker om jou te ontmoet. 1518 01:04:49,978 --> 01:04:50,820 Kom oor. 1519 01:04:50,820 --> 01:04:51,950 Ek ook nie. 1520 01:04:51,950 --> 01:04:55,380 So sal ons saam uit te vind hoe om speel hierdie, wat iemand eintlik 1521 01:04:55,380 --> 01:05:00,140 het gegaan en in Scratch geïmplementeer deur die verandering van die kat te wese 1522 01:05:00,140 --> 01:05:02,260 verskillende karakters almal saam. 1523 01:05:02,260 --> 01:05:04,870 En as ek volskerm Dit is hier, ons gaan 1524 01:05:04,870 --> 01:05:06,860 om die volgende wedstryd saam te sien. 1525 01:05:06,860 --> 01:05:09,560 Tog laai, laai steeds. 1526 01:05:09,560 --> 01:05:10,270 Kom. 1527 01:05:10,270 --> 01:05:12,590 Laat my dit te doen. 1528 01:05:12,590 --> 01:05:14,520 Kom. 1529 01:05:14,520 --> 01:05:17,200 Hierdie wedstryd is so groot dat dit neergestort het. 1530 01:05:17,200 --> 01:05:18,980 Staan by. 1531 01:05:18,980 --> 01:05:22,390 Probeer hierdie een keer meer. 1532 01:05:22,390 --> 01:05:23,710 Kom. 1533 01:05:23,710 --> 01:05:24,211 Alles reg. 1534 01:05:24,211 --> 01:05:26,840 1535 01:05:26,840 --> 01:05:27,430 >> Daar gaan ons. 1536 01:05:27,430 --> 01:05:27,929 OK. 1537 01:05:27,929 --> 01:05:29,330 Groen vlag. 1538 01:05:29,330 --> 01:05:30,190 So hier gaan ons. 1539 01:05:30,190 --> 01:05:30,950 >> [Speel van musiek] 1540 01:05:30,950 --> 01:05:32,510 >> Kies hier die middelvlak. 1541 01:05:32,510 --> 01:05:34,200 Klik op die blou man daar. 1542 01:05:34,200 --> 01:05:34,700 Alles reg. 1543 01:05:34,700 --> 01:05:37,860 En jy kan die pyl te gebruik keys-- op, af, links, regs. 1544 01:05:37,860 --> 01:05:42,150 Nou, laat ons kyk na wat ons this-- doen en dan gaan na die karakter daar. 1545 01:05:42,150 --> 01:05:42,650 Yep. 1546 01:05:42,650 --> 01:05:45,786 En nou op hom met die muis. 1547 01:05:45,786 --> 01:05:46,693 O, ja. 1548 01:05:46,693 --> 01:05:47,193 Beweeg. 1549 01:05:47,193 --> 01:05:47,662 Waar is die pyl? 1550 01:05:47,662 --> 01:05:48,131 Hier gaan jy. 1551 01:05:48,131 --> 01:05:48,600 Klik so aan daar. 1552 01:05:48,600 --> 01:05:48,840 Ja. 1553 01:05:48,840 --> 01:05:49,340 Alles reg. 1554 01:05:49,340 --> 01:05:56,008 So nou, ek het jou gesê het die sak bal, dat indien klik, sal dit doen. 1555 01:05:56,008 --> 01:05:57,932 Baie goed. 1556 01:05:57,932 --> 01:06:00,390 In oefen vir vandag, ek het gevind dat hierdie weergawe van die spel se 1557 01:06:00,390 --> 01:06:01,760 eintlik nie baie moeilik. 1558 01:06:01,760 --> 01:06:07,650 So as jy wil hier weer gaan, loop af na die Poke bal. 1559 01:06:07,650 --> 01:06:08,780 En dan gaan neem 'n reg. 1560 01:06:08,780 --> 01:06:11,200 Probeer te klik. 1561 01:06:11,200 --> 01:06:13,120 Ag, eintlik, dis die winkel, blykbaar. 1562 01:06:13,120 --> 01:06:14,170 OK so naby dat. 1563 01:06:14,170 --> 01:06:15,150 Nooit gedoen wat voor. 1564 01:06:15,150 --> 01:06:16,566 Miskien gaan op na hierdie ding hier. 1565 01:06:16,566 --> 01:06:17,460 Ag, daar gaan jy. 1566 01:06:17,460 --> 01:06:18,910 Wag, daar is een daar. 1567 01:06:18,910 --> 01:06:20,412 Ag, daar is 'n ander. 1568 01:06:20,412 --> 01:06:21,285 OK. 1569 01:06:21,285 --> 01:06:21,785 Af. 1570 01:06:21,785 --> 01:06:23,210 Ja, klik. 1571 01:06:23,210 --> 01:06:24,635 >> OK, dis baie oulik. 1572 01:06:24,635 --> 01:06:27,485 1573 01:06:27,485 --> 01:06:28,810 OK, baie goed gedoen. 1574 01:06:28,810 --> 01:06:30,010 Hierdie wedstryd is nie baie moeilik. 1575 01:06:30,010 --> 01:06:30,510 OK. 1576 01:06:30,510 --> 01:06:32,150 Veels geluk. 1577 01:06:32,150 --> 01:06:34,720 Hier het ons 'n CS50 stres bal vir jou. 1578 01:06:34,720 --> 01:06:37,680 Maar oorweeg vir net 'n oomblik wat sommige van die wegneemetes is daar. 1579 01:06:37,680 --> 01:06:39,263 Makliker as die werklike spel, blykbaar. 1580 01:06:39,263 --> 01:06:41,809 Maar al wat ons het gaan hier is 'n karakter 1581 01:06:41,809 --> 01:06:44,100 wat waarskynlik 'n soort van lus wat daarmee gepaard gaan. 1582 01:06:44,100 --> 01:06:44,590 Dit is nie 'n kat. 1583 01:06:44,590 --> 01:06:45,860 Dit is hierdie karakter in plaas. 1584 01:06:45,860 --> 01:06:49,052 En dit lus is net voortdurend en gesê: As pyltjie gedruk, 1585 01:06:49,052 --> 01:06:51,260 As afpyltjie gedruk, indien linker pyl gedruk of regs 1586 01:06:51,260 --> 01:06:53,960 arrow gedruk, skuif op of af of links of regs. 1587 01:06:53,960 --> 01:06:57,870 Of as daar 'n ander legkaart stuk daar wat sê wanneer raak 'n ander sprite, 1588 01:06:57,870 --> 01:07:01,320 wanneer raak een van die karakters om die Poke bal, as raak, 1589 01:07:01,320 --> 01:07:02,440 dan dit te doen. 1590 01:07:02,440 --> 01:07:04,800 >> So was dan al die idees wat ons het gebruik tot dusver regtig 1591 01:07:04,800 --> 01:07:09,130 kan net toegepas in hierdie spesifieke konteks om hierdie spel te speel, sowel. 1592 01:07:09,130 --> 01:07:13,580 Laat my gaan voort en trek een ander hier, in werklikheid. 1593 01:07:13,580 --> 01:07:17,060 Laat my gaan voort en trek up, kom ons sê, hierdie. 1594 01:07:17,060 --> 01:07:18,540 Dit is iets wat ons remixed. 1595 01:07:18,540 --> 01:07:20,329 Gemaak deur een van ons studente in Cambridge, 1596 01:07:20,329 --> 01:07:23,370 en dan het ek deur en verander pretty much elke geval van Harvard 1597 01:07:23,370 --> 01:07:25,580 om Yale hierdie tyd. 1598 01:07:25,580 --> 01:07:27,870 Sou iemand graag kompeteer teen die Ivies 1599 01:07:27,870 --> 01:07:31,650 hier in 'n ander versameling van al hierdie idees? 1600 01:07:31,650 --> 01:07:32,662 Kom af, ja. 1601 01:07:32,662 --> 01:07:33,370 Wat is jou naam? 1602 01:07:33,370 --> 01:07:34,190 >> DINA: Dina. 1603 01:07:34,190 --> 01:07:35,015 >> David Malan: Adina? 1604 01:07:35,015 --> 01:07:35,380 >> DINA: Dina. 1605 01:07:35,380 --> 01:07:36,410 >> David Malan: Dina, kom op af. 1606 01:07:36,410 --> 01:07:37,320 Goed, Dina. 1607 01:07:37,320 --> 01:07:40,780 So hierdie wedstryd kry harder en harder, want in hierdie wedstryd, 1608 01:07:40,780 --> 01:07:43,970 daar is veranderlikes wat sowel gebruik wat voortdurend dop 1609 01:07:43,970 --> 01:07:45,930 van watter vlak jy is in die spel. 1610 01:07:45,930 --> 01:07:47,120 So lekker om jou te ontmoet. 1611 01:07:47,120 --> 01:07:48,250 Kom hier rond. 1612 01:07:48,250 --> 01:07:51,460 En so het die doel hier is om uit te sorteer van jou pad deur 'n doolhof 1613 01:07:51,460 --> 01:07:52,710 dat hierdie student in werking gestel. 1614 01:07:52,710 --> 01:07:55,334 >> En net om die verhoog op te stel, elke van hierdie foto's op die skerm 1615 01:07:55,334 --> 01:07:57,222 is sy eie sprite, sy eie karakter. 1616 01:07:57,222 --> 01:07:59,680 So dit was by verstek katte, maar die student verander hulle 1617 01:07:59,680 --> 01:08:01,480 om die verskillende Ivies logo hier. 1618 01:08:01,480 --> 01:08:04,370 En dan sal jy dit net sien deur gebruik te maak van voorwaardes en lusse 1619 01:08:04,370 --> 01:08:06,848 en funksies en nog baie meer, kry jy dit. 1620 01:08:06,848 --> 01:08:07,478 >> [Speel van musiek] 1621 01:08:07,478 --> 01:08:09,228 [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1622 01:08:09,228 --> 01:08:13,060 1623 01:08:13,060 --> 01:08:14,018 >> Ja, OK. 1624 01:08:14,018 --> 01:08:17,371 1625 01:08:17,371 --> 01:08:20,110 Ja, die gang te hou. 1626 01:08:20,110 --> 01:08:21,180 Eerste vlak se baie maklik. 1627 01:08:21,180 --> 01:08:22,554 Jy het net om daar te gaan. 1628 01:08:22,554 --> 01:08:25,644 Maar weereens, let op, dit is net 'n lus luister vir die pyl keys-- 1629 01:08:25,644 --> 01:08:26,560 op, af, links, regs. 1630 01:08:26,560 --> 01:08:28,320 En nou 'n sensing blok. 1631 01:08:28,320 --> 01:08:29,345 Baie mooi. 1632 01:08:29,345 --> 01:08:32,600 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1633 01:08:32,600 --> 01:08:40,340 1634 01:08:40,340 --> 01:08:41,288 >> Baie mooi. 1635 01:08:41,288 --> 01:08:44,550 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1636 01:08:44,550 --> 01:08:55,540 1637 01:08:55,540 --> 01:08:56,430 >> Baie mooi. 1638 01:08:56,430 --> 01:08:57,975 Redelik maklik, Crimson. 1639 01:08:57,975 --> 01:08:59,060 Alles reg. 1640 01:08:59,060 --> 01:09:00,250 Levels-- uh-oh. 1641 01:09:00,250 --> 01:09:02,380 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1642 01:09:02,380 --> 01:09:04,980 1643 01:09:04,980 --> 01:09:07,150 >> En weer, in hierdie drie Harvard kruine, 1644 01:09:07,150 --> 01:09:10,334 jy moet net logika sê indien stomp, weiering. 1645 01:09:10,334 --> 01:09:13,238 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1646 01:09:13,238 --> 01:09:14,690 1647 01:09:14,690 --> 01:09:17,651 >> OK, wat jy doen is meer interessant as die rede waarom. 1648 01:09:17,651 --> 01:09:18,150 Baie mooi. 1649 01:09:18,150 --> 01:09:18,810 Baie mooi. 1650 01:09:18,810 --> 01:09:20,270 Uh Oh. 1651 01:09:20,270 --> 01:09:23,350 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1652 01:09:23,350 --> 01:09:26,005 1653 01:09:26,005 --> 01:09:27,630 Ek dink jy moet jouself op te offer. 1654 01:09:27,630 --> 01:09:30,372 [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1655 01:09:30,372 --> 01:09:30,872 Vinnige! 1656 01:09:30,872 --> 01:09:34,848 1657 01:09:34,848 --> 01:09:38,824 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1658 01:09:38,824 --> 01:09:44,288 1659 01:09:44,288 --> 01:09:44,788 Lekker. 1660 01:09:44,788 --> 01:09:52,240 1661 01:09:52,240 --> 01:09:52,740 Dit is OK. 1662 01:09:52,740 --> 01:09:53,770 Jy sal dit kry. 1663 01:09:53,770 --> 01:09:56,304 Ja ja! 1664 01:09:56,304 --> 01:09:58,256 Baie mooi. 1665 01:09:58,256 --> 01:10:01,184 >> [Juig] 1666 01:10:01,184 --> 01:10:02,160 1667 01:10:02,160 --> 01:10:05,576 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1668 01:10:05,576 --> 01:10:09,480 1669 01:10:09,480 --> 01:10:10,940 >> Lekker! 1670 01:10:10,940 --> 01:10:14,370 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1671 01:10:14,370 --> 01:10:39,050 1672 01:10:39,050 --> 01:10:39,550 Het dit. 1673 01:10:39,550 --> 01:10:41,510 Kom op! 1674 01:10:41,510 --> 01:10:43,470 Tweede laaste vlak. 1675 01:10:43,470 --> 01:10:46,900 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1676 01:10:46,900 --> 01:10:49,588 1677 01:10:49,588 --> 01:10:50,580 >> Alles reg. 1678 01:10:50,580 --> 01:10:54,052 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1679 01:10:54,052 --> 01:11:00,992 1680 01:11:00,992 --> 01:11:01,492 Ja. 1681 01:11:01,492 --> 01:11:06,230 1682 01:11:06,230 --> 01:11:08,020 Goeie gebruik van veranderlikes hier. 1683 01:11:08,020 --> 01:11:09,770 [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1684 01:11:09,770 --> 01:11:10,770 Ja. 1685 01:11:10,770 --> 01:11:14,743 [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1686 01:11:14,743 --> 01:11:16,707 1687 01:11:16,707 --> 01:11:17,689 Lekker. 1688 01:11:17,689 --> 01:11:21,126 [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1689 01:11:21,126 --> 01:11:23,581 1690 01:11:23,581 --> 01:11:24,570 Dit is OK. 1691 01:11:24,570 --> 01:11:25,770 Ons het tot die einde te kry. 1692 01:11:25,770 --> 01:11:26,270 Daar. 1693 01:11:26,270 --> 01:11:27,010 Oh! 1694 01:11:27,010 --> 01:11:29,980 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1695 01:11:29,980 --> 01:11:32,160 1696 01:11:32,160 --> 01:11:34,866 >> Kan laat vandag hardloop, maar dit is nou eers die moeite werd wees. 1697 01:11:34,866 --> 01:11:38,200 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1698 01:11:38,200 --> 01:11:39,640 1699 01:11:39,640 --> 01:11:42,520 >> Jy kan dit doen! 1700 01:11:42,520 --> 01:11:43,480 Ja! 1701 01:11:43,480 --> 01:11:46,278 >> [Juig] 1702 01:11:46,278 --> 01:11:47,230 1703 01:11:47,230 --> 01:11:50,086 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1704 01:11:50,086 --> 01:11:51,470 >> Hierdie een is regtig moeilik. 1705 01:11:51,470 --> 01:11:54,070 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1706 01:11:54,070 --> 01:11:57,458 1707 01:11:57,458 --> 01:11:59,000 >> Ons sal jou twee lewens gee. 1708 01:11:59,000 --> 01:11:59,968 Kan jy dit doen? 1709 01:11:59,968 --> 01:12:03,356 >> [MUSIEK - MC Hammer, "jy kan nie raak  HIERDIE "] 1710 01:12:03,356 --> 01:12:06,744 1711 01:12:06,744 --> 01:12:07,244 >> Alles reg. 1712 01:12:07,244 --> 01:12:09,160 Hoe gaan dit met 'n groot ronde van applous nietemin. 1713 01:12:09,160 --> 01:12:10,800 Jy het na die tweede laaste vlak. 1714 01:12:10,800 --> 01:12:11,723 Dankie. 1715 01:12:11,723 --> 01:12:14,964 >> [Applous] 1716 01:12:14,964 --> 01:12:15,890 1717 01:12:15,890 --> 01:12:19,600 >> So dit is net om te sê hoeveel jy kan doen met hierdie soort van dinge. 1718 01:12:19,600 --> 01:12:21,892 En besef ook dat wanneer stukke van die legkaart nie exist-- 1719 01:12:21,892 --> 01:12:24,891 en inderdaad, dit gaan om een ​​te wees van die magte van die eerste probleem 1720 01:12:24,891 --> 01:12:27,080 stelle en beyond-- is om eintlik maak jou eie. 1721 01:12:27,080 --> 01:12:28,860 En dit is net 'n uittreksel van een van die voorbeelde 1722 01:12:28,860 --> 01:12:30,230 jy sal in staat wees om te speel met aanlyn, waar 1723 01:12:30,230 --> 01:12:33,380 As jy nie gebou het in Scratch iets soos 'n hoes legkaart stuk, 1724 01:12:33,380 --> 01:12:35,470 jy kan eintlik maak dit self. 1725 01:12:35,470 --> 01:12:37,387 >> En so sal die hele van hierdie en nog baie meer wag. 1726 01:12:37,387 --> 01:12:39,470 En net om te verf 'n finale beeld van wel wat 1727 01:12:39,470 --> 01:12:43,120 voor in die winkel vir die klas vir jou, gebaseer op 'n paar foto's van klasmaats 1728 01:12:43,120 --> 01:12:46,970 verlede, laat my toe om die ligte verdof 'n laaste keer en wys jy CS50. 1729 01:12:46,970 --> 01:12:49,580 1730 01:12:49,580 --> 01:12:53,038 >> [Speel van musiek] 1731 01:12:53,038 --> 01:14:38,210 1732 01:14:38,210 --> 01:14:38,860 >> Alles reg. 1733 01:14:38,860 --> 01:14:41,540 Dit is dit vir CS50. 1734 01:14:41,540 --> 01:14:44,964 Koek is nou bedien. 1735 01:14:44,964 --> 01:14:50,610 1736 01:14:50,610 --> 01:14:53,960 >> [Speel van musiek] 1737 01:14:53,960 --> 01:15:07,624