1 00:00:00,000 --> 00:00:03,440 >> [Přehrávání hudby] 2 00:00:03,440 --> 00:01:57,217 3 00:01:57,217 --> 00:02:00,710 >> [APPLAUSE] 4 00:02:00,710 --> 00:02:05,700 5 00:02:05,700 --> 00:02:09,669 >> David J. Malan: To je CS50, Úvod Harvard University 6 00:02:09,669 --> 00:02:12,370 k duševnímu podniky informatiky 7 00:02:12,370 --> 00:02:14,180 a umění programování. 8 00:02:14,180 --> 00:02:17,530 Nyní, pokud patříte k těm, které Každý rok se tu sedí 9 00:02:17,530 --> 00:02:21,450 s trochu nervů ve vaší mysli, jako , že si nemyslím, že sem patřím, 10 00:02:21,450 --> 00:02:24,270 si myslíte, že nejvíce někdo sedí kolem vás 11 00:02:24,270 --> 00:02:27,730 ví mnohem víc než vy, je skutečně pohodlnější než ty u počítače 12 00:02:27,730 --> 00:02:30,430 věda nebo počítače obecněji, realizovat 13 00:02:30,430 --> 00:02:36,140 že 78% studentů, kteří se se CS50 mít žádné předchozí zkušenosti. 14 00:02:36,140 --> 00:02:39,570 >> Ve skutečnosti, tam je 100 bodů tam na displeji, 78, z nichž 15 00:02:39,570 --> 00:02:43,540 jsou zeleně, která vás znamená, pokud jste mimo, že demografické, 16 00:02:43,540 --> 00:02:46,420 jsou ve velmi dobré společnosti zde na ven. 17 00:02:46,420 --> 00:02:50,320 A pokud jste místo mezi 22% CS50 studentů, kteří to opravdu 18 00:02:50,320 --> 00:02:53,920 mít předchozí zkušenost, ať už v vysoké školy nebo nějaký jiný program, 19 00:02:53,920 --> 00:02:56,430 uvědomit si, že i vy, bude být zpochybněna v průběhu. 20 00:02:56,430 --> 00:02:59,930 >> Nejen, že máme různé stopy pro studenty méně pohodlná a více 21 00:02:59,930 --> 00:03:03,789 komfortní podobně v oddílech jsme také takzvané hackerské vydání 22 00:03:03,789 --> 00:03:06,080 z nejvíce problémové okruhy, které Dotkne se těm studentům, 23 00:03:06,080 --> 00:03:09,650 s tím další zkušenosti prozkoumat podobný materiál 24 00:03:09,650 --> 00:03:12,140 ale z více sofistikovaný pohled. 25 00:03:12,140 --> 00:03:13,900 >> Ale to, co je počítačová věda? 26 00:03:13,900 --> 00:03:17,750 No, nakonec, co se děje na ohledu na to, jak si prohlédnout toto pole není 27 00:03:17,750 --> 00:03:20,500 tak kde jste skončili ve vztahu ke svým spolužákům, 28 00:03:20,500 --> 00:03:25,350 ale tam, kde vy sami skončí v týden 12 proti, kde začnete zde 29 00:03:25,350 --> 00:03:26,720 v týdnu nula. 30 00:03:26,720 --> 00:03:31,850 Nyní počítač science-- dobře, pojďme říkat věda computation-- 31 00:03:31,850 --> 00:03:35,910 kde výpočet je opravdu jen ozdobný způsob, jak říkat, přičemž nějaký vstup, 32 00:03:35,910 --> 00:03:39,460 produkovat nějaký výstup, a Přitom by se systémem algoritmů, 33 00:03:39,460 --> 00:03:43,700 sady instrukcí pro řešení nějaký problém z těchto vstupů 34 00:03:43,700 --> 00:03:48,460 aby produkoval nějaký výstup nebo řešení, ve kterém máte zájem. 35 00:03:48,460 --> 00:03:51,310 >> Takže jsme v nedávné době příležitost cestovat ven 36 00:03:51,310 --> 00:03:53,170 do Kalifornie, aby setkání s absolventkou. 37 00:03:53,170 --> 00:03:54,650 Její jméno je Susan Wojcicki. 38 00:03:54,650 --> 00:03:57,190 A ona chtěla mluvit aby jste zde na videu 39 00:03:57,190 --> 00:04:01,690 svědčit o tom, jak použít dokonce jen chuť počítače 40 00:04:01,690 --> 00:04:03,770 věda ve úvodní úroveň může být. 41 00:04:03,770 --> 00:04:06,870 Dokonce i když nechcete jít na sledovat počítačové vědy jako pole, 42 00:04:06,870 --> 00:04:09,330 nebo dokonce inženýrství, STEM nebo obecněji 43 00:04:09,330 --> 00:04:12,360 uvidíte, ve skutečnosti, jak určitá Samozřejmě tak ovlivnila její život. 44 00:04:12,360 --> 00:04:16,630 A ona jen prostě to vzal, když Byl senior zde na Harvard College. 45 00:04:16,630 --> 00:04:19,482 >> Pokud bychom mohli ztlumit světla pro Susan. 46 00:04:19,482 --> 00:04:20,690 SUSAN Wójcicki: Hello, world. 47 00:04:20,690 --> 00:04:22,100 Já jsem Susan Wojcicki. 48 00:04:22,100 --> 00:04:24,110 Jsem generální ředitel YouTube. 49 00:04:24,110 --> 00:04:29,150 A vzal jsem CS50, když jsem byl senior na Harvardu v roce 1990. 50 00:04:29,150 --> 00:04:31,220 Byl jsem vlastně historie a literatura major. 51 00:04:31,220 --> 00:04:36,760 >> A můj junior v létě, Uvědomil jsem si, že bych 52 00:04:36,760 --> 00:04:39,060 chtěl něco naučit o počítačích. 53 00:04:39,060 --> 00:04:40,930 A tak jsem se vrátil. 54 00:04:40,930 --> 00:04:42,500 Vzal jsem CS50. 55 00:04:42,500 --> 00:04:46,940 Bylo to těžké, ale bylo to nejúžasnější třída I vzal. 56 00:04:46,940 --> 00:04:49,630 >> To změnilo, jak jsem se myslet na všechno. 57 00:04:49,630 --> 00:04:55,810 A když jsem vystudoval Harvard v roce 1990, jsem šel do Silicon Valley. 58 00:04:55,810 --> 00:04:57,140 A já jsem dostal práci. 59 00:04:57,140 --> 00:05:00,150 A já jsem pracoval v tech od té doby. 60 00:05:00,150 --> 00:05:02,650 David J. Malan: Co teď Susan nezmínil v tomto videu, 61 00:05:02,650 --> 00:05:05,340 že to bylo vlastně v ní garáž, že Google sám byl 62 00:05:05,340 --> 00:05:07,420 založil Larry a Sergey. 63 00:05:07,420 --> 00:05:11,169 >> Nyní jsme se také natáhl k našim přátelům v code.org, organizace, která 64 00:05:11,169 --> 00:05:13,460 v průběhu minulého roku bylo přimět lidi, zejména 65 00:05:13,460 --> 00:05:16,520 nadšený informatice a programování, a to zejména. 66 00:05:16,520 --> 00:05:20,590 Ale je třeba poznamenat, že programování není počítačová věda sama o sobě. 67 00:05:20,590 --> 00:05:22,090 Počítačová věda není programování. 68 00:05:22,090 --> 00:05:24,560 Spíše programování je jen tool--, se kterými vás všechny 69 00:05:24,560 --> 00:05:27,510 Bude až příliš dobře obeznámeni by semestru end-- 70 00:05:27,510 --> 00:05:30,650 tak, že můžete použít ne jen proto, aby budoucí kurzy v CS 71 00:05:30,650 --> 00:05:33,670 ale jakýmikoli oblastí, odkud jedeš v humanitních, 72 00:05:33,670 --> 00:05:36,090 společenské vědy, přírodní věda, nebo podobně. 73 00:05:36,090 --> 00:05:39,740 >> Ve skutečnosti, dovolte několik dalších absolventů a jejich kolegové 74 00:05:39,740 --> 00:05:43,400 mluvit o použitelnosti pole, které čeká. 75 00:05:43,400 --> 00:05:52,340 76 00:05:52,340 --> 00:05:57,350 >> Bill Gates: Byl jsem 13, když jsem se poprvé dostal přístup k počítači. 77 00:05:57,350 --> 00:06:00,485 >> JACK DORSEY: Moji rodiče mi koupil Macintosh v roce 1984 78 00:06:00,485 --> 00:06:01,640 když mi bylo osm let starý. 79 00:06:01,640 --> 00:06:02,990 >> Mark Zuckerberg: Byl jsem v šesté třídě. 80 00:06:02,990 --> 00:06:04,670 >> SPEAKER 1: Naučil jsem se ke kódu na vysoké škole. 81 00:06:04,670 --> 00:06:09,080 >> Ruchi Sanghvi: prvním ročníku, první semestr, Úvod do informatiky. 82 00:06:09,080 --> 00:06:11,850 >> Bill Gates: Napsal jsem program který hrál tic-tac-toe. 83 00:06:11,850 --> 00:06:14,100 >> DREW HOUSTON: Myslím, že to bylo docela skromné ​​začátky. 84 00:06:14,100 --> 00:06:16,370 Myslím, že první program Napsal jsem žádal věci jako, 85 00:06:16,370 --> 00:06:17,820 Jaká je vaše oblíbená barva? 86 00:06:17,820 --> 00:06:18,696 Nebo kolik je vám let? 87 00:06:18,696 --> 00:06:21,070 ELENA SILENOK: Poprvé jsem se naučil jak se dělá zelený kruh 88 00:06:21,070 --> 00:06:23,670 a červený čtverec se objeví na obrazovce. 89 00:06:23,670 --> 00:06:25,420 Gabe NEWELL: První Doba vlastně jsem měl 90 00:06:25,420 --> 00:06:27,360 něco přijít a říct ahoj, svět. 91 00:06:27,360 --> 00:06:29,710 A udělal jsem počítač dělat. 92 00:06:29,710 --> 00:06:30,850 Bylo to prostě úžasné. 93 00:06:30,850 --> 00:06:33,224 >> Mark Zuckerberg: Učit se, jak k programu nezačala off 94 00:06:33,224 --> 00:06:35,450 jako chtít se učit všechny počítačové vědy 95 00:06:35,450 --> 00:06:38,630 nebo se snaží zvládnout tento disciplína, nebo něco takového. 96 00:06:38,630 --> 00:06:41,591 Je to jen nastupuje proto, že jsem chtěl udělat jednu jednoduchou věc. 97 00:06:41,591 --> 00:06:44,340 Chtěl jsem udělat něco, co Byla to zábava pro mě a mé sestry. 98 00:06:44,340 --> 00:06:46,399 >> A jsem napsal tento malý program. 99 00:06:46,399 --> 00:06:48,440 A pak v podstatě jen přidal trochu na to. 100 00:06:48,440 --> 00:06:49,930 A pak, když jsem potřeboval naučit se něco nového, 101 00:06:49,930 --> 00:06:52,210 Našel jsem si to, ať už v knihy nebo na internetu, 102 00:06:52,210 --> 00:06:53,240 a pak přidal trochu na to. 103 00:06:53,240 --> 00:06:56,300 >> DREW HOUSTON: Je to opravdu není na rozdíl od hraní na hudební nástroj, nebo tak něco 104 00:06:56,300 --> 00:07:00,007 nebo hraní sport. 105 00:07:00,007 --> 00:07:01,090 David J. Malan: Dobře. 106 00:07:01,090 --> 00:07:04,120 Takže dejte nám teď vlastně ponořit trochu hlouběji. 107 00:07:04,120 --> 00:07:07,430 Jaké jsou tyto vstupy a výstupy že mluvíme o tady? 108 00:07:07,430 --> 00:07:09,110 >> Tak jak je to s něčím jednoduchým? 109 00:07:09,110 --> 00:07:12,120 Asi víte, i když máte žádná znalost výpočetní techniky 110 00:07:12,120 --> 00:07:16,570 vůbec, že ​​počítače nějakým způsobem použít a chápe pouze nul a jedniček. 111 00:07:16,570 --> 00:07:20,500 Ale jak je to možné mít jak Hodně dnešní stolní počítače a notebooky podobně 112 00:07:20,500 --> 00:07:21,280 může udělat? 113 00:07:21,280 --> 00:07:24,310 >> DNA dne, jen abeceda, že chápou 114 00:07:24,310 --> 00:07:26,410 je nula nebo jedna. 115 00:07:26,410 --> 00:07:27,470 No, to považují. 116 00:07:27,470 --> 00:07:30,840 My, lidé, mají tendenci používat desítková soustava. "Prosinec", což znamená 10. 117 00:07:30,840 --> 00:07:33,970 A to je 10, protože máme 10 číslic, 0 až devět. 118 00:07:33,970 --> 00:07:36,180 >> Nyní počítače, naopak mají tendenci používat binární. 119 00:07:36,180 --> 00:07:37,270 "Bi", což znamená dva. 120 00:07:37,270 --> 00:07:39,560 Takže mají tendenci pouze nula a jedna k použití. 121 00:07:39,560 --> 00:07:42,680 Ale ukazuje se, že i jen s nulami a jedničkami, že 122 00:07:42,680 --> 00:07:45,900 je dostatečně velké abecedy s, který představují většinu 123 00:07:45,900 --> 00:07:48,490 některý údaj chcete, ať už je to číslo, 124 00:07:48,490 --> 00:07:52,100 ať už je to dopis, ať už je to grafiky nebo videa na obrazovce. 125 00:07:52,100 --> 00:07:57,140 >> Vezměme si například, jak se lidé typicky interpretují toto číslo zde. 126 00:07:57,140 --> 00:08:00,010 To je jen tři číslice, jeden, dva, tři. 127 00:08:00,010 --> 00:08:04,570 Ale my víme, toto číslo přirozeně nyní jako 123. 128 00:08:04,570 --> 00:08:05,510 Ale proč je to tak? 129 00:08:05,510 --> 00:08:07,570 >> No, pokud si myslíte, že zpět aby snad na základní škole, 130 00:08:07,570 --> 00:08:11,700 pravděpodobně jste se učili myslet Tato čísla, jako by byla ve sloupcích, 131 00:08:11,700 --> 00:08:14,700 kde jeden je ve stovkách místo, dva je v místě desítek, 132 00:08:14,700 --> 00:08:16,360 a tři jsou na místo jednotek. 133 00:08:16,360 --> 00:08:17,790 Proč je to, že ve skutečnosti užitečné? 134 00:08:17,790 --> 00:08:19,665 No, myslím, že o Super jednoduchý aritmetický 135 00:08:19,665 --> 00:08:22,219 že jsme všichni byli dělá už léta. 136 00:08:22,219 --> 00:08:24,510 Účinně, pokud máte jeden na stovky místě, 137 00:08:24,510 --> 00:08:29,610 uděláte rychlý matematiky 100 krát 1 plus 10 krát 2-- 138 00:08:29,610 --> 00:08:33,059 protože dva je v řádu desítek place-- navíc 1 krát 3-- 139 00:08:33,059 --> 00:08:34,830 protože tři je na místo jednotek. 140 00:08:34,830 --> 00:08:37,039 Takže, samozřejmě, pokud my vlastně množí se na to, 141 00:08:37,039 --> 00:08:39,600 to, co jsme skutečně představuje s tímto jedním pattern-- 142 00:08:39,600 --> 00:08:46,150 dvě tři-- 100 Plus 20 Plus 3, který, samozřejmě, je 123. 143 00:08:46,150 --> 00:08:51,130 >> Nyní binární a počítače opravdu, zásadně mluví stejným jazykem 144 00:08:51,130 --> 00:08:51,680 , co děláme. 145 00:08:51,680 --> 00:08:53,400 Oni prostě mají menší abecedu. 146 00:08:53,400 --> 00:08:57,100 Takže počítače mají pouze nuly a ty, které mají k dispozici. 147 00:08:57,100 --> 00:09:02,500 Takže zatímco my lidé mají v podstatě pravomoci 10 v každé z těchto places-- 148 00:09:02,500 --> 00:09:06,810 10 až na nulu, 10 k jedné, deset pro dva, která vám 110 a 100 149 00:09:06,810 --> 00:09:07,700 resp. 150 00:09:07,700 --> 00:09:12,140 >> Protože počítače mají pouze dvě hodnoty mohli pochopit, nula a jedna, 151 00:09:12,140 --> 00:09:16,600 mají použít různé hodnoty v těchto sloupcích, jeden, dva, čtyři. 152 00:09:16,600 --> 00:09:20,480 A pokud budeme dál, osm, 16, 32, 64, a tak dále. 153 00:09:20,480 --> 00:09:24,220 Ale vzor a mentalita je úplně stejný. 154 00:09:24,220 --> 00:09:27,340 >> Takže této logické, nikomu by se jak Chodím na číslo představuje počet 155 00:09:27,340 --> 00:09:28,530 jeden v binární? 156 00:09:28,530 --> 00:09:33,080 Pokud jste nikdy ani nenapadlo o předtím, co se vaše střeva říct? 157 00:09:33,080 --> 00:09:33,777 >> DIVÁKŮ: One. 158 00:09:33,777 --> 00:09:34,610 David J. Malan: One. 159 00:09:34,610 --> 00:09:35,660 Přesně tak. 160 00:09:35,660 --> 00:09:38,100 Potřebujeme jen jedna ku Ones místo protože nulami 161 00:09:38,100 --> 00:09:40,610 stačit, aby nás ani čtyři, ani dvě. 162 00:09:40,610 --> 00:09:42,440 Takže jedna krát jedna se rovná jedné. 163 00:09:42,440 --> 00:09:43,940 Nyní se věci trochu zajímavější. 164 00:09:43,940 --> 00:09:46,830 Pokud chci reprezentovat v binární číslo dva--, ale 165 00:09:46,830 --> 00:09:49,790 znovu, i když jste nikdy mluvený tento jazyk dříve, 166 00:09:49,790 --> 00:09:54,680 jak se můžeme reprezentovat v binárním hodnotu, kterou lidé znají jako dva? 167 00:09:54,680 --> 00:09:55,570 Nula jedna nula. 168 00:09:55,570 --> 00:09:57,620 Stačí dát jeden v sloupec, který chcete. 169 00:09:57,620 --> 00:09:59,560 >> Teď je to stále dost snadno asi teď. 170 00:09:59,560 --> 00:10:02,950 Takže pokud chci reprezentovat tři-- je sloupec ničím tři je. 171 00:10:02,950 --> 00:10:06,770 Takže znovu, nyní mohu přidat tyto hodnoty dohromady tím, že jeden tady. 172 00:10:06,770 --> 00:10:10,320 SO 2 krát 1 plus 1 krát 1 je, samozřejmě, 3. 173 00:10:10,320 --> 00:10:13,480 >> Nyní se věci trochu pobavit v že ty se stanou nuly. 174 00:10:13,480 --> 00:10:15,480 A reprezentovat čtyři, já si to. 175 00:10:15,480 --> 00:10:19,310 A pokud budeme zvyšovat pomalu tady--, že by bylo pět. 176 00:10:19,310 --> 00:10:20,700 To by bylo šest. 177 00:10:20,700 --> 00:10:22,100 To by bylo sedm. 178 00:10:22,100 --> 00:10:25,310 >> Ale teď se zdá, že mají narazit na problém. 179 00:10:25,310 --> 00:10:30,520 Jak bych mohl jít o zastupování eight-- by být další hodnota. 180 00:10:30,520 --> 00:10:31,900 Jo, takže potřebujeme nové kousky. 181 00:10:31,900 --> 00:10:33,899 A skutečně, pokud jste slyšela tuto frázi, 182 00:10:33,899 --> 00:10:37,380 bity, to je jen krátký binární číslice, nula nebo jedna. 183 00:10:37,380 --> 00:10:41,520 >> A tak jsem se stalo, že se představuje pouze tři takové kousky zde. 184 00:10:41,520 --> 00:10:44,900 Ale když jsem měl možnost ukládání není tři různé kousky, ale čtyři, 185 00:10:44,900 --> 00:10:47,250 Jistě bych mohl představovat osm, a pak devět, a pak 186 00:10:47,250 --> 00:10:49,400 10, a ještě výš a výš. 187 00:10:49,400 --> 00:10:52,140 >> Ale to pak volá na otázku, jak můžeme 188 00:10:52,140 --> 00:10:54,540 jít o zobrazování těchto věci na prvním místě. 189 00:10:54,540 --> 00:10:56,950 To je jedna věc k tomu je tady na snímku, 190 00:10:56,950 --> 00:11:00,660 ale jak si je představují pokud jste mechanické zařízení? 191 00:11:00,660 --> 00:11:04,390 Co je to počítač dělá představují vstupy a výstupy, které 192 00:11:04,390 --> 00:11:09,020 zásadně definují výpočet Na konci dne? 193 00:11:09,020 --> 00:11:12,090 >> No, co o něčem super jednoduché takhle? 194 00:11:12,090 --> 00:11:13,200 Je to jen žárovka. 195 00:11:13,200 --> 00:11:15,460 A mohu spustit tento žárovka dál 196 00:11:15,460 --> 00:11:17,920 otočením nějaké elektrické energie na a umožňující elektrony 197 00:11:17,920 --> 00:11:22,585 protékat, kterým se mění její stát nebo jeho hodnota, abych tak řekl. 198 00:11:22,585 --> 00:11:24,460 Například, to je old school stolní lampa 199 00:11:24,460 --> 00:11:27,250 tady se jedna taková Žárovka uvnitř ní. 200 00:11:27,250 --> 00:11:29,940 A právě teď, že to není opravdu dělají něco užitečného. 201 00:11:29,940 --> 00:11:32,680 Ale jakmile jsem ji připojte do elektrické zásuvky 202 00:11:32,680 --> 00:11:36,390 a poté použijte tuto switch-- nebo můžeme dokonce říkat tranzistor 203 00:11:36,390 --> 00:11:39,970 nebo myslíte, že na to, jak such-- Nyní mohu reprezentovat buď 204 00:11:39,970 --> 00:11:44,120 Tato hodnota, kde je žárovka samozřejmě mimo, nebo je tato hodnota. 205 00:11:44,120 --> 00:11:46,060 Tato hodnota, nebo je tato hodnota. 206 00:11:46,060 --> 00:11:47,520 Tato hodnota, a tak dále. 207 00:11:47,520 --> 00:11:51,220 >> Takže uvnitř počítače, pravděpodobně, jsou mnohem menší kusy hardwaru, 208 00:11:51,220 --> 00:11:52,970 ale, že na konci dne jednoduše 209 00:11:52,970 --> 00:11:55,360 použít electricity-- Možná zachytit to-- 210 00:11:55,360 --> 00:11:59,730 a pak buď držet něco nebo držet něco vypnout. 211 00:11:59,730 --> 00:12:02,021 Samozřejmě, že to není zvláště zajímavé dělat 212 00:12:02,021 --> 00:12:03,270 pouze s jedinou žárovkou. 213 00:12:03,270 --> 00:12:06,726 >> Ve skutečnosti, jak vysoko můžu počítat v binární s tímto tady lampou? 214 00:12:06,726 --> 00:12:07,420 >> DIVÁKŮ: One. 215 00:12:07,420 --> 00:12:08,545 >> David J. Malan: Jedna, že jo? 216 00:12:08,545 --> 00:12:11,020 Potřebuju víc stolní lampy, když vlastně chcete spočítat vyšší. 217 00:12:11,020 --> 00:12:12,210 Ale můžeme udělat lépe než to. 218 00:12:12,210 --> 00:12:14,460 Vzhledem k tomu, že žárovky dali jsme v těchto věcech 219 00:12:14,460 --> 00:12:17,730 jsou ve skutečnosti milovník žárovky než minulý rok by umožnila. 220 00:12:17,730 --> 00:12:20,310 A oni jsou vlastně síťové žárovky. 221 00:12:20,310 --> 00:12:23,160 A svazky firem aby tyto věci v těchto dnech. 222 00:12:23,160 --> 00:12:25,190 >> Ale ukázalo se, že tahle zejména 223 00:12:25,190 --> 00:12:27,680 přichází s funkcí, přičemž můžete změnit jeho barvu. 224 00:12:27,680 --> 00:12:30,810 Tak například, pokud zdobí své koleji pokoj 225 00:12:30,810 --> 00:12:33,200 s několika z těchto světla cibule, v závislosti na vaší náladě, 226 00:12:33,200 --> 00:12:35,366 v závislosti na tom, kdo přijde, v závislosti na počasí, 227 00:12:35,366 --> 00:12:37,360 v závislosti na čase dne, můžete skutečně 228 00:12:37,360 --> 00:12:40,300 změnit barvy žárovky ve svém pokoji. 229 00:12:40,300 --> 00:12:43,740 A to proto, že tyto světla žárovky a jemu podobné to, co je 230 00:12:43,740 --> 00:12:48,010 volal API, aplikace programovací rozhraní, které 231 00:12:48,010 --> 00:12:50,920 je téma, se kterým budete dobře obeznámeni s koncem semestru. 232 00:12:50,920 --> 00:12:53,710 >> A to je jen fantazie, mystický způsob, jak říct, 233 00:12:53,710 --> 00:12:57,570 můžete naprogramovat tyto světla žárovky dělat svou příkazy. 234 00:12:57,570 --> 00:13:00,360 Můžete je posílat zprávy stejně jako vy, člověk, 235 00:13:00,360 --> 00:13:03,640 můžete poslat zprávu na webový server řekl, dej mi dnešní novinky 236 00:13:03,640 --> 00:13:05,110 nebo mi můj e-mail. 237 00:13:05,110 --> 00:13:08,010 >> Můžete poslat více tajemný Zprávy těchto žárovek 238 00:13:08,010 --> 00:13:09,700 říci, zapnout a vypnout. 239 00:13:09,700 --> 00:13:11,370 Ale to není všechno, že zajímavé. 240 00:13:11,370 --> 00:13:14,280 Můžete říci, zapněte červený, zapnout zelené, zapnout modré, 241 00:13:14,280 --> 00:13:15,990 všechny se stejným žárovkou. 242 00:13:15,990 --> 00:13:20,990 A dokonce můžete, s trochu více důvtipný, řekněme, obrátit se na modrou 243 00:13:20,990 --> 00:13:24,710 když je to pochmurný den venku, například. 244 00:13:24,710 --> 00:13:27,910 To může skutečně opravit do Počasí API a zjistit, 245 00:13:27,910 --> 00:13:32,260 jaké počasí je, nebo čas denní, nebo jiných takových spouští. 246 00:13:32,260 --> 00:13:35,550 >> Takže, ve skutečnosti, dva Vlastní zaměstnanci CS50 je, 247 00:13:35,550 --> 00:13:38,827 Dan Bradley a Ansel Duff sem laskavě opatřil 248 00:13:38,827 --> 00:13:40,410 nás celá parta z těchto žárovek. 249 00:13:40,410 --> 00:13:42,910 A oni stavěli CS50'S vůbec první binární cibule, 250 00:13:42,910 --> 00:13:46,850 kde jsme zastoupeni tady-- s těmito hravé malé magnets-- 251 00:13:46,850 --> 00:13:49,780 různé zástupné symboly my zmiňoval před jen trochu. 252 00:13:49,780 --> 00:13:52,572 >> Takže cesta sem je Ones místo, dva, čtyři. 253 00:13:52,572 --> 00:13:54,030 A my jsme neviděli vyšší, než je. 254 00:13:54,030 --> 00:13:55,613 Ale, samozřejmě, že jsou síly dva. 255 00:13:55,613 --> 00:13:59,490 Osm, 16, 32, 64 a 128. 256 00:13:59,490 --> 00:14:03,320 Takže pokud bych chtěl, aby se trochu milovník než při použití této staré školy přepínač, 257 00:14:03,320 --> 00:14:07,310 Mám zde na tomto iPadu Super jednoduché rozhraní 258 00:14:07,310 --> 00:14:10,440 že Dan Bradley, bývalý student a nyní učí člověk, 259 00:14:10,440 --> 00:14:13,510 naprogramovaný pomocí některé HTML a JavaScript, které 260 00:14:13,510 --> 00:14:15,685 jsou značky a programování jazyky, resp. 261 00:14:15,685 --> 00:14:17,560 A můžete pravděpodobně see-- iv back-- 262 00:14:17,560 --> 00:14:21,670 tam je velké plus a velké mínus, navíc jedno tlačítko pro každý z těchto žárovek. 263 00:14:21,670 --> 00:14:25,740 A co tohle mi umožní to je, například, klepněte na znaménko plus 264 00:14:25,740 --> 00:14:28,250 a nyní představují, z Samozřejmě, že to číslo? 265 00:14:28,250 --> 00:14:28,750 One. 266 00:14:28,750 --> 00:14:30,220 A já jej udeřil znovu. 267 00:14:30,220 --> 00:14:31,480 Dva. 268 00:14:31,480 --> 00:14:32,800 Tři. 269 00:14:32,800 --> 00:14:33,950 Čtyři. 270 00:14:33,950 --> 00:14:35,200 Pět. 271 00:14:35,200 --> 00:14:36,360 Six. 272 00:14:36,360 --> 00:14:36,880 Seven. 273 00:14:36,880 --> 00:14:40,740 >> A teď tady máme ten efekt přechodu, ale máme čtvrtiny trochu tentokrát, 274 00:14:40,740 --> 00:14:42,180 Takže teď máme osm. 275 00:14:42,180 --> 00:14:44,000 Takže bychom to mohli udělat pro docela nějaký čas. 276 00:14:44,000 --> 00:14:46,530 Ve skutečnosti, jak je stranou, jak vysoko můžeme počítat? 277 00:14:46,530 --> 00:14:48,318 Každý, kdo? 278 00:14:48,318 --> 00:14:49,270 >> Diváků: 255. 279 00:14:49,270 --> 00:14:51,420 >> David J. Malan: 255, že jo? 280 00:14:51,420 --> 00:14:54,900 Nebojte se příliš mnoho o matematice pro teď, ale to je docela slušné číslo. 281 00:14:54,900 --> 00:14:59,140 Ale to vlastně není vázán jen kolik kusů informací, 282 00:14:59,140 --> 00:15:01,760 jako dopis nebo grafiku že bychom mohli reprezentovat. 283 00:15:01,760 --> 00:15:02,697 >> Ale bez ohledu na to, pro teď. 284 00:15:02,697 --> 00:15:04,530 Chystám se jít dopředu a zase je všechno pryč. 285 00:15:04,530 --> 00:15:09,670 A kdybych mohl, tak bych se chtěl zeptat na dobrovolník, naše první volunteer-- 286 00:15:09,670 --> 00:15:11,342 oh, hello-- na jevišti. 287 00:15:11,342 --> 00:15:14,050 Háček je v tom, musíte být pohodlné objevit, jak jste jasně 288 00:15:14,050 --> 00:15:17,421 jsou v přední části všech vašich spolužáků, , jakož i na internetu. 289 00:15:17,421 --> 00:15:20,420 A dovolte mi, abych vypadat trochu mimo to-- jak je to tady v bílé košili? 290 00:15:20,420 --> 00:15:20,920 A ruku nahoru. 291 00:15:20,920 --> 00:15:22,071 Pojď nahoru. 292 00:15:22,071 --> 00:15:22,820 Jaké je vaše jméno? 293 00:15:22,820 --> 00:15:23,760 >> DIVÁKŮ: Jackie. 294 00:15:23,760 --> 00:15:24,718 >> David J. Malan: Jackie. 295 00:15:24,718 --> 00:15:25,820 Jackie, pojď nahoru. 296 00:15:25,820 --> 00:15:29,820 Takže to, co tam je také na tomto iPad je tlačítko s názvem Game Mode. 297 00:15:29,820 --> 00:15:32,570 A to Herní režim je mě umožnit vstup 298 00:15:32,570 --> 00:15:35,780 v předstihu zejména desetinné číslo, čísla my, lidé jsou 299 00:15:35,780 --> 00:15:36,760 znáte. 300 00:15:36,760 --> 00:15:39,820 A pak budete mít za úkol Zde pomocí tlačítek 301 00:15:39,820 --> 00:15:42,140 na top-- jeden pro Každý z těchto bulbs-- 302 00:15:42,140 --> 00:15:45,050 skutečně zjistit, model žárovky 303 00:15:45,050 --> 00:15:46,970 , který představuje číslo v otázce. 304 00:15:46,970 --> 00:15:47,790 >> A je mi líto, co se jmenujete? 305 00:15:47,790 --> 00:15:48,250 >> DIVÁKŮ: Jackie. 306 00:15:48,250 --> 00:15:48,620 >> David J. Malan: Jackie. 307 00:15:48,620 --> 00:15:48,920 V pořádku. 308 00:15:48,920 --> 00:15:49,740 Rád vás poznávám. 309 00:15:49,740 --> 00:15:54,580 >> Tak nech mě jít napřed a program aby se svět vidět číslo 15. 310 00:15:54,580 --> 00:15:56,360 Budeme si to malý nejprve zde. 311 00:15:56,360 --> 00:15:58,240 A já jdu do režimu hry. 312 00:15:58,240 --> 00:16:01,160 A budu specifikovat, nám číslo 15. 313 00:16:01,160 --> 00:16:01,900 >> OK. 314 00:16:01,900 --> 00:16:05,510 A teď se všichni watching-- pokud Chcete-li možná stát tímto způsobem, 315 00:16:05,510 --> 00:16:09,970 protože to bude linka up-- pokračovat a přepínat mezi osmi tlačítek podél horní 316 00:16:09,970 --> 00:16:12,530 otočit žárovek na nebo vypnout, jak uznáte za vhodné. 317 00:16:12,530 --> 00:16:13,530 >> DIVÁKŮ: OK. 318 00:16:13,530 --> 00:16:17,720 >> David J. Malan: A žádný podvádění tím, že udeří a 15 krát. 319 00:16:17,720 --> 00:16:19,275 Oh, budeme dělat, že. 320 00:16:19,275 --> 00:16:20,069 >> DIVÁKŮ: Oh, počkej. 321 00:16:20,069 --> 00:16:20,610 Je mi to tak líto. 322 00:16:20,610 --> 00:16:22,660 >> David J. Malan: Můžete také zapnout Žárovky na individuálně 323 00:16:22,660 --> 00:16:24,076 s každou z těchto tlačítek nahoře. 324 00:16:24,076 --> 00:16:24,844 DIVÁKŮ: Oh, OK. 325 00:16:24,844 --> 00:16:27,429 Tak to by bylo jako-- 326 00:16:27,429 --> 00:16:28,220 David J. Malan: OK. 327 00:16:28,220 --> 00:16:29,100 Takže teď máme osm. 328 00:16:29,100 --> 00:16:31,280 Takže pojďme pozastavit publikum, aby se zapojily zde. 329 00:16:31,280 --> 00:16:34,300 Jaké číslo je Jackie V současné době zastupuje? 330 00:16:34,300 --> 00:16:34,800 11. 331 00:16:34,800 --> 00:16:35,730 Jsme tak skoro tam. 332 00:16:35,730 --> 00:16:38,360 333 00:16:38,360 --> 00:16:39,630 A vynikající. 334 00:16:39,630 --> 00:16:41,487 Takže máme prvního vítěze. 335 00:16:41,487 --> 00:16:42,445 Blahopřejeme. 336 00:16:42,445 --> 00:16:48,200 >> A my jsme si mysleli, že mají některé báječné dárky. 337 00:16:48,200 --> 00:16:50,860 Pokud byste chtěli, aby se jeden takový koleji pokoj tady na akademické půdě, 338 00:16:50,860 --> 00:16:56,126 můžete si mít závěrečný projekt pomocí se toto rozhraní API, díky Jackie. 339 00:16:56,126 --> 00:16:57,050 Takže teď-- 340 00:16:57,050 --> 00:16:58,902 >> [APPLAUSE] 341 00:16:58,902 --> 00:17:01,690 342 00:17:01,690 --> 00:17:04,839 >> --if jsme mohli, jeden jako kolem tohoto. 343 00:17:04,839 --> 00:17:07,690 Oh, teď chce každý pár žárovek. 344 00:17:07,690 --> 00:17:11,790 Pro takzvané hacker vydání, budeme rozjet to a-- oh, 345 00:17:11,790 --> 00:17:12,770 jo, nic neříkající. 346 00:17:12,770 --> 00:17:16,010 Myslím si, že jedeš se nyní pokud vaše ruka jde dolů. 347 00:17:16,010 --> 00:17:16,800 Jaké je vaše jméno? 348 00:17:16,800 --> 00:17:17,424 >> DIVÁKŮ: Alex. 349 00:17:17,424 --> 00:17:19,440 David J. Malan: Alexi, pojď sem. 350 00:17:19,440 --> 00:17:26,190 Takže pro Alexe, budeme Program v mírně větším počtu. 351 00:17:26,190 --> 00:17:27,790 Možná, že v pořádku. 352 00:17:27,790 --> 00:17:29,110 Číslo 50. 353 00:17:29,110 --> 00:17:29,744 >> DIVÁKŮ: OK. 354 00:17:29,744 --> 00:17:31,660 David J. Malan: Ale, jak I said-- a ty by mohly 355 00:17:31,660 --> 00:17:33,580 chtějí postavit tu tak že tlačítka line up 356 00:17:33,580 --> 00:17:37,115 jako byste expect-- ale já jsem Nazývám to hacker vydání. 357 00:17:37,115 --> 00:17:47,125 Tak-- hodně štěstí! 358 00:17:47,125 --> 00:17:48,416 >> [SMÍCH] 359 00:17:48,416 --> 00:17:58,570 360 00:17:58,570 --> 00:18:02,050 >> Budete mít možnost se obrátit je vypnutý, pokud ty-- OK. 361 00:18:02,050 --> 00:18:02,880 Výborně. 362 00:18:02,880 --> 00:18:03,675 Wonderful. 363 00:18:03,675 --> 00:18:04,341 Blahopřejeme. 364 00:18:04,341 --> 00:18:08,730 >> [APPLAUSE] 365 00:18:08,730 --> 00:18:10,355 Myslím, že bych měl zaplatit. 366 00:18:10,355 --> 00:18:11,830 Gratulujeme Alex stejně. 367 00:18:11,830 --> 00:18:12,330 OK. 368 00:18:12,330 --> 00:18:15,550 >> Takže konečné stánek s jídlem tady je snad, upřímně řečeno, 369 00:18:15,550 --> 00:18:18,109 simplicity-- jednoduchost, se kterou 370 00:18:18,109 --> 00:18:20,650 můžete získat nějaké pěkné světlo žárovky, zřejmě v [neslyšitelné]. 371 00:18:20,650 --> 00:18:23,000 Ale představují, nakonec, stejné myšlenky 372 00:18:23,000 --> 00:18:26,310 s jakou my lidé jsme již příliš známé. 373 00:18:26,310 --> 00:18:28,660 Takže to, co je možné, že další krok je v progresi 374 00:18:28,660 --> 00:18:30,920 že se snaží dělat něco zajímavé údaje 375 00:18:30,920 --> 00:18:34,950 a představující vstupy, které jsou nejen čísla, ale jsou možná dopisy nebo více? 376 00:18:34,950 --> 00:18:37,820 >> No, ukázalo se, že počítačový svět, na mnoho let, 377 00:18:37,820 --> 00:18:43,300 prostě přijala libovolný, ale odpovídá standardu, který mapuje čísla 378 00:18:43,300 --> 00:18:44,610 písmen abecedy. 379 00:18:44,610 --> 00:18:47,120 Například, je zde výňatek z tohoto mapování. 380 00:18:47,120 --> 00:18:48,350 Tomu se říká ASCII. 381 00:18:48,350 --> 00:18:53,220 -S-C-I-I. A to je prostě tabulka, která mapuje uppercase letters-- 382 00:18:53,220 --> 00:18:56,600 v tomto case-- na desítkové číslo. 383 00:18:56,600 --> 00:18:57,890 >> Ale co je důsledek? 384 00:18:57,890 --> 00:19:01,090 No, pokud jste skutečně chtějí reprezentovat něco jako e-mail, nebo nějaký text 385 00:19:01,090 --> 00:19:03,310 na webové stránce, můžete zřejmě chtějí ukázat 386 00:19:03,310 --> 00:19:06,100 lidské dopisy abeceda, ne čísla. 387 00:19:06,100 --> 00:19:09,140 Takže v závislosti na rámci programu 388 00:19:09,140 --> 00:19:12,600 že uživatel používá, pokud je to webový prohlížeč nebo e-mailový klient, 389 00:19:12,600 --> 00:19:16,090 Čísla mohou být pro interpretovat jako písmena. 390 00:19:16,090 --> 00:19:20,290 To znamená, že vzory bitů může snadno interpretovat jako písmena. 391 00:19:20,290 --> 00:19:24,700 >> A tak to, co můžeme mít je písmeno bytost 392 00:19:24,700 --> 00:19:28,410 reprezentován jako 65, B je reprezentován jako 66. 393 00:19:28,410 --> 00:19:30,900 Takže pokud máme super krátké slovo, stejně jako hi, 394 00:19:30,900 --> 00:19:35,740 co počítačový by nakonec obchod v desítkové soustavě, ale opravdu binární, 395 00:19:35,740 --> 00:19:40,070 používat některé sekvence bitů, využití trochu elektřiny nějakým způsobem, 396 00:19:40,070 --> 00:19:44,010 by být dvě čísla 72 a 73. 397 00:19:44,010 --> 00:19:46,780 >> Ale vzor bitů představuje tyto hodnoty. 398 00:19:46,780 --> 00:19:49,820 Tak to pak je, jak můžeme Zastupujeme vstupy a výstupy. 399 00:19:49,820 --> 00:19:52,630 A stačí, když řeknu, můžeme dělat složitější reprezentace 400 00:19:52,630 --> 00:19:56,450 nakonec se věci, jako je grafika, videa, hudbu a další 401 00:19:56,450 --> 00:19:58,190 jak uvidíme později tento termín. 402 00:19:58,190 --> 00:20:00,630 >> Tak to prostě odejde a pak algoritmy, tyto soubory 403 00:20:00,630 --> 00:20:03,490 pokynů, s nimiž máme řešení konkrétních problémů. 404 00:20:03,490 --> 00:20:05,820 Jsme předáním vstupy do algoritmu. 405 00:20:05,820 --> 00:20:09,630 A ty algoritmy produkují výstupy, snad správné výstupy 406 00:20:09,630 --> 00:20:14,160 a doufejme, že také, efektivně shromáždili výstupy. 407 00:20:14,160 --> 00:20:16,890 Jinými slovy, to je jedna věc, realizovat správně něco. 408 00:20:16,890 --> 00:20:20,790 To je další věc, kterou k realizaci něco dobře nebo efektivně. 409 00:20:20,790 --> 00:20:23,690 >> Například, jeden demonstrace že jsme rádi v průběhu 410 00:20:23,690 --> 00:20:24,460 je to jedna. 411 00:20:24,460 --> 00:20:26,345 Ale tyto věci jsou stále stále těžké najít. 412 00:20:26,345 --> 00:20:28,930 Ale to je opravdu staré školy telefonní seznam, uvnitř které 413 00:20:28,930 --> 00:20:32,580 jsou 1000, plus stránky Jména a telefonní čísla. 414 00:20:32,580 --> 00:20:34,830 A když jsem chtěl vyhledat někdo v tomto telefonním seznamu, 415 00:20:34,830 --> 00:20:38,640 Nemohl jsem prostě dělat velmi naivní algoritmus. 416 00:20:38,640 --> 00:20:42,150 Nemohl jsem otevřít na první stránku, a Mohl bych začít hledat, řekněme, někdo 417 00:20:42,150 --> 00:20:43,130 jmenoval Mike Smith. 418 00:20:43,130 --> 00:20:46,160 A když to není na první stránky, jsem postoupit do druhého, 419 00:20:46,160 --> 00:20:49,120 a pak třetí, a potom na čtvrtý, a tak dále, 420 00:20:49,120 --> 00:20:51,430 až jsem konečně najít Mike Smith. 421 00:20:51,430 --> 00:20:53,010 >> Nyní je to algoritmus správný? 422 00:20:53,010 --> 00:20:53,896 >> Hlediště: Ano. 423 00:20:53,896 --> 00:20:54,248 >> David J. Malan: Jo. 424 00:20:54,248 --> 00:20:56,039 Jestli je tam, budu nakonec ho najít. 425 00:20:56,039 --> 00:20:58,820 Ale to pravděpodobně není příliš efektivní, určitě ne rychle, 426 00:20:58,820 --> 00:21:01,200 protože, můj bože, proč jsem plýtvat mým časem obracející 427 00:21:01,200 --> 00:21:04,500 přes všechny tyto stránky, když jsem se mohl Určitě to fyzicky rychleji? 428 00:21:04,500 --> 00:21:08,210 >> No, mírné optimalizace, tak mluvit, nemusí být vždy jednu stránku najednou, 429 00:21:08,210 --> 00:21:11,610 ale dvě, čtyři, šest, osm, deset. 430 00:21:11,610 --> 00:21:12,725 Stále je to tak? 431 00:21:12,725 --> 00:21:14,030 >> Diváků: Ne 432 00:21:14,030 --> 00:21:17,040 >> David J. Malan: Takže ne, jestli jsem pro instance přeskočit Mike Smith. 433 00:21:17,040 --> 00:21:20,530 Ale tak dlouho, jak jsem se pedál jednu stranu, když jsem ho přesahovat, 434 00:21:20,530 --> 00:21:25,240 možná bychom mohli napravit to, co mohlo by být jinak gotcha. 435 00:21:25,240 --> 00:21:26,020 >> Ale je to lepší? 436 00:21:26,020 --> 00:21:27,469 Je to rychlejší? 437 00:21:27,469 --> 00:21:28,010 Myslím, že jo. 438 00:21:28,010 --> 00:21:30,950 Je to doslova dvakrát tak rychle, když to udělám dvě stránky najednou. 439 00:21:30,950 --> 00:21:35,720 Takže když jsem původně měl 1000 stran, Teď mám jen otočit 500 krát, 440 00:21:35,720 --> 00:21:39,429 nejsou plně 1.000 stran, aby si případně v nejhorším případě 441 00:21:39,429 --> 00:21:41,220 na konci telefonu kniha, kde někdo 442 00:21:41,220 --> 00:21:44,380 jako je Mike Smith, nebo někoho, kdo se později jméno by mohlo být ve skutečnosti. 443 00:21:44,380 --> 00:21:46,540 >> Ale, samozřejmě, jsme lidé rozhodně nejsou 444 00:21:46,540 --> 00:21:49,250 bude dělat, že určitě není v tomto okamžiku v našem životě. 445 00:21:49,250 --> 00:21:51,454 Co je to rozumné člověk pravděpodobně dělat? 446 00:21:51,454 --> 00:21:52,870 Diváků: Jdi přímo na the9 S let. 447 00:21:52,870 --> 00:21:53,860 David J. Malan: Jdi přímo na S let? 448 00:21:53,860 --> 00:21:55,563 Jak mám jít rovnou do S let? 449 00:21:55,563 --> 00:21:57,342 >> Diváků: Rip jej v polovině. 450 00:21:57,342 --> 00:21:59,050 David J. Malan: No, není označení. 451 00:21:59,050 --> 00:22:02,116 Takže ano, v případě, že byly skutečně Štítek nebo kartu lepkavá pro S, 452 00:22:02,116 --> 00:22:03,240 bychom měli skočit rovnou tam. 453 00:22:03,240 --> 00:22:05,420 Ale je to docela neškodné. 454 00:22:05,420 --> 00:22:08,480 Takže nejlepší, co mohu udělat, je zhruba v sekci S nebo možná zhruba 455 00:22:08,480 --> 00:22:09,650 do středu. 456 00:22:09,650 --> 00:22:12,110 Ale hlavní jídlo s sebou teď-- a intuice 457 00:22:12,110 --> 00:22:14,430 že jste si vzal na udělena pro roky probably-- 458 00:22:14,430 --> 00:22:17,103 je to, že to, co děláte teď přátele o tomto problému? 459 00:22:17,103 --> 00:22:19,320 >> Diváků: [neslyšitelné] 460 00:22:19,320 --> 00:22:22,290 >> David J. Malan: Mike Smith je jistě není v této polovině problému 461 00:22:22,290 --> 00:22:25,600 protože Smith přichází po polovině což je zhruba sekce M, 462 00:22:25,600 --> 00:22:26,510 se zdá být. 463 00:22:26,510 --> 00:22:30,340 Takže jak jste mohli vidět na Visitas, můžeme nyní doslova 464 00:22:30,340 --> 00:22:31,737 trhat tento problém na polovinu. 465 00:22:31,737 --> 00:22:32,320 Diváků: Woo! 466 00:22:32,320 --> 00:22:33,690 David J. Malan: Je to stále snazší a jednodušší. 467 00:22:33,690 --> 00:22:34,666 [APPLAUSE] 468 00:22:34,666 --> 00:22:36,618 Tady to je. 469 00:22:36,618 --> 00:22:39,060 [SMÍCH] 470 00:22:39,060 --> 00:22:41,870 A teď jsem v podstatě mají stejný problém, 471 00:22:41,870 --> 00:22:43,866 ale je to doslova poloviny tak velký. 472 00:22:43,866 --> 00:22:45,240 Jsem stále hledají Mike Smith. 473 00:22:45,240 --> 00:22:47,950 A troufám si říct, můžu pořád podívejte se na něj stejným způsobem, 474 00:22:47,950 --> 00:22:51,200 rozdělit problém na polovinu opět trhá problém znovu 475 00:22:51,200 --> 00:22:54,140 na polovinu, což mě teď opouští s problém čtvrtiny velikosti, 476 00:22:54,140 --> 00:22:58,710 dramaticky hodit, že polovina pryč, a tento proces opakovat znovu a znovu 477 00:22:58,710 --> 00:23:01,150 a znovu se podíval dolů v každém bodě vidět 478 00:23:01,150 --> 00:23:03,400 pokud Mike Smith je na stránky se jedná. 479 00:23:03,400 --> 00:23:06,190 >> Teď, když mám toto právo, nakonec jsem se to najít 480 00:23:06,190 --> 00:23:11,085 s jedinou stránku, na které Mike Smith je, jestli je opravdu v telefonním seznamu. 481 00:23:11,085 --> 00:23:13,510 Samozřejmě, že jsem mohl nikdy volat znovu Mike. 482 00:23:13,510 --> 00:23:18,800 Ale zde je, že když jsme začali s 1000 stránkami, můj první algoritmus, 483 00:23:18,800 --> 00:23:21,620 otočit stránku, možná 1000 times-- Určitě méně, protože je to 484 00:23:21,620 --> 00:23:26,430 Název S a ne jméno Z, ale jako tolik jako 1000 stran potenciálně. 485 00:23:26,430 --> 00:23:27,590 >> Druhý algoritmus, lépe. 486 00:23:27,590 --> 00:23:28,480 500 stran. 487 00:23:28,480 --> 00:23:31,230 Za třetí algoritmus, ačkoli, kolik kroků by to 488 00:23:31,230 --> 00:23:35,520 se rozdělit 1000 stránky telefonní seznam na dvě poloviny, jako je tohle? 489 00:23:35,520 --> 00:23:37,000 10, dávat nebo brát. 490 00:23:37,000 --> 00:23:40,770 Takže jen listovala, že telefonní seznam, potápění a dobývání, 491 00:23:40,770 --> 00:23:46,130 abych tak řekl, 10 krát, udělám můj způsob, jak se k jen jedné straně. 492 00:23:46,130 --> 00:23:48,880 >> A tak můžeme zachytit tuto intuici teď trochu graficky 493 00:23:48,880 --> 00:23:51,320 pokud jste právě v úvahu Super jednoduchý graf. 494 00:23:51,320 --> 00:23:55,470 Jsme na ose x, nebo horizontální osa, je velikost mého problému, 495 00:23:55,470 --> 00:23:57,100 počet stránek v telefonním seznamu. 496 00:23:57,100 --> 00:23:59,040 A počítačoví odborníci obvykle s oblibou nazývají 497 00:23:59,040 --> 00:24:02,180 velikost problému n, kde n je jen některé proměnné, které 498 00:24:02,180 --> 00:24:04,310 represents-- v tomto case-- počet stránek. 499 00:24:04,310 --> 00:24:07,412 >> Vertikální, nebo y-osa, zde je bude k řešení, 500 00:24:07,412 --> 00:24:09,870 Možná, že počet stránek zatáček, Možná, že počet sekund 501 00:24:09,870 --> 00:24:11,960 nebo minuty, bez ohledu na Váš měrná jednotka je. 502 00:24:11,960 --> 00:24:14,337 A tak se červená čára představuje první algoritmus, 503 00:24:14,337 --> 00:24:16,670 protože tam je jedna až jedna vztah mezi počtem 504 00:24:16,670 --> 00:24:18,880 stránek a množství času to bere. 505 00:24:18,880 --> 00:24:22,240 >> Pokud Verizon zdvojnásobuje počet stránky v telefonním seznamu v příštím roce, 506 00:24:22,240 --> 00:24:24,590 můj běh time-- Potřebný čas k provedení 507 00:24:24,590 --> 00:24:27,610 že první algorithm-- zdvojnásobí v nejhorším případě. 508 00:24:27,610 --> 00:24:30,690 Ale druhý algoritmus, kde jsem mizerný dva, 509 00:24:30,690 --> 00:24:33,650 vyžaduje méně času na daný problém velikosti. 510 00:24:33,650 --> 00:24:36,090 Takže pokud jsem to mnoho pages tady-- upozornění 511 00:24:36,090 --> 00:24:38,870 že žlutá čára navrhuje méně času na řešení. 512 00:24:38,870 --> 00:24:42,490 A opravdu, to znamená, budeme říkat, n více než dvě. 513 00:24:42,490 --> 00:24:47,717 >> Ale co je tvar třetího a poslední křivka bude vypadat? 514 00:24:47,717 --> 00:24:50,800 Jo, je to opravdu bude look-- I Nevím, co jsi chtěl říct. 515 00:24:50,800 --> 00:24:52,300 Ale pojďme se podívat, co jsi chtěl říct. 516 00:24:52,300 --> 00:24:53,280 >> Diváků: Takhle. 517 00:24:53,280 --> 00:24:57,060 >> David J. Malan: Bude to vypadat to, logaritmická slope-- exactly-- 518 00:24:57,060 --> 00:24:59,770 kdy budete mít tento podivný sklon. 519 00:24:59,770 --> 00:25:01,235 Už to není přímka. 520 00:25:01,235 --> 00:25:05,000 A co je přesvědčivé o tom, že , i když je nyní graf odříznut, 521 00:25:05,000 --> 00:25:07,790 můžete extrapolovat ve vašem nevadí, že zelená linka není 522 00:25:07,790 --> 00:25:10,060 bude zvýšení Výška tak moc 523 00:25:10,060 --> 00:25:13,500 jak budete postupovat dál se stanoví, že horizontální osy. 524 00:25:13,500 --> 00:25:15,890 >> Ve skutečnosti, Verizon, pro instance, by mohl znamenat zdvojnásobení 525 00:25:15,890 --> 00:25:19,100 počet stránek v telefonu Kniha od tohoto roku a příští rok 526 00:25:19,100 --> 00:25:22,140 od 1000 do 2000 strany, ale žádný velký problém. 527 00:25:22,140 --> 00:25:24,960 S touto třetí a poslední, je tu intuitivní algoritmus 528 00:25:24,960 --> 00:25:26,209 dělení a dobývání. 529 00:25:26,209 --> 00:25:29,000 Bude mi trvat, kolik kroky příští rok najít někoho, 530 00:25:29,000 --> 00:25:29,700 jako Mike Smith? 531 00:25:29,700 --> 00:25:30,560 >> DIVÁKŮ: One. 532 00:25:30,560 --> 00:25:31,230 >> David J. Malan: Je tu jen jeden. 533 00:25:31,230 --> 00:25:34,430 A mohou čtyřnásobek, je to mi bude trvat jen dva kroky 534 00:25:34,430 --> 00:25:35,210 a tak dále. 535 00:25:35,210 --> 00:25:38,730 A tak je to dokladem toho, jak někteří opatrní konstrukce 536 00:25:38,730 --> 00:25:42,437 a někteří uznání za to, co vaše vstupy jsou umí ještě lépe. 537 00:25:42,437 --> 00:25:44,270 Teď jsme podvádění trochu v tom smyslu, 538 00:25:44,270 --> 00:25:46,350 že jsme využití předpoklad. 539 00:25:46,350 --> 00:25:48,500 Jaký je můj předpoklad o našem telefonním seznamu 540 00:25:48,500 --> 00:25:52,720 které mi umožnilo rozděl a panuj v této intuitivní a stále správným způsobem? 541 00:25:52,720 --> 00:25:53,705 >> Diváků: [neslyšitelné] 542 00:25:53,705 --> 00:25:54,580 David J. Malan: Jo. 543 00:25:54,580 --> 00:25:55,440 Tak to bylo nařízeno. 544 00:25:55,440 --> 00:25:57,392 To bylo podle abecedy podle telefonní seznam společnosti. 545 00:25:57,392 --> 00:26:00,100 Kdyby to bylo v náhodném pořadí, které by bylo sakra telefonního seznamu, 546 00:26:00,100 --> 00:26:02,850 ale rozhodně ne nehodí algoritmu 547 00:26:02,850 --> 00:26:05,950 Použil jsem, protože byste nikdy náhodou přes Mike Smith 548 00:26:05,950 --> 00:26:09,210 pokud jste si nechali dělení v polovina tímto způsobem náhodou. 549 00:26:09,210 --> 00:26:12,060 >> Takže pojďme se nyní formalizovat co je jasně intuitivní. 550 00:26:12,060 --> 00:26:13,950 Takže něco, co nazývá pseudokód je, kde budeme 551 00:26:13,950 --> 00:26:15,780 začnou některé z našich počátečních problémů. 552 00:26:15,780 --> 00:26:20,410 A to je obecný způsob, jak popisovat algoritmus nebo počítačový program, 553 00:26:20,410 --> 00:26:24,150 ne pomocí C nebo C ++ nebo Java, nebo nějaký konkrétní jazyk, 554 00:26:24,150 --> 00:26:27,430 ale jen pomocí anglicky, s které každý člověk může být povědomý. 555 00:26:27,430 --> 00:26:31,220 >> A můžeme psát pseudokódu Pro tento problém následovně. 556 00:26:31,220 --> 00:26:33,520 Krok číslo jedna, zvedněte telefonní seznam. 557 00:26:33,520 --> 00:26:35,840 Krok dva, otevřený střed telefonního seznamu. 558 00:26:35,840 --> 00:26:37,730 Krok tři, podívej se na jména. 559 00:26:37,730 --> 00:26:40,630 Krok čtyři, pokud Smith patří mezi names-- 560 00:26:40,630 --> 00:26:42,960 >> A teď je to zajímavé konstrukt. 561 00:26:42,960 --> 00:26:44,290 Je to rozhodnutí, bod. 562 00:26:44,290 --> 00:26:47,920 Je to rozcestí, pokud máte bude, větev, abych tak řekl. 563 00:26:47,920 --> 00:26:50,810 Takže budu odsazení jen konvencí step-- 564 00:26:50,810 --> 00:26:53,950 Není five-- který je řekněme, zavolám Miku. 565 00:26:53,950 --> 00:26:57,290 Takže to odsazení, zcela svévolné lidské konvence, ale je to 566 00:26:57,290 --> 00:27:01,160 prostě chtěl sdělit sémanticky že pokud Smith patří mezi jmény, 567 00:27:01,160 --> 00:27:03,310 pak bych měl zavolat Mikea. 568 00:27:03,310 --> 00:27:06,630 >> Mezitím se v kroku šest, oznámení že odsazení je pryč. 569 00:27:06,630 --> 00:27:10,980 Tak je jiný druhý vidlice v silnice, ostatní silnice bych mohla cestovat. 570 00:27:10,980 --> 00:27:14,130 Takže else if Smith dříve v knize, co je 571 00:27:14,130 --> 00:27:16,964 můj další krok pravděpodobně bude tady? 572 00:27:16,964 --> 00:27:18,380 Diváků: Jdete na levé straně. 573 00:27:18,380 --> 00:27:21,004 David J. Malan: Jo, tak jděte na Levá polovina telefonního seznamu. 574 00:27:21,004 --> 00:27:24,140 Vyhoďte pravou polovinu, pokud Smith je dříve v knize. 575 00:27:24,140 --> 00:27:27,140 Tak otevřené až do poloviny Levá polovina knihy. 576 00:27:27,140 --> 00:27:30,240 >> A pak krok osm, jít na linku tři. 577 00:27:30,240 --> 00:27:34,520 A to je zvědavý smyčka jsem způsobuje, rekurze, abych tak řekl. 578 00:27:34,520 --> 00:27:35,990 Ale o tom více v budoucnu. 579 00:27:35,990 --> 00:27:39,590 >> Já jsem pomocí mého stejný algoritmus, má stejný pseudokód, 580 00:27:39,590 --> 00:27:43,020 znovu řešit stejný problém protože jediná věc, která se změnila 581 00:27:43,020 --> 00:27:46,550 je velikost problému, ne mým cílem, a ne člověk 582 00:27:46,550 --> 00:27:47,340 Hledám. 583 00:27:47,340 --> 00:27:51,610 Tak jsem si znovu algoritmus že jsem již definovány. 584 00:27:51,610 --> 00:27:53,580 >> Else if Smith později v book-- byste mohli 585 00:27:53,580 --> 00:27:56,200 hádat otevřena až do poloviny pravá polovina knihy. 586 00:27:56,200 --> 00:27:58,350 A opět, přejděte na řádek tři. 587 00:27:58,350 --> 00:28:01,480 Else-- co je poslední řádek v rámci tohoto programu bude? 588 00:28:01,480 --> 00:28:03,580 Pokud to není mezi jména na stránce Jsem 589 00:28:03,580 --> 00:28:06,870 na, pokud to není dříve knihy, a on to nejpozději 590 00:28:06,870 --> 00:28:09,899 v knize, co já vím Nyní je pravda o Mike Smith? 591 00:28:09,899 --> 00:28:11,190 Diváků: Není v knize. 592 00:28:11,190 --> 00:28:12,731 David J. Malan: Není v knize. 593 00:28:12,731 --> 00:28:16,040 Takže nejlepší, co mohu udělat, je jen vzdát a zastavit tento program. 594 00:28:16,040 --> 00:28:16,540 V pořádku. 595 00:28:16,540 --> 00:28:20,350 Takže v tomto bodě, pojďme se Rychlá prohlídka některé z toho, co vás čeká. 596 00:28:20,350 --> 00:28:23,620 A ve skutečnosti, já jsem sem vstoupil o počtu zaměstnanců CS50. 597 00:28:23,620 --> 00:28:26,940 Pokud se tito lidé mohli vše se mnou tady na jevišti. 598 00:28:26,940 --> 00:28:28,900 >> [APPLAUSE] 599 00:28:28,900 --> 00:28:35,280 600 00:28:35,280 --> 00:28:38,170 >> Nezapomínejme, že je to jen podmnožina personálu CS50, 601 00:28:38,170 --> 00:28:42,380 protože každý rok máme téměř 100 zaměstnanců členové v roli asistentů kurzu, 602 00:28:42,380 --> 00:28:44,410 výuka chlapi, a další. 603 00:28:44,410 --> 00:28:45,700 Pojď nahoru. 604 00:28:45,700 --> 00:28:48,820 Takže oni se k nám připojí zde rozpačitě na chvíli 605 00:28:48,820 --> 00:28:54,230 jak dát vichřice prohlídku toho, co do kurzu by měl očekávat zde. 606 00:28:54,230 --> 00:28:59,640 >> Takže v první řadě, máme SAT / UNS jako možnost třídění v průběhu. 607 00:28:59,640 --> 00:29:03,180 To znamená záměrně být možnost, kdy 608 00:29:03,180 --> 00:29:05,570 Pokud jste trochu nesvůj z toho, že v průběhu, 609 00:29:05,570 --> 00:29:09,390 a nemáte strach failure--, i když upřímně řečeno, selhání znamená bolet vaše GPA, 610 00:29:09,390 --> 00:29:13,180 dostat B a ne A--, který je přesně to, co jistě pro brány 611 00:29:13,180 --> 00:29:15,750 Samozřejmě, stejně jako CS50 a další úvodní kurzy, 612 00:29:15,750 --> 00:29:17,540 Tato možnost třídění je určen povolit. 613 00:29:17,540 --> 00:29:19,930 >> Upřímně podpořit students-- zejména 614 00:29:19,930 --> 00:29:23,090 pokud na fence-- začít Samozřejmě, SAT / UNS, i nadále SAT / UNS. 615 00:29:23,090 --> 00:29:27,310 Ale můžete samozřejmě přepnout na dopis stupně v pátém pondělí v termínu. 616 00:29:27,310 --> 00:29:31,560 >> Upřímně řečeno, když jsem byl v prváku v roce 1995, 617 00:29:31,560 --> 00:29:34,630 Já sám jsem ani brát CS50 protože jsem nevstal odvahu 618 00:29:34,630 --> 00:29:36,540 skutečně krok nohu ve třídě. 619 00:29:36,540 --> 00:29:40,020 Zdálo se, že doménu příliš neznámé ke mně, a opravdu jen 620 00:29:40,020 --> 00:29:43,080 pro ty z mých přátel, Upřímně řečeno, kdo byl programování 621 00:29:43,080 --> 00:29:45,570 protože oni byli víceletých nebo možná 10 let starý. 622 00:29:45,570 --> 00:29:48,640 A bylo to jen proto, že jsem byl schopni přijmout CS50 v můj den 623 00:29:48,640 --> 00:29:52,720 v odpovídající verzi SAT / UNS-- vyhovuje / nevyhovuje zpět do day-- 624 00:29:52,720 --> 00:29:53,850 že i já vzal 50. 625 00:29:53,850 --> 00:29:57,440 A tak či onak, jsem zase tady dnes s vámi. 626 00:29:57,440 --> 00:30:00,690 >> Teď zatím co ještě by měl mít na paměti, o 50 627 00:30:00,690 --> 00:30:01,910 je simultánní zápis. 628 00:30:01,910 --> 00:30:03,785 Na rozdíl od pověsti, že Možná jste slyšeli, 629 00:30:03,785 --> 00:30:07,650 je to možné, ve skutečnosti, současně zapsat CS50 a další skupiny, které 630 00:30:07,650 --> 00:30:12,150 schází na stejné nebo některé překrývající tentokrát jako CS50 přednášek tady. 631 00:30:12,150 --> 00:30:16,420 Podívejte se na učební osnovy pro údaje z jejich provádění. 632 00:30:16,420 --> 00:30:19,540 >> Přednášky, zatím, na rozdíl od co je oficiálně v katalogu, 633 00:30:19,540 --> 00:30:22,060 obecně jen splnit jen za hodinu. 634 00:30:22,060 --> 00:30:24,240 Příležitostně můžeme spustit trochu dlouho. 635 00:30:24,240 --> 00:30:26,800 Ale mějte na paměti, že Cílem v CS50 přednášek 636 00:30:26,800 --> 00:30:28,980 je poskytnout vám koncepční přehled, 637 00:30:28,980 --> 00:30:31,830 doufejme, že některé ukázky, možná dokonce i některé dárky, 638 00:30:31,830 --> 00:30:34,390 o tom, co čeká na týden, který následuje. 639 00:30:34,390 --> 00:30:37,730 >> A tak na přednáškách, budeme zkoumat tato témata a příklady dohromady, 640 00:30:37,730 --> 00:30:41,420 přináší studentům na jevišti, a zaměstnancům na jevišti tak často, jak můžeme, 641 00:30:41,420 --> 00:30:43,740 jen na pár hodin každý týden. 642 00:30:43,740 --> 00:30:47,435 Sekce, mezitím bude nabízeny tyto lidi tady-- mnoha 643 00:30:47,435 --> 00:30:50,060 z nich se učí chlapi, některé Z nich samozřejmě assistants-- vůle 644 00:30:50,060 --> 00:30:51,160 se děje jednou za týden. 645 00:30:51,160 --> 00:30:52,940 >> A co je klíčem k udržení na paměti, je, že jsme 646 00:30:52,940 --> 00:30:55,920 se have-- ne na rozdíl od First Nights, hudba class-- 647 00:30:55,920 --> 00:30:59,220 různé stopy úseků pro Studenti méně komfortní, více 648 00:30:59,220 --> 00:31:01,150 pohodlné, a někde mezi tím. 649 00:31:01,150 --> 00:31:03,559 A upřímně řečeno, víte-li že jste méně pohodlné. 650 00:31:03,559 --> 00:31:05,600 A vy asi víte, pokud jste mnohem pohodlnější. 651 00:31:05,600 --> 00:31:09,920 A pokud si nejste opravdu jisti, jste podle definice někde mezi. 652 00:31:09,920 --> 00:31:12,850 Takže když přijde čas na úseku za týden nebo tak, na učebních osnov, 653 00:31:12,850 --> 00:31:14,070 my vám zeptat na tuto otázku. 654 00:31:14,070 --> 00:31:16,890 A můžete si vybrat self-Based na vlastní úroveň pohodlí 655 00:31:16,890 --> 00:31:22,220 a být s students-- být s zelenou dots-- podobná úroveň pohodlí pro vás. 656 00:31:22,220 --> 00:31:25,710 >> Mezitím, máme problém sady, což v konečném důsledku 657 00:31:25,710 --> 00:31:28,310 definovat své zkušenosti v tomto kurzu. 658 00:31:28,310 --> 00:31:30,370 Jsou nabízeny většinou v několika vydáních. 659 00:31:30,370 --> 00:31:34,150 Standard Edition, které očekáváme, že většina každý student v průběhu řešit 660 00:31:34,150 --> 00:31:37,900 ale také takzvaný hacker vydání který nenabízí žádné formu kreditu navíc 661 00:31:37,900 --> 00:31:41,980 úplně, ale opravdu vychloubání práv říci, že jste se snažil a řešit 662 00:31:41,980 --> 00:31:45,250 hackerské vydání kurzu, že obrátit na podobný materiál 663 00:31:45,250 --> 00:31:47,370 ale z sofistikovanější úhlu. 664 00:31:47,370 --> 00:31:49,480 >> Co nabízíme pro Standard Edition, pro, 665 00:31:49,480 --> 00:31:51,420 opět super většina studentů, nejsou 666 00:31:51,420 --> 00:31:54,060 pouze walk-průchodky, které jsou videa pod vedením pracovníků Kurz je 667 00:31:54,060 --> 00:31:57,840 že opravdu vás provede Problémy kurzu a možné provedení 668 00:31:57,840 --> 00:31:58,910 implementace. 669 00:31:58,910 --> 00:32:01,434 A také, po Skutečnost, nabízejí postmortems, 670 00:32:01,434 --> 00:32:03,350 přičemž pokud jste zvědaví, jak byste mohli mít 671 00:32:03,350 --> 00:32:05,930 nebo by měla vyřešit některé problém, pedagogičtí pracovníci 672 00:32:05,930 --> 00:32:08,640 vás provede ty na video i. 673 00:32:08,640 --> 00:32:14,350 >> Mezitím, co je čeká také jsou pět pozdní dní a skutečnost, 674 00:32:14,350 --> 00:32:16,680 že se sníží vaše Nejnižší problém nastavit skóre. 675 00:32:16,680 --> 00:32:20,370 Určitě oceníte, že výměnou na pracovní zátěž, která očekává, že 50 676 00:32:20,370 --> 00:32:24,020 z vás, život dostane do cesty Někdy, ne-li pětkrát. 677 00:32:24,020 --> 00:32:26,150 A tak to bude nabízet jste trochu flexibility, 678 00:32:26,150 --> 00:32:29,400 rozšiřuje svůj termín od, řekněme, Ve čtvrtek v poledne v pátek v poledne. 679 00:32:29,400 --> 00:32:33,150 Podívejte se na učební osnovy pro podrobnosti jejich provádění. 680 00:32:33,150 --> 00:32:34,702 >> Tak co teď čeká? 681 00:32:34,702 --> 00:32:36,660 A je to jen dochází Teď mě, jak dlouho 682 00:32:36,660 --> 00:32:38,333 Mám vy tady stát na jevišti. 683 00:32:38,333 --> 00:32:39,060 >> [SMÍCH] 684 00:32:39,060 --> 00:32:41,867 >> David J. Malan: Ale my dostaneme vrcholný provedení zanedlouho. 685 00:32:41,867 --> 00:32:43,700 Takže to, co vás čeká, pokud jde z problémových sad? 686 00:32:43,700 --> 00:32:47,099 No, možná ukázka toho, co my všichni loni se svými předchůdci. 687 00:32:47,099 --> 00:32:49,140 V prvním problému sady v loňském roce jsme uvedli na trh 688 00:32:49,140 --> 00:32:51,630 Scratch, grafický programovací jazyk, který 689 00:32:51,630 --> 00:32:54,570 umožňuje naprogramovat doslova přetažením dílků, 690 00:32:54,570 --> 00:32:57,220 jako ty, které jsou připomínající konstruktů 691 00:32:57,220 --> 00:32:59,260 uvidí jen jeden týden proto, když přepínání 692 00:32:59,260 --> 00:33:01,870 na více tradiční jazyk, známý jako C. 693 00:33:01,870 --> 00:33:03,930 >> V loňském roce jsme pokračovali k tomuto problému sadě, 694 00:33:03,930 --> 00:33:06,720 zahrnující pro kryptografii, kódování informací 695 00:33:06,720 --> 00:33:10,410 aby jej z vládní nebo přátelé " oči, které nechcete vidět. 696 00:33:10,410 --> 00:33:12,540 Zakódovány v zde zprávy, že brzy si 697 00:33:12,540 --> 00:33:15,740 budou moci dešifrovat nebo de-vyškrábat. 698 00:33:15,740 --> 00:33:17,960 >> Breakout byl problém nastavit v loňském roce, ve kterém 699 00:33:17,960 --> 00:33:21,530 můžete použít tyto nově nalezenou programování dovednosti skutečně realizovat 700 00:33:21,530 --> 00:33:24,840 hra wherein-- jako vy Možná si vzpomenete, od childhood-- 701 00:33:24,840 --> 00:33:28,040 Cílem bylo bash cihly, které jsou na vrcholu obrazovky 702 00:33:28,040 --> 00:33:30,190 tady, akumulaci skóre po cestě, 703 00:33:30,190 --> 00:33:35,460 a provádění vlastních algoritmů s, který toto řešení v konečném důsledku 704 00:33:35,460 --> 00:33:37,357 umožňuje hrát hru. 705 00:33:37,357 --> 00:33:39,440 Mezitím, později v semestr, dáme vám 706 00:33:39,440 --> 00:33:43,470 slovník 143091 anglických slov. 707 00:33:43,470 --> 00:33:46,300 A vy budete mít za úkol napsat program, který 708 00:33:46,300 --> 00:33:50,260 kouzlo kontroly, dokumenty, které načítá že mnoho slov do paměti 709 00:33:50,260 --> 00:33:52,300 tak efektivně, jak je to možné. 710 00:33:52,300 --> 00:33:54,240 Obecně ti bodové před svými spolužáky 711 00:33:54,240 --> 00:33:56,610 pokud se rozhodnete do trochu výzvou v žebříčku 712 00:33:56,610 --> 00:34:00,090 vidět, kdo může používat nejmenším počtem sekund z hlediska doby provozu, 713 00:34:00,090 --> 00:34:03,550 a nejmenší počet megabajtů paměti, 714 00:34:03,550 --> 00:34:08,659 a ve skutečnosti jemné ladění Vámi programy být neuvěřitelně náročná na zdroje není 715 00:34:08,659 --> 00:34:09,820 jen čas. 716 00:34:09,820 --> 00:34:13,239 >> V loňském roce, také jsme se podívali na konci semestru na programování pro web. 717 00:34:13,239 --> 00:34:16,230 A skutečně, uděláme to znovu toto rok s několika problémovými sad, 718 00:34:16,230 --> 00:34:20,290 zavádí vás do technik a způsob myšlení, se kterým můžete použít 719 00:34:20,290 --> 00:34:23,489 Tyto znalosti programování na webové stránky, dynamické webové stránky, 720 00:34:23,489 --> 00:34:26,639 webové stránky, které skutečně řeší problémy, a chovat se jinak 721 00:34:26,639 --> 00:34:30,620 a nejsou jen statické stránky se statickým informací. 722 00:34:30,620 --> 00:34:32,854 >> Závěrečný projekt nakonec bude definovat, i když, 723 00:34:32,854 --> 00:34:34,770 Vyvrcholením kurzu pro studenty, kde 724 00:34:34,770 --> 00:34:37,228 budete mít za úkol realizovat většina něco zájem 725 00:34:37,228 --> 00:34:40,590 pro vás, tak dlouho, jak to nějak čerpá poučení kurzu je. 726 00:34:40,590 --> 00:34:42,930 >> A jak jste viděli v Video na začátku, 727 00:34:42,930 --> 00:34:47,340 budeme uzavřít semestr se CS50 Hackathon, který v případě, neznámé, 728 00:34:47,340 --> 00:34:51,420 začne v 19:00 a jednu noc a skončí v 07:00 druhý den ráno. 729 00:34:51,420 --> 00:34:53,614 Kolem 21:00 se budeme Pořadí v první večeři. 730 00:34:53,614 --> 00:34:55,489 Kolem 01:00 se budeme Pořadí, ve druhé večeři. 731 00:34:55,489 --> 00:34:57,490 A pokud jste ještě stojí v 05:00 jsme 732 00:34:57,490 --> 00:35:00,320 bude shuttle bus vás na IHOP na snídani. 733 00:35:00,320 --> 00:35:04,980 >> CS50 trh, zatím je událost k němuž 2000 navíc fakulty, studenti, 734 00:35:04,980 --> 00:35:07,850 a zaměstnanci z celého areálu bude přijďte se podívat své úspěchy 735 00:35:07,850 --> 00:35:10,150 v průběhu a konečné projekty a kreace 736 00:35:10,150 --> 00:35:14,960 , které vytvoříte na vašem notebooky, Stolní počítače, nebo možná i žárovky. 737 00:35:14,960 --> 00:35:17,340 >> Mezitím, úřední hodiny a nosná konstrukce. 738 00:35:17,340 --> 00:35:20,480 A teď bylo by to lepší čas, aby vám vše dohromady. 739 00:35:20,480 --> 00:35:24,310 >> Konzultační hodiny se budou konat čtyři noci týdně po dobu několika hodin každou noc 740 00:35:24,310 --> 00:35:27,710 s obecně o 20 až 30 z Zaměstnanci hřiště je ve službě najednou 741 00:35:27,710 --> 00:35:31,240 poskytnout vám intimní one-on-one možnosti podpory 742 00:35:31,240 --> 00:35:33,790 s problémovými sady kurzu je. 743 00:35:33,790 --> 00:35:36,120 Doučování také bude k dispozici, a to zejména 744 00:35:36,120 --> 00:35:39,630 pro studenty méně comfortable-- nebo troufám tvrdit, alespoň comfortable-- pro koho 745 00:35:39,630 --> 00:35:41,869 úřední hodiny nejsou největší výchovné prostředí 746 00:35:41,869 --> 00:35:43,660 a rozhodně nejsou největší stres-volný. 747 00:35:43,660 --> 00:35:47,430 Zvlášť, když termíny jsou lisování, budeme aktivně spárovat vám sami 748 00:35:47,430 --> 00:35:51,440 s zaměstnanec pracovat s na některých pravidelných intervalech, jak vaše potřeby 749 00:35:51,440 --> 00:35:53,850 a jejich rozvrh dovolí. 750 00:35:53,850 --> 00:35:55,260 >> A zaměstnanců. 751 00:35:55,260 --> 00:36:01,020 Dovolte mi představit Davon, Rob, a Gabriel, letošní hlavy. 752 00:36:01,020 --> 00:36:02,370 Pokud by každý chtěl say-- 753 00:36:02,370 --> 00:36:03,349 >> [APPLAUSE] 754 00:36:03,349 --> 00:36:03,849 --a slovo. 755 00:36:03,849 --> 00:36:05,328 [APPLAUSE] 756 00:36:05,328 --> 00:36:10,270 757 00:36:10,270 --> 00:36:13,220 Davon tady je Course Manager, který 758 00:36:13,220 --> 00:36:15,730 znamená, že ve své roli na plný úvazek pomáhá s realizací 759 00:36:15,730 --> 00:36:18,424 a logistika CS50. 760 00:36:18,424 --> 00:36:19,340 DAVON: Jo, ahoj, kluci. 761 00:36:19,340 --> 00:36:20,965 Uvidíte hodně mě v úředních hodinách. 762 00:36:20,965 --> 00:36:22,110 Budu učit sekcí. 763 00:36:22,110 --> 00:36:25,150 A pokud budete střílet e-maily dopředu, Budu pravděpodobně reagovat. 764 00:36:25,150 --> 00:36:27,670 Tak uvidím spoustu z vás celý semestr. 765 00:36:27,670 --> 00:36:29,890 Vítejte na CS50. 766 00:36:29,890 --> 00:36:38,330 >> David J. Malan: A teď Gabriel, který sám byl jen nováček v loňském roce, 767 00:36:38,330 --> 00:36:41,820 ale v posledních letech se působí svou vlastní verzi CS50 768 00:36:41,820 --> 00:36:44,660 v Brazílii, přičemž se stáhli všechny content-- stránce kurzu 769 00:36:44,660 --> 00:36:46,890 což je jednoznačně být natočený a umístil online-- 770 00:36:46,890 --> 00:36:51,480 tak, aby ji mohl přeložit do Portugalský a učit více než 100 771 00:36:51,480 --> 00:36:54,610 z jeho spolužáků více než Během dvou let, 772 00:36:54,610 --> 00:36:57,650 výuku v rodném jazyce Osnovy kurzu je. 773 00:36:57,650 --> 00:36:58,964 >> GABRIEL: Dobrý den. 774 00:36:58,964 --> 00:37:00,912 >> [APPLAUSE] 775 00:37:00,912 --> 00:37:06,669 776 00:37:06,669 --> 00:37:07,710 GABRIEL: Ahoj, já jsem Gabriel. 777 00:37:07,710 --> 00:37:09,340 Já jsem hlava TF kurzu. 778 00:37:09,340 --> 00:37:10,780 A doufám, že budete milovat CS50. 779 00:37:10,780 --> 00:37:12,830 To je CS50. 780 00:37:12,830 --> 00:37:14,697 >> David J. Malan: A teď Rob. 781 00:37:14,697 --> 00:37:15,780 Oh, chceš úvod? 782 00:37:15,780 --> 00:37:16,696 >> ROB: No, já nevím. 783 00:37:16,696 --> 00:37:18,225 [SMÍCH] 784 00:37:18,225 --> 00:37:19,475 David J. Malan: A Rob Boden. 785 00:37:19,475 --> 00:37:22,300 [SMÍCH] 786 00:37:22,300 --> 00:37:23,800 ROB: Ahoj, já jsem Rob. 787 00:37:23,800 --> 00:37:27,220 Toto je můj pátý rok zapojeni do kurzu. 788 00:37:27,220 --> 00:37:29,220 Každý rok, je to jen lepší a lepší třídy, 789 00:37:29,220 --> 00:37:31,550 tak vy jste jasně bude úžasné. 790 00:37:31,550 --> 00:37:33,181 Doufám, že jste všichni bavit se s ním. 791 00:37:33,181 --> 00:37:34,430 Budu se bavit s ním. 792 00:37:34,430 --> 00:37:36,670 Tak vidíte kolem sebe. 793 00:37:36,670 --> 00:37:38,445 >> David J. Malan: A čas nedovolí us-- 794 00:37:38,445 --> 00:37:39,670 >> [APPLAUSE] 795 00:37:39,670 --> 00:37:41,661 >> Čas nedovolí nám představit všechny 796 00:37:41,661 --> 00:37:44,660 na jevišti a všichni jejich kolegové kteří jsou nákupní třídy dnes. 797 00:37:44,660 --> 00:37:47,390 Ale dovolte mi představit Belinda a CS50 Puzzle 798 00:37:47,390 --> 00:37:49,550 Den, který čeká na to přijde sobota, která 799 00:37:49,550 --> 00:37:51,800 je první události velkého rozsahu Course. 800 00:37:51,800 --> 00:37:54,300 >> Ten především znamenalo kladivo domů bod 801 00:37:54,300 --> 00:37:57,580 že výpočetní technika je v konečném důsledku Nejde o programování, ale 802 00:37:57,580 --> 00:37:59,280 o řešení problémů obecně. 803 00:37:59,280 --> 00:38:01,450 A puzzle den, jak budete vidět, přinese vám 804 00:38:01,450 --> 00:38:04,207 a vaše spolužáky dohromady-- Doufáme, že tuto sobotu. 805 00:38:04,207 --> 00:38:04,961 >> BELINDA: OK. 806 00:38:04,961 --> 00:38:05,750 Ahoj, kluci. 807 00:38:05,750 --> 00:38:06,740 Takže díky. 808 00:38:06,740 --> 00:38:10,120 Tak jako naše proslulé kapitána řekl, jmenuji se Belinda. 809 00:38:10,120 --> 00:38:12,100 Jsem ve druháku na Quincy House. 810 00:38:12,100 --> 00:38:15,730 >> Já, stejně jako vy, se CS50 v loňském roce, ale opravdu se to líbilo. 811 00:38:15,730 --> 00:38:17,960 Mám slabost pro vy ve třetí řadě. 812 00:38:17,960 --> 00:38:21,384 A já jsem hrdý na to, že jsem teď na vážný vztah 813 00:38:21,384 --> 00:38:22,300 s CS50 [neslyšitelné]. 814 00:38:22,300 --> 00:38:22,799 OK. 815 00:38:22,799 --> 00:38:26,140 To byl můj ubohý verze vtipu. 816 00:38:26,140 --> 00:38:28,320 >> Každopádně, takže pohybující se na, chtěl pozvat 817 00:38:28,320 --> 00:38:31,439 vy všichni na I-Lab, nebo HBS kopřivka. 818 00:38:31,439 --> 00:38:33,730 Chystáme se, že má Puzzle den od 12:00 do 03:00. 819 00:38:33,730 --> 00:38:37,680 A to je skvělá příležitost pro vás lidi, aby vyhovoval vašim kolegům CS, přátele, 820 00:38:37,680 --> 00:38:42,780 vyřešit některé non-CS hádanek, stejně jako kapitán bylo zmíněno, a také jíst nějaké jídlo zdarma, 821 00:38:42,780 --> 00:38:46,910 vydělat nějaké úžasné ceny, stejně jako dárkové karty, 75 dolarů na osobu, 822 00:38:46,910 --> 00:38:48,400 a also-- co to bylo? 823 00:38:48,400 --> 00:38:49,540 Wii U nebo tak něco? 824 00:38:49,540 --> 00:38:50,333 Wii U? 825 00:38:50,333 --> 00:38:51,040 Ano. 826 00:38:51,040 --> 00:38:52,330 Pro naše tombola. 827 00:38:52,330 --> 00:38:52,830 Skvělé. 828 00:38:52,830 --> 00:38:54,310 Takže budu držet kolem po hodině. 829 00:38:54,310 --> 00:38:56,770 A pokud vy máte nějaké otázek, dejte mi vědět. 830 00:38:56,770 --> 00:38:59,980 >> David J. Malan: A uvidíte, za to není nic, co dělat dnes. 831 00:38:59,980 --> 00:39:01,920 První problém nastavit zhasne pátek. 832 00:39:01,920 --> 00:39:05,420 Ale aby nám dnes doma, rád bych se Představujeme Vám konkrétně jeden 833 00:39:05,420 --> 00:39:09,080 zaměstnanec, Colton Ogden tady, jehož ruce jsou nyní 834 00:39:09,080 --> 00:39:12,250 chráněné nad vámi se Tento MIDI ovladač 835 00:39:12,250 --> 00:39:15,170 kladivo domů bod dále že výpočetní technika se také 836 00:39:15,170 --> 00:39:19,130 má použitelnost daleko za techniky a STEM a výpočetní technika sama o sobě, 837 00:39:19,130 --> 00:39:22,890 rozšířit i na takové domény je například hudba. 838 00:39:22,890 --> 00:39:30,590 >> Colton se laskavě offered-- jsem si myslel, jeden z nich se bude zaostření. 839 00:39:30,590 --> 00:39:34,400 Andrew, kdybychom mohli přivolat zaměření více než na chvíli tady. 840 00:39:34,400 --> 00:39:36,780 >> Co Colton udělal předem je program, 841 00:39:36,780 --> 00:39:40,345 Toto zařízení, tento polštářek z tlačítek , které vidíte na obrázku tady, 842 00:39:40,345 --> 00:39:42,470 jako MIDI kontrolér, přičemž každá z těchto tlačítek 843 00:39:42,470 --> 00:39:47,080 je připojen k určité noty nebo zvuk, obecněji záznam, 844 00:39:47,080 --> 00:39:50,445 tak, že tím, že hraje vzory těchto tlačítka, stejně jako vzory bitů, 845 00:39:50,445 --> 00:39:52,620 může představovat další vyšší koncepty úrovni. 846 00:39:52,620 --> 00:39:56,750 Bude moci nakonec aby nás doma dnes? 847 00:39:56,750 --> 00:39:59,540 Bez dalších okolků, je-li můžeme ztlumit světla, 848 00:39:59,540 --> 00:40:03,145 a zapněte obrazovku za Colton. 849 00:40:03,145 --> 00:40:03,865 >> Diváků: Woo! 850 00:40:03,865 --> 00:40:06,090 >> David J. Malan: To je CS50. 851 00:40:06,090 --> 00:40:10,518 >> [Přehrávání hudby] 852 00:40:10,518 --> 00:42:46,018 853 00:42:46,018 --> 00:42:49,420 >> [APPLAUSE] 854 00:42:49,420 --> 00:42:54,766 855 00:42:54,766 --> 00:42:56,450 >> To je pro CS50. 856 00:42:56,450 --> 00:42:57,950 Uvidíme se v pátek. 857 00:42:57,950 --> 00:42:59,890 Některé dort na vás čeká v příčné lodi. 858 00:42:59,890 --> 00:43:04,046 859 00:43:04,046 --> 00:43:08,850 >> [Přehrávání hudby] 860 00:43:08,850 --> 00:45:49,227