1 00:00:00,000 --> 00:00:00,479 2 00:00:00,479 --> 00:00:10,830 >> [Prehrávanie hudby] 3 00:00:10,830 --> 00:00:12,080 [MUSIC - Rossini "Ranz DES Vaches "Od Viliam Tell] 4 00:00:12,080 --> 00:00:24,222 5 00:00:24,222 --> 00:00:25,472 >> [MUSIC - ENGLISH BEAT, "MAREC Z otočnej hlavy "] 6 00:00:25,472 --> 00:02:24,538 7 00:02:24,538 --> 00:02:31,510 >> [Potleskom a fandenie] 8 00:02:31,510 --> 00:02:33,520 >> DAVID Malan: Tak toto je CS50. 9 00:02:33,520 --> 00:02:34,730 Volám sa David Malan. 10 00:02:34,730 --> 00:02:39,250 A 73% z vás nemá žiadnu predchádzajúcu skúsenosť s informatike, 11 00:02:39,250 --> 00:02:41,300 v rozpore s tým, čo by ste si mohli myslieť. 12 00:02:41,300 --> 00:02:45,290 Takže dnes sme si mysleli, že odštípat na to, že nedostatok vedomosti, ale tiež 13 00:02:45,290 --> 00:02:48,970 dá vám pocit, pre tých z vás, s viac pohodlia, ktoré smery 14 00:02:48,970 --> 00:02:50,550 môžete ísť v tomto semestri. 15 00:02:50,550 --> 00:02:51,890 >> Takže začnime s tým. 16 00:02:51,890 --> 00:02:55,490 Ja naozaj nemám potuchy, čo je vnútri počítač, aj keď, ako ste vy, som 17 00:02:55,490 --> 00:02:56,780 Používam ho každý deň. 18 00:02:56,780 --> 00:03:00,000 Ale je to nejaký druh poľa, a tam je nie je veľa vstupy do neho. 19 00:03:00,000 --> 00:03:01,350 Minimálne tu, čo? 20 00:03:01,350 --> 00:03:03,120 Pravdepodobne napájací kábel. 21 00:03:03,120 --> 00:03:06,640 >> A skutočne s týmto jednej zložky, elektrickej energie, sa zdá, že je schopný 22 00:03:06,640 --> 00:03:09,490 robí celkom dosť v týchto dňoch. 23 00:03:09,490 --> 00:03:12,130 Ale na konci dňa, sa majú reprezentovať veci 24 00:03:12,130 --> 00:03:12,860 že nám záleží. 25 00:03:12,860 --> 00:03:15,240 Musíme zastupovať informácií v nejakej forme. 26 00:03:15,240 --> 00:03:18,365 A potom ste pravdepodobne aspoň nejasne oboznámení s myšlienkou o binárne alebo 27 00:03:18,365 --> 00:03:21,370 bity tak alebo onak, počítače znížená na núl a jednotiek. 28 00:03:21,370 --> 00:03:26,320 Môžeme však prijať, že aj najmenej dať trochu svetla na to? 29 00:03:26,320 --> 00:03:28,880 >> Tak som si to málo stolové lampy tu. 30 00:03:28,880 --> 00:03:30,450 Mám elektrickú zásuvku tu. 31 00:03:30,450 --> 00:03:33,930 A ja idem navrhnúť, aby vo vnútri zo svojho počítača, je aspoň jeden z 32 00:03:33,930 --> 00:03:37,300 tieto veci, niečo schopný o zapnutie alebo vypnutie. 33 00:03:37,300 --> 00:03:40,200 V tomto prípade je to naozaj stolná lampa, ale na nižšej úrovni, to je niečo, čo 34 00:03:40,200 --> 00:03:41,500 tzv tranzistor. 35 00:03:41,500 --> 00:03:44,730 >> Ale v našom svete, je to stolová lampa, takže Chystám sa ísť dopredu a zapojte tento 36 00:03:44,730 --> 00:03:47,990 do môjho elektriny tu. 37 00:03:47,990 --> 00:03:52,970 A tvrdím, že pomocou tohto jednoduchého, jednoduché zariadenie, tento jednoduchý prepínač, som 38 00:03:52,970 --> 00:03:54,850 môžu predstavovať informácie. 39 00:03:54,850 --> 00:03:58,090 Napríklad, práve teraz, som čo nič, že jo? 40 00:03:58,090 --> 00:04:01,820 Ja som to, čo predstavuje zavolám 0 alebo false, protiklad niečoho 41 00:04:01,820 --> 00:04:03,130 v skutočnosti je prítomná. 42 00:04:03,130 --> 00:04:07,050 Ale keď stačí len zapnúť tento prepínač, teraz som si predstavoval jeden. 43 00:04:07,050 --> 00:04:10,720 Takže pomocou tejto veľmi jednoduchý kus pamäť, ak chcete, môžem zastupovať 44 00:04:10,720 --> 00:04:11,450 informácie. 45 00:04:11,450 --> 00:04:14,350 >> Teraz bohužiaľ, môj počítač nemôže robiť všetko moc. 46 00:04:14,350 --> 00:04:17,430 To môže predstavovať len dve hodnoty na celom svete - 47 00:04:17,430 --> 00:04:18,620 0 alebo 1. 48 00:04:18,620 --> 00:04:21,839 Ale to, čo je zrejmé riešenie, teraz, ak chceme rozšíriť náš počítač je 49 00:04:21,839 --> 00:04:25,120 pamäť a reprezentujú viac než len 0 a 1? 50 00:04:25,120 --> 00:04:27,060 >> Dobre, poďme urvat ďalšie takú trochu. 51 00:04:27,060 --> 00:04:30,260 Poďme chytiť ďalší spínač, ďalšie tranzistor, ale chcete 52 00:04:30,260 --> 00:04:31,130 o tom premýšľať. 53 00:04:31,130 --> 00:04:34,170 Nechaj ma ísť napred a zapojte tento do svojho počítača tiež. 54 00:04:34,170 --> 00:04:38,270 A budem tvrdiť, teraz, že používať trochu viac elektrickej energie a 55 00:04:38,270 --> 00:04:42,290 sústruženie viac týchto prepínačov na a off, môžem predstavujú viac ako 56 00:04:42,290 --> 00:04:43,020 informácie. 57 00:04:43,020 --> 00:04:44,660 >> Takže práve teraz, je to jeden. 58 00:04:44,660 --> 00:04:48,120 Ak chcem v súčasnosti predstavujú 2, mohol som to urobiť. 59 00:04:48,120 --> 00:04:51,510 Ale zvyčajne, konvencie, ako my budeme nakoniec vidieť, bude ma to urobiť. 60 00:04:51,510 --> 00:04:55,260 Tak to je 0, to je 1. 61 00:04:55,260 --> 00:04:56,720 To by bolo 2. 62 00:04:56,720 --> 00:04:59,920 A niet divu, bolo by to 3. 63 00:04:59,920 --> 00:05:02,610 >> Takže týmto spôsobom, sa napriek tomu môžu počítame so ešte? 64 00:05:02,610 --> 00:05:06,500 Ak dostanem tretiny trochu, tretí prepínač, čo je to najvyšší počet môžem teraz 65 00:05:06,500 --> 00:05:09,720 počítať až od 0? 66 00:05:09,720 --> 00:05:12,020 Takže keď som 7 začínajúce na 0, že jo? 67 00:05:12,020 --> 00:05:15,980 Pretože keď som zase na toto svetlo a vlastne pripojiť tento tretí a posledný 68 00:05:15,980 --> 00:05:20,090 svetlo do mojej zásuvky tu, potom mám schopnosť reprezentovať 69 00:05:20,090 --> 00:05:24,930 akékoľvek z dvoch hodnôt, tu dve hodnoty, tu dve hodnoty tu - 70 00:05:24,930 --> 00:05:32,610 a tak môžem reprezentovať 2 krát 2 krát 2, alebo osem možných hodnôt. 71 00:05:32,610 --> 00:05:36,340 A keď začnem účtovníctva na 0, tak to je 0, 1, 2, 3, 4, 5, 6, 7. 72 00:05:36,340 --> 00:05:37,480 >> Takže to binárny. 73 00:05:37,480 --> 00:05:39,420 Je to naozaj tak jednoduché. 74 00:05:39,420 --> 00:05:41,930 A ja by som tvrdiť, že je to vlastne docela pozná väčšina 75 00:05:41,930 --> 00:05:43,180 všetci v tejto miestnosti. 76 00:05:43,180 --> 00:05:45,710 Nechaj ma ísť dopredu a otvoriť malý textový editor tu. 77 00:05:45,710 --> 00:05:49,040 >> A môžete vyvolať z základnej školy že sme mali veci ako stovky 78 00:05:49,040 --> 00:05:51,970 miesto, desiatky miesto, a tie miesto. 79 00:05:51,970 --> 00:05:55,040 A pripomínajú, že ak ste mali nejaké desatinné číslo číslo, ako niečo náhodného 80 00:05:55,040 --> 00:05:59,470 ako je 123, v podstate by ste napísať, že v podobe 81 00:05:59,470 --> 00:06:00,450 z týchto troch stĺpcov. 82 00:06:00,450 --> 00:06:04,070 A prečo je 1, 2, 3, čo poznáme ako 123? 83 00:06:04,070 --> 00:06:11,220 No, v ľavom stĺpci, musíme jedno sto a dve 10s, tak to je 120, 84 00:06:11,220 --> 00:06:14,250 plus tri 1s, tak to je 123. 85 00:06:14,250 --> 00:06:17,990 >> Teraz to svet, ktorý sme práve svieti je presne rovnaký ako 86 00:06:17,990 --> 00:06:21,150 ste boli oboznámení s roky, s výnimkou teraz, naše stĺpce 87 00:06:21,150 --> 00:06:22,060 nie sú sily 10. 88 00:06:22,060 --> 00:06:23,780 Sú to len dve právomoci. 89 00:06:23,780 --> 00:06:27,830 Takže vzhľadom k tomu, že je ti miesto, táto bude namiesto dvojky, je to 90 00:06:27,830 --> 00:06:29,540 bude namiesto štvorky. 91 00:06:29,540 --> 00:06:33,260 >> A pretože som iba s použitím najjednoduchšej mechanizmov, aby zhasol veci 92 00:06:33,260 --> 00:06:37,100 zapnutie a vypnutie - elektrina prúdi alebo elektrina neprúdi - 93 00:06:37,100 --> 00:06:40,880 Nemám úplne mať rovnakú expresívne rozsah ako 0 až deväť. 94 00:06:40,880 --> 00:06:43,270 Budeme držať to výborný jednoduché v tomto svete počítačov. 95 00:06:43,270 --> 00:06:45,060 Mám len 0 alebo 1 - 96 00:06:45,060 --> 00:06:47,890 zapnutie alebo vypnutie, pravdivé, alebo nepravdivé. 97 00:06:47,890 --> 00:06:52,610 >> A tak to, čo som práve teraz predstavuje 1, 1, 1, pretože každý z nich 98 00:06:52,610 --> 00:06:54,000 svetlá svietia. 99 00:06:54,000 --> 00:06:59,600 No, to mi dáva jeden 4 a ešte jeden dva, takže to je 6 plus jeden jeden, a to je 7.. 100 00:06:59,600 --> 00:07:03,450 A ergo robí túto sekvenciu troch bity predstavujú počet 7. 101 00:07:03,450 --> 00:07:06,330 >> Takže celú tú dobu, vnútri vášho počítače, boli ľubovoľný počet 102 00:07:06,330 --> 00:07:08,090 tranzistory, ľubovoľný počet bitov. 103 00:07:08,090 --> 00:07:10,380 Ale na konci dňa, sa môže predstavovať informáciu 104 00:07:10,380 --> 00:07:12,560 tak jednoducho, ako to. 105 00:07:12,560 --> 00:07:16,770 Teraz bohužiaľ sme Započítava až 7 v CS50 tak ďaleko, ale 106 00:07:16,770 --> 00:07:18,550 dúfajme, že môžeme urobiť niečo lepší než to. 107 00:07:18,550 --> 00:07:19,550 A naozaj môžeme. 108 00:07:19,550 --> 00:07:23,570 >> Predpokladajme, že sme ako ľudia len svojvoľne rozhodli, že budeme 109 00:07:23,570 --> 00:07:28,750 spojiť čísla ako 1 a 2, 3, 4, 5, 6, 7, so špecifickými písmen 110 00:07:28,750 --> 00:07:29,410 abeceda. 111 00:07:29,410 --> 00:07:32,350 A z historických dôvodov, budem spustiť trochu umelo, ale ja som 112 00:07:32,350 --> 00:07:36,880 chcel povedať, ľudí, budeme rozhodnúť ako štandard, na celom svete, že 113 00:07:36,880 --> 00:07:43,200 65 predstavuje číslo písmeno A. 66 bude zastupovať B. bodka, bodka, bodka. 114 00:07:43,200 --> 00:07:45,140 90 bude predstavovať písmeno Z. 115 00:07:45,140 --> 00:07:48,000 >> A predpokladajme, ak chceme skutočne dať nejaký Myslel na to, mohli by sme prísť 116 00:07:48,000 --> 00:07:50,860 s číslami na výkričníky veľké a malé písmená, a naozaj, 117 00:07:50,860 --> 00:07:52,710 ostatní ľudia robili to pre nás. 118 00:07:52,710 --> 00:07:56,410 Takže teraz sme mali kúsky, s ktorými môžeme predstavujú čísla, čísla, s ktorými 119 00:07:56,410 --> 00:08:00,130 môžeme predstaviť listy, a s Písmená teraz môžeme začať skladať 120 00:08:00,130 --> 00:08:02,650 e-mailov a tlač znaky na obrazovke. 121 00:08:02,650 --> 00:08:05,850 >> Dovoľte mi teda pozvať, keby som mohol, Osem statočných dobrovoľníkov - 122 00:08:05,850 --> 00:08:09,200 , Ktorým nevadí objavujú nielen na fotoaparáte, ale na internete - 123 00:08:09,200 --> 00:08:13,130 prísť sem a reprezentovať osem ako bitov, skôr než títo traja. 124 00:08:13,130 --> 00:08:14,380 Tak ako o jeden, dva? 125 00:08:14,380 --> 00:08:16,290 Ako asi tri? 126 00:08:16,290 --> 00:08:20,230 Ako asi štyri vo svetle modrá, päť na konci? 127 00:08:20,230 --> 00:08:21,250 O niekom, než tu? 128 00:08:21,250 --> 00:08:25,320 Šesť vpredu, sedem v prednej časti, a osem v prednej časti, ako je dobre. 129 00:08:25,320 --> 00:08:29,050 >> Tak som len tak náhodou prišiel pripravený s celou partiou papieriky. 130 00:08:29,050 --> 00:08:34,150 A na týchto kúskoch papiera sú čísla ktoré predstavujú to, čo stĺpce 131 00:08:34,150 --> 00:08:35,809 vy sa chystáte zastupovať. 132 00:08:35,809 --> 00:08:36,740 Takže si budú - Ako sa voláte? 133 00:08:36,740 --> 00:08:37,570 >> STUDENT: Anna Leah. 134 00:08:37,570 --> 00:08:40,370 >> DAVID Malan: Anna Leah, tie bude 128s stĺpec. 135 00:08:40,370 --> 00:08:41,059 Ste? 136 00:08:41,059 --> 00:08:41,510 >> STUDENT: Chris. 137 00:08:41,510 --> 00:08:43,620 >> DAVID Malan: Chris bude byť 64s stĺpec. 138 00:08:43,620 --> 00:08:44,070 Ste? 139 00:08:44,070 --> 00:08:44,540 >> STUDENT: Dan. 140 00:08:44,540 --> 00:08:46,970 >> DAVID Malan: Dan bude byť 32s stĺpec. 141 00:08:46,970 --> 00:08:47,470 >> STUDENT: Pramit. 142 00:08:47,470 --> 00:08:49,430 >> DAVID Malan: Pramit bude byť 16s stĺpec. 143 00:08:49,430 --> 00:08:50,290 >> STUDENT: Lillian. 144 00:08:50,290 --> 00:08:51,904 >> DAVID Malan: Lillian bude 8s. 145 00:08:51,904 --> 00:08:52,768 >> STUDENT: Jill. 146 00:08:52,768 --> 00:08:55,025 >> DAVID Malan: Jill bude byť 4s stĺpec. 147 00:08:55,025 --> 00:08:55,400 >> STUDENT: Mary. 148 00:08:55,400 --> 00:08:57,000 >> DAVID Malan: Mary budú 2s a? 149 00:08:57,000 --> 00:08:57,470 >> STUDENT: David. 150 00:08:57,470 --> 00:08:59,220 >> DAVID Malan: David bude byť 1s stĺpec. 151 00:08:59,220 --> 00:09:02,030 Takže ak vy by mohla zvýšiť trochu dopredu tak, že každý môže vidieť. 152 00:09:02,030 --> 00:09:05,370 Čo vy nevidíte, že na späť týchto prúžky papiera 153 00:09:05,370 --> 00:09:09,760 malý ťahák, ktorý sa chystá pokyn týchto ôsmich bity buď 154 00:09:09,760 --> 00:09:12,380 zdvihnú ruku, alebo nie zdvihnú ruku. 155 00:09:12,380 --> 00:09:14,100 Ak sa ich ruka ide hore, sú predstavuje 1. 156 00:09:14,100 --> 00:09:17,120 Ak sa ich ruka zostane na zemi, sú to predstavuje 0. 157 00:09:17,120 --> 00:09:21,410 >> Medzitým sme publikum by malo byť schopný prísť na to, na základe toho 158 00:09:21,410 --> 00:09:26,490 mapovanie, čo tri-slovo listu títo ľudia sú o hláskovať. 159 00:09:26,490 --> 00:09:29,700 Takže za chvíľu, budete prečítať prvý riadok zo zadnej strany 160 00:09:29,700 --> 00:09:32,880 Váš ťahák, a nech už ste zoženieme, alebo nie zdvihnúť ruku. 161 00:09:32,880 --> 00:09:35,710 Ak ste jeden, môžete zvýšiť, ak ste 0, stojíte tam 162 00:09:35,710 --> 00:09:38,594 rozpačito, rovnako ako to. 163 00:09:38,594 --> 00:09:40,386 Prejsť. 164 00:09:40,386 --> 00:09:43,945 Aké číslo, v prvom rade, sú títo ľudia predstavujú? 165 00:09:43,945 --> 00:09:47,140 166 00:09:47,140 --> 00:09:48,860 >> 66.. 167 00:09:48,860 --> 00:09:49,560 66, nie? 168 00:09:49,560 --> 00:09:52,400 Máme jeden v stĺpci 64s, 1 v stĺpci 2s. 169 00:09:52,400 --> 00:09:56,340 To mi dáva 66 tak, že sa objaví k predstavuje B. So 170 00:09:56,340 --> 00:09:57,075 vy máte napísané - 171 00:09:57,075 --> 00:09:58,300 OK, to stačí. 172 00:09:58,300 --> 00:09:59,430 B. 173 00:09:59,430 --> 00:10:01,610 >> Takže teraz poďme na náš druhý list. 174 00:10:01,610 --> 00:10:03,530 Prejsť. 175 00:10:03,530 --> 00:10:06,860 Kto je najrýchlejší v matematike tu? 176 00:10:06,860 --> 00:10:07,750 Tak 79. 177 00:10:07,750 --> 00:10:11,840 Opäť platí, že ak zrátame všetky stĺpce v ktorom je 1, v súčasnej dobe, práve 178 00:10:11,840 --> 00:10:14,840 rovnako ako sme to urobili predtým s najjednoduchšou príkladov 7, teraz 179 00:10:14,840 --> 00:10:16,140 Číslo získate 79. 180 00:10:16,140 --> 00:10:19,910 Čo podľa nášho mapovania je List O. Takže sme skoro tam. 181 00:10:19,910 --> 00:10:22,590 B, O. A konečne, ísť. 182 00:10:22,590 --> 00:10:26,420 183 00:10:26,420 --> 00:10:30,120 >> Čo to predstavuje teraz? 184 00:10:30,120 --> 00:10:31,370 Menej zhoda. 185 00:10:31,370 --> 00:10:34,660 186 00:10:34,660 --> 00:10:36,460 To je proste absolútna šelest. 187 00:10:36,460 --> 00:10:40,090 Áno, je to v skutočnosti 87. 188 00:10:40,090 --> 00:10:40,490 Dobre. 189 00:10:40,490 --> 00:10:44,480 >> Takže keď sme sa zmapovať, ktorí zálohujú do - povedzme začať volať našu ASCII tabuľku, 190 00:10:44,480 --> 00:10:46,450 Americká norma pre Výmeny informácií. 191 00:10:46,450 --> 00:10:47,700 To nám dáva list - 192 00:10:47,700 --> 00:10:51,260 193 00:10:51,260 --> 00:10:54,810 nie "bo", ale "luk". A to je perfektné narážka vy vziať luk 194 00:10:54,810 --> 00:10:56,100 a hlava na chrbte. 195 00:10:56,100 --> 00:10:56,980 Ďakujem mnohokrát. 196 00:10:56,980 --> 00:10:57,886 >> [APPLAUSE] 197 00:10:57,886 --> 00:10:59,136 >> DAVID Malan: Môžete si ich nechať. 198 00:10:59,136 --> 00:11:01,850 199 00:11:01,850 --> 00:11:05,942 Aj keď v skutočnosti by niekto ako stolná lampa, tiež? 200 00:11:05,942 --> 00:11:07,300 >> [HOOT u divákov] 201 00:11:07,300 --> 00:11:08,390 >> DAVID Malan: stolná lampa? 202 00:11:08,390 --> 00:11:10,850 >> [Smiech] 203 00:11:10,850 --> 00:11:11,860 >> DAVID Malan: Naozaj? 204 00:11:11,860 --> 00:11:13,230 Stolné lampy pre všetkých? 205 00:11:13,230 --> 00:11:14,310 Dobrá. 206 00:11:14,310 --> 00:11:20,990 Takže počnúc veľmi najjednoduchšie Princípy, ktoré sme teraz nielen počíta 207 00:11:20,990 --> 00:11:24,750 hore od 0 po celú cestu až 7, máme Predpokladá sa, že práve tým, že hodí viac 208 00:11:24,750 --> 00:11:28,080 bitov alebo viac svetiel alebo viac tranzistory pri riešení tohto problému, môžeme 209 00:11:28,080 --> 00:11:32,680 predstavujú čoraz väčšie čísla, a ergo, väčšie a väčšie rozsahy 210 00:11:32,680 --> 00:11:33,780 abecied, ako angličtine. 211 00:11:33,780 --> 00:11:37,770 A práve poďme na viere dnes že podobne by sme mohli začať 212 00:11:37,770 --> 00:11:42,220 predstavujú grafiku a video a všetky rad ďalších médií, s ktorými sme 213 00:11:42,220 --> 00:11:43,610 pozná dnes. 214 00:11:43,610 --> 00:11:49,240 >> Tak to je CS50, a v tejto triede vedľa vás je opäť veľmi veľa 215 00:11:49,240 --> 00:11:53,050 spolužiaci, ktorí majú tak málo, skúsenosti ako vy. 216 00:11:53,050 --> 00:11:57,730 A Spomínam to len preto, že úplne často, a to aj v poslednej dobe ako jeden zo 217 00:11:57,730 --> 00:12:01,860 prvák poradenstvo udalosti a na Vlani na jar v druháku poradenstvo 218 00:12:01,860 --> 00:12:06,420 udalosť, často počúvame študenti odmietajú keď prichádza k stolu UO, dobre, 219 00:12:06,420 --> 00:12:10,070 Premýšľal som o prijatí tejto intro trieda, ale ja naozaj nie som 220 00:12:10,070 --> 00:12:11,120 výpočtovej človek. 221 00:12:11,120 --> 00:12:13,220 Alebo, ale všetci iste vie viac ako ja. 222 00:12:13,220 --> 00:12:17,340 A dal som to v najväčšej písmo je to možné, oznámiť túto správu, ktorá 223 00:12:17,340 --> 00:12:18,730 že to nie je v skutočnosti prípad. 224 00:12:18,730 --> 00:12:21,100 >> A ak vás zaujíma, mali Aj v skutočnosti byť? 225 00:12:21,100 --> 00:12:25,950 Uvedomujeme si, že nielen že je tento kurz je Názov predmetu Úvod do počítača 226 00:12:25,950 --> 00:12:31,740 Veda, to je úvod do počítača Veda I. Takže tam je naozaj 227 00:12:31,740 --> 00:12:33,170 druhý taký úvod. 228 00:12:33,170 --> 00:12:35,390 Takže nie si v skutočnosti, na zlom mieste. 229 00:12:35,390 --> 00:12:39,000 A medzi cieľmi mám pre dnešok sú zmierniť Každé také námietky, ktoré by ste 230 00:12:39,000 --> 00:12:42,430 môže mať, ale tiež maľovať obraz toho, čo je v obchode pre 231 00:12:42,430 --> 00:12:45,720 Študenti menšie a pohodlnejšie podobne v tomto kurze. 232 00:12:45,720 --> 00:12:49,320 >> Ale najprv pár slov o jednom z prospektov máte dnes, medzi ktorými 233 00:12:49,320 --> 00:12:50,780 rad často kladených otázok. 234 00:12:50,780 --> 00:12:54,290 Bol to Našou víziou nejakú dobu teraz zaviesť nový triedenie 235 00:12:54,290 --> 00:12:57,010 možnosť do tohto kurzu - menovite, SAT / UNSAT. 236 00:12:57,010 --> 00:13:01,930 Filozoficky pre mňa, je to oveľa, oveľa dôležitejšie, že 237 00:13:01,930 --> 00:13:05,050 Študenti v tejto triede zapojiť materiál, je zastavená 238 00:13:05,050 --> 00:13:09,800 materiál a starosti ďaleko, ďaleko menej o mechanici skutočných skóre 239 00:13:09,800 --> 00:13:12,590 a list stupňa na semester je koniec, ale naozaj objať 240 00:13:12,590 --> 00:13:13,970 kurz a jeho materiál. 241 00:13:13,970 --> 00:13:18,140 A naozaj je to všetko, všeobecnejšie, za to, čo je zaujímavé pre nich, aby 242 00:13:18,140 --> 00:13:21,390 cíti napadnutá a odmenení, ale bez strachu z neúspechu. 243 00:13:21,390 --> 00:13:25,030 >> A naozaj, toto je tiež opakujúce sa tému v tomto a ďalších úvodný 244 00:13:25,030 --> 00:13:28,680 Kurzy v iných oblastiach, ktoré majú to rozechvění, pokiaľ ide o 245 00:13:28,680 --> 00:13:31,040 uvedenie niečí prsty na nohách neznáme vody. 246 00:13:31,040 --> 00:13:34,880 Ja sám, v roku 1995, bol v prvom ročníku. 247 00:13:34,880 --> 00:13:37,990 Bol som veľmi zameriavali na koncentrátor Gov tu. 248 00:13:37,990 --> 00:13:41,060 A napriek tomu som vždy vyrastali s trochou podielu vo vede o počítačoch. 249 00:13:41,060 --> 00:13:42,180 Vždy som bol zvedavý. 250 00:13:42,180 --> 00:13:47,610 >> Ale vtedy, dokonca mal som strach aj posilnenie nôh v CS50, toľko 251 00:13:47,610 --> 00:13:49,420 takže som sa ani nakupovať to prvák. 252 00:13:49,420 --> 00:13:53,460 A jediný dôvod, prečo som dal nohu Dvere druháku, pretože som 253 00:13:53,460 --> 00:13:55,340 bolo dovolené, aby sa to vyhovuje / nevyhovuje. 254 00:13:55,340 --> 00:13:58,920 Ale aj vyhovel / nevyhovel vyžaduje, že som si do nervu, aby si schôdzku 255 00:13:58,920 --> 00:14:01,970 s profesorom Kernehan v tej dobe, aby tento veľký hárok papiera a požiadajte 256 00:14:01,970 --> 00:14:04,470 ho pre jeho podpis a jeho povolenie k objavovaniu 257 00:14:04,470 --> 00:14:05,700 Tieto neznáme vody. 258 00:14:05,700 --> 00:14:09,030 >> A to nepomohlo v posledných rokoch že pri tom v CS50, keď sme 259 00:14:09,030 --> 00:14:12,500 býval vyhovel / nevyhovel, podobne ako by desiatky či stovky svojich spolužiakov 260 00:14:12,500 --> 00:14:15,970 musieť prísť, nedajbože, na Predné Sanders s touto formou, že 261 00:14:15,970 --> 00:14:19,520 v niektorých mysliach predstavuje neschopnosť, Trúfam si povedať, na vykonanie 262 00:14:19,520 --> 00:14:20,800 sú na úrovni svojich rovesníkov. 263 00:14:20,800 --> 00:14:23,410 Čo je smiešne, ale ja si myslím, tam je to mentalita. 264 00:14:23,410 --> 00:14:27,210 A tam nikdy nebol v tejto kultúre zo SAT / UNSAT, alebo vyhovel / nevyhovel viac 265 00:14:27,210 --> 00:14:30,610 Všeobecne platí, že v tomto kurze, alebo naozaj v tomto areáli. 266 00:14:30,610 --> 00:14:32,310 >> Takže tento rok sme to zmenili. 267 00:14:32,310 --> 00:14:35,630 Chcel by som byť vo vytržení polovicu táto trieda alebo viac ukončená 268 00:14:35,630 --> 00:14:38,700 up s CS50 SAT / UNSAT. 269 00:14:38,700 --> 00:14:42,130 V priebehu jedného roka, bolo by to skvelé keď takmer všetci. 270 00:14:42,130 --> 00:14:44,410 Potom možno budeme pracovať na písmeno ročníkov na Harvarde 271 00:14:44,410 --> 00:14:45,480 Vysoká škola všeobecne. 272 00:14:45,480 --> 00:14:48,900 Ale teraz, urobíme to v rámci nášho vlastné gule, a ja by som srdečne 273 00:14:48,900 --> 00:14:53,400 Odporúčame, aby ste si tieto časté otázky a klásť otázky, ako uznáte za vhodné, aby sa 274 00:14:53,400 --> 00:14:58,000 dúfajme, že, na rozdiel odo mňa, nie celkom majú rovnaký strach faktorom pri 275 00:14:58,000 --> 00:15:01,040 skúmať, čo je pravdepodobne neznáme miesto. 276 00:15:01,040 --> 00:15:02,786 >> Takže to, čo je CS50? 277 00:15:02,786 --> 00:15:06,150 Jedná sa o úvod do intelektuálne podniky počítači 278 00:15:06,150 --> 00:15:07,700 veda a umenie programovania. 279 00:15:07,700 --> 00:15:08,770 Ale čo to vlastne znamená? 280 00:15:08,770 --> 00:15:12,510 >> No, tak ďaleko, rozprávali sme si veľmi stručne o zobrazovanie informácií. 281 00:15:12,510 --> 00:15:15,070 Ale predpokladajme, že chceme skutočne aby s tým niečo urobiť. 282 00:15:15,070 --> 00:15:17,890 Musíme zaviesť pojem čo zavoláme algoritmus. 283 00:15:17,890 --> 00:15:21,540 Algoritmus je postup, proces, súbor inštrukcií pre 284 00:15:21,540 --> 00:15:22,780 niečo robiť. 285 00:15:22,780 --> 00:15:25,620 >> A algoritmus môže byť niečo, Super jednoduché. 286 00:15:25,620 --> 00:15:28,660 Napríklad, príklad s ktorých niektoré z vás môže byť oboznámení je to 287 00:15:28,660 --> 00:15:29,350 vec tu. 288 00:15:29,350 --> 00:15:32,510 Takže táto kniha je tu stále dňa, ale kedysi to 289 00:15:32,510 --> 00:15:34,720 obsahuje veľa mien a telefónne čísla. 290 00:15:34,720 --> 00:15:37,710 A skutočne, keď som chcel nájsť niekto v tomto telefónnom zozname - 291 00:15:37,710 --> 00:15:39,800 povedať, niekoho menom Mike Smith - 292 00:15:39,800 --> 00:15:43,810 Nemohol som nájsť Mike Smith v ľubovoľnom počte z pomerne jednoduchých spôsobov. 293 00:15:43,810 --> 00:15:47,700 Mohol by som začať od začiatku a prejsť na stránku 1, tam nie. 294 00:15:47,700 --> 00:15:49,240 Strana 2, tam nie je. 295 00:15:49,240 --> 00:15:49,960 Page 3. 296 00:15:49,960 --> 00:15:53,430 Je to, že algoritmus, ktorý je proces, je to tak? 297 00:15:53,430 --> 00:15:54,620 >> Tak to je v poriadku, že jo? 298 00:15:54,620 --> 00:15:58,070 Som trochu idiot za to ju že spôsob, ale nakoniec budem 299 00:15:58,070 --> 00:16:02,670 nájsť priezvisko S, a dúfajme, že Mike je v tomto oddiele, a ja budem stáť 300 00:16:02,670 --> 00:16:04,100 urobil s mojím algoritmom. 301 00:16:04,100 --> 00:16:05,440 Ale určite to nie je intuitívne. 302 00:16:05,440 --> 00:16:08,020 Väčšina každý rozumný človek v tejto izba by nemal robiť. 303 00:16:08,020 --> 00:16:10,180 Čo by ste urobili? 304 00:16:10,180 --> 00:16:11,480 >> Ty by si ísť rovno do stredu, nie? 305 00:16:11,480 --> 00:16:12,000 Zhruba do polovice. 306 00:16:12,000 --> 00:16:16,310 A vy si uvedomíte, oh, to sú pani Takže Mike Smith, priezvisko je Smith, 307 00:16:16,310 --> 00:16:19,050 nie je, teda zrejmé, že v Ľavá polovica knihy. 308 00:16:19,050 --> 00:16:21,040 Musí byť k S je v práve. 309 00:16:21,040 --> 00:16:24,090 A v tomto bode, aj keď väčšina z nás nerob to v skutočnosti, môžeme 310 00:16:24,090 --> 00:16:27,125 doslova roztrhať tento problém na polovicu. 311 00:16:27,125 --> 00:16:27,640 >> [Fandenie a potlesk] 312 00:16:27,640 --> 00:16:28,950 >> DAVID Malan: Ďakujem. 313 00:16:28,950 --> 00:16:30,150 >> [Fandenie a potlesk] 314 00:16:30,150 --> 00:16:34,660 >> DAVID Malan: Môžete doslova roztrhať to problém v polovici, takže mi, 315 00:16:34,660 --> 00:16:36,120 doslovne, čo je problém polovice tak veľký. 316 00:16:36,120 --> 00:16:39,750 Takže ak tento telefón kniha bola - a je to Pravdepodobne bola - asi 1000 stránok, teraz 317 00:16:39,750 --> 00:16:40,840 je to len 500 Sk. 318 00:16:40,840 --> 00:16:44,710 Ak by som to znova a uvedomujem si, oh, sakra, som zašiel príliš ďaleko, som v Ts 319 00:16:44,710 --> 00:16:46,480 časť, môžem podobne - 320 00:16:46,480 --> 00:16:48,030 obrazne alebo doslovne - 321 00:16:48,030 --> 00:16:50,260 rip telefónneho zoznamu - to bolo vlastne oveľa jednoduchšie, že čas. 322 00:16:50,260 --> 00:16:53,610 Môžem doslova vyrvať telefónny zoznam na polovicu, takže ma teraz s 323 00:16:53,610 --> 00:16:55,186 nie 1000, a to 500 - 324 00:16:55,186 --> 00:16:56,680 250 strán. 325 00:16:56,680 --> 00:17:00,210 A môžem ísť 125, a polovica z toho, a polovica z toho, a pol z toho, 326 00:17:00,210 --> 00:17:04,760 až konečne budem odišiel s len jednu jedinú stránku. 327 00:17:04,760 --> 00:17:06,430 >> [Smiech] 328 00:17:06,430 --> 00:17:07,589 >> DAVID Malan: To je časť I zlyhať. 329 00:17:07,589 --> 00:17:10,400 Jediná stránka, na ktorej Mike snáď je. 330 00:17:10,400 --> 00:17:14,630 Teraz tieto rôzne algoritmy môžu byť druh alebo vyhodnotené v 331 00:17:14,630 --> 00:17:15,270 rôznymi spôsobmi. 332 00:17:15,270 --> 00:17:17,300 Prvý z nich bol veľmi lineárny, nie? 333 00:17:17,300 --> 00:17:18,500 Otočte stránku, pozrite sa na Mika. 334 00:17:18,500 --> 00:17:19,630 Otočte stránku, pozrite sa na Mika. 335 00:17:19,630 --> 00:17:20,560 Je to veľmi lineárny. 336 00:17:20,560 --> 00:17:23,339 Ak je tu ešte jedna stránka v telefóne kniha, to asi bude trvať ma 337 00:17:23,339 --> 00:17:27,380 jeden druhého, jeden jednotku času, Avšak sme počítačového času. 338 00:17:27,380 --> 00:17:32,470 >> Takže som mohol kresliť takhle tento riadok tu, pričom ako veľkosť 339 00:17:32,470 --> 00:17:34,700 problém sa zvyšuje zľava doprava - 340 00:17:34,700 --> 00:17:37,480 Telefónny zoznam sa zmenší na väčšie - 341 00:17:37,480 --> 00:17:41,080 a čas sa bude zvyšovať v zvislá os, väčšie 342 00:17:41,080 --> 00:17:42,030 telefónny zoznam. 343 00:17:42,030 --> 00:17:46,180 Takže n je len všeobecne premenné, ktoré počítačové vedci používajú na reprezentáciu 344 00:17:46,180 --> 00:17:48,210 nejakú hodnotu, nejaké číslo. 345 00:17:48,210 --> 00:17:50,740 Tak n porastie lineárne. 346 00:17:50,740 --> 00:17:53,040 Dvojnásobná veľkosť telefónneho zoznamu, je to ma vezme dvakrát toľko 347 00:17:53,040 --> 00:17:54,780 čas, s najväčšou pravdepodobnosťou nájsť Miku. 348 00:17:54,780 --> 00:17:56,390 >> Teraz som mohol byť inteligentný o tom, že jo? 349 00:17:56,390 --> 00:17:57,800 Som sa nudiť rýchlo. 350 00:17:57,800 --> 00:17:58,910 Mohol by to urobil po dvoch. 351 00:17:58,910 --> 00:18:01,870 Takže dve stránky, potom štyri, potom šesť, potom osem. 352 00:18:01,870 --> 00:18:05,220 A mohol by som lietať cez to trochu rýchlejšie, aj keď v menšej riziko 353 00:18:05,220 --> 00:18:09,210 prekročenie Mike, ale že krivka nie je bude všetko inak. 354 00:18:09,210 --> 00:18:12,550 Je to ešte bude rovný vedenia, ale o niečo rýchlejší. 355 00:18:12,550 --> 00:18:13,710 >> Ale čo mám robiť? 356 00:18:13,710 --> 00:18:15,845 Vlastne som urobil niečo zásadne lepší. 357 00:18:15,845 --> 00:18:21,990 Som dosiahol to, čo budeme hovoriť logaritmickej čas, log n, pričom táto zelená 358 00:18:21,990 --> 00:18:27,730 linka má oveľa, oveľa, oveľa menej rovná hrana na to. 359 00:18:27,730 --> 00:18:33,050 A skôr to naznačuje, ako to nejako blíži k nekonečnu niekedy tak postupne, 360 00:18:33,050 --> 00:18:36,700 že som mohol skutočne vziať 1000-page telefónny zoznam, zdvojnásobí svoju veľkosť 361 00:18:36,700 --> 00:18:39,610 budúci rok - pretože predpokladám veľa viac ľudí presťahovať do mesta. 362 00:18:39,610 --> 00:18:43,250 >> Takže teraz mám 2000 stránok, ale ako mnoho ďalších krokov, ktoré je múdrejší 363 00:18:43,250 --> 00:18:45,200 Algoritmus bude trvať? 364 00:18:45,200 --> 00:18:46,060 Len jeden. 365 00:18:46,060 --> 00:18:48,060 Myslím, že je to mocná vec. 366 00:18:48,060 --> 00:18:51,400 Ak pôjdeme na 4000 strán v budúcom roku, že to bude trvať ma 367 00:18:51,400 --> 00:18:53,020 Iba ďalšie dva kroky. 368 00:18:53,020 --> 00:18:56,500 Takže môžete hodiť väčšie a väčšie problémy sa na mňa, nie na rozdiel webe je 369 00:18:56,500 --> 00:18:59,560 hádzanie väčšie problémy každý deň na Googlu a na Facebooks 370 00:18:59,560 --> 00:19:01,590 svet, a to nie je tak veľký problém. 371 00:19:01,590 --> 00:19:05,840 Pretože som si viac pozornosti a starostlivosti do môj algoritmus, s ktorým riešiť 372 00:19:05,840 --> 00:19:07,020 problémy efektívne. 373 00:19:07,020 --> 00:19:09,260 >> A v skutočnosti, že sa jeden z ciele tohto kurzu. 374 00:19:09,260 --> 00:19:11,230 Budete, pozdĺž cesty, naučiť sa programovať. 375 00:19:11,230 --> 00:19:13,360 Dozviete sa, ako sa programovať ľubovoľný počet jazykov. 376 00:19:13,360 --> 00:19:16,670 Ale na konci dňa, je kurz o riešení problémov a získavanie 377 00:19:16,670 --> 00:19:20,490 lepšie riešenie problémov - a, rovnako ako v prípady, ako je tento, riešenie problémov 378 00:19:20,490 --> 00:19:22,030 efektívnejšie. 379 00:19:22,030 --> 00:19:23,990 >> Teraz tak ďaleko, urobili sme to pomerne intuitívne. 380 00:19:23,990 --> 00:19:27,420 Poďme si predstaviť niečo spravodlivo všeobecný volal pseudocode. 381 00:19:27,420 --> 00:19:29,150 Takže budeme nakoniec dostal, V tomto kurze sa 382 00:19:29,150 --> 00:19:30,570 rôzne programovacie jazyky. 383 00:19:30,570 --> 00:19:34,280 Ale dnes to urobíme v anglicky ako syntax, kde sa tak trochu povedať, 384 00:19:34,280 --> 00:19:37,330 čo máte na mysli, ale ty si niekedy tak stručné a vy sa nemusíte starať o 385 00:19:37,330 --> 00:19:38,960 gramatika a celé vety. 386 00:19:38,960 --> 00:19:41,600 Len vyjadriť sám seba ako stručne, ako je to možné. 387 00:19:41,600 --> 00:19:45,400 >> Takže pseudokódu je angličtina-like syntax, ktorá predstavuje 388 00:19:45,400 --> 00:19:46,750 programovací jazyk. 389 00:19:46,750 --> 00:19:51,170 A na tento účel, dovoľte mi navrhnúť, aby začať modelovať proces sme len 390 00:19:51,170 --> 00:19:54,990 popísané počítanie niečo trochu inak, tentoraz s 391 00:19:54,990 --> 00:19:59,040 pozri sa na túto päť minút vyrobeného videá našimi priateľmi na TED, že 392 00:19:59,040 --> 00:20:03,170 definuje, čo je pseudokódu, definuje to, čo algoritmické myslenie je, a dokonca 393 00:20:03,170 --> 00:20:07,030 keď napríklad ste asi vidieť je v samo o sebe, super jednoduché, je to 394 00:20:07,030 --> 00:20:09,820 začnú sa nám duševné model, slovnú zásobu, s ktorou sa 395 00:20:09,820 --> 00:20:14,588 to oveľa zložitejšie algoritmy pomerne rýchlo. 396 00:20:14,588 --> 00:20:15,576 >> [BEGIN Prehrávanie videa] 397 00:20:15,576 --> 00:20:29,920 >> [Prehrávanie hudby] 398 00:20:29,920 --> 00:20:31,100 >> Rozprávač: Čo je to algoritmus? 399 00:20:31,100 --> 00:20:34,730 Vo vede o počítačoch, algoritmus je sada inštrukcií pre riešenie niektorých 400 00:20:34,730 --> 00:20:36,620 Problém krok za krokom. 401 00:20:36,620 --> 00:20:39,650 Obvykle sa robí algoritmy o počítačoch, ale my, ľudia majú 402 00:20:39,650 --> 00:20:41,230 algoritmy, ako i 403 00:20:41,230 --> 00:20:43,290 Napríklad, ako by ste o počítanie počtu 404 00:20:43,290 --> 00:20:44,750 ľudí, ktorí v izbe? 405 00:20:44,750 --> 00:20:47,980 No, ak ste rovnako ako ja, to by asi bod na každú osobu, po jednom 406 00:20:47,980 --> 00:20:50,120 čas a počítať od 0. 407 00:20:50,120 --> 00:20:52,970 1, 2, 3, 4, a tak ďalej. 408 00:20:52,970 --> 00:20:54,140 >> No, to je algoritmus. 409 00:20:54,140 --> 00:20:57,600 V skutočnosti, skúsme ho vyjadriť trochu viac formálne v pseudokódu - 410 00:20:57,600 --> 00:21:00,700 Angličtina-ako syntax, ktorý sa podobá programovací jazyk. 411 00:21:00,700 --> 00:21:02,580 Nech n rovné 0. 412 00:21:02,580 --> 00:21:06,970 Pre každú osobu na izbe, nastavte N rovný N plus 1. 413 00:21:06,970 --> 00:21:08,400 >> Ako interpretovať túto pseudocode? 414 00:21:08,400 --> 00:21:12,840 No, jedna linka prehlasuje, aby som tak povedal, premenná s názvom N a inicializuje 415 00:21:12,840 --> 00:21:14,250 jeho hodnotu na 0. 416 00:21:14,250 --> 00:21:17,550 To jednoducho znamená, že na začiatku roka náš algoritmus, vec, s ktorou 417 00:21:17,550 --> 00:21:19,650 Počítame má hodnotu 0. 418 00:21:19,650 --> 00:21:22,620 Koniec koncov, než začneme počítať, sme sa nepočítajú zatiaľ nič. 419 00:21:22,620 --> 00:21:25,340 Volanie tejto premennej N je len konvencie. 420 00:21:25,340 --> 00:21:26,890 Mohol som to nazval takmer všetko. 421 00:21:26,890 --> 00:21:30,560 >> Teraz riadok dva demarks začiatku slučky, sled krokov, ktoré 422 00:21:30,560 --> 00:21:32,310 opakovať určitý počet opakovaní. 423 00:21:32,310 --> 00:21:35,910 Takže v našom príklade krok berieme sa počtu osôb v miestnosti. 424 00:21:35,910 --> 00:21:38,730 Pod riadok je riadok tri, , Ktorý opisuje, ako presne 425 00:21:38,730 --> 00:21:40,160 budeme ísť o počítanie. 426 00:21:40,160 --> 00:21:43,440 Odsadenie znamená, že je to riadok tri, ktoré sa bude opakovať. 427 00:21:43,440 --> 00:21:47,380 >> Takže to, čo sa hovorí, je pseudokódu , Že po spustení na 0, pre každú 428 00:21:47,380 --> 00:21:50,690 osoba v izbe, budeme zvyšujú o 1 N. 429 00:21:50,690 --> 00:21:53,050 Teraz je tento algoritmus správne? 430 00:21:53,050 --> 00:21:54,580 Dobre, poďme bang na to trochu. 431 00:21:54,580 --> 00:21:57,270 Funguje to, ak existujú dvaja ľudia v miestnosti? 432 00:21:57,270 --> 00:21:58,170 Poďme sa pozrieť. 433 00:21:58,170 --> 00:22:00,260 >> V prvom riadku, sa inicializovať N na 0. 434 00:22:00,260 --> 00:22:03,660 Pre každý z týchto dvoch ľudí, sme potom prírastok do N 1. 435 00:22:03,660 --> 00:22:07,310 Takže na prvej ceste slučky, sa aktualizovať N 0-1. 436 00:22:07,310 --> 00:22:11,070 Na druhú cestu cez ten rovnaký slučka, aktualizujeme N 1-2. 437 00:22:11,070 --> 00:22:15,780 A tak týmto algoritmom je koniec, n je 2, ktorý skutočne zodpovedá počtu 438 00:22:15,780 --> 00:22:16,700 ľudia v miestnosti. 439 00:22:16,700 --> 00:22:17,760 >> Tak ďaleko, tak dobrý. 440 00:22:17,760 --> 00:22:19,610 Ako sa o rohové prípade, aj keď? 441 00:22:19,610 --> 00:22:22,590 Predpokladajme, že existujú ľudia, 0 v miestnosti - okrem mňa, 442 00:22:22,590 --> 00:22:24,170 kto to robí počítanie. 443 00:22:24,170 --> 00:22:27,150 V prvom riadku, sa inicializovať N na 0. 444 00:22:27,150 --> 00:22:30,280 Tento čas však rad troch rokov nie spustiť vôbec, pretože tam nie je 445 00:22:30,280 --> 00:22:31,370 osoba v izbe. 446 00:22:31,370 --> 00:22:35,260 A tak zostáva N 0, čo zodpovedá počet ľudí v miestnosti. 447 00:22:35,260 --> 00:22:36,420 Celkom jednoduché, nie? 448 00:22:36,420 --> 00:22:39,630 >> Ale počítanie ľudia jeden po druhom je celkom neefektívne, tiež nie? 449 00:22:39,630 --> 00:22:40,920 Iste môžeme urobiť lepšie. 450 00:22:40,920 --> 00:22:43,120 Prečo nie počítať dvoch ľudí naraz? 451 00:22:43,120 --> 00:22:49,300 Namiesto toho, aby počítanie 1, 2, 3, 4, 5, 6, 7, 8, a tak ďalej, prečo sa nepočíta, 2, 452 00:22:49,300 --> 00:22:51,460 4, 6, 8, a tak ďalej? 453 00:22:51,460 --> 00:22:53,700 Je to dokonca vyzerá rýchlejšie, a to iste je. 454 00:22:53,700 --> 00:22:56,240 >> Poďme vyjadriť túto optimalizáciu v pseudokódu. 455 00:22:56,240 --> 00:22:57,800 Nech n rovné 0. 456 00:22:57,800 --> 00:23:02,450 Pre každú dvojicu ľudí v miestnosti, nastaviť N rovné N + 2. 457 00:23:02,450 --> 00:23:04,120 Celkom jednoduchá zmena, nie? 458 00:23:04,120 --> 00:23:06,750 Skôr než počet ľudí, jeden v dobe, namiesto toho sme počítať 459 00:23:06,750 --> 00:23:08,300 je po dvoch. 460 00:23:08,300 --> 00:23:10,980 Tento algoritmus je teda dvakrát tak rýchlo, ako posledný. 461 00:23:10,980 --> 00:23:12,180 >> Ale je to správne? 462 00:23:12,180 --> 00:23:12,920 Poďme sa pozrieť. 463 00:23:12,920 --> 00:23:15,330 Funguje to, ak existujú dvaja ľudia v miestnosti? 464 00:23:15,330 --> 00:23:17,550 V prvom riadku, sa inicializovať N na 0. 465 00:23:17,550 --> 00:23:20,920 Pre ten jeden pár ľudí, sa potom zvýšiť N dvoma. 466 00:23:20,920 --> 00:23:24,860 A tak týmto algoritmom je koniec, N 2, ktorý skutočne zodpovedá počtu 467 00:23:24,860 --> 00:23:25,650 ľudia v miestnosti. 468 00:23:25,650 --> 00:23:28,250 >> Predpokladajme, že existujú ďalšie 0 ľudí v miestnosti. 469 00:23:28,250 --> 00:23:30,840 V prvom riadku, sa inicializovať N na 0. 470 00:23:30,840 --> 00:23:34,330 Rovnako ako predtým, riadok tri nespustí vôbec, pretože tam nie sú žiadne pary 471 00:23:34,330 --> 00:23:35,380 ľudí v miestnosti. 472 00:23:35,380 --> 00:23:38,350 A tak zostáva N 0, čo napokon zodpovedá počtu 473 00:23:38,350 --> 00:23:39,570 ľudia v miestnosti. 474 00:23:39,570 --> 00:23:42,280 >> Ale čo keď sú tam tri ľudia v miestnosti? 475 00:23:42,280 --> 00:23:44,130 Ako tento algoritmus cestovné? 476 00:23:44,130 --> 00:23:44,990 Poďme sa pozrieť. 477 00:23:44,990 --> 00:23:47,460 V prvom riadku, sa inicializovať N na 0. 478 00:23:47,460 --> 00:23:50,870 Pre pár týchto ľudí, sme potom prírastok do N 2. 479 00:23:50,870 --> 00:23:51,800 Ale čo potom? 480 00:23:51,800 --> 00:23:54,960 Či je na plný pár ľudí v miestnosti, takže riadok dva nie 481 00:23:54,960 --> 00:23:56,180 už neplatí. 482 00:23:56,180 --> 00:24:00,530 A tak týmto algoritmom je koniec, N je stále 2, čo nie je správne. 483 00:24:00,530 --> 00:24:03,810 >> V skutočnosti, je tento algoritmus hovorí, že je buggy, pretože má chybu. 484 00:24:03,810 --> 00:24:05,820 Umožňuje nápravy s nejakým novým pseudokódu. 485 00:24:05,820 --> 00:24:09,670 Nech n rovné 0 pre každú dvojicu ľudí v miestnosti. 486 00:24:09,670 --> 00:24:12,550 Sada N rovné N + 2. 487 00:24:12,550 --> 00:24:17,140 Ak jedna osoba zostáva nepárová, nastaviť N rovný N plus 1. 488 00:24:17,140 --> 00:24:20,140 Ak chcete vyriešiť tento konkrétny problém, máme zaviedla v radový štvorvalec, 489 00:24:20,140 --> 00:24:24,520 stav, inak známy ako zložka že sa vykoná len v prípade, že je jeden 490 00:24:24,520 --> 00:24:26,640 osoba, ktoré sme nemohli dvojica s iným. 491 00:24:26,640 --> 00:24:30,440 A tak teraz, či je jeden alebo tri alebo nepárny počet ľudí 492 00:24:30,440 --> 00:24:33,290 izba, tento algoritmus bude teraz počítať. 493 00:24:33,290 --> 00:24:34,560 >> Môžeme to urobiť ešte lepšie? 494 00:24:34,560 --> 00:24:38,820 No, mohli by sme počítať 3s alebo 4s, alebo dokonca 5s a 10s, ale za to, že je to 495 00:24:38,820 --> 00:24:41,360 dostane trochu ťažké bodu. 496 00:24:41,360 --> 00:24:44,660 Na konci dňa, či už je vykonaná pomocou počítačov alebo ľudí, 497 00:24:44,660 --> 00:24:46,750 algoritmy sú len súbor pokynov sa 498 00:24:46,750 --> 00:24:48,290 ktorá rieši všetky problémy. 499 00:24:48,290 --> 00:24:49,792 Títo boli len tri. 500 00:24:49,792 --> 00:24:52,404 Aký problém ste vyriešili s algoritmom? 501 00:24:52,404 --> 00:24:52,901 >> [END PLAYBACK] 502 00:24:52,901 --> 00:24:55,883 >> DAVID Malan: To je jediný okamih, kedy Ja sa objaví vo forme karikatúry. 503 00:24:55,883 --> 00:25:01,050 Ale kde ten príbeh skončí, teraz je, ako môžeme robiť lepšie? 504 00:25:01,050 --> 00:25:04,680 Trojky a štvorky, tvrdíme, sa môžeme spoľahnúť ľudia oveľa rýchlejšie, ale môžeme 505 00:25:04,680 --> 00:25:06,290 to zásadne lepšie, ako toto? 506 00:25:06,290 --> 00:25:07,540 A stavím sa, môžeme. 507 00:25:07,540 --> 00:25:11,980 >> Ak si predstavíme trochu naše vlastné pseudokódu tu, idem navrhnúť 508 00:25:11,980 --> 00:25:14,550 že môžeme dosiahnuť riadok podobný tomuto. 509 00:25:14,550 --> 00:25:17,280 Nebudeme počítať ľudí jeden, dva, tri, štyri. 510 00:25:17,280 --> 00:25:19,470 Nebudeme chodiť dvaja, štyri, šesť, osem. 511 00:25:19,470 --> 00:25:23,390 Chystáme sa robiť zásadne lepšie prehodnotením problém, a v tomto 512 00:25:23,390 --> 00:25:27,080 prípad, využitím inak nevyužité zdroje. 513 00:25:27,080 --> 00:25:31,460 >> Za chvíľu, dúfam, že mi odpustíte a humor nás tým, že stojí v 514 00:25:31,460 --> 00:25:34,470 miesto, na ktorom mieste budeme požiadať každého z vás, aby sa vo vašom 515 00:25:34,470 --> 00:25:36,400 mysli číslo 1. 516 00:25:36,400 --> 00:25:39,560 Tie potom bude stále nemotorne, ako čas ubieha, nájsť 517 00:25:39,560 --> 00:25:42,740 niekto iný, kto stojí, kombinovať vaše čísla dohromady 518 00:25:42,740 --> 00:25:43,720 pridaním je. 519 00:25:43,720 --> 00:25:47,490 Jeden z vás sa potom bude pretekať sedieť sa prvá a druhá osoba 520 00:25:47,490 --> 00:25:48,880 bude opakovať. 521 00:25:48,880 --> 00:25:53,090 >> Takže inými slovami, že sa nasadí všetky tie s číslom 1 a potom 522 00:25:53,090 --> 00:25:57,800 kombinujúci tie 1s do 2s a tie 2s do 4s, s každým ďalej 523 00:25:57,800 --> 00:26:02,740 sedieť, mali by sme sa na konci roka tento algoritmus, mať len jeden úver, 524 00:26:02,740 --> 00:26:07,570 duša, ktorá nesadol dosť rýchlo, ale ktorý má celý publikum počet 525 00:26:07,570 --> 00:26:09,180 v jeho mysli. 526 00:26:09,180 --> 00:26:13,730 >> Takže ak chcete, poďme ďalej a - prvý krok - postaviť na mieste. 527 00:26:13,730 --> 00:26:15,600 A spustiť. 528 00:26:15,600 --> 00:26:36,580 >> [Dav mumlání] 529 00:26:36,580 --> 00:26:38,820 >> DAVID Malan: Viete, kde Lauren je? 530 00:26:38,820 --> 00:26:40,179 729? 531 00:26:40,179 --> 00:27:23,350 >> [Dav mumlání] 532 00:27:23,350 --> 00:27:24,340 >> DAVID Malan: V poriadku? 533 00:27:24,340 --> 00:27:39,110 >> [Dav mumlání] 534 00:27:39,110 --> 00:27:41,365 >> DAVID Malan: Dobre, mali by sme sa blíži ku koncu. 535 00:27:41,365 --> 00:27:44,340 536 00:27:44,340 --> 00:27:47,670 Vidíme jeden chlapík stojaci stále tu. 537 00:27:47,670 --> 00:27:48,770 Kto iný potrebuje byť spárovaný? 538 00:27:48,770 --> 00:27:50,020 Ak vy chcete spárovať. 539 00:27:50,020 --> 00:27:53,260 540 00:27:53,260 --> 00:27:56,520 Niekto sa hore. 541 00:27:56,520 --> 00:27:58,150 Prečo nemôžem podať pomocnú ruku tu. 542 00:27:58,150 --> 00:28:01,370 Pre veľmi málo ľudí, ktorí sú stále stojí, aké čísla sa vám 543 00:28:01,370 --> 00:28:02,790 majú vo svojej mysli? 544 00:28:02,790 --> 00:28:04,020 >> STUDENT: 78. 545 00:28:04,020 --> 00:28:06,010 >> DAVID Malan: 78 plus - 546 00:28:06,010 --> 00:28:07,840 kto by to stáť tu dole? 547 00:28:07,840 --> 00:28:08,370 >> STUDENT: 39. 548 00:28:08,370 --> 00:28:09,590 >> DAVID Malan: Plus 39. 549 00:28:09,590 --> 00:28:12,310 Navyše, kto iný ešte stojí? 550 00:28:12,310 --> 00:28:13,650 81? 551 00:28:13,650 --> 00:28:15,960 OK, kto iný? 552 00:28:15,960 --> 00:28:17,200 Ďalšie 81? 553 00:28:17,200 --> 00:28:17,860 Wow. 554 00:28:17,860 --> 00:28:19,210 A potom to, čo je v chrbte? 555 00:28:19,210 --> 00:28:20,360 >> STUDENT: 49. 556 00:28:20,360 --> 00:28:21,812 >> DAVID Malan: 49 plus? 557 00:28:21,812 --> 00:28:22,950 >> STUDENT: 98. 558 00:28:22,950 --> 00:28:24,980 >> DAVID Malan: 98 Plus? 559 00:28:24,980 --> 00:28:28,190 Je to niekto iný? 560 00:28:28,190 --> 00:28:29,155 12? 561 00:28:29,155 --> 00:28:30,460 Dobrá práca. 562 00:28:30,460 --> 00:28:33,610 >> [Smiech] 563 00:28:33,610 --> 00:28:34,690 >> DAVID Malan: Oh, 112 - 564 00:28:34,690 --> 00:28:35,410 oh. 565 00:28:35,410 --> 00:28:36,220 Dobrá práca! 566 00:28:36,220 --> 00:28:38,660 >> [Smiech] 567 00:28:38,660 --> 00:28:42,570 >> [APPLAUSE] 568 00:28:42,570 --> 00:28:43,820 >> DAVID Malan: Niekto iný ešte stojí? 569 00:28:43,820 --> 00:28:46,710 570 00:28:46,710 --> 00:28:47,260 Je nám ľúto? 571 00:28:47,260 --> 00:28:48,110 >> STUDENT: 99. 572 00:28:48,110 --> 00:28:49,810 >> DAVID Malan 99. 573 00:28:49,810 --> 00:28:52,620 Niekto iný ešte stojí? 574 00:28:52,620 --> 00:28:57,290 A celkový počet študentov tu je v skutočnosti, v závislosti na - 575 00:28:57,290 --> 00:28:59,400 máte číslo? 576 00:28:59,400 --> 00:29:03,170 Oh, skutočný počet ľudí miestnosti, v závislosti na účte, ktorý 577 00:29:03,170 --> 00:29:07,660 učebné chlapi robili na každého cesta dovnútra, bolo 729. 578 00:29:07,660 --> 00:29:11,070 Takže z miestnosti plnej študentov Harvardu ktorý počítal sám, 579 00:29:11,070 --> 00:29:14,126 Odpoveď je 637. 580 00:29:14,126 --> 00:29:15,480 >> [Smiech] 581 00:29:15,480 --> 00:29:16,350 >> DAVID Malan: Tak blízko. 582 00:29:16,350 --> 00:29:17,360 Ale napriek tomu. 583 00:29:17,360 --> 00:29:22,110 OK, tak to je učenie moment, že jo? 584 00:29:22,110 --> 00:29:24,120 To je to, čo teraz môžeme označiť za chybu. 585 00:29:24,120 --> 00:29:28,120 Niekde po ceste sme urobili niektoré aritmetický zle, alebo niekto posadil, 586 00:29:28,120 --> 00:29:29,930 alebo vľavo, alebo sa niečo pokazilo. 587 00:29:29,930 --> 00:29:30,930 Ale to je v poriadku. 588 00:29:30,930 --> 00:29:33,390 Pretože aj napriek tomu, sme dostal celkom blízko. 589 00:29:33,390 --> 00:29:37,480 A ja by som tvrdiť, že sme sa dostali do zlej odpovedať mnoho rýchlejšie, než by som si 590 00:29:37,480 --> 00:29:39,770 cez môj ďalší lineárny prístup. 591 00:29:39,770 --> 00:29:42,630 >> Takže predpokladajme, že sme v skutočnosti, že sa opraviť, ale že teraz na to, čo 592 00:29:42,630 --> 00:29:46,870 sa deje zakaždým, proti mojej vlastné naivné ukázal algoritmus. 593 00:29:46,870 --> 00:29:48,420 Jedna, dva, tri. 594 00:29:48,420 --> 00:29:53,010 V prípade, že sú skutočne 729 alebo 637 ľudí tu, to by ma vziať 595 00:29:53,010 --> 00:29:57,720 doslova 637 alebo 729 pointings prsta a 596 00:29:57,720 --> 00:29:59,490 zvyšovanie môj celkový počet. 597 00:29:59,490 --> 00:30:01,910 A čo som mohol urobiť trochu lepšie ísť dva, štyri, šesť, osem a 598 00:30:01,910 --> 00:30:05,660 zdvojnásobiť rýchlosť, možno aj troch alebo štvornásobný, podľa toho, ako dobre som si 599 00:30:05,660 --> 00:30:07,110 tomu, že počítanie v mojej hlave. 600 00:30:07,110 --> 00:30:10,720 >> Ale tento prístup, ktorý ste sa zásadne líši. 601 00:30:10,720 --> 00:30:12,770 Vzhľadom k tomu, na začiatku, všetky z vás, vstal. 602 00:30:12,770 --> 00:30:14,620 Takže všetko 729. 603 00:30:14,620 --> 00:30:17,370 A potom doslova polovica z vás sa posadil. 604 00:30:17,370 --> 00:30:19,720 A potom, ďalšie polovica z vás sa posadil. 605 00:30:19,720 --> 00:30:22,650 A potom, ďalšie polovica z vás sa posadil. 606 00:30:22,650 --> 00:30:27,470 >> A celkový počet, koľkokrát ste chlapci mohli posadil je zhruba 607 00:30:27,470 --> 00:30:31,740 osem alebo deväť alebo desať celkovej časy, v závislosti na tom, čo náš celkový počet je. 608 00:30:31,740 --> 00:30:33,300 A môžeme sa nejako urobiť to na druhú stranu. 609 00:30:33,300 --> 00:30:37,740 Ak by sme mali 1024 ľudí v miestnosti, Celkový počet opakovaní by ste mohli 610 00:30:37,740 --> 00:30:41,870 1024 polovicu ľudí je 10. 611 00:30:41,870 --> 00:30:43,370 >> Teraz o tom premýšľať v opačným smerom. 612 00:30:43,370 --> 00:30:49,170 Predpokladajme, smiešne, že sme mali, povedzme štyri miliardy ľudí v tejto miestnosti, 613 00:30:49,170 --> 00:30:50,860 alebo o niečo väčší priestor. 614 00:30:50,860 --> 00:30:54,550 Koľkokrát sme išli prostredníctvom tohto algoritmu, tak, že polovica 615 00:30:54,550 --> 00:30:58,110 tejto triedy sadne? 616 00:30:58,110 --> 00:31:03,050 Je to len bude trvať 32 ako operácie, a to aj v triede o veľkosti 617 00:31:03,050 --> 00:31:03,770 štyri miliardy. 618 00:31:03,770 --> 00:31:04,055 Prečo? 619 00:31:04,055 --> 00:31:06,980 Pretože štyri miliardy pôjde na dva mld Sk, ide do jedného milióna, ide 620 00:31:06,980 --> 00:31:09,925 500 miliónov ide na 250 miliónov, bodka, bodka, bodka. 621 00:31:09,925 --> 00:31:14,940 Môžem robiť len týmto rozdelením nejakých 32 čas, na ktorom mieste, všetci, okrem 622 00:31:14,940 --> 00:31:17,820 jedna osoba by mala zostať stáť. 623 00:31:17,820 --> 00:31:21,590 >> A to je tiež trochu silný Predstava, že čoraz viac sa budeme snažiť 624 00:31:21,590 --> 00:31:24,690 využiť v tomto kurze, a programovania a počítačovej vedy viac 625 00:31:24,690 --> 00:31:29,400 Všeobecne platí, že tieto zárodky nápadu s ktoré potom môžu riešiť problémy oveľa, 626 00:31:29,400 --> 00:31:31,130 oveľa silnejšie. 627 00:31:31,130 --> 00:31:34,610 Začali sme celkom jednoduché s tým pseudokódu a chlap v miestnosti, ale 628 00:31:34,610 --> 00:31:38,205 teraz s celej miestnosti plnej ľudí sme urobili podstatne lepšie. 629 00:31:38,205 --> 00:31:41,460 >> Dobre, poďme sa prechod od pseudokódu nejaké skutočné kódu. 630 00:31:41,460 --> 00:31:44,200 Tento jazyk sa chystáte, aby sa stalo byť nazývaný JavaScript, a 631 00:31:44,200 --> 00:31:46,190 vrátime sa k tomu Semester je koniec. 632 00:31:46,190 --> 00:31:49,960 Je to programovací jazyk, ktorý použiť, aby sa webové stránky a iné takéto 633 00:31:49,960 --> 00:31:51,360 softvér v týchto dňoch. 634 00:31:51,360 --> 00:31:54,890 A my sme použili, vďaka priateľovi náš na Stanforde, kódovať 635 00:31:54,890 --> 00:31:56,630 nejaký skrytý informácií nájdete tu. 636 00:31:56,630 --> 00:31:59,500 To je umenie steganografie, aby som tak povedal, kde sa môžete schovať 637 00:31:59,500 --> 00:32:03,990 informácie v tom, čo sa zdá inak byť šum alebo úplne iná 638 00:32:03,990 --> 00:32:05,220 obrázok dohromady. 639 00:32:05,220 --> 00:32:10,120 Ale vložený v tomto obrázku je naozaj tajná správa druhov. 640 00:32:10,120 --> 00:32:12,950 >> Tak ma nechaj ísť dopredu a vytiahnite rovnaký obraz tu, toto 641 00:32:12,950 --> 00:32:14,270 tentoraz vo webovom prehliadači. 642 00:32:14,270 --> 00:32:17,710 A budem mávať ruku na niektoré z podrobnosti pre dnešok, najmä 643 00:32:17,710 --> 00:32:21,780 pre tých z vás, ktorí to vyzerá ako nielen JavaScript, ale grécka, ako 644 00:32:21,780 --> 00:32:23,930 úplne neznáme jazykom. 645 00:32:23,930 --> 00:32:26,190 Ale to je príklad programovací jazyk. 646 00:32:26,190 --> 00:32:30,660 >> A teraz sa na viere, že Prvý riadok kódu - 647 00:32:30,660 --> 00:32:32,470 a podľa kódu, práve som na mysli text. 648 00:32:32,470 --> 00:32:35,660 Text, ktorý som mohol doslova napísal do aplikácie Microsoft Word, keby som mal 649 00:32:35,660 --> 00:32:37,630 správny softvér do tej doby s tým niečo urobiť. 650 00:32:37,630 --> 00:32:42,120 Zdrojového kódu, programovanie kód, je naozaj len textu, a to 651 00:32:42,120 --> 00:32:45,420 vyzerá inak, na základe toho, čo jazyk , Ktorú používate, nie je na rozdiel od angličtiny a 652 00:32:45,420 --> 00:32:49,200 Španielčina a ruština všetko vyzerať inak Pri písaní je na vašej klávesnici. 653 00:32:49,200 --> 00:32:53,520 >> Takže ten prvý riadok, teraz sa na viera, jednoducho otvorí grafiku z 654 00:32:53,520 --> 00:32:56,160 internet, že hlučné grafický sme práve videli. 655 00:32:56,160 --> 00:32:59,900 Tento ďalší riadok je tu príklad slučka, a sme skutočne videli, že rovnaký 656 00:32:59,900 --> 00:33:01,130 žargón vo videu TED. 657 00:33:01,130 --> 00:33:03,750 Slučka je niečo, čo sa stane znova a znova, a to aj napriek tomu, 658 00:33:03,750 --> 00:33:08,440 absolútne vyzerá tajomný, s Kľúčové slovo pre, a niektoré zátvorky a 659 00:33:08,440 --> 00:33:09,510 niektoré bodkočiarkami. 660 00:33:09,510 --> 00:33:13,070 Vrátime sa k tomu onedlho, ale, že slučka je v podstate je 661 00:33:13,070 --> 00:33:17,310 hovorí programu, iterovat cez všetky z týchto bodov hlučných zľava 662 00:33:17,310 --> 00:33:18,980 doprava, zhora nadol. 663 00:33:18,980 --> 00:33:21,260 >> Vzhľadom k tomu, na konci dňa, obrázok takhle - a môžete skutočne 664 00:33:21,260 --> 00:33:22,860 druh vidieť na tomto projektore - 665 00:33:22,860 --> 00:33:25,280 je naozaj len mriežka bodov. 666 00:33:25,280 --> 00:33:29,730 Takže môžeme určiť každý z týchto bodov pomocou súradníc x, y, a to 667 00:33:29,730 --> 00:33:33,890 Program možno teraz začneme niečo na tie bodky. 668 00:33:33,890 --> 00:33:37,540 >> Takže ja idem dopredu a tu to je Chystám sa urobiť nejaké zmeny. 669 00:33:37,540 --> 00:33:41,000 Prvý Chystám sa ísť dopredu a zbaviť na všetkých, ktoré zelenkavá a modra 670 00:33:41,000 --> 00:33:43,520 hluk, a ja idem do toho a zadajte nasledujúce 671 00:33:43,520 --> 00:33:45,710 síce tajomné syntaxe. 672 00:33:45,710 --> 00:33:48,020 im pre obraz. 673 00:33:48,020 --> 00:33:53,380 nastaviť modré na súradniciach x, čiarka, umiestnenia y, na 0. 674 00:33:53,380 --> 00:33:55,610 Inými slovami, chcem len vypnite všetky modré 675 00:33:55,610 --> 00:33:56,920 bodky v tomto obrázku. 676 00:33:56,920 --> 00:33:59,800 >> Chystám sa ísť dopredu a kliknite to Run / tlačidlo Uložiť, a budete 677 00:33:59,800 --> 00:34:02,850 Všimnite si na pravej strane, výsledný obraz objaví. 678 00:34:02,850 --> 00:34:06,120 Teraz je Super zelená, ale to nie je prekvapujúce, pretože som doslova obrátil 679 00:34:06,120 --> 00:34:11,070 off, tým, že 1 je 0, všetci modrá v uvedenom obrázku. 680 00:34:11,070 --> 00:34:12,540 >> No, teraz poďme to urobiť trochu viac. 681 00:34:12,540 --> 00:34:16,989 im pre obraz, bodka setGreen, x, y. 682 00:34:16,989 --> 00:34:20,659 A to len znamená, že iterate zľava doprava a zhora nadol. 683 00:34:20,659 --> 00:34:23,520 Vypni to s hodnotou 0, rovnako. 684 00:34:23,520 --> 00:34:24,750 Uložiť. 685 00:34:24,750 --> 00:34:28,100 A na projektore, môžete v skutočnosti naozaj vidieť vôbec nič. 686 00:34:28,100 --> 00:34:31,380 >> Na mojom notebooku obrazovke, keď som nahliadnuť do práve správna cesta, vidím trochu 687 00:34:31,380 --> 00:34:33,300 obrázok, pretože sú stále nejaký červený tam. 688 00:34:33,300 --> 00:34:35,540 Ak ste niekedy počuli skratku RGB - 689 00:34:35,540 --> 00:34:36,830 červená, zelená, modrá - 690 00:34:36,830 --> 00:34:39,110 to s odkazom na toto zloženie z obrazu pomocou 691 00:34:39,110 --> 00:34:40,230 Len tieto tri farby. 692 00:34:40,230 --> 00:34:43,159 A práve teraz sme vyhodiť všetky zelené, celé modré, ale 693 00:34:43,159 --> 00:34:44,500 že to nie je moc červené. 694 00:34:44,500 --> 00:34:45,920 >> Takže dovoľte mi nahodiť červené. 695 00:34:45,920 --> 00:34:47,070 Ako to môžem urobiť? 696 00:34:47,070 --> 00:34:49,300 No, v prvom, idem sa opýtať tento program otázka. 697 00:34:49,300 --> 00:34:52,030 Chystám sa ísť do toho a hovorme ju premenné, rovnako ako v algebre. 698 00:34:52,030 --> 00:34:54,060 Môžete mať x alebo y alebo z 699 00:34:54,060 --> 00:34:57,230 Budem deklarovať premennú a povedať, dať do tejto premennej, 700 00:34:57,230 --> 00:35:02,790 dočasne, hodnota obrazy getRed hodnotu na x, y. 701 00:35:02,790 --> 00:35:05,870 >> A opäť vrátime sa na všetky tohto detailu v budúcnosti. 702 00:35:05,870 --> 00:35:10,630 Ale teraz, len sa na viere, že táto položka sa pýta program, čo 703 00:35:10,630 --> 00:35:12,740 je hodnota červenej na x, y? 704 00:35:12,740 --> 00:35:14,450 V tomto konkrétnom bode? 705 00:35:14,450 --> 00:35:15,710 >> Potom budem robiť niečo k tomu. 706 00:35:15,710 --> 00:35:21,100 Potom budem robiť obrázku dot sada červená na x, y, y, ale tentoraz budem 707 00:35:21,100 --> 00:35:24,760 podporiť ju robí červené krát, povedzme, 10. 708 00:35:24,760 --> 00:35:26,870 Tak zvýšiť o faktor 10. 709 00:35:26,870 --> 00:35:29,880 Dovoľte mi, aby som oddialiť teraz kliknite na tlačidlo Spustiť mohol / Uložiť. 710 00:35:29,880 --> 00:35:36,430 A voila, že tam bol celý čas, aj keď naše ľudské oči 711 00:35:36,430 --> 00:35:37,900 nedokázal vidieť. 712 00:35:37,900 --> 00:35:41,470 >> Takže znova, teraz je skutočný kód, príklad jazyka, ktorý Prídeme 713 00:35:41,470 --> 00:35:42,770 späť onedlho. 714 00:35:42,770 --> 00:35:46,670 Ale uvedomiť, najmä tých z vás, bez tejto skúsenosti, je to celkom 715 00:35:46,670 --> 00:35:50,280 čoskoro, že my sami budú písať kód, ako že. 716 00:35:50,280 --> 00:35:54,520 V skutočnosti je nástroj, pomocou ktorého ste všetci trochu poznať, možno je to CS50 717 00:35:54,520 --> 00:35:57,330 vlastný kurz-shopping nástroj, ktorý bol vlastne reštartuje tento rok v lete niektoré 718 00:35:57,330 --> 00:36:01,070 vlastných CS50 bývalých študentov, sa teraz TFS. 719 00:36:01,070 --> 00:36:04,740 >> Tak toto sa stane byť postavená webová stránka v jazyku PHP s názvom. 720 00:36:04,740 --> 00:36:08,510 Využíva databázu MySQL s názvom veci s ktorými sa dostaneme do rúk 721 00:36:08,510 --> 00:36:10,190 špinavé neskôr v semestri. 722 00:36:10,190 --> 00:36:14,140 Ale verte tomu alebo nie, aj niečo ako je to v konečnom dôsledku znižuje na 723 00:36:14,140 --> 00:36:19,480 Najjednoduchšie slučiek a podmienok a odvetví, ako napríklad tých, ktoré sme videli len 724 00:36:19,480 --> 00:36:21,530 Pred chvíľou vo videu TED. 725 00:36:21,530 --> 00:36:25,180 >> To, čo som si myslel, že to je teraz podiel nie je proste niečo, čo sme urobili zamestnanci 726 00:36:25,180 --> 00:36:28,010 pre kampus, ale skôr niečo bývalý študent - tri 727 00:36:28,010 --> 00:36:29,080 študentov, v skutočnosti - 728 00:36:29,080 --> 00:36:33,950 robil minulý rok, Sierra, Daniel a Sam, posledný z nich nemal pred 729 00:36:33,950 --> 00:36:36,370 programovania skúsenosti keď si vzal CS50. 730 00:36:36,370 --> 00:36:39,950 A pre záverečného projektu, ale vystavené, na CS50 veľtrhu, 731 00:36:39,950 --> 00:36:43,720 Aplikácia s názvom wrdly, ktorý je webový program, pre ktorý oni robili 732 00:36:43,720 --> 00:36:47,670 toto video, ktoré som myslel, že zdieľať so vám zmysel len to, čo je 733 00:36:47,670 --> 00:36:49,280 možný termín je koniec. 734 00:36:49,280 --> 00:37:57,170 >> [Prehrávanie hudby] 735 00:37:57,170 --> 00:38:00,570 >> DAVID Malan: To je týždeň od nuly do 12. týždňa v minulom roku. 736 00:38:00,570 --> 00:38:05,470 >> [APPLAUSE] 737 00:38:05,470 --> 00:38:09,520 >> DAVID Malan: Ako ukážku, taky, naozaj povzbudiť chuť k jedlu, je to, čo je 738 00:38:09,520 --> 00:38:14,580 je to možné, ste mohli zaznamenať už alebo môže čoskoro vidieť, market.cs50.net, a 739 00:38:14,580 --> 00:38:17,710 nový nástroj, ktorý v priebehu tím má pracuje na, tentoraz v 740 00:38:17,710 --> 00:38:21,530 spolupráci s Harvard Student Agentúry tak, že od tohto roku 741 00:38:21,530 --> 00:38:24,980 a dúfajme, že aj naďalej do tohto prichádza lete budete mať štandard 742 00:38:24,980 --> 00:38:27,890 príležitosť na akademickej pôde kúpiť a predávať veci, ktoré vás zaujímajú. 743 00:38:27,890 --> 00:38:32,220 A s pomocou partnerstva HSA, budete tiež môcť k poklesu položky off 744 00:38:32,220 --> 00:38:35,950 v jednom z kamenných obchodoch HSA je v niektorých v budúcnosti, tak, aby sa 745 00:38:35,950 --> 00:38:39,150 Proxy veci, najmä ak vás absolvent a nemusí nutne chcieť 746 00:38:39,150 --> 00:38:44,110 zbaviť vecí, ale v skutočnosti ju zaplatiť odovzdať ľudí, ktorí by mohli nasledovať vás 747 00:38:44,110 --> 00:38:45,270 tu na akademickej pôde. 748 00:38:45,270 --> 00:38:46,740 Takže viac o tom prísť. 749 00:38:46,740 --> 00:38:49,830 >> Ale trochu konkrétnejšie, nástroj ktorý prišiel z CS50 v posledných rokoch 750 00:38:49,830 --> 00:38:52,760 roky, s ktorou niektorí z vás by mohol byť známe a iní z vás môže byť 751 00:38:52,760 --> 00:38:57,940 googling teraz, v CS50.net/2x, budete nájsť odkaz na rozšírenie Chrome 752 00:38:57,940 --> 00:39:01,250 ktorý je demonštratívny, ako môžete používať JavaScript, ten istý jazyk sa 753 00:39:01,250 --> 00:39:06,660 použiť Eiffelovej veže pred chvíľou, vykonávať 2x rýchlosti prehrávania 754 00:39:06,660 --> 00:39:09,000 pre všetky Harvarde videa iSites. 755 00:39:09,000 --> 00:39:11,880 To je niečo, čo je postavený do vlastného CS50 je video prehrávač. 756 00:39:11,880 --> 00:39:14,870 Ale aj to, keď sa vám začnú kopať do zdrojového kódu, ktoré my budeme 757 00:39:14,870 --> 00:39:18,840 šťastne sprístupniť, uvidíte, ako môžete dokonca riešiť problémy, ako je to, 758 00:39:18,840 --> 00:39:23,180 urýchlenie widgety na webových stránkach s ktoré ste už dobre oboznámení. 759 00:39:23,180 --> 00:39:26,630 >> Takže slovo teraz v kurze, a očakávania a to, čo leží pred nami. 760 00:39:26,630 --> 00:39:29,445 Všeobecne platí, že budeme skutočne získať tu v pondelok av stredu - aj keď 761 00:39:29,445 --> 00:39:31,490 tento piatok, budeme zbierať, pretože Shopping týždňa - 762 00:39:31,490 --> 00:39:34,640 01:00-14:00, hoci niekedy až do 02:30. 763 00:39:34,640 --> 00:39:38,700 Vzhľadom k tomu, že by preto chcú, alebo musieť vziať nejaké triedy v 14:00 764 00:39:38,700 --> 00:39:42,480 dopredu, alebo aj pred Uvedomujete si, Kurz je podporuje, čo sa nazýva 765 00:39:42,480 --> 00:39:45,900 simultánne zápis, pričom my budeme podporu petíciu Radou Ad a 766 00:39:45,900 --> 00:39:49,400 Váš pobyt dekani vašim menom, ak Máte konflikt niekde v tomto 767 00:39:49,400 --> 00:39:50,790 1:00-02:30 rozsah. 768 00:39:50,790 --> 00:39:54,110 Adresa URL tejto on-line na ďalšie detaily. 769 00:39:54,110 --> 00:39:57,750 >> Ale pokiaľ ide o nosné konštrukcie ktorý charakterizuje CS50, pre študentov 770 00:39:57,750 --> 00:40:01,750 viac a menej pohodlné podobne, sme Ponúkame rôzne stopy sekcií. 771 00:40:01,750 --> 00:40:04,730 A to je pár týždňov preč, ale Netrvalo dlho a budete požiadaní, aby 772 00:40:04,730 --> 00:40:05,770 vaša úroveň pohodlia. 773 00:40:05,770 --> 00:40:08,590 Ste medzi tie menej pohodlné, pohodlnejšie, alebo 774 00:40:08,590 --> 00:40:10,520 niekde medzi? 775 00:40:10,520 --> 00:40:13,150 >> A budeme mať tri odlišné skladby, ktoré obstarávajú 776 00:40:13,150 --> 00:40:14,470 práve tie diváci. 777 00:40:14,470 --> 00:40:17,900 Takže v žiadnom okamihu v termíne mali by ste dokonca pocit, že budete súťažiť 778 00:40:17,900 --> 00:40:21,390 proti každému študentovi sa viac alebo menej pozadie než vy. 779 00:40:21,390 --> 00:40:24,160 V skutočnosti je samozrejme chcel byť oveľa viac spolupráce a oveľa 780 00:40:24,160 --> 00:40:25,650 otvorenejší než to. 781 00:40:25,650 --> 00:40:29,030 >> Pokiaľ ide o základné problémové okruhy, budete nájsť tiež, že okrem 782 00:40:29,030 --> 00:40:32,130 Štandardné vydanie každého týždňa problému nastavenie, je to často "hacker 783 00:40:32,130 --> 00:40:37,010 vydanie ", ktorý je určený na cielené na 5% až 10%, alebo tak 784 00:40:37,010 --> 00:40:40,270 demografické, kto je naozaj medzi tie pohodlnejšie a chceli by ste viac 785 00:40:40,270 --> 00:40:43,960 náročnejšie ako štandardné vydanie tohto pset očakáva. 786 00:40:43,960 --> 00:40:46,390 Viac informácií o tých, ktoré majú byť nájdete v sylabu. 787 00:40:46,390 --> 00:40:49,430 >> Ale aj tam možno nájsť podrobnosti na kurzoch neskoré dní. 788 00:40:49,430 --> 00:40:51,570 Typicky problém sady sú splatné vo štvrtok. 789 00:40:51,570 --> 00:40:55,550 Avšak, môžete rozšíriť mnohé z vašich termíny tento rok na jeseň od štvrtka do 790 00:40:55,550 --> 00:41:00,010 Piatok jednoducho tým, že stretnutie s nami na polceste, aby som tak povedal, odpovede na niekoľko warm-up 791 00:41:00,010 --> 00:41:03,370 otázky v niektorej z týždňa problému sady, bude to automaticky 792 00:41:03,370 --> 00:41:05,710 potom vám extra 24 hodín. 793 00:41:05,710 --> 00:41:09,120 Budeme tiež pokles vaše najmenšie skóre, podľa sylabu. 794 00:41:09,120 --> 00:41:12,170 >> Ak chcete vám o tom, čo je problém sady sú - pretože je to naozaj 795 00:41:12,170 --> 00:41:15,120 Kurz je problém, ktorý stanovuje nakoniec definovať takmer každý 796 00:41:15,120 --> 00:41:18,760 študenta skúsenosti, viac než prednášky, viac než sekciách, viac 797 00:41:18,760 --> 00:41:21,230 než väčšina iných aspekt predmetu. 798 00:41:21,230 --> 00:41:25,140 V minulom roku sme napríklad začali ako začneme tento rok s Scratch. 799 00:41:25,140 --> 00:41:29,150 Práve tento piatok budeme používať pre len jeden deň čas, grafický 800 00:41:29,150 --> 00:41:32,260 programovací jazyk, s ktorým my budeme začať s programovaním pretiahnutím 801 00:41:32,260 --> 00:41:37,580 klesá dielikov, že iba zostaviť fyzicky, ak to dáva zmysel 802 00:41:37,580 --> 00:41:38,990 k tomu logicky. 803 00:41:38,990 --> 00:41:43,460 >> Budúci týždeň budeme rýchlo prechod na C, docela starý, ale veľmi malé a 804 00:41:43,460 --> 00:41:48,510 jednoduchý jazyk, ktorý nám umožní naozaj ísť od 0 do 60 v priebehu 805 00:41:48,510 --> 00:41:52,290 Behom pár týždňov, a potom prednosti tie isté vedomosti a zručnosti 806 00:41:52,290 --> 00:41:56,160 Základné programovací konštrukty do vyššia programovacie jazyky ako PHP, 807 00:41:56,160 --> 00:41:58,240 JavaScript, a ešte iní stále. 808 00:41:58,240 --> 00:42:02,560 >> Vlani tretí pset v priebehu bolo, že kryptografia, 809 00:42:02,560 --> 00:42:06,380 domény špecifické pre aplikácie, kedy sme napadla študentmi vykonať akýkoľvek 810 00:42:06,380 --> 00:42:11,140 počet šifier, programy, s ktorými na zakódovanie a dekódovanie informácie, 811 00:42:11,140 --> 00:42:11,880 na zašifrovať. 812 00:42:11,880 --> 00:42:16,300 Pre hackera vydanie, naopak, Dali sme sa hacker študentom súbor 813 00:42:16,300 --> 00:42:19,900 zo štandardného počítača Unix obsahujúce používateľské mená a heslá, 814 00:42:19,900 --> 00:42:22,740 latter ktorý bol zakódovaný, a my napádal tých hacker 815 00:42:22,740 --> 00:42:26,850 študentov na dešifrovanie, ako najlepšie mohli, tie heslá, stále na to 816 00:42:26,850 --> 00:42:27,770 rovnakú doménu. 817 00:42:27,770 --> 00:42:30,580 >> Scramble, hra, s ktorou niektorí z vás sú možno povedomá. 818 00:42:30,580 --> 00:42:34,410 Forenznú kúsok, kde žiadame študentov obnoviť dáta, ktorá bola 819 00:42:34,410 --> 00:42:38,530 inak odstránený z mojej vlastnej digitálnej fotoaparátu pamäťová karta Compact flash, podľa 820 00:42:38,530 --> 00:42:42,740 a písanie softvér, aby zistili, kde boli nuly a tie v 821 00:42:42,740 --> 00:42:46,850 že digitálny fotoaparát, ktorý predtým skladal JPEG grafiku? 822 00:42:46,850 --> 00:42:49,710 >> Výzva druhov v minulom roku zahŕňajúce písanie najrýchlejší 823 00:42:49,710 --> 00:42:53,160 Kontrola pravopisu je to možné, súťaží s priateľmi a spolužiakmi, ak 824 00:42:53,160 --> 00:42:53,860 oni chceli. 825 00:42:53,860 --> 00:42:56,330 Vykonávanie Huff 'n Puff, kompresný program. 826 00:42:56,330 --> 00:43:01,930 A potom končí semester, s CS50 Financie, webová aplikácia s 827 00:43:01,930 --> 00:43:06,570 ktoré vytvoríte ETrade-ako webové stránky nakupovať a predávať akcie, tak 828 00:43:06,570 --> 00:43:09,860 hovorí, tým vlastne ťahá takmer real-time citácie Yahoo! 829 00:43:09,860 --> 00:43:10,450 Finance. 830 00:43:10,450 --> 00:43:13,590 >> To, čo sme neurobili v minulom roku jeden problém sada, ktorá zostáva 831 00:43:13,590 --> 00:43:14,810 však obľúbené. 832 00:43:14,810 --> 00:43:18,400 Ak ste nikdy šiel do shuttle.cs50.net, uvidíte užívateľa 833 00:43:18,400 --> 00:43:19,670 rozhranie trochu ako je tento. 834 00:43:19,670 --> 00:43:23,530 Ale pred dvoma rokmi, trieda realizovaná pomocou Google Maps a 835 00:43:23,530 --> 00:43:28,570 Google Earth plug-in a trochu pútavé s riadením po kampuse, 836 00:43:28,570 --> 00:43:33,290 tak, že cieľom tejto hry je, ako môžete vidieť niektoré z tvárí, 837 00:43:33,290 --> 00:43:37,530 je riadiť po kampuse hľadá zamestnanci, kolegovia výučby a CAS, a 838 00:43:37,530 --> 00:43:40,080 keď to urobíte, ich uvádzanie do vášho shuttle bus. 839 00:43:40,080 --> 00:43:44,035 Žiadny z nich v skutočnosti sa zdá, že je tu, takže budeme zadávať kódy. 840 00:43:44,035 --> 00:43:47,150 >> [Smiech] 841 00:43:47,150 --> 00:43:48,430 >> DAVID Malan: Tak ideme. 842 00:43:48,430 --> 00:43:49,240 Dobrá. 843 00:43:49,240 --> 00:43:51,750 A tu je personál prichytená po celom areáli. 844 00:43:51,750 --> 00:43:54,530 A ako môžete vidieť, na pravej strane obrazovky, shuttle bus 845 00:43:54,530 --> 00:43:55,510 má prázdne miesta. 846 00:43:55,510 --> 00:43:59,000 A cieľom bolo napísať kód, pomocou ktorého simulovať 847 00:43:59,000 --> 00:44:01,790 riadenie a nástup a pád výstup a nástup cestujúcich. 848 00:44:01,790 --> 00:44:04,960 Že jeden, aj za použitia jazyka volal JavaScript. 849 00:44:04,960 --> 00:44:10,030 Takže si uvedomiť, že programy, ako je, že bude byť na našom rovnaké trajektóriu tohto 850 00:44:10,030 --> 00:44:10,910 rok, ako i 851 00:44:10,910 --> 00:44:13,640 >> V podmienkach, teraz dodatočnej podpory, máme úradné hodiny. 852 00:44:13,640 --> 00:44:16,520 Ako ste mohli vidieť vo vlastnom dome jedáleň alebo Annenberg, 853 00:44:16,520 --> 00:44:19,280 budeme v dome stolovanie haly štyri noci v týždni - 854 00:44:19,280 --> 00:44:24,450 Leverett PfoHo, Eliot a Annenberg v tomto roku, 20:00-23:00. 855 00:44:24,450 --> 00:44:26,830 A čo sme si povedali, že to tento rok je niečo trochu iné. 856 00:44:26,830 --> 00:44:29,650 >> Ak ste počuli hrmenie že v minulom roku to bolo príliš stresujúce, to 857 00:44:29,650 --> 00:44:32,800 Tohtoročné úradné hodiny, ako budeme popisovať budúci týždeň, bude viac organický, 858 00:44:32,800 --> 00:44:36,900 kedy po príchode, budete odoslané do jednej konkrétnej tabuľky 859 00:44:36,900 --> 00:44:39,860 kde viac zamestnancami čakajú, a my budeme robiť veci oveľa viac 860 00:44:39,860 --> 00:44:40,440 organicky. 861 00:44:40,440 --> 00:44:43,740 Žiadne fronty, žiadna iPad, ale radšej intímnejší 862 00:44:43,740 --> 00:44:47,300 konverzácie okolo stola len osem alebo tak študenti, tak, že sa 863 00:44:47,300 --> 00:44:50,880 približný pocit z toho, čo inak by bola oveľa menšia triedy. 864 00:44:50,880 --> 00:44:54,120 >> Ponúkame, tiež, tieto veci my tzv priechody, videá natáčal v 865 00:44:54,120 --> 00:44:57,330 posunie o jeden z kurzu náuky chlapi, Zamyla, v ktorom 866 00:44:57,330 --> 00:45:00,690 vás prevedie týždeň problému súpravy, ktoré ponúkajú tipy a triky pre 867 00:45:00,690 --> 00:45:02,640 výzvy, ktoré ležia pred nami. 868 00:45:02,640 --> 00:45:06,230 A naopak, po základnej problémové okruhy sú vďaka, tento rok budeme tiež uvoľniť 869 00:45:06,230 --> 00:45:09,100 malé klipy volanie post-mortems, že v skutočnosti vás prevedie 870 00:45:09,100 --> 00:45:13,630 reprezentatívny riešenie, ako dobré a zlé, cez ktorý si môžete odvodiť, ako 871 00:45:13,630 --> 00:45:17,550 môžete mať, alebo by mal mať realizovaná vlastné riešenie. 872 00:45:17,550 --> 00:45:20,500 >> A čo budeme ponúkať prvýkrát aj tento rok, a to najmä 873 00:45:20,500 --> 00:45:23,420 pre študentov, ktorí využijú kurzu je iný 874 00:45:23,420 --> 00:45:28,580 zdrojov, ale napriek tomu sa stretávajú príliš veľa, kurz 875 00:45:28,580 --> 00:45:33,030 sám bude spárovať tých študentov, ako zdroje dovolia, s učiteľmi, aby 876 00:45:33,030 --> 00:45:35,840 budete mať oveľa intímnejší možnosť než jedálne dom 877 00:45:35,840 --> 00:45:38,700 umožňujú jeden na jedného pomôcť. 878 00:45:38,700 --> 00:45:42,780 >> Teraz konečnej letmý pohľad na niektoré konečných hier v nedohľadne. 879 00:45:42,780 --> 00:45:44,580 Tie by mohli byť oboznámení s CS50 hackathon. 880 00:45:44,580 --> 00:45:48,120 No, príde tento rok v decembri, od 08:00 PM do 07:00, na začiatku 881 00:45:48,120 --> 00:45:51,410 Čítanie obdobia bude mať príležitosť zhromaždiť so spolužiakmi - 882 00:45:51,410 --> 00:45:53,130 to by bolo asi 21:00 - 883 00:45:53,130 --> 00:45:56,550 počas ktorého sa ponoríte do konečnej realizácia projektu spoločne s 884 00:45:56,550 --> 00:45:59,910 spolužiaci, priatelia a jedlo. 885 00:45:59,910 --> 00:46:03,680 To by bolo asi 01:00, kedy Prvá várka potravín dorazil. 886 00:46:03,680 --> 00:46:08,470 A to je asi 04:00, že Najmä rok na CS50 hackathon. 887 00:46:08,470 --> 00:46:12,000 >> Ale pravda vyvrcholením kurzu je chcel veľtrhu CS50, areál pre celé 888 00:46:12,000 --> 00:46:15,790 Výstava z vašich vlastných finálnych projektov, ktoré rodina a priatelia sú 889 00:46:15,790 --> 00:46:18,730 vyzývajú, aby v našich personalistov a naši priatelia z priemyslu. 890 00:46:18,730 --> 00:46:22,170 To, napríklad, je pohľad 2000-plus ľudia, ktorí už sa zúčastnili 891 00:46:22,170 --> 00:46:23,160 v minulých rokoch. 892 00:46:23,160 --> 00:46:27,180 Výrazy ako je táto, nie sú nezvyčajné, a robiť to podobne 893 00:46:27,180 --> 00:46:29,660 spolužiaci potešenie z vecí, ste dosiahol. 894 00:46:29,660 --> 00:46:33,170 >> A v skutočnosti, na tento účel, máme start-of-termín udalosť, rovnako. 895 00:46:33,170 --> 00:46:37,400 Ak sa veci, ako je tento apel na vás, alebo ste aspoň zvedaví, čo 896 00:46:37,400 --> 00:46:41,590 to, viem, že nová tradícia Kurz sa nazýva CS50 Puzzle Day. 897 00:46:41,590 --> 00:46:45,710 A to bolo zavedené pár rokmi naozaj signál do areálu 898 00:46:45,710 --> 00:46:48,930 že počítačová veda nie je o programovania, a rozhodne to nie je 899 00:46:48,930 --> 00:46:51,960 o zahŕňa len tí študenti, ktorí majú predchádzajúce skúsenosti. 900 00:46:51,960 --> 00:46:54,200 Je to naozaj o riešenie problémov všeobecnejšie. 901 00:46:54,200 --> 00:46:57,360 >> A tak Puzzle deň, počas posledných niekoľkých rokov teraz, sa vyvinula v peknej 902 00:46:57,360 --> 00:47:00,500 Partnerstvo s našimi priateľmi na Facebook, kedy tam bude báječný 903 00:47:00,500 --> 00:47:04,830 ceny a pizzu cez rieku na i-lab tento rok v sobotu. 904 00:47:04,830 --> 00:47:09,180 Vypravte sa do tejto URL s dvoma alebo troma priatelia, ak chcete, aby sa podieľal 905 00:47:09,180 --> 00:47:10,830 v tejto novej tradícii. 906 00:47:10,830 --> 00:47:14,180 >> Takže by som sa chcel opýtať, že budete mať jeden vec na mysli, a máme len 907 00:47:14,180 --> 00:47:17,070 dve minúty klip, na ktorom uzavrieť dnes. 908 00:47:17,070 --> 00:47:19,640 73% je číslo pamätať. 909 00:47:19,640 --> 00:47:23,900 Tortu taky, bude na vás čakajú mimo tento transeptu, ako sme len v odročenie 910 00:47:23,900 --> 00:47:26,710 pár momentov, čo je tradícia kurzu, rovnako. 911 00:47:26,710 --> 00:47:29,860 Ale to je kľúčový citát Samozrejme je osnova mať na pamäti. 912 00:47:29,860 --> 00:47:32,820 Čo nakoniec záleží v tomto kurze nie je tak kde ste skončili 913 00:47:32,820 --> 00:47:36,580 vzhľadom k svojim spolužiakom, ale kde tie, v 12. týždni, skončí vo vzťahu k 914 00:47:36,580 --> 00:47:37,960 si v týždni 0. 915 00:47:37,960 --> 00:47:43,670 >> Ale pohľad, že opustí vás sme sa tu dnes je posledný z nich tu 916 00:47:43,670 --> 00:47:47,580 naše Danielovi, kto to urobil wrdly videa pred chvíľou. 917 00:47:47,580 --> 00:47:50,000 Nechám vás s týmto pohľad toho, čo leží pred nami. 918 00:47:50,000 --> 00:47:53,360 A ako to urobíme, keby sme mohli mať CS50 pracovníci z prednej časti miestnosti 919 00:47:53,360 --> 00:47:57,280 prísť až na javisko, aby maľovať všetky viac vizuálny obraz, aby sa 920 00:47:57,280 --> 00:47:59,100 Čo vás čaká v tomto roku - 921 00:47:59,100 --> 00:48:00,350 ako trápne. 922 00:48:00,350 --> 00:48:02,200 923 00:48:02,200 --> 00:48:05,188 Budeme uzatvárať s touto tu na obrazovke. 924 00:48:05,188 --> 00:48:18,634 >> [Prehrávanie hudby] 925 00:48:18,634 --> 00:48:21,124 >> DAVID Malan: Toto je CS50. 926 00:48:21,124 --> 00:50:00,226 >> [MUSIC - MATT & Kim, "to je v poriadku"] 927 00:50:00,226 --> 00:50:03,245 >> SPEAKER 1: Milujem CS50 viac ako mačky. 928 00:50:03,245 --> 00:50:06,030 >> SPEAKER 2: Whoaaaa! 929 00:50:06,030 --> 00:50:06,990 >> [Smiech] 930 00:50:06,990 --> 00:50:08,140 >> DAVID Malan: To je teda CS50. 931 00:50:08,140 --> 00:50:10,050 Uvidíme sa v piatok. 932 00:50:10,050 --> 00:50:13,370 >> [Potleskom a fandenie] 933 00:50:13,370 --> 00:50:17,540 >> Rozprávač: Na ďalšie CS50, na javisku demo nejde podľa plánu. 934 00:50:17,540 --> 00:50:19,080 >> DAVID Malan: Chceme nájsť Mike Smith v tomto telefónnom zozname. 935 00:50:19,080 --> 00:50:20,380 No, aké sú vaše inštinkty? 936 00:50:20,380 --> 00:50:23,750 Mohol by som skočiť približne do polovice telefónny zoznam, pozrel sa, vidieť, že 937 00:50:23,750 --> 00:50:26,830 Som na M, a teraz viem, že Mike Smith nie je na ľavej strane. 938 00:50:26,830 --> 00:50:27,840 Musí byť na pravej strane. 939 00:50:27,840 --> 00:50:30,515 A tak v tomto bode sme môžu doslova roztrhať - 940 00:50:30,515 --> 00:50:33,300 V tomto bode, môžeme doslova roztrhať - 941 00:50:33,300 --> 00:50:36,490 V tomto bode, môžeme obrazne roztrhnúť telefónny zoznam na polovicu. 942 00:50:36,490 --> 00:50:38,954 >> [Ukulele vybrnkávanie]