1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:01,790 DAVID Malan: Vitajte späť, všetci. 3 00:00:01,790 --> 00:00:05,030 Takže včera, budete pripomenúť, že sme sa zamerali na týchto témach tu. 4 00:00:05,030 --> 00:00:08,380 Takže sme mali štyri zastrešujúcej topics-- súkromie, bezpečnosť a spoločnosť; 5 00:00:08,380 --> 00:00:11,960 Internetové technológie; cloud computing; a nakoniec, vývoj webových aplikácií. 6 00:00:11,960 --> 00:00:14,170 >> Povedal niekto mať šírka pásma alebo doba 7 00:00:14,170 --> 00:00:16,900 sa pozerať trochu Johna Oliver minulú noc? 8 00:00:16,900 --> 00:00:20,120 Je to vlastne celkom zábavné, ak nie trochu desivé. 9 00:00:20,120 --> 00:00:24,700 Akékoľvek otázky na čokoľvek sme robili včera? 10 00:00:24,700 --> 00:00:27,600 Nejaké vysvetlenie? 11 00:00:27,600 --> 00:00:35,580 Akékoľvek otázky, ktoré chcete, aby sa istí, že sa dotýkame dnes v nejakej forme? 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, čo je na programe dnes? 14 00:00:38,760 --> 00:00:41,301 Tak som si myslel by sme dnes začína s pohľadom na to, čo je všeobecne 15 00:00:41,301 --> 00:00:44,460 známy ako výpočtovej thinking-- na Riziko zjednodušujú, myslenie 16 00:00:44,460 --> 00:00:46,636 ako počítač, možno premýšľať ako inžinier, 17 00:00:46,636 --> 00:00:48,510 a snaží sa začať organizovať svoje myšlienky 18 00:00:48,510 --> 00:00:52,039 alebo aby vám lepší pocit čo sa podieľa na skutočnosti veliaci 19 00:00:52,039 --> 00:00:54,080 počítačový niečo urobiť prostredníctvom programovania. 20 00:00:54,080 --> 00:00:56,663 A my ho budeme držať pri docela na vysokej úrovni, do značnej miery anglicky, 21 00:00:56,663 --> 00:00:59,850 ale skúste použiť povedome príklady, ako formalizovať 22 00:00:59,850 --> 00:01:01,450 by si ísť o riešení problémov. 23 00:01:01,450 --> 00:01:04,080 >> A budeme znova nejaký SK témami, ako je abstrakcia, 24 00:01:04,080 --> 00:01:06,040 ktorý prišiel pár časov včera, 25 00:01:06,040 --> 00:01:07,554 algoritmy a potom reprezentácie. 26 00:01:07,554 --> 00:01:09,720 A to je miesto, kde začneme dnes za chvíľu. 27 00:01:09,720 --> 00:01:11,481 Potom sme sa pozrieme na programovanie. 28 00:01:11,481 --> 00:01:13,480 My sa pozrieme na niektoré základné pojmy 29 00:01:13,480 --> 00:01:16,450 s ktorou by mohla byť oboznámení a možno dokonca nájsť pomerne intuitívne. 30 00:01:16,450 --> 00:01:18,370 >> Pozrieme sa, v skutočnosti, pri programovaní vzorky 31 00:01:18,370 --> 00:01:21,244 Prostredie, ktoré je veľmi dobre prístupný, veľmi hravý, a naozaj cielené 32 00:01:21,244 --> 00:01:22,555 pre deti od 12 a hore. 33 00:01:22,555 --> 00:01:25,930 Budeme stráviť pár minút tam a potom vziať veci do nižšej úrovne 34 00:01:25,930 --> 00:01:30,360 a vlastne hovoriť o niektorých algoritmy a dátové štruktúry, 35 00:01:30,360 --> 00:01:32,360 tak povediac, že programátori zvyčajne používajú 36 00:01:32,360 --> 00:01:35,040 riešiť problémy ďaleko viac efektívnejšie, než si možno 37 00:01:35,040 --> 00:01:37,322 byť schopní robiť bez nich úplne. 38 00:01:37,322 --> 00:01:40,280 Potom po obede, budeme sa pozrieť v technologických komíny, čo je práve 39 00:01:40,280 --> 00:01:42,240 ozdobný spôsob, ako hovoriť kolekcia technológií 40 00:01:42,240 --> 00:01:43,690 že by ste mohli použiť na vyriešiť nejaký problém. 41 00:01:43,690 --> 00:01:46,670 A budeme hovoriť o abecede polievka z jazykov, ktoré existujú today-- 42 00:01:46,670 --> 00:01:50,930 Java a Python a C ++ a PHP a Ruby a všetky druhy ďalších vecí. 43 00:01:50,930 --> 00:01:53,740 >> Budeme sa krátko vzhľad v návrhových vzorov. 44 00:01:53,740 --> 00:01:57,730 Programátori, v priebehu času, prijali metodík 45 00:01:57,730 --> 00:02:00,690 ktoré majú tendenciu, aby im pomohla riešiť problémy ľahšie. 46 00:02:00,690 --> 00:02:04,390 Keď začnete vidieť sám seba písanie rovnaký druh kódu znova a znova, 47 00:02:04,390 --> 00:02:08,080 ľudia formálne tie opakovania Názvy a pripisujú im 48 00:02:08,080 --> 00:02:10,084 a potom ich používať a podporovať ich v konečnom dôsledku. 49 00:02:10,084 --> 00:02:12,250 A budeme hovoriť trochu o mobilných stratégiách, 50 00:02:12,250 --> 00:02:16,099 ako to, čo to znamená v skutočnosti aby mobilnú aplikáciu alebo mobilné webové stránky. 51 00:02:16,099 --> 00:02:17,140 Robíte to pre Android? 52 00:02:17,140 --> 00:02:17,730 Robíte to pre iOS? 53 00:02:17,730 --> 00:02:19,160 Robíte to pre oboch z nich? 54 00:02:19,160 --> 00:02:20,326 A aké sú kompromisy? 55 00:02:20,326 --> 00:02:23,180 A potom konečne, vezmeme webové programovanie vzhľad, ktorý 56 00:02:23,180 --> 00:02:25,380 je súhrnný termín Naozaj popisujúci kedykoľvek 57 00:02:25,380 --> 00:02:28,410 budete písať softvér, ktorý je chcel bežať na webe, 58 00:02:28,410 --> 00:02:30,430 či už na telefónoch alebo stolové počítače alebo notebooky. 59 00:02:30,430 --> 00:02:33,490 Vezmeme krátky pohľad na databáz a dizajn 60 00:02:33,490 --> 00:02:39,049 v ňom, aj keby len preto, že takmer akýkoľvek Zaujímavý webová aplikácia 61 00:02:39,049 --> 00:02:40,590 v týchto dňoch má nejaký druh databázy. 62 00:02:40,590 --> 00:02:42,380 V opačnom prípade by to proste byť statický obsah. 63 00:02:42,380 --> 00:02:45,254 A databázy umožňuje vykonávať zmeny v priebehu času, či už sami 64 00:02:45,254 --> 00:02:45,960 alebo od užívateľov. 65 00:02:45,960 --> 00:02:47,820 A budeme uvažovať, ako ste by ísť o navrhovaní 66 00:02:47,820 --> 00:02:50,510 že databázy a druh žargónu ktoré by mohli prísť v inžinier je 67 00:02:50,510 --> 00:02:52,790 diskusia na bielu tabuľu keď v skutočnosti sa vykonáva 68 00:02:52,790 --> 00:02:53,900 app prvýkrát. 69 00:02:53,900 --> 00:02:57,002 >> Budeme sa krátko hovoriť o API, užitočné služby 70 00:02:57,002 --> 00:02:59,960 ktoré môžete použiť na postaviť na ramená druhých, či už spoločnosti 71 00:02:59,960 --> 00:03:02,619 alebo jednotlivci, a vyriešiť váš vlastné problémy rýchlejšie. 72 00:03:02,619 --> 00:03:04,785 A potom budeme fušovať možná trochu s JavaScriptom, 73 00:03:04,785 --> 00:03:08,900 programovací jazyk, ktorý sa používa Obaja v prehliadačov v týchto dňoch, ale aj 74 00:03:08,900 --> 00:03:09,820 v serveroch. 75 00:03:09,820 --> 00:03:11,890 A možno, zmienime znova, čas dovolí, 76 00:03:11,890 --> 00:03:15,670 niektoré hands-on web, čo sme včera a integrovať dva 77 00:03:15,670 --> 00:03:17,630 dohromady, než sme odložiť. 78 00:03:17,630 --> 00:03:22,380 >> Takže s že-- čo je ahead-- je tam niečo chýba, že vás 79 00:03:22,380 --> 00:03:26,289 by rád, aby sa ubezpečil vložíme a dotknúť sa v určitom okamihu. 80 00:03:26,289 --> 00:03:28,330 Ak je to napadne, vychovať to netrvalo dlho. 81 00:03:28,330 --> 00:03:32,010 Ale prečo nie začneme s pozrite sa na výpočtovú myslenie. 82 00:03:32,010 --> 00:03:35,420 >> A dovoľte mi navrhnúť, aby výpočtovej myslenie je, opäť, 83 00:03:35,420 --> 00:03:38,830 druh popisu vysokej úrovni čo je to počítačový odborník mohol urobiť. 84 00:03:38,830 --> 00:03:42,470 A skutočne, začnime s tromi zložkami, ktoré 85 00:03:42,470 --> 00:03:44,207 Môžu ísť až do výpočtovej myslenia. 86 00:03:44,207 --> 00:03:45,790 To je len jeden spôsob, ako popisovať to. 87 00:03:45,790 --> 00:03:48,490 Mohli by sme iste definovať to v mnohých rôznymi spôsobmi. 88 00:03:48,490 --> 00:03:50,630 >> Ale dovoľte mi navrhnúť, V záujme dnes, 89 00:03:50,630 --> 00:03:53,910 že problémy sveta, všetky problémy sveta, 90 00:03:53,910 --> 00:03:56,730 pri oslovený počítačový odborník mohol 91 00:03:56,730 --> 00:04:00,990 byť považovaná za čo budeme volanie vstupy, ktoré 92 00:04:00,990 --> 00:04:08,142 je potrebné, aby sa privádza do toho, čo budeme nazývať algoritmy, ktoré potom výťažnosťou výstupy. 93 00:04:08,142 --> 00:04:10,600 Inými slovami, celá Svet riešenie problémov Tvrdím 94 00:04:10,600 --> 00:04:13,140 môže byť použitá destilovaná do Tieto tri zložky. 95 00:04:13,140 --> 00:04:14,450 Tak čo mám na mysli vstupy? 96 00:04:14,450 --> 00:04:17,060 Vstupy je práve to, čo ste podal na vyriešenie. 97 00:04:17,060 --> 00:04:20,052 >> Napríklad, tu je škola problém starý. 98 00:04:20,052 --> 00:04:22,760 Ak mám telefónny zoznam tu a Chcem vyzerať 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 alebo tak nejako Stránka v telefónnom zozname. 101 00:04:26,260 --> 00:04:27,780 Toto je vstup do môjho problému. 102 00:04:27,780 --> 00:04:31,507 A ja chcem nájsť niečo Ako Mike Smith, takže priateľa 103 00:04:31,507 --> 00:04:33,840 ktorej meno a číslo dúfajme, že v tomto adresári. 104 00:04:33,840 --> 00:04:36,430 >> To je pred dňami bunky telefóny, takže nemôžem len hľadať to. 105 00:04:36,430 --> 00:04:38,540 Takže musím urobiť to starý školu a vlastne hľadanie 106 00:04:38,540 --> 00:04:41,331 Tieto vstupy pre nejakú odpoveď. 107 00:04:41,331 --> 00:04:43,580 A to sa práve chystá odpoveď byť nazývaný výstup. 108 00:04:43,580 --> 00:04:44,871 Takže vstup je telefónny zoznam. 109 00:04:44,871 --> 00:04:47,787 Algoritmus je taká, akú sadu kroky, ktoré som použiť na nájdenie Mike Smith. 110 00:04:47,787 --> 00:04:50,120 A výstup je, dúfajme, Telefónne číslo Mika Smitha. 111 00:04:50,120 --> 00:04:52,703 A to by potom bola len Zástupca väčšiny akéhokoľvek problému 112 00:04:52,703 --> 00:04:55,210 aby si so sebou rukou vstupmi a chcú vyrábať výstupy. 113 00:04:55,210 --> 00:04:59,459 >> Takže než budeme uvažovať o proces podľa ktorého môžeme tento problém vyriešiť, 114 00:04:59,459 --> 00:05:01,250 nálezu Mike Smith a niečo také, 115 00:05:01,250 --> 00:05:04,090 uvažujme prvý a že last-- vstupy a výstupy. 116 00:05:04,090 --> 00:05:08,060 Fyzicky, samozrejme, vstupné tu Je celý rad papiera zlepené 117 00:05:08,060 --> 00:05:09,400 vo forme telefónneho zoznamu. 118 00:05:09,400 --> 00:05:13,660 Ale počítača, z course-- notebookov a stolné počítače a dokonca aj telefóny 119 00:05:13,660 --> 00:05:16,430 Tieto days-- to sú elektronické zariadenia. 120 00:05:16,430 --> 00:05:20,920 >> A na konci dňa, čo je jediný vstup do počítača? 121 00:05:20,920 --> 00:05:23,299 No, je to niečo ako Tento napájací kábel tu. 122 00:05:23,299 --> 00:05:25,590 Aj zapojiť ho do steny, a Získam tok elektrónov, 123 00:05:25,590 --> 00:05:27,048 ktorý mi umožňuje spustenie stroja. 124 00:05:27,048 --> 00:05:30,420 Alebo možno tie elektróny vytvorené prostredníctvom svoje batérie. 125 00:05:30,420 --> 00:05:33,790 Ale na konci dňa, to je jediná vec, ísť do môjho notebooku. 126 00:05:33,790 --> 00:05:35,772 A ešte oveľa zaujímavejšie látka je v konečnom dôsledku 127 00:05:35,772 --> 00:05:37,480 coming out, či už prostredníctvom tlačiarne 128 00:05:37,480 --> 00:05:40,320 alebo na obrazovke alebo audially alebo podobne. 129 00:05:40,320 --> 00:05:45,320 >> Takže ak všetci máme ako naše Základný vstup do počítača 130 00:05:45,320 --> 00:05:49,160 je elektrina, tak len elektróny dovnútra a von, alebo, 131 00:05:49,160 --> 00:05:54,465 a tak ako môžeme použiť tento vstup skutočne reprezentovať informácie? 132 00:05:54,465 --> 00:05:57,090 Inými slovami, ako sa dostaneme z jednoduchého prúdu elektriny 133 00:05:57,090 --> 00:06:00,350 zastupovanie skutočné čísel alebo skutočné písmená 134 00:06:00,350 --> 00:06:03,620 alebo skutočné fotografie na obrazovke alebo skutočných filmy alebo e-maily 135 00:06:03,620 --> 00:06:05,690 alebo ľubovoľný počet z nich vyššej úrovne, koncepty 136 00:06:05,690 --> 00:06:07,680 ak chcete, že u koniec dňa nejako 137 00:06:07,680 --> 00:06:11,950 musia byť uložené v tejto elektronické mechanické zariadenia 138 00:06:11,950 --> 00:06:16,260 s použitím iba tie jednoduché ingredients-- elektróny dovnútra a von? 139 00:06:16,260 --> 00:06:19,530 >> Takže sa zdá, že, V najjednoduchšej forme, 140 00:06:19,530 --> 00:06:23,260 jediný druh stavov Mám v mojom svete, a preto 141 00:06:23,260 --> 00:06:25,350 na speak-- podmienky v mojom world-- je buď 142 00:06:25,350 --> 00:06:33,020 Mám elektróny prúdia elektrina tečúcou, alebo ja ne-- tak ďalej, preč. 143 00:06:33,020 --> 00:06:35,850 A poďme formalizovať zapínať a vypínať, ako počítačový odborník môže, 144 00:06:35,850 --> 00:06:37,255 len s 1 a 0. 145 00:06:37,255 --> 00:06:39,880 Povedzme popísať niektoré svojvoľný ale konzistentné číslo k nemu. 146 00:06:39,880 --> 00:06:41,970 1 znamená, že na, 0 znamená vypnuté. 147 00:06:41,970 --> 00:06:45,427 Alebo môžete tiež prezerať si toto ako pravými prostriedky na a falošné prostriedkami. 148 00:06:45,427 --> 00:06:47,510 Dalo by sa tiež urobiť čierny a biele alebo červené a modré. 149 00:06:47,510 --> 00:06:48,759 Potrebujete k tomu len dva popisovače. 150 00:06:48,759 --> 00:06:52,240 A počítač vedci Všeobecne stačí použiť 0 a 1. 151 00:06:52,240 --> 00:06:58,980 >> Takže ak je to ten prípad, môj jediný abeceda sa skladá z 0 a 1 je, ako 152 00:06:58,980 --> 00:07:03,360 by som mohol dostať do párneho počtu 2 v počítači, nieto číslo 3 153 00:07:03,360 --> 00:07:06,140 alebo písmeno abecedy alebo obraz alebo film? 154 00:07:06,140 --> 00:07:08,910 Ako môžeme nejako bootstrap Sami od tohto základného princípu 155 00:07:08,910 --> 00:07:12,080 z 0 a 1 je a v skutočnosti predstavujú niečo zaujímavé? 156 00:07:12,080 --> 00:07:14,430 >> Dobre, poďme dať na túto otázku podrží na chvíľku 157 00:07:14,430 --> 00:07:17,520 a zvážiť niečo snáď známe, 158 00:07:17,520 --> 00:07:21,150 aj keď ste nepremýšľala o že v každom detaile pre 10, 20, 30, 40, 50 159 00:07:21,150 --> 00:07:22,520 viac rokov. 160 00:07:22,520 --> 00:07:24,780 To je čo? 161 00:07:24,780 --> 00:07:28,050 Ako by ste vysloviť, že? 162 00:07:28,050 --> 00:07:30,770 Nie je to chyták. 163 00:07:30,770 --> 00:07:32,950 Číslo, ale čo je to? 164 00:07:32,950 --> 00:07:34,842 1, 2, 3 alebo 123. 165 00:07:34,842 --> 00:07:37,800 A ja sa páčilo, ako ste povedal: 1, 2, 3, pretože to je jeden spôsob, ako ho vidíte. 166 00:07:37,800 --> 00:07:39,870 1, 2, 3, to je sekvencia z troch symbolov. 167 00:07:39,870 --> 00:07:42,005 Je to obrázky, ktoré sme Teraz majú slová pre. 168 00:07:42,005 --> 00:07:44,880 A ak ste tak nejako si ich všetky spolu, typické ľudské anglicky 169 00:07:44,880 --> 00:07:46,600 by sa povedať 123. 170 00:07:46,600 --> 00:07:48,350 A to je niečo ako Vyššia úroveň koncept, 171 00:07:48,350 --> 00:07:50,340 cíti ako pomerne veľkým počtom. 172 00:07:50,340 --> 00:07:51,490 >> Ale ako sa tam dostaneme? 173 00:07:51,490 --> 00:07:54,640 No, môže to byť nejaká doba, kedy ste si myslel o tom takto, 174 00:07:54,640 --> 00:07:56,680 ale späť v mojom deň, ja druh naučil toto 175 00:07:56,680 --> 00:08:01,030 ako stĺpci 1 je, že 10 je stĺp a stĺp 100 je. 176 00:08:01,030 --> 00:08:06,400 Tak, ako hovorí Lakis, že je 1, 2, 3, ale je to tiež 123. 177 00:08:06,400 --> 00:08:08,700 Ale ako sa dostaneme z bývalý druhej? 178 00:08:08,700 --> 00:08:12,340 >> No, mali by ste spravidla robiť v Stĺpec 100 je, že mám 1. 179 00:08:12,340 --> 00:08:14,794 Takže to je ako hovoriť 100krát 1. 180 00:08:14,794 --> 00:08:16,210 A potom v stĺpci 10 je, mám 2. 181 00:08:16,210 --> 00:08:18,464 Takže to je ako hovoriť 10x 2. 182 00:08:18,464 --> 00:08:19,630 V stĺpci 1 je, mám 3. 183 00:08:19,630 --> 00:08:21,720 Takže to je ako hovoriť 1 krát 3. 184 00:08:21,720 --> 00:08:24,290 >> A ak pridám tieto veci spoločne, to samozrejme, 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, prečo som si to Vyššia úroveň Pojem 123. 187 00:08:31,750 --> 00:08:37,220 Je to len základné matematika, pričom títo symboly majú závažia na ne, ak vás 188 00:08:37,220 --> 00:08:39,620 bude zástupného alebo stĺpec hodnoty. 189 00:08:39,620 --> 00:08:42,090 A raz som znásobiť všetko out, mám toto číslo. 190 00:08:42,090 --> 00:08:47,840 >> Tak, ako mnohí z vás vedia, ako hovoriť binary-- 0 je a 1's-- ako počítač? 191 00:08:47,840 --> 00:08:50,410 OK, perfektné, nikto, alebo nikto z vás si myslí, vy. 192 00:08:50,410 --> 00:08:52,550 Ale ja by som vám tvrdiť, v skutočnosti to vedia už. 193 00:08:52,550 --> 00:08:55,330 Len musíme nejako vyladiť naše mentálne model, trochu. 194 00:08:55,330 --> 00:08:57,250 Ale proces je rovnaký. 195 00:08:57,250 --> 00:09:01,460 >> Dovoľte mi, aby som toto odísť tam hore a Namiesto toho ťahať toto dole na chvíľu. 196 00:09:01,460 --> 00:09:05,060 Vo svete počítačov, máme len 0 a 1 je. 197 00:09:05,060 --> 00:09:07,240 A tak to, čo je zmení sa čo? 198 00:09:07,240 --> 00:09:10,920 No, v mojom ľudskom svete, desiatková sústava, december význam 10, 199 00:09:10,920 --> 00:09:12,740 Mám koľko číslic mám k dispozícii? 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, samozrejme. 203 00:09:17,880 --> 00:09:21,210 >> A to je dôvod, prečo máme 10 má miesto a 100 jeho miesto. 204 00:09:21,210 --> 00:09:22,380 Je-li, že prichádza? 205 00:09:22,380 --> 00:09:24,430 No, to je 10 k sile 0. 206 00:09:24,430 --> 00:09:28,440 To je o 10 na výkon 1, 10 o sile 2, a tak ďalej. 207 00:09:28,440 --> 00:09:32,110 Proste držať násobí stĺpca o 10, rozbiehanie len s 1 208 00:09:32,110 --> 00:09:33,700 v pravom ho tu. 209 00:09:33,700 --> 00:09:35,490 >> Takže vo svete počítačov, iba v prípade, 210 00:09:35,490 --> 00:09:39,600 majú binary-- bi význam 2-- alebo 0 a 1 je, my len 211 00:09:39,600 --> 00:09:42,420 Naozaj je potrebné zmeniť základ tohto matematiky. 212 00:09:42,420 --> 00:09:46,410 Takže inými slovami, teraz jednoducho budeme majú stĺpci 1 a the-- 213 00:09:46,410 --> 00:09:51,270 ak je to going-- stĺpci 2 je, The 4 stĺp, a možno aj mimo nej. 214 00:09:51,270 --> 00:09:52,250 Prečo to tak je? 215 00:09:52,250 --> 00:09:55,650 No, to je 2 do 0-teho 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 ďalej. 218 00:09:59,610 --> 00:10:04,910 >> Takže zatiaľ čo tu máme 1, 10 je, 100 zo 1000, je, 10.000 je, 100.000 je, 1 219 00:10:04,910 --> 00:10:10,560 milióny, a tak ďalej, tu máme 1, 2, 4, 8, 16, 32, 64. 220 00:10:10,560 --> 00:10:13,950 Proste držať vynásobením 2, namiesto toho držať vynásobením 10. 221 00:10:13,950 --> 00:10:16,780 Takže teraz, keď cieľ na ruka je zastupovať 222 00:10:16,780 --> 00:10:20,240 Čísla používajúce iba 0 a 1 je, uvažujme, ako sa tam dostať. 223 00:10:20,240 --> 00:10:26,540 >> To je samozrejme, je vzor 0 0 0, ale aké číslo koncepčne 224 00:10:26,540 --> 00:10:27,490 to predstavuje? 225 00:10:27,490 --> 00:10:35,430 No, 4x 0 plus 2 krát 0 Plus 1 krát 0, dodajme tie dohromady. 226 00:10:35,430 --> 00:10:40,030 4 krát 0 je, samozrejme, 0, a 2 krát 0 je, samozrejme, 0 a 1 krát 0 227 00:10:40,030 --> 00:10:40,850 je, samozrejme, 0. 228 00:10:40,850 --> 00:10:44,910 Takže ach, to predstavuje Číslo my ľudia poznajú ako 0 ° C. 229 00:10:44,910 --> 00:10:47,810 >> No, poďme veľmi Rýchlo rýchlo vpred. 230 00:10:47,810 --> 00:10:53,600 Ak som miesto nezastupuje 0 0 0, ale poďme urobiť 1 0 1, 231 00:10:53,600 --> 00:10:57,010 to by mohlo byť, ako Lakis, skôr, by len vysloviť to 1 0 1. 232 00:10:57,010 --> 00:11:01,020 Ale teraz, ako sme si ju na vyššiu vyrovnať počet my ľudia mohli poznať? 233 00:11:01,020 --> 00:11:04,220 Takže to, čo je toto číslo? 234 00:11:04,220 --> 00:11:06,060 Je to 5, počet poznáme ako 5. 235 00:11:06,060 --> 00:11:06,870 >> No, prečo tomu tak je? 236 00:11:06,870 --> 00:11:09,620 No, môžeme naozaj akýsi prejsť cez 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 Pridať tie dohromady, takže To je 4 a 0 a 1. 239 00:11:19,880 --> 00:11:21,577 A to je skutočne 5. 240 00:11:21,577 --> 00:11:24,660 Tak už to začína byť teraz trochu zdĺhavý robiť aritmetiku znova a znova. 241 00:11:24,660 --> 00:11:26,300 Ale proces je rovnaký. 242 00:11:26,300 --> 00:11:28,380 >> Jediná vec, ktorá má zmenilo v našom svete 243 00:11:28,380 --> 00:11:32,740 je, že naša stĺpce 1, 2, 4, 8, 16, a tak ďalej, namiesto 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 len preto, že naša abeceda má zmenšil od 0 do 9. len 0-1. 246 00:11:40,000 --> 00:11:50,851 >> Tak ako malý kvíz tu, by ako Ste predstaviteľom číslo 7 v binárnej? 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 Povedz to ešte raz, Karina. 251 00:11:59,693 --> 00:12:03,010 252 00:12:03,010 --> 00:12:03,550 Dokonalá. 253 00:12:03,550 --> 00:12:04,370 Prečo to tak je? 254 00:12:04,370 --> 00:12:08,530 Je to skutočne 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 >> Ako môžeme reprezentovať trochu another-- ako 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 pospiatky. 259 00:12:20,690 --> 00:12:21,660 Takže čo je to? 260 00:12:21,660 --> 00:12:26,290 4 plus 1, takže to je 5 znova. 261 00:12:26,290 --> 00:12:28,310 >> Takže what's-- Je mi ľú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 bolo, pretože znova, a to aj ak to nejako nie je vyskočiť na vás, 264 00:12:34,762 --> 00:12:35,470 Len si to spočítajte. 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, poznáme ako 2. 267 00:12:42,830 --> 00:12:44,030 >> Ako o počte 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 Dobre. 271 00:12:53,330 --> 00:12:56,130 Takže sme trochu potrebovať ďalšie vyhradené miesto. 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í aj pre nášho druhu zo starej školy desiatkovej sústave. 274 00:13:02,280 --> 00:13:05,280 Ako si predstavujú počet 1000? 275 00:13:05,280 --> 00:13:08,480 >> No, mali by ste sa zdajú byť druh v ťažkej mieste, 276 00:13:08,480 --> 00:13:10,390 ak vás požiadať, aby ste reprezentovať číslo 1000, 277 00:13:10,390 --> 00:13:14,960 pretože aj keď dávaš ako 9 z nich, 9 z nich, 0 z nich, 278 00:13:14,960 --> 00:13:18,730 čo je najväčší číslo máte, ste celkom nedostane až 1000. 279 00:13:18,730 --> 00:13:26,920 Takže ak vás 1,000, stačí ďalší pozície, takže si môžete urobiť 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 teraz, poďme Pre tento druh koncepčné diskusie späť do hardvéru, 282 00:13:34,200 --> 00:13:37,470 kde opäť, vstupné bol len tento malý napájací kábel, elektrina 283 00:13:37,470 --> 00:13:39,300 dovnútra a tečie von. 284 00:13:39,300 --> 00:13:44,740 A tak, že budú zmapované odtiaľ tam, no, čo naozaj potrebujeme? 285 00:13:44,740 --> 00:13:49,460 No, môžete myslieť, že sú vo vnútri počítač, celá banda žiaroviek, 286 00:13:49,460 --> 00:13:50,450 ak chcete. 287 00:13:50,450 --> 00:13:52,040 Sú naozaj volal tranzistorov. 288 00:13:52,040 --> 00:13:55,121 A tranzistory sú len spínače ktorá môže byť buď zapnutý alebo vypnutý. 289 00:13:55,121 --> 00:13:56,870 Takže si môžete myslieť na tranzistor, ktorý je na 290 00:13:56,870 --> 00:14:00,730 je umožniť elektrina prúdiť a tranzistor, ktorý je preč ako zastavovanie 291 00:14:00,730 --> 00:14:02,170 elektrickej energie z tečúcej. 292 00:14:02,170 --> 00:14:04,130 A skôr ako brať nad svetlami tady, 293 00:14:04,130 --> 00:14:06,450 prečo nie ja robiť tento druh z nového školského štýlu. 294 00:14:06,450 --> 00:14:11,360 Takže to môže byť jedno, baterku bytia na len ťažko hoci. 295 00:14:11,360 --> 00:14:14,050 A to môže byť 0, a teraz je to preč. 296 00:14:14,050 --> 00:14:18,277 >> Takže použitie tohto fyzického zariadenia I Teraz môže predstavovať binárny systém. 297 00:14:18,277 --> 00:14:19,235 Potrebujem len dva stavy. 298 00:14:19,235 --> 00:14:21,660 Nezáleží na tom, aké zafarbiť to je, alebo čo to je. 299 00:14:21,660 --> 00:14:25,920 Záleží len na tom, že mám jeden stáť na iný štát a vypnúť. 300 00:14:25,920 --> 00:14:30,605 Takže používať svoj telefón tu, ako to mám predstavuje počet poznáme ako 0? 301 00:14:30,605 --> 00:14:34,490 302 00:14:34,490 --> 00:14:38,550 Alebo dať ekvivalentne, čo Číslo som teraz zastupuje? 303 00:14:38,550 --> 00:14:39,810 0, pretože zariadenie je vypnuté. 304 00:14:39,810 --> 00:14:41,560 >> A keby som to urobil? 305 00:14:41,560 --> 00:14:43,583 A teraz, ako to mám predstavujú číslo 2? 306 00:14:43,583 --> 00:14:46,380 307 00:14:46,380 --> 00:14:50,930 Môžem si požičať váš telefón Tu, ako sme včera? 308 00:14:50,930 --> 00:14:58,490 Tak sa pozrime, takže keď chcem reprezentovať číslo 2, je toto číslo 2? 309 00:14:58,490 --> 00:14:59,050 Nie. 310 00:14:59,050 --> 00:15:02,250 Aké číslo som ja náhodou predstavujúce tu? 311 00:15:02,250 --> 00:15:03,550 Jedná sa vlastne o číslo 3. 312 00:15:03,550 --> 00:15:05,008 >> Takže, ktorý z nich nechcem vypnúť? 313 00:15:05,008 --> 00:15:09,634 Čierny telefón nebo-- dobre, ak they're-- čierny telefón alebo biely telefón? 314 00:15:09,634 --> 00:15:10,300 Biely telefón. 315 00:15:10,300 --> 00:15:17,020 Takže keď som túto funkciu vypnúť a my porovnajte ju tu, máme 1 316 00:15:17,020 --> 00:15:19,487 na miesta 2 a a 0 na mieste 1. je. 317 00:15:19,487 --> 00:15:21,195 A tak som teraz predstavujúce číslo 2. 318 00:15:21,195 --> 00:15:24,680 A to, samozrejme, by bol počet 3, pretože sa obe z týchto svetiel 319 00:15:24,680 --> 00:15:25,350 sú zapnuté. 320 00:15:25,350 --> 00:15:27,480 >> A budem tu zastaviť, ale to dá rozum 321 00:15:27,480 --> 00:15:31,100 keď chcem reprezentovať číslo 4 alebo 8 alebo vyšší, 322 00:15:31,100 --> 00:15:32,529 Budem potrebovať viac telefónov. 323 00:15:32,529 --> 00:15:33,820 Ale to je všetko, čo sa deje. 324 00:15:33,820 --> 00:15:37,800 Takže ak ste niekedy počuli, že Vnútro je-- poďakovať vás-- počítača 325 00:15:37,800 --> 00:15:42,269 Je milióny tranzistorov, to je Len milióny drobných malých prepínačov. 326 00:15:42,269 --> 00:15:44,310 A nie sú to ľahké žiarovky, ktoré sa zapínajú zapnutie a vypnutie, 327 00:15:44,310 --> 00:15:48,340 ale nemajú buď povoliť elektrinu tiecť niekam alebo zastaviť. 328 00:15:48,340 --> 00:15:52,140 A tak je tu vašu dva states-- zapnúť alebo vypnúť, zapnúť alebo vypnúť. 329 00:15:52,140 --> 00:15:55,730 >> Takže by sme sa zdajú teraz majú túto schopnosť 330 00:15:55,730 --> 00:16:00,590 reprezentovať tento koncept, ktorý Radi by sme v skutočnom hardvéru. 331 00:16:00,590 --> 00:16:05,520 Ale všetko, čo máme teraz, je schopnosť predstavovať čísla by sa mohlo zdať. 332 00:16:05,520 --> 00:16:08,580 Tak ako sme ísť o reprezentovať písmen abecedy, ktoré 333 00:16:08,580 --> 00:16:12,310 cíti sa ako ďalší druh funkciu, ktorú by chcel pridať do moderného počítača 334 00:16:12,310 --> 00:16:14,280 Akonáhle budete mať čísla? 335 00:16:14,280 --> 00:16:16,930 >> A skutočne, ak sa nad tým zamyslíte IT, historicky, počítače 336 00:16:16,930 --> 00:16:19,426 Boli zavedené skutočne slúžiť sú kalkulačky numericky. 337 00:16:19,426 --> 00:16:21,300 Ale samozrejme, títo dni, oni robia oveľa viac. 338 00:16:21,300 --> 00:16:23,799 Dokonca aj keď nabehnúť, vy typicky vidieť jedno alebo viac slov. 339 00:16:23,799 --> 00:16:27,420 Tak ako sa vám predstavujú slová, ak všetko, čo máme, je, opäť, 340 00:16:27,420 --> 00:16:31,054 elektrina na konci deň, alebo ekvivalentne 0 a 1 je? 341 00:16:31,054 --> 00:16:34,430 342 00:16:34,430 --> 00:16:35,690 >> Jo. 343 00:16:35,690 --> 00:16:38,320 Jo, myslím, sme trochu robili to včera v nejakej forme, 344 00:16:38,320 --> 00:16:40,200 kde na nejakom mieste, Myslím, že svojvoľne 345 00:16:40,200 --> 00:16:46,741 uviedol, že ak chceme reprezentovať písmeno A, môžeme len hovoriť, že 1. 346 00:16:46,741 --> 00:16:49,990 To bolo v kontexte kryptografia, kde sme len potrebovali nejaký kód, 347 00:16:49,990 --> 00:16:51,160 nejaký druh mapovanie. 348 00:16:51,160 --> 00:16:56,680 >> Takže možno bude zastúpená ako 1 a B budú zastúpené ako 2, 349 00:16:56,680 --> 00:17:01,560 a Z budú zastúpení ako 26, napríklad. 350 00:17:01,560 --> 00:17:07,430 A potom len Nevýhodou je, že keď som bude kódovať písmená v mojej e-maily 351 00:17:07,430 --> 00:17:10,430 alebo v mojich textových správ ako čísla, vy všetci 352 00:17:10,430 --> 00:17:12,640 musieť dohodnúť použiť Rovnaký súbor konvencií. 353 00:17:12,640 --> 00:17:14,619 A skutočne, svet urobil presne to. 354 00:17:14,619 --> 00:17:18,040 >> Tam je systém na svete volal ASCII, American Standard 355 00:17:18,040 --> 00:17:21,640 Kód pre výmenu informácií, čo je jednoducho rozhodnutie o niekoľko rokov 356 00:17:21,640 --> 00:17:25,720 Pred že ľudia stanovené, že rozhodol, že sa bude rovnať, nie 357 00:17:25,720 --> 00:17:32,260 1, 2 a 26, a preto je to forth-- málo different-- ale 65, 66, 67. 358 00:17:32,260 --> 00:17:34,010 A budem vytiahnuť graf za chvíľu. 359 00:17:34,010 --> 00:17:34,580 Ale je to naozaj svojvoľný. 360 00:17:34,580 --> 00:17:36,329 Ale to nevadí že je ľubovoľná. 361 00:17:36,329 --> 00:17:38,620 Svet má len byť konzistentné. 362 00:17:38,620 --> 00:17:40,540 >> Teraz, v poslednej dobe, je tu niečo milovník 363 00:17:40,540 --> 00:17:45,430 volal Unicode, pretože svetové druhu realizovaných po vynaliezania počítačov, 364 00:17:45,430 --> 00:17:50,977 že je tu viac než dobre 256 symbolov na svete 365 00:17:50,977 --> 00:17:53,560 že by sme mohli chcieť reprezentovať, zvlášť keď si predstaviť 366 00:17:53,560 --> 00:17:58,420 Ázijské jazyky a iné symbológie ktorí potrebujú väčšiu výraznosť než vy 367 00:17:58,420 --> 00:18:02,150 vojde v najskoršie verzii Tento kód, ktorý bol nazývaný ASCII. 368 00:18:02,150 --> 00:18:05,250 Takže Unicode skutočne umožňuje môžete použiť viac 0 je a 2. 369 00:18:05,250 --> 00:18:08,830 Predovšetkým budete mať vypočutí Slovo bytov v spoločnosti a dokonca len 370 00:18:08,830 --> 00:18:09,400 včera. 371 00:18:09,400 --> 00:18:12,040 A byte je opäť to, čo? 372 00:18:12,040 --> 00:18:14,840 >> Čo je to byte? 373 00:18:14,840 --> 00:18:15,700 Je to len 8 bitov. 374 00:18:15,700 --> 00:18:17,150 Tak čo to vlastne znamená? 375 00:18:17,150 --> 00:18:22,400 No, to znamená, že skôr, keď sme boli hovoríme o binárne a bol som s použitím 376 00:18:22,400 --> 00:18:28,010 svojvoľne tri bity, keď sme boli hovorí o binary-- miesta 1 je, 377 00:18:28,010 --> 00:18:33,600 Na 2 je miestom, a to place-- dobre 4, byte jednoducho znamená, že hovoríte 378 00:18:33,600 --> 00:18:38,730 nie je v jednotkách po troch, ale štyri, päť, šesť, sedem osem, 379 00:18:38,730 --> 00:18:46,910 čo nám dáva 8 je miesto, 16 je, 32 je, 64 je a 128 rokov. 380 00:18:46,910 --> 00:18:50,010 >> Inými slovami, trochu nie je všetko že užitočná merná jednotka, 381 00:18:50,010 --> 00:18:53,132 pretože je to len ako jeden maličký údaj, zapnúť alebo vypnúť. 382 00:18:53,132 --> 00:18:54,840 Takže pred niekoľkými rokmi, svet sa rozhodlo, 383 00:18:54,840 --> 00:18:59,060 to je o niečo výhodnejšie hovoriť Podmienky bytov, osem vecí naraz. 384 00:18:59,060 --> 00:19:01,670 A tak teda narodil poňatie o bajtu. 385 00:19:01,670 --> 00:19:03,640 A tak máme osem bitov tu. 386 00:19:03,640 --> 00:19:06,810 >> A ukázalo sa tiež, pre podobné Dôvody, svet sa rozhodli rokov 387 00:19:06,810 --> 00:19:12,439 Pred ktoré k reprezentácii písmeno ASCII, budete používať jednotky z 8 bitov. 388 00:19:12,439 --> 00:19:14,230 Takže aj keď nie potrebujú, že veľa, ty si 389 00:19:14,230 --> 00:19:18,130 Vždy bude používať 8 bitov predstavujú písmeno abecedy. 390 00:19:18,130 --> 00:19:20,950 A to je výhodné, pretože potom ak vás 391 00:19:20,950 --> 00:19:28,720 dostať správu, ktorá má 0 0 0 1 1 1 1 0 a následne ďalší 1 1 1 0 1 0 392 00:19:28,720 --> 00:19:33,320 0 1, takže ak dostanete 16 bitov, svet môže len 393 00:19:33,320 --> 00:19:37,460 Predpokladajme, že prvé 8 sú jedno písmeno a druhý 8 sú ďalšie písmeno. 394 00:19:37,460 --> 00:19:39,240 >> Nezáleží na tom, koľko ich je. 395 00:19:39,240 --> 00:19:41,460 Je to proste vadí, že sme všetci konzistentné 396 00:19:41,460 --> 00:19:42,950 keď sme interpretácii týchto bitov. 397 00:19:42,950 --> 00:19:44,377 A to bol len náhodný. 398 00:19:44,377 --> 00:19:47,210 To znamená, že niečo, ale ja nie naozaj premýšľať o tom, čo to znamená. 399 00:19:47,210 --> 00:19:49,620 >> Takže je to malú bielu lož. 400 00:19:49,620 --> 00:19:51,990 pôvodne ASCII v skutočnosti používa iba 7 bitov. 401 00:19:51,990 --> 00:19:54,180 A ôsmy bit volal rozšírený ASCII. 402 00:19:54,180 --> 00:19:56,290 Ale bod je nakoniec rovnaký. 403 00:19:56,290 --> 00:19:58,850 svet všeobecne štandardizovaný na 8 bitov. 404 00:19:58,850 --> 00:20:04,290 >> Takže by to zdá byť trochu obmedzujúce, pretože len môžem 405 00:20:04,290 --> 00:20:07,970 predstavujú kapitálu, kapitál B prostredníctvom kapitálového Z. 406 00:20:07,970 --> 00:20:10,940 Ale naozaj nie, keď pôjdem to-- je tu banda zdrojov 407 00:20:10,940 --> 00:20:13,695 on-line, napríklad, asciitable.com Tento 408 00:20:13,695 --> 00:20:16,310 bude trochu ohromujúce na prvom mieste. 409 00:20:16,310 --> 00:20:18,910 Ale budem poukázať čo je tu dôležité. 410 00:20:18,910 --> 00:20:24,090 >> To len sa stane be-- a budem walk-- pozrime sa, či idem sem. 411 00:20:24,090 --> 00:20:27,990 Tu je, v desatinnej čiarky stĺpec, číslo 65. 412 00:20:27,990 --> 00:20:32,201 A v kolóne listu pravá ruka znak, Chr, je písmeno A. 413 00:20:32,201 --> 00:20:34,450 A môžete ignorovať, zatiaľ, všetko v stredu. 414 00:20:34,450 --> 00:20:36,769 To je hexadecimálne, osmičkovej a HTML kód. 415 00:20:36,769 --> 00:20:39,810 K tejto stránke sa práve snaží hodiť Veľa informácií na vás naraz. 416 00:20:39,810 --> 00:20:42,970 Ale všetko, čo zaujíma je desatinná stĺpec a stĺpec charakter. 417 00:20:42,970 --> 00:20:46,190 >> Takže podľa tejto logiky, čo je číslo, ktoré svet 418 00:20:46,190 --> 00:20:50,510 rozhodol predstavuje malé znak? 419 00:20:50,510 --> 00:20:52,230 Jo, 97. 420 00:20:52,230 --> 00:20:55,850 A práve pliesť prípadne mierne, 421 00:20:55,850 --> 00:21:03,715 aký počet sa svet rozhodol bude predstavovať číslo 1? 422 00:21:03,715 --> 00:21:06,900 423 00:21:06,900 --> 00:21:10,910 Správne, pretože we-- 49, zdá sa, tu dole v ľavom dolnom rohu. 424 00:21:10,910 --> 00:21:12,320 >> A teraz, čo mám na mysli? 425 00:21:12,320 --> 00:21:14,830 Tak to dopadá, že v počítačových systémoch, 426 00:21:14,830 --> 00:21:16,840 je všeobecne základným rozdielom 427 00:21:16,840 --> 00:21:19,920 medzi číslom a charakteru. 428 00:21:19,920 --> 00:21:22,330 Číslo je vec, ktorú by sme dozvedel vyrastať, keď 429 00:21:22,330 --> 00:21:23,830 my sme boli mimoriadne mladí na základnej škole. 430 00:21:23,830 --> 00:21:25,110 To, čo ste počítať s tým. 431 00:21:25,110 --> 00:21:30,220 Ale postava je len konkrétny tvar, piktogramy, tak povediac, na obrazovke. 432 00:21:30,220 --> 00:21:36,200 >> Teraz, my ľudia nejako vidieť niečo, čo vyzerá takto. 433 00:21:36,200 --> 00:21:39,060 A my hovoríme, oh, to je číslo dva. 434 00:21:39,060 --> 00:21:44,999 Ale nie, to je len symbol, ktorý vyzerá ako to, čo poznáme ako číslo 2. 435 00:21:44,999 --> 00:21:46,790 A tak tam je to zásadný rozdiel 436 00:21:46,790 --> 00:21:50,340 medzi skutočnými číslami a znakmi. 437 00:21:50,340 --> 00:21:52,130 Jedná sa o číslo. 438 00:21:52,130 --> 00:21:54,420 Ale všeobecne, v kontext počítače, 439 00:21:54,420 --> 00:21:56,809 ak sa namiesto toho vidieť niečo také quoted-- 440 00:21:56,809 --> 00:21:58,600 a vy nie vždy musieť vidieť, že spomenie, 441 00:21:58,600 --> 00:22:01,474 ale kvôli discussion-- ak vidíte úvodzoviek čísla, 442 00:22:01,474 --> 00:22:02,730 teraz je to postava. 443 00:22:02,730 --> 00:22:06,330 Takže toto číslo 2 naspodku kapota vnútri počítača 444 00:22:06,330 --> 00:22:12,220 bude zastúpená so vzorom bitov, ktoré predstavujú počet 445 00:22:12,220 --> 00:22:14,850 50 podľa tabuľky online. 446 00:22:14,850 --> 00:22:18,300 >> Avšak, ak počítaču vidí len toto, toto 447 00:22:18,300 --> 00:22:24,580 by byť zastúpené s vzor bitu 0 0 0 0 0 0 1 0. 448 00:22:24,580 --> 00:22:29,595 Vzhľadom k tomu, by tento znak v skutočnosti byť zastúpené as-- a teraz, 449 00:22:29,595 --> 00:22:34,710 Musím myslieť trochu harder-- tak toto charakter by byť zastúpené s 0 450 00:22:34,710 --> 00:22:39,080 0 1-- čo potrebujem tu? 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 Ako som to urobil? 453 00:22:45,480 --> 00:22:49,580 No to je číslo 50, ak vás množte sa, že pri použití týchto stĺpcov, 454 00:22:49,580 --> 00:22:53,530 To je číslo 2, a preto To je dôvod, prečo je táto dichotómia. 455 00:22:53,530 --> 00:22:55,850 >> A to je len teaser teraz k funkciám 456 00:22:55,850 --> 00:22:59,710 ktoré existujú v programovacích jazykoch že budeme ešte dnes dotknúť krátko. 457 00:22:59,710 --> 00:23:01,950 V programovacích jazykoch, máte všeobecne, 458 00:23:01,950 --> 00:23:04,495 ale nie vždy, veci volanie rôzne dátové typy. 459 00:23:04,495 --> 00:23:06,870 Inými slovami, je programmer-- keď on alebo ona píše, 460 00:23:06,870 --> 00:23:11,150 programátor dostane sa rozhodnúť, v akom formát pre ukladanie jeho alebo jej dáta. 461 00:23:11,150 --> 00:23:14,120 Môžete buď ukladať dáta as surové čísla, ako je číslo 2. 462 00:23:14,120 --> 00:23:17,940 Alebo môžete ukladať ako struny, alebo postupnosti znakov 463 00:23:17,940 --> 00:23:21,550 že by ste všeobecne vyjadriť citácie vo vašom programovacom jazyku. 464 00:23:21,550 --> 00:23:25,230 >> Môžete mať veci called-- Budem zjednodušujú a hovoria im 465 00:23:25,230 --> 00:23:28,870 real numbers-- tak čísel, ktorá nie sú celé čísla, ako 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álne čísla môžu tiež majú desatinných miest, 468 00:23:33,490 --> 00:23:36,340 tak to je iný zásadný kus dát v počítači. 469 00:23:36,340 --> 00:23:41,920 A potom dokonca môžete mať Iné typy dát v pokoji. 470 00:23:41,920 --> 00:23:45,810 Tak to je len ukážka naozaj o najjednoduchšie rozhodnutie dizajnových 471 00:23:45,810 --> 00:23:50,960 že programátor by mohol aby pod kapotou. 472 00:23:50,960 --> 00:23:52,925 >> Tak len ešte nejaké otázky? 473 00:23:52,925 --> 00:23:57,320 474 00:23:57,320 --> 00:23:59,860 Takže poďme sa snažiť, aby to trochu reálnejšie. 475 00:23:59,860 --> 00:24:02,120 Tento hardvér nie je toľko v užívaní ešte. 476 00:24:02,120 --> 00:24:07,420 Ale väčšina každý v tejto miestnosti pravdepodobne vyrástol a stále používa pevné disky 477 00:24:07,420 --> 00:24:08,010 nejakým spôsobom. 478 00:24:08,010 --> 00:24:10,100 >> Aj napriek tomu, že väčšina už naše notebooky nie 479 00:24:10,100 --> 00:24:15,900 vybavený zariadením, ktoré fungujú ako je táto, Namiesto toho notebooky dnes všeobecne 480 00:24:15,900 --> 00:24:18,590 majú Solid State Drive so žiadnymi pohyblivými časťami. 481 00:24:18,590 --> 00:24:22,840 A ktorý má tendenciu byť drahšie, bohužiaľ, ale trochu rýchlejšie 482 00:24:22,840 --> 00:24:27,230 a je-- dobre, často oveľa rýchlejšie, čo je jeden z dôvodov, prečo. 483 00:24:27,230 --> 00:24:28,980 A tiež to nie je generujú toľko tepla. 484 00:24:28,980 --> 00:24:31,680 To môže byť menšie, takže je všeobecne čistý pozitívny. 485 00:24:31,680 --> 00:24:35,030 >> Ale to nám umožňuje mapovať trochu konkrétnejšie, čo 486 00:24:35,030 --> 00:24:38,460 hovoríme o u 0 je a Úroveň 1 je teraz k fyzickému zariadení. 487 00:24:38,460 --> 00:24:40,810 To je jedna vec, pre mňa to talk asi 0 a 1, pokiaľ ide 488 00:24:40,810 --> 00:24:43,990 môjho telefónu alebo abstraktne v zmysle prepínačov, že zapína a vypína. 489 00:24:43,990 --> 00:24:45,340 Ale čo pevných diskov? 490 00:24:45,340 --> 00:24:48,495 Vo svojich notebookoch, ak máte staršie jeden, alebo v stolnom počítači, 491 00:24:48,495 --> 00:24:51,200 alebo určite v serveroch Dnes, kde máte 492 00:24:51,200 --> 00:24:53,070 pevné disky, ktoré majú Terabytu priestoru, 493 00:24:53,070 --> 00:24:55,560 4 TB priestoru, no čo to znamená? 494 00:24:55,560 --> 00:24:59,560 >> Pevný disk s 1 terabyte kozmických prostriedkov 495 00:24:59,560 --> 00:25:03,890 tam je 1 bilión bajtov vnútri nej nejakým spôsobom, 496 00:25:03,890 --> 00:25:10,450 alebo ekvivalentne 8 biliónov bitov vnútri. 497 00:25:10,450 --> 00:25:16,240 1 terabyte by bolo 8 terabits alebo 1 bilión bitov, ktoré 498 00:25:16,240 --> 00:25:19,330 znamená, že ak máte ťažké drive, máte nejako 499 00:25:19,330 --> 00:25:22,400 alebo ďalší bilión 0 je a 1 je vnútri nej. 500 00:25:22,400 --> 00:25:25,360 A ak budeme stačí sa pozrieť sa na ľubovoľný obrázok z pevného disku 501 00:25:25,360 --> 00:25:30,110 reprezentatívny, to je to, čo pevný Pohon by mohla typicky vyzerať vnútri. 502 00:25:30,110 --> 00:25:32,600 >> To, tiež, je niečo ako starý gramofón hráč 503 00:25:32,600 --> 00:25:35,350 ale všeobecne sa viac záznamov vo vnútri, tak 504 00:25:35,350 --> 00:25:38,270 na speak-- násobok podnosy, ako sa im hovorí, 505 00:25:38,270 --> 00:25:42,259 kovové kruhové disky, a potom trochu čítacia hlava, 506 00:25:42,259 --> 00:25:43,550 podobne ako starý gramofón. 507 00:25:43,550 --> 00:25:46,589 A že čítacia hlava sa pohybuje dozadu a tam a nejako číta bity. 508 00:25:46,589 --> 00:25:49,380 A čo je na týchto podnosy, a to aj aj keď my ľudia ich nemôže vidieť, 509 00:25:49,380 --> 00:25:52,757 a to buď v skutočnosti, alebo v tomto obrázku, tam je maličké magnetické častice. 510 00:25:52,757 --> 00:25:55,090 A aj keď ste dlho zabudli, ako funguje elektrina, 511 00:25:55,090 --> 00:25:57,550 magnetická častice ktorá je nabitá všeobecne 512 00:25:57,550 --> 00:26:00,570 Má severný koniec a na juh end-- tak severnej a južnej. 513 00:26:00,570 --> 00:26:03,000 A tak sa svet len rozhodol pred nejakým časom 514 00:26:03,000 --> 00:26:06,570 že, ak je magnetické protokol v zásade je vyrovnaný takto, sever-juh, 515 00:26:06,570 --> 00:26:07,610 hovorme, že 1. 516 00:26:07,610 --> 00:26:10,470 Ak je to miesto na juh-sever, nech to len zavolať, že je 0. 517 00:26:10,470 --> 00:26:13,350 A tak ak máte na K dispozícii bilión 518 00:26:13,350 --> 00:26:16,300 maličký magnetické particles-- a dúfajme, 519 00:26:16,300 --> 00:26:18,740 hardware vynaliezavosť v Aby sa otočiť ľuďom okolo 520 00:26:18,740 --> 00:26:24,450 Ako vidíte fit-- Ak chcete predstavujú veľa 0 rokoch, vás 521 00:26:24,450 --> 00:26:28,120 stačí 8 magnetických častíc všetky vyrovnané takto. 522 00:26:28,120 --> 00:26:30,330 A ak chcete reprezentovať Osem 1 je, stačí 523 00:26:30,330 --> 00:26:33,170 Potrebujeme 8 magnetických častíc vyrovnaných chrbtom k sebe k sebe takto. 524 00:26:33,170 --> 00:26:35,515 >> Čo mám na mysli touto Magnetické častice? 525 00:26:35,515 --> 00:26:38,390 Úprimne povedané, všetky tie roky neskôr, vec, ktorá ešte príde na myseľ 526 00:26:38,390 --> 00:26:42,139 Je to chlap, ak vás vyrástol s touto vecou. 527 00:26:42,139 --> 00:26:43,930 Toto je pre little-- tie unfamiliar-- 528 00:26:43,930 --> 00:26:47,810 Trochu detstvo hračka, ktorá má tento bezsrsté muža tu 529 00:26:47,810 --> 00:26:51,690 že má k dispozícii všetky tieto drobné malé čierne magnetické častice, ktoré so sebou prináša. 530 00:26:51,690 --> 00:26:53,930 A pomocou tohto červeného palicu, čo je len magnet, 531 00:26:53,930 --> 00:26:58,460 môžete mu nejako dať fúzy alebo obočie alebo vlasov alebo niečo na neho. 532 00:26:58,460 --> 00:27:00,710 Takže v skutočnosti, ak by sme zoom v, napríklad, toto 533 00:27:00,710 --> 00:27:02,950 je druh hry, ktorú Môžete hrať s Wooly Willy. 534 00:27:02,950 --> 00:27:06,570 >> A to je len povedať, títo sú oveľa väčšie magnetické častice 535 00:27:06,570 --> 00:27:09,890 než sú v skutočnosti na pevnom disku, a oveľa menej magnetické častice. 536 00:27:09,890 --> 00:27:11,640 Ale poďme skutočne vidieť potom, ak máte 537 00:27:11,640 --> 00:27:14,720 drobné magnetické častice v pevný disk, ako môžete vlastne 538 00:27:14,720 --> 00:27:19,090 používať tie reprezentovať dáta. 539 00:27:19,090 --> 00:27:20,070 >> [Videoprehrávanie] 540 00:27:20,070 --> 00:27:24,190 >> -The Pevný disk je miesto, kde vaše PC ukladá väčšinu svojich trvalých dát. 541 00:27:24,190 --> 00:27:27,170 K tomu, dáta cestuje z RAM pozdĺž 542 00:27:27,170 --> 00:27:31,720 so softvérovými signálov, ktoré Povedzte pevný disk, ako ukladať tieto dáta. 543 00:27:31,720 --> 00:27:36,570 Obvody hnacieho tvrdé prekladať tie, signály na kolísanie napätia. 544 00:27:36,570 --> 00:27:40,880 Tie zase ovládať tlačidlá pevného disku pohybujúce sa parts-- niektoré málo pohyblivých 545 00:27:40,880 --> 00:27:43,440 časti vľavo v moderných počítačov. 546 00:27:43,440 --> 00:27:47,650 >> Niektoré z týchto signálov riadi motor, ktorý sa točí kovové potiahnuté misy. 547 00:27:47,650 --> 00:27:50,980 Vaše dáta sú v skutočnosti uložené na týchto platniach. 548 00:27:50,980 --> 00:27:56,250 Ďalšie signály posunúť čítacie / zapisovacie hlavy čítať alebo zapisovať dáta na tácky. 549 00:27:56,250 --> 00:28:00,100 Toto zariadenie je tak presné že ľudský vlas ani nemohol 550 00:28:00,100 --> 00:28:02,800 prechádzať medzi hlavami a pradenie taniere. 551 00:28:02,800 --> 00:28:04,887 Napriek tomu to všetko funguje v úžasnej rýchlosti. 552 00:28:04,887 --> 00:28:05,470 [END PLAYBACK] 553 00:28:05,470 --> 00:28:06,780 A môžete u vidieť v zadnej časti videa, 554 00:28:06,780 --> 00:28:08,340 tam sú všeobecne viac misy. 555 00:28:08,340 --> 00:28:10,250 A tak, že čítanie hlava nie je len čítanie na vrchol. 556 00:28:10,250 --> 00:28:12,458 Je to niečo ako tri alebo štyri alebo viac čítacie hlavy 557 00:28:12,458 --> 00:28:14,920 že pohyb takto, čítanie dát súčasne. 558 00:28:14,920 --> 00:28:17,407 >> Takže je tu veľa zložitosť a druh načasovanie 559 00:28:17,407 --> 00:28:18,740 ktorý je zapojený do pevného disku. 560 00:28:18,740 --> 00:28:21,920 A vec sa točí naozaj zašiť rýchlo, takže je tu veľa zložitosti. 561 00:28:21,920 --> 00:28:25,220 Ale poďme priblížiť trochu hlbšie a vidieť, kde sú tieto magnetické častice 562 00:28:25,220 --> 00:28:27,370 a ako sa dostávame sa na ne. 563 00:28:27,370 --> 00:28:28,750 >> [Videoprehrávanie] 564 00:28:28,750 --> 00:28:31,830 >> -Nechaj Je pohľad na to, čo sme práve videli spomalene. 565 00:28:31,830 --> 00:28:35,230 Keď krátky elektrický impulz je poslaný do čítacie / zapisovacie hlavy, 566 00:28:35,230 --> 00:28:39,000 to prevráti na malom elektromagnetické Na zlomok sekundy. 567 00:28:39,000 --> 00:28:41,390 magnet vytvára Poľa, ktorým sa mení 568 00:28:41,390 --> 00:28:44,600 polarita malý, nepatrný časť kovových častíc 569 00:28:44,600 --> 00:28:46,960 ktorý srsť povrch každého tácke je. 570 00:28:46,960 --> 00:28:50,020 Vzor mnohé z nich nepatrný nabité zastavanej plochy na disku 571 00:28:50,020 --> 00:28:54,590 reprezentuje jediný bit údajov vo binárne číslo systém používaný počítači. 572 00:28:54,590 --> 00:28:57,510 >> Teraz, ak je aktuálny odoslaný jeden cesta cez čítacie / zapisovacie hlavy, 573 00:28:57,510 --> 00:28:59,899 Táto oblasť je polarizovaný v jednom smere. 574 00:28:59,899 --> 00:29:01,940 Ak je aktuálna zaslaná opačný smer, 575 00:29:01,940 --> 00:29:04,020 polarizáciu je obrátený. 576 00:29:04,020 --> 00:29:06,440 Ako sa vám dáta z pevného disku? 577 00:29:06,440 --> 00:29:08,190 Len v opačnom poradí úkonov. 578 00:29:08,190 --> 00:29:10,440 Takže sú to častice na disk, ktoré sa dostanú prúd 579 00:29:10,440 --> 00:29:12,260 vo čítacie / zapisovacie hlavy v pohybe. 580 00:29:12,260 --> 00:29:14,580 Dať dohromady milióny Tieto magnetizované segmenty, 581 00:29:14,580 --> 00:29:16,220 a máte súbor. 582 00:29:16,220 --> 00:29:21,030 >> Teraz kúsky jedného súboru môže byť roztrúsených po celom podnosy hnacím je, 583 00:29:21,030 --> 00:29:24,060 niečo ako neporiadok papierov na vašom stole. 584 00:29:24,060 --> 00:29:27,590 Takže špeciálny navyše súbor obsahuje Trať, kde je všetko. 585 00:29:27,590 --> 00:29:30,440 Nenechajte si prajete ste mali niečo také? 586 00:29:30,440 --> 00:29:31,290 >> [END PLAYBACK] 587 00:29:31,290 --> 00:29:36,260 >> Takže je spomenuté tam, snáď, je túto tému zo včerajška výmazu. 588 00:29:36,260 --> 00:29:38,380 pri odstránení Súbor, včera sme si povedali, 589 00:29:38,380 --> 00:29:41,020 že počítač vlastne robí čo, keď ťaháte niečo 590 00:29:41,020 --> 00:29:44,110 do koša alebo popolnice? 591 00:29:44,110 --> 00:29:45,150 Je to jednoducho zabudne. 592 00:29:45,150 --> 00:29:47,540 Ale 0 a 1 je, magnetické častice 593 00:29:47,540 --> 00:29:50,640 ktoré vyzerajú ako červené a modré veci tu, alebo moja ruka tu, 594 00:29:50,640 --> 00:29:52,350 sú tam stále na pevnom 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 ďalšie modernejšie software--, že práve 597 00:29:58,159 --> 00:30:01,200 prehľadá celý pevný disk hľadá na všetky tie 0 a 1 rokoch, pretože 598 00:30:01,200 --> 00:30:06,890 Ukazuje sa, že väčšina súborov formáty-- Dokumenty programu Word, Excel súbory, obrázky, 599 00:30:06,890 --> 00:30:10,380 Video files-- všetci majú isté vzory, ktoré sú bežné medzi nimi. 600 00:30:10,380 --> 00:30:12,550 Každé video súbor môže mať inú video, 601 00:30:12,550 --> 00:30:14,870 ale prvé niekoľko bity sú zvyčajne rovnaké. 602 00:30:14,870 --> 00:30:16,790 Alebo posledný niekoľko bitov sú zvyčajne rovnaké. 603 00:30:16,790 --> 00:30:19,910 >> A tak s vysokou pravdepodobnosťou, sa môžete pozrieť na tie vzory. 604 00:30:19,910 --> 00:30:23,700 A to aj v prípade, že súbor bol zabudnutý, možno povedať, s vysokou pravdepodobnosťou, 605 00:30:23,700 --> 00:30:28,460 ale to vyzerá ako dokumentu programu Word, nechá ju obnoviť a un-zabudni na to, 606 00:30:28,460 --> 00:30:28,990 ak chcete. 607 00:30:28,990 --> 00:30:32,330 A tak to je, ako môžete obnoviť Dáta, ktoré je buď boli náhodne 608 00:30:32,330 --> 00:30:36,560 vymazané alebo odstránené alebo úmyselne vypúšťa z akéhokoľvek účely. 609 00:30:36,560 --> 00:30:42,530 >> Naproti tomu bezpečné mazanie čo robí v súvislosti s obrázkom, ako je tento? 610 00:30:42,530 --> 00:30:44,059 Presne tak, z nich robí všetko náhodne. 611 00:30:44,059 --> 00:30:46,350 Tak to nejako pohybuje niektorých im dole, niektoré z nich hore, 612 00:30:46,350 --> 00:30:49,433 ponecháva niektoré z nich bez zmeny, a Všeobecne je náhodný šum z toho, 613 00:30:49,433 --> 00:30:52,960 alebo len možno robí všetko Them 0 alebo všetky z nich jeden je. 614 00:30:52,960 --> 00:30:56,350 A že tiež môže všeobecne drhnúť vaše dáta preč. 615 00:30:56,350 --> 00:31:00,160 >> Takže vráťme sa k otázke výpočtovej myslenia, pričom 616 00:31:00,160 --> 00:31:03,270 máme vzorca vstupy. 617 00:31:03,270 --> 00:31:06,390 A algoritmy dáva ste výstupy nakoniec. 618 00:31:06,390 --> 00:31:09,270 Zameriavame sa teraz na vstupoch a výstupy, pretože teraz som 619 00:31:09,270 --> 00:31:12,159 Tvrdenie, že máme spôsob predstavujúce vstupy a výstupy. 620 00:31:12,159 --> 00:31:13,450 Budeme len používať binárne. 621 00:31:13,450 --> 00:31:15,910 >> A bez ohľadu na to, čo sme chcú reprezentovať dnes, 622 00:31:15,910 --> 00:31:20,230 či už je to číslo alebo písmeno alebo tisíce z nich v telefónnom zozname 623 00:31:20,230 --> 00:31:23,210 alebo obrázky alebo filmy, na konci z, to všetko 0 a 1 je. 624 00:31:23,210 --> 00:31:26,640 A tvrdím, že aj keď toto je super jednoduchý svet len ​​s 0 rokov 625 00:31:26,640 --> 00:31:28,240 a 1 je, môžeme postaviť sami hore. 626 00:31:28,240 --> 00:31:32,210 A my sme videli jeden príklad že s písmenami tak ďaleko. 627 00:31:32,210 --> 00:31:35,615 >> Takže poďme sa teraz zamerať na túto tému Stredná prísada, algoritmus. 628 00:31:35,615 --> 00:31:38,190 A vráťme sa k tomu Príkladom Mike Smith. 629 00:31:38,190 --> 00:31:41,689 Takže v tomto telefónnom zozname, ktoré síce, nepoužívame tak veľmi nie, 630 00:31:41,689 --> 00:31:42,980 je tu problém je potrebné riešiť. 631 00:31:42,980 --> 00:31:45,040 Chceme nájsť niekoho, ako je Mike Smith. 632 00:31:45,040 --> 00:31:47,520 >> A čo môžem urobiť, aby sa nájsť Miku? 633 00:31:47,520 --> 00:31:51,197 No, mohol by som jednoducho otvoriť toto Kniha jazyku na prvej stránke, 634 00:31:51,197 --> 00:31:52,780 a uvedomiť si, ach, som v sekcii A. 635 00:31:52,780 --> 00:31:53,510 Mike tam nie je. 636 00:31:53,510 --> 00:31:55,510 Musím sekciu S pre Smith. 637 00:31:55,510 --> 00:31:58,192 Takže len držať otáčaním jednu stránku naraz. 638 00:31:58,192 --> 00:32:00,900 Nechaj ma predstierať, že je to všetko biele stránky a nie Zlaté stránky, 639 00:32:00,900 --> 00:32:02,910 pretože nebudeme nájsť Mike v Zlatých stránkach rovnako. 640 00:32:02,910 --> 00:32:04,034 Ale ja som v bielych stránkach. 641 00:32:04,034 --> 00:32:05,340 A teraz som v sekcii B. 642 00:32:05,340 --> 00:32:06,810 Ešte som ho našiel. 643 00:32:06,810 --> 00:32:08,890 Tak som neustále zapínať jednu stránku naraz. 644 00:32:08,890 --> 00:32:10,130 >> Jedná sa o algoritmus. 645 00:32:10,130 --> 00:32:12,440 Je to sada inštrukcií pre riešenie nejaký problém. 646 00:32:12,440 --> 00:32:16,480 Inými slovami, pozrite sa na strana, ak Mike nie je na ňom, 647 00:32:16,480 --> 00:32:20,020 otočiť stránku a opakuje znovu a znovu a znovu, 648 00:32:20,020 --> 00:32:21,760 v ideálnom prípade pozerať sa dole, ako to robí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 >> Prepáčte. 652 00:32:28,830 --> 00:32:30,056 Nie, počul som nejaké čí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čite únavné. 655 00:32:36,125 --> 00:32:39,000 Rovnako ako, budeme tu celý deň, keby som ďalej hľadať Mika pri tejto rýchlosti. 656 00:32:39,000 --> 00:32:41,430 Ale dovoľte mi tvrdí, že je to správne. 657 00:32:41,430 --> 00:32:43,850 Je to hlúpe, ale je to správne. 658 00:32:43,850 --> 00:32:47,209 >> Na konci dňa, ak to mohlo trvať, Nájdem Mika, či je tam 659 00:32:47,209 --> 00:32:48,250 a ja venovať pozornosť. 660 00:32:48,250 --> 00:32:50,230 A ja sa nakoniec dostanú jeho strana. 661 00:32:50,230 --> 00:32:52,890 A keď dostanem príliš ďaleko, ak Aj dostať do sekcie T, 662 00:32:52,890 --> 00:32:55,900 potom môžem ľahko optimalizovať a len povedať, hm, všetko je hotové. 663 00:32:55,900 --> 00:32:57,980 Ja ani nemusíte strácať Čas ísť do Z je. 664 00:32:57,980 --> 00:33:00,010 Ale to je veľmi Lineárne prístup, ak vás 665 00:33:00,010 --> 00:33:03,370 bude veľmi druh zľava doprava prístup, priamka. 666 00:33:03,370 --> 00:33:05,560 A jej správne, ale pomaly. 667 00:33:05,560 --> 00:33:09,250 >> Tak som si pamätám z základke, triedenie z optimalizácie z prvej porovnávač, 668 00:33:09,250 --> 00:33:13,756 kde som sa naučil počítať nie o tie ale twos-- tak 2, 4, 6. 669 00:33:13,756 --> 00:33:15,630 Je to, oveľa ťažšie áno, ale teoreticky je to 670 00:33:15,630 --> 00:33:20,149 faster-- 8, 10, 12, 14, a tak ďalej. 671 00:33:20,149 --> 00:33:21,190 Ako sa o tom algoritmu? 672 00:33:21,190 --> 00:33:23,150 Je to efektívnejšie? 673 00:33:23,150 --> 00:33:23,880 Je to rýchlejšie? 674 00:33:23,880 --> 00:33:25,365 >> Divákov: Je to efektívne. 675 00:33:25,365 --> 00:33:28,560 >> DAVID Malan: Jo, tak je to def-- je to doslova dvakrát tak rýchlo, za predpokladu, že I 676 00:33:28,560 --> 00:33:30,170 Nechápte zakopol s mojimi prstami. 677 00:33:30,170 --> 00:33:32,294 To je dvakrát tak rýchlo, pretože Ja otočením o dva 678 00:33:32,294 --> 00:33:36,560 Stránky naraz namiesto jedného, ​​ale je to potenciálne v správnej, pretože prečo? 679 00:33:36,560 --> 00:33:37,852 >> Publikum: Ty skákanie niektoré z nich. 680 00:33:37,852 --> 00:33:41,185 DAVID Malan: Dobre, čo keď sa stane Mike ktoré majú byť sandwiched-- možno, keď som neskôr 681 00:33:41,185 --> 00:33:44,370 v telefónnom zozname, Mike sa stane byť zovretý medzi týmito dvoma stránkami, 682 00:33:44,370 --> 00:33:46,720 a ja len slepo preskočiť cez neho. 683 00:33:46,720 --> 00:33:48,490 Takže potrebujeme tam malú opravu. 684 00:33:48,490 --> 00:33:51,290 Raz som narazila na úsek T, I nemôže len tak s istotou povedať, 685 00:33:51,290 --> 00:33:52,420 sme nenašli Mike Smith. 686 00:33:52,420 --> 00:33:53,770 Asi budem musieť vrátiť sa rovnakou cestou. 687 00:33:53,770 --> 00:34:00,210 Alebo v skutočnosti, akonáhle sa dostanem niekoho s názvom S-N, miesto S-M pre Smith, 688 00:34:00,210 --> 00:34:02,790 okamžite by som mohol zdvojnásobiť späť, pretože možno, že 689 00:34:02,790 --> 00:34:03,900 Bol na predchádzajúcej strane. 690 00:34:03,900 --> 00:34:05,070 >> Ale nemám zdvojnásobiť späť ďaleko. 691 00:34:05,070 --> 00:34:08,030 Teoreticky, keď som to na pravej strane čas, len som sa vrátiť o jednu stránku. 692 00:34:08,030 --> 00:34:10,139 Takže to pridaním len jeden krok navyše. 693 00:34:10,139 --> 00:34:13,070 Tak som šiel dvakrát tak rýchlo, ale ma to stálo jeden navyše stránku. 694 00:34:13,070 --> 00:34:14,699 Ale to cíti ako čistú výhru. 695 00:34:14,699 --> 00:34:17,230 >> Ale to nie je, ako väčšina ľudí v táto miestnosť by tento problém vyriešiť. 696 00:34:17,230 --> 00:34:20,313 Čo by typický človek, možno Pred niekoľkými rokmi robiť, nájsť Mike Smith? 697 00:34:20,313 --> 00:34:22,900 698 00:34:22,900 --> 00:34:24,800 Jo, nenašiel Mika. 699 00:34:24,800 --> 00:34:27,190 Čo robím? 700 00:34:27,190 --> 00:34:31,027 Tak trochu bližšie, ale ja áno víš-- čo je pravdivé informácie o telefónnom zozname? 701 00:34:31,027 --> 00:34:32,110 Divákov: 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 podľa abecedy. 704 00:34:33,750 --> 00:34:36,540 A tak keď som v sekcii M, Mike je jednoznačne na pravej strane, 705 00:34:36,540 --> 00:34:39,949 Môžem doslova roztrhať Problém v half-- 706 00:34:39,949 --> 00:34:44,360 je to zvyčajne jednoduchšie ako to-- slza Problém v polovici a vyhodiť, 707 00:34:44,360 --> 00:34:47,627 takže teraz mám problém, ktorý je už 1000 pages--, že bolo ťažké, 708 00:34:47,627 --> 00:34:50,210 pretože si myslím, že skutočne roztrhol telefónneho zoznamu to nie je time-- 709 00:34:50,210 --> 00:34:52,219 1000 strán, ale 500. 710 00:34:52,219 --> 00:34:54,750 >> Takže problém je doslova polovice tak veľký. 711 00:34:54,750 --> 00:34:58,170 A to je celkom presvedčivé, pretože s mojimi predchádzajúcimi algoritmy, verzia 712 00:34:58,170 --> 00:35:02,870 1 a 2, bol som len robiť problém jedna strana menšie, dve stránky menšie 713 00:35:02,870 --> 00:35:03,470 v tom čase. 714 00:35:03,470 --> 00:35:07,230 Zatiaľ čo teraz, urobil som to 500 Stránky menšie naraz. 715 00:35:07,230 --> 00:35:10,089 >> OK, takže teraz, Karim navrhuje že idem do pravej polovice. 716 00:35:10,089 --> 00:35:12,380 Takže ja idem hrubo do stredu, plus mínus. 717 00:35:12,380 --> 00:35:15,185 A či som to urobil matematicky, Mohol by som ísť priamo do stredu. 718 00:35:15,185 --> 00:35:17,060 A teraz si uvedomujem, oh, Som v sekcii T. 719 00:35:17,060 --> 00:35:18,280 Vlastne som sa ísť príliš ďaleko. 720 00:35:18,280 --> 00:35:21,670 >> Ale môžem opäť slzný Problém na polovicu, vyhodiť. 721 00:35:21,670 --> 00:35:23,330 A moja bytov nie je tak veľký. 722 00:35:23,330 --> 00:35:28,780 Je to len, čo, 256 strán alebo 250 Stránky, plus mínus práve teraz. 723 00:35:28,780 --> 00:35:31,570 Ale je to ešte oveľa viac ako jednu stranu alebo dve stránky. 724 00:35:31,570 --> 00:35:33,345 >> A tak teraz, idem zhruba do stredu. 725 00:35:33,345 --> 00:35:35,330 Oh, ja nešla dosť ďaleko dosť teraz. 726 00:35:35,330 --> 00:35:37,880 Takže opakujem, opakovať, opakovať, Opakujem, až budem s nádejou 727 00:35:37,880 --> 00:35:40,360 zostáva len raz stránkou. 728 00:35:40,360 --> 00:35:44,000 >> Takže pozýva na otázku, či som začalo so zhruba 1000 strán, 729 00:35:44,000 --> 00:35:47,340 koľko krokov to trvalo mi s verziou 1 svojho algoritmu? 730 00:35:47,340 --> 00:35:50,420 No, či Mike je v S časť, v najhoršom prípade, 731 00:35:50,420 --> 00:35:52,630 to je celkom blízko koniec abecedy. 732 00:35:52,630 --> 00:35:56,559 Takže v prípade, že telefónny zoznam má 1000 stránok, Nájdem Mika v 1000 stránok, 733 00:35:56,559 --> 00:35:57,100 plus mínus. 734 00:35:57,100 --> 00:35:59,750 Možno je to ako 800 alebo tak, ale je to celkom blízko k 1,000. 735 00:35:59,750 --> 00:36:01,680 >> Vzhľadom k tomu, v druhom algoritmus, koľko 736 00:36:01,680 --> 00:36:06,840 otáčať stránky maximálne by som mohol vyžadovať nájsť Mike Smith? 737 00:36:06,840 --> 00:36:09,970 K dispozícii je 1000 strán, ale som robí im dva naraz. 738 00:36:09,970 --> 00:36:13,045 Dobre, takže max ako 500ish, pretože keď som prejsť celý telefónny zoznam, 739 00:36:13,045 --> 00:36:14,170 na ktorom mieste, môžem zastaviť. 740 00:36:14,170 --> 00:36:16,669 Ale môžem oholí niekoľko tým, len zastavenie v sekcii T. 741 00:36:16,669 --> 00:36:19,880 Ale je to v najhoršom prípade 500 strán. 742 00:36:19,880 --> 00:36:24,710 >> Takže koľkokrát môžem rozdeliť 1,00-page telefónny zoznam na polovicu znova 743 00:36:24,710 --> 00:36:30,450 a znova a again-- od 1000 na 500 až 250 až 125? 744 00:36:30,450 --> 00:36:32,250 Ako dlho predtým, než som 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 zaoblenie a tak, že je cca 10 strán celková potreba byť otočený 748 00:36:40,780 --> 00:36:43,290 alebo telefónne zoznamy treba roztrhané. 749 00:36:43,290 --> 00:36:44,710 >> Tak to je celkom silný. 750 00:36:44,710 --> 00:36:48,170 Začali sme s problémom s 1000-stranový vo všetkých troch týchto príbehov. 751 00:36:48,170 --> 00:36:51,850 Ale v prvej algoritmus, to trvalo mi, najhorší prípad, 1000 str 752 00:36:51,850 --> 00:36:52,740 zisťuje, Miku. 753 00:36:52,740 --> 00:36:55,590 Druhý algoritmus, 500 Stránky nájsť Mika. 754 00:36:55,590 --> 00:36:58,480 Po tretie algoritmus, 10 strán nájsť Mika. 755 00:36:58,480 --> 00:37:00,230 A je to ešte viac silný, keď si myslíte, 756 00:37:00,230 --> 00:37:01,860 o druhu opačného scenára. 757 00:37:01,860 --> 00:37:05,680 Predpokladajme, že telefónne spoločnosti budúcom rok možno zlúči dve mestá spolu, 758 00:37:05,680 --> 00:37:08,550 a telefónneho zoznamu je naraz Tento silný, namiesto toho, že, 759 00:37:08,550 --> 00:37:12,470 takže 2.000 strán namiesto 1000. 760 00:37:12,470 --> 00:37:15,640 No, môj prvý algoritmus hľadá Mike Smith v 2000-stránkové telefónny zoznam, 761 00:37:15,640 --> 00:37:21,460 horšom prípade, že to bude trvať koľko strana zmení v budúcom roku? 762 00:37:21,460 --> 00:37:24,800 >> Telefónny zoznam je 2,000 strán, tak-- no, nie jeden. 763 00:37:24,800 --> 00:37:29,540 V prípade, že telefónny zoznam je dvakrát tak tučný Prvý algoritmus, prvý algoritmus, 764 00:37:29,540 --> 00:37:30,380 2000, že jo? 765 00:37:30,380 --> 00:37:33,005 V najhoršom prípade, Mike je naozaj zavrieť do konca knihy, 766 00:37:33,005 --> 00:37:34,110 takže je to 2.000 stránok zákruty. 767 00:37:34,110 --> 00:37:38,070 Druhý algoritmus ide o dvojky, rovnako ako 1000 stránok. 768 00:37:38,070 --> 00:37:41,490 >> Ale čo v mojom tretine a najnovšie algoritmus? 769 00:37:41,490 --> 00:37:44,950 V prípade, že telefónne spoločnosť zdvojnásobí počet strán od 1,000 do 2,000, 770 00:37:44,950 --> 00:37:47,770 koľko viackrát potrebovať I slzný že kniha v polovici nájsť Miku? 771 00:37:47,770 --> 00:37:48,710 >> Divákov: Len jeden. 772 00:37:48,710 --> 00:37:51,001 >> DAVID Malan: Ešte jeden, pretože sa o jednu stránku slza, 773 00:37:51,001 --> 00:37:53,270 Môžem doslova rozdeliť a panuj, ak chcete, 774 00:37:53,270 --> 00:37:57,410 že problém v polovici odber masívne sústo z nej. 775 00:37:57,410 --> 00:38:01,420 A tak toto je príklad Účinnosť a pravdepodobne algoritmus 776 00:38:01,420 --> 00:38:04,100 s ktorými sme všetci tak nejako intuitívne oboznámený. 777 00:38:04,100 --> 00:38:07,780 Ale je to len za správne as mojimi ďalšími algoritmy 778 00:38:07,780 --> 00:38:09,630 s tým vyladiť pre druhý algoritmus, 779 00:38:09,630 --> 00:38:11,290 ale je to tak oveľa efektívnejšie. 780 00:38:11,290 --> 00:38:14,030 >> A v skutočnosti, to je počítačový vedec, alebo naopak programátor, 781 00:38:14,030 --> 00:38:17,580 by zvyčajne robiť pri písaní Kód je pokúsiť sa zistiť, 782 00:38:17,580 --> 00:38:19,960 v poriadku, nechcem my Program len za správne, 783 00:38:19,960 --> 00:38:23,220 Tiež chcem, aby to bolo efektívne a riešiť problémy rovnako. 784 00:38:23,220 --> 00:38:26,450 Predstavte si, že v reálnom svete dnes, ako Google indexov, vyhľadávanie 785 00:38:26,450 --> 00:38:31,580 ako miliardami stránok, predstavte si, že oni používal prvý algoritmus nájsť mačky 786 00:38:31,580 --> 00:38:34,620 Medzi miliardu pages-- pri pohľade na Prvá strana vo svojej databáze, 787 00:38:34,620 --> 00:38:37,700 druhý, tretí, len pri pohľade pre mačku, hľadá pre mačku. 788 00:38:37,700 --> 00:38:40,350 To je sakramentsky pomalé by sa mohlo zdať. 789 00:38:40,350 --> 00:38:43,170 Mohli by namiesto toho použiť niečo volal binárne vyhľadávanie, ktorý 790 00:38:43,170 --> 00:38:47,420 Nie je coincidence-- bi čo znamená dve, sme zachovať delenie niečo 2, v half-- 791 00:38:47,420 --> 00:38:50,205 oni mohli použiť binárne vyhľadávanie a možno nájsť mačky ešte rýchlejšie, 792 00:38:50,205 --> 00:38:51,830 alebo čo to je hľadáte. 793 00:38:51,830 --> 00:38:54,125 >> A úprimne povedané, je tu aj milovník algoritmy 794 00:38:54,125 --> 00:38:56,250 že robiť oveľa viac, než len delenie vecí na polovicu 795 00:38:56,250 --> 00:38:58,180 aby sa rýchlo nájsť informácie. 796 00:38:58,180 --> 00:39:00,880 A budeme hovoriť trochu o tých, po obede dnes. 797 00:39:00,880 --> 00:39:02,640 Takže mi dovoľte len sa snaží reprezentovať to. 798 00:39:02,640 --> 00:39:05,380 Nemusíme ísť do akýkoľvek matematický alebo skutočných čísel. 799 00:39:05,380 --> 00:39:07,070 Môžeme o tom hovoriť abstraktne. 800 00:39:07,070 --> 00:39:11,580 >> Ale dovoľte mi navrhnúť, ak vás viedli diskusiu teraz 801 00:39:11,580 --> 00:39:13,491 s inžiniermi navrhuje tento algoritmus 802 00:39:13,491 --> 00:39:15,490 a vy sa snažíte, aby sa vypočítaná rozhodnutie, 803 00:39:15,490 --> 00:39:17,285 pretože možno inžinier povie vám, 804 00:39:17,285 --> 00:39:19,910 viem, čo môžem implementovať lineárne hľadania v podobne dvoch minút. 805 00:39:19,910 --> 00:39:21,150 Je to tak jednoduché. 806 00:39:21,150 --> 00:39:24,790 Binárne vyhľadávanie nie je tak efektné, ale to bude, aby ma vzal ako 10 minút, 807 00:39:24,790 --> 00:39:26,650 tak, 5 krát dlhšia. 808 00:39:26,650 --> 00:39:30,900 >> Je tu obchod tu, a to aj pokiaľ ide rozhodovanie o tom, aký softvér písať. 809 00:39:30,900 --> 00:39:34,760 Píšete jednoduchšie algoritmus, ktorý bude len trvať dve minúty? 810 00:39:34,760 --> 00:39:39,880 Alebo trávite viac času, 10 minút, písanie milovník algoritmus? 811 00:39:39,880 --> 00:39:43,540 Ako sa rozhodnúť, že takéto otázky? 812 00:39:43,540 --> 00:39:46,710 Alebo by ste mohli urobiť to trochu reálnejšie. 813 00:39:46,710 --> 00:39:50,610 Aj povedať svojmu nadriadenému, že to bude trvať me buď jeden týždeň alebo 10 týždňov 814 00:39:50,610 --> 00:39:52,490 na vykonanie software týmto spôsobom, ako 815 00:39:52,490 --> 00:39:56,103 sa rozhodnúť, ktorý algoritmus pre zelenú-svetlo? 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 Čo myslíš tým publikom? 820 00:39:59,460 --> 00:40:03,460 >> Divákov: Pokiaľ to ide ktoré majú byť použité užívateľovi 821 00:40:03,460 --> 00:40:09,050 kto [nepočuteľný] užívateľov [nepočuteľné]. 822 00:40:09,050 --> 00:40:11,232 Ale či je to niečo, čo ste len to pre seba 823 00:40:11,232 --> 00:40:13,946 uľahčiť problém, [Nepočuteľný] rýchlejšie. 824 00:40:13,946 --> 00:40:16,820 DAVID Malan: Jo, je to rýchle a špinavá je dobrý spôsob, ako to opísať. 825 00:40:16,820 --> 00:40:18,695 V skutočnosti, ak ste popisujúci väčšinu svojho času 826 00:40:18,695 --> 00:40:23,630 v grad škole, pričom často časy, Napísal som zlý kód vedome tak-- 827 00:40:23,630 --> 00:40:26,490 Aspoň, že to, ako som racionalizovať to-- vedome, 828 00:40:26,490 --> 00:40:30,670 pretože aj keď som písania kódu že bol relatívne pomalý vykonať, 829 00:40:30,670 --> 00:40:33,750 Bol som schopný písať kód sám dosť rýchlo, výdavky len pár minút 830 00:40:33,750 --> 00:40:35,107 alebo hodín nie je dní. 831 00:40:35,107 --> 00:40:37,190 A ukázalo sa, ja občas potreboval spať. 832 00:40:37,190 --> 00:40:41,270 Takže aj keď môj kód potrebný 8 hodiny behať, dobre, že je v poriadku, 833 00:40:41,270 --> 00:40:42,850 Pôjdem spať, kým to beží. 834 00:40:42,850 --> 00:40:46,350 >> Takže v tej dobe, myslel som, že to veľmi šikovný, aj keď zdanlivo 835 00:40:46,350 --> 00:40:48,990 prepracoval môjho PhD veľmi pomaly. 836 00:40:48,990 --> 00:40:52,270 Ale hovoriť o ktorý je že, keď som písali softvér 837 00:40:52,270 --> 00:40:55,930 pre ostatných ľudí, ktorí záležalo viac ako ja, no, 838 00:40:55,930 --> 00:40:59,580 s nimi čakať 8 hodín dostať späť svoje výsledky vyhľadávania 839 00:40:59,580 --> 00:41:01,350 nie je všetko, že presvedčivé. 840 00:41:01,350 --> 00:41:04,090 A tak trávia viac času vpredu písať softvér 841 00:41:04,090 --> 00:41:07,300 že je efektívnejšie, ako náš tretí algoritmus, 842 00:41:07,300 --> 00:41:09,780 Pravdepodobne je prospešný pre užívateľov v priebehu času. 843 00:41:09,780 --> 00:41:12,710 Takže to naozaj záleží viac ako Doba, ako tieto náklady sa sčítajú. 844 00:41:12,710 --> 00:41:14,960 Ak sa chystáte písať softvér ju raz použiť, 845 00:41:14,960 --> 00:41:17,240 Asi by bolo dobré urobiť rýchle a špinavé, ako sa hovorí. 846 00:41:17,240 --> 00:41:18,198 Len to hodiť dohromady. 847 00:41:18,198 --> 00:41:20,560 Je to kód, ktorý uvádza do rozpakov vy, je to tak zlé, 848 00:41:20,560 --> 00:41:23,860 ale dostane úlohu správne, aj keď to nie je efektívne. 849 00:41:23,860 --> 00:41:27,200 Naopak, budete tráviť viac času na niečom, si to tak akurát. 850 00:41:27,200 --> 00:41:30,730 A potom rozpúšťané v priebehu času, že priame náklady času 851 00:41:30,730 --> 00:41:34,330 je pravdepodobne stojí za to, ak budete mať optimalizácia pre bežný prípad. 852 00:41:34,330 --> 00:41:37,620 >> A vskutku, to je téma v programovanie, alebo počítačová veda viac 853 00:41:37,620 --> 00:41:41,390 Všeobecne platí, že sa snaží optimalizovať Nie je nezvyčajné pre prípad 854 00:41:41,390 --> 00:41:44,390 ale spoločné case-- aká operácie sa bude diať znova a znova? 855 00:41:44,390 --> 00:41:47,730 Ak budete mať miliardy užívateľov vyhľadávania na svojich webových stránkach, 856 00:41:47,730 --> 00:41:52,030 asi by ste mali stráviť ďalšie týždňov až pred písanie lepší softvér, 857 00:41:52,030 --> 00:41:53,670 takže všetci vaši užívatelia ťažiť. 858 00:41:53,670 --> 00:41:57,840 Teraz sa poďme pokúsiť sa zachytiť tento A Trochu obrazovo, ale nie toľko, 859 00:41:57,840 --> 00:41:58,610 numericky. 860 00:41:58,610 --> 00:42:01,680 >> Tak tu je proste stará škola graf. 861 00:42:01,680 --> 00:42:04,260 A dovoľte mi povedať, že toto je čas. 862 00:42:04,260 --> 00:42:06,660 A nezáleží na tom, what-- Vlastne nie, nie je čas. 863 00:42:06,660 --> 00:42:08,320 Povedzme, že na druhej osi. 864 00:42:08,320 --> 00:42:15,700 Povedzme, že to je doba, a to je veľkosť problému. 865 00:42:15,700 --> 00:42:17,830 >> A počítačový vedec Možno vo všeobecnosti požadujú 866 00:42:17,830 --> 00:42:20,820 to len n. n je ako Naše go-premenná, kde 867 00:42:20,820 --> 00:42:26,351 n je číslo, číslo n, a to je počet vstupov akýmikoľvek máte. 868 00:42:26,351 --> 00:42:28,100 Takže v tomto prípade je n počet strán. 869 00:42:28,100 --> 00:42:30,150 Tak to by mohlo byť v 1000 tento prípad sme práve povedal. 870 00:42:30,150 --> 00:42:31,969 >> Takže čas môže byť akákoľvek jednotka merania. 871 00:42:31,969 --> 00:42:32,760 Možno, že je to druhé. 872 00:42:32,760 --> 00:42:33,410 Možno, že je to dní. 873 00:42:33,410 --> 00:42:34,590 Možno, je to ako otočené stránky. 874 00:42:34,590 --> 00:42:35,215 Nezáleží. 875 00:42:35,215 --> 00:42:38,840 Či už chcete počítať sa tým, že bude čas, alebo náklady ekvivalentne. 876 00:42:38,840 --> 00:42:42,400 >> Takže s tým úplne prvým algoritmus, keby som napríklad, 877 00:42:42,400 --> 00:42:45,920 mal 1000-stranový telefónny zoznam, Idem k tomu bodku tam, 878 00:42:45,920 --> 00:42:51,450 pretože ak je to 1000 stránok, trvalo zhruba 1000 otočených strán, plus mínus. 879 00:42:51,450 --> 00:42:54,100 A potom, ak som mal 2000-stránkové telefónny zoznam, 880 00:42:54,100 --> 00:42:57,200 a budem čerpať druhý dot tu, pretože pre 2000 strán, 881 00:42:57,200 --> 00:42:59,810 Je to ako 2,000 sekundy alebo otáčať stránky alebo čokoľvek iného. 882 00:42:59,810 --> 00:43:02,480 A tak keď som povedal predtým, je to druh lineárneho vzťahu, 883 00:43:02,480 --> 00:43:06,020 že bolo zámerné, pretože som chcela Neskôr on-- právo now-- urobiť hrubú čiaru. 884 00:43:06,020 --> 00:43:07,770 Je to niečo ako rovný linka vzťah. 885 00:43:07,770 --> 00:43:10,180 Svah je 1/1, ak chcete. 886 00:43:10,180 --> 00:43:14,630 >> Medzitým, druhý algoritmus znamená, že ak máte 1000 stránok 887 00:43:14,630 --> 00:43:17,680 a vy ste pomocou druhého algoritmu, kde som počítal od 2 rokov, sústruženie 888 00:43:17,680 --> 00:43:22,564 dve stránky naraz, mal by som kresliť bodka pod alebo nad mojej pôvodnej bodkou? 889 00:43:22,564 --> 00:43:23,450 >> Divákov: Pod. 890 00:43:23,450 --> 00:43:27,992 >> DAVID Malan: Dole, pretože, ako sme videli, trvá kratší čas, polovicu toľko času. 891 00:43:27,992 --> 00:43:29,950 Takže bodka by mala byť polovica tak vysoko, ako druhá. 892 00:43:29,950 --> 00:43:33,330 A rovnaký problém tu, to bodka by pravdepodobne mala byť zhruba tam. 893 00:43:33,330 --> 00:43:39,666 A tak môj druhý algoritmus, podobne, má lineárny vzťah s časom. 894 00:43:39,666 --> 00:43:41,990 A môžeme čerpať ju ako takú. 895 00:43:41,990 --> 00:43:45,950 >> Takže teraz, tretí a posledný Algoritmus je trochu ťažšie čerpať. 896 00:43:45,950 --> 00:43:49,530 Ale intuitívne, či mám 1000 Stránky s mojím tretím algoritmu 897 00:43:49,530 --> 00:43:52,340 to by malo trvať ma len ako 10 stupňov. 898 00:43:52,340 --> 00:43:57,500 A či mám 2,000 stránok s mojím tretím algoritmu 899 00:43:57,500 --> 00:44:01,570 to by ma neberte 10 Kroky, ale 11, len jeden. 900 00:44:01,570 --> 00:44:03,610 Takže budeme len ťažko bude vidieť. 901 00:44:03,610 --> 00:44:06,010 >> A ukázalo sa, ak Aj priblížiť na to, že som 902 00:44:06,010 --> 00:44:09,320 bude preháňať na efekt, Tvar tejto línie, v konečnom dôsledku, 903 00:44:09,320 --> 00:44:11,990 nie je priamy line-- preto, že v skutočnosti by to bolo, 904 00:44:11,990 --> 00:44:15,390 to bude vyzerať viac páči others-- je to vlastne krivka 905 00:44:15,390 --> 00:44:19,265 že ak by sme priblížiť, sa deje vyzerať oveľa takto. 906 00:44:19,265 --> 00:44:21,670 To-- dobre, OK, ignorovať túto časť. 907 00:44:21,670 --> 00:44:25,330 To bola moja pero ísť z uhla. 908 00:44:25,330 --> 00:44:29,000 Je to zakrivené línie, ktorá je vždy rastie, vždy, vždy, vždy 909 00:44:29,000 --> 00:44:32,100 zvyšuje, ale len ťažko. 910 00:44:32,100 --> 00:44:36,260 >> A tak v priebehu času, máte Vzťah, ktorý je viac takhle. 911 00:44:36,260 --> 00:44:37,540 Je to skoro vyzerá rovno. 912 00:44:37,540 --> 00:44:40,330 Ale je to niekedy tak pomaly rastie. 913 00:44:40,330 --> 00:44:44,780 Ale pre takmer všetky body pozdĺž Váš os x, vodorovná os, 914 00:44:44,780 --> 00:44:46,550 to je menej ako tých ostatných tratiach. 915 00:44:46,550 --> 00:44:49,930 >> Takže to môže byť vzťah n, pričom ak máte n stránok, 916 00:44:49,930 --> 00:44:51,100 vás vezme n sekúnd. 917 00:44:51,100 --> 00:44:53,320 To môže byť vzťah n / 2. 918 00:44:53,320 --> 00:44:56,710 Máte n stránok, trvá ste n / 2 sekundy, polovica toľko. 919 00:44:56,710 --> 00:45:00,590 A to je logaritmické Vzťah, ktorý 920 00:45:00,590 --> 00:45:08,920 Ak si spomínate, log základňu 2 z n zachytí Tento druh rastu, tak povediac. 921 00:45:08,920 --> 00:45:12,000 Tak toto je ten typ svätý grál medzi tromi z nich 922 00:45:12,000 --> 00:45:15,940 tu, pretože je to jednoducho oveľa viac efektívny, ale pravdepodobne zložitejšie 923 00:45:15,940 --> 00:45:18,610 vykonávať. 924 00:45:18,610 --> 00:45:20,510 Nejaké otázky? 925 00:45:20,510 --> 00:45:26,220 >> No dovoľte mi, aby som to urobiť, nech me Otvorí sa textové okno 926 00:45:26,220 --> 00:45:29,100 Len tak sa môžeme pokúsiť formovať niečo tu. 927 00:45:29,100 --> 00:45:32,410 Tak nechaj ma ísť dopredu a hneď implementovať tento algoritmus 928 00:45:32,410 --> 00:45:35,170 pre nájdenie Mike Smith v kóde, ak chcete, pseudokód kód. 929 00:45:35,170 --> 00:45:36,620 Nebudem používať Java alebo C ++. 930 00:45:36,620 --> 00:45:38,610 Práve idem používať typ Anglický-ako syntax, ktoré sme 931 00:45:38,610 --> 00:45:40,151 by všeobecne nazývajú pseudocode kód. 932 00:45:40,151 --> 00:45:41,660 Tu mám prázdne okno. 933 00:45:41,660 --> 00:45:48,180 A ja hovorím kroku 1 veľmi Prvý algoritmus je vyzdvihnúť telefónneho zoznamu. 934 00:45:48,180 --> 00:45:51,740 Krok 2 je otvorená kniha na prvej strane. 935 00:45:51,740 --> 00:45:58,080 Krok 3 bude pozrieť sa na stránka pre Mike Smith. 936 00:45:58,080 --> 00:46:02,740 Ak sa na strane, volajte Miku. 937 00:46:02,740 --> 00:46:11,640 else turn stránky a prejdite na krok 3. 938 00:46:11,640 --> 00:46:13,590 Hotovo, povedzme. 939 00:46:13,590 --> 00:46:18,110 >> A tak to nie je úplne dokonalá, ktorý uvidíme za chvíľu. 940 00:46:18,110 --> 00:46:21,050 Ale poďme zvážiť, aké koncepty som tu predstavený. 941 00:46:21,050 --> 00:46:24,450 Takže kroky 1 a 2 a 3 sú do značnej miery slovesá. 942 00:46:24,450 --> 00:46:26,544 Sú to výroky, actions-- to urobiť. 943 00:46:26,544 --> 00:46:28,710 A tak v programovaní jazyk, by sme sa všeobecne 944 00:46:28,710 --> 00:46:32,349 volajte im vyhlásenie alebo funkcie alebo postupy, 945 00:46:32,349 --> 00:46:33,640 Nazývame je celý rad vecí. 946 00:46:33,640 --> 00:46:35,460 Ale sú to len actions-- to urobiť. 947 00:46:35,460 --> 00:46:40,370 >> Krok 4 je zásadne odlišný, pretože je to druh položenie otázky. 948 00:46:40,370 --> 00:46:42,400 To hovorí, že sme druh zo na rázcestí. 949 00:46:42,400 --> 00:46:48,000 Ak Mike je na strane, volajte ho, tak doľava, ak chcete. 950 00:46:48,000 --> 00:46:52,170 A ak nie, vráťte sa k niektorým Iný page-- alebo skôr ľúto, 951 00:46:52,170 --> 00:46:56,650 vrátiť sa do nejakého iného kroku, ktorý vyvoláva nejaké kľučky tvoriaci konštrukt. 952 00:46:56,650 --> 00:46:59,530 A robíme to znova a znova a znova. 953 00:46:59,530 --> 00:47:01,300 >> A skutočne, viete čo? 954 00:47:01,300 --> 00:47:01,800 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 potrebujeme druh tretiny stav, pretože vás 958 00:47:11,624 --> 00:47:14,290 nemôže udržať otáčaním stránok inzerát najmenších podrobností, pretože nakoniec budem 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 programe môže byť nepredvídali, že scenár. 961 00:47:18,546 --> 00:47:21,420 A potom už len som si uvedomil, oh, počkať Okamih, musím tretí scenár. 962 00:47:21,420 --> 00:47:23,900 Ak som zo strán, I mali naozaj len zastaviť. 963 00:47:23,900 --> 00:47:25,330 Inak je to nedefinovaná. 964 00:47:25,330 --> 00:47:29,260 Čo sa stane, keď som udržať hovoriť otočiť stránku a vrátiť sa, 965 00:47:29,260 --> 00:47:31,810 To je, keď počítače zmraziť alebo havárie, keď narazí 966 00:47:31,810 --> 00:47:34,160 niektoré neočakávané situácie takhle. 967 00:47:34,160 --> 00:47:37,280 >> A teraz, čo Mike Smithov tretej algorithm-- 968 00:47:37,280 --> 00:47:43,150 zdvihnúť telefónny zoznam, otvorená kniha first-- na 969 00:47:43,150 --> 00:47:48,640 Nie, nie prvý tentoraz stránku, na middle-- oh, no, to by 970 00:47:48,640 --> 00:47:49,640 byť druhý algoritmus. 971 00:47:49,640 --> 00:47:50,590 Povedzme preskočiť na tretiu. 972 00:47:50,590 --> 00:47:50,930 >> Publikum: Oh, ospravedlňujem sa. 973 00:47:50,930 --> 00:47:51,971 >> DAVID Malan: To je v poriadku. 974 00:47:51,971 --> 00:47:58,590 Povedzme preskočiť na third-- open do stredu a teraz hľadať Mike Smith. 975 00:47:58,590 --> 00:48:02,300 ak na strane, volajte Miku. 976 00:48:02,300 --> 00:48:04,910 A potom, čo chceme povedať, tu? 977 00:48:04,910 --> 00:48:06,134 inak čo? 978 00:48:06,134 --> 00:48:10,620 979 00:48:10,620 --> 00:48:12,370 Môžeme to vyjadriť v mnohých rôznymi spôsobmi. 980 00:48:12,370 --> 00:48:13,369 Neexistuje žiadna správna odpoveď. 981 00:48:13,369 --> 00:48:20,819 982 00:48:20,819 --> 00:48:23,735 OK, ak nie ešte raz, ale musíme be-- OK, my chceme rozdeliť na dve časti, 983 00:48:23,735 --> 00:48:25,630 ale chceme ísť doľava alebo doprava ísť? 984 00:48:25,630 --> 00:48:29,560 Ako môžeme vyjadriť túto myšlienku? 985 00:48:29,560 --> 00:48:31,790 No, v prípade, že Mikova, áno, to je fér. 986 00:48:31,790 --> 00:48:35,050 Ale v poriadku, takže je to vlastne dobrý postreh. 987 00:48:35,050 --> 00:48:35,550 To je v poriadku. 988 00:48:35,550 --> 00:48:36,924 Budeme pokračovať s touto logikou. 989 00:48:36,924 --> 00:48:38,182 tak-- 990 00:48:38,182 --> 00:48:39,810 >> Divákov: Menej ako polovicu. 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 hovoriť, menej ako Smith, vľavo Smith, 993 00:48:49,820 --> 00:48:52,220 then-- pozrime, je to bude komplikovať? 994 00:48:52,220 --> 00:49:01,885 else if strana pochádza pred Smithom, trhali na polovicu, vyhodiť toho polovica? 995 00:49:01,885 --> 00:49:05,643 996 00:49:05,643 --> 00:49:09,140 >> Divákov: Myslel som, že bol [nepočuteľné]. 997 00:49:09,140 --> 00:49:11,650 >> DAVID Malan: počujem obe odpovede. 998 00:49:11,650 --> 00:49:12,431 >> Divákov: Ľavý. 999 00:49:12,431 --> 00:49:14,430 DAVID Malan: OK, hádzať preč ľavú polovicu, as Lakis 1000 00:49:14,430 --> 00:49:19,700 povedal skôr, ľavý polovice, potom som trochu 1001 00:49:19,700 --> 00:49:23,940 chcú jednoducho ísť to-- idem na pravej strane. 1002 00:49:23,940 --> 00:49:27,380 Alebo ekvivalentne, a urobil som trochu trochu neporiadok začiatku tu, 1003 00:49:27,380 --> 00:49:30,760 Aj účinne chcem prejdite na krok 2 znova, 1004 00:49:30,760 --> 00:49:38,270 kde otvorená middle-- alebo open-- jo, povedzme, stránky do stredu ihriska. 1005 00:49:38,270 --> 00:49:39,020 A to rieši ju. 1006 00:49:39,020 --> 00:49:39,936 Už to nie je kniha. 1007 00:49:39,936 --> 00:49:42,210 Je to len polovica knihy, tak otvorené strany do stredu. 1008 00:49:42,210 --> 00:49:44,010 >> else-- tam skoro boli. 1009 00:49:44,010 --> 00:49:54,000 Krok 6, else if strana prichádza potom, čo Smith, trhať na polovicu, vyhodiť pravú polovicu, 1010 00:49:54,000 --> 00:49:55,680 prejdite na krok 2. 1011 00:49:55,680 --> 00:49:58,920 1012 00:49:58,920 --> 00:50:05,230 inak skončiť, štvrtý scenár, ak nemáme počet strán sa obrátiť. 1013 00:50:05,230 --> 00:50:06,394 Takže by sme mohli vyčistiť to. 1014 00:50:06,394 --> 00:50:07,560 A my sme mali čistiť to. 1015 00:50:07,560 --> 00:50:10,656 To je veľmi pseudocode kód, ak ste áno, opis veľmi vysokej úrovni. 1016 00:50:10,656 --> 00:50:12,280 Ale to všeobecne zachytiť myšlienku. 1017 00:50:12,280 --> 00:50:16,040 >> A opäť, v tomto prípade sme majú poňatie o stave, 1018 00:50:16,040 --> 00:50:20,450 vetva, vidlička na ceste, čím decision --- Ak to, ísť tadiaľ, 1019 00:50:20,450 --> 00:50:23,082 else if, ísť tadiaľ, else if, tadiaľ. 1020 00:50:23,082 --> 00:50:25,040 A to je veľmi častý programovacie techniky 1021 00:50:25,040 --> 00:50:27,721 rozhodnúť, akým smerom ísť, aby som tak povedal. 1022 00:50:27,721 --> 00:50:29,970 A máme aj nejakú zo slučky štruktúry, kde 1023 00:50:29,970 --> 00:50:32,440 robíme niečo znovu a znovu. 1024 00:50:32,440 --> 00:50:34,820 >> Teraz sa ukázalo, oveľa ako v tomto príklade, 1025 00:50:34,820 --> 00:50:37,660 bytia Super presná je dôležité. 1026 00:50:37,660 --> 00:50:42,180 Ale tiež sme videli niečo že držíme volanie abstrakciu. 1027 00:50:42,180 --> 00:50:45,490 Čo to znamená zdvihnúť telefónny zoznam? 1028 00:50:45,490 --> 00:50:47,740 Sme len tak užívať za samozrejmosť v tejto miestnosti 1029 00:50:47,740 --> 00:50:49,340 že má nejaký sémantický význam. 1030 00:50:49,340 --> 00:50:51,740 Každý z nás tak nejako viem, oh, No, zdvihnúť telefónny zoznam. 1031 00:50:51,740 --> 00:50:52,864 Čo to vlastne znamená? 1032 00:50:52,864 --> 00:50:59,060 No, to v skutočnosti znamená predĺženie ruka, naklonil, predĺžiť prsty, 1033 00:50:59,060 --> 00:51:03,890 štipka knihu medzi prstami, vstať, pritiahne ruku smerom k sebe. 1034 00:51:03,890 --> 00:51:05,940 A mohli by sme byť naozaj pedantská o tom, 1035 00:51:05,940 --> 00:51:08,640 Naozaj je mimoriadne presná pokiaľ ide o to, čo robím. 1036 00:51:08,640 --> 00:51:13,300 Ale všetky tieto kroky sú kolektívne čo to znamená zdvihnúť telefónny zoznam. 1037 00:51:13,300 --> 00:51:16,940 >> A tak skôr, keď som povedal, každý z týchto prvých dvoch výkazoch 1038 00:51:16,940 --> 00:51:20,830 si možno predstaviť ako postupovať alebo funkcie, 1039 00:51:20,830 --> 00:51:24,090 Naozaj to reprezentuje to, čo sme udržiavať volanie abstrakciu. 1040 00:51:24,090 --> 00:51:28,770 Je to ako na vysokej úrovni koncepčné popis problému, ktorý 1041 00:51:28,770 --> 00:51:31,110 ide vlastne o pomerne málo krokov. 1042 00:51:31,110 --> 00:51:34,190 A tak to aj je opakujúce sa téma v programovaní, 1043 00:51:34,190 --> 00:51:41,125 kde by som mohol napísať program pomocou syntaxe ako 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 som chystá niečo ukradnúť 1047 00:51:46,510 --> 00:51:48,090 od väčšiny programovacích jazykov. 1048 00:51:48,090 --> 00:51:51,270 >> Teraz krok 1 vyzerá ešte skôr ako funkcia, 1049 00:51:51,270 --> 00:51:53,160 ako programátor by sa to nazvať. 1050 00:51:53,160 --> 00:51:58,650 Vyzerá to, že kód, ktorý niekto dal názov a vzhľadom k tomu, 1051 00:51:58,650 --> 00:52:03,300 sa mi používať somehow-- v iných Slová, čo čiara som zvýraznené 1052 00:52:03,300 --> 00:52:07,050 predstavuje funkcie, ktoré možno Ani som sa realizovať sám. 1053 00:52:07,050 --> 00:52:10,410 Niekto starší, múdrejší než ja už prišiel na to, 1054 00:52:10,410 --> 00:52:12,700 ako vyjadriť myšlienku vyzdvihnutie telefónneho zoznamu. 1055 00:52:12,700 --> 00:52:15,860 A je to ako piatich krokoch som len vychrlil, z vrcholu mojej hlavy. 1056 00:52:15,860 --> 00:52:19,350 >> Ale on alebo ona už bola vykonaná to dal ty niekoľko krokov 1057 00:52:19,350 --> 00:52:22,339 meno, pick_up_phone_book. 1058 00:52:22,339 --> 00:52:24,380 A zátvorkách je uvedený len to, čo väčšina programátorov 1059 00:52:24,380 --> 00:52:27,100 robiť na konci vyhlásenie, ako je tento. 1060 00:52:27,100 --> 00:52:30,190 Teraz môžem postaviť na jeho alebo jej ramená a už nikdy, 1061 00:52:30,190 --> 00:52:32,465 premýšľať o tom, čo to znamená vyzdvihnúť telefónneho zoznamu. 1062 00:52:32,465 --> 00:52:34,090 Môžem len povedať, zdvihnúť telefónny zoznam. 1063 00:52:34,090 --> 00:52:36,690 A to je presne to, čo my všetci ľudia tu urobil. 1064 00:52:36,690 --> 00:52:38,940 >> Keď sme boli asi 1 ročný, 2 roky starý, 1065 00:52:38,940 --> 00:52:41,690 niekto musel nás učí, čo to chcel vyzdvihnúť telefónneho zoznamu. 1066 00:52:41,690 --> 00:52:43,810 A od tej doby, sme abstrahovať preč 1067 00:52:43,810 --> 00:52:46,739 od tých veľmi nezaujímavé mechanické kroky. 1068 00:52:46,739 --> 00:52:48,530 A my len mať intuitívne chápanie 1069 00:52:48,530 --> 00:52:50,480 o tom, čo to znamená vyzdvihnúť telefónneho zoznamu. 1070 00:52:50,480 --> 00:52:55,730 >> A môžete extrapolovať teraz na zložitejšie things-- 1071 00:52:55,730 --> 00:52:57,640 postaviť budovu. 1072 00:52:57,640 --> 00:52:59,940 Ako, pre niektorých ľudí, že má v skutočnosti význam. 1073 00:52:59,940 --> 00:53:03,080 Dodávateľom, pre architektov, že má nejaký význam. 1074 00:53:03,080 --> 00:53:06,400 A oni by vedieť, čo robiť, ak Povedal som ísť postaviť budovu. 1075 00:53:06,400 --> 00:53:10,520 >> Ale väčšina z nás v miestnosti nemohol vysporiadať sa s touto úrovňou abstrakcie. 1076 00:53:10,520 --> 00:53:14,850 Je potrebné povedať nám páči choď lopata a choď betónu 1077 00:53:14,850 --> 00:53:17,250 a nechty kúsky dreva dohromady a čokoľvek iné 1078 00:53:17,250 --> 00:53:18,830 sa podieľa na stavbe budovy. 1079 00:53:18,830 --> 00:53:21,690 A to preto, že nemáme doteraz naprogramovaný tak, aby pochopili 1080 00:53:21,690 --> 00:53:23,629 čo to znamená postaviť budovu. 1081 00:53:23,629 --> 00:53:24,920 Nemáme tu abstrakciu. 1082 00:53:24,920 --> 00:53:26,570 Nemáme túto funkciu. 1083 00:53:26,570 --> 00:53:29,930 >> A tak to, čo uvidíte v programovacie jazyky, všeobecne, 1084 00:53:29,930 --> 00:53:34,570 najmä viac moderných jazykov, ako je Java, PHP, Ruby a Python, 1085 00:53:34,570 --> 00:53:37,610 sú oveľa vyspelejšie ako staršie jazykov, 1086 00:53:37,610 --> 00:53:40,140 ako C a C ++ a napriek tomu iní. 1087 00:53:40,140 --> 00:53:42,580 A tak prídu s viacerými Funkcia postavená v roku. 1088 00:53:42,580 --> 00:53:45,640 Viac kód bol napísaný ľudia v minulosti 1089 00:53:45,640 --> 00:53:50,520 že teraz môžeme volať alebo privolať alebo použiť, ako som naznačuje 1090 00:53:50,520 --> 00:53:52,231 na s tým zvýrazní líniu tu. 1091 00:53:52,231 --> 00:53:55,230 A tak aj keď nehovoríme o programovacích jazykoch ako takých, 1092 00:53:55,230 --> 00:54:00,230 Len pseudocode kód, všetky myšlienky sú stále v tejto diskusii. 1093 00:54:00,230 --> 00:54:04,600 A ukázalo sa, presnosť je Super dôležitá, rovnako ako abstrakcie. 1094 00:54:04,600 --> 00:54:06,570 A skúsme oznámiť, že takto. 1095 00:54:06,570 --> 00:54:11,000 >> Omylom som mohol pokazené Tento blikaním snímku na obrazovke 1096 00:54:11,000 --> 00:54:12,260 predčasne. 1097 00:54:12,260 --> 00:54:16,550 Ale dovoľte mi požiadať o statočnej dobrovoľníka, ak vám nevadí, že prísť. 1098 00:54:16,550 --> 00:54:19,040 To by ste sa v prednej časti kamera, ak ste s tým OK. 1099 00:54:19,040 --> 00:54:24,950 Chcel by niekto prísť a dať pokyny svojim kolegom tu? 1100 00:54:24,950 --> 00:54:29,540 Jednoducho musieť prísť sem a stáť tu a hovoriť pár slov. 1101 00:54:29,540 --> 00:54:32,890 >> Victoria sa usmieva najviac a vyhnúť sa oči najviac. 1102 00:54:32,890 --> 00:54:34,740 By ste boli ochotní ísť hore? 1103 00:54:34,740 --> 00:54:35,240 OK. 1104 00:54:35,240 --> 00:54:38,480 A ak sa všetci na svojich miestach mohol vziať si kus šrotu papiera, 1105 00:54:38,480 --> 00:54:39,750 ak chcete. 1106 00:54:39,750 --> 00:54:40,760 Linajkový papier je v poriadku. 1107 00:54:40,760 --> 00:54:41,990 Poďte okolo tadiaľ. 1108 00:54:41,990 --> 00:54:44,580 Alebo niektoré z papiera, ktorý ste dostali včera, 1109 00:54:44,580 --> 00:54:46,493 hocijaký prázdny hárok papiera, keby si mohol. 1110 00:54:46,493 --> 00:54:52,240 1111 00:54:52,240 --> 00:54:54,870 A v prípade, že nemáte žiadne, stačí ak by ste mohli požiadať svojho suseda. 1112 00:54:54,870 --> 00:55:04,220 1113 00:55:04,220 --> 00:55:07,580 >> Takže pre túto chvíľu, pre tento príklad, Victoria 1114 00:55:07,580 --> 00:55:11,520 bude hrať rolu programátor, inžinier, ktorý 1115 00:55:11,520 --> 00:55:16,130 potrebuje program všetkých, as počítače, aby niečo urobiť. 1116 00:55:16,130 --> 00:55:19,570 A uvidíme, aké predpoklady sa rozhodnete vykonať. 1117 00:55:19,570 --> 00:55:22,700 Uvidíme, ako presný sa rozhodne byť. 1118 00:55:22,700 --> 00:55:26,220 A ak je táto demonštrácia ide pedagogicky dobre, veľa chýb 1119 00:55:26,220 --> 00:55:29,220 bude, že budeme potom použite že ako príležitosť na diskusiu. 1120 00:55:29,220 --> 00:55:32,010 Ale výzva pre vás mal bolo vyhnúť sa tie chyby, 1121 00:55:32,010 --> 00:55:32,896 byť dobrý programátor. 1122 00:55:32,896 --> 00:55:35,520 A tak náročná úloha po ruke, ak by ste rád chodiť sem, 1123 00:55:35,520 --> 00:55:38,799 je v prednej časti Victoria na obrazovke here-- a dúfajme, že nikto z vás 1124 00:55:38,799 --> 00:55:40,590 pamätať, keď som blysol na obrazovke. 1125 00:55:40,590 --> 00:55:44,097 A nie otočiť vôbec, pretože tam je ďalší obrazovky v tejto miestnosti 1126 00:55:44,097 --> 00:55:44,930 že môžem vypnúť. 1127 00:55:44,930 --> 00:55:46,620 Takže sa nemusíte otočiť. 1128 00:55:46,620 --> 00:55:49,090 >> V prednej časti Victoria je ten istý výkrik. 1129 00:55:49,090 --> 00:55:54,170 A jej úlohou je teraz ti všetko na kus papiera, čo k tomu. 1130 00:55:54,170 --> 00:55:57,020 A uvidíme, na základe verbálne pokyny sám, 1131 00:55:57,020 --> 00:56:00,020 počítačový kód, ak chcete, ako presné výkresy 1132 00:56:00,020 --> 00:56:02,330 are-- vaše implementácie sú. 1133 00:56:02,330 --> 00:56:02,980 Dáva zmysel? 1134 00:56:02,980 --> 00:56:03,604 >> Divákov: Jo. 1135 00:56:03,604 --> 00:56:04,980 DAVID Malan: OK, vykonať. 1136 00:56:04,980 --> 00:56:06,030 >> Divákov: nakresliť štvorec. 1137 00:56:06,030 --> 00:56:09,050 >> [Smiech], 1138 00:56:09,050 --> 00:56:12,310 >> DAVID Malan: A nikto Otázky môžu byť položené. 1139 00:56:12,310 --> 00:56:13,720 Môže robiť len to, čo ste povedal. 1140 00:56:13,720 --> 00:56:17,570 1141 00:56:17,570 --> 00:56:22,550 Jo, a ak máte dnešnej kĺzačky otvorí v karte, nepozerajte sa na karte. 1142 00:56:22,550 --> 00:56:23,670 OK? 1143 00:56:23,670 --> 00:56:26,135 >> Publikum: OK, nakreslite kruh. 1144 00:56:26,135 --> 00:56:32,544 1145 00:56:32,544 --> 00:56:34,872 Slope-- môžem povedať 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ákov: vo svahu. 1149 00:56:38,980 --> 00:56:46,330 1150 00:56:46,330 --> 00:56:49,795 A trojuholník. 1151 00:56:49,795 --> 00:56:50,850 >> DAVID Malan: Dobre. 1152 00:56:50,850 --> 00:56:52,286 A tu zostať len na chvíľu. 1153 00:56:52,286 --> 00:56:56,046 1154 00:56:56,046 --> 00:56:58,910 A ja idem prísť asi za chvíľu. 1155 00:56:58,910 --> 00:57:02,420 A nie je nutné dať svoje meno na to. 1156 00:57:02,420 --> 00:57:05,030 Nechaj ma ísť okolo a zbierať svoje kresby, 1157 00:57:05,030 --> 00:57:08,330 ak vám nevadí, že trhá von. 1158 00:57:08,330 --> 00:57:12,110 >> Tu je to, čo sme sa vrátili. 1159 00:57:12,110 --> 00:57:14,770 Ja to premietať na obrazovke. 1160 00:57:14,770 --> 00:57:18,310 Vidím štvorec, kruh, svah, a trojuholník. 1161 00:57:18,310 --> 00:57:20,130 Takže tam jedna odpoveď. 1162 00:57:20,130 --> 00:57:23,640 A let's-- pokriky. 1163 00:57:23,640 --> 00:57:25,370 Ďakujem. 1164 00:57:25,370 --> 00:57:30,710 Tu je iný 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 sa všetci zdajú zachytiť ducha. 1167 00:57:37,120 --> 00:57:38,600 Ďakujem. 1168 00:57:38,600 --> 00:57:44,970 Je tu ďalší, a tu je ešte jeden. 1169 00:57:44,970 --> 00:57:51,590 Výklad svah je trochu inak, trochu krivky. 1170 00:57:51,590 --> 00:57:57,140 A najbližší, buď z dôvodu nádherné špecifickosť, s ktorou som 1171 00:57:57,140 --> 00:58:03,520 popísané, alebo možno trochu videl, že predtým, je to skutočne 1172 00:58:03,520 --> 00:58:06,340 Čo Victoria bol vlastne popisovať. 1173 00:58:06,340 --> 00:58:09,190 >> Ale teraz, tí z vás, ktorí Nedostal to úplne v poriadku, 1174 00:58:09,190 --> 00:58:11,140 poďme ponúkajú niektoré námietky tu. 1175 00:58:11,140 --> 00:58:13,770 Takže Victoria prvý povedal nakresliť štvorec. 1176 00:58:13,770 --> 00:58:15,830 A teraz, môžeme predpokladať, z dôvodu dnes 1177 00:58:15,830 --> 00:58:17,538 že každý vie, Ako nakresliť štvorec. 1178 00:58:17,538 --> 00:58:20,590 Ale to nie je celkom jasné, že jo? 1179 00:58:20,590 --> 00:58:23,220 Ako inak by ste mohli mať prilákalo námestie, alebo tam, kde 1180 00:58:23,220 --> 00:58:27,114 môže byť niektoré z nejasností Tu pre počítač? 1181 00:58:27,114 --> 00:58:28,280 Publikum: Umiestnenie a veľkosť. 1182 00:58:28,280 --> 00:58:28,980 DAVID Malan: Miesto, že jo? 1183 00:58:28,980 --> 00:58:32,070 Všetci z vás mal papier nejakom tvaru, Všeobecne obdĺžniky, ale mierne 1184 00:58:32,070 --> 00:58:32,830 rôznych veľkostiach. 1185 00:58:32,830 --> 00:58:36,250 Ale určite mohol vyvodiť, ak by ste chceli, veľký štvorec, možno 1186 00:58:36,250 --> 00:58:37,220 malý štvorec. 1187 00:58:37,220 --> 00:58:38,417 Možno, že sa otáča. 1188 00:58:38,417 --> 00:58:39,500 Nemyslím si, že sme videli, že. 1189 00:58:39,500 --> 00:58:41,790 Ale mohlo to byť ešte diamant podobne, ale napriek tomu, napriek tomu, 1190 00:58:41,790 --> 00:58:42,900 matematicky štvorec. 1191 00:58:42,900 --> 00:58:44,850 Takže to bol pravdepodobne nejednoznačný. 1192 00:58:44,850 --> 00:58:46,709 >> Potom povedala, nakreslite kruh. 1193 00:58:46,709 --> 00:58:49,250 Niektorí z vás sa to nakresliť vedľa to, čo nie je nerozumné, 1194 00:58:49,250 --> 00:58:52,450 pretože ľudia majú tendenciu si myslieť, alebo čítať sprava doľava vo väčšine jazykov, takže nie 1195 00:58:52,450 --> 00:58:53,017 zlý odhad. 1196 00:58:53,017 --> 00:58:55,100 Ale že kruh by mohol mať Bol vnútri námestie, 1197 00:58:55,100 --> 00:58:57,600 mohlo byť okolo štvorec, by mohlo byť na inom mieste 1198 00:58:57,600 --> 00:58:59,480 na list, takže pravdepodobne nejednoznačný. 1199 00:58:59,480 --> 00:59:03,290 >> Sklon by mohol byť možno pričom najviac slobody verbálne 1200 00:59:03,290 --> 00:59:04,200 s tým, čo to znamená. 1201 00:59:04,200 --> 00:59:06,980 A niektorí z vás interpretované že ako kľukatou čiarou 1202 00:59:06,980 --> 00:59:08,560 alebo priamka alebo podobne. 1203 00:59:08,560 --> 00:59:11,719 A potom trojuholník, taky by mohol mať orientovaná v mnohých rôznymi spôsobmi. 1204 00:59:11,719 --> 00:59:14,760 Takže v skratke, dokonca s niečím, vám pohľad a si ako, wow, tak 1205 00:59:14,760 --> 00:59:17,020 jednoduchý, mohol dieťa kresliť to, no nie 1206 00:59:17,020 --> 00:59:19,640 Naozaj, ak nie ste super, super presvedčivý 1207 00:59:19,640 --> 00:59:22,045 a povedali počítači presne to, čo má robiť. 1208 00:59:22,045 --> 00:59:24,420 Takže ak sme mohli, ak máte ďalší list papiera, poďme 1209 00:59:24,420 --> 00:59:26,710 skúsiť to ešte raz. 1210 00:59:26,710 --> 00:59:29,880 A ja idem dať Victoria jedno Ďalším príkladom na obrazovke tu. 1211 00:59:29,880 --> 00:59:34,060 A opäť, nie otočiť a nepozerajte sa na vaše snímky. 1212 00:59:34,060 --> 00:59:37,304 A ja jej dám chvíľku premýšľať o tom, ako opísať to. 1213 00:59:37,304 --> 00:59:39,012 Nedovoľte im vidieť strach v tvojich očiach. 1214 00:59:39,012 --> 00:59:40,820 >> [Smiech], 1215 00:59:40,820 --> 00:59:43,710 >> A opäť, tentoraz pákový efekt Niektoré z týchto stánok s jedlom 1216 00:59:43,710 --> 00:59:48,130 a pokúsiť sa získať takmer každý aspoň správna odpoveď. 1217 00:59:48,130 --> 00:59:52,260 >> Publikum: OK, trvať kus papiera, pozrite sa 1218 00:59:52,260 --> 00:59:54,500 v stredu tohto kusu papiera. 1219 00:59:54,500 --> 00:59:59,591 V strede tohto kusu papiera, nakresliť kocku. 1220 00:59:59,591 --> 01:00:01,244 >> [Smiech], 1221 01:00:01,244 --> 01:00:02,660 DAVID Malan: Čo sme sa naučili? 1222 01:00:02,660 --> 01:00:03,540 Boli sme tak blízko. 1223 01:00:03,540 --> 01:00:06,320 1224 01:00:06,320 --> 01:00:09,045 OK, opakujem, ak mohol, pre každého. 1225 01:00:09,045 --> 01:00:13,210 >> Divákov: V stredu kus papiera, kresliť objekt, 1226 01:00:13,210 --> 01:00:14,842 ktorý vyzerá ako kocky. 1227 01:00:14,842 --> 01:00:17,332 >> DAVID Malan: OK, to je všetko, čo sa do práce s. 1228 01:00:17,332 --> 01:00:20,010 1229 01:00:20,010 --> 01:00:23,080 Dovoľte mi, aby som sa analytický a nie toľko kritická, 1230 01:00:23,080 --> 01:00:25,720 ale aby pohľadávku že Victoria rozhodne 1231 01:00:25,720 --> 01:00:28,967 Zdá sa, že myslenie vo veľmi abstrakcie na vysokej úrovni, ktoré 1232 01:00:28,967 --> 01:00:29,800 nie je neprimeraná. 1233 01:00:29,800 --> 01:00:32,160 Pretože inak by sme boli všetci byť dosť dysfunkčné, 1234 01:00:32,160 --> 01:00:35,740 ak by sme museli byť niekedy tak presná so všetkým, čo robíme vo svete. 1235 01:00:35,740 --> 01:00:38,890 >> Ale reč choď do middle-- I myslel, že sme boli na takej dobrej ceste 1236 01:00:38,890 --> 01:00:42,340 tam, rovnako ako ísť do samého stredu stránky, a potom nakresliť kocku. 1237 01:00:42,340 --> 01:00:45,730 Takže si myslí v abstrakcii, pretože ona je stále prezeranie 1238 01:00:45,730 --> 01:00:48,490 čo je na obrazovke skutočne kocka. 1239 01:00:48,490 --> 01:00:51,185 Ale je tu toľko príležitostí pre interpretáciu tam. 1240 01:00:51,185 --> 01:00:53,560 A v skutočnosti, tam je toľko Iné spôsoby, ako by ste mohli vyjadriť 1241 01:00:53,560 --> 01:00:55,101 To, čo budem navrhovať za chvíľu. 1242 01:00:55,101 --> 01:00:59,770 Takže tu máme jednu inkarnácii z picture-- whoops-- jednom 1243 01:00:59,770 --> 01:01:02,830 stelesnenie obrazu, takže Trochu tri rozmerom k tomu, 1244 01:01:02,830 --> 01:01:04,160 čo je pekné. 1245 01:01:04,160 --> 01:01:08,470 >> Tu je ešte jeden, kde máte To isté, aj keď je to trochu otvorené kocky. 1246 01:01:08,470 --> 01:01:12,020 Niektorí ľudia to trvalo trochu viac ploché, dvojrozmerné. 1247 01:01:12,020 --> 01:01:13,910 A to je v poriadku. 1248 01:01:13,910 --> 01:01:17,380 Takže tam, naozaj v stred papiera. 1249 01:01:17,380 --> 01:01:22,720 Tento Myslím, že budete podobne, pretože keď ideme sem, 1250 01:01:22,720 --> 01:01:25,130 To je to, čo popisoval. 1251 01:01:25,130 --> 01:01:29,570 Takže teraz mi dovoľte, aby som navrhnúť ako inak by sme mohli opísať túto situáciu. 1252 01:01:29,570 --> 01:01:34,070 >> Späť v deň, jeden z najviac Bežnejšie spôsoby, ako sa učiť programovania 1253 01:01:34,070 --> 01:01:38,900 Bol písať kód, píše línie inštrukcií, 1254 01:01:38,900 --> 01:01:42,640 ktoré sú riadené trochu korytnačka na obrazovke. 1255 01:01:42,640 --> 01:01:45,660 Logo a ďalšie varianty bolo meno jazyka. 1256 01:01:45,660 --> 01:01:47,550 A korytnačka žil vo svete. 1257 01:01:47,550 --> 01:01:49,970 >> Takže predpokladám, že tento obdĺžnikový priestor je jeho svet. 1258 01:01:49,970 --> 01:01:53,340 A vy by ste začať tým, že assuming-- I naozaj neviem, ako k tomu korytnačky, 1259 01:01:53,340 --> 01:01:54,740 takže poďme to takto. 1260 01:01:54,740 --> 01:01:57,340 A potom, že má škrupinu a potom možno niekoľko stôp. 1261 01:01:57,340 --> 01:01:59,840 Takže môžete mať tento malý postava na obrazovke. 1262 01:01:59,840 --> 01:02:02,270 >> A predmetom tohto programovací jazyk 1263 01:02:02,270 --> 01:02:06,070 bolo prinútiť korytnačku ísť hore, dole, doľava, doprava 1264 01:02:06,070 --> 01:02:08,420 a predložiť svoje pero alebo vyzdvihnúť jeho perom hore, 1265 01:02:08,420 --> 01:02:12,720 aby mohol skutočne čerpať na obrazovke V tejto veľmi rovné obdĺžnikové svete. 1266 01:02:12,720 --> 01:02:16,850 Tak kde som myslel, že by ste mohli ísť, a kde by ste mali zvážiť potápanie 1267 01:02:16,850 --> 01:02:19,520 dole psychicky pri popisovaní pokyny všeobecnejšie 1268 01:02:19,520 --> 01:02:21,720 Ja by som tvrdiť, je dať svoje pero dole v middle-- 1269 01:02:21,720 --> 01:02:23,100 a my zbaviť korytnačka, pretože nemôžem 1270 01:02:23,100 --> 01:02:24,680 zachovať pritiahla ho veľmi dobre. 1271 01:02:24,680 --> 01:02:27,170 >> A teraz, ako inak by mohol Hovorím nakresliť kocku? 1272 01:02:27,170 --> 01:02:32,830 No, mohli by sme povedať niečo ako remízu Šikmá čiara na severovýchod, napríklad, 1273 01:02:32,830 --> 01:02:35,182 alebo v uhle 45 stupňov smerom nahor. 1274 01:02:35,182 --> 01:02:36,640 A to by mohlo ma sem dostal. 1275 01:02:36,640 --> 01:02:38,380 A som celkom ďaleko od kocky. 1276 01:02:38,380 --> 01:02:42,430 Ale teraz, mohol by som niečo povedať ako otočiť o 90 stupňov doľava 1277 01:02:42,430 --> 01:02:47,370 a nakresliť čiaru rovnakej dĺžky severozápad. 1278 01:02:47,370 --> 01:02:49,470 A mohol by som pokračovať s podobnými smeroch. 1279 01:02:49,470 --> 01:02:50,720 A to nebude ľahké. 1280 01:02:50,720 --> 01:02:53,345 A úprimne povedané, pravdepodobne by sme tu už po dobu piatich minút. 1281 01:02:53,345 --> 01:02:59,600 Ale možno by sme sa dostali do niečo, že na konci dňa, 1282 01:02:59,600 --> 01:03:04,280 prestane byť kocka, ale my potápal vnútri tejto abstrakcie 1283 01:03:04,280 --> 01:03:06,370 ako to urobiť na tak nízkej Úroveň že nemôžete naozaj 1284 01:03:06,370 --> 01:03:09,795 vidieť, čo robíte, kým sa celá to je v skutočnosti tam na stránke. 1285 01:03:09,795 --> 01:03:12,670 A tak to je všeobecná zásada, opäť z programming-- tejto myšlienky 1286 01:03:12,670 --> 01:03:13,320 abstrakcie. 1287 01:03:13,320 --> 01:03:15,920 Je to tak úžasne silný, pretože znova 1288 01:03:15,920 --> 01:03:19,281 ona len povedala, nakresliť kocku, ktoré sú všetky nás do značnej miery by Grok veľmi rýchlo. 1289 01:03:19,281 --> 01:03:21,030 Radi by sme jednoducho pochopiť, OK, nakresliť kocku. 1290 01:03:21,030 --> 01:03:24,030 Mohli by sme nevedeli orientáciu, takže sme mohli byť trochu presnejší, 1291 01:03:24,030 --> 01:03:26,297 ale môžeme všeobecne obraz alebo vedieť, čo je kocka. 1292 01:03:26,297 --> 01:03:28,130 A to je užitočné, pretože ak zakaždým, keď 1293 01:03:28,130 --> 01:03:31,540 sadol ako programátor v klávesnicu písať kód, 1294 01:03:31,540 --> 01:03:33,912 ak by ste mali myslieť na také nízka úroveň, nikto z nás 1295 01:03:33,912 --> 01:03:35,120 by nikdy dostať urobiť čokoľvek. 1296 01:03:35,120 --> 01:03:38,259 A iste by nikto z nás teraz proces písania kódu. 1297 01:03:38,259 --> 01:03:41,550 Bolo by to ako písanie 0 a 1 rokoch, čo úprimne povedané nebolo všetko tak dávno 1298 01:03:41,550 --> 01:03:43,680 Ľudia písali kód 0 a 1 je. 1299 01:03:43,680 --> 01:03:46,960 A my sme veľmi rýchlo prišli s Tieto vyššiu úroveň languages-- 1300 01:03:46,960 --> 01:03:49,410 C ++ a Java a ďalšie. 1301 01:03:49,410 --> 01:03:52,500 >> Takže poďme skúsiť ešte raz len preto, aby otočiť tabuľky, takže každý z nás 1302 01:03:52,500 --> 01:03:55,450 majú možnosť premýšľať v trochu rovnakým spôsobom. 1303 01:03:55,450 --> 01:03:59,230 Mohli by sme získať ešte jeden dobrovoľník tento čas prísť k tabuli a kresliť, 1304 01:03:59,230 --> 01:04:01,480 nie recitovať? 1305 01:04:01,480 --> 01:04:02,070 Jo, OK. 1306 01:04:02,070 --> 01:04:04,820 Bene, poď hore. 1307 01:04:04,820 --> 01:04:08,510 A Ben, v tomto prípade, akonáhle vás čeliť doska, nevyzerajú vľavo, 1308 01:04:08,510 --> 01:04:09,370 nevyzerajú dobre. 1309 01:04:09,370 --> 01:04:12,367 Len to, čo vaše kolegom, aby vás tu povedať. 1310 01:04:12,367 --> 01:04:14,950 A pre všetkých ostatných v izba, teraz sú 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 som tu zvolil v predstihu je to jeden tu. 1313 01:04:21,395 --> 01:04:24,490 1314 01:04:24,490 --> 01:04:27,660 Sú jen-- si myslí legrační vtip je všetko. 1315 01:04:27,660 --> 01:04:31,510 >> Tak by sa niekto chcel dobrovoľník prvej inštrukcie 1316 01:04:31,510 --> 01:04:35,470 alebo vyhlásenie, že by príkazové Benov pero? 1317 01:04:35,470 --> 01:04:40,850 A budeme to robiť spoločne, možno jedna inštrukcie od každého človeka. 1318 01:04:40,850 --> 01:04:41,440 Prepáč? 1319 01:04:41,440 --> 01:04:42,440 >> Divákov: Nakreslite kruh. 1320 01:04:42,440 --> 01:04:45,866 DAVID Malan: Nakreslite kruh Je to prvá vec, ktorú som počul. 1321 01:04:45,866 --> 01:04:47,100 >> Divákov: Up hore. 1322 01:04:47,100 --> 01:04:48,140 >> DAVID Malan: Až hore. 1323 01:04:48,140 --> 01:04:52,504 OK, môžeme nechať vymazať, vrátiť späť. 1324 01:04:52,504 --> 01:04:53,420 A teraz niekto iný. 1325 01:04:53,420 --> 01:04:55,994 Dan, mali by ste byť pohodlné ponúka ďalšie inštrukcie? 1326 01:04:55,994 --> 01:05:02,070 >> Publikum: Jasne, kresliť stred zo spodnej časti kruhu, 1327 01:05:02,070 --> 01:05:07,121 s small-- trochu malý priestor od toho, 1328 01:05:07,121 --> 01:05:15,420 nakresliť priamku dole na tri štvrtinách cesty dole doske 1329 01:05:15,420 --> 01:05:17,845 miernom uhle k ľavej strane. 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ákov: pod miernym uhlom. 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 ponúknuť up ďalšie inštrukcie? 1335 01:05:34,890 --> 01:05:35,515 >> Divákov: Iste. 1336 01:05:35,515 --> 01:05:43,250 Zo spodnej časti tejto línie, ďalšie mierne angle-- 1337 01:05:43,250 --> 01:05:49,024 whoops-- možná asi tretina dĺžky [nepočuteľné] 1338 01:05:49,024 --> 01:05:52,928 miernym uhlom dole a sa ako tretine dĺžky [nepočuteľné]. 1339 01:05:52,928 --> 01:05:57,550 1340 01:05:57,550 --> 01:06:00,578 Tak jo, od tohto bodu, nakresliť čiaru tretiny 1341 01:06:00,578 --> 01:06:04,150 dĺžky predchádzajúcej riadok ďalej vľavo. 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 Priamka, to je v poriadku? 1345 01:06:12,330 --> 01:06:14,900 OK, Olivier, chcete ponúknuť až budúci? 1346 01:06:14,900 --> 01:06:28,564 >> Divákov: [nepočuteľné] z Spodná časť kruhu, [nepočuteľné]. 1347 01:06:28,564 --> 01:06:32,000 1348 01:06:32,000 --> 01:06:45,126 Čerpať na pravej strane z [nepočuteľný] centimetrov. 1349 01:06:45,126 --> 01:06:46,560 >> [Smiech], 1350 01:06:46,560 --> 01:06:49,872 >> DAVID Malan: Myslím, že budete musieť previesť to palca tady. 1351 01:06:49,872 --> 01:06:50,764 >> Divákov: Zastaviť. 1352 01:06:50,764 --> 01:06:52,186 >> [Smiech], 1353 01:06:52,186 --> 01:06:54,570 >> DAVID Malan: OK. 1354 01:06:54,570 --> 01:06:56,660 [? Ara ,?] Chcete ponúknuť až budúci? 1355 01:06:56,660 --> 01:07:00,653 1356 01:07:00,653 --> 01:07:15,443 >> Divákov: Nakreslite [nepočuteľné] horná [nepočuteľné] rovnaké. 1357 01:07:15,443 --> 01:07:28,829 [Nepočuteľné] kruh, kresliť na [Nepočuteľné] a čerpať [nepočuteľný]. 1358 01:07:28,829 --> 01:07:33,799 1359 01:07:33,799 --> 01:07:36,730 >> DAVID Malan: OK, nič viac vrátiť späť. 1360 01:07:36,730 --> 01:07:38,390 Urobme ešte jeden alebo dva inštrukcie. 1361 01:07:38,390 --> 01:07:40,825 Chris, chcete ponúknuť jeden? 1362 01:07:40,825 --> 01:07:46,182 >> Divákov: Na dne kruhu, [nepočuteľné] 1363 01:07:46,182 --> 01:07:51,528 kresliť rovné čiary slopping dole doľava [nepočuteľný]. 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-- sme Karim? 1368 01:08:02,472 --> 01:08:06,891 1369 01:08:06,891 --> 01:08:13,765 >> Divákov: Od pravého línie, koniec ľavého vedenia, spodné, 1370 01:08:13,765 --> 01:08:21,012 sa chystáte ísť pravdu rovnako dlhý ako tento riadok 1371 01:08:21,012 --> 01:08:27,680 ste na, kreslenie na právo [nepočuteľné]. 1372 01:08:27,680 --> 01:08:33,572 1373 01:08:33,572 --> 01:08:37,991 [Nepočuteľné] stupňov, takže [nepočuteľné] stupňa na pravej strane. 1374 01:08:37,991 --> 01:08:41,919 1375 01:08:41,919 --> 01:08:43,500 >> DAVID Malan: Dobre. 1376 01:08:43,500 --> 01:08:44,029 Poďme pauza. 1377 01:08:44,029 --> 01:08:44,950 Neotáčaj ešte okolo. 1378 01:08:44,950 --> 01:08:46,783 Poďme pauza, a poďme vyskúšať jeden ďalší pokus 1379 01:08:46,783 --> 01:08:48,850 Než sme sa odhaliť k Benovi čo on bol kreslenie. 1380 01:08:48,850 --> 01:08:51,189 Môžete zamiešať Bena right-- alebo v skutočnosti, 1381 01:08:51,189 --> 01:08:54,080 no, nech to len dať ďalšie doska, ešte lepšie. 1382 01:08:54,080 --> 01:08:57,640 Takže by niekto chcel podnikom aby sa viac prístupu 1383 01:08:57,640 --> 01:09:02,149 že Victoria vzal skôr, pokiaľ hovoríme vo vyššej úrovni abstrakcie 1384 01:09:02,149 --> 01:09:05,149 a len vete alebo dva popísať Bena 1385 01:09:05,149 --> 01:09:07,229 čo k tomu, bez dostať sa do burín, 1386 01:09:07,229 --> 01:09:10,670 tak povediac, na to nižšiu úroveň? 1387 01:09:10,670 --> 01:09:11,206 Victorie. 1388 01:09:11,206 --> 01:09:11,706 [Smiech], 1389 01:09:11,706 --> 01:09:14,249 Divákov: nakresliť postavu z kráčajúceho muža. 1390 01:09:14,249 --> 01:09:18,866 A jeho nohy a ruky musí byť na pravej strane. 1391 01:09:18,866 --> 01:09:20,505 >> DAVID Malan: OK, to je všetko, čo dostanete. 1392 01:09:20,505 --> 01:09:27,210 1393 01:09:27,210 --> 01:09:27,710 Dobre. 1394 01:09:27,710 --> 01:09:31,609 Prečo nie my odhaliť Benovi, čo urobil. 1395 01:09:31,609 --> 01:09:32,890 Tak potlesk. 1396 01:09:32,890 --> 01:09:35,700 To bola tá najťažšia možná. 1397 01:09:35,700 --> 01:09:37,931 >> Takže aj keď hovoríme V pomerne hlúpe, pokiaľ ide 1398 01:09:37,931 --> 01:09:39,680 asi len kreslenie Fotografie, snáď budete 1399 01:09:39,680 --> 01:09:44,226 môže naozaj oceniť mieru výraznosť, že by mohlo byť potrebné 1400 01:09:44,226 --> 01:09:45,850 aby povedať počítaču, čo má robiť. 1401 01:09:45,850 --> 01:09:50,370 A v skutočnosti, že Ben bol schopný nakresliť tak rýchlo 1402 01:09:50,370 --> 01:09:54,227 je trochu zákone použitím jazyk, možno vyššiu úroveň 1403 01:09:54,227 --> 01:09:57,060 verzia angličtiny, ktorá umožňuje ho stačí použiť slová, alebo počuť slová 1404 01:09:57,060 --> 01:09:59,990 od Victorie, že mu umožňujú Tieto abstractions-- len kresliť 1405 01:09:59,990 --> 01:10:03,020 postava chôdzi na right--, že druh má 1406 01:10:03,020 --> 01:10:07,100 niektorí sémantický význam pre to, aby nie je zďaleka tak zrejmé, keď ste len 1407 01:10:07,100 --> 01:10:10,310 povediac: dať svoje pero, kresliť doprava, kresliť doľava. 1408 01:10:10,310 --> 01:10:12,420 >> A tak to taky, je veľmi obyčajný v programovaní. 1409 01:10:12,420 --> 01:10:15,253 To by sa povedať, že sa ako veľmi nízka úroveň jazyka, programovanie 1410 01:10:15,253 --> 01:10:16,730 v 0 a 1, ak budete. 1411 01:10:16,730 --> 01:10:19,320 A to by bola vyššia úroveň programovací jazyk Java, 1412 01:10:19,320 --> 01:10:20,278 alebo nieco podobne. 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 ako emocionálne pocit, že cítite, keď 1415 01:10:24,310 --> 01:10:26,630 pomocou jednej takejto veci alebo iný. 1416 01:10:26,630 --> 01:10:32,650 Trochu frustrácie tu potrebou Pre takou presnosťou, ale príležitosť 1417 01:10:32,650 --> 01:10:34,930 byť trochu voľnejšie s Výklad tu. 1418 01:10:34,930 --> 01:10:38,060 Ale samozrejme, chyby môže vzniknúť ako výsledok. 1419 01:10:38,060 --> 01:10:40,500 >> Ak by ste chceli na home-- my nebude robiť toto jeden v class-- 1420 01:10:40,500 --> 01:10:41,900 ale ak chcete priviesť túto domov, 1421 01:10:41,900 --> 01:10:43,387 Myslel som, že by sme sa ponoriť do tohto. 1422 01:10:43,387 --> 01:10:45,970 Takže ak by ste chceli zahrať Hra s vašou ďalších významných 1423 01:10:45,970 --> 01:10:49,180 alebo deti alebo podobne, vy sa môžu tešiť, že rovnako. 1424 01:10:49,180 --> 01:10:54,460 >> Tak poďme do toho a pozrite sa na jeden posledný vec, ktorú tu pre počítačovú myslenie. 1425 01:10:54,460 --> 01:10:57,010 A to nás privádza k Johnovi Oliver, nie pre klip 1426 01:10:57,010 --> 01:11:00,070 ste mohli vidieť v noci, ale trochu nedávnom vydaní. 1427 01:11:00,070 --> 01:11:03,310 Niekoľko mesiacov späť, Volkswagen trvalo celkom dosť ostrej kritiky 1428 01:11:03,310 --> 01:11:05,651 z akého dôvodu, ak viete? 1429 01:11:05,651 --> 01:11:07,025 Čo sa dostanú do problémov? 1430 01:11:07,025 --> 01:11:10,270 1431 01:11:10,270 --> 01:11:14,030 >> Jo, tak oni emissions-- sa snažia poraziť emisií 1432 01:11:14,030 --> 01:11:19,100 Testy v podstate majú svoje autá znečisťujú životné prostredie menej 1433 01:11:19,100 --> 01:11:23,620 kedy boli testované ich auta a znečisťujú životné prostredie viac 1434 01:11:23,620 --> 01:11:25,547 kedy neboli testované autá. 1435 01:11:25,547 --> 01:11:28,630 A čo je čím ďalej zaujímavejšie vo svete, pretože môžete mať odvodený 1436 01:11:28,630 --> 01:11:34,072 z diskusií o jako--, čo je to-- CarPlay, softvér Apple pre automobily 1437 01:11:34,072 --> 01:11:35,780 a skutočnosť, že mnoho z nás stále viac 1438 01:11:35,780 --> 01:11:38,390 majú dotykovej obrazovky v našich autách, tam je desivé množstvo 1439 01:11:38,390 --> 01:11:41,250 softvéru v ľudovej autá dnes, čo 1440 01:11:41,250 --> 01:11:45,650 Úprimne otvára úplne plechovku červov, keď ide o bezpečnosť a fyzické nebezpečenstvo. 1441 01:11:45,650 --> 01:11:48,070 Ale pre dnešok, poďme sústrediť sa iba to, čo je 1442 01:11:48,070 --> 01:11:52,170 zapojený do písania softvéru ktorá by mohla gamed systému. 1443 01:11:52,170 --> 01:11:54,510 >> Pre definíciu jednotky Problém, pre tých, ktorí nepoznajú, 1444 01:11:54,510 --> 01:11:55,740 poďme sa pozrieť na Johna Olivera. 1445 01:11:55,740 --> 01:11:58,115 A pre tých, ktorí poznajú Problém, poďme sa na to pozrieť 1446 01:11:58,115 --> 01:12:00,480 v zábavnom objektívu cez John Oliver rovnako. 1447 01:12:00,480 --> 01:12:05,810 Takže mi dovoľte hit hrať na to, I myslím, tri minúty úvod. 1448 01:12:05,810 --> 01:12:07,074 Dočerta. 1449 01:12:07,074 --> 01:12:07,740 [Videoprehrávanie] 1450 01:12:07,740 --> 01:12:08,170 -Cars-- 1451 01:12:08,170 --> 01:12:09,919 DAVID Malan: Je zrejmé, na YouTube, it's-- 1452 01:12:09,919 --> 01:12:12,500 - --the Najchytrejší znaky Rýchlo a zbesilo filmy. 1453 01:12:12,500 --> 01:12:16,080 Tento týždeň, nemecký výrobca automobilov volkswagen ocitlo 1454 01:12:16,080 --> 01:12:19,430 v stredu škandále potenciálne kriminálnej pomery. 1455 01:12:19,430 --> 01:12:23,020 >> -Volkswagen Sa pripravuje o miliardy na pokutách, možné obvinenie z trestného činu 1456 01:12:23,020 --> 01:12:25,530 pre svoje manažérov, as Spoločnosť sa ospravedlňuje 1457 01:12:25,530 --> 01:12:28,790 pre rigging 11 miliónov vozidiel pomôcť mu poraziť skúšky emisií. 1458 01:12:28,790 --> 01:12:32,110 >> -Certain Modely dieselové boli navrhnuté s sofistikovaný softvér, ktorý 1459 01:12:32,110 --> 01:12:35,410 použité informácie vrátane pozície volantu a vozidlom 1460 01:12:35,410 --> 01:12:38,820 rýchlosť, aby sa zistilo auto bolo prechádza merania emisií. 1461 01:12:38,820 --> 01:12:42,620 Na základe tejto okolnosti, motor zníži toxické emisie. 1462 01:12:42,620 --> 01:12:46,040 Ale auto bolo zmanipulované do bypassu že keď to bolo v prevádzke. 1463 01:12:46,040 --> 01:12:51,370 Emisie zvýšil 10 až 40 krát nad prijateľnú úroveň EPA. 1464 01:12:51,370 --> 01:12:55,920 >> -Wow, 10 až 40 krát väčšie ako EPA dovolí. 1465 01:12:55,920 --> 01:12:59,570 To je tá najhoršia vec, Volkswagen kedy urobil, 1466 01:12:59,570 --> 01:13:04,200 Je niečo, čo by ste mohli povedať, či by ste nikdy nepočul o druhej svetovej vojny. 1467 01:13:04,200 --> 01:13:09,710 Ale možno najistejšia známkou toho, ako veľa problémov Volkswagen je, 1468 01:13:09,710 --> 01:13:12,730 je, že ľudia na samom Najlepším hráčom už odstúpil. 1469 01:13:12,730 --> 01:13:16,320 Generálny riaditeľ rezignoval v stredu po tom, usilovne snaží robiť škode kontrolu, 1470 01:13:16,320 --> 01:13:20,380 hovoriť on bol nekonečne ľúto, ktorá znelo skvele, kým sa ukázalo 1471 01:13:20,380 --> 01:13:22,920 on bol len 10% ľúto ale že zmanipulované ústa 1472 01:13:22,920 --> 01:13:25,600 na umelo jeho sorriness. 1473 01:13:25,600 --> 01:13:29,700 A medzitým Volkswagen USA Šéf mal ospravedlnenie vlastné. 1474 01:13:29,700 --> 01:13:33,580 >> -Nechaj To byť jasné, o tom, naša spoločnosť bola nečestné. 1475 01:13:33,580 --> 01:13:37,140 A v mojich nemeckých slov, my totálne podelal. 1476 01:13:37,140 --> 01:13:41,360 >> Jo, ale úplne skrutkované up nie sú Nemecké práce. 1477 01:13:41,360 --> 01:13:43,750 A nemecký jazyk má mnoho krásnych fráz 1478 01:13:43,750 --> 01:13:50,070 popísať situácie, rovnako ako to, ako je [nemecký], čo znamená, hrubo, 1479 01:13:50,070 --> 01:13:52,870 smútok, ktorý prichádza z podnikania súvisiace klamstiev, 1480 01:13:52,870 --> 01:13:59,060 alebo [nemecký], ktorý prekladá ako hanbit ones otca zahŕňajúce 1481 01:13:59,060 --> 01:14:00,352 mraky benzínu. 1482 01:14:00,352 --> 01:14:02,060 Je to krásny jazyk. 1483 01:14:02,060 --> 01:14:04,660 Je to len plaví z jazyka. 1484 01:14:04,660 --> 01:14:07,920 A mimochodom, zatiaľ čo muža ospravedlnenie môže mať znelo úprimne, 1485 01:14:07,920 --> 01:14:12,260 je potrebné poznamenať, že hovorí na oficiálne začatie party pre rok 2016 1486 01:14:12,260 --> 01:14:17,310 Volkswagen Passat, čo znamená, že krátko Po ospravedlnenia, to povedal. 1487 01:14:17,310 --> 01:14:18,850 >> Ďakujem moc za návštevu. 1488 01:14:18,850 --> 01:14:19,630 Užite si večer. 1489 01:14:19,630 --> 01:14:21,300 Až budúci je Lenny Kravitz. 1490 01:14:21,300 --> 01:14:24,640 >> [MUSIC PLAYBACK] 1491 01:14:24,640 --> 01:14:28,230 >> -OK, OK, ukončenie svojho ospravedlnenie až budúci 1492 01:14:28,230 --> 01:14:31,940 Lenny Kravitz nie je kričať triezvy ľútosti. 1493 01:14:31,940 --> 01:14:35,830 To kričí, sme sa opýtali Bon Jovi, a on povedal, že nie. 1494 01:14:35,830 --> 01:14:38,600 Značka Volkswagen má bol ťažko poškodený. 1495 01:14:38,600 --> 01:14:42,466 A úprimne povedané, ich nová reklama Kampaň nie je práve nepomáha. 1496 01:14:42,466 --> 01:14:47,289 >> - [Nemecký], my vo Volkswagene chceli ospravedlniť za klamanie vás 1497 01:14:47,289 --> 01:14:47,930 naše vozidlá. 1498 01:14:47,930 --> 01:14:48,513 >> [END PLAYBACK] 1499 01:14:48,513 --> 01:14:54,090 DAVID Malan: Takže to bol okľukou of-- sorry-- 1500 01:14:54,090 --> 01:14:58,730 to bol kruhový objazd spôsob zavedenie zásadný problém 1501 01:14:58,730 --> 01:15:02,810 v softvéru, čo je to, že je potrebné zistiť určité podmienky. 1502 01:15:02,810 --> 01:15:07,680 A tak otázka, na dosah ruky tu je, ako sa auto potenciálne 1503 01:15:07,680 --> 01:15:09,870 ako je implementovaná v softvéri týmito programátorov 1504 01:15:09,870 --> 01:15:11,850 zistí, že je to vlastne testuje? 1505 01:15:11,850 --> 01:15:14,150 Takže bolo super jasné, čo robili 1506 01:15:14,150 --> 01:15:17,940 bol, v prostrediach, kde programátori prišiel 1507 01:15:17,940 --> 01:15:20,460 auto bolo bytia testované, sa nejakým spôsobom 1508 01:15:20,460 --> 01:15:24,840 autá vypúšťajú menej emisií, menej emisie, takže menej toxické výpary 1509 01:15:24,840 --> 01:15:25,470 a podobne. 1510 01:15:25,470 --> 01:15:27,261 Ale keď je to normálne jazde na ceste, 1511 01:15:27,261 --> 01:15:30,350 by to jednoducho vydávať toľko Znečistenie, ako to chcel. 1512 01:15:30,350 --> 01:15:33,870 >> Tak ako by sme mohli písať pseudocode pre tento algoritmus? 1513 01:15:33,870 --> 01:15:37,820 Ako by sme mohli písať pseudocode za softvér bežiaci v aute? 1514 01:15:37,820 --> 01:15:43,390 Myslím, že v kocke, to vrie až niečo také. 1515 01:15:43,390 --> 01:15:48,000 ak testuje, vypúšťajú menej. 1516 01:15:48,000 --> 01:15:50,750 inde vyžaruje viac. 1517 01:15:50,750 --> 01:15:52,630 Ale to je trochu príliš vysokej úrovni, že jo? 1518 01:15:52,630 --> 01:15:58,580 >> Skúsme sa do toho ponoriť, čo to abstrakcie skúšať prostriedkov. 1519 01:15:58,580 --> 01:16:06,340 Inými slovami, aj keď nevieš nič o autách, aké otázky 1520 01:16:06,340 --> 01:16:13,440 môžete požiadať, aby sa zistilo, či ste testuje, ak ste auto? 1521 01:16:13,440 --> 01:16:19,638 Aké vlastnosti by mohli byť predloží v prípade, že vozidlo je vyšetrovaných? 1522 01:16:19,638 --> 01:16:21,026 >> Divákov: Skúšobné zariadenie. 1523 01:16:21,026 --> 01:16:22,420 >> DAVID Malan: Skúšobné zariadenie. 1524 01:16:22,420 --> 01:16:26,060 Takže ak skúšobné zariadenie V blízkosti, potom vypúšťajú menej. 1525 01:16:26,060 --> 01:16:28,669 Tak som si dokázal predstaviť realizáciu že s nejakým druhom kamier 1526 01:16:28,669 --> 01:16:29,960 alebo zisťovanie čo sa deje okolo vás. 1527 01:16:29,960 --> 01:16:32,870 A dovoľte mi navrhnúť, že jednoducho pripadá príliš komplikovaná 1528 01:16:32,870 --> 01:16:37,914 skutočne mať ďalšie hardware práve na tento účel. 1529 01:16:37,914 --> 01:16:44,830 >> Divákov: Ak ste v park, ak vaše digestor je otvorený. 1530 01:16:44,830 --> 01:16:47,320 >> DAVID Malan: V parku, alebo kapota otvorené, takže to je dobre. 1531 01:16:47,320 --> 01:16:47,420 >> Divákov: A auto beží. 1532 01:16:47,420 --> 01:16:50,480 >> DAVID Malan: Tak to je trochu viac concrete-- a auto beží. 1533 01:16:50,480 --> 01:16:55,690 Takže by to byť konjunkcia niekoľko rôznych podmienok, ak chcete. 1534 01:16:55,690 --> 01:16:59,227 Takže ak je vozidlo v parku, a to aj aj keď sa jedná o veľmi mechanická vec 1535 01:16:59,227 --> 01:17:01,060 typicky, mohol by som predstaviť písanie softvér, 1536 01:17:01,060 --> 01:17:03,476 najmä preto, že je tu Často ľahký tam v týchto dňoch, 1537 01:17:03,476 --> 01:17:07,400 Nemohol som si predstaviť, že tam softvér, ktorý dokáže dotaz posunovač 1538 01:17:07,400 --> 01:17:10,634 alebo čo nie, ste v parku, sú ste v jednotke, ste v opačnom poradí. 1539 01:17:10,634 --> 01:17:12,550 A môžem získať späť, odpovedať, že je buď áno 1540 01:17:12,550 --> 01:17:14,400 alebo nie tieto druhy otázok. 1541 01:17:14,400 --> 01:17:17,630 >> A tak som mohol pravdepodobne tiež odpovedať Na takúto otázku, je kapota otvorená. 1542 01:17:17,630 --> 01:17:21,860 Možno, že tam je nejaký druh senzora že buď mi vracia 1 alebo 0, 1543 01:17:21,860 --> 01:17:23,720 pravdivý alebo nepravdivý, kapota je otvorená. 1544 01:17:23,720 --> 01:17:28,180 A potom auto beh, som mohol odhaliť že nejako cez akým mechanizmom? 1545 01:17:28,180 --> 01:17:30,430 Rovnako ako, auto beží, ja mohol zistiť, že je to tak, 1546 01:17:30,430 --> 01:17:32,127 Nemohol som zistiť nejako že je vozidlo v pohybe? 1547 01:17:32,127 --> 01:17:32,881 >> Divákov: RPM. 1548 01:17:32,881 --> 01:17:35,190 >> DAVID Malan: Jo, takže je tu Vždy, že ihla, že 1549 01:17:35,190 --> 01:17:38,034 povie vám, koľko otáčok za minute kola zažívajú. 1550 01:17:38,034 --> 01:17:39,200 A tak som sa mohol pozerať na to. 1551 01:17:39,200 --> 01:17:43,090 A ak to nie je 0, ktorá pravdepodobne znamená, že je vozidlo v pohybe. 1552 01:17:43,090 --> 01:17:45,400 Ale musíme byť tam trochu opatrný, 1553 01:17:45,400 --> 01:17:49,780 protože-- poďme zjednodušiť tohle-- keby sme práve povedal, ak auto beží, 1554 01:17:49,780 --> 01:17:53,070 Nechceme len vypúšťajú menej, Ak chceme beží auto 1555 01:17:53,070 --> 01:17:54,310 a to je práve testovaná. 1556 01:17:54,310 --> 01:17:56,320 >> Takže existuje niekoľko ďalších prísady, ktoré ľudia 1557 01:17:56,320 --> 01:18:00,550 predpokladali softvér robí, z dôvodu chýbajúcej skutočnej zdrojového kódu, 1558 01:18:00,550 --> 01:18:05,130 môžete len akýsi vyvodiť z fyzikálne účinky autá čo k čomu 1559 01:18:05,130 --> 01:18:08,280 by mohlo byť deje pod ním digestor v softvéri. 1560 01:18:08,280 --> 01:18:17,090 Takže ak beží auto a možno, povedzme, zadné kolesá sa nepohybuje, 1561 01:18:17,090 --> 01:18:19,420 Môže to byť iba orientačné nejakého druhu testu? 1562 01:18:19,420 --> 01:18:22,830 Čo som narážal tu? 1563 01:18:22,830 --> 01:18:24,830 Jo, možno, že je to na jednu z týchto valčekových vecí, 1564 01:18:24,830 --> 01:18:28,340 kde rovnako ako kolesá sa otáčajú v prednej alebo v zadnej, 1565 01:18:28,340 --> 01:18:32,570 V závislosti na tom, či je to predné koleso alebo pohon zadných kolies, takže polovica kolies 1566 01:18:32,570 --> 01:18:34,420 sú v pohybe, ale Ďalšie dva nie sú, čo 1567 01:18:34,420 --> 01:18:36,320 Je to zvláštna situácia v reálnom svete. 1568 01:18:36,320 --> 01:18:38,110 Ak idete na cestné, že by sa nemalo stať. 1569 01:18:38,110 --> 01:18:40,568 Ale ak ste v sklade na nejakom systéme kladiek pásu, 1570 01:18:40,568 --> 01:18:41,630 ktorá by mohla skutočne stať. 1571 01:18:41,630 --> 01:18:46,980 >> Myslím, že ľudia tiež navrhol, že možno, v prípade, že auto je spustený a riadenie 1572 01:18:46,980 --> 01:18:51,300 koliesko nepohybuje, že tiež môže byť signál, 1573 01:18:51,300 --> 01:18:54,090 pretože to je rozumné ako rýchlo sme na ceste. 1574 01:18:54,090 --> 01:18:57,960 Ale aj potom, človek je pravdepodobne pohybujúce sa trochu alebo rozhodne 1575 01:18:57,960 --> 01:18:59,100 v priebehu niekoľkých sekúnd. 1576 01:18:59,100 --> 01:19:01,030 alebo priebehu minúta, šance sú to nie je 1577 01:19:01,030 --> 01:19:03,510 bude fixovaná v presne rovnakú pozíciu. 1578 01:19:03,510 --> 01:19:05,440 >> Takže inými slovami, môže trvať odčítanie, 1579 01:19:05,440 --> 01:19:08,200 ste testuje, a rozobrať túto funkciu 1580 01:19:08,200 --> 01:19:10,420 do týchto čiastkových zložiek. 1581 01:19:10,420 --> 01:19:13,440 A to je skutočne to, čo je Volkswagen inžinieri nejako urobil. 1582 01:19:13,440 --> 01:19:17,070 Písali softvér vedome zistiť, či sa testuje vozidlo, 1583 01:19:17,070 --> 01:19:20,440 Preto vypúšťajú menej, inak emitujú obvyklým spôsobom. 1584 01:19:20,440 --> 01:19:22,690 >> A problém aj tu, je to, že softvér nie je 1585 01:19:22,690 --> 01:19:26,080 niečo, čo môžete naozaj vidieť, ibaže máte takzvaný zdrojový kód. 1586 01:19:26,080 --> 01:19:29,060 Takže tam dva rôzne typy code-- aspoň dva rôzne typy 1587 01:19:29,060 --> 01:19:30,130 kódu na svete. 1588 01:19:30,130 --> 01:19:33,150 Je tu niečo, čo nazýva zdroj kód, ktorý nie je nepodobné tomu, čo 1589 01:19:33,150 --> 01:19:37,240 sme písali, zdrojový kód. 1590 01:19:37,240 --> 01:19:40,099 >> To je zdrojový kód napísaný v jazyk s názvom pseudocode, 1591 01:19:40,099 --> 01:19:41,640 čo je proste niečo anglicky podobne. 1592 01:19:41,640 --> 01:19:43,140 Neexistuje žiadny formálny definíciu. 1593 01:19:43,140 --> 01:19:46,770 Ale C a Java, C ++, tie sú všetky formálne jazyky, ktoré, 1594 01:19:46,770 --> 01:19:50,610 keď píšete v nich, čo máte je textový súbor obsahujúci zdrojový kód. 1595 01:19:50,610 --> 01:19:54,850 >> Ale je tu aj niečo svet volal strojový kód. 1596 01:19:54,850 --> 01:20:00,579 A strojový kód, bohužiaľ, Je len 0 a 1 je. 1597 01:20:00,579 --> 01:20:02,870 Takže strojový kód je čo Stroje pochopiť, samozrejme. 1598 01:20:02,870 --> 01:20:04,470 Zdrojový kód je to, čo ľudia rozumieť. 1599 01:20:04,470 --> 01:20:08,390 >> A všeobecne, ale nie Vždy, je program 1600 01:20:08,390 --> 01:20:14,090 že programátor používa zdroj, ktorý berie Kód a stáča sa do strojového kódu. 1601 01:20:14,090 --> 01:20:17,400 A to je program všeobecne nazýva prekladač. 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 softvér, ktorý robí tento proces. 1604 01:20:22,890 --> 01:20:26,260 Takže to vlastne mapuje pekne naše vstupy, algoritmy, výstupy. 1605 01:20:26,260 --> 01:20:30,400 >> Ale to je veľmi špecifická stelesnenie z toho, čo znamená, že, 1606 01:20:30,400 --> 01:20:34,200 aj keď vlastníte jeden z Volkswagen je autá, ktorá je vinu za tento stav, 1607 01:20:34,200 --> 01:20:38,390 nie je to ako stačí otvoriť kapucňa alebo otvoriť tento návod alebo hľadať 1608 01:20:38,390 --> 01:20:42,690 na zdrojový kód, pretože v čase, keď dosiahne svoje auto v príjazdovej ceste, 1609 01:20:42,690 --> 01:20:45,580 už je to prevedie na 0 a 1 je. 1610 01:20:45,580 --> 01:20:51,310 A je to veľmi ťažké, nie nemožné, ale veľmi ťažké zbierať nič moc 1611 01:20:51,310 --> 01:20:53,710 zo len pri pohľade na podkladových 0 a 1 je. 1612 01:20:53,710 --> 01:20:57,150 Takže si môžete prísť na to, v konečnom dôsledku, ak pochopiť, ako stroj operates-- 1613 01:20:57,150 --> 01:20:59,870 Intel inside-- či mi rozumiete Intel architektúra, 1614 01:20:59,870 --> 01:21:01,440 ale je to veľmi časovo náročné. 1615 01:21:01,440 --> 01:21:05,010 A aj tam, možno budete nebude môcť vidieť všetko 1616 01:21:05,010 --> 01:21:08,220 že kód môže skutočne urobiť. 1617 01:21:08,220 --> 01:21:12,521 >> Prípadné otázky týkajúce sa tohto alebo tohto druh procesu všeobecnejšie? 1618 01:21:12,521 --> 01:21:15,134 1619 01:21:15,134 --> 01:21:18,300 A skutočne, môžeme priviazať túto diskusiu na včerajšej diskusii o Apple. 1620 01:21:18,300 --> 01:21:22,500 Aj to je dôvod, prečo FBI nemôže len tak ísť a pozrieť sa do telefónu podozrivého 1621 01:21:22,500 --> 01:21:26,820 a nájsť riadky kódu, pre inštancie, ktoré umožňujú heslo 1622 01:21:26,820 --> 01:21:28,940 alebo umožňujú tejto 80-milisekúnd oneskorenie. 1623 01:21:28,940 --> 01:21:31,630 Vzhľadom k tomu, v čase, keď je to Na ten chlapík iPhone, 1624 01:21:31,630 --> 01:21:34,975 už je to prevedené na 0 a 1 je. 1625 01:21:34,975 --> 01:21:38,015 1626 01:21:38,015 --> 01:21:40,820 >> Dobre, poďme pauza tu pre naše pozrite sa na výpočtovú myslenie. 1627 01:21:40,820 --> 01:21:42,320 Prečo by sme si pauzu 15 minút. 1628 01:21:42,320 --> 01:21:44,130 A keď sa vrátime, zmienime pozrite sa na programovanie 1629 01:21:44,130 --> 01:21:46,550 sama o sebe a začať mapovať niektoré z týchto pojmov na vysokej úrovni 1630 01:21:46,550 --> 01:21:49,780 k skutočnému, ak hravý, programovací jazyk. 1631 01:21:49,780 --> 01:21:51,089