1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:01,790 DAVID Malan: Vítejte zpět, všichni. 3 00:00:01,790 --> 00:00:05,030 Takže včera, budete připomenout, že jsme se zaměřili na těchto tématech zde. 4 00:00:05,030 --> 00:00:08,380 Takže jsme měli čtyři zastřešující topics-- soukromí, bezpečnost a společnost; 5 00:00:08,380 --> 00:00:11,960 Internetové technologie; cloud computing; a nakonec, vývoj webových aplikací. 6 00:00:11,960 --> 00:00:14,170 >> Řekl někdo mít šířka pásma nebo doba 7 00:00:14,170 --> 00:00:16,900 se dívat trochu Johna Oliver minulou noc? 8 00:00:16,900 --> 00:00:20,120 Je to vlastně docela zábavné, ne-li trochu děsivé. 9 00:00:20,120 --> 00:00:24,700 Jakékoliv dotazy na cokoliv jsme dělali včera? 10 00:00:24,700 --> 00:00:27,600 Nějaké vysvětlení? 11 00:00:27,600 --> 00:00:35,580 Jakékoliv dotazy, které chcete, aby se jisti, že se dotýkáme dnes v nějaké formě? 12 00:00:35,580 --> 00:00:37,300 Tak čistý štít. 13 00:00:37,300 --> 00:00:38,760 >> Takže to, co je na programu dnes? 14 00:00:38,760 --> 00:00:41,301 Tak jsem si myslel bychom dnes začíná s pohledem na to, co je všeobecně 15 00:00:41,301 --> 00:00:44,460 známý jako výpočetní thinking-- na Riziko zjednodušují, myšlení 16 00:00:44,460 --> 00:00:46,636 jako počítač, možná přemýšlet jako inženýr, 17 00:00:46,636 --> 00:00:48,510 a snaží se začít organizovat své myšlenky 18 00:00:48,510 --> 00:00:52,039 nebo aby vám lepší pocit co se podílí na skutečnosti velící 19 00:00:52,039 --> 00:00:54,080 počítačový něco udělat prostřednictvím programování. 20 00:00:54,080 --> 00:00:56,663 A my ho budeme držet při docela na vysoké úrovni, do značné míry anglicky, 21 00:00:56,663 --> 00:00:59,850 ale zkuste použít povědomě příklady, jak formalizovat 22 00:00:59,850 --> 00:01:01,450 bys jít o řešení problémů. 23 00:01:01,450 --> 00:01:04,080 >> A budeme znovu nějaký CS tématy, jako je abstrakce, 24 00:01:04,080 --> 00:01:06,040 který přišel pár časů včera, 25 00:01:06,040 --> 00:01:07,554 algoritmy a potom reprezentace. 26 00:01:07,554 --> 00:01:09,720 A to je místo, kde začneme dnes za chvíli. 27 00:01:09,720 --> 00:01:11,481 Pak jsme se podíváme na programování. 28 00:01:11,481 --> 00:01:13,480 My se podíváme na některé základní pojmy 29 00:01:13,480 --> 00:01:16,450 se kterou by mohla být obeznámeni a možná dokonce najít poměrně intuitivní. 30 00:01:16,450 --> 00:01:18,370 >> Podíváme se, ve skutečnosti, při programování vzorku 31 00:01:18,370 --> 00:01:21,244 Prostředí, které je velmi dobře přístupný, velmi hravý, a opravdu cílené 32 00:01:21,244 --> 00:01:22,555 pro děti od 12 a nahoru. 33 00:01:22,555 --> 00:01:25,930 Budeme strávit pár minut tam a pak vzít věci do nižší úrovně 34 00:01:25,930 --> 00:01:30,360 a vlastně mluvit o některých algoritmy a datové struktury, 35 00:01:30,360 --> 00:01:32,360 tak říkajíc, že programátoři obvykle používají 36 00:01:32,360 --> 00:01:35,040 řešit problémy daleko více efektivněji, než si možná 37 00:01:35,040 --> 00:01:37,322 být schopni dělat bez nich úplně. 38 00:01:37,322 --> 00:01:40,280 Pak po obědě, budeme se podívat v technologických komíny, což je právě 39 00:01:40,280 --> 00:01:42,240 ozdobný způsob, jak říkat kolekce technologií 40 00:01:42,240 --> 00:01:43,690 že byste mohli použít k vyřešit nějaký problém. 41 00:01:43,690 --> 00:01:46,670 A budeme mluvit o abecedě polévka z jazyků, které existují today-- 42 00:01:46,670 --> 00:01:50,930 Java a Python a C ++ a PHP a Ruby a všechny druhy dalších věcí. 43 00:01:50,930 --> 00:01:53,740 >> Budeme se krátce vzhled v návrhových vzorů. 44 00:01:53,740 --> 00:01:57,730 Programátoři, v průběhu času, přijaly metodik 45 00:01:57,730 --> 00:02:00,690 které mají tendenci, aby jim pomohla řešit problémy snadněji. 46 00:02:00,690 --> 00:02:04,390 Když začnete vidět sám sebe psaní stejný druh kódu znovu a znovu, 47 00:02:04,390 --> 00:02:08,080 lidé formálně ty opakování Názvy a připisují jim 48 00:02:08,080 --> 00:02:10,084 a pak je používat a podporovat je v konečném důsledku. 49 00:02:10,084 --> 00:02:12,250 A budeme mluvit trochu o mobilních strategiích, 50 00:02:12,250 --> 00:02:16,099 jako to, co to znamená ve skutečnosti aby mobilní aplikaci nebo mobilní webové stránky. 51 00:02:16,099 --> 00:02:17,140 Děláte to pro Android? 52 00:02:17,140 --> 00:02:17,730 Děláte to pro iOS? 53 00:02:17,730 --> 00:02:19,160 Děláte to pro oba z nich? 54 00:02:19,160 --> 00:02:20,326 A jaké jsou kompromisy? 55 00:02:20,326 --> 00:02:23,180 A pak konečně, vezmeme webové programování vzhled, který 56 00:02:23,180 --> 00:02:25,380 je souhrnný termín Opravdu popisující kdykoliv 57 00:02:25,380 --> 00:02:28,410 budete psát software, který je chtěl běžet na webu, 58 00:02:28,410 --> 00:02:30,430 ať už na telefonech nebo stolní počítače nebo notebooky. 59 00:02:30,430 --> 00:02:33,490 Vezmeme krátký pohled na databází a design 60 00:02:33,490 --> 00:02:39,049 v něm, i kdyby jen proto, že téměř jakýkoli Zajímavý webová aplikace 61 00:02:39,049 --> 00:02:40,590 v těchto dnech má nějaký druh databáze. 62 00:02:40,590 --> 00:02:42,380 V opačném případě by to prostě být statický obsah. 63 00:02:42,380 --> 00:02:45,254 A databáze umožňuje provádět změny v průběhu času, ať už sami 64 00:02:45,254 --> 00:02:45,960 nebo od uživatelů. 65 00:02:45,960 --> 00:02:47,820 A budeme uvažovat, jak jste by jít o navrhování 66 00:02:47,820 --> 00:02:50,510 že databáze a druh žargonu které by mohly přijít v inženýr je 67 00:02:50,510 --> 00:02:52,790 diskuse na bílou tabuli když ve skutečnosti se provádí 68 00:02:52,790 --> 00:02:53,900 app poprvé. 69 00:02:53,900 --> 00:02:57,002 >> Budeme se krátce mluvit o API, užitečné služby 70 00:02:57,002 --> 00:02:59,960 které můžete použít k postavit na ramena druhých, ať už společnosti 71 00:02:59,960 --> 00:03:02,619 nebo jednotlivci, a vyřešit váš vlastní problémy rychleji. 72 00:03:02,619 --> 00:03:04,785 A pak budeme fušovat možná trochu s JavaScriptem, 73 00:03:04,785 --> 00:03:08,900 programovací jazyk, který se používá Oba v prohlížečů v těchto dnech, ale také 74 00:03:08,900 --> 00:03:09,820 v serverech. 75 00:03:09,820 --> 00:03:11,890 A možná, zmíníme znovu, čas dovolí, 76 00:03:11,890 --> 00:03:15,670 některé hands-on web, co jsme včera a integrovat dva 77 00:03:15,670 --> 00:03:17,630 dohromady, než jsme odložit. 78 00:03:17,630 --> 00:03:22,380 >> Takže s že-- co je ahead-- je tam něco chybí, že vás 79 00:03:22,380 --> 00:03:26,289 by rád, aby se ujistil vložíme a dotknout se v určitém okamžiku. 80 00:03:26,289 --> 00:03:28,330 Pokud je to napadne, vychovat to netrvalo dlouho. 81 00:03:28,330 --> 00:03:32,010 Ale proč ne začneme s podívejte se na výpočetní myšlení. 82 00:03:32,010 --> 00:03:35,420 >> A dovolte mi navrhnout, aby výpočetní myšlení je, opět, 83 00:03:35,420 --> 00:03:38,830 druh popisu vysoké úrovni co je to počítačový odborník mohl udělat. 84 00:03:38,830 --> 00:03:42,470 A skutečně, začněme se třemi složkami, které 85 00:03:42,470 --> 00:03:44,207 Mohou jít až do výpočetní myšlení. 86 00:03:44,207 --> 00:03:45,790 To je jen jeden způsob, jak popisovat to. 87 00:03:45,790 --> 00:03:48,490 Mohli bychom jistě definovat to v mnoha různými způsoby. 88 00:03:48,490 --> 00:03:50,630 >> Ale dovolte mi navrhnout, V zájmu dnes, 89 00:03:50,630 --> 00:03:53,910 že problémy světa, všechny problémy světa, 90 00:03:53,910 --> 00:03:56,730 Při osloven počítačový odborník mohl 91 00:03:56,730 --> 00:04:00,990 být považována za co budeme volání vstupy, které 92 00:04:00,990 --> 00:04:08,142 je třeba, aby se přivádí do toho, co budeme nazývat algoritmy, které pak výtěžností výstupy. 93 00:04:08,142 --> 00:04:10,600 Jinými slovy, celá Svět řešení problémů Tvrdím 94 00:04:10,600 --> 00:04:13,140 může být použita destilovaná do Tyto tři složky. 95 00:04:13,140 --> 00:04:14,450 Tak co mám na mysli vstupy? 96 00:04:14,450 --> 00:04:17,060 Vstupy je právě to, co jste podal za účelem vyřešení. 97 00:04:17,060 --> 00:04:20,052 >> Například, tady je škola problém starý. 98 00:04:20,052 --> 00:04:22,760 Mám-li telefonní seznam zde a Chci vypadat do toho, 99 00:04:22,760 --> 00:04:23,760 toto je můj vstup. 100 00:04:23,760 --> 00:04:26,260 Mám 1000 nebo tak nějak Stránky v telefonním seznamu. 101 00:04:26,260 --> 00:04:27,780 Toto je vstup do mého problému. 102 00:04:27,780 --> 00:04:31,507 A já chci najít něco Jako Mike Smith, takže přítele 103 00:04:31,507 --> 00:04:33,840 jejíž jméno a číslo doufejme, že v tomto adresáři. 104 00:04:33,840 --> 00:04:36,430 >> To je před dny buňky telefony, takže nemohu jen hledat to. 105 00:04:36,430 --> 00:04:38,540 Takže musím udělat to starý školu a vlastně hledání 106 00:04:38,540 --> 00:04:41,331 Tyto vstupy pro nějakou odpověď. 107 00:04:41,331 --> 00:04:43,580 A to se právě chystá odpověď být nazýván výstup. 108 00:04:43,580 --> 00:04:44,871 Takže vstup je telefonní seznam. 109 00:04:44,871 --> 00:04:47,787 Algoritmus je taková, jakou sadu kroky, které jsem použít k nalezení Mike Smith. 110 00:04:47,787 --> 00:04:50,120 A výstup je, doufejme, Telefonní číslo Mika Smithe. 111 00:04:50,120 --> 00:04:52,703 A to by pak byla jen Zástupce většiny jakéhokoliv problému 112 00:04:52,703 --> 00:04:55,210 aby si s sebou rukou vstupy a chtějí vyrábět výstupy. 113 00:04:55,210 --> 00:04:59,459 >> Takže než budeme uvažovat o proces podle kterého můžeme tento problém vyřešit, 114 00:04:59,459 --> 00:05:01,250 nálezu Mike Smith a něco takového, 115 00:05:01,250 --> 00:05:04,090 uvažujme první a že last-- vstupy a výstupy. 116 00:05:04,090 --> 00:05:08,060 Fyzicky, samozřejmě, vstupní zde Je celá řada papíru slepeny 117 00:05:08,060 --> 00:05:09,400 ve formě telefonního seznamu. 118 00:05:09,400 --> 00:05:13,660 Ale počítače, z course-- notebooků a stolní počítače a dokonce i telefony 119 00:05:13,660 --> 00:05:16,430 Tyto days-- to jsou elektronická zařízení. 120 00:05:16,430 --> 00:05:20,920 >> A na konci dne, co je jediný vstup do počítače? 121 00:05:20,920 --> 00:05:23,299 No, je to něco jako Tento napájecí kabel zde. 122 00:05:23,299 --> 00:05:25,590 I zapojit ho do zdi, a Získám tok elektronů, 123 00:05:25,590 --> 00:05:27,048 který mi umožňuje spuštění stroje. 124 00:05:27,048 --> 00:05:30,420 Nebo možná ty elektrony vytvořené prostřednictvím své baterie. 125 00:05:30,420 --> 00:05:33,790 Ale na konci dne, to je jediná věc, jít do mého notebooku. 126 00:05:33,790 --> 00:05:35,772 A ještě mnohem zajímavější látka je v konečném důsledku 127 00:05:35,772 --> 00:05:37,480 coming out, ať už prostřednictvím tiskárny 128 00:05:37,480 --> 00:05:40,320 nebo na obrazovce nebo audially nebo podobně. 129 00:05:40,320 --> 00:05:45,320 >> Takže pokud všichni máme jako naše Základní vstup do počítače 130 00:05:45,320 --> 00:05:49,160 je elektřina, tak jen elektrony dovnitř a ven, nebo, 131 00:05:49,160 --> 00:05:54,465 a tak jak můžeme použít tento vstup skutečně reprezentovat informace? 132 00:05:54,465 --> 00:05:57,090 Jinými slovy, jak se dostaneme z jednoduchého proudu elektřiny 133 00:05:57,090 --> 00:06:00,350 zastupování skutečné čísel nebo skutečné písmena 134 00:06:00,350 --> 00:06:03,620 nebo skutečné snímky na obrazovce nebo skutečných filmy nebo e-maily 135 00:06:03,620 --> 00:06:05,690 nebo libovolný počet z nich vyšší úrovně, koncepty 136 00:06:05,690 --> 00:06:07,680 chcete-li, že u konec dne nějak 137 00:06:07,680 --> 00:06:11,950 musí být uloženy v této elektronické mechanické zařízení 138 00:06:11,950 --> 00:06:16,260 s použitím pouze ty jednoduché ingredients-- elektrony dovnitř a ven? 139 00:06:16,260 --> 00:06:19,530 >> Takže se zdá, že, V nejjednodušší formě, 140 00:06:19,530 --> 00:06:23,260 jediný druh stavů Mám v mém světě, a proto 141 00:06:23,260 --> 00:06:25,350 na speak-- podmínky v mém world-- je buď 142 00:06:25,350 --> 00:06:33,020 Mám elektrony proudí elektřina tekoucí, nebo já ne-- tak dále, pryč. 143 00:06:33,020 --> 00:06:35,850 A pojďme formalizovat zapínat a vypínat, jako počítačový odborník může, 144 00:06:35,850 --> 00:06:37,255 jen s 1 a 0. 145 00:06:37,255 --> 00:06:39,880 Řekněme popsat některé svévolný ale konzistentní číslo k němu. 146 00:06:39,880 --> 00:06:41,970 1 znamená, že na, 0 znamená vypnuto. 147 00:06:41,970 --> 00:06:45,427 Nebo můžete také prohlížet si toto jako pravými prostředky na a falešné prostředky. 148 00:06:45,427 --> 00:06:47,510 Dalo by se také udělat černý a bílé nebo červené a modré. 149 00:06:47,510 --> 00:06:48,759 Potřebujete k tomu jen dva popisovače. 150 00:06:48,759 --> 00:06:52,240 A počítač vědci Obecně stačí použít 0 a 1. 151 00:06:52,240 --> 00:06:58,980 >> Takže pokud je to ten případ, můj jediný abeceda se skládá z 0 a 1 je, jak 152 00:06:58,980 --> 00:07:03,360 bych mohl dostat do sudého počtu 2 v počítači, natož číslo 3 153 00:07:03,360 --> 00:07:06,140 nebo písmeno abecedy nebo obraz nebo film? 154 00:07:06,140 --> 00:07:08,910 Jak můžeme nějak bootstrap Sami od tohoto základního principu 155 00:07:08,910 --> 00:07:12,080 z 0 a 1 je a ve skutečnosti představují něco zajímavého? 156 00:07:12,080 --> 00:07:14,430 >> Dobře, pojďme dát na tuto otázku přidržen na chvilku 157 00:07:14,430 --> 00:07:17,520 a zvážit něco snad známé, 158 00:07:17,520 --> 00:07:21,150 i když jste nepřemýšlela o že v každém detailu pro 10, 20, 30, 40, 50 159 00:07:21,150 --> 00:07:22,520 více let. 160 00:07:22,520 --> 00:07:24,780 Tohle je co? 161 00:07:24,780 --> 00:07:28,050 Jak byste vyslovit, že? 162 00:07:28,050 --> 00:07:30,770 Není to chyták. 163 00:07:30,770 --> 00:07:32,950 Číslo, ale co je to? 164 00:07:32,950 --> 00:07:34,842 1, 2, 3 nebo 123. 165 00:07:34,842 --> 00:07:37,800 A já se líbilo, jak jste řekl: 1, 2, 3, protože to je jeden způsob, jak ho vidíte. 166 00:07:37,800 --> 00:07:39,870 1, 2, 3, to je sekvence ze tří symbolů. 167 00:07:39,870 --> 00:07:42,005 Je to obrázky, které jsme Nyní mají slova pro. 168 00:07:42,005 --> 00:07:44,880 A pokud jste tak nějak si je všechny spolu, typické lidské anglicky 169 00:07:44,880 --> 00:07:46,600 by se říci 123. 170 00:07:46,600 --> 00:07:48,350 A to je něco jako Vyšší úroveň koncept, 171 00:07:48,350 --> 00:07:50,340 cítí jako poměrně velkým počtem. 172 00:07:50,340 --> 00:07:51,490 >> Ale jak se tam dostaneme? 173 00:07:51,490 --> 00:07:54,640 No, může to být nějaká doba, kdy jste si myslel o tom takhle, 174 00:07:54,640 --> 00:07:56,680 ale zpátky v mém den, já druh naučil toto 175 00:07:56,680 --> 00:08:01,030 jako sloupci 1 je, že 10 je sloup a sloup 100 je. 176 00:08:01,030 --> 00:08:06,400 Tak, jak říká Lakisa, že je 1, 2, 3, ale je to také 123. 177 00:08:06,400 --> 00:08:08,700 Ale jak se dostaneme z bývalý druhé? 178 00:08:08,700 --> 00:08:12,340 >> No, měli byste zpravidla dělat v Sloupec 100 je, že mám 1. 179 00:08:12,340 --> 00:08:14,794 Takže to je jako říkat 100krát 1. 180 00:08:14,794 --> 00:08:16,210 A pak ve sloupci 10 je, mám 2. 181 00:08:16,210 --> 00:08:18,464 Takže to je jako říkat 10x 2. 182 00:08:18,464 --> 00:08:19,630 Ve sloupci 1 je, mám 3. 183 00:08:19,630 --> 00:08:21,720 Takže to je jako říkat 1 krát 3. 184 00:08:21,720 --> 00:08:24,290 >> A pokud přidám tyto věci společně, to samozřejmě, 185 00:08:24,290 --> 00:08:27,470 je 100 plus 10 a 3. 186 00:08:27,470 --> 00:08:31,750 A oh, to je důvod, proč jsem si to Vyšší úroveň Pojem 123. 187 00:08:31,750 --> 00:08:37,220 Je to jen základní matematika, přičemž tito symboly mají závaží na ně, pokud vás 188 00:08:37,220 --> 00:08:39,620 bude zástupného nebo sloupec hodnoty. 189 00:08:39,620 --> 00:08:42,090 A jednou jsem znásobit vše out, mám toto číslo. 190 00:08:42,090 --> 00:08:47,840 >> Tak, jak mnozí z vás vědí, jak mluvit binary-- 0 je a 1's-- jako počítač? 191 00:08:47,840 --> 00:08:50,410 OK, perfektní, nikdo, nebo nikdo z vás si myslí, vy. 192 00:08:50,410 --> 00:08:52,550 Ale já bych vám tvrdit, ve skutečnosti to vědí už. 193 00:08:52,550 --> 00:08:55,330 Jen musíme nějak vyladit naše mentální model, trochu. 194 00:08:55,330 --> 00:08:57,250 Ale proces je stejný. 195 00:08:57,250 --> 00:09:01,460 >> Dovolte mi, abych tohle odejít tam nahoru a Místo toho tahat toto dole na chvíli. 196 00:09:01,460 --> 00:09:05,060 Ve světě počítačů, máme jen 0 a 1 je. 197 00:09:05,060 --> 00:09:07,240 A tak to, co je změní se co? 198 00:09:07,240 --> 00:09:10,920 No, v mém lidském světě, desítková soustava, prosinec význam 10, 199 00:09:10,920 --> 00:09:12,740 Mám kolik číslic mám k dispozici? 200 00:09:12,740 --> 00:09:15,270 201 00:09:15,270 --> 00:09:16,540 10, že jo? 202 00:09:16,540 --> 00:09:17,880 0 až 9, samozřejmě. 203 00:09:17,880 --> 00:09:21,210 >> A to je důvod, proč máme 10 má místo a 100 jeho místo. 204 00:09:21,210 --> 00:09:22,380 Je-li, že přichází? 205 00:09:22,380 --> 00:09:24,430 No, to je 10 k síle 0. 206 00:09:24,430 --> 00:09:28,440 To je o 10 k výkonu 1, 10 o síle 2, a tak dále. 207 00:09:28,440 --> 00:09:32,110 Prostě držet násobí sloupce o 10, rozjíždění jen s 1 208 00:09:32,110 --> 00:09:33,700 v pravém ho zde. 209 00:09:33,700 --> 00:09:35,490 >> Takže ve světě počítačů, pouze v případě, 210 00:09:35,490 --> 00:09:39,600 mají binary-- bi význam 2-- nebo 0 a 1 je, my jen 211 00:09:39,600 --> 00:09:42,420 Opravdu je třeba změnit základ tohoto matematiky. 212 00:09:42,420 --> 00:09:46,410 Takže jinými slovy, teď prostě budeme mají sloupci 1 a the-- 213 00:09:46,410 --> 00:09:51,270 je-li to going-- sloupci 2 je, The 4 sloup, a možná i mimo ni. 214 00:09:51,270 --> 00:09:52,250 Proč tomu tak je? 215 00:09:52,250 --> 00:09:55,650 No, to je 2 do 0-tého výkonu. 216 00:09:55,650 --> 00:09:57,270 To je 2 1. 217 00:09:57,270 --> 00:09:59,610 To je 2 do 2, a tak dále. 218 00:09:59,610 --> 00:10:04,910 >> Takže zatímco tady máme 1, 10 je, 100 ze 1000, je, 10.000 je, 100.000 je, 1 219 00:10:04,910 --> 00:10:10,560 milióny, a tak dále, zde máme 1, 2, 4, 8, 16, 32, 64. 220 00:10:10,560 --> 00:10:13,950 Prostě držet vynásobením 2, místo toho držet vynásobením 10. 221 00:10:13,950 --> 00:10:16,780 Takže teď, když cíl na ruka je zastupovat 222 00:10:16,780 --> 00:10:20,240 Čísla používající pouze 0 a 1 je, uvažujme, jak se tam dostat. 223 00:10:20,240 --> 00:10:26,540 >> To je samozřejmě, je vzor 0 0 0, ale jaké číslo koncepčně 224 00:10:26,540 --> 00:10:27,490 to představuje? 225 00:10:27,490 --> 00:10:35,430 No, 4x 0 plus 2 krát 0 Plus 1 krát 0, dodejme ty dohromady. 226 00:10:35,430 --> 00:10:40,030 4 krát 0 je, samozřejmě, 0, a 2 krát 0 je, samozřejmě, 0 a 1 krát 0 227 00:10:40,030 --> 00:10:40,850 je, samozřejmě, 0. 228 00:10:40,850 --> 00:10:44,910 Takže ach, to představuje Číslo my lidé znají jako 0 ° C. 229 00:10:44,910 --> 00:10:47,810 >> No, pojďme velmi Rychle rychle vpřed. 230 00:10:47,810 --> 00:10:53,600 Pokud jsem místo nezastupuje 0 0 0, ale pojďme udělat 1 0 1, 231 00:10:53,600 --> 00:10:57,010 to by mohlo být, jak Lakisa, dříve, by jen vyslovit to 1 0 1. 232 00:10:57,010 --> 00:11:01,020 Ale teď, jak jsme si ji na vyšší vyrovnat počet my lidé mohli znát? 233 00:11:01,020 --> 00:11:04,220 Takže to, co je toto číslo? 234 00:11:04,220 --> 00:11:06,060 Je to 5, počet známe jako 5. 235 00:11:06,060 --> 00:11:06,870 >> No, proč tomu tak je? 236 00:11:06,870 --> 00:11:09,620 No, můžeme opravdu jakýsi projít přes to metodicky 237 00:11:09,620 --> 00:11:14,880 4x 1, 2 x 0, 1 krát 1. 238 00:11:14,880 --> 00:11:19,880 Přidat ty dohromady, takže To je 4 a 0 a 1. 239 00:11:19,880 --> 00:11:21,577 A to je skutečně 5. 240 00:11:21,577 --> 00:11:24,660 Tak už to začíná být nyní poněkud zdlouhavý dělat aritmetiku znovu a znovu. 241 00:11:24,660 --> 00:11:26,300 Ale proces je stejný. 242 00:11:26,300 --> 00:11:28,380 >> Jediná věc, která má změnilo v našem světě 243 00:11:28,380 --> 00:11:32,740 je, že naše sloupce 1, 2, 4, 8, 16, a tak dále, namísto 1, 10, 100, 244 00:11:32,740 --> 00:11:33,740 1000. 245 00:11:33,740 --> 00:11:40,000 A to je jen proto, že naše abeceda má zmenšil od 0 do 9. jen 0-1. 246 00:11:40,000 --> 00:11:50,851 >> Tak jako malý kvíz zde, by jak Jste představitelem číslo 7 v binární? 247 00:11:50,851 --> 00:11:51,350 0? 248 00:11:51,350 --> 00:11:53,490 No, 0, myslíš 0 0 0? 249 00:11:53,490 --> 00:11:58,140 250 00:11:58,140 --> 00:11:59,693 Řekni to ještě jednou, Karina. 251 00:11:59,693 --> 00:12:03,010 252 00:12:03,010 --> 00:12:03,550 Perfektní. 253 00:12:03,550 --> 00:12:04,370 Proč tomu tak je? 254 00:12:04,370 --> 00:12:08,530 Je to skutečně 4 a 2 plus 1. 255 00:12:08,530 --> 00:12:09,580 Tak dobré. 256 00:12:09,580 --> 00:12:14,364 >> Jak můžeme reprezentovat trochu another-- jak je to číslo 2? 257 00:12:14,364 --> 00:12:18,360 258 00:12:18,360 --> 00:12:20,690 Blízko, ale pozpátku. 259 00:12:20,690 --> 00:12:21,660 Takže co je to? 260 00:12:21,660 --> 00:12:26,290 4 plus 1, takže to je 5 znovu. 261 00:12:26,290 --> 00:12:28,310 >> Takže what's-- Je mi líto, Karina? 262 00:12:28,310 --> 00:12:29,220 0 1 0. 263 00:12:29,220 --> 00:12:34,762 0 1 0 2 by bylo, protože znovu, a to i pokud to nějak není vyskočit na vás, 264 00:12:34,762 --> 00:12:35,470 Jen si to spočítejte. 265 00:12:35,470 --> 00:12:40,390 4 krát 0, 0, 2 krát 1 je 2, 1 krát 0 je 0. 266 00:12:40,390 --> 00:12:42,830 Takže toto je číslo, známe jako 2. 267 00:12:42,830 --> 00:12:44,030 >> Jak o počtu 8? 268 00:12:44,030 --> 00:12:51,240 269 00:12:51,240 --> 00:12:52,730 Hm? 270 00:12:52,730 --> 00:12:53,330 Dobrý. 271 00:12:53,330 --> 00:12:56,130 Takže jsme trochu potřebovat další vyhrazené místo. 272 00:12:56,130 --> 00:12:59,570 Musíme 1 0 0 0. 273 00:12:59,570 --> 00:13:02,280 A to platí i pro našeho druhu ze staré školy desítkové soustavě. 274 00:13:02,280 --> 00:13:05,280 Jak si představují počet 1000? 275 00:13:05,280 --> 00:13:08,480 >> No, měli byste se zdají být druh v těžké místě, 276 00:13:08,480 --> 00:13:10,390 pokud vás požádat, abyste reprezentovat číslo 1000, 277 00:13:10,390 --> 00:13:14,960 protože i když dáváš jako 9 z nich, 9 z nich, 0 z nich, 278 00:13:14,960 --> 00:13:18,730 což je největší číslo máte, jste docela nedostane až 1000. 279 00:13:18,730 --> 00:13:26,920 Takže pokud vás 1,000, stačí další pozice, takže si můžete udělat 1 0 0 0, 280 00:13:26,920 --> 00:13:29,460 ergo číslo 1000. 281 00:13:29,460 --> 00:13:34,200 >> Takže teď, pojďme Pro tento druh koncepční diskuse zpátky do hardwaru, 282 00:13:34,200 --> 00:13:37,470 kde opět, vstupní byl jen tento malý napájecí kabel, elektřina 283 00:13:37,470 --> 00:13:39,300 dovnitř a teče ven. 284 00:13:39,300 --> 00:13:44,740 A tak, že budou zmapovány odtud tam, no, co opravdu potřebujeme? 285 00:13:44,740 --> 00:13:49,460 No, můžete myslet, že jsou uvnitř počítač, celá banda žárovek, 286 00:13:49,460 --> 00:13:50,450 jestli budeš. 287 00:13:50,450 --> 00:13:52,040 Jsou opravdu volal tranzistorů. 288 00:13:52,040 --> 00:13:55,121 A tranzistory jsou jen spínače která může být buď zapnutý nebo vypnutý. 289 00:13:55,121 --> 00:13:56,870 Takže si můžete myslet na tranzistor, který je na 290 00:13:56,870 --> 00:14:00,730 je umožnit elektřina proudit a tranzistor, který je pryč jako zastavování 291 00:14:00,730 --> 00:14:02,170 elektrické energie z tekoucí. 292 00:14:02,170 --> 00:14:04,130 A spíše než brát nad světly tady, 293 00:14:04,130 --> 00:14:06,450 proč ne já dělat tento druh z nového školního stylu. 294 00:14:06,450 --> 00:14:11,360 Takže to může být jedno, baterku bytí na jen stěží ačkoli. 295 00:14:11,360 --> 00:14:14,050 A to může být 0, a teď je to pryč. 296 00:14:14,050 --> 00:14:18,277 >> Takže použití tohoto fyzického zařízení I Nyní může představovat binární systém. 297 00:14:18,277 --> 00:14:19,235 Potřebuju jen dva stavy. 298 00:14:19,235 --> 00:14:21,660 Nezáleží na tom, jaké obarvit to je, nebo co to je. 299 00:14:21,660 --> 00:14:25,920 Záleží jen na tom, že mám jeden stát na jiný stát a vypnout. 300 00:14:25,920 --> 00:14:30,605 Takže používat svůj telefon tady, jak to mám představují počet známe jako 0? 301 00:14:30,605 --> 00:14:34,490 302 00:14:34,490 --> 00:14:38,550 Nebo dát ekvivalentně, co Číslo jsem teď zastupuje? 303 00:14:38,550 --> 00:14:39,810 0, protože zařízení je vypnuto. 304 00:14:39,810 --> 00:14:41,560 >> A kdybych to udělal? 305 00:14:41,560 --> 00:14:43,583 A teď, jak to mám představují číslo 2? 306 00:14:43,583 --> 00:14:46,380 307 00:14:46,380 --> 00:14:50,930 Mohu si půjčit váš telefon Zde, jak jsme včera? 308 00:14:50,930 --> 00:14:58,490 Tak se podívejme, takže když chci reprezentovat číslo 2, je toto číslo 2? 309 00:14:58,490 --> 00:14:59,050 Ne. 310 00:14:59,050 --> 00:15:02,250 Jaké číslo jsem já náhodou představující tady? 311 00:15:02,250 --> 00:15:03,550 Jedná se vlastně o číslo 3. 312 00:15:03,550 --> 00:15:05,008 >> Takže, který z nich nechci vypnout? 313 00:15:05,008 --> 00:15:09,634 Černý telefon nebo-- dobře, pokud they're-- černý telefon nebo bílý telefon? 314 00:15:09,634 --> 00:15:10,300 Bílý telefon. 315 00:15:10,300 --> 00:15:17,020 Takže když jsem tuto funkci vypnout a my srovnejte ji tady, máme 1 316 00:15:17,020 --> 00:15:19,487 na místa 2 a a 0 na místě 1. je. 317 00:15:19,487 --> 00:15:21,195 A tak jsem teď představující číslo 2. 318 00:15:21,195 --> 00:15:24,680 A to, samozřejmě, by byl počet 3, protože se obě z těchto světel 319 00:15:24,680 --> 00:15:25,350 jsou zapnuty. 320 00:15:25,350 --> 00:15:27,480 >> A budu tady zastavit, ale to dá rozum 321 00:15:27,480 --> 00:15:31,100 když chci reprezentovat číslo 4 nebo 8 nebo vyšší, 322 00:15:31,100 --> 00:15:32,529 Budu potřebovat více telefonů. 323 00:15:32,529 --> 00:15:33,820 Ale to je všechno, co se děje. 324 00:15:33,820 --> 00:15:37,800 Takže pokud jste někdy slyšeli, že Vnitřek je-- poděkovat vás-- počítače 325 00:15:37,800 --> 00:15:42,269 Je miliony tranzistorů, to je Jen miliony drobných malých přepínačů. 326 00:15:42,269 --> 00:15:44,310 A nejsou to lehké žárovky, které se zapínají zapnutí a vypnutí, 327 00:15:44,310 --> 00:15:48,340 ale nemají buď povolit elektřinu téct někam nebo zastavit. 328 00:15:48,340 --> 00:15:52,140 A tak je tu vaši dva states-- zapnout nebo vypnout, zapnout nebo vypnout. 329 00:15:52,140 --> 00:15:55,730 >> Takže bychom se zdají nyní mají tuto schopnost 330 00:15:55,730 --> 00:16:00,590 reprezentovat tento koncept, který Rádi bychom ve skutečném hardwaru. 331 00:16:00,590 --> 00:16:05,520 Ale všechno, co máme teď, je schopnost představovat čísla by se mohlo zdát. 332 00:16:05,520 --> 00:16:08,580 Tak jak jsme jít o reprezentovat písmen abecedy, které 333 00:16:08,580 --> 00:16:12,310 cítí se jako další druh funkci, kterou by chtěl přidat do moderního počítače 334 00:16:12,310 --> 00:16:14,280 Jakmile budete mít čísla? 335 00:16:14,280 --> 00:16:16,930 >> A skutečně, pokud se nad tím zamyslíte IT, historicky, počítače 336 00:16:16,930 --> 00:16:19,426 Byly zavedeny skutečně sloužit jako kalkulačky numericky. 337 00:16:19,426 --> 00:16:21,300 Ale samozřejmě, tito dny, oni dělají mnohem víc. 338 00:16:21,300 --> 00:16:23,799 Dokonce i když naběhnout, vy typicky vidět jedno nebo více slov. 339 00:16:23,799 --> 00:16:27,420 Tak jak se vám představují slova, pokud vše, co máme, je, opět, 340 00:16:27,420 --> 00:16:31,054 elektřina na konci den, nebo ekvivalentně 0 a 1 je? 341 00:16:31,054 --> 00:16:34,430 342 00:16:34,430 --> 00:16:35,690 >> To jo. 343 00:16:35,690 --> 00:16:38,320 Jo, myslím, jsme trochu dělali to včera v nějaké formě, 344 00:16:38,320 --> 00:16:40,200 kde na nějakém místě, Myslím, že svévolně 345 00:16:40,200 --> 00:16:46,741 uvedl, že pokud chceme reprezentovat písmeno A, můžeme jen říkat, že 1. 346 00:16:46,741 --> 00:16:49,990 To bylo v kontextu kryptografie, kde jsme jen potřebovali nějaký kód, 347 00:16:49,990 --> 00:16:51,160 nějaký druh mapování. 348 00:16:51,160 --> 00:16:56,680 >> Takže možná bude zastoupena jako 1 a B budou zastoupeny jako 2, 349 00:16:56,680 --> 00:17:01,560 a Z budou zastoupeni jako 26, například. 350 00:17:01,560 --> 00:17:07,430 A pak jen Nevýhodou je, že když jsem bude kódovat písmena v mé e-maily 351 00:17:07,430 --> 00:17:10,430 nebo v mých textových zpráv jako čísla, vy všichni 352 00:17:10,430 --> 00:17:12,640 muset dohodnout použít Stejný soubor konvencí. 353 00:17:12,640 --> 00:17:14,619 A skutečně, svět udělal přesně to. 354 00:17:14,619 --> 00:17:18,040 >> Tam je systém na světě volal ASCII, American Standard 355 00:17:18,040 --> 00:17:21,640 Kód pro výměnu informací, což je prostě rozhodnutí o několik let 356 00:17:21,640 --> 00:17:25,720 Před že lidé stanoveno, že rozhodl, že se bude rovnat, ne 357 00:17:25,720 --> 00:17:32,260 1, 2 a 26, a proto je to forth-- málo different-- ale 65, 66, 67. 358 00:17:32,260 --> 00:17:34,010 A budu vytáhnout graf za chvíli. 359 00:17:34,010 --> 00:17:34,580 Ale je to opravdu svévolný. 360 00:17:34,580 --> 00:17:36,329 Ale to nevadí že je libovolná. 361 00:17:36,329 --> 00:17:38,620 Svět má jen být konzistentní. 362 00:17:38,620 --> 00:17:40,540 >> Nyní, v poslední době, je tu něco milovník 363 00:17:40,540 --> 00:17:45,430 volal Unicode, protože světové druhu realizovaných po vynalézání počítačů, 364 00:17:45,430 --> 00:17:50,977 že je tu víc než dobře 256 symbolů na světě 365 00:17:50,977 --> 00:17:53,560 že bychom mohli chtít reprezentovat, zvláště když si představit 366 00:17:53,560 --> 00:17:58,420 Asijské jazyky a jiné symbologie kteří potřebují větší výraznost než vy 367 00:17:58,420 --> 00:18:02,150 vejde v nejčasnější verzi Tento kód, který byl nazýván ASCII. 368 00:18:02,150 --> 00:18:05,250 Takže Unicode skutečně umožňuje můžete použít více 0 je a 2. 369 00:18:05,250 --> 00:18:08,830 Především budete mít vyslechnutí Slovo bytů ve společnosti a dokonce jen 370 00:18:08,830 --> 00:18:09,400 včera. 371 00:18:09,400 --> 00:18:12,040 A byte je opět to, co? 372 00:18:12,040 --> 00:18:14,840 >> Co je to byte? 373 00:18:14,840 --> 00:18:15,700 Je to jen 8 bitů. 374 00:18:15,700 --> 00:18:17,150 Tak co to vlastně znamená? 375 00:18:17,150 --> 00:18:22,400 No, to znamená, že dříve, když jsme byli mluvíme o binární a byl jsem s použitím 376 00:18:22,400 --> 00:18:28,010 svévolně tři bity, když jsme byli mluví o binary-- místa 1 je, 377 00:18:28,010 --> 00:18:33,600 Na 2 je místem, a to place-- dobře 4, byte prostě znamená, že mluvíte 378 00:18:33,600 --> 00:18:38,730 není v jednotkách po třech, ale čtyři, pět, šest, sedm osm, 379 00:18:38,730 --> 00:18:46,910 což nám dává 8 je místo, 16 je, 32 je, 64 je a 128 let. 380 00:18:46,910 --> 00:18:50,010 >> Jinými slovy, trochu není všechno že užitečná měrná jednotka, 381 00:18:50,010 --> 00:18:53,132 protože je to jen jako jeden maličký údaj, zapnout nebo vypnout. 382 00:18:53,132 --> 00:18:54,840 Takže před několika lety, svět se rozhodlo, 383 00:18:54,840 --> 00:18:59,060 to je o něco výhodnější mluvit Podmínky bytů, osm věcí najednou. 384 00:18:59,060 --> 00:19:01,670 A tak tedy narodil ponětí o bajtu. 385 00:19:01,670 --> 00:19:03,640 A tak máme osm bitů zde. 386 00:19:03,640 --> 00:19:06,810 >> A ukázalo se také, pro podobné Důvody, svět se rozhodli let 387 00:19:06,810 --> 00:19:12,439 Před které k reprezentaci písmeno ASCII, budete používat jednotky z 8 bitů. 388 00:19:12,439 --> 00:19:14,230 Takže i když ne potřebují, že mnoho, ty jsi 389 00:19:14,230 --> 00:19:18,130 Vždy bude používat 8 bitů představují písmeno abecedy. 390 00:19:18,130 --> 00:19:20,950 A to je výhodné, protože pak pokud vás 391 00:19:20,950 --> 00:19:28,720 obdržet zprávu, která má 0 0 0 1 1 1 1 0 a následně další 1 1 1 0 1 0 392 00:19:28,720 --> 00:19:33,320 0 1, takže pokud dostanete 16 bitů, svět může jen 393 00:19:33,320 --> 00:19:37,460 Předpokládejme, že první 8 jsou jedno písmeno a druhý 8 jsou další písmeno. 394 00:19:37,460 --> 00:19:39,240 >> Nezáleží na tom, kolik jich je. 395 00:19:39,240 --> 00:19:41,460 Je to prostě vadí, že jsme všichni konzistentní 396 00:19:41,460 --> 00:19:42,950 když jsme interpretaci těchto bitů. 397 00:19:42,950 --> 00:19:44,377 A to byl jen náhodný. 398 00:19:44,377 --> 00:19:47,210 To znamená, že něco, ale já ne opravdu přemýšlet o tom, co to znamená. 399 00:19:47,210 --> 00:19:49,620 >> Takže je to malou bílou lež. 400 00:19:49,620 --> 00:19:51,990 Původně ASCII ve skutečnosti používá pouze 7 bitů. 401 00:19:51,990 --> 00:19:54,180 A osmý bit volal rozšířený ASCII. 402 00:19:54,180 --> 00:19:56,290 Ale bod je nakonec stejný. 403 00:19:56,290 --> 00:19:58,850 Svět obecně standardizován na 8 bitů. 404 00:19:58,850 --> 00:20:04,290 >> Takže by to zdá být poněkud omezující, protože jen mohu 405 00:20:04,290 --> 00:20:07,970 představují kapitálu, kapitál B prostřednictvím kapitálového Z. 406 00:20:07,970 --> 00:20:10,940 Ale opravdu ne, když půjdu to-- je tu banda zdrojů 407 00:20:10,940 --> 00:20:13,695 on-line, například, asciitable.com Tento 408 00:20:13,695 --> 00:20:16,310 bude trochu ohromující na prvním místě. 409 00:20:16,310 --> 00:20:18,910 Ale budu poukázat co je zde důležité. 410 00:20:18,910 --> 00:20:24,090 >> To jen se stane be-- a budu walk-- podívejme se, jestli jdu sem. 411 00:20:24,090 --> 00:20:27,990 Zde je, v desetinné čárky sloupec, číslo 65. 412 00:20:27,990 --> 00:20:32,201 A v koloně dopisu pravá ruka znak, Chr, je písmeno A. 413 00:20:32,201 --> 00:20:34,450 A můžete ignorovat, prozatím, vše ve středu. 414 00:20:34,450 --> 00:20:36,769 To je hexadecimální, osmičkové a HTML kód. 415 00:20:36,769 --> 00:20:39,810 K této stránce se právě snaží hodit Mnoho informací na vás najednou. 416 00:20:39,810 --> 00:20:42,970 Ale vše, co zajímá je desetinná sloupec a sloupec charakter. 417 00:20:42,970 --> 00:20:46,190 >> Takže podle této logiky, co je číslo, které svět 418 00:20:46,190 --> 00:20:50,510 rozhodl představuje malé znak? 419 00:20:50,510 --> 00:20:52,230 Jo, 97. 420 00:20:52,230 --> 00:20:55,850 A právě plést případně mírně, 421 00:20:55,850 --> 00:21:03,715 jaký počet se svět rozhodl bude představovat číslo 1? 422 00:21:03,715 --> 00:21:06,900 423 00:21:06,900 --> 00:21:10,910 Správně, protože we-- 49, zdá se, tady dole v levém dolním rohu. 424 00:21:10,910 --> 00:21:12,320 >> A teď, co mám na mysli? 425 00:21:12,320 --> 00:21:14,830 Tak to dopadá, že v počítačových systémech, 426 00:21:14,830 --> 00:21:16,840 je obecně základním rozdílem 427 00:21:16,840 --> 00:21:19,920 mezi číslem a charakteru. 428 00:21:19,920 --> 00:21:22,330 Číslo je věc, kterou bychom dozvěděl vyrůstat, když 429 00:21:22,330 --> 00:21:23,830 my jsme byli mimořádně mladí na základní škole. 430 00:21:23,830 --> 00:21:25,110 To, co jste počítat s tím. 431 00:21:25,110 --> 00:21:30,220 Ale postava je jen určitý tvar, piktogramy, tak říkajíc, na obrazovce. 432 00:21:30,220 --> 00:21:36,200 >> Nyní, my lidé nějak vidět něco, co vypadá takto. 433 00:21:36,200 --> 00:21:39,060 A my říkáme, oh, to je číslo dvě. 434 00:21:39,060 --> 00:21:44,999 Ale ne, to je jen symbol, který vypadá jako to, co známe jako číslo 2. 435 00:21:44,999 --> 00:21:46,790 A tak tam je to zásadní rozdíl 436 00:21:46,790 --> 00:21:50,340 mezi skutečnými čísly a znaky. 437 00:21:50,340 --> 00:21:52,130 Jedná se o číslo. 438 00:21:52,130 --> 00:21:54,420 Ale obecně, v kontext počítače, 439 00:21:54,420 --> 00:21:56,809 pokud se místo toho vidět něco takového quoted-- 440 00:21:56,809 --> 00:21:58,600 a vy ne vždy muset vidět, že citován, 441 00:21:58,600 --> 00:22:01,474 ale kvůli discussion-- pokud vidíte uvozovek čísla, 442 00:22:01,474 --> 00:22:02,730 nyní je to postava. 443 00:22:02,730 --> 00:22:06,330 Takže toto číslo 2 vespod kapota uvnitř počítače 444 00:22:06,330 --> 00:22:12,220 bude zastoupena se vzorem bitů, které představují počet 445 00:22:12,220 --> 00:22:14,850 50 podle tabulky online. 446 00:22:14,850 --> 00:22:18,300 >> Nicméně, pokud počítači vidí jen tohle, tohle 447 00:22:18,300 --> 00:22:24,580 by být zastoupeny s vzor bitu 0 0 0 0 0 0 1 0. 448 00:22:24,580 --> 00:22:29,595 Vzhledem k tomu, by tento znak ve skutečnosti být zastoupeny as-- a nyní, 449 00:22:29,595 --> 00:22:34,710 Musím myslet trochu harder-- tak toto charakter by být zastoupeny s 0 450 00:22:34,710 --> 00:22:39,080 0 1-- co potřebuji tady? 451 00:22:39,080 --> 00:22:44,450 0 0 1 1 0 0 1 0. 452 00:22:44,450 --> 00:22:45,480 Jak jsem to udělal? 453 00:22:45,480 --> 00:22:49,580 No to je číslo 50, pokud vás množte se, že při použití těchto sloupců, 454 00:22:49,580 --> 00:22:53,530 To je číslo 2, a proto To je důvod, proč je tato dichotomie. 455 00:22:53,530 --> 00:22:55,850 >> A to je jen teaser nyní k funkcím 456 00:22:55,850 --> 00:22:59,710 které existují v programovacích jazycích že budeme ještě dnes dotknout krátce. 457 00:22:59,710 --> 00:23:01,950 V programovacích jazycích, máte obecně, 458 00:23:01,950 --> 00:23:04,495 ale ne vždy, věci volání různé datové typy. 459 00:23:04,495 --> 00:23:06,870 Jinými slovy, je programmer-- když on nebo ona píše, 460 00:23:06,870 --> 00:23:11,150 programátor dostane se rozhodnout, v jakém formát pro ukládání jeho nebo její data. 461 00:23:11,150 --> 00:23:14,120 Můžete buď ukládat data as syrové čísla, jako je číslo 2. 462 00:23:14,120 --> 00:23:17,940 Nebo můžete ukládat jako struny, nebo posloupnosti znaků 463 00:23:17,940 --> 00:23:21,550 že byste obecně vyjádřit citace ve vašem programovacím jazyku. 464 00:23:21,550 --> 00:23:25,230 >> Můžete mít věci called-- Budu zjednodušují a říkají jim 465 00:23:25,230 --> 00:23:28,870 real numbers-- tak čísel, která nejsou celá čísla, jako je číslo 2, 466 00:23:28,870 --> 00:23:31,310 ale počty rád 4.56. 467 00:23:31,310 --> 00:23:33,490 Takže reálná čísla mohou také mají desetinných míst, 468 00:23:33,490 --> 00:23:36,340 tak to je jiný zásadní kus dat v počítači. 469 00:23:36,340 --> 00:23:41,920 A pak dokonce můžete mít Jiné typy dat v klidu. 470 00:23:41,920 --> 00:23:45,810 Tak to je jen ukázka opravdu o nejjednodušší rozhodnutí designových 471 00:23:45,810 --> 00:23:50,960 že programátor by mohl aby pod kapotou. 472 00:23:50,960 --> 00:23:52,925 >> Tak jen ještě nějaké otázky? 473 00:23:52,925 --> 00:23:57,320 474 00:23:57,320 --> 00:23:59,860 Takže pojďme se snažit, aby to trochu reálnější. 475 00:23:59,860 --> 00:24:02,120 Tento hardware není tolik v užívání ještě. 476 00:24:02,120 --> 00:24:07,420 Ale většina každý v této místnosti pravděpodobně vyrostl a stále používá pevné disky 477 00:24:07,420 --> 00:24:08,010 nějakým způsobem. 478 00:24:08,010 --> 00:24:10,100 >> I přesto, že většina již naše notebooky ne 479 00:24:10,100 --> 00:24:15,900 vybaven zařízením, které fungují jako je tato, Místo toho notebooky dnes všeobecně 480 00:24:15,900 --> 00:24:18,590 mají Solid State Drive s žádnými pohyblivými částmi. 481 00:24:18,590 --> 00:24:22,840 A který má tendenci být dražší, bohužel, ale trochu rychleji 482 00:24:22,840 --> 00:24:27,230 a je-- dobře, často mnohem rychleji, což je jeden z důvodů, proč. 483 00:24:27,230 --> 00:24:28,980 A také to není generují tolik tepla. 484 00:24:28,980 --> 00:24:31,680 To může být menší, takže je obecně čistý pozitivní. 485 00:24:31,680 --> 00:24:35,030 >> Ale to nám umožňuje mapovat trochu konkrétněji, co 486 00:24:35,030 --> 00:24:38,460 mluvíme o u 0 je a Úroveň 1 je nyní k fyzickému zařízení. 487 00:24:38,460 --> 00:24:40,810 To je jedna věc, pro mě to talk asi 0 a 1, pokud jde 488 00:24:40,810 --> 00:24:43,990 mého telefonu nebo abstraktně ve smyslu přepínačů, že zapíná a vypíná. 489 00:24:43,990 --> 00:24:45,340 Ale co pevných disků? 490 00:24:45,340 --> 00:24:48,495 Ve svých noteboocích, pokud máte starší jeden, nebo ve stolním počítači, 491 00:24:48,495 --> 00:24:51,200 nebo určitě v serverech Dnes, kde máte 492 00:24:51,200 --> 00:24:53,070 pevné disky, které mají terabytu prostoru, 493 00:24:53,070 --> 00:24:55,560 4 TB prostoru, no co to znamená? 494 00:24:55,560 --> 00:24:59,560 >> Pevný disk s 1 terabyte kosmických prostředků 495 00:24:59,560 --> 00:25:03,890 tam je 1 bilion bajtů uvnitř ní nějakým způsobem, 496 00:25:03,890 --> 00:25:10,450 nebo ekvivalentně 8 bilionů bitů uvnitř. 497 00:25:10,450 --> 00:25:16,240 1 terabyte by bylo 8 terabits nebo 1 bilion bitů, které 498 00:25:16,240 --> 00:25:19,330 znamená, že pokud máte těžké drive, máte nějak 499 00:25:19,330 --> 00:25:22,400 nebo další bilion 0 je a 1 je uvnitř ní. 500 00:25:22,400 --> 00:25:25,360 A pokud budeme stačí se podívat se na libovolný obrázek z pevného disku 501 00:25:25,360 --> 00:25:30,110 reprezentativní, to je to, co pevný Pohon by mohla typicky vypadat uvnitř. 502 00:25:30,110 --> 00:25:32,600 >> To, také, je něco jako starý gramofon hráč 503 00:25:32,600 --> 00:25:35,350 ale obecně se více záznamů uvnitř, tak 504 00:25:35,350 --> 00:25:38,270 na speak-- násobek tácy, jak se jim říká, 505 00:25:38,270 --> 00:25:42,259 kovové kruhové disky, a pak trochu čtecí hlava, 506 00:25:42,259 --> 00:25:43,550 podobně jako starý gramofon. 507 00:25:43,550 --> 00:25:46,589 A že čtecí hlava se pohybuje dozadu a tam a nějak čte bity. 508 00:25:46,589 --> 00:25:49,380 A co je na těchto tácy, a to i i když my lidé je nemůže vidět, 509 00:25:49,380 --> 00:25:52,757 a to buď ve skutečnosti nebo v tomto obrázku, tam je malinké magnetické částice. 510 00:25:52,757 --> 00:25:55,090 A i když jste dlouho zapomněli, jak funguje elektřina, 511 00:25:55,090 --> 00:25:57,550 magnetická částice která je nabitá všeobecně 512 00:25:57,550 --> 00:26:00,570 Má severní konec a na jih end-- tak severní a jižní. 513 00:26:00,570 --> 00:26:03,000 A tak se svět jen rozhodl před nějakým časem 514 00:26:03,000 --> 00:26:06,570 že, je-li magnetické protokol v zásadě je vyrovnán takhle, sever-jih, 515 00:26:06,570 --> 00:26:07,610 říkejme, že 1. 516 00:26:07,610 --> 00:26:10,470 Pokud je to místo na jih-sever, ať to jen zavolat, že je 0. 517 00:26:10,470 --> 00:26:13,350 A tak pokud máte na K dispozici bilion 518 00:26:13,350 --> 00:26:16,300 maličký magnetické particles-- a doufejme, 519 00:26:16,300 --> 00:26:18,740 hardware vynalézavost v Aby se otočit lidem kolem 520 00:26:18,740 --> 00:26:24,450 Jak vidíte fit-- Chcete-li představují spoustu 0 letech, vás 521 00:26:24,450 --> 00:26:28,120 stačí 8 magnetických částic všechny vyrovnány takhle. 522 00:26:28,120 --> 00:26:30,330 A pokud chcete reprezentovat Osm 1 je, stačí 523 00:26:30,330 --> 00:26:33,170 Potřebujeme 8 magnetických částic vyrovnaných zády k sobě k sobě takhle. 524 00:26:33,170 --> 00:26:35,515 >> Co mám na mysli touto Magnetické částice? 525 00:26:35,515 --> 00:26:38,390 Upřímně řečeno, všechny ty roky později, věc, která ještě přijde na mysl 526 00:26:38,390 --> 00:26:42,139 Je to chlap, pokud vás vyrostl s touto věcí. 527 00:26:42,139 --> 00:26:43,930 Toto je pro little-- ty unfamiliar-- 528 00:26:43,930 --> 00:26:47,810 Trochu dětství hračka, která má tento bezsrsté muže zde 529 00:26:47,810 --> 00:26:51,690 že má k dispozici všechny tyto drobné malé černé magnetické částice, které s sebou přináší. 530 00:26:51,690 --> 00:26:53,930 A pomocí tohoto červeného hůl, což je jen magnet, 531 00:26:53,930 --> 00:26:58,460 můžete mu nějak dát knír nebo obočí nebo vlasů nebo něco na něj. 532 00:26:58,460 --> 00:27:00,710 Takže ve skutečnosti, pokud bychom zoom v, například, toto 533 00:27:00,710 --> 00:27:02,950 je druh hry, kterou Můžete hrát s Wooly Willy. 534 00:27:02,950 --> 00:27:06,570 >> A to je jen říci, tito jsou mnohem větší magnetické částice 535 00:27:06,570 --> 00:27:09,890 než jsou ve skutečnosti na pevném disku, a mnohem méně magnetické částice. 536 00:27:09,890 --> 00:27:11,640 Ale pojďme skutečně vidět pak, pokud máte 537 00:27:11,640 --> 00:27:14,720 drobné magnetické částice v pevný disk, jak můžete vlastně 538 00:27:14,720 --> 00:27:19,090 používat ty reprezentovat data. 539 00:27:19,090 --> 00:27:20,070 >> [VIDEOPŘEHRÁVÁNÍ] 540 00:27:20,070 --> 00:27:24,190 >> -The Pevný disk je místo, kde vaše PC ukládá většinu svých trvalých dat. 541 00:27:24,190 --> 00:27:27,170 K tomu, data cestuje z RAM podél 542 00:27:27,170 --> 00:27:31,720 se softwarovými signálů, které Řekněte pevný disk, jak ukládat tato data. 543 00:27:31,720 --> 00:27:36,570 Obvody hnacího tvrdé překládat ty, signály na kolísání napětí. 544 00:27:36,570 --> 00:27:40,880 Ty zase ovládat tlačítka pevného disku pohybující se parts-- některé málo pohyblivých 545 00:27:40,880 --> 00:27:43,440 části vlevo v moderních počítačů. 546 00:27:43,440 --> 00:27:47,650 >> Některé z těchto signálů řídí motor, který se točí kovové potažené mísy. 547 00:27:47,650 --> 00:27:50,980 Vaše data jsou ve skutečnosti uložené na těchto plotnách. 548 00:27:50,980 --> 00:27:56,250 Další signály posunout čtecí / zapisovací hlavy číst nebo zapisovat data na tácy. 549 00:27:56,250 --> 00:28:00,100 Toto zařízení je tak přesné že lidský vlas ani nemohl 550 00:28:00,100 --> 00:28:02,800 procházet mezi hlavami a předení talíře. 551 00:28:02,800 --> 00:28:04,887 Přesto to všechno funguje v úžasné rychlosti. 552 00:28:04,887 --> 00:28:05,470 [END PŘEHRÁVÁNÍ] 553 00:28:05,470 --> 00:28:06,780 A můžete u vidět v zadní části videa, 554 00:28:06,780 --> 00:28:08,340 tam jsou obecně více mísy. 555 00:28:08,340 --> 00:28:10,250 A tak, že čtení hlava není jen čtení na vrchol. 556 00:28:10,250 --> 00:28:12,458 Je to něco jako tři nebo čtyři nebo více čtecí hlavy 557 00:28:12,458 --> 00:28:14,920 že pohyb takhle, čtení dat současně. 558 00:28:14,920 --> 00:28:17,407 >> Takže je tu spousta složitost a druh načasování 559 00:28:17,407 --> 00:28:18,740 který je zapojený do pevného disku. 560 00:28:18,740 --> 00:28:21,920 A věc se točí opravdu zašít rychle, takže je tu spousta složitosti. 561 00:28:21,920 --> 00:28:25,220 Ale pojďme přiblížit trochu hlouběji a vidět, kde jsou tyto magnetické částice 562 00:28:25,220 --> 00:28:27,370 a jak se dostáváme se na ně. 563 00:28:27,370 --> 00:28:28,750 >> [VIDEOPŘEHRÁVÁNÍ] 564 00:28:28,750 --> 00:28:31,830 >> -Nech Je pohled na to, co jsme právě viděli zpomaleně. 565 00:28:31,830 --> 00:28:35,230 Když krátký elektrický impulz je poslán do čtecí / zapisovací hlavy, 566 00:28:35,230 --> 00:28:39,000 to převrátí na malém elektromagnetické Na zlomek vteřiny. 567 00:28:39,000 --> 00:28:41,390 Magnet vytváří Pole, kterým se mění 568 00:28:41,390 --> 00:28:44,600 polarita malý, nepatrný část kovových částic 569 00:28:44,600 --> 00:28:46,960 který srst povrch každého tácu je. 570 00:28:46,960 --> 00:28:50,020 Vzor řada z nich nepatrný nabité zastavěné plochy na disku 571 00:28:50,020 --> 00:28:54,590 reprezentuje jediný bit údajů ve binární číslo systém používaný počítači. 572 00:28:54,590 --> 00:28:57,510 >> Nyní, pokud je aktuální odeslán jeden cesta přes čtecí / zapisovací hlavy, 573 00:28:57,510 --> 00:28:59,899 Tato oblast je polarizován v jednom směru. 574 00:28:59,899 --> 00:29:01,940 Je-li aktuální zaslána opačný směr, 575 00:29:01,940 --> 00:29:04,020 polarizaci je obrácen. 576 00:29:04,020 --> 00:29:06,440 Jak se vám data z pevného disku? 577 00:29:06,440 --> 00:29:08,190 Jen v opačném pořadí úkonů. 578 00:29:08,190 --> 00:29:10,440 Takže jsou to částice na disk, které se dostanou proud 579 00:29:10,440 --> 00:29:12,260 ve čtecí / zapisovací hlavy v pohybu. 580 00:29:12,260 --> 00:29:14,580 Dát dohromady miliony Tyto magnetizován segmenty, 581 00:29:14,580 --> 00:29:16,220 a máte soubor. 582 00:29:16,220 --> 00:29:21,030 >> Nyní kousky jednoho souboru může být roztroušených po celém tácy hnacím je, 583 00:29:21,030 --> 00:29:24,060 něco jako nepořádek papírů na vašem stole. 584 00:29:24,060 --> 00:29:27,590 Takže speciální navíc soubor obsahuje Trať, kde je všechno. 585 00:29:27,590 --> 00:29:30,440 Nenechte si přejete jste měli něco takového? 586 00:29:30,440 --> 00:29:31,290 >> [END PŘEHRÁVÁNÍ] 587 00:29:31,290 --> 00:29:36,260 >> Takže je zmíněno tam, snad, je toto téma ze včerejška výmazu. 588 00:29:36,260 --> 00:29:38,380 Při odstranění Soubor, včera jsme si řekli, 589 00:29:38,380 --> 00:29:41,020 že počítač vlastně dělá co, když táhnete něco 590 00:29:41,020 --> 00:29:44,110 do koše nebo popelnice? 591 00:29:44,110 --> 00:29:45,150 Je to prostě zapomene. 592 00:29:45,150 --> 00:29:47,540 Ale 0 a 1 je, magnetické částice 593 00:29:47,540 --> 00:29:50,640 které vypadají jako červené a modré věci zde, nebo moje ruka tady, 594 00:29:50,640 --> 00:29:52,350 jsou tam stále na pevném disku. 595 00:29:52,350 --> 00:29:56,090 >> A tak existuje software-- Norton Utilities a Yesteryear 596 00:29:56,090 --> 00:29:58,159 a další modernější software--, že právě 597 00:29:58,159 --> 00:30:01,200 prohledá celý pevný disk hledá na všechny ty 0 a 1 letech, neboť 598 00:30:01,200 --> 00:30:06,890 Ukazuje se, že většina souborů formáty-- Dokumenty aplikace Word, Excel soubory, obrázky, 599 00:30:06,890 --> 00:30:10,380 Video files-- všichni mají jisté vzory, které jsou běžné mezi nimi. 600 00:30:10,380 --> 00:30:12,550 Každé video soubor může mít jinou video, 601 00:30:12,550 --> 00:30:14,870 ale první několik bity jsou obvykle stejné. 602 00:30:14,870 --> 00:30:16,790 Nebo poslední několik bitů jsou obvykle stejné. 603 00:30:16,790 --> 00:30:19,910 >> A tak s vysokou pravděpodobností, se můžete podívat na ty vzory. 604 00:30:19,910 --> 00:30:23,700 A to i v případě, že soubor byl zapomenut, lze říci, s vysokou pravděpodobností, 605 00:30:23,700 --> 00:30:28,460 ale to vypadá jako dokumentu aplikace Word, nechá ji obnovit a un-zapomeň na to, 606 00:30:28,460 --> 00:30:28,990 jestli budeš. 607 00:30:28,990 --> 00:30:32,330 A tak to je, jak můžete obnovit Data, která je buď byli náhodně 608 00:30:32,330 --> 00:30:36,560 vymazány nebo odstraněny nebo úmyslně vypouští z jakéhokoliv účelům. 609 00:30:36,560 --> 00:30:42,530 >> Naproti tomu bezpečné mazání co dělá v souvislosti s obrázkem, jako je tento? 610 00:30:42,530 --> 00:30:44,059 Přesně tak, z nich dělá vše náhodně. 611 00:30:44,059 --> 00:30:46,350 Tak to nějak pohybuje některých jim dolů, některé z nich nahoru, 612 00:30:46,350 --> 00:30:49,433 ponechává některé z nich beze změny, a Obecně je náhodný šum z toho, 613 00:30:49,433 --> 00:30:52,960 nebo jen možná dělá všechno Them 0 nebo všechny z nich jeden je. 614 00:30:52,960 --> 00:30:56,350 A že také může obecně drhnout vaše data pryč. 615 00:30:56,350 --> 00:31:00,160 >> Takže vraťme se k otázce výpočetní myšlení, přičemž 616 00:31:00,160 --> 00:31:03,270 máme vzorce vstupy. 617 00:31:03,270 --> 00:31:06,390 A algoritmy dává jste výstupy nakonec. 618 00:31:06,390 --> 00:31:09,270 Zaměřujeme se nyní na vstupech a výstupy, protože teď jsem 619 00:31:09,270 --> 00:31:12,159 Tvrzení, že máme způsob představující vstupy a výstupy. 620 00:31:12,159 --> 00:31:13,450 Budeme jen používat binární. 621 00:31:13,450 --> 00:31:15,910 >> A bez ohledu na to, co jsme chtějí reprezentovat dnes, 622 00:31:15,910 --> 00:31:20,230 ať už je to číslo nebo písmeno nebo tisíce z nich v telefonním seznamu 623 00:31:20,230 --> 00:31:23,210 nebo obrázky nebo filmy, na konci ze dne, to vše 0 a 1 je. 624 00:31:23,210 --> 00:31:26,640 A tvrdím, že i když toto je super jednoduchý svět jen s 0 let 625 00:31:26,640 --> 00:31:28,240 a 1 je, můžeme postavit sami nahoru. 626 00:31:28,240 --> 00:31:32,210 A my jsme viděli jeden příklad že s písmeny tak daleko. 627 00:31:32,210 --> 00:31:35,615 >> Takže pojďme se nyní zaměřit na toto téma Střední přísada, algoritmus. 628 00:31:35,615 --> 00:31:38,190 A vraťme se k tomu Příkladem Mike Smith. 629 00:31:38,190 --> 00:31:41,689 Takže v tomto telefonním seznamu, které sice, nepoužíváme tak moc ne, 630 00:31:41,689 --> 00:31:42,980 je tu problém je třeba řešit. 631 00:31:42,980 --> 00:31:45,040 Chceme najít někoho, jako je Mike Smith. 632 00:31:45,040 --> 00:31:47,520 >> A co můžu udělat, aby se najít Miku? 633 00:31:47,520 --> 00:31:51,197 No, mohl bych prostě otevřít toto Kniha jazyce na první stránce, 634 00:31:51,197 --> 00:31:52,780 a uvědomit si, ach, jsem v sekci A. 635 00:31:52,780 --> 00:31:53,510 Mike tam není. 636 00:31:53,510 --> 00:31:55,510 Musím sekci S pro Smith. 637 00:31:55,510 --> 00:31:58,192 Takže jen držet otáčením jednu stránku najednou. 638 00:31:58,192 --> 00:32:00,900 Nech mě předstírat, že je to všechno bílé stránky a ne Zlaté stránky, 639 00:32:00,900 --> 00:32:02,910 protože nebudeme najít Mike ve Zlatých stránkách stejně. 640 00:32:02,910 --> 00:32:04,034 Ale já jsem v bílých stránkách. 641 00:32:04,034 --> 00:32:05,340 A teď jsem v sekci B. 642 00:32:05,340 --> 00:32:06,810 Ještě jsem ho našel. 643 00:32:06,810 --> 00:32:08,890 Tak jsem neustále zapínat jednu stránku najednou. 644 00:32:08,890 --> 00:32:10,130 >> Jedná se o algoritmus. 645 00:32:10,130 --> 00:32:12,440 Je to sada instrukcí pro řešení nějaký problém. 646 00:32:12,440 --> 00:32:16,480 Jinými slovy, podívejte se na strana, pokud Mike není na něm, 647 00:32:16,480 --> 00:32:20,020 otočit stránku a opakuje znovu a znovu a znovu, 648 00:32:20,020 --> 00:32:21,760 v ideálním případě dívat se dolů, jak to děláte. 649 00:32:21,760 --> 00:32:24,120 Takže je tento algoritmus, tento proces, je to tak? 650 00:32:24,120 --> 00:32:27,400 651 00:32:27,400 --> 00:32:28,830 >> Promiňte. 652 00:32:28,830 --> 00:32:30,056 Ne, slyšel jsem nějaké čísla. 653 00:32:30,056 --> 00:32:33,250 654 00:32:33,250 --> 00:32:36,125 OK, ale to je-- jo, je to určitě únavné. 655 00:32:36,125 --> 00:32:39,000 Stejně jako, budeme tu celý den, kdybych dál hledat Mika při této rychlosti. 656 00:32:39,000 --> 00:32:41,430 Ale dovolte mi tvrdí, že je to správné. 657 00:32:41,430 --> 00:32:43,850 Je to hloupé, ale je to správné. 658 00:32:43,850 --> 00:32:47,209 >> Na konci dne, pokud to mohlo trvat, Najdu Mika, jestli je tam 659 00:32:47,209 --> 00:32:48,250 a já věnovat pozornost. 660 00:32:48,250 --> 00:32:50,230 A já se nakonec dostanou jeho strana. 661 00:32:50,230 --> 00:32:52,890 A když dostanu příliš daleko, pokud I dostat do sekce T, 662 00:32:52,890 --> 00:32:55,900 pak mohu lehce optimalizovat a jen říct, hm, vše je hotovo. 663 00:32:55,900 --> 00:32:57,980 Já ani nemusíte ztrácet Čas jít do Z je. 664 00:32:57,980 --> 00:33:00,010 Ale to je velmi Lineární přístup, pokud vás 665 00:33:00,010 --> 00:33:03,370 bude velmi druh zleva doprava přístup, přímka. 666 00:33:03,370 --> 00:33:05,560 A její správné, ale pomalu. 667 00:33:05,560 --> 00:33:09,250 >> Tak jsem si pamatuju z základce, třídění z optimalizace z první srovnávač, 668 00:33:09,250 --> 00:33:13,756 kde jsem se naučil počítat ne o ty ale twos-- tak 2, 4, 6. 669 00:33:13,756 --> 00:33:15,630 Je to, mnohem těžší ano, ale teoreticky je to 670 00:33:15,630 --> 00:33:20,149 faster-- 8, 10, 12, 14, a tak dále. 671 00:33:20,149 --> 00:33:21,190 Jak se o tom algoritmu? 672 00:33:21,190 --> 00:33:23,150 Je to efektivnější? 673 00:33:23,150 --> 00:33:23,880 Je to rychlejší? 674 00:33:23,880 --> 00:33:25,365 >> Diváků: Je to efektivní. 675 00:33:25,365 --> 00:33:28,560 >> DAVID Malan: Jo, tak je to def-- je to doslova dvakrát tak rychle, za předpokladu, že I 676 00:33:28,560 --> 00:33:30,170 Nechápejte zakopl s mými prsty. 677 00:33:30,170 --> 00:33:32,294 To je dvakrát tak rychle, protože Já otočením o dva 678 00:33:32,294 --> 00:33:36,560 Stránky najednou místo jednoho, ale je to potenciálně ve správné, protože proč? 679 00:33:36,560 --> 00:33:37,852 >> Publikum: Ty skákání některé z nich. 680 00:33:37,852 --> 00:33:41,185 DAVID Malan: Dobře, co když se stane Mike které mají být sandwiched-- možná, když jsem později 681 00:33:41,185 --> 00:33:44,370 v telefonním seznamu, Mike se stane být sevřený mezi těmito dvěma stránkami, 682 00:33:44,370 --> 00:33:46,720 a já jen slepě přeskočit přes něj. 683 00:33:46,720 --> 00:33:48,490 Takže potřebujeme tam malou opravu. 684 00:33:48,490 --> 00:33:51,290 Jednou jsem narazila na úsek T, I nemůže jen tak s jistotou říci, 685 00:33:51,290 --> 00:33:52,420 jsme nenašli Mike Smith. 686 00:33:52,420 --> 00:33:53,770 Asi budu muset zdvojnásobit zpět. 687 00:33:53,770 --> 00:34:00,210 Nebo ve skutečnosti, jakmile se dostanu někoho s názvem S-N, místo S-M pro Smith, 688 00:34:00,210 --> 00:34:02,790 okamžitě bych mohl zdvojnásobit zpět, protože možná, že 689 00:34:02,790 --> 00:34:03,900 Byl na předchozí straně. 690 00:34:03,900 --> 00:34:05,070 >> Ale nemám zdvojnásobit zpět daleko. 691 00:34:05,070 --> 00:34:08,030 Teoreticky, když jsem to na pravé straně čas, jen jsem se vrátit o jednu stránku. 692 00:34:08,030 --> 00:34:10,139 Takže to přidáním jen jeden krok navíc. 693 00:34:10,139 --> 00:34:13,070 Tak jsem šel dvakrát tak rychle, ale mě to stálo jeden navíc stránku. 694 00:34:13,070 --> 00:34:14,699 Ale to cítí jako čistou výhru. 695 00:34:14,699 --> 00:34:17,230 >> Ale to není, jak většina lidí v tato místnost by tento problém vyřešit. 696 00:34:17,230 --> 00:34:20,313 Co by typický člověk, možná Před několika lety dělat, najít Mike Smith? 697 00:34:20,313 --> 00:34:22,900 698 00:34:22,900 --> 00:34:24,800 Jo, nenašel Mika. 699 00:34:24,800 --> 00:34:27,190 Co mám dělat? 700 00:34:27,190 --> 00:34:31,027 Tak trochu blíž, ale já ano víš-- co je pravdivé informace o telefonním seznamu? 701 00:34:31,027 --> 00:34:32,110 Diváků: Je to sekvenční. 702 00:34:32,110 --> 00:34:32,760 DAVID Malan: Je to sekvenční. 703 00:34:32,760 --> 00:34:33,750 Je to podle abecedy. 704 00:34:33,750 --> 00:34:36,540 A tak když jsem v sekci M, Mike je jednoznačně na pravé straně, 705 00:34:36,540 --> 00:34:39,949 Mohu doslova roztrhat Problém v half-- 706 00:34:39,949 --> 00:34:44,360 je to obvykle snazší než to-- slza Problém v polovině a vyhodit, 707 00:34:44,360 --> 00:34:47,627 takže teď mám problém, který je již 1000 pages--, že bylo těžké, 708 00:34:47,627 --> 00:34:50,210 protože si myslím, že skutečně roztrhl telefonního seznamu to není time-- 709 00:34:50,210 --> 00:34:52,219 1000 stran, ale 500. 710 00:34:52,219 --> 00:34:54,750 >> Takže problém je doslova poloviny tak velký. 711 00:34:54,750 --> 00:34:58,170 A to je docela přesvědčivé, protože s mými předchozími algoritmy, verze 712 00:34:58,170 --> 00:35:02,870 1 a 2, byl jsem jen dělat problém jedna strana menší, dvě stránky menší 713 00:35:02,870 --> 00:35:03,470 včas. 714 00:35:03,470 --> 00:35:07,230 Zatímco nyní, udělal jsem to 500 Stránky menší najednou. 715 00:35:07,230 --> 00:35:10,089 >> OK, takže teď, Karim navrhuje že jdu do pravé poloviny. 716 00:35:10,089 --> 00:35:12,380 Takže já jdu hrubě do středu, plus mínus. 717 00:35:12,380 --> 00:35:15,185 A jestli jsem to udělal matematicky, Mohl bych jít přímo do středu. 718 00:35:15,185 --> 00:35:17,060 A teď si uvědomuji, oh, Jsem v sekci T. 719 00:35:17,060 --> 00:35:18,280 Vlastně jsem se jít příliš daleko. 720 00:35:18,280 --> 00:35:21,670 >> Ale můžu opět slzný Problém na polovinu, vyhodit. 721 00:35:21,670 --> 00:35:23,330 A moje bytů není tak velký. 722 00:35:23,330 --> 00:35:28,780 Je to jen, co, 256 stran nebo 250 Stránky, plus minus právě teď. 723 00:35:28,780 --> 00:35:31,570 Ale je to ještě mnohem více než jednu stránku nebo dvě stránky. 724 00:35:31,570 --> 00:35:33,345 >> A tak teď, jdu zhruba do středu. 725 00:35:33,345 --> 00:35:35,330 Oh, já nešla dost daleko dost nyní. 726 00:35:35,330 --> 00:35:37,880 Takže opakuji, opakovat, opakovat, Opakuji, až budu s nadějí 727 00:35:37,880 --> 00:35:40,360 zbývá jen jednou stránkou. 728 00:35:40,360 --> 00:35:44,000 >> Takže zve na otázku, jestli jsem začalo se zhruba 1000 stran, 729 00:35:44,000 --> 00:35:47,340 kolik kroků to trvalo mi s verzí 1 svého algoritmu? 730 00:35:47,340 --> 00:35:50,420 No, jestli Mike je v S část, v nejhorším případě, 731 00:35:50,420 --> 00:35:52,630 to je docela blízko konec abecedy. 732 00:35:52,630 --> 00:35:56,559 Takže v případě, že telefonní seznam má 1000 stránek, Najdu Mika v 1000 stránek, 733 00:35:56,559 --> 00:35:57,100 plus mínus. 734 00:35:57,100 --> 00:35:59,750 Možná je to jako 800 nebo tak, ale je to docela blízko k 1,000. 735 00:35:59,750 --> 00:36:01,680 >> Vzhledem k tomu, ve druhém algoritmus, kolik 736 00:36:01,680 --> 00:36:06,840 otáčet stránky maximálně bych mohl vyžadovat najít Mike Smith? 737 00:36:06,840 --> 00:36:09,970 K dispozici je 1000 stran, ale jsem dělá jim dva najednou. 738 00:36:09,970 --> 00:36:13,045 Dobře, takže max jako 500ish, protože když jsem projít celý telefonní seznam, 739 00:36:13,045 --> 00:36:14,170 na kterém místě, můžu zastavit. 740 00:36:14,170 --> 00:36:16,669 Ale můžu oholí několik tím, jen zastavení v sekci T. 741 00:36:16,669 --> 00:36:19,880 Ale je to v nejhorším případě 500 stran. 742 00:36:19,880 --> 00:36:24,710 >> Takže kolikrát mohu rozdělit 1,00o-page telefonní seznam na polovinu znovu 743 00:36:24,710 --> 00:36:30,450 a znovu a again-- od 1000 na 500 až 250 až 125? 744 00:36:30,450 --> 00:36:32,250 Jak dlouho předtím, než jsem narazila jednu stránku? 745 00:36:32,250 --> 00:36:35,510 746 00:36:35,510 --> 00:36:36,370 Jo, je to o 10. 747 00:36:36,370 --> 00:36:40,780 V závislosti na zaoblení a tak, že je cca 10 stran celková potřeba být otočen 748 00:36:40,780 --> 00:36:43,290 nebo telefonní seznamy je třeba roztrhané. 749 00:36:43,290 --> 00:36:44,710 >> Tak to je docela silný. 750 00:36:44,710 --> 00:36:48,170 Začali jsme s problémem s 1000-stránkový ve všech třech těchto příběhů. 751 00:36:48,170 --> 00:36:51,850 Ale v první algoritmus, to trvalo mi, nejhorší případ, 1000 str 752 00:36:51,850 --> 00:36:52,740 zjišťuje, Miku. 753 00:36:52,740 --> 00:36:55,590 Druhý algoritmus, 500 Stránky najít Mika. 754 00:36:55,590 --> 00:36:58,480 Za třetí algoritmus, 10 stran najít Mika. 755 00:36:58,480 --> 00:37:00,230 A je to ještě víc silný, když si myslíte, 756 00:37:00,230 --> 00:37:01,860 o druhu opačného scénáře. 757 00:37:01,860 --> 00:37:05,680 Předpokládejme, že telefonní společnosti příštím rok možná sloučí dvě města spolu, 758 00:37:05,680 --> 00:37:08,550 a telefonního seznamu je najednou Tento silný, namísto toho, že, 759 00:37:08,550 --> 00:37:12,470 takže 2.000 stran namísto 1000. 760 00:37:12,470 --> 00:37:15,640 No, můj první algoritmus hledá Mike Smith v 2000-stránkové telefonní seznam, 761 00:37:15,640 --> 00:37:21,460 horším případě, že to bude trvat kolik strana změní v příštím roce? 762 00:37:21,460 --> 00:37:24,800 >> Telefonní seznam je 2,000 stran, tak-- no, ne jeden. 763 00:37:24,800 --> 00:37:29,540 V případě, že telefonní seznam je dvakrát tak tlustý První algoritmus, první algoritmus, 764 00:37:29,540 --> 00:37:30,380 2000, že jo? 765 00:37:30,380 --> 00:37:33,005 V nejhorším případě, Mike je opravdu zavřít do konce knihy, 766 00:37:33,005 --> 00:37:34,110 takže je to 2.000 stránek zatáčky. 767 00:37:34,110 --> 00:37:38,070 Druhý algoritmus jde o dvojky, stejně jako 1000 stránek. 768 00:37:38,070 --> 00:37:41,490 >> Ale co v mém třetině a nejnovější algoritmus? 769 00:37:41,490 --> 00:37:44,950 V případě, že telefonní společnost zdvojnásobí počet stran od 1,000 do 2,000, 770 00:37:44,950 --> 00:37:47,770 kolik vícekrát potřebovat I slzný že kniha v polovině najít Miku? 771 00:37:47,770 --> 00:37:48,710 >> Diváků: Jen jeden. 772 00:37:48,710 --> 00:37:51,001 >> DAVID Malan: Ještě jeden, protože se o jednu stránku slza, 773 00:37:51,001 --> 00:37:53,270 Mohu doslova rozdělit a panuj, chcete-li, 774 00:37:53,270 --> 00:37:57,410 že problém v polovině odběr masivní sousto z ní. 775 00:37:57,410 --> 00:38:01,420 A tak toto je příklad Účinnost a pravděpodobně algoritmus 776 00:38:01,420 --> 00:38:04,100 s nimiž jsme všichni tak nějak intuitivně obeznámen. 777 00:38:04,100 --> 00:38:07,780 Ale je to jen za správné as mými dalšími algoritmy 778 00:38:07,780 --> 00:38:09,630 s tím vyladit pro druhý algoritmus, 779 00:38:09,630 --> 00:38:11,290 ale je to tak mnohem efektivnější. 780 00:38:11,290 --> 00:38:14,030 >> A ve skutečnosti, to je počítačový vědec, nebo naopak programátor, 781 00:38:14,030 --> 00:38:17,580 by obvykle dělat při psaní Kód je pokusit se zjistit, 782 00:38:17,580 --> 00:38:19,960 v pořádku, nechci my Program jen za správné, 783 00:38:19,960 --> 00:38:23,220 Také chci, aby to bylo efektivní a řešit problémy stejně. 784 00:38:23,220 --> 00:38:26,450 Představte si, že v reálném světě dnes, jako Google indexů, vyhledávání 785 00:38:26,450 --> 00:38:31,580 jako miliardami stránek, představte si, že oni používal první algoritmus najít kočky 786 00:38:31,580 --> 00:38:34,620 Mezi miliardu pages-- při pohledu na První strana ve své databázi, 787 00:38:34,620 --> 00:38:37,700 druhý, třetí, jen při pohledu pro kočku, hledá pro kočku. 788 00:38:37,700 --> 00:38:40,350 To je zatraceně pomalé by se mohlo zdát. 789 00:38:40,350 --> 00:38:43,170 Mohly by namísto toho použít něco volal binární vyhledávání, který 790 00:38:43,170 --> 00:38:47,420 Není coincidence-- bi což znamená dvě, jsme zachovat dělení něco 2, v half-- 791 00:38:47,420 --> 00:38:50,205 oni mohli použít binární vyhledávání a možná najít kočky ještě rychleji, 792 00:38:50,205 --> 00:38:51,830 nebo co to je hledáte. 793 00:38:51,830 --> 00:38:54,125 >> A upřímně řečeno, je tu i milovník algoritmy 794 00:38:54,125 --> 00:38:56,250 že dělat mnohem víc, než jen dělení věcí na polovinu 795 00:38:56,250 --> 00:38:58,180 aby se rychle najít informace. 796 00:38:58,180 --> 00:39:00,880 A budeme mluvit trochu o těch, po obědě dnes. 797 00:39:00,880 --> 00:39:02,640 Takže mi dovolte jen se snaží reprezentovat to. 798 00:39:02,640 --> 00:39:05,380 Nemusíme jít do jakýkoliv matematický nebo skutečných čísel. 799 00:39:05,380 --> 00:39:07,070 Můžeme o tom mluvit abstraktně. 800 00:39:07,070 --> 00:39:11,580 >> Ale dovolte mi navrhnout, pokud vás vedli diskusi nyní 801 00:39:11,580 --> 00:39:13,491 s inženýry navrhuje tento algoritmus 802 00:39:13,491 --> 00:39:15,490 a vy se snažíte, aby se vypočtená rozhodnutí, 803 00:39:15,490 --> 00:39:17,285 protože možná inženýr řekne vám, 804 00:39:17,285 --> 00:39:19,910 vím, co mohu implementovat lineární hledání v podobně dvou minut. 805 00:39:19,910 --> 00:39:21,150 Je to tak snadné. 806 00:39:21,150 --> 00:39:24,790 Binární vyhledávání není tak efektní, ale to bude, aby mě vzal jako 10 minut, 807 00:39:24,790 --> 00:39:26,650 tak, 5 krát delší. 808 00:39:26,650 --> 00:39:30,900 >> Je tu obchod tady, a to i pokud jde rozhodování o tom, jaký software psát. 809 00:39:30,900 --> 00:39:34,760 Píšete jednodušší algoritmus, který bude jen trvat dvě minuty? 810 00:39:34,760 --> 00:39:39,880 Nebo trávíte více času, 10 minut, psaní milovník algoritmus? 811 00:39:39,880 --> 00:39:43,540 Jak se rozhodnout, že takové otázky? 812 00:39:43,540 --> 00:39:46,710 Nebo byste mohli udělat to trochu reálnější. 813 00:39:46,710 --> 00:39:50,610 I říci svému nadřízenému, že to bude trvat me buď jeden týden nebo 10 týdnů 814 00:39:50,610 --> 00:39:52,490 k provedení software tímto způsobem, jak 815 00:39:52,490 --> 00:39:56,103 se rozhodnout, který algoritmus pro zelenou-světlo? 816 00:39:56,103 --> 00:39:56,603 Karim? 817 00:39:56,603 --> 00:39:57,550 >> Publikum: publikum, myslím. 818 00:39:57,550 --> 00:39:57,960 >> DAVID Malan: Publikum. 819 00:39:57,960 --> 00:39:59,460 Co myslíš tím publikem? 820 00:39:59,460 --> 00:40:03,460 >> Diváků: Pokud to jde které mají být použity uživateli 821 00:40:03,460 --> 00:40:09,050 kdo [neslyšitelný] uživatelů [neslyšitelné]. 822 00:40:09,050 --> 00:40:11,232 Ale jestli je to něco, co jste jen to pro sebe 823 00:40:11,232 --> 00:40:13,946 usnadnit problém, [Neslyšitelný] rychleji. 824 00:40:13,946 --> 00:40:16,820 DAVID Malan: Jo, je to rychlé a špinavá je dobrý způsob, jak to popsat. 825 00:40:16,820 --> 00:40:18,695 Ve skutečnosti, pokud jste popisující většinu svého času 826 00:40:18,695 --> 00:40:23,630 v grad škole, přičemž často časy, Napsal jsem špatný kód vědomě tak-- 827 00:40:23,630 --> 00:40:26,490 Alespoň, že to, jak jsem racionalizovat to-- vědomě tak, 828 00:40:26,490 --> 00:40:30,670 protože i když jsem psaní kódu že byl relativně pomalý provést, 829 00:40:30,670 --> 00:40:33,750 Byl jsem schopen psát kód sám dost rychle, výdaje jen pár minut 830 00:40:33,750 --> 00:40:35,107 nebo hodin není dnů. 831 00:40:35,107 --> 00:40:37,190 A ukázalo se, já občas potřeboval spát. 832 00:40:37,190 --> 00:40:41,270 Takže i když můj kód potřebný 8 hodiny běhat, dobře, že je v pořádku, 833 00:40:41,270 --> 00:40:42,850 Půjdu spát, zatímco to běží. 834 00:40:42,850 --> 00:40:46,350 >> Takže v té době, myslel jsem, že to velmi chytrý, i když zdánlivě 835 00:40:46,350 --> 00:40:48,990 propracoval mého PhD velmi pomalu. 836 00:40:48,990 --> 00:40:52,270 Ale hovořit o který je že, když jsem psali software 837 00:40:52,270 --> 00:40:55,930 pro ostatní lidi, kteří záleželo víc než já, no, 838 00:40:55,930 --> 00:40:59,580 s nimi čekat 8 hodin dostat zpět své výsledky vyhledávání 839 00:40:59,580 --> 00:41:01,350 není všechno, že přesvědčivé. 840 00:41:01,350 --> 00:41:04,090 A tak tráví více času vepředu psát software 841 00:41:04,090 --> 00:41:07,300 že je efektivnější, jako náš třetí algoritmus, 842 00:41:07,300 --> 00:41:09,780 Pravděpodobně je prospěšný pro uživatele v průběhu času. 843 00:41:09,780 --> 00:41:12,710 Takže to opravdu záleží více než Doba, jak tyto náklady se sčítají. 844 00:41:12,710 --> 00:41:14,960 Pokud se chystáte psát software ji jednou použít, 845 00:41:14,960 --> 00:41:17,240 Asi by bylo dobré udělat rychlé a špinavé, jak se říká. 846 00:41:17,240 --> 00:41:18,198 Jen to hodit dohromady. 847 00:41:18,198 --> 00:41:20,560 Je to kód, který uvádí do rozpaků vy, je to tak špatné, 848 00:41:20,560 --> 00:41:23,860 ale dostane úkol správně, i když to není efektivní. 849 00:41:23,860 --> 00:41:27,200 Naopak, budete trávit více času na něčem, si to tak akorát. 850 00:41:27,200 --> 00:41:30,730 A pak rozpouštěny v průběhu času, že přímé náklady času 851 00:41:30,730 --> 00:41:34,330 je pravděpodobně stojí za to, pokud budete mít optimalizace pro běžný případ. 852 00:41:34,330 --> 00:41:37,620 >> A vskutku, to je téma v programování, nebo počítačová věda více 853 00:41:37,620 --> 00:41:41,390 Obecně platí, že se snaží optimalizovat Není neobvyklé pro případ 854 00:41:41,390 --> 00:41:44,390 ale společné case-- jaká operace se bude dít znovu a znovu? 855 00:41:44,390 --> 00:41:47,730 Pokud budete mít miliardy uživatelů vyhledávání na svých webových stránkách, 856 00:41:47,730 --> 00:41:52,030 asi byste měli strávit další týdnů až před psaní lepší software, 857 00:41:52,030 --> 00:41:53,670 takže všichni vaši uživatelé těžit. 858 00:41:53,670 --> 00:41:57,840 Nyní se pojďme pokusit se zachytit tento A Trochu obrazově, ale ne tolik, 859 00:41:57,840 --> 00:41:58,610 numericky. 860 00:41:58,610 --> 00:42:01,680 >> Tak tady je prostě stará škola graf. 861 00:42:01,680 --> 00:42:04,260 A dovolte mi říci, že toto je čas. 862 00:42:04,260 --> 00:42:06,660 A nezáleží na tom, what-- Vlastně ne, není čas. 863 00:42:06,660 --> 00:42:08,320 Řekněme, že na druhé ose. 864 00:42:08,320 --> 00:42:15,700 Řekněme, že to je doba, a to je velikost problému. 865 00:42:15,700 --> 00:42:17,830 >> A počítačový vědec Možná obecně požadují 866 00:42:17,830 --> 00:42:20,820 to jen n. n je jako Naše go-proměnná, kde 867 00:42:20,820 --> 00:42:26,351 n je číslo, číslo n, a to je počet vstupů jakýmikoli máte. 868 00:42:26,351 --> 00:42:28,100 Takže v tomto případě je n počet stran. 869 00:42:28,100 --> 00:42:30,150 Tak to by mohlo být v 1000 tento případ jsme právě řekl. 870 00:42:30,150 --> 00:42:31,969 >> Takže čas může být jakákoli jednotka měření. 871 00:42:31,969 --> 00:42:32,760 Možná, že je to druhé. 872 00:42:32,760 --> 00:42:33,410 Možná, že je to dní. 873 00:42:33,410 --> 00:42:34,590 Možná, je to jako otočené stránky. 874 00:42:34,590 --> 00:42:35,215 Nezáleží. 875 00:42:35,215 --> 00:42:38,840 Ať už chcete počítat se tím, že bude čas, nebo náklady ekvivalentně. 876 00:42:38,840 --> 00:42:42,400 >> Takže s tím úplně prvním algoritmus, kdybych například, 877 00:42:42,400 --> 00:42:45,920 měl 1000-stránkový telefonní seznam, Jdu k tomu tečku tam, 878 00:42:45,920 --> 00:42:51,450 protože pokud je to 1000 stránek, trvalo zhruba 1000 otočených stran, plus mínus. 879 00:42:51,450 --> 00:42:54,100 A pak, pokud jsem měl 2000-stránkové telefonní seznam, 880 00:42:54,100 --> 00:42:57,200 a budu čerpat druhý dot tady, protože pro 2000 stran, 881 00:42:57,200 --> 00:42:59,810 Je to jako 2,000 sekundy nebo otáčet stránky nebo cokoliv jiného. 882 00:42:59,810 --> 00:43:02,480 A tak když jsem řekl dříve, je to druh lineárního vztahu, 883 00:43:02,480 --> 00:43:06,020 že bylo záměrné, protože jsem chtěla Později on-- právo now-- udělat tlustou čáru. 884 00:43:06,020 --> 00:43:07,770 Je to něco jako rovný linka vztah. 885 00:43:07,770 --> 00:43:10,180 Svah je 1/1, chcete-li. 886 00:43:10,180 --> 00:43:14,630 >> Mezitím, druhý algoritmus znamená, že pokud máte 1000 stránek 887 00:43:14,630 --> 00:43:17,680 a vy jste pomocí druhého algoritmu, kde jsem počítal od 2 let, soustružení 888 00:43:17,680 --> 00:43:22,564 dvě stránky najednou, měl bych kreslit tečka pod nebo nad mé původní tečkou? 889 00:43:22,564 --> 00:43:23,450 >> Diváků: Pod. 890 00:43:23,450 --> 00:43:27,992 >> DAVID Malan: Dole, protože, jak jsme viděli, trvá kratší dobu, polovinu tolik času. 891 00:43:27,992 --> 00:43:29,950 Takže tečka by měla být polovina tak vysoko, jako druhá. 892 00:43:29,950 --> 00:43:33,330 A stejný problém tady, to tečka by pravděpodobně měla být zhruba tam. 893 00:43:33,330 --> 00:43:39,666 A tak můj druhý algoritmus, podobně, má lineární vztah s časem. 894 00:43:39,666 --> 00:43:41,990 A můžeme čerpat ji jako takovou. 895 00:43:41,990 --> 00:43:45,950 >> Takže teď, třetí a poslední Algoritmus je trochu těžší čerpat. 896 00:43:45,950 --> 00:43:49,530 Ale intuitivně, jestli mám 1000 Stránky s mým třetím algoritmu 897 00:43:49,530 --> 00:43:52,340 to by mělo trvat mě jen jako 10 stupňů. 898 00:43:52,340 --> 00:43:57,500 A jestli mám 2,000 stránek s mým třetím algoritmu 899 00:43:57,500 --> 00:44:01,570 to by mě neberte 10 Kroky, ale 11, jen jeden. 900 00:44:01,570 --> 00:44:03,610 Takže budeme jen stěží bude vidět. 901 00:44:03,610 --> 00:44:06,010 >> A ukázalo se, pokud I přiblížit na to, že jsem 902 00:44:06,010 --> 00:44:09,320 bude přehánět na efekt, Tvar této linie, v konečném důsledku, 903 00:44:09,320 --> 00:44:11,990 není přímý line-- proto, že ve skutečnosti by to bylo, 904 00:44:11,990 --> 00:44:15,390 to bude vypadat víc líbí others-- je to vlastně křivka 905 00:44:15,390 --> 00:44:19,265 že pokud bychom přiblížit, se děje vypadat mnohem takhle. 906 00:44:19,265 --> 00:44:21,670 To-- dobře, OK, ignorovat tuto část. 907 00:44:21,670 --> 00:44:25,330 To byla moje pero jít z úhlu. 908 00:44:25,330 --> 00:44:29,000 Je to zakřivené linie, která je vždy roste, vždycky, vždycky, vždycky 909 00:44:29,000 --> 00:44:32,100 zvyšuje, ale jen stěží. 910 00:44:32,100 --> 00:44:36,260 >> A tak v průběhu času, máte Vztah, který je více takhle. 911 00:44:36,260 --> 00:44:37,540 Je to skoro vypadá rovně. 912 00:44:37,540 --> 00:44:40,330 Ale je to někdy tak pomalu roste. 913 00:44:40,330 --> 00:44:44,780 Ale pro téměř všechny body podél Váš osa x, vodorovná osa, 914 00:44:44,780 --> 00:44:46,550 to je méně než těch ostatních tratích. 915 00:44:46,550 --> 00:44:49,930 >> Takže to může být vztah n, přičemž pokud máte n stránek, 916 00:44:49,930 --> 00:44:51,100 vás vezme n sekund. 917 00:44:51,100 --> 00:44:53,320 To může být vztah n / 2. 918 00:44:53,320 --> 00:44:56,710 Máte n stránek, trvá jste n / 2 sekundy, polovina tolik. 919 00:44:56,710 --> 00:45:00,590 A to je logaritmická Vztah, který 920 00:45:00,590 --> 00:45:08,920 Pokud si vzpomínáte, log základnu 2 z n zachytí Tento druh růstu, tak říkajíc. 921 00:45:08,920 --> 00:45:12,000 Tak tohle je ten typ svatý grál mezi třemi z nich 922 00:45:12,000 --> 00:45:15,940 tady, protože je to prostě mnohem víc efektivní, ale pravděpodobně složitější 923 00:45:15,940 --> 00:45:18,610 provádět. 924 00:45:18,610 --> 00:45:20,510 Nějaké otázky? 925 00:45:20,510 --> 00:45:26,220 >> No dovolte mi, abych to udělat, ať me Otevře se textové okno 926 00:45:26,220 --> 00:45:29,100 Jen tak se můžeme pokusit formovat něco tady. 927 00:45:29,100 --> 00:45:32,410 Tak nech mě jít dopředu a hned implementovat tento algoritmus 928 00:45:32,410 --> 00:45:35,170 pro nalezení Mike Smith v kódu, chcete-li, pseudokód kód. 929 00:45:35,170 --> 00:45:36,620 Nebudu používat Java nebo C ++. 930 00:45:36,620 --> 00:45:38,610 Právě jdu používat druh Anglický-jako syntax, které jsme 931 00:45:38,610 --> 00:45:40,151 by obecně nazývají pseudocode kód. 932 00:45:40,151 --> 00:45:41,660 Tady mám prázdné okno. 933 00:45:41,660 --> 00:45:48,180 A já říkám kroku 1 velmi První algoritmus je vyzvednout telefonního seznamu. 934 00:45:48,180 --> 00:45:51,740 Krok 2 je otevřená kniha na první straně. 935 00:45:51,740 --> 00:45:58,080 Krok 3 bude podívat se na stránka pro Mike Smith. 936 00:45:58,080 --> 00:46:02,740 Pokud se na straně, volejte Miku. 937 00:46:02,740 --> 00:46:11,640 else turn stránky a přejděte ke kroku 3. 938 00:46:11,640 --> 00:46:13,590 Hotovo, řekněme. 939 00:46:13,590 --> 00:46:18,110 >> A tak to není úplně dokonalá, který uvidíme za chvíli. 940 00:46:18,110 --> 00:46:21,050 Ale pojďme zvážit, jaké koncepty jsem zde představen. 941 00:46:21,050 --> 00:46:24,450 Takže kroky 1 a 2 a 3 jsou do značné míry slovesa. 942 00:46:24,450 --> 00:46:26,544 Jsou to výroky, actions-- to udělat. 943 00:46:26,544 --> 00:46:28,710 A tak v programování jazyk, by jsme se obecně 944 00:46:28,710 --> 00:46:32,349 volejte jim prohlášení nebo funkce nebo postupy, 945 00:46:32,349 --> 00:46:33,640 Nazýváme je celá řada věcí. 946 00:46:33,640 --> 00:46:35,460 Ale jsou to jen actions-- to udělat. 947 00:46:35,460 --> 00:46:40,370 >> Krok 4 je zásadně odlišný, protože je to druh položení otázky. 948 00:46:40,370 --> 00:46:42,400 To říká, že jsme druh ze na rozcestí. 949 00:46:42,400 --> 00:46:48,000 Pokud Mike je na straně, volejte ho, tak doleva, chcete-li. 950 00:46:48,000 --> 00:46:52,170 A pokud ne, vraťte se k některým Jiný page-- nebo spíše líto, 951 00:46:52,170 --> 00:46:56,650 vrátit se do nějakého jiného kroku, který vyvolává nějaké kličky tvořící konstrukt. 952 00:46:56,650 --> 00:46:59,530 A děláme to znovu a znovu a znovu. 953 00:46:59,530 --> 00:47:01,300 >> A skutečně, víte co? 954 00:47:01,300 --> 00:47:01,800 To jo. 955 00:47:01,800 --> 00:47:04,704 956 00:47:04,704 --> 00:47:09,010 else if na konci knihy zastávky. 957 00:47:09,010 --> 00:47:11,624 Takže potřebujeme druh třetiny stav, protože vás 958 00:47:11,624 --> 00:47:14,290 nemůže udržet otáčením stránek inzerát nauseum, protože nakonec budu 959 00:47:14,290 --> 00:47:15,320 narazila na konci knihy. 960 00:47:15,320 --> 00:47:18,546 A chyba v programu může být nepředvídali, že scénář. 961 00:47:18,546 --> 00:47:21,420 A pak už jen jsem si uvědomil, oh, počkat Okamžik, musím třetí scénář. 962 00:47:21,420 --> 00:47:23,900 Pokud jsem ze stran, I měli opravdu jen zastavit. 963 00:47:23,900 --> 00:47:25,330 Jinak je to nedefinovaná. 964 00:47:25,330 --> 00:47:29,260 Co se stane, když jsem udržet říkat otočit stránku a vrátit se, 965 00:47:29,260 --> 00:47:31,810 To je, když počítače zmrazit nebo havárie, když narazí 966 00:47:31,810 --> 00:47:34,160 některé neočekávané situace takhle. 967 00:47:34,160 --> 00:47:37,280 >> A teď, co Mike Smithův třetí algorithm-- 968 00:47:37,280 --> 00:47:43,150 zvednout telefonní seznam, otevřená kniha first-- na 969 00:47:43,150 --> 00:47:48,640 Ne, ne první tentokrát stránku, na middle-- oh, no, to by 970 00:47:48,640 --> 00:47:49,640 být druhý algoritmus. 971 00:47:49,640 --> 00:47:50,590 Řekněme přeskočit na třetí. 972 00:47:50,590 --> 00:47:50,930 >> Publikum: Oh, omlouvám se. 973 00:47:50,930 --> 00:47:51,971 >> DAVID Malan: To je v pořádku. 974 00:47:51,971 --> 00:47:58,590 Řekněme přeskočit na third-- open do středu a nyní hledat Mike Smith. 975 00:47:58,590 --> 00:48:02,300 pokud na straně, volejte Miku. 976 00:48:02,300 --> 00:48:04,910 A potom, co chceme říct, zde? 977 00:48:04,910 --> 00:48:06,134 jinak co? 978 00:48:06,134 --> 00:48:10,620 979 00:48:10,620 --> 00:48:12,370 Můžeme to vyjádřit v mnoha různými způsoby. 980 00:48:12,370 --> 00:48:13,369 Neexistuje žádná správná odpověď. 981 00:48:13,369 --> 00:48:20,819 982 00:48:20,819 --> 00:48:23,735 OK, ne-li ještě jednou, ale musíme be-- OK, my chceme rozdělit na dvě části, 983 00:48:23,735 --> 00:48:25,630 ale chceme jít doleva nebo doprava jít? 984 00:48:25,630 --> 00:48:29,560 Jak můžeme vyjádřit tuto myšlenku? 985 00:48:29,560 --> 00:48:31,790 No, v případě, že Mikova, ano, to je fér. 986 00:48:31,790 --> 00:48:35,050 Ale v pořádku, takže je to vlastně dobrý postřeh. 987 00:48:35,050 --> 00:48:35,550 To je v pohodě. 988 00:48:35,550 --> 00:48:36,924 Budeme pokračovat s touto logikou. 989 00:48:36,924 --> 00:48:38,182 Tak-- 990 00:48:38,182 --> 00:48:39,810 >> Diváků: Méně než polovinu. 991 00:48:39,810 --> 00:48:40,560 DAVID Malan: Jo. 992 00:48:40,560 --> 00:48:49,820 Takže else if stránka, budeme říkat, méně než Smith, vlevo Smith, 993 00:48:49,820 --> 00:48:52,220 then-- podívejme, je to bude komplikovat? 994 00:48:52,220 --> 00:49:01,885 else if strana pochází před Smithem, trhaly na polovinu, vyhodit toho polovina? 995 00:49:01,885 --> 00:49:05,643 996 00:49:05,643 --> 00:49:09,140 >> Diváků: Myslel jsem, že byl [neslyšitelné]. 997 00:49:09,140 --> 00:49:11,650 >> DAVID Malan: slyším obě odpovědi. 998 00:49:11,650 --> 00:49:12,431 >> Diváků: Levý. 999 00:49:12,431 --> 00:49:14,430 DAVID Malan: OK, házet pryč levou polovinu, as Lakisa 1000 00:49:14,430 --> 00:49:19,700 řekl dříve, levý poloviny, pak jsem trochu 1001 00:49:19,700 --> 00:49:23,940 chtějí prostě jít to-- jdu na pravé straně. 1002 00:49:23,940 --> 00:49:27,380 Nebo ekvivalentně, a udělal jsem trochu trochu nepořádek začátku tady, 1003 00:49:27,380 --> 00:49:30,760 I účinně chci přejděte ke kroku 2 znovu, 1004 00:49:30,760 --> 00:49:38,270 kde otevřena middle-- nebo open-- jo, řekněme, stránky do středu hřiště. 1005 00:49:38,270 --> 00:49:39,020 A to řeší ji. 1006 00:49:39,020 --> 00:49:39,936 Už to není kniha. 1007 00:49:39,936 --> 00:49:42,210 Je to jen polovina knihy, tak otevřené strany do středu. 1008 00:49:42,210 --> 00:49:44,010 >> else-- tam skoro byli. 1009 00:49:44,010 --> 00:49:54,000 Krok 6, else if strana přichází poté, co Smith, trhat na polovinu, vyhodit pravou polovinu, 1010 00:49:54,000 --> 00:49:55,680 přejděte ke kroku 2. 1011 00:49:55,680 --> 00:49:58,920 1012 00:49:58,920 --> 00:50:05,230 jinak skončit, čtvrtý scénář, pokud nemáme počet stran se obrátit. 1013 00:50:05,230 --> 00:50:06,394 Takže bychom mohli vyčistit to. 1014 00:50:06,394 --> 00:50:07,560 A my jsme měli čistit to. 1015 00:50:07,560 --> 00:50:10,656 To je velmi pseudocode kód, pokud jste ano, popis velmi vysoké úrovni. 1016 00:50:10,656 --> 00:50:12,280 Ale to obecně zachytit myšlenku. 1017 00:50:12,280 --> 00:50:16,040 >> A opět, v tomto případě jsme mají ponětí o stavu, 1018 00:50:16,040 --> 00:50:20,450 větev, vidlička na silnici, čímž decision---li to, jít tudy, 1019 00:50:20,450 --> 00:50:23,082 else if, jít tudy, else if, tudy. 1020 00:50:23,082 --> 00:50:25,040 A to je velmi častý programovací techniky 1021 00:50:25,040 --> 00:50:27,721 rozhodnout, jakým směrem jít, abych tak řekl. 1022 00:50:27,721 --> 00:50:29,970 A máme také nějakou ze smyčky struktury, kde 1023 00:50:29,970 --> 00:50:32,440 děláme něco znovu a znovu. 1024 00:50:32,440 --> 00:50:34,820 >> Nyní se ukázalo, mnohem jako v tomto příkladu, 1025 00:50:34,820 --> 00:50:37,660 bytí Super přesná je důležité. 1026 00:50:37,660 --> 00:50:42,180 Ale také jsme viděli něco že držíme volání abstrakci. 1027 00:50:42,180 --> 00:50:45,490 Co to znamená zvednout telefonní seznam? 1028 00:50:45,490 --> 00:50:47,740 Jsme jen tak užívat za samozřejmost v této místnosti 1029 00:50:47,740 --> 00:50:49,340 že má nějaký sémantický význam. 1030 00:50:49,340 --> 00:50:51,740 Každý z nás tak nějak vím, oh, No, zvednout telefonní seznam. 1031 00:50:51,740 --> 00:50:52,864 Co to vlastně znamená? 1032 00:50:52,864 --> 00:50:59,060 No, to ve skutečnosti znamená prodloužení ruka, naklonil, prodloužit prsty, 1033 00:50:59,060 --> 00:51:03,890 špetka knihu mezi prsty, vstát, přitáhne ruku směrem k sobě. 1034 00:51:03,890 --> 00:51:05,940 A mohli bychom být opravdu pedantský o tom, 1035 00:51:05,940 --> 00:51:08,640 Opravdu je mimořádně přesná pokud jde o to, co dělám. 1036 00:51:08,640 --> 00:51:13,300 Ale všechny tyto kroky jsou kolektivně co to znamená zvednout telefonní seznam. 1037 00:51:13,300 --> 00:51:16,940 >> A tak dříve, když jsem řekl, každý z těchto prvních dvou výkazech 1038 00:51:16,940 --> 00:51:20,830 si lze představit jako postupovat nebo funkce, 1039 00:51:20,830 --> 00:51:24,090 Opravdu to reprezentuje to, co jsme udržovat volání abstrakci. 1040 00:51:24,090 --> 00:51:28,770 Je to jako na vysoké úrovni koncepční popis problému, který 1041 00:51:28,770 --> 00:51:31,110 jde vlastně o poměrně málo kroků. 1042 00:51:31,110 --> 00:51:34,190 A tak to také je opakující se téma v programování, 1043 00:51:34,190 --> 00:51:41,125 kde bych mohl napsat program pomocí syntaxe jako tohle-- 1044 00:51:41,125 --> 00:51:42,000 pick_up_phone_book (). 1045 00:51:42,000 --> 00:51:44,344 1046 00:51:44,344 --> 00:51:46,510 A potom syntakticky, že jsem chystá něco ukrást 1047 00:51:46,510 --> 00:51:48,090 od většiny programovacích jazyků. 1048 00:51:48,090 --> 00:51:51,270 >> Nyní krok 1 vypadá ještě spíš jako funkce, 1049 00:51:51,270 --> 00:51:53,160 jako programátor by se to nazvat. 1050 00:51:53,160 --> 00:51:58,650 Vypadá to, že kód, který někdo dal název a vzhledem k tomu, 1051 00:51:58,650 --> 00:52:03,300 se mi používat somehow-- v jiných Slova, co čára jsem zvýrazněné 1052 00:52:03,300 --> 00:52:07,050 představuje funkce, které možná Ani jsem se realizovat sám. 1053 00:52:07,050 --> 00:52:10,410 Někdo starší, moudřejší než já už přišel na to, 1054 00:52:10,410 --> 00:52:12,700 jak vyjádřit myšlenku vyzvednutí telefonního seznamu. 1055 00:52:12,700 --> 00:52:15,860 A je to jako pěti krocích jsem jen vychrlil, z vrcholu mé hlavy. 1056 00:52:15,860 --> 00:52:19,350 >> Ale on nebo ona již byla provedena to dal ty několik kroků 1057 00:52:19,350 --> 00:52:22,339 jméno, pick_up_phone_book. 1058 00:52:22,339 --> 00:52:24,380 A závorkách je uveden jen to, co většina programátorů 1059 00:52:24,380 --> 00:52:27,100 dělat na konci prohlášení, jako je tento. 1060 00:52:27,100 --> 00:52:30,190 Nyní mohu postavit na jeho nebo její ramena a už nikdy, 1061 00:52:30,190 --> 00:52:32,465 přemýšlet o tom, co to znamená vyzvednout telefonního seznamu. 1062 00:52:32,465 --> 00:52:34,090 Mohu jen říct, zvednout telefonní seznam. 1063 00:52:34,090 --> 00:52:36,690 A to je přesně to, co my všichni lidé tady udělal. 1064 00:52:36,690 --> 00:52:38,940 >> Když jsme byli asi 1 letý, 2 roky starý, 1065 00:52:38,940 --> 00:52:41,690 někdo musel nás učí, co to chtěl vyzvednout telefonního seznamu. 1066 00:52:41,690 --> 00:52:43,810 A od té doby, jsme abstrahovat pryč 1067 00:52:43,810 --> 00:52:46,739 od těch velice nezajímavé mechanické kroky. 1068 00:52:46,739 --> 00:52:48,530 A my jen mít intuitivní chápání 1069 00:52:48,530 --> 00:52:50,480 o tom, co to znamená vyzvednout telefonního seznamu. 1070 00:52:50,480 --> 00:52:55,730 >> A můžete extrapolovat nyní na složitější things-- 1071 00:52:55,730 --> 00:52:57,640 postavit budovu. 1072 00:52:57,640 --> 00:52:59,940 Jako, pro některé lidi, že má ve skutečnosti význam. 1073 00:52:59,940 --> 00:53:03,080 Dodavatelům, pro architekty, že má nějaký význam. 1074 00:53:03,080 --> 00:53:06,400 A oni by vědět, co dělat, pokud Řekl jsem jít postavit budovu. 1075 00:53:06,400 --> 00:53:10,520 >> Ale většina z nás v místnosti nemohl vypořádat se s touto úrovní abstrakce. 1076 00:53:10,520 --> 00:53:14,850 Je potřeba říci nám líbí jdi lopata a jdi betonu 1077 00:53:14,850 --> 00:53:17,250 a nehty kousky dřeva dohromady a cokoli jiného 1078 00:53:17,250 --> 00:53:18,830 se podílí na stavbě budovy. 1079 00:53:18,830 --> 00:53:21,690 A to proto, že nemáme dosud naprogramován tak, aby pochopili 1080 00:53:21,690 --> 00:53:23,629 co to znamená postavit budovu. 1081 00:53:23,629 --> 00:53:24,920 Nemáme tu abstrakci. 1082 00:53:24,920 --> 00:53:26,570 Nemáme tuto funkci. 1083 00:53:26,570 --> 00:53:29,930 >> A tak to, co uvidíte v programovací jazyky, obecně, 1084 00:53:29,930 --> 00:53:34,570 zejména více moderních jazyků, jako je Java, PHP, Ruby a Python, 1085 00:53:34,570 --> 00:53:37,610 jsou mnohem vyspělejší než starší jazyků, 1086 00:53:37,610 --> 00:53:40,140 jako C a C ++ a přesto jiní. 1087 00:53:40,140 --> 00:53:42,580 A tak přijdou s více Funkce postavena v roce. 1088 00:53:42,580 --> 00:53:45,640 Více kód byl napsán lidé v minulosti 1089 00:53:45,640 --> 00:53:50,520 že nyní můžeme volat nebo přivolat nebo použít, jak jsem naznačuje 1090 00:53:50,520 --> 00:53:52,231 na s tím zvýrazní linii zde. 1091 00:53:52,231 --> 00:53:55,230 A tak i když nemluvíme o programovacích jazycích jako takových, 1092 00:53:55,230 --> 00:54:00,230 Jen pseudocode kódu, všechny myšlenky jsou stále v této diskusi. 1093 00:54:00,230 --> 00:54:04,600 A ukázalo se, přesnost je Super důležitá, stejně jako abstrakce. 1094 00:54:04,600 --> 00:54:06,570 A zkusme sdělit, že takto. 1095 00:54:06,570 --> 00:54:11,000 >> Omylem jsem mohl zkažené Tento blikáním snímek na obrazovce 1096 00:54:11,000 --> 00:54:12,260 předčasně. 1097 00:54:12,260 --> 00:54:16,550 Ale dovolte mi požádat o statečné dobrovolníka, pokud vám nevadí, že přijít. 1098 00:54:16,550 --> 00:54:19,040 To byste se v přední části kamera, pokud jste s tím OK. 1099 00:54:19,040 --> 00:54:24,950 Chtěl by někdo přijít a dát pokyny svým kolegům tady? 1100 00:54:24,950 --> 00:54:29,540 Prostě muset přijít sem a stát tady a říkat pár slov. 1101 00:54:29,540 --> 00:54:32,890 >> Victoria se usmívá nejvíce a vyhnout se oči nejvíce. 1102 00:54:32,890 --> 00:54:34,740 Byste byli ochotni jít nahoru? 1103 00:54:34,740 --> 00:54:35,240 OK. 1104 00:54:35,240 --> 00:54:38,480 A pokud se všichni na svých místech mohl vzít si kus šrotu papíru, 1105 00:54:38,480 --> 00:54:39,750 jestli budeš. 1106 00:54:39,750 --> 00:54:40,760 Linkovaný papír je v pořádku. 1107 00:54:40,760 --> 00:54:41,990 Pojďte kolem tudy. 1108 00:54:41,990 --> 00:54:44,580 Nebo některé z papíru, který jste dostali včera, 1109 00:54:44,580 --> 00:54:46,493 ledajaký prázdný list papíru, kdybys mohl. 1110 00:54:46,493 --> 00:54:52,240 1111 00:54:52,240 --> 00:54:54,870 A v případě, že nemáte žádné, stačí pokud byste mohli požádat svého souseda. 1112 00:54:54,870 --> 00:55:04,220 1113 00:55:04,220 --> 00:55:07,580 >> Takže pro tuto chvíli, pro tento příklad, Victoria 1114 00:55:07,580 --> 00:55:11,520 bude hrát roli programátor, inženýr, který 1115 00:55:11,520 --> 00:55:16,130 potřebuje program všechny, as počítače, aby něco udělat. 1116 00:55:16,130 --> 00:55:19,570 A uvidíme, jaké předpoklady se rozhodnete provést. 1117 00:55:19,570 --> 00:55:22,700 Uvidíme, jak přesný se rozhodne být. 1118 00:55:22,700 --> 00:55:26,220 A je-li tato demonstrace jde pedagogicky dobře, spousta chyb 1119 00:55:26,220 --> 00:55:29,220 bude, že budeme pak použijte že jako příležitost k diskuzi. 1120 00:55:29,220 --> 00:55:32,010 Ale výzva pro vás měl bylo vyhnout se ty chyby, 1121 00:55:32,010 --> 00:55:32,896 být dobrý programátor. 1122 00:55:32,896 --> 00:55:35,520 A tak náročný úkol po ruce, pokud byste rád chodit sem, 1123 00:55:35,520 --> 00:55:38,799 je v přední části Victoria na obrazovce here-- a doufejme, že nikdo z vás 1124 00:55:38,799 --> 00:55:40,590 pamatovat, když jsem blýskl na obrazovce. 1125 00:55:40,590 --> 00:55:44,097 A ne otočit vůbec, protože tam je další obrazovky v této místnosti 1126 00:55:44,097 --> 00:55:44,930 že mohu vypnout. 1127 00:55:44,930 --> 00:55:46,620 Takže se nemusíte otočit. 1128 00:55:46,620 --> 00:55:49,090 >> V přední části Victoria je tentýž výkřik. 1129 00:55:49,090 --> 00:55:54,170 A její úkolem je nyní ti všechno na kus papíru, co k tomu. 1130 00:55:54,170 --> 00:55:57,020 A uvidíme, na základě verbální pokyny sám, 1131 00:55:57,020 --> 00:56:00,020 počítačový kód, chcete-li, jak přesné výkresy 1132 00:56:00,020 --> 00:56:02,330 are-- vaše implementace jsou. 1133 00:56:02,330 --> 00:56:02,980 Dávat smysl? 1134 00:56:02,980 --> 00:56:03,604 >> Diváků: Jo. 1135 00:56:03,604 --> 00:56:04,980 DAVID Malan: OK, vykonat. 1136 00:56:04,980 --> 00:56:06,030 >> Diváků: nakreslit čtverec. 1137 00:56:06,030 --> 00:56:09,050 >> [SMÍCH] 1138 00:56:09,050 --> 00:56:12,310 >> DAVID Malan: A nikdo Otázky mohou být položeny. 1139 00:56:12,310 --> 00:56:13,720 Může dělat jen to, co jste řekl. 1140 00:56:13,720 --> 00:56:17,570 1141 00:56:17,570 --> 00:56:22,550 Jo, a pokud máte dnešní skluzavky otevře v kartě, nedívejte se na kartě. 1142 00:56:22,550 --> 00:56:23,670 OK? 1143 00:56:23,670 --> 00:56:26,135 >> Publikum: OK, nakreslete kruh. 1144 00:56:26,135 --> 00:56:32,544 1145 00:56:32,544 --> 00:56:34,872 Slope-- mohu říci svahu? 1146 00:56:34,872 --> 00:56:35,830 DAVID Malan: Až vás. 1147 00:56:35,830 --> 00:56:38,230 1148 00:56:38,230 --> 00:56:38,980 Diváků: ve svahu. 1149 00:56:38,980 --> 00:56:46,330 1150 00:56:46,330 --> 00:56:49,795 A trojúhelník. 1151 00:56:49,795 --> 00:56:50,850 >> DAVID Malan: Dobře. 1152 00:56:50,850 --> 00:56:52,286 A tady zůstat jen na chvíli. 1153 00:56:52,286 --> 00:56:56,046 1154 00:56:56,046 --> 00:56:58,910 A já jdu přijít asi za chvíli. 1155 00:56:58,910 --> 00:57:02,420 A není nutné dát své jméno na to. 1156 00:57:02,420 --> 00:57:05,030 Nech mě jít kolem a sbírat své kresby, 1157 00:57:05,030 --> 00:57:08,330 pokud vám nevadí, že trhá ven. 1158 00:57:08,330 --> 00:57:12,110 >> Zde je to, co jsme se vrátili. 1159 00:57:12,110 --> 00:57:14,770 Já to promítat na obrazovce. 1160 00:57:14,770 --> 00:57:18,310 Vidím čtverec, kruh, svah, a trojúhelník. 1161 00:57:18,310 --> 00:57:20,130 Takže tam jedna odpověď. 1162 00:57:20,130 --> 00:57:23,640 A let's-- pokřiky. 1163 00:57:23,640 --> 00:57:25,370 Děkuji. 1164 00:57:25,370 --> 00:57:30,710 Tady je jiný sortiment, a jeden za ním. 1165 00:57:30,710 --> 00:57:34,130 1166 00:57:34,130 --> 00:57:37,120 >> A tak se všichni zdají zachytit ducha. 1167 00:57:37,120 --> 00:57:38,600 Děkuji. 1168 00:57:38,600 --> 00:57:44,970 Je tu další, a tady je ještě jeden. 1169 00:57:44,970 --> 00:57:51,590 Výklad svah je trochu jinak, trochu křivky. 1170 00:57:51,590 --> 00:57:57,140 A nejbližší, buď z důvodu nádherné specifičnost, se kterou jsem 1171 00:57:57,140 --> 00:58:03,520 popsáno, nebo možná trochu viděl, že předtím, je to skutečně 1172 00:58:03,520 --> 00:58:06,340 Co Victoria byl vlastně popisovat. 1173 00:58:06,340 --> 00:58:09,190 >> Ale teď, ti z vás, kteří Nedostal to úplně v pořádku, 1174 00:58:09,190 --> 00:58:11,140 pojďme nabízejí některé námitky zde. 1175 00:58:11,140 --> 00:58:13,770 Takže Victoria první řekl nakreslit čtverec. 1176 00:58:13,770 --> 00:58:15,830 A teď, můžeme předpokládat, z důvodu dnes 1177 00:58:15,830 --> 00:58:17,538 že každý ví, Jak nakreslit čtverec. 1178 00:58:17,538 --> 00:58:20,590 Ale to není zcela jasné, že jo? 1179 00:58:20,590 --> 00:58:23,220 Jak jinak byste mohli mít přilákalo náměstí, nebo tam, kde 1180 00:58:23,220 --> 00:58:27,114 může být některé z nejasností Zde pro počítač? 1181 00:58:27,114 --> 00:58:28,280 Publikum: Umístění a velikost. 1182 00:58:28,280 --> 00:58:28,980 DAVID Malan: Místo, že jo? 1183 00:58:28,980 --> 00:58:32,070 Všichni z vás měl papír nějakém tvaru, Obecně obdélníky, ale mírně 1184 00:58:32,070 --> 00:58:32,830 různých velikostech. 1185 00:58:32,830 --> 00:58:36,250 Ale určitě mohl vyvodit, pokud byste chtěli, velký čtverec, možná 1186 00:58:36,250 --> 00:58:37,220 malý čtverec. 1187 00:58:37,220 --> 00:58:38,417 Možná, že se otáčí. 1188 00:58:38,417 --> 00:58:39,500 Nemyslím si, že jsme viděli, že. 1189 00:58:39,500 --> 00:58:41,790 Ale mohlo to být ještě diamant podobně, ale přesto, přesto, 1190 00:58:41,790 --> 00:58:42,900 matematicky čtverec. 1191 00:58:42,900 --> 00:58:44,850 Takže to byl pravděpodobně nejednoznačný. 1192 00:58:44,850 --> 00:58:46,709 >> Pak řekla, nakreslete kruh. 1193 00:58:46,709 --> 00:58:49,250 Někteří z vás se to nakreslit vedle to, což není nerozumné, 1194 00:58:49,250 --> 00:58:52,450 protože lidé mají tendenci si myslet, nebo číst zprava doleva ve většině jazyků, takže ne 1195 00:58:52,450 --> 00:58:53,017 špatný odhad. 1196 00:58:53,017 --> 00:58:55,100 Ale že kruh by mohl mít Byl uvnitř náměstí, 1197 00:58:55,100 --> 00:58:57,600 mohlo být kolem čtverec, by mohlo být na jiném místě 1198 00:58:57,600 --> 00:58:59,480 na list, takže pravděpodobně nejednoznačný. 1199 00:58:59,480 --> 00:59:03,290 >> Sklon by mohl být možná přičemž nejvíce svobody verbálně 1200 00:59:03,290 --> 00:59:04,200 s tím, co to znamená. 1201 00:59:04,200 --> 00:59:06,980 A někteří z vás interpretovány že jako klikatou čarou 1202 00:59:06,980 --> 00:59:08,560 nebo přímka nebo podobně. 1203 00:59:08,560 --> 00:59:11,719 A pak trojúhelník, taky by mohl mít orientována v mnoha různými způsoby. 1204 00:59:11,719 --> 00:59:14,760 Takže ve zkratce, dokonce s něčím, vám pohled a jsi jako, wow, tak 1205 00:59:14,760 --> 00:59:17,020 jednoduchý, mohl dítě kreslit to, no ne 1206 00:59:17,020 --> 00:59:19,640 Opravdu, pokud nejste super, super přesvědčivý 1207 00:59:19,640 --> 00:59:22,045 a řekli počítači přesně to, co má dělat. 1208 00:59:22,045 --> 00:59:24,420 Takže pokud jsme mohli, pokud máte další list papíru, pojďme 1209 00:59:24,420 --> 00:59:26,710 zkusit to ještě jednou. 1210 00:59:26,710 --> 00:59:29,880 A já jdu dát Victoria jedno Dalším příkladem na obrazovce zde. 1211 00:59:29,880 --> 00:59:34,060 A opět, ne otočit a nedívejte se na vaše snímky. 1212 00:59:34,060 --> 00:59:37,304 A já jí dám chvilku přemýšlet o tom, jak popsat to. 1213 00:59:37,304 --> 00:59:39,012 Nedovolte jim vidět strach ve tvých očích. 1214 00:59:39,012 --> 00:59:40,820 >> [SMÍCH] 1215 00:59:40,820 --> 00:59:43,710 >> A opět, tentokrát pákový efekt Některé z těchto stánek s jídlem 1216 00:59:43,710 --> 00:59:48,130 a pokusit se získat téměř každý alespoň správná odpověď. 1217 00:59:48,130 --> 00:59:52,260 >> Publikum: OK, trvat kus papíru, podívejte se 1218 00:59:52,260 --> 00:59:54,500 ve středu tohoto kusu papíru. 1219 00:59:54,500 --> 00:59:59,591 Ve středu tohoto kusu papíru, nakreslit krychli. 1220 00:59:59,591 --> 01:00:01,244 >> [SMÍCH] 1221 01:00:01,244 --> 01:00:02,660 DAVID Malan: Co jsme se naučili? 1222 01:00:02,660 --> 01:00:03,540 Byli jsme tak blízko. 1223 01:00:03,540 --> 01:00:06,320 1224 01:00:06,320 --> 01:00:09,045 OK, opakuji, pokud mohl, pro každého. 1225 01:00:09,045 --> 01:00:13,210 >> Diváků: Ve středu kus papíru, kreslit objekt, 1226 01:00:13,210 --> 01:00:14,842 který vypadá jako krychle. 1227 01:00:14,842 --> 01:00:17,332 >> DAVID Malan: OK, to je vše, co se do práce s. 1228 01:00:17,332 --> 01:00:20,010 1229 01:00:20,010 --> 01:00:23,080 Dovolte mi, abych se analytický a ne tolik kritická, 1230 01:00:23,080 --> 01:00:25,720 ale aby pohledávku že Victoria rozhodně 1231 01:00:25,720 --> 01:00:28,967 Zdá se, že myšlení ve velmi abstrakce na vysoké úrovni, které 1232 01:00:28,967 --> 01:00:29,800 není nepřiměřená. 1233 01:00:29,800 --> 01:00:32,160 Protože jinak bychom byli všichni být dost dysfunkční, 1234 01:00:32,160 --> 01:00:35,740 pokud bychom museli být někdy tak přesná se vším, co děláme ve světě. 1235 01:00:35,740 --> 01:00:38,890 >> Ale řeč jdi do middle-- I myslel, že jsme byli na takové dobré cestě 1236 01:00:38,890 --> 01:00:42,340 tam, stejně jako jít do samého středu stránky, a pak nakreslit krychli. 1237 01:00:42,340 --> 01:00:45,730 Takže si myslí v abstrakci, protože ona je stále prohlížení 1238 01:00:45,730 --> 01:00:48,490 co je na obrazovce skutečně kostka. 1239 01:00:48,490 --> 01:00:51,185 Ale je tu tolik příležitostí pro interpretaci tam. 1240 01:00:51,185 --> 01:00:53,560 A ve skutečnosti, tam je tolik Jiné způsoby, jak byste mohli vyjádřit 1241 01:00:53,560 --> 01:00:55,101 To, co budu navrhovat za chvíli. 1242 01:00:55,101 --> 01:00:59,770 Takže tady máme jednu inkarnaci z picture-- whoops-- jednom 1243 01:00:59,770 --> 01:01:02,830 ztělesnění obrazu, takže Trochu tři rozměrnost k tomu, 1244 01:01:02,830 --> 01:01:04,160 což je hezké. 1245 01:01:04,160 --> 01:01:08,470 >> Tady je ještě jeden, kde máte Totéž, i když je to trochu otevřené krychle. 1246 01:01:08,470 --> 01:01:12,020 Někteří lidé to trvalo trochu více ploché, dvourozměrné. 1247 01:01:12,020 --> 01:01:13,910 A to je v pořádku. 1248 01:01:13,910 --> 01:01:17,380 Takže tam, opravdu v střed papíru. 1249 01:01:17,380 --> 01:01:22,720 Tenhle Myslím, že budete podobně, protože když jdeme sem, 1250 01:01:22,720 --> 01:01:25,130 To je to, co popisoval. 1251 01:01:25,130 --> 01:01:29,570 Takže teď mi dovolte, abych navrhnout jak jinak bychom mohli popsat tuto situaci. 1252 01:01:29,570 --> 01:01:34,070 >> Zpět v den, jeden z nejvíce Běžnější způsoby, jak se učit programování 1253 01:01:34,070 --> 01:01:38,900 Byl psát kód, píše linie instrukcí, 1254 01:01:38,900 --> 01:01:42,640 které jsou řízeny trochu želva na obrazovce. 1255 01:01:42,640 --> 01:01:45,660 Logo a další varianty bylo jméno jazyka. 1256 01:01:45,660 --> 01:01:47,550 A želva žil ve světě. 1257 01:01:47,550 --> 01:01:49,970 >> Takže předpokládám, že tento obdélníkový prostor je jeho svět. 1258 01:01:49,970 --> 01:01:53,340 A vy byste začít tím, že assuming-- I opravdu nevím, jak k tomu želvy, 1259 01:01:53,340 --> 01:01:54,740 takže pojďme to takhle. 1260 01:01:54,740 --> 01:01:57,340 A pak, že má skořepinu a pak možná několik stop. 1261 01:01:57,340 --> 01:01:59,840 Takže můžete mít tento malý postava na obrazovce. 1262 01:01:59,840 --> 01:02:02,270 >> A předmětem tohoto programovací jazyk 1263 01:02:02,270 --> 01:02:06,070 bylo přimět želvu jít nahoru, dolů, doleva, doprava 1264 01:02:06,070 --> 01:02:08,420 a předložit své pero nebo vyzvednout jeho perem nahoru, 1265 01:02:08,420 --> 01:02:12,720 aby mohl skutečně čerpat na obrazovce V této velmi rovné obdélníkové světě. 1266 01:02:12,720 --> 01:02:16,850 Tak kde jsem myslel, že byste mohli jít, a kde byste měli zvážit potápění 1267 01:02:16,850 --> 01:02:19,520 dolů psychicky při popisování Pokyny obecněji 1268 01:02:19,520 --> 01:02:21,720 Já bych tvrdit, je dát své pero dole v middle-- 1269 01:02:21,720 --> 01:02:23,100 a my zbavit želva, protože nemůžu 1270 01:02:23,100 --> 01:02:24,680 zachovat přitáhla ho velmi dobře. 1271 01:02:24,680 --> 01:02:27,170 >> A teď, jak jinak by mohl Říkám nakreslit krychli? 1272 01:02:27,170 --> 01:02:32,830 No, mohli bychom říci něco jako remízu diagonální linie severovýchod, například, 1273 01:02:32,830 --> 01:02:35,182 nebo v úhlu 45 stupňů směrem nahoru. 1274 01:02:35,182 --> 01:02:36,640 A to by mohlo mě sem dostal. 1275 01:02:36,640 --> 01:02:38,380 A jsem docela daleko od krychle. 1276 01:02:38,380 --> 01:02:42,430 Ale teď, mohl bych něco říct jako otočit o 90 stupňů doleva 1277 01:02:42,430 --> 01:02:47,370 a nakreslit čáru stejné délky severozápad. 1278 01:02:47,370 --> 01:02:49,470 A mohl bych pokračovat s podobnými směrech. 1279 01:02:49,470 --> 01:02:50,720 A to nebude snadné. 1280 01:02:50,720 --> 01:02:53,345 A upřímně řečeno, pravděpodobně bychom tady už po dobu pěti minut. 1281 01:02:53,345 --> 01:02:59,600 Ale možná bychom se dostali do něco, že na konci dne, 1282 01:02:59,600 --> 01:03:04,280 přestane být kostka, ale my potápěl uvnitř této abstrakce 1283 01:03:04,280 --> 01:03:06,370 jak to udělat na tak nízké Úroveň že nemůžete opravdu 1284 01:03:06,370 --> 01:03:09,795 vidět, co děláte, dokud se celá to je ve skutečnosti tam na stránce. 1285 01:03:09,795 --> 01:03:12,670 A tak to je obecná zásada, opět z programming-- této myšlenky 1286 01:03:12,670 --> 01:03:13,320 abstrakce. 1287 01:03:13,320 --> 01:03:15,920 Je to tak úžasně silný, protože znovu 1288 01:03:15,920 --> 01:03:19,281 ona jen řekla, nakreslit krychli, které jsou všechny nás do značné míry by Grok velmi rychle. 1289 01:03:19,281 --> 01:03:21,030 Rádi bychom prostě pochopit, OK, nakreslit krychli. 1290 01:03:21,030 --> 01:03:24,030 Mohli bychom nevěděli orientaci, takže jsme mohli být trochu přesnější, 1291 01:03:24,030 --> 01:03:26,297 ale můžeme obecně obraz nebo vědět, co je krychle. 1292 01:03:26,297 --> 01:03:28,130 A to je užitečné, protože pokud pokaždé, když 1293 01:03:28,130 --> 01:03:31,540 sedl jako programátor v klávesnici psát kód, 1294 01:03:31,540 --> 01:03:33,912 pokud byste měli myslet na takové nízká úroveň, nikdo z nás 1295 01:03:33,912 --> 01:03:35,120 by nikdy dostat udělat cokoliv. 1296 01:03:35,120 --> 01:03:38,259 A jistě by nikdo z nás nyní proces psaní kódu. 1297 01:03:38,259 --> 01:03:41,550 Bylo by to jako psaní 0 a 1 letech, což upřímně řečeno nebylo vše tak dávno 1298 01:03:41,550 --> 01:03:43,680 Lidé psali kód 0 a 1 je. 1299 01:03:43,680 --> 01:03:46,960 A my jsme velmi rychle přišli s Tyto vyšší úroveň languages-- 1300 01:03:46,960 --> 01:03:49,410 C ++ a Java a další. 1301 01:03:49,410 --> 01:03:52,500 >> Takže pojďme zkusit ještě jednou jen proto, aby otočit tabulky, takže každý z nás 1302 01:03:52,500 --> 01:03:55,450 mají možnost přemýšlet v poněkud stejným způsobem. 1303 01:03:55,450 --> 01:03:59,230 Mohli bychom získat ještě jeden dobrovolník tento čas přijít k tabuli a kreslit, 1304 01:03:59,230 --> 01:04:01,480 ne recitovat? 1305 01:04:01,480 --> 01:04:02,070 Jo, OK. 1306 01:04:02,070 --> 01:04:04,820 Bene, pojď nahoru. 1307 01:04:04,820 --> 01:04:08,510 A Ben, v tomto případě, jakmile vás čelit prkno, nevypadají vlevo, 1308 01:04:08,510 --> 01:04:09,370 nevypadají dobře. 1309 01:04:09,370 --> 01:04:12,367 Jen to, co vaše kolegům, aby vás tady říct. 1310 01:04:12,367 --> 01:04:14,950 A pro všechny ostatní v pokoj, nyní jsou programátor. 1311 01:04:14,950 --> 01:04:16,020 On je ten počítač. 1312 01:04:16,020 --> 01:04:21,395 A obraz jsem zde zvolil v předstihu je to jeden tady. 1313 01:04:21,395 --> 01:04:24,490 1314 01:04:24,490 --> 01:04:27,660 Jsou jen-- si myslí legrační vtip je vše. 1315 01:04:27,660 --> 01:04:31,510 >> Tak by se někdo chtěl dobrovolník první instrukce 1316 01:04:31,510 --> 01:04:35,470 nebo prohlášení, že by příkazové Benův pero? 1317 01:04:35,470 --> 01:04:40,850 A budeme to dělat společně, možná jedna instrukce od každého člověka. 1318 01:04:40,850 --> 01:04:41,440 Omlouvám se? 1319 01:04:41,440 --> 01:04:42,440 >> Diváků: Nakreslete kruh. 1320 01:04:42,440 --> 01:04:45,866 DAVID Malan: Nakreslete kruh Je to první věc, kterou jsem slyšel. 1321 01:04:45,866 --> 01:04:47,100 >> Diváků: Up nahoru. 1322 01:04:47,100 --> 01:04:48,140 >> DAVID Malan: Až nahoru. 1323 01:04:48,140 --> 01:04:52,504 OK, můžeme nechat vymazat, vrátit zpět. 1324 01:04:52,504 --> 01:04:53,420 A teď někdo jiný. 1325 01:04:53,420 --> 01:04:55,994 Dan, měli byste být pohodlné nabízí další instrukce? 1326 01:04:55,994 --> 01:05:02,070 >> Publikum: Jasně, kreslit střed ze spodní části kruhu, 1327 01:05:02,070 --> 01:05:07,121 s small-- trochu malý prostor od toho, 1328 01:05:07,121 --> 01:05:15,420 nakreslit přímku dolů na tři čtvrtinách cesty dolů desce 1329 01:05:15,420 --> 01:05:17,845 mírném úhlu k levé straně. 1330 01:05:17,845 --> 01:05:21,250 1331 01:05:21,250 --> 01:05:22,620 >> DAVID Malan: Dobrý. 1332 01:05:22,620 --> 01:05:24,086 >> Diváků: pod mírným úhlem. 1333 01:05:24,086 --> 01:05:32,807 >> DAVID Malan: Undo, Control-Z. OK. 1334 01:05:32,807 --> 01:05:34,890 Andrew, chcete nabídnout up další instrukce? 1335 01:05:34,890 --> 01:05:35,515 >> Diváků: Jistě. 1336 01:05:35,515 --> 01:05:43,250 Ze spodní části této linie, další mírné angle-- 1337 01:05:43,250 --> 01:05:49,024 whoops-- možná asi třetina délky [neslyšitelné] 1338 01:05:49,024 --> 01:05:52,928 mírným úhlem dolů a se jako třetině délky [neslyšitelné]. 1339 01:05:52,928 --> 01:05:57,550 1340 01:05:57,550 --> 01:06:00,578 Tak jo, od tohoto bodu, nakreslit čáru třetiny 1341 01:06:00,578 --> 01:06:04,150 délky předchozí řádek dále vlevo. 1342 01:06:04,150 --> 01:06:08,416 1343 01:06:08,416 --> 01:06:10,040 >> DAVID Malan: To jo? 1344 01:06:10,040 --> 01:06:12,330 Přímka, to je v pořádku? 1345 01:06:12,330 --> 01:06:14,900 OK, Olivier, chcete nabídnout až příští? 1346 01:06:14,900 --> 01:06:28,564 >> Diváků: [neslyšitelné] z Spodní část kruhu, [neslyšitelné]. 1347 01:06:28,564 --> 01:06:32,000 1348 01:06:32,000 --> 01:06:45,126 Čerpat na pravé straně z [neslyšitelný] centimetrů. 1349 01:06:45,126 --> 01:06:46,560 >> [SMÍCH] 1350 01:06:46,560 --> 01:06:49,872 >> DAVID Malan: Myslím, že budete muset převést to palce tady. 1351 01:06:49,872 --> 01:06:50,764 >> Diváků: Zastavit. 1352 01:06:50,764 --> 01:06:52,186 >> [SMÍCH] 1353 01:06:52,186 --> 01:06:54,570 >> DAVID Malan: OK. 1354 01:06:54,570 --> 01:06:56,660 [? Ara,?] Chcete nabídnout až příští? 1355 01:06:56,660 --> 01:07:00,653 1356 01:07:00,653 --> 01:07:15,443 >> Diváků: Nakreslete [neslyšitelné] horní [neslyšitelné] stejné. 1357 01:07:15,443 --> 01:07:28,829 [Neslyšitelné] kruh, kreslit na [Neslyšitelné] a čerpat [neslyšitelný]. 1358 01:07:28,829 --> 01:07:33,799 1359 01:07:33,799 --> 01:07:36,730 >> DAVID Malan: OK, nic víc vrátit zpět. 1360 01:07:36,730 --> 01:07:38,390 Udělejme ještě jeden nebo dva instrukce. 1361 01:07:38,390 --> 01:07:40,825 Chris, chcete nabídnout jeden? 1362 01:07:40,825 --> 01:07:46,182 >> Diváků: Na dně kruhu, [neslyšitelné] 1363 01:07:46,182 --> 01:07:51,528 kreslit rovné čáry slopping dolů doleva [neslyšitelný]. 1364 01:07:51,528 --> 01:07:59,304 1365 01:07:59,304 --> 01:08:00,590 >> DAVID Malan: OK. 1366 01:08:00,590 --> 01:08:01,170 Andrew? 1367 01:08:01,170 --> 01:08:02,472 did-- jsme Karim? 1368 01:08:02,472 --> 01:08:06,891 1369 01:08:06,891 --> 01:08:13,765 >> Diváků: Od pravého linie, konec levého vedení, spodní, 1370 01:08:13,765 --> 01:08:21,012 se chystáte jít pravdu stejně dlouhý jako tento řádek 1371 01:08:21,012 --> 01:08:27,680 jste na, kreslení na právo [neslyšitelné]. 1372 01:08:27,680 --> 01:08:33,572 1373 01:08:33,572 --> 01:08:37,991 [Neslyšitelné] stupňů, takže [neslyšitelné] stupně na pravé straně. 1374 01:08:37,991 --> 01:08:41,919 1375 01:08:41,919 --> 01:08:43,500 >> DAVID Malan: Dobře. 1376 01:08:43,500 --> 01:08:44,029 Pojďme pauza. 1377 01:08:44,029 --> 01:08:44,950 Neotáčej ještě kolem. 1378 01:08:44,950 --> 01:08:46,783 Pojďme pauza, a pojďme vyzkoušet jeden další pokus 1379 01:08:46,783 --> 01:08:48,850 Než jsme se odhalit k Benovi co on byl kreslení. 1380 01:08:48,850 --> 01:08:51,189 Můžete zamíchat Bena right-- nebo ve skutečnosti, 1381 01:08:51,189 --> 01:08:54,080 no, ať to jen dát další deska, ještě lepší. 1382 01:08:54,080 --> 01:08:57,640 Takže by někdo chtěl podnikem aby se více přístupu 1383 01:08:57,640 --> 01:09:02,149 že Victoria vzal dříve, pokud mluvíme ve vyšší úrovni abstrakce 1384 01:09:02,149 --> 01:09:05,149 a jen větě nebo dva popsat Bena 1385 01:09:05,149 --> 01:09:07,229 co k tomu, aniž dostat se do plevelů, 1386 01:09:07,229 --> 01:09:10,670 tak říkajíc, na to nižší úroveň? 1387 01:09:10,670 --> 01:09:11,206 Victorie. 1388 01:09:11,206 --> 01:09:11,706 [SMÍCH] 1389 01:09:11,706 --> 01:09:14,249 Diváků: nakreslit postavu z kráčejícího muže. 1390 01:09:14,249 --> 01:09:18,866 A jeho nohy a ruce musí být na pravé straně. 1391 01:09:18,866 --> 01:09:20,505 >> DAVID Malan: OK, to je vše, co dostanete. 1392 01:09:20,505 --> 01:09:27,210 1393 01:09:27,210 --> 01:09:27,710 Dobře. 1394 01:09:27,710 --> 01:09:31,609 Proč ne my odhalit Benovi, co udělal. 1395 01:09:31,609 --> 01:09:32,890 Tak potlesk. 1396 01:09:32,890 --> 01:09:35,700 To byla ta nejtěžší možná. 1397 01:09:35,700 --> 01:09:37,931 >> Takže i když mluvíme V poměrně hloupé, pokud jde 1398 01:09:37,931 --> 01:09:39,680 asi jen kreslení Fotografie, snad budete 1399 01:09:39,680 --> 01:09:44,226 může opravdu ocenit míru výraznost, že by mohlo být nutné 1400 01:09:44,226 --> 01:09:45,850 aby říci počítači, co má dělat. 1401 01:09:45,850 --> 01:09:50,370 A ve skutečnosti, že Ben byl schopen nakreslit tak rychle 1402 01:09:50,370 --> 01:09:54,227 je trochu zákoně použitím jazyk, možná vyšší úroveň 1403 01:09:54,227 --> 01:09:57,060 verze angličtiny, která umožňuje ho stačí použít slova, nebo slyšet slova 1404 01:09:57,060 --> 01:09:59,990 od Victorie, že mu umožňují Tyto abstractions-- jen kreslit 1405 01:09:59,990 --> 01:10:03,020 postava chůzi na right--, že druh má 1406 01:10:03,020 --> 01:10:07,100 někteří sémantický význam pro to, aby není zdaleka tak zřejmé, když jste jen 1407 01:10:07,100 --> 01:10:10,310 řka: dát své pero, kreslit doprava, kreslit doleva. 1408 01:10:10,310 --> 01:10:12,420 >> A tak to taky, je velmi obyčejný v programování. 1409 01:10:12,420 --> 01:10:15,253 To by se říci, že se jako velmi nízká úroveň jazyka, programování 1410 01:10:15,253 --> 01:10:16,730 v 0 a 1, pokud budete. 1411 01:10:16,730 --> 01:10:19,320 A to by byla vyšší úroveň programovací jazyk Java, 1412 01:10:19,320 --> 01:10:20,278 nebo něco takového. 1413 01:10:20,278 --> 01:10:22,050 Tak trochu zjednodušením, ale to je 1414 01:10:22,050 --> 01:10:24,310 ten typ jako emocionální pocit, že cítíte, když 1415 01:10:24,310 --> 01:10:26,630 pomocí jedné takové věci nebo jiný. 1416 01:10:26,630 --> 01:10:32,650 Trochu frustrace zde potřebou Pro takovou přesností, ale příležitost 1417 01:10:32,650 --> 01:10:34,930 být trochu volnější s Výklad zde. 1418 01:10:34,930 --> 01:10:38,060 Ale samozřejmě, chyby může vzniknout jako výsledek. 1419 01:10:38,060 --> 01:10:40,500 >> Pokud byste chtěli na home-- my nebude dělat toto jeden v class-- 1420 01:10:40,500 --> 01:10:41,900 ale pokud chcete přivést tuhle domů, 1421 01:10:41,900 --> 01:10:43,387 Myslel jsem, že bychom se ponořit do tohoto. 1422 01:10:43,387 --> 01:10:45,970 Takže pokud byste chtěli zahrát Hra s vaší dalších významných 1423 01:10:45,970 --> 01:10:49,180 nebo děti nebo podobně, vy se mohou těšit, že stejně. 1424 01:10:49,180 --> 01:10:54,460 >> Tak pojďme do toho a podívejte se na jeden poslední věc, kterou zde pro počítačovou myšlení. 1425 01:10:54,460 --> 01:10:57,010 A to nás přivádí k Johnovi Oliver, ne pro klip 1426 01:10:57,010 --> 01:11:00,070 jste mohli vidět v noci, ale poněkud nedávném vydání. 1427 01:11:00,070 --> 01:11:03,310 Několik měsíců zpět, Volkswagen trvalo docela dost ostré kritiky 1428 01:11:03,310 --> 01:11:05,651 z jakého důvodu, pokud víte? 1429 01:11:05,651 --> 01:11:07,025 Co se dostanou do problémů? 1430 01:11:07,025 --> 01:11:10,270 1431 01:11:10,270 --> 01:11:14,030 >> Jo, tak oni emissions-- se snaží porazit emisí 1432 01:11:14,030 --> 01:11:19,100 Testy v podstatě mají své auta znečišťují životní prostředí méně 1433 01:11:19,100 --> 01:11:23,620 kdy byly testovány jejich auta a znečišťují životní prostředí více 1434 01:11:23,620 --> 01:11:25,547 kdy nebyly testovány auta. 1435 01:11:25,547 --> 01:11:28,630 A co je čím dál zajímavější ve světě, protože můžete mít odvozený 1436 01:11:28,630 --> 01:11:34,072 z diskusí o jako--, co je to-- CarPlay, software Apple pro automobily 1437 01:11:34,072 --> 01:11:35,780 a skutečnost, že mnoho z nás stále více 1438 01:11:35,780 --> 01:11:38,390 mají dotykové obrazovky v našich autech, tam je děsivé množství 1439 01:11:38,390 --> 01:11:41,250 softwaru v lidové auta dnes, což 1440 01:11:41,250 --> 01:11:45,650 Upřímně otevírá zcela plechovku červů, když jde o bezpečnost a fyzické nebezpečí. 1441 01:11:45,650 --> 01:11:48,070 Ale pro dnešek, pojďme soustředit se pouze to, co je 1442 01:11:48,070 --> 01:11:52,170 zapojený do psaní softwaru která by mohla gamed systému. 1443 01:11:52,170 --> 01:11:54,510 >> Pro definici jednotky Problém, pro ty, kteří neznají, 1444 01:11:54,510 --> 01:11:55,740 pojďme se podívat na Johna Olivera. 1445 01:11:55,740 --> 01:11:58,115 A pro ty, kteří znají Problém, pojďme se na to podívat 1446 01:11:58,115 --> 01:12:00,480 v zábavném objektivu přes John Oliver stejně. 1447 01:12:00,480 --> 01:12:05,810 Takže mi dovolte hit hrát na to, I myslím, tři minuty úvod. 1448 01:12:05,810 --> 01:12:07,074 Sakra. 1449 01:12:07,074 --> 01:12:07,740 [VIDEOPŘEHRÁVÁNÍ] 1450 01:12:07,740 --> 01:12:08,170 -Auta-- 1451 01:12:08,170 --> 01:12:09,919 DAVID Malan: Je zřejmé, na YouTube, it's-- 1452 01:12:09,919 --> 01:12:12,500 - --the Nejchytřejší znaky Rychle a zběsile filmy. 1453 01:12:12,500 --> 01:12:16,080 Tento týden, německý výrobce automobilů Volkswagen ocitlo 1454 01:12:16,080 --> 01:12:19,430 ve středu skandálu potenciálně kriminální poměry. 1455 01:12:19,430 --> 01:12:23,020 >> -Volkswagen Se připravuje o miliardy na pokutách, možné obvinění z trestného činu 1456 01:12:23,020 --> 01:12:25,530 pro své manažery, as Společnost se omlouvá 1457 01:12:25,530 --> 01:12:28,790 pro rigging 11 milionů vozů pomoci mu porazit zkoušky emisí. 1458 01:12:28,790 --> 01:12:32,110 >> -Certain Modely dieselové byly navrženy s sofistikovaný software, který 1459 01:12:32,110 --> 01:12:35,410 použité informace, včetně pozice volantu a vozidlem 1460 01:12:35,410 --> 01:12:38,820 rychlost, aby se zjistilo auto bylo prochází měření emisí. 1461 01:12:38,820 --> 01:12:42,620 Na základě této okolnosti, motor sníží toxické emise. 1462 01:12:42,620 --> 01:12:46,040 Ale auto bylo zmanipulované do bypassu že když to bylo v provozu. 1463 01:12:46,040 --> 01:12:51,370 Emise zvýšil 10 až 40 krát nad přijatelnou úroveň EPA. 1464 01:12:51,370 --> 01:12:55,920 >> -Wow, 10 až 40 krát větší než EPA dovolí. 1465 01:12:55,920 --> 01:12:59,570 To je ta nejhorší věc, Volkswagen kdy udělal, 1466 01:12:59,570 --> 01:13:04,200 Je něco, co byste mohli říci, zda byste nikdy neslyšel o druhé světové války. 1467 01:13:04,200 --> 01:13:09,710 Ale možná nejjistější známkou toho, jak mnoho problémů Volkswagen je, 1468 01:13:09,710 --> 01:13:12,730 je, že lidé na samém Nejlepším hráčem již odstoupil. 1469 01:13:12,730 --> 01:13:16,320 Generální ředitel rezignoval ve středu poté, usilovně snaží dělat škodě kontrolu, 1470 01:13:16,320 --> 01:13:20,380 říkat on byl nekonečně líto, která znělo skvěle, dokud se ukázalo 1471 01:13:20,380 --> 01:13:22,920 on byl jen 10% líto ale že zmanipulované ústa 1472 01:13:22,920 --> 01:13:25,600 na uměle jeho sorriness. 1473 01:13:25,600 --> 01:13:29,700 A mezitím Volkswagen USA Šéf měl omluvu vlastní. 1474 01:13:29,700 --> 01:13:33,580 >> -Nech To být jasné, o tom, naše společnost byla nečestné. 1475 01:13:33,580 --> 01:13:37,140 A v mých německých slov, my totálně podělal. 1476 01:13:37,140 --> 01:13:41,360 >> Jo, ale naprosto šroubované up nejsou Německé práce. 1477 01:13:41,360 --> 01:13:43,750 A německý jazyk má mnoho krásných frází 1478 01:13:43,750 --> 01:13:50,070 popsat situace, stejně jako to, jako je [německý], což znamená, hrubě, 1479 01:13:50,070 --> 01:13:52,870 smutek, který přichází z podnikání související lží, 1480 01:13:52,870 --> 01:13:59,060 nebo [německý], který překládá jak hanbit ones otce zahrnující 1481 01:13:59,060 --> 01:14:00,352 mraky benzínu. 1482 01:14:00,352 --> 01:14:02,060 Je to krásný jazyk. 1483 01:14:02,060 --> 01:14:04,660 Je to jen plaví z jazyka. 1484 01:14:04,660 --> 01:14:07,920 A mimochodem, zatímco muže omluva může mít znělo upřímně, 1485 01:14:07,920 --> 01:14:12,260 je třeba poznamenat, že mluví na oficiální zahájení party pro rok 2016 1486 01:14:12,260 --> 01:14:17,310 Volkswagen Passat, což znamená, že krátce Po omluvy, to řekl. 1487 01:14:17,310 --> 01:14:18,850 >> Děkuji moc za návštěvu. 1488 01:14:18,850 --> 01:14:19,630 Užijte si večer. 1489 01:14:19,630 --> 01:14:21,300 Až příští je Lenny Kravitz. 1490 01:14:21,300 --> 01:14:24,640 >> [MUSIC PŘEHRÁVÁNÍ] 1491 01:14:24,640 --> 01:14:28,230 >> -OK, OK, ukončení svého omluva až příští 1492 01:14:28,230 --> 01:14:31,940 Lenny Kravitz není křičet střízlivý lítosti. 1493 01:14:31,940 --> 01:14:35,830 To křičí, jsme se zeptali Bon Jovi, a on řekl, že ne. 1494 01:14:35,830 --> 01:14:38,600 Značka Volkswagen má byl těžce poškozen. 1495 01:14:38,600 --> 01:14:42,466 A upřímně řečeno, jejich nová reklama Kampaň není zrovna nepomáhá. 1496 01:14:42,466 --> 01:14:47,289 >> - [Německý], my ve Volkswagenu chtěli omluvit za klamání vás 1497 01:14:47,289 --> 01:14:47,930 naše vozidla. 1498 01:14:47,930 --> 01:14:48,513 >> [END PŘEHRÁVÁNÍ] 1499 01:14:48,513 --> 01:14:54,090 DAVID Malan: Takže to byl oklikou of-- sorry-- 1500 01:14:54,090 --> 01:14:58,730 to byl kruhový objezd způsob zavedení zásadní problém 1501 01:14:58,730 --> 01:15:02,810 v softwaru, což je to, že je třeba detekovat určité podmínky. 1502 01:15:02,810 --> 01:15:07,680 A tak otázka, na dosah ruky zde je, jak se auto potenciálně 1503 01:15:07,680 --> 01:15:09,870 jak je implementována v softwaru těmito programátory, 1504 01:15:09,870 --> 01:15:11,850 zjistí, že je to vlastně testuje? 1505 01:15:11,850 --> 01:15:14,150 Takže bylo super jasné, co dělali 1506 01:15:14,150 --> 01:15:17,940 byl, v prostředích, kde programátoři přišel 1507 01:15:17,940 --> 01:15:20,460 auto bylo bytí testovány, se nějakým způsobem 1508 01:15:20,460 --> 01:15:24,840 auta vypouštějí méně emisí, méně emise, takže méně toxické výpary 1509 01:15:24,840 --> 01:15:25,470 a podobně. 1510 01:15:25,470 --> 01:15:27,261 Ale když je to normálně jízdě na silnici, 1511 01:15:27,261 --> 01:15:30,350 by to prostě vydávat tolik Znečištění, jak to chtěl. 1512 01:15:30,350 --> 01:15:33,870 >> Tak jak bychom mohli psát pseudocode pro tento algoritmus? 1513 01:15:33,870 --> 01:15:37,820 Jak bychom mohli psát pseudocode za software běžící v autě? 1514 01:15:37,820 --> 01:15:43,390 Myslím, že v kostce, to vře až něco takového. 1515 01:15:43,390 --> 01:15:48,000 pokud testuje, vypouštějí méně. 1516 01:15:48,000 --> 01:15:50,750 jinde vyzařuje víc. 1517 01:15:50,750 --> 01:15:52,630 Ale to je trochu příliš vysoké úrovni, že jo? 1518 01:15:52,630 --> 01:15:58,580 >> Zkusme se do toho ponořit, co to abstrakce zkoušet prostředků. 1519 01:15:58,580 --> 01:16:06,340 Jinými slovy, i když nevíš nic o autech, jaké otázky 1520 01:16:06,340 --> 01:16:13,440 můžete požádat, aby se zjistilo, zda jste testuje, pokud jste auto? 1521 01:16:13,440 --> 01:16:19,638 Jaké vlastnosti by mohly být předloží v případě, že vůz je vyšetřováno? 1522 01:16:19,638 --> 01:16:21,026 >> Diváků: Zkušební zařízení. 1523 01:16:21,026 --> 01:16:22,420 >> DAVID Malan: Zkušební zařízení. 1524 01:16:22,420 --> 01:16:26,060 Takže pokud zkušební zařízení V blízkosti, pak vypouštějí méně. 1525 01:16:26,060 --> 01:16:28,669 Tak jsem si dokázal představit realizaci že s nějakým druhem kamer 1526 01:16:28,669 --> 01:16:29,960 nebo detekci co se děje kolem vás. 1527 01:16:29,960 --> 01:16:32,870 A dovolte mi navrhnout, že prostě připadá příliš komplikovaná 1528 01:16:32,870 --> 01:16:37,914 skutečně mít další hardware právě k tomuto účelu. 1529 01:16:37,914 --> 01:16:44,830 >> Diváků: Pokud jste v park, pokud vaše digestoř je otevřen. 1530 01:16:44,830 --> 01:16:47,320 >> DAVID Malan: V parku, nebo kapota otevřené, takže to je dobře. 1531 01:16:47,320 --> 01:16:47,420 >> Diváků: A auto běží. 1532 01:16:47,420 --> 01:16:50,480 >> DAVID Malan: Tak to je trochu více concrete-- a auto běží. 1533 01:16:50,480 --> 01:16:55,690 Takže by to být konjunkce několik různých podmínek, chcete-li. 1534 01:16:55,690 --> 01:16:59,227 Takže pokud je vůz v parku, a to i i když se jedná o velmi mechanická věc 1535 01:16:59,227 --> 01:17:01,060 typicky, mohl bych představit psaní software, 1536 01:17:01,060 --> 01:17:03,476 zejména proto, že je tu Často lehký tam v těchto dnech, 1537 01:17:03,476 --> 01:17:07,400 Nemohl jsem si představit, že tam software, který dokáže dotaz posunovač 1538 01:17:07,400 --> 01:17:10,634 nebo co ne, jste v parku, jsou jste v jednotce, jste v opačném pořadí. 1539 01:17:10,634 --> 01:17:12,550 A mohu získat zpět, odpovědět, že je buď ano 1540 01:17:12,550 --> 01:17:14,400 nebo ne tyto druhy otázek. 1541 01:17:14,400 --> 01:17:17,630 >> A tak jsem mohl pravděpodobně také odpovědět Na takovou otázku, je kapota otevřená. 1542 01:17:17,630 --> 01:17:21,860 Možná, že tam je nějaký druh senzoru že buď mi vrací 1 nebo 0, 1543 01:17:21,860 --> 01:17:23,720 pravdivý nebo nepravdivý, kapota je otevřená. 1544 01:17:23,720 --> 01:17:28,180 A pak auto běh, jsem mohl odhalit že nějak přes jakým mechanismem? 1545 01:17:28,180 --> 01:17:30,430 Stejně jako, auto běží, já mohl zjistit, že je to tak, 1546 01:17:30,430 --> 01:17:32,127 Nemohl jsem zjistit nějak že je vůz v pohybu? 1547 01:17:32,127 --> 01:17:32,881 >> Diváků: RPM. 1548 01:17:32,881 --> 01:17:35,190 >> DAVID Malan: Jo, takže je tu Vždy, že jehla, že 1549 01:17:35,190 --> 01:17:38,034 řekne vám, kolik otáček za minute kola zažívají. 1550 01:17:38,034 --> 01:17:39,200 A tak jsem se mohl dívat na to. 1551 01:17:39,200 --> 01:17:43,090 A pokud to není 0, která pravděpodobně znamená, že je vůz v pohybu. 1552 01:17:43,090 --> 01:17:45,400 Ale musíme být tam trochu opatrný, 1553 01:17:45,400 --> 01:17:49,780 protože-- pojďme zjednodušit tohle-- kdybychom právě řekl, pokud auto běží, 1554 01:17:49,780 --> 01:17:53,070 Nechceme jen vypouštějí méně, Chceme-li běží auto 1555 01:17:53,070 --> 01:17:54,310 a to je právě testována. 1556 01:17:54,310 --> 01:17:56,320 >> Takže existuje několik dalších přísady, které lidé 1557 01:17:56,320 --> 01:18:00,550 předpokládali software dělá, z důvodu chybějící skutečné zdrojového kódu, 1558 01:18:00,550 --> 01:18:05,130 můžete jen jakýsi vyvodit z fyzikální účinky auta co k čemu 1559 01:18:05,130 --> 01:18:08,280 by mohlo být děje pod ním digestoř v softwaru. 1560 01:18:08,280 --> 01:18:17,090 Takže pokud běží auto a možná, řekněme, zadní kola se nepohybuje, 1561 01:18:17,090 --> 01:18:19,420 Může to být pouze orientační nějakého druhu testu? 1562 01:18:19,420 --> 01:18:22,830 Co jsem narážel tady? 1563 01:18:22,830 --> 01:18:24,830 Jo, možná, že je to na jednu z těchto válečkových věcí, 1564 01:18:24,830 --> 01:18:28,340 kde stejně jako kola se otáčejí v přední nebo v zadní, 1565 01:18:28,340 --> 01:18:32,570 V závislosti na tom, zda je to přední kolo nebo pohon zadních kol, takže polovina kol 1566 01:18:32,570 --> 01:18:34,420 jsou v pohybu, ale Další dva nejsou, což 1567 01:18:34,420 --> 01:18:36,320 Je to zvláštní situace v reálném světě. 1568 01:18:36,320 --> 01:18:38,110 Pokud jedete na silniční, že by se nemělo stát. 1569 01:18:38,110 --> 01:18:40,568 Ale pokud jste ve skladu na nějakém systému kladek pásu, 1570 01:18:40,568 --> 01:18:41,630 která by mohla skutečně stát. 1571 01:18:41,630 --> 01:18:46,980 >> Myslím, že lidé také navrhl, že možná, v případě, že auto je spuštěn a řízení 1572 01:18:46,980 --> 01:18:51,300 kolečko nepohybuje, že také může být signál, 1573 01:18:51,300 --> 01:18:54,090 protože to je rozumné jako rychle jsme na silnici. 1574 01:18:54,090 --> 01:18:57,960 Ale i pak, člověk je pravděpodobně pohybující se trochu nebo rozhodně 1575 01:18:57,960 --> 01:18:59,100 v průběhu několika sekund. 1576 01:18:59,100 --> 01:19:01,030 Nebo průběhu minuta, šance jsou to není 1577 01:19:01,030 --> 01:19:03,510 bude fixována v přesně stejnou pozici. 1578 01:19:03,510 --> 01:19:05,440 >> Takže jinými slovy, může trvat odčítání, 1579 01:19:05,440 --> 01:19:08,200 jste testuje, a rozebrat tuto funkci 1580 01:19:08,200 --> 01:19:10,420 do těchto dílčích složek. 1581 01:19:10,420 --> 01:19:13,440 A to je skutečně to, co je Volkswagen inženýři nějak udělal. 1582 01:19:13,440 --> 01:19:17,070 Psali software vědomě zjistit, zda se testuje vůz, 1583 01:19:17,070 --> 01:19:20,440 Proto vypouštějí méně, jinak emitují obvyklým způsobem. 1584 01:19:20,440 --> 01:19:22,690 >> A problém i zde, je to, že software není 1585 01:19:22,690 --> 01:19:26,080 něco, co můžete opravdu vidět, ledaže máte takzvaný zdrojový kód. 1586 01:19:26,080 --> 01:19:29,060 Takže tam dva různé typy code-- alespoň dva různé typy 1587 01:19:29,060 --> 01:19:30,130 kódu na světě. 1588 01:19:30,130 --> 01:19:33,150 Je tu něco, co nazývá zdroj kód, který není nepodobné tomu, co 1589 01:19:33,150 --> 01:19:37,240 jsme psali, zdrojový kód. 1590 01:19:37,240 --> 01:19:40,099 >> To je zdrojový kód napsaný v jazyk s názvem pseudocode, 1591 01:19:40,099 --> 01:19:41,640 což je prostě něco anglicky podobně. 1592 01:19:41,640 --> 01:19:43,140 Neexistuje žádný formální definici. 1593 01:19:43,140 --> 01:19:46,770 Ale C a Java, C ++, ty jsou všechny formální jazyky, které, 1594 01:19:46,770 --> 01:19:50,610 když píšete v nich, co máte je textový soubor obsahující zdrojový kód. 1595 01:19:50,610 --> 01:19:54,850 >> Ale je tu také něco svět volal strojový kód. 1596 01:19:54,850 --> 01:20:00,579 A strojový kód, bohužel, Je jen 0 a 1 je. 1597 01:20:00,579 --> 01:20:02,870 Takže strojový kód je co Stroje pochopit, samozřejmě. 1598 01:20:02,870 --> 01:20:04,470 Zdrojový kód je to, co lidé rozumět. 1599 01:20:04,470 --> 01:20:08,390 >> A obecně, ale ne Vždy, je program 1600 01:20:08,390 --> 01:20:14,090 že programátor používá zdroj, který bere Kód a stáčí se do strojového kódu. 1601 01:20:14,090 --> 01:20:17,400 A to je program obecně nazývá překladač. 1602 01:20:17,400 --> 01:20:19,820 Takže váš vstup je zdrojový kód, Váš výstup je strojový kód, 1603 01:20:19,820 --> 01:20:22,890 a kompilátor je kus software, který dělá tento proces. 1604 01:20:22,890 --> 01:20:26,260 Takže to vlastně mapuje pěkně naše vstupy, algoritmy, výstupy. 1605 01:20:26,260 --> 01:20:30,400 >> Ale to je velmi specifická ztělesnění z toho, což znamená, že, 1606 01:20:30,400 --> 01:20:34,200 i když vlastníte jeden z Volkswagen je auta, která je vinu za tento stav, 1607 01:20:34,200 --> 01:20:38,390 není to jako stačí otevřít kapuce nebo otevřít tento návod nebo hledat 1608 01:20:38,390 --> 01:20:42,690 na zdrojový kód, protože v době, kdy dosáhne své auto v příjezdové cestě, 1609 01:20:42,690 --> 01:20:45,580 už je to převede na 0 a 1 je. 1610 01:20:45,580 --> 01:20:51,310 A je to velmi těžké, ne nemožné, ale velmi těžké sbírat nic moc 1611 01:20:51,310 --> 01:20:53,710 ze jenom při pohledu na podkladových 0 a 1 je. 1612 01:20:53,710 --> 01:20:57,150 Takže si můžete přijít na to, v konečném důsledku, pokud pochopit, jak stroj operates-- 1613 01:20:57,150 --> 01:20:59,870 Intel inside-- jestli mi rozumíte Intel architektura, 1614 01:20:59,870 --> 01:21:01,440 ale je to velmi časově náročné. 1615 01:21:01,440 --> 01:21:05,010 A i tam, možná budete nebude moci vidět vše 1616 01:21:05,010 --> 01:21:08,220 že kód může skutečně udělat. 1617 01:21:08,220 --> 01:21:12,521 >> Případné dotazy týkající se tohoto nebo tohoto druh procesu obecněji? 1618 01:21:12,521 --> 01:21:15,134 1619 01:21:15,134 --> 01:21:18,300 A skutečně, můžeme přivázat tuto diskuzi na včerejší diskuzi o Apple. 1620 01:21:18,300 --> 01:21:22,500 I to je důvod, proč FBI nemůže jen tak jít a podívat se do telefonu podezřelého 1621 01:21:22,500 --> 01:21:26,820 a najít řádky kódu, pro instance, které umožňují heslo 1622 01:21:26,820 --> 01:21:28,940 nebo umožňují této 80-milisekund zpoždění. 1623 01:21:28,940 --> 01:21:31,630 Vzhledem k tomu, v době, kdy je to Na ten chlapík iPhone, 1624 01:21:31,630 --> 01:21:34,975 už je to převedeny na 0 a 1 je. 1625 01:21:34,975 --> 01:21:38,015 1626 01:21:38,015 --> 01:21:40,820 >> Dobře, pojďme pauza zde pro naše podívejte se na výpočetní myšlení. 1627 01:21:40,820 --> 01:21:42,320 Proč bychom si pauzu 15 minut. 1628 01:21:42,320 --> 01:21:44,130 A když se vrátíme, zmíníme podívejte se na programování 1629 01:21:44,130 --> 01:21:46,550 sama o sobě a začít mapovat některé z těchto pojmů na vysoké úrovni 1630 01:21:46,550 --> 01:21:49,780 ke skutečnému, pokud hravý, programovací jazyk. 1631 01:21:49,780 --> 01:21:51,089