1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:01,790 DAVID Malan: Dobrodošel nazaj, vsi. 3 00:00:01,790 --> 00:00:05,030 Torej včeraj, se spomnite, da je smo se osredotočili na teh temah tukaj. 4 00:00:05,030 --> 00:00:08,380 Tako smo imeli štiri splošni topics-- zasebnost, varnost in družbo; 5 00:00:08,380 --> 00:00:11,960 internetne tehnologije; računalništvo v oblaku; in na koncu, spletni razvoj. 6 00:00:11,960 --> 00:00:14,170 >> Je kdo ima pasovne širine ali čas 7 00:00:14,170 --> 00:00:16,900 gledati malo John Oliver sinoči? 8 00:00:16,900 --> 00:00:20,120 To je pravzaprav zelo zabavno, če ne malo zastrašujoče. 9 00:00:20,120 --> 00:00:24,700 Vsa vprašanja o ničemer smo včeraj? 10 00:00:24,700 --> 00:00:27,600 Vsa pojasnila? 11 00:00:27,600 --> 00:00:35,580 Vsa vprašanja, ki si želijo, da bi prepričani, da se bomo dotaknili danes v neki obliki? 12 00:00:35,580 --> 00:00:37,300 Torej, nov začetek. 13 00:00:37,300 --> 00:00:38,760 >> Torej, kaj je na dnevnem redu danes? 14 00:00:38,760 --> 00:00:41,301 Pa sem mislil, da bi začeli danes s pogledom na tisto, kar je na splošno 15 00:00:41,301 --> 00:00:44,460 znan kot računsko thinking-- na tveganje oversimplifying, razmišljanja 16 00:00:44,460 --> 00:00:46,636 kot računalnik, morda razmišljati kot inženir, 17 00:00:46,636 --> 00:00:48,510 in poskuša začeti organizirati svoje misli 18 00:00:48,510 --> 00:00:52,039 ali da vam boljši občutek kaj je vključen v dejansko poveljujoči 19 00:00:52,039 --> 00:00:54,080 računalnik nekaj storiti s pomočjo programiranja. 20 00:00:54,080 --> 00:00:56,663 In bomo obdržati na precej visoki ravni, precej angleščina, 21 00:00:56,663 --> 00:00:59,850 vendar poskusite z uporabo pozna primeri, da formalizirajo, kako 22 00:00:59,850 --> 00:01:01,450 bi lotili reševanja problemov. 23 00:01:01,450 --> 00:01:04,080 >> In bomo ponovno nekaj CS teme, kot so abstrakcije, 24 00:01:04,080 --> 00:01:06,040 ki je prišel nekaj krat včeraj, 25 00:01:06,040 --> 00:01:07,554 algoritmi, in nato predstavitev. 26 00:01:07,554 --> 00:01:09,720 In to je, če bomo začeli danes vsak trenutek. 27 00:01:09,720 --> 00:01:11,481 Potem bomo si oglejte programiranja. 28 00:01:11,481 --> 00:01:13,480 Si bomo ogledali nekaj temeljni konstrukti 29 00:01:13,480 --> 00:01:16,450 s katero bi biti seznanjeni in morda celo našli precej intuitivno. 30 00:01:16,450 --> 00:01:18,370 >> Si bomo pogledali, v resnici, pri načrtovanju vzorca 31 00:01:18,370 --> 00:01:21,244 okolje, ki je zelo dostopna, zelo igriv in tudi ciljno 32 00:01:21,244 --> 00:01:22,555 za otroke, stare 12 let in več. 33 00:01:22,555 --> 00:01:25,930 Bomo porabili nekaj minut tam in potem se stvari na nižjo raven 34 00:01:25,930 --> 00:01:30,360 in dejansko govori o nekaterih algoritmi in podatkovne strukture, 35 00:01:30,360 --> 00:01:32,360 tako rekoč, da programerji običajno uporabljajo 36 00:01:32,360 --> 00:01:35,040 za reševanje problemov veliko več učinkovito, kot bi morda 37 00:01:35,040 --> 00:01:37,322 biti sposoben narediti brez njih v celoti. 38 00:01:37,322 --> 00:01:40,280 Potem po kosilu, bomo lahko ogledali na tehnologije nizov, ki je pravkar 39 00:01:40,280 --> 00:01:42,240 fancy način rekel zbirke tehnologij 40 00:01:42,240 --> 00:01:43,690 ki jih lahko uporabite za rešili nekaj težav. 41 00:01:43,690 --> 00:01:46,670 In bomo govorili o abecedi juha iz jezikov, ki obstajajo today-- 42 00:01:46,670 --> 00:01:50,930 Java in Python in C ++ in PHP in Ruby in vse vrste drugih stvari. 43 00:01:50,930 --> 00:01:53,740 >> Mi bomo ogledali kratko na načrtovalski vzorci. 44 00:01:53,740 --> 00:01:57,730 Programerji, v daljšem časovnem obdobju, imajo sprejete metodologije 45 00:01:57,730 --> 00:02:00,690 ki se nagibajo da bi jim pomagali reševanje problemov lažje. 46 00:02:00,690 --> 00:02:04,390 Ko začnete videti sebe pisanje iste kode znova in znova, 47 00:02:04,390 --> 00:02:08,080 ljudje formalizirati teh ponovitev in pripisujejo imena nanje 48 00:02:08,080 --> 00:02:10,084 in jih nato uporabili in spodbuja jih, na koncu. 49 00:02:10,084 --> 00:02:12,250 In bomo govorili malo o mobilnih strategij, 50 00:02:12,250 --> 00:02:16,099 kot kaj to pomeni, da dejansko da mobilno aplikacijo ali mobilni spletni strani. 51 00:02:16,099 --> 00:02:17,140 Ali si to naredil za Android? 52 00:02:17,140 --> 00:02:17,730 Ali je to za iOS? 53 00:02:17,730 --> 00:02:19,160 Ali je to za oba tistih? 54 00:02:19,160 --> 00:02:20,326 In kaj so kompromisi? 55 00:02:20,326 --> 00:02:23,180 In potem na koncu, mi pa bomo poglej spletno programiranje, ki 56 00:02:23,180 --> 00:02:25,380 je skupni izraz Res bi vsak čas 57 00:02:25,380 --> 00:02:28,410 pišete programsko opremo, ki je pomenilo, da deluje na spletu, 58 00:02:28,410 --> 00:02:30,430 ali na telefonih ali namizni ali prenosni računalniki. 59 00:02:30,430 --> 00:02:33,490 Si bomo na kratko ogledali podatkovne baze in oblikovanje 60 00:02:33,490 --> 00:02:39,049 njem, pa čeprav le zato, ker skoraj vsak zanimiva spletna aplikacija 61 00:02:39,049 --> 00:02:40,590 v teh dneh je nekakšno baze podatkov. 62 00:02:40,590 --> 00:02:42,380 V nasprotnem primeru bi bilo Samo statična vsebina. 63 00:02:42,380 --> 00:02:45,254 In baza podatkov vam omogoča, da spremembe v daljšem časovnem obdobju, bodisi sami 64 00:02:45,254 --> 00:02:45,960 ali pri uporabnikih. 65 00:02:45,960 --> 00:02:47,820 In bomo razmisliti, kako vas bi šel o oblikovanju 66 00:02:47,820 --> 00:02:50,510 ta zbirka podatkov in vrste žargonu da bi lahko prišel v inženir je 67 00:02:50,510 --> 00:02:52,790 Razprava na tablo ko dejansko izvajanje 68 00:02:52,790 --> 00:02:53,900 aplikacija prvič. 69 00:02:53,900 --> 00:02:57,002 >> Bomo na kratko govorili o API, uporabne storitve 70 00:02:57,002 --> 00:02:59,960 ki jo lahko uporabite, da stojijo na ramena drugih, ali podjetja 71 00:02:59,960 --> 00:03:02,619 ali posamezniki, in rešiti vaš lastne težave hitreje. 72 00:03:02,619 --> 00:03:04,785 In potem bomo umazali morda bit z JavaScript, 73 00:03:04,785 --> 00:03:08,900 programski jezik, ki se uporablja tako v brskalnikih v teh dneh, pa tudi 74 00:03:08,900 --> 00:03:09,820 v strežnikih. 75 00:03:09,820 --> 00:03:11,890 In morda bomo ponovno, čas dopušča, 76 00:03:11,890 --> 00:03:15,670 nekaj hands-on web stuff mi včeraj in povezovala dve 77 00:03:15,670 --> 00:03:17,630 skupaj preden prekine. 78 00:03:17,630 --> 00:03:22,380 >> Torej z that-- kaj je ahead-- je kaj manjka, da vas 79 00:03:22,380 --> 00:03:26,289 bi radi, da bi bili prepričani smo vstaviti in se dotikajo na neki točki. 80 00:03:26,289 --> 00:03:28,330 Če je vzmeti na misel, da bi se jo kmalu. 81 00:03:28,330 --> 00:03:32,010 Toda zakaj ne začnemo z poglej računskega mišljenja. 82 00:03:32,010 --> 00:03:35,420 >> In mi predlagal, da računalniška razmišljanje je, še enkrat, 83 00:03:35,420 --> 00:03:38,830 vrsta opisa na visoki ravni kaj bi lahko računalniški znanstvenik narediti. 84 00:03:38,830 --> 00:03:42,470 In res, začnimo s tremi sestavinami, ki 85 00:03:42,470 --> 00:03:44,207 bi šel v računskega razmišljanja. 86 00:03:44,207 --> 00:03:45,790 To je samo eden od načinov, da opisuje. 87 00:03:45,790 --> 00:03:48,490 Lahko bi zagotovo opredeliti To na noben številne načine. 88 00:03:48,490 --> 00:03:50,630 >> Ampak naj predlaga, zavoljo danes, 89 00:03:50,630 --> 00:03:53,910 da svetovne probleme, vse svetovne probleme, 90 00:03:53,910 --> 00:03:56,730 ko je obrnil računalniški znanstvenik bi 91 00:03:56,730 --> 00:04:00,990 obravnavati kot tisto, kar bomo klic vhodi, ki 92 00:04:00,990 --> 00:04:08,142 je treba, da se dovaja v kar pokličem algoritmi, ki potem razpadejo izhode. 93 00:04:08,142 --> 00:04:10,600 Z drugimi besedami, celoten svet zahtevka za reševanje problemov I 94 00:04:10,600 --> 00:04:13,140 lahko destilirana v Te tri sestavine. 95 00:04:13,140 --> 00:04:14,450 Torej, kaj mislim s vhodov? 96 00:04:14,450 --> 00:04:17,060 Vhodi je samo tisto, kar ste izročil, da bi rešili. 97 00:04:17,060 --> 00:04:20,052 >> Na primer, tukaj je star problem šola. 98 00:04:20,052 --> 00:04:22,760 Če imam telefonski imenik tu in Hočem, da si nekaj v njej, 99 00:04:22,760 --> 00:04:23,760 to je moj vložek. 100 00:04:23,760 --> 00:04:26,260 Imam 1000 ali tako Strani v imeniku. 101 00:04:26,260 --> 00:04:27,780 To je prispevek k moj problem. 102 00:04:27,780 --> 00:04:31,507 In želim, da bi našli nekaj kot so Mike Smith, tako prijatelja 103 00:04:31,507 --> 00:04:33,840 katere ime in številka upajmo, da v tem imeniku. 104 00:04:33,840 --> 00:04:36,430 >> To je pred dnevi celice telefonov, tako da lahko ne samo iskati. 105 00:04:36,430 --> 00:04:38,540 Tako da sem moral storiti je stara šole in dejansko iskanje 106 00:04:38,540 --> 00:04:41,331 ti vložki za nek odgovor. 107 00:04:41,331 --> 00:04:43,580 Ta odgovor je le, da bo da se imenuje izhod. 108 00:04:43,580 --> 00:04:44,871 Torej, vhod je telefonski imenik. 109 00:04:44,871 --> 00:04:47,787 Algoritem je glede na nabor koraki uporabljam, da bi našli Mike Smith. 110 00:04:47,787 --> 00:04:50,120 In izhod je, upajmo, Mike Smith je telefonska številka. 111 00:04:50,120 --> 00:04:52,703 In to potem bi bilo prav predstavnik večine nobenih težav, 112 00:04:52,703 --> 00:04:55,210 da se pri vas levičarje vhodi in želim, da ustvarjajo rezultate. 113 00:04:55,210 --> 00:04:59,459 >> Torej, preden menimo proces s katerim lahko rešimo ta problem, 114 00:04:59,459 --> 00:05:01,250 iskanje Mike Smith in nekaj takega, 115 00:05:01,250 --> 00:05:04,090 pa menijo, da je prva in se last-- vhodi in izhodi. 116 00:05:04,090 --> 00:05:08,060 Fizično, seveda vložek tukaj je cel kup papirja zlepimo 117 00:05:08,060 --> 00:05:09,400 v obliki imenika. 118 00:05:09,400 --> 00:05:13,660 Toda računalniki, od course-- prenosne računalnike in namizni računalniki in celo telefoni 119 00:05:13,660 --> 00:05:16,430 ti days-- to so elektronske naprave. 120 00:05:16,430 --> 00:05:20,920 >> In na koncu dneva, kaj edini vhod z računalnikom? 121 00:05:20,920 --> 00:05:23,299 No, to je nekaj podobnega Ta napajalni kabel tukaj. 122 00:05:23,299 --> 00:05:25,590 Sem ga priključite v steno, in Dobim tok elektronov, 123 00:05:25,590 --> 00:05:27,048 ki mi omogoča, da zaženete stroj. 124 00:05:27,048 --> 00:05:30,420 Ali morda ti elektroni ustvarjena s pomočjo moje baterije. 125 00:05:30,420 --> 00:05:33,790 Vendar ob koncu dneva, ki je Edina stvar, ki gredo v svoj laptop. 126 00:05:33,790 --> 00:05:35,772 In tako zelo zanimivo stvar je na koncu 127 00:05:35,772 --> 00:05:37,480 prihajajo ven, ali s pomočjo tiskalnika 128 00:05:37,480 --> 00:05:40,320 ali zaslon ali slušnega ali podobno. 129 00:05:40,320 --> 00:05:45,320 >> Torej, če je vse, kar imamo, kot je naša temeljni prispevek k računalniku 130 00:05:45,320 --> 00:05:49,160 je elektrika, tako da samo elektroni gredo v in ali out, 131 00:05:49,160 --> 00:05:54,465 in tako, kako lahko uporabimo ta vnos dejansko predstavlja podatke? 132 00:05:54,465 --> 00:05:57,090 Z drugimi besedami, kako bomo dobili iz preprostega pretoka električne 133 00:05:57,090 --> 00:06:00,350 da predstavlja dejansko številke ali dejanske črk 134 00:06:00,350 --> 00:06:03,620 ali dejanske slike na zaslonu ali dejanski filme ali e-pošte 135 00:06:03,620 --> 00:06:05,690 ali poljubno število teh koncepti višji ravni, 136 00:06:05,690 --> 00:06:07,680 če hočete, da bi glede na Konec dneva nekako 137 00:06:07,680 --> 00:06:11,950 so se shranijo v to elektronska naprava za mehanski 138 00:06:11,950 --> 00:06:16,260 uporabljajo samo tiste preproste ingredients-- elektronov, ki prihajajo v in iz nje? 139 00:06:16,260 --> 00:06:19,530 >> Tako da se zdi, da je V najpreprostejši obliki, 140 00:06:19,530 --> 00:06:23,260 edina vrsta držav Imam v svetu, tako 141 00:06:23,260 --> 00:06:25,350 da speak-- pogojev v mojem world-- je bodisi 142 00:06:25,350 --> 00:06:33,020 Imam elektroni teče, elektrika teče, ali jaz not-- tako naprej, off. 143 00:06:33,020 --> 00:06:35,850 In kaj je formalizirati in izklop, kot računalniški znanstvenik lahko, 144 00:06:35,850 --> 00:06:37,255 s samo 1 in 0. 145 00:06:37,255 --> 00:06:39,880 Naj samo opisujejo nekatere samovoljno ampak stalno število nanjo. 146 00:06:39,880 --> 00:06:41,970 1 pomeni za, 0 pomeni off. 147 00:06:41,970 --> 00:06:45,427 Ali si lahko ogledate tudi, da je to pravi način za in lažni sredstva. 148 00:06:45,427 --> 00:06:47,510 Lahko bi tudi to black beli ali rdeči in modri barvi. 149 00:06:47,510 --> 00:06:48,759 Vi šele potreba dva deskriptorjev. 150 00:06:48,759 --> 00:06:52,240 In a računalniški znanstveniki bi večinoma samo uporabo 0 in 1. 151 00:06:52,240 --> 00:06:58,980 >> Torej, če je temu tako, moj edini abecede je sestavljen iz 0 in 1 je, kako 152 00:06:58,980 --> 00:07:03,360 Lahko bi morda dobili celo število 2 v računalniku, kaj šele številka 3 153 00:07:03,360 --> 00:07:06,140 ali črka abecede ali sliko ali film? 154 00:07:06,140 --> 00:07:08,910 Kako smo nekako Bootstrap sami od tega temeljnega načela 155 00:07:08,910 --> 00:07:12,080 od 0 in 1 je in dejansko predstavljajo nekaj bolj zanimivega? 156 00:07:12,080 --> 00:07:14,430 >> No, kaj je dal na to vprašanje na čakanju za nekaj trenutkov 157 00:07:14,430 --> 00:07:17,520 in upoštevati nekaj upajmo pozna, 158 00:07:17,520 --> 00:07:21,150 tudi če ste res ni pomislil v nobenem podrobno za 10, 20, 30, 40, 50 159 00:07:21,150 --> 00:07:22,520 več let. 160 00:07:22,520 --> 00:07:24,780 To je, kaj? 161 00:07:24,780 --> 00:07:28,050 Kako bi se izgovarjajo, da je? 162 00:07:28,050 --> 00:07:30,770 Ne gre za vprašanje trik. 163 00:07:30,770 --> 00:07:32,950 Številni, ampak kaj je to? 164 00:07:32,950 --> 00:07:34,842 1, 2, 3 ali 123. 165 00:07:34,842 --> 00:07:37,800 In mi je bilo všeč, kako ste rekli, 1, 2, 3, ker je to eden od načinov, da si. 166 00:07:37,800 --> 00:07:39,870 1, 2, 3, je zaporedje treh simbolov. 167 00:07:39,870 --> 00:07:42,005 Je slike, ki jih Zdaj imajo besede za. 168 00:07:42,005 --> 00:07:44,880 In če nekako jih vse prebral skupaj tipična človeška v angleščini 169 00:07:44,880 --> 00:07:46,600 bi rekel 123. 170 00:07:46,600 --> 00:07:48,350 In to je neke vrste višja koncept ravni, 171 00:07:48,350 --> 00:07:50,340 počuti kot razmeroma veliko število. 172 00:07:50,340 --> 00:07:51,490 >> Toda kako bomo to dosegli? 173 00:07:51,490 --> 00:07:54,640 No, morda nekaj časa, saj da ste razmišljali o tem, kot je ta, 174 00:07:54,640 --> 00:07:56,680 ampak nazaj v mojih časih sem nekako to naučil 175 00:07:56,680 --> 00:08:01,030 kot stolpcu 1 je, da 10 je stolpec in stolpec 100 je. 176 00:08:01,030 --> 00:08:06,400 Tako kot pravi Lakisa je 1, 2, 3, vendar je tudi 123. 177 00:08:06,400 --> 00:08:08,700 Toda kako priti iz Nekdanja za slednje? 178 00:08:08,700 --> 00:08:12,340 >> No, saj bi običajno storiti v stolpec 100, sem imel 1. 179 00:08:12,340 --> 00:08:14,794 Torej, to je, kot pravijo, 100 krat 1. 180 00:08:14,794 --> 00:08:16,210 In potem v 10 je stolpec, imam 2. 181 00:08:16,210 --> 00:08:18,464 Torej, to je, kot pravi 10-krat 2. 182 00:08:18,464 --> 00:08:19,630 V stolpcu 1 je, imam 3. 183 00:08:19,630 --> 00:08:21,720 Torej, to je, kot pravijo 1 krat 3. 184 00:08:21,720 --> 00:08:24,290 >> In če dodam te stvari skupaj, to seveda 185 00:08:24,290 --> 00:08:27,470 je 100 plus 10 plus 3. 186 00:08:27,470 --> 00:08:31,750 In oh, zato sem dobil to Višja stopnja pojem 123. 187 00:08:31,750 --> 00:08:37,220 To je samo osnovne matematične, pri čemer ti Simboli imajo uteži z njimi, če vas 188 00:08:37,220 --> 00:08:39,620 bo ograda ali vrednosti stolpca. 189 00:08:39,620 --> 00:08:42,090 In ko sem pomnožiti vse ven, sem dobil to številko. 190 00:08:42,090 --> 00:08:47,840 >> Torej, koliko znaš govoriti binary-- 0 in 1's-- kot računalnik? 191 00:08:47,840 --> 00:08:50,410 OK, odlično, nihče, ali nihče od vas, da si naredil. 192 00:08:50,410 --> 00:08:52,550 Ampak jaz bi ti trdijo, pravzaprav to vedo že. 193 00:08:52,550 --> 00:08:55,330 Vedeti pa je treba nekako poteg naš mentalni model, malo. 194 00:08:55,330 --> 00:08:57,250 Vendar je postopek popolnoma enak. 195 00:08:57,250 --> 00:09:01,460 >> Naj pusti tole gor in namesto da bi to uspe dol za trenutek. 196 00:09:01,460 --> 00:09:05,060 V svetu računalnikov, imamo samo 0 in 1 je. 197 00:09:05,060 --> 00:09:07,240 In tako stvar, ki je bo spremenilo je, kaj? 198 00:09:07,240 --> 00:09:10,920 No, v mojem človeškem svetu, decimalni sistem, december pomen 10, 199 00:09:10,920 --> 00:09:12,740 Imam koliko številk imam na voljo? 200 00:09:12,740 --> 00:09:15,270 201 00:09:15,270 --> 00:09:16,540 10, kajne? 202 00:09:16,540 --> 00:09:17,880 0 do 9, seveda. 203 00:09:17,880 --> 00:09:21,210 >> In zato imamo 10 je mesto in 100 v mesto. 204 00:09:21,210 --> 00:09:22,380 Če je ta prihaja? 205 00:09:22,380 --> 00:09:24,430 No, to je 10 do moči 0. 206 00:09:24,430 --> 00:09:28,440 To je 10 do moči 1, 10 z močjo 2, in tako dalje. 207 00:09:28,440 --> 00:09:32,110 Vi kar naprej množenjem stolpce za 10, speljevanju s samo 1 208 00:09:32,110 --> 00:09:33,700 v skrajnem desnem eni tukaj. 209 00:09:33,700 --> 00:09:35,490 >> Tako v svetu računalniki, če ste le 210 00:09:35,490 --> 00:09:39,600 imajo binary-- dvo pomen 2-- ali 0 in 1 je, samo 211 00:09:39,600 --> 00:09:42,420 Res je treba spremeniti baza tega matematike. 212 00:09:42,420 --> 00:09:46,410 Torej, z drugimi besedami, zdaj pa bom samo imajo na 1 v stolpec in the-- 213 00:09:46,410 --> 00:09:51,270 če je to going-- stolpcu 2 na, stolpec 4 je, in morda še dlje. 214 00:09:51,270 --> 00:09:52,250 Zakaj je tako? 215 00:09:52,250 --> 00:09:55,650 No, to je 2 z 0-th moči. 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, in tako naprej. 218 00:09:59,610 --> 00:10:04,910 >> Torej, ker tukaj imamo 1, 10-ih, 100 je, 1000 je, 10.000 je, 100.000 je, 1 219 00:10:04,910 --> 00:10:10,560 milijone, in tako naprej, tukaj imamo 1, 2, 4, 8, 16, 32, 64. 220 00:10:10,560 --> 00:10:13,950 Vi samo ne pomnoži z 2, namesto da se pomnoži z 10. 221 00:10:13,950 --> 00:10:16,780 Zdaj, če je cilj na roke je predstavljati 222 00:10:16,780 --> 00:10:20,240 številke, ki uporabljajo samo 0 in 1 je, kaj menijo, kako priti do tja. 223 00:10:20,240 --> 00:10:26,540 >> To je seveda vzorec 0 0 0, vendar kaj več konceptualno 224 00:10:26,540 --> 00:10:27,490 ne predstavlja? 225 00:10:27,490 --> 00:10:35,430 No, 4 krat 0 plus 2 krat 0 plus 1 krat 0, pa dodamo tiste skupaj. 226 00:10:35,430 --> 00:10:40,030 4-krat 0 je seveda 0 plus 2 krat 0 je, seveda, 0 plus 1 krat 0 227 00:10:40,030 --> 00:10:40,850 je seveda 0. 228 00:10:40,850 --> 00:10:44,910 Torej, ah, to predstavlja Številka smo ljudje poznamo kot 0. 229 00:10:44,910 --> 00:10:47,810 >> No, zdaj, to prepušča zelo hitro previjanje naprej. 230 00:10:47,810 --> 00:10:53,600 Če sem namesto tega ne predstavlja 0 0 0, ampak naredimo 1 0 1, 231 00:10:53,600 --> 00:10:57,010 da bi lahko kako Lakisa, prej, bi jo 1 0 1 samo izgovori. 232 00:10:57,010 --> 00:11:01,020 Toda zdaj, kako se za višje raven številko smo ljudje lahko vedeli? 233 00:11:01,020 --> 00:11:04,220 Torej, kaj je ta številka? 234 00:11:04,220 --> 00:11:06,060 To je 5, število poznamo kot 5. 235 00:11:06,060 --> 00:11:06,870 >> No, zakaj je to? 236 00:11:06,870 --> 00:11:09,620 No, smo lahko res nekako sprehod skozi to metodično 237 00:11:09,620 --> 00:11:14,880 4-krat 1, 2-krat 0, 1 krat 1. 238 00:11:14,880 --> 00:11:19,880 Dodajanje tistih skupaj, tako To je 4 plus 0 plus 1. 239 00:11:19,880 --> 00:11:21,577 In to je, seveda, 5. 240 00:11:21,577 --> 00:11:24,660 Torej, to je že malo dolgočasno zdaj znova in znova delajo aritmetično. 241 00:11:24,660 --> 00:11:26,300 Vendar je postopek popolnoma enak. 242 00:11:26,300 --> 00:11:28,380 >> Edina stvar, ki je spremenilo v našem svetu 243 00:11:28,380 --> 00:11:32,740 je, da so naši stolpci 1, 2, 4, 8, 16, in tako naprej, namesto 1, 10, 100, 244 00:11:32,740 --> 00:11:33,740 1000. 245 00:11:33,740 --> 00:11:40,000 In to samo zato, ker ima naša abeceda skrčil od 0 do 9 samo 0-1. 246 00:11:40,000 --> 00:11:50,851 >> Tako malo kviz tukaj, bi kako ti predstavljajo število 7 v binarno? 247 00:11:50,851 --> 00:11:51,350 0? 248 00:11:51,350 --> 00:11:53,490 No, 0, misliš 0 0 0? 249 00:11:53,490 --> 00:11:58,140 250 00:11:58,140 --> 00:11:59,693 Reci še enkrat, Karina. 251 00:11:59,693 --> 00:12:03,010 252 00:12:03,010 --> 00:12:03,550 Popolna. 253 00:12:03,550 --> 00:12:04,370 Zakaj je tako? 254 00:12:04,370 --> 00:12:08,530 To je dejansko 4 plus 2 plus 1. 255 00:12:08,530 --> 00:12:09,580 Tako dobro. 256 00:12:09,580 --> 00:12:14,364 >> Kako predstavljajo malo another-- kako približno številko 2? 257 00:12:14,364 --> 00:12:18,360 258 00:12:18,360 --> 00:12:20,690 Blizu, vendar nazaj. 259 00:12:20,690 --> 00:12:21,660 Torej, kaj je to? 260 00:12:21,660 --> 00:12:26,290 Je 4 plus 1, tako da je 5 še enkrat. 261 00:12:26,290 --> 00:12:28,310 >> Torej what's-- Žal mi je, 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 bi bilo 2, saj še celo če nekako ne skoči ven na vas, 264 00:12:34,762 --> 00:12:35,470 pač matematika. 265 00:12:35,470 --> 00:12:40,390 4-krat 0, 0, 2-krat 1 je 2, 1 krat 0 je 0. 266 00:12:40,390 --> 00:12:42,830 Torej je to število poznamo kot 2. 267 00:12:42,830 --> 00:12:44,030 >> Kako o številu 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 Dobro. 271 00:12:53,330 --> 00:12:56,130 Tako smo nekako potrebujemo še eno ogrado. 272 00:12:56,130 --> 00:12:59,570 Potrebujemo 1 0 0 0. 273 00:12:59,570 --> 00:13:02,280 In to je res naše vrste stare šole decimalni sistem. 274 00:13:02,280 --> 00:13:05,280 Kako si predstavljajo število 1000? 275 00:13:05,280 --> 00:13:08,480 >> No, zdi se, da se nekako v težkem položaju, 276 00:13:08,480 --> 00:13:10,390 če vas prosim, da predstavljajo številka 1000, 277 00:13:10,390 --> 00:13:14,960 ker tudi če daš sebe kot 9 izmed njih, 9 izmed njih, 0 teh, 278 00:13:14,960 --> 00:13:18,730 ki je največja številka, ki jo imajo, nisi čisto priti do 1.000. 279 00:13:18,730 --> 00:13:26,920 Torej, če vas 1000, morate samo še ena položaj, tako da lahko naredite 1 0 0 0, 280 00:13:26,920 --> 00:13:29,460 ergo številko 1000. 281 00:13:29,460 --> 00:13:34,200 >> Zdaj, kaj je zemljevid te vrste konceptualna razprava nazaj na strojni opremi, 282 00:13:34,200 --> 00:13:37,470 kjer je spet bil vhod tik ta mali električni kabel, elektrika 283 00:13:37,470 --> 00:13:39,300 prihaja in teče ven. 284 00:13:39,300 --> 00:13:44,740 In tako za to, da se preslika iz tukaj tam, no, kaj res potrebujemo? 285 00:13:44,740 --> 00:13:49,460 No, lahko si misliš, da so notranjost računalnik, cel kup žarnic, 286 00:13:49,460 --> 00:13:50,450 če hočete. 287 00:13:50,450 --> 00:13:52,040 Oni res poklical tranzistorjev. 288 00:13:52,040 --> 00:13:55,121 In tranzistorji so samo stikala da lahko bodisi vklopite ali izklopite. 289 00:13:55,121 --> 00:13:56,870 Torej si lahko predstavljate tranzistor, ki je na 290 00:13:56,870 --> 00:14:00,730 dovoli, da elektrika teče in tranzistor, ki je off kot ustavitev 291 00:14:00,730 --> 00:14:02,170 električne energije iz teče. 292 00:14:02,170 --> 00:14:04,130 In namesto da bi čez luči tukaj, 293 00:14:04,130 --> 00:14:06,450 zakaj nisem naredil te vrste novega šolskega slog. 294 00:14:06,450 --> 00:14:11,360 Torej je to lahko 1, svetilka da je na, komaj čeprav. 295 00:14:11,360 --> 00:14:14,050 In to je lahko 0, in zdaj je off. 296 00:14:14,050 --> 00:14:18,277 >> Torej, z uporabo te fizične naprave, I Sedaj lahko predstavljajo binarni sistem. 297 00:14:18,277 --> 00:14:19,235 Potrebujem samo dveh držav. 298 00:14:19,235 --> 00:14:21,660 Ni važno, kaj barvanja je ali kaj je to. 299 00:14:21,660 --> 00:14:25,920 Pomembno je le, da imam ena država na in druga država off. 300 00:14:25,920 --> 00:14:30,605 Torej z mojim telefonom tukaj, kako I predstavljajo število poznamo kot 0? 301 00:14:30,605 --> 00:14:34,490 302 00:14:34,490 --> 00:14:38,550 Ali so se enakovredno, kar Število am I predstavljajo zdaj? 303 00:14:38,550 --> 00:14:39,810 0, ker je naprava izklopljena. 304 00:14:39,810 --> 00:14:41,560 >> In če bi to naredili? 305 00:14:41,560 --> 00:14:43,583 In zdaj, kako I predstavlja število 2? 306 00:14:43,583 --> 00:14:46,380 307 00:14:46,380 --> 00:14:50,930 Si lahko sposodim telefon tukaj, kot smo včeraj? 308 00:14:50,930 --> 00:14:58,490 Torej, da vidimo, tako da, če hočem, da predstavlja številka 2, je ta številka 2? 309 00:14:58,490 --> 00:14:59,050 No. 310 00:14:59,050 --> 00:15:02,250 Koliko sem jaz po naključju predstavlja tukaj? 311 00:15:02,250 --> 00:15:03,550 To je dejansko število 3. 312 00:15:03,550 --> 00:15:05,008 >> Torej, katero ne želim izklopiti? 313 00:15:05,008 --> 00:15:09,634 Črni telefon or-- dobro, če they're-- črn telefon ali beli telefon? 314 00:15:09,634 --> 00:15:10,300 Bela telefon. 315 00:15:10,300 --> 00:15:17,020 Torej, če je ta možnost izklopljena in mi vrstica je čez tu, imamo 1 316 00:15:17,020 --> 00:15:19,487 V zadnjih 2 kraja in 0 v 1 je mesto. 317 00:15:19,487 --> 00:15:21,195 In tako sem zdaj predstavlja število 2. 318 00:15:21,195 --> 00:15:24,680 In to Seveda bi bilo število 3, ker zdaj obe luči 319 00:15:24,680 --> 00:15:25,350 vklopljena. 320 00:15:25,350 --> 00:15:27,480 >> In bom ustaviti tukaj, vendar je razumljivo 321 00:15:27,480 --> 00:15:31,100 če želim, da predstavljajo številka 4 ali 8 ali novejši, 322 00:15:31,100 --> 00:15:32,529 Bom potreboval več telefonov. 323 00:15:32,529 --> 00:15:33,820 Ampak to je vse, kar se dogaja. 324 00:15:33,820 --> 00:15:37,800 Torej, če ste že kdaj slišali, da Notranjost a-- hvala you-- računalnik 325 00:15:37,800 --> 00:15:42,269 je na milijone tranzistorjev, ki je le na milijone drobcenih stikal. 326 00:15:42,269 --> 00:15:44,310 In oni ne svetlobe žarnice, ki vklop in izklop, 327 00:15:44,310 --> 00:15:48,340 vendar pa dovolil elektrike teči nekje ali zaustaviti. 328 00:15:48,340 --> 00:15:52,140 In zato je svoje dve states-- vklopiti ali izklopiti, vklopiti ali izklopiti. 329 00:15:52,140 --> 00:15:55,730 >> Zato bi se zdi zdaj da imajo te sposobnosti 330 00:15:55,730 --> 00:16:00,590 da predstavlja ta koncept, ki bi radi v dejanske strojne opreme. 331 00:16:00,590 --> 00:16:05,520 Toda vse, kar imamo zdaj, je sposobnost da predstavljajo številke, da bi se zdi. 332 00:16:05,520 --> 00:16:08,580 Torej, kako bomo šli o zastopa črke abecede, ki 333 00:16:08,580 --> 00:16:12,310 počuti kot naslednji vrste funkcijo, ki jo bi želeli dodati sodoben računalnik 334 00:16:12,310 --> 00:16:14,280 ko imate številke? 335 00:16:14,280 --> 00:16:16,930 >> In res, če pomislite it, zgodovinsko, računalniki 336 00:16:16,930 --> 00:16:19,426 so bili uvedeni v resnici služijo kot kalkulatorji številčno. 337 00:16:19,426 --> 00:16:21,300 Seveda pa to dni, pa še veliko več. 338 00:16:21,300 --> 00:16:23,799 Tudi ko škorenj ki gre gor, si običajno videti eno ali več besed. 339 00:16:23,799 --> 00:16:27,420 Torej, kako si predstavljajo besede, Če vse, kar imate, je, še enkrat, 340 00:16:27,420 --> 00:16:31,054 elektrika konec izmed dan, ali ekvivalentno 0 in 1 je? 341 00:16:31,054 --> 00:16:34,430 342 00:16:34,430 --> 00:16:35,690 >> Ja. 343 00:16:35,690 --> 00:16:38,320 Ja, mislim, smo nekako naredili To je včeraj v neki obliki, 344 00:16:38,320 --> 00:16:40,200 kjer je na neki točki, Mislim, da sem samovoljno 345 00:16:40,200 --> 00:16:46,741 je dejal, da, če želimo, da predstavljajo črka A, bi lahko samo pokliči, da je 1. 346 00:16:46,741 --> 00:16:49,990 Je bilo v okviru kriptografiji kjer smo samo potrebno nekakšno kodo, 347 00:16:49,990 --> 00:16:51,160 nekakšen kartiranja. 348 00:16:51,160 --> 00:16:56,680 >> Tako bo mogoče A predstavljal kot 1, in B bo predstavljena kot 2, 349 00:16:56,680 --> 00:17:01,560 in Z bo predstavljala kot 26, npr. 350 00:17:01,560 --> 00:17:07,430 In potem je samo opozorilo, da če sem gre za kodiranje črk v mojo e-pošto 351 00:17:07,430 --> 00:17:10,430 ali v mojih besedilnih sporočil kot številke, ki jih vsi 352 00:17:10,430 --> 00:17:12,640 se strinjati, da uporabite Isti niz konvencij. 353 00:17:12,640 --> 00:17:14,619 In res, svet je naredil točno to. 354 00:17:14,619 --> 00:17:18,040 >> Je sistem na svetu imenovani ASCII, American Standard 355 00:17:18,040 --> 00:17:21,640 Nabor za izmenjavo informacij, ki je preprosto odločitev nekaj let 356 00:17:21,640 --> 00:17:25,720 nazaj, da so ljudje, ki da odločil, da je A bo enaka, ne 357 00:17:25,720 --> 00:17:32,260 1, 2 in 26, ter tako forth-- da je malo different-- ampak 65, 66, 67. 358 00:17:32,260 --> 00:17:34,010 In bom dvigni grafikon vsak trenutek. 359 00:17:34,010 --> 00:17:34,580 Ampak to je samovoljna. 360 00:17:34,580 --> 00:17:36,329 Ampak to ni pomembno da je poljubna. 361 00:17:36,329 --> 00:17:38,620 Na svetu je samo biti dosledni. 362 00:17:38,620 --> 00:17:40,540 >> Zdaj, v zadnjem času, je nekaj Ljubitelj 363 00:17:40,540 --> 00:17:45,430 imenuje Unicode, ker je na svetu naravi od spoznal, po izumljanja računalnikov, 364 00:17:45,430 --> 00:17:50,977 da obstaja več kot dobro 256 simboli na svetu 365 00:17:50,977 --> 00:17:53,560 da bi si želimo, da predstavljajo, še posebej, ko se uvede 366 00:17:53,560 --> 00:17:58,420 Azijski jeziki in druge simbologije da potrebujejo več ekspresivnost kot vas 367 00:17:58,420 --> 00:18:02,150 mogoče vgraditi v prvi različici Ta koda, ki je bil imenovan ASCII. 368 00:18:02,150 --> 00:18:05,250 Torej Unicode dejansko omogoča vas, da uporabite več 0 in 2. 369 00:18:05,250 --> 00:18:08,830 Še posebej, boste obdržali zaslišanju beseda bajtov v družbi in celo samo 370 00:18:08,830 --> 00:18:09,400 včeraj. 371 00:18:09,400 --> 00:18:12,040 In bajt je tisto, kar še enkrat? 372 00:18:12,040 --> 00:18:14,840 >> Kaj je bajt? 373 00:18:14,840 --> 00:18:15,700 To je le 8 bitov. 374 00:18:15,700 --> 00:18:17,150 Torej, kaj to v resnici pomeni? 375 00:18:17,150 --> 00:18:22,400 No, to pomeni, prej, ko smo bili govorimo o dvo- in sem bil z uporabo 376 00:18:22,400 --> 00:18:28,010 samovoljno treh bitov, ko smo bili Govorimo o binary-- z 1 kraja, 377 00:18:28,010 --> 00:18:33,600 na 2 je kraj, in je place-- dobro 4 bajt samo pomeni, da ste v pogovoru 378 00:18:33,600 --> 00:18:38,730 Ne v enotah treh ampak štiri, pet, šest, sedem osem, 379 00:18:38,730 --> 00:18:46,910 kar nam daje 8 je mesto, 16 je, 32 je, 64 je, in 128 je. 380 00:18:46,910 --> 00:18:50,010 >> Z drugimi besedami, malo ni vse da je koristno merska enota, 381 00:18:50,010 --> 00:18:53,132 zato, ker je tako kot eni mali podatek, ali off. 382 00:18:53,132 --> 00:18:54,840 Torej, pred nekaj leti, svet le odločil, 383 00:18:54,840 --> 00:18:59,060 je nekoliko bolj priročno govoriti v Pogoji bajtov, osem stvari naenkrat. 384 00:18:59,060 --> 00:19:01,670 Tako torej se je rodil pojem bajt. 385 00:19:01,670 --> 00:19:03,640 In tako imamo osem bitov tukaj. 386 00:19:03,640 --> 00:19:06,810 >> In se je izkazalo, tudi za podobne Razlogi, svet odločila let 387 00:19:06,810 --> 00:19:12,439 Pred da predstavljajo črke ASCII, boste uporabili enote 8 bitov. 388 00:19:12,439 --> 00:19:14,230 Torej, tudi če ne potrebujejo, da je veliko, si 389 00:19:14,230 --> 00:19:18,130 vedno bo za uporabo 8 bitov predstavljajo črko abecede. 390 00:19:18,130 --> 00:19:20,950 In to je priročno, ker potem, če vas 391 00:19:20,950 --> 00:19:28,720 prejmejo sporočilo, ki je z rezultatom 0 0 0 1 1 1 1 0 sledijo druga 1 1 1 0 1 0 392 00:19:28,720 --> 00:19:33,320 0 1, tako da, če ste prejeli 16 bitov, svet lahko samo 393 00:19:33,320 --> 00:19:37,460 predpostavimo, da sta prva 8 ena črka in drugi 8, so še eno pismo. 394 00:19:37,460 --> 00:19:39,240 >> Ni važno, koliko jih je. 395 00:19:39,240 --> 00:19:41,460 To je samo pomembno, da vsi smo dosledni 396 00:19:41,460 --> 00:19:42,950 ko smo razlagi teh bitov. 397 00:19:42,950 --> 00:19:44,377 In to je bila le naključno. 398 00:19:44,377 --> 00:19:47,210 To pomeni nekaj, vendar nisem res misliš o tem, kaj to pomeni. 399 00:19:47,210 --> 00:19:49,620 >> Torej, to je majhna bela laž. 400 00:19:49,620 --> 00:19:51,990 Prvotno je ASCII dejansko uporablja samo 7 bitov. 401 00:19:51,990 --> 00:19:54,180 In osmi bit imenovano razširjeno ASCII. 402 00:19:54,180 --> 00:19:56,290 Ampak bistvo je, navsezadnje, enako. 403 00:19:56,290 --> 00:19:58,850 V svetu na splošno standardiziran na 8 bitov. 404 00:19:58,850 --> 00:20:04,290 >> Torej bi bilo to zdi, da se malo omejitev, saj bi le lahko 405 00:20:04,290 --> 00:20:07,970 predstavljajo kapitalske A, kapital B s kapitalskimi Z. 406 00:20:07,970 --> 00:20:10,940 Ampak res ne, če grem to-- tam je kup virov 407 00:20:10,940 --> 00:20:13,695 spletu, na primer, asciitable.com, to 408 00:20:13,695 --> 00:20:16,310 se bo nekoliko prepričljivo na prvem mestu. 409 00:20:16,310 --> 00:20:18,910 Ampak bom poudariti kaj je pomembno tukaj. 410 00:20:18,910 --> 00:20:24,090 >> To samo zgodi, da be-- in bom walk-- da vidimo, če grem tja. 411 00:20:24,090 --> 00:20:27,990 Tukaj je, v decimalno stolpec številka 65. 412 00:20:27,990 --> 00:20:32,201 In na stolpec pisma desnem značaj, Chr, je črka A. 413 00:20:32,201 --> 00:20:34,450 In lahko prezreti, za zdaj, vse, kar je v sredini. 414 00:20:34,450 --> 00:20:36,769 To je šestnajstiški, osmiško in HTML kodo. 415 00:20:36,769 --> 00:20:39,810 Za tem mestu je samo poskuša vreči veliko informacij na vas naenkrat. 416 00:20:39,810 --> 00:20:42,970 Toda vse, kar skrbi je decimalni stolpec in stolpec značaj. 417 00:20:42,970 --> 00:20:46,190 >> Torej po tej logiki, kaj je številko, da svet 418 00:20:46,190 --> 00:20:50,510 se je odločila, predstavlja male leto? 419 00:20:50,510 --> 00:20:52,230 Ja, 97. 420 00:20:52,230 --> 00:20:55,850 In samo zamenjati morda nekoliko, 421 00:20:55,850 --> 00:21:03,715 kaj več se je svet odločil, bi pomenilo številko 1? 422 00:21:03,715 --> 00:21:06,900 423 00:21:06,900 --> 00:21:10,910 Prav, ker we-- 49, se zdi tu dol v spodnjem levem kotu. 424 00:21:10,910 --> 00:21:12,320 >> Zdaj, kaj mislim s tem? 425 00:21:12,320 --> 00:21:14,830 Tako se izkaže, da v računalniških sistemih, 426 00:21:14,830 --> 00:21:16,840 obstaja splošno Bistvena razlika 427 00:21:16,840 --> 00:21:19,920 med številom in naravo. 428 00:21:19,920 --> 00:21:22,330 Število je stvar, ki jo naučil odraščanja, ko 429 00:21:22,330 --> 00:21:23,830 smo bili zelo mladi v osnovni šoli. 430 00:21:23,830 --> 00:21:25,110 To je stvari, ki jih računajo s. 431 00:21:25,110 --> 00:21:30,220 Toda lik je samo oblika, A pismenka, tako rekoč, na zaslonu. 432 00:21:30,220 --> 00:21:36,200 >> Zdaj smo pri ljudeh nekako glej nekaj, kar izgleda takole. 433 00:21:36,200 --> 00:21:39,060 In smo rekli, oh, da je število 2. 434 00:21:39,060 --> 00:21:44,999 Ampak ne, to je samo simbol, ki izgleda kot tisto, kar poznamo kot številka 2. 435 00:21:44,999 --> 00:21:46,790 In tako da je to temeljna razlika 436 00:21:46,790 --> 00:21:50,340 med dejanskimi številkami in črkami. 437 00:21:50,340 --> 00:21:52,130 To je številka. 438 00:21:52,130 --> 00:21:54,420 Ampak na splošno, v ozadje računalnika, 439 00:21:54,420 --> 00:21:56,809 Če namesto tega vidite kaj takega quoted-- 440 00:21:56,809 --> 00:21:58,600 in ne boste vedno morali videti, da je navedeno, 441 00:21:58,600 --> 00:22:01,474 vendar pa zaradi discussion-- če vidiš narekovaje številko, 442 00:22:01,474 --> 00:22:02,730 To je zdaj značaj. 443 00:22:02,730 --> 00:22:06,330 Torej, ta številka 2 pod pokrov notranjosti računalnika 444 00:22:06,330 --> 00:22:12,220 bi bila prikazana z vzorcem bitov, ki predstavljajo število 445 00:22:12,220 --> 00:22:14,850 50 glede na grafikonu na spletu. 446 00:22:14,850 --> 00:22:18,300 >> Vendar, če je računalnik Samo to vidi v tem 447 00:22:18,300 --> 00:22:24,580 bi bila prikazana z vzorec bitov 0 0 0 0 0 0 1 0. 448 00:22:24,580 --> 00:22:29,595 Ker bi to znak dejansko as-- in zdaj zastopa 449 00:22:29,595 --> 00:22:34,710 Moram razmišljati malo harder-- tako da ta znak bi se predstavljal z 0 450 00:22:34,710 --> 00:22:39,080 0 1-- kaj moram 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 Kako sem to naredil? 453 00:22:45,480 --> 00:22:49,580 No to je številka 50, če vas ga pomnožite z uporabo te stolpce, 454 00:22:49,580 --> 00:22:53,530 To je številka 2, itd To je razlog, zakaj je ta dihotomija. 455 00:22:53,530 --> 00:22:55,850 >> In to je samo teaser zdaj za funkcije 456 00:22:55,850 --> 00:22:59,710 ki obstajajo v programskih jezikih da bomo dotaknili kratko kasneje danes. 457 00:22:59,710 --> 00:23:01,950 V programskih jezikov, imate na splošno, 458 00:23:01,950 --> 00:23:04,495 vendar ne vedno, stvari pokličite različne vrste podatkov. 459 00:23:04,495 --> 00:23:06,870 Z drugimi besedami, programmer-- ko on ali ona je pisanje, 460 00:23:06,870 --> 00:23:11,150 programer dobi, da odloči, v kakšni format za shranjevanje svoje podatke. 461 00:23:11,150 --> 00:23:14,120 Lahko shranjevanje podatkov, kot surove številke, kot so število 2. 462 00:23:14,120 --> 00:23:17,940 Ali jih lahko shranite kot strune, ali zaporedja znakov 463 00:23:17,940 --> 00:23:21,550 da bi na splošno izraziti z citati v vašem programskem jeziku. 464 00:23:21,550 --> 00:23:25,230 >> Lahko imaš stvari called-- Bom preveč poenostaviti in jih imenujemo 465 00:23:25,230 --> 00:23:28,870 real numbers-- tako številk, ki niso cela števila, kot so število 2, 466 00:23:28,870 --> 00:23:31,310 vendar številke všeč 4.56. 467 00:23:31,310 --> 00:23:33,490 Torej realne številke lahko tudi imajo decimalnih mest, 468 00:23:33,490 --> 00:23:36,340 tako da je druga temeljna podatek v računalniku. 469 00:23:36,340 --> 00:23:41,920 In potem lahko celo druge vrste podatkov še. 470 00:23:41,920 --> 00:23:45,810 Torej, to je samo teaser res za najenostavnejši konstrukcijskih odločitev 471 00:23:45,810 --> 00:23:50,960 da programer morda da pod pokrovom. 472 00:23:50,960 --> 00:23:52,925 >> Torej, kakšna vprašanja samo še? 473 00:23:52,925 --> 00:23:57,320 474 00:23:57,320 --> 00:23:59,860 Torej, kaj je poskusil, da bi to malo bolj realno. 475 00:23:59,860 --> 00:24:02,120 Ta strojna oprema ni toliko več v uporabi. 476 00:24:02,120 --> 00:24:07,420 Vendar je večina vsi v tej sobi verjetno odraščal in še vedno uporablja trde diske 477 00:24:07,420 --> 00:24:08,010 na nek način. 478 00:24:08,010 --> 00:24:10,100 >> Čeprav je večina naši prenosniki niso več 479 00:24:10,100 --> 00:24:15,900 imajo naprave, ki delujejo tako, namesto laptops danes splošno 480 00:24:15,900 --> 00:24:18,590 imajo polprevodniške pogone brez gibljivih delov. 481 00:24:18,590 --> 00:24:22,840 In to kaže, da je dražje, žal, ampak nekoliko hitrejša 482 00:24:22,840 --> 00:24:27,230 in a-- dobro, pogosto, veliko hitreje, kar je eden od razlogov. 483 00:24:27,230 --> 00:24:28,980 In prav tako ne proizvaja toliko toplote. 484 00:24:28,980 --> 00:24:31,680 To je lahko manjša, tako da je splošno neto pozitiven. 485 00:24:31,680 --> 00:24:35,030 >> Toda to nam omogoča, da preslikati malo bolj konkretno, kaj 486 00:24:35,030 --> 00:24:38,460 govorimo o na: 0 je in Stopnja 1 je sedaj na fizične naprave. 487 00:24:38,460 --> 00:24:40,810 To je ena stvar, ki mi govori okoli 0 in 1 v smislu 488 00:24:40,810 --> 00:24:43,990 mojega telefona ali abstraktno v smislu od stikala pa na in izven. 489 00:24:43,990 --> 00:24:45,340 Kaj pa trde diske? 490 00:24:45,340 --> 00:24:48,495 V svojih prenosnih računalnikov, če imate starejši eno, ali v namiznem računalniku, 491 00:24:48,495 --> 00:24:51,200 ali gotovo v strežnikih Danes, kjer ste 492 00:24:51,200 --> 00:24:53,070 trdih diskov, ki imajo terabajt prostora, 493 00:24:53,070 --> 00:24:55,560 4 TB prostora, dobro, kaj to pomeni? 494 00:24:55,560 --> 00:24:59,560 >> Trdi disk s 1 terabajt vesoljskih sredstev 495 00:24:59,560 --> 00:25:03,890 tam je 1 bilijon bajtov notranjost je nekako, 496 00:25:03,890 --> 00:25:10,450 ali enakovredno 8 trilijonov bitov znotraj. 497 00:25:10,450 --> 00:25:16,240 1 TB bi bil 8 terabitov ali 1 bilijon bitov, ki 498 00:25:16,240 --> 00:25:19,330 pomeni, če imate težko Kombinacije, ki ste jih nekako 499 00:25:19,330 --> 00:25:22,400 ali druga milijarda 0 je in 1 je znotraj njega. 500 00:25:22,400 --> 00:25:25,360 In če bomo le poglejte na poljubna slika trdega diska 501 00:25:25,360 --> 00:25:30,110 zastopnik, to je tisto, kar trdi Pogon lahko običajno videti kot notranjost. 502 00:25:30,110 --> 00:25:32,600 >> Tudi ta je nekako kot stari gramofon predvajalnik 503 00:25:32,600 --> 00:25:35,350 vendar na splošno z več zapisov v notranjosti, tako 504 00:25:35,350 --> 00:25:38,270 da speak-- multiple plošče, kot oni poklical, 505 00:25:38,270 --> 00:25:42,259 kovinske krožne diski, in Nato malo branje glava 506 00:25:42,259 --> 00:25:43,550 podobno kot stari gramofon. 507 00:25:43,550 --> 00:25:46,589 In to branje glava pomakne nazaj in naprej in nekako se glasi bitov. 508 00:25:46,589 --> 00:25:49,380 In kaj je na teh plošče, čeprav čeprav smo ljudje ne morejo videti, 509 00:25:49,380 --> 00:25:52,757 bodisi v resnici ali te slike, tam je drobne majhne magnetne delce. 510 00:25:52,757 --> 00:25:55,090 In tudi, če ste dolgo pozabil, kako deluje elektrika, 511 00:25:55,090 --> 00:25:57,550 magnetni delec ki se zaračuna na splošno 512 00:25:57,550 --> 00:26:00,570 je severni del in jug end-- tako severno in južno. 513 00:26:00,570 --> 00:26:03,000 In tako je svet samo odločil, nekaj časa nazaj 514 00:26:03,000 --> 00:26:06,570 da če magnetna protokol bistvu je usklajena, kot je ta, sever-jug, 515 00:26:06,570 --> 00:26:07,610 recimo, da je v 1. 516 00:26:07,610 --> 00:26:10,470 Če je namesto jug-sever, kaj je samo klic, da je 0. 517 00:26:10,470 --> 00:26:13,350 In tako, če imate na voljo bilijon 518 00:26:13,350 --> 00:26:16,300 mali magnetni particles-- in upajmo, 519 00:26:16,300 --> 00:26:18,740 strojna oprema iznajdljivost v Da bi flip ljudi okrog 520 00:26:18,740 --> 00:26:24,450 kot vidite fit-- če želite predstavljajo cel kup 0-ih, vas 521 00:26:24,450 --> 00:26:28,120 potrebujejo samo 8 magnetnih delcev Vse usklajena, kot je ta. 522 00:26:28,120 --> 00:26:30,330 In če želite, da predstavlja Osem 1-ih, ki ste jo pravkar 523 00:26:30,330 --> 00:26:33,170 Potrebujemo 8 magnetne delce poravnanima back to back to back, kot je ta. 524 00:26:33,170 --> 00:26:35,515 >> Kaj mislim z magnetni delci? 525 00:26:35,515 --> 00:26:38,390 Odkrito povedano, vsa ta leta kasneje, stvar, ki je še vedno pride na misel 526 00:26:38,390 --> 00:26:42,139 je ta tip, če vas odraščal s to rečjo. 527 00:26:42,139 --> 00:26:43,930 To je little-- za tiste unfamiliar-- 528 00:26:43,930 --> 00:26:47,810 malo otroštvo igrača, ki je to brez dlake človek tukaj 529 00:26:47,810 --> 00:26:51,690 da ima vse te mali črni magnetni delci, ki pridejo z njim. 530 00:26:51,690 --> 00:26:53,930 In z uporabo tega rdečo palico ki je le magnet, 531 00:26:53,930 --> 00:26:58,460 si ga lahko nekako dajo brke ali obrvi ali dlake ali kaj na njem. 532 00:26:58,460 --> 00:27:00,710 Torej, v bistvu, če smo povečavo v, na primer, ta 533 00:27:00,710 --> 00:27:02,950 je vrsta igre, ki jo lahko igrajo z Woolyja Willy. 534 00:27:02,950 --> 00:27:06,570 >> In to je samo reči, ti so precej večji magnetni delci 535 00:27:06,570 --> 00:27:09,890 kot so dejansko na trdem disku, in veliko manj magnetnih delcev. 536 00:27:09,890 --> 00:27:11,640 Ampak kaj je dejansko videli potem, če imate, 537 00:27:11,640 --> 00:27:14,720 drobni magnetni delci v trdi disk, kako lahko dejansko 538 00:27:14,720 --> 00:27:19,090 uporabiti tiste, ki predstavljajo podatke. 539 00:27:19,090 --> 00:27:20,070 >> [VIDEO PREDVAJANJE] 540 00:27:20,070 --> 00:27:24,190 >> -V Trdi disk, če vaš PC hrani večino svojih stalnih podatkov. 541 00:27:24,190 --> 00:27:27,170 Da bi to dosegli, podatke potuje od RAM-a ob 542 00:27:27,170 --> 00:27:31,720 s programskimi signali, da povej trdega diska, kako te podatke shraniti. 543 00:27:31,720 --> 00:27:36,570 Pogonski vezja trde prevesti tistih signale v nihanjem napetosti. 544 00:27:36,570 --> 00:27:40,880 To, v zameno nadzor trdi disk je premikanje parts-- nekaj redkih gibljejo 545 00:27:40,880 --> 00:27:43,440 deli levo v sodobnem računalniku. 546 00:27:43,440 --> 00:27:47,650 >> Nekateri signalov krmiljenje motorja, ki se vrti-kovino prevlečene plošče. 547 00:27:47,650 --> 00:27:50,980 Vaši podatki so dejansko shranjene na teh plošč. 548 00:27:50,980 --> 00:27:56,250 Drugi signali premakniti branje / pisanje glave brati ali pisati podatke o plošče. 549 00:27:56,250 --> 00:28:00,100 Ta tehnika je zelo natančna da je človeški las ne bi niti 550 00:28:00,100 --> 00:28:02,800 prehod med glavami in predenje plošče. 551 00:28:02,800 --> 00:28:04,887 Kljub temu, da vse skupaj deluje na grozen hitrosti. 552 00:28:04,887 --> 00:28:05,470 [END PREDVAJANJE] 553 00:28:05,470 --> 00:28:06,780 In lahko vidimo na zadnji del videa, 554 00:28:06,780 --> 00:28:08,340 obstaja splošno več plošče. 555 00:28:08,340 --> 00:28:10,250 In tako, da bere glava ne samo branje vrh. 556 00:28:10,250 --> 00:28:12,458 To je nekako kot tri ali štiri ali več bralnih glav 557 00:28:12,458 --> 00:28:14,920 da je poteza, kot je ta, branje podatkov hkrati. 558 00:28:14,920 --> 00:28:17,407 >> Torej je veliko zahtevnost in vrsta časovnega 559 00:28:17,407 --> 00:28:18,740 ki je vključena v trdem disku. 560 00:28:18,740 --> 00:28:21,920 In stvar se vrti res darn hitro, tako da je veliko kompleksnosti. 561 00:28:21,920 --> 00:28:25,220 Ampak kaj je povečati malo globlje in videti, kje so ti magnetni delci 562 00:28:25,220 --> 00:28:27,370 in kako se bomo dobili na njih. 563 00:28:27,370 --> 00:28:28,750 >> [VIDEO PREDVAJANJE] 564 00:28:28,750 --> 00:28:31,830 >> pogled -Naj se na tisto, kar smo samo videl v počasnem posnetku. 565 00:28:31,830 --> 00:28:35,230 Ko kratek impulz električne pošlje branje / pisanje glave, 566 00:28:35,230 --> 00:28:39,000 se obrne na majhnem elektromagnetnim za delček sekunde. 567 00:28:39,000 --> 00:28:41,390 Magnet ustvarja polje, ki se spreminja 568 00:28:41,390 --> 00:28:44,600 polarnost majhen, majhen Del kovinski delci 569 00:28:44,600 --> 00:28:46,960 ki plašč površino vsaki plošči je. 570 00:28:46,960 --> 00:28:50,020 Vzorec niz teh drobnih napolnjene do območja na disku 571 00:28:50,020 --> 00:28:54,590 predstavlja enojno malo podatkov v binarno število sistem, ki ga računalniki uporabljajo. 572 00:28:54,590 --> 00:28:57,510 >> Zdaj, če je trenutna je poslala pot skozi branje / pisanje glave, 573 00:28:57,510 --> 00:28:59,899 površina je polarizirano v eni smeri. 574 00:28:59,899 --> 00:29:01,940 Če je trenutni pošlje nasprotno smer 575 00:29:01,940 --> 00:29:04,020 polarizacija je obrnil. 576 00:29:04,020 --> 00:29:06,440 Kako si dobil podatke na trdem disku? 577 00:29:06,440 --> 00:29:08,190 Samo povratne proces. 578 00:29:08,190 --> 00:29:10,440 Torej, to je delce na disk, da bi dobili tok 579 00:29:10,440 --> 00:29:12,260 v branje / pisanje glavo premika. 580 00:29:12,260 --> 00:29:14,580 Skupaj milijone ti namagneten segmenti, 581 00:29:14,580 --> 00:29:16,220 in imaš datoteko. 582 00:29:16,220 --> 00:29:21,030 >> Sedaj lahko deli eno datoteko lahko razpršeni po vsem pogonu na plošče, 583 00:29:21,030 --> 00:29:24,060 nekako kot nered referatov na vaši mizi. 584 00:29:24,060 --> 00:29:27,590 Tako posebna dodatna datoteka hrani tir, kjer je vse. 585 00:29:27,590 --> 00:29:30,440 Ali ne želiš, da bi nekaj takega? 586 00:29:30,440 --> 00:29:31,290 >> [END PREDVAJANJE] 587 00:29:31,290 --> 00:29:36,260 >> Tako se namiguje, da obstaja, morda je da je tema od včeraj izbrisa. 588 00:29:36,260 --> 00:29:38,380 Ko se brisanje datoteka, včeraj smo rekli 589 00:29:38,380 --> 00:29:41,020 da računalniški resnici počne kaj, ko povlečete nekaj 590 00:29:41,020 --> 00:29:44,110 v koš ali smeti? 591 00:29:44,110 --> 00:29:45,150 To je preprosto pozabi. 592 00:29:45,150 --> 00:29:47,540 Toda 0 in 1 je, magnetni delci 593 00:29:47,540 --> 00:29:50,640 da je izgledal rdeče in modre stvari tukaj, ali mi roko tukaj, 594 00:29:50,640 --> 00:29:52,350 so še vedno tam na trdem disku. 595 00:29:52,350 --> 00:29:56,090 >> In tako obstaja software-- Norton Utilities in minulih 596 00:29:56,090 --> 00:29:58,159 in druge bolj moderno software--, da je samo 597 00:29:58,159 --> 00:30:01,200 bo skeniranje celotnega trdega diska je videti na vseh tistih 0-ih in 1 ja, saj je 598 00:30:01,200 --> 00:30:06,890 Izkazalo se je, da je večina formats-- datoteka Word dokumente, Excelove datoteke, slike, 599 00:30:06,890 --> 00:30:10,380 video files-- imajo nekatere Vzorci, ki so pogosti med njimi. 600 00:30:10,380 --> 00:30:12,550 Vsak video datoteke morda biti drugačen video, 601 00:30:12,550 --> 00:30:14,870 vendar je prvi več bitov so običajno isti. 602 00:30:14,870 --> 00:30:16,790 Ali zadnjih nekaj bitov so ponavadi enaki. 603 00:30:16,790 --> 00:30:19,910 >> In tako z veliko verjetnostjo, si lahko ogledate za tiste vzorce. 604 00:30:19,910 --> 00:30:23,700 In tudi če je datoteka pozabljena, lahko rečemo, z veliko verjetnostjo, 605 00:30:23,700 --> 00:30:28,460 ampak to izgleda kot Wordov dokument, upamo, da si opomore in un-pozabi, 606 00:30:28,460 --> 00:30:28,990 če hočete. 607 00:30:28,990 --> 00:30:32,330 In tako to je, kako lahko obnovite podatkov, ki je bodisi že po naključju 608 00:30:32,330 --> 00:30:36,560 izbrisati ali izbrisati ali namerno črta za kakršen koli namen. 609 00:30:36,560 --> 00:30:42,530 >> Nasprotno, varno brisanje počne kaj V okviru slike, kot je ta? 610 00:30:42,530 --> 00:30:44,059 Točno, jih naredi vse naključno. 611 00:30:44,059 --> 00:30:46,350 Torej je nekako premika nekaj jih dol, nekateri od njih gor, 612 00:30:46,350 --> 00:30:49,433 zapusti nekatere od njih spremenile, in običajno naredi naključno hrup iz nje, 613 00:30:49,433 --> 00:30:52,960 ali pa morda naredi vse Tisti 0 ali vse od njih 1 je. 614 00:30:52,960 --> 00:30:56,350 In da je tudi lahko na splošno drgnjenje svoje podatke proč. 615 00:30:56,350 --> 00:31:00,160 >> Torej, kaj je zdaj vrnemo k vprašanju računanja razmišljanja, pri čemer 616 00:31:00,160 --> 00:31:03,270 imamo vhode formule. 617 00:31:03,270 --> 00:31:06,390 In algoritmi daje ti izhodi na koncu. 618 00:31:06,390 --> 00:31:09,270 Osredotočeni smo zdaj na vložke in izhodi, ker zdaj sem 619 00:31:09,270 --> 00:31:12,159 zahtevek imamo način predstavlja vhodov in izhodov. 620 00:31:12,159 --> 00:31:13,450 Mi smo le, da bo za uporabo binarno. 621 00:31:13,450 --> 00:31:15,910 >> In ne glede na to, kar smo želijo, da predstavlja danes 622 00:31:15,910 --> 00:31:20,230 ali je številka ali črka ali njihovi tisoč v imeniku 623 00:31:20,230 --> 00:31:23,210 ali slike ali filme, na koncu na dan, da je vse 0 in 1 je. 624 00:31:23,210 --> 00:31:26,640 In trdim, da, čeprav je to je zelo preprost svet s samo 0-ih 625 00:31:26,640 --> 00:31:28,240 in 1 je lahko gradimo sami gor. 626 00:31:28,240 --> 00:31:32,210 In smo videli en primer da s črkami tako daleč. 627 00:31:32,210 --> 00:31:35,615 >> Torej, kaj je osredotočil zdaj o tem srednji sestavina, algoritem. 628 00:31:35,615 --> 00:31:38,190 In vrnimo k temu Primer Mike Smith. 629 00:31:38,190 --> 00:31:41,689 Torej, v tem imeniku, ki je sicer, ne toliko več uporabljati, 630 00:31:41,689 --> 00:31:42,980 tam je problem treba rešiti. 631 00:31:42,980 --> 00:31:45,040 Želimo, da bi našli nekoga, kot je Mike Smith. 632 00:31:45,040 --> 00:31:47,520 >> In kaj lahko storim, da bi našli Mike? 633 00:31:47,520 --> 00:31:51,197 No, jaz bi samo odprla to knjiga, začeti na prvi strani 634 00:31:51,197 --> 00:31:52,780 in zavedaš, oh, sem v oddelku A. 635 00:31:52,780 --> 00:31:53,510 Mike ni tam. 636 00:31:53,510 --> 00:31:55,510 Rabim del S za Smith. 637 00:31:55,510 --> 00:31:58,192 Torej samo vrtite eno stran naenkrat. 638 00:31:58,192 --> 00:32:00,900 Naj se pretvarjamo, da je vse to belih strani in ne rumene strani, 639 00:32:00,900 --> 00:32:02,910 ker ne bomo našli Mike v rumenih straneh anyway. 640 00:32:02,910 --> 00:32:04,034 Ampak sem v belih strani. 641 00:32:04,034 --> 00:32:05,340 In sedaj sem v oddelku B. 642 00:32:05,340 --> 00:32:06,810 Še vedno nisem našel. 643 00:32:06,810 --> 00:32:08,890 Zato sem vrtite eno stran naenkrat. 644 00:32:08,890 --> 00:32:10,130 >> To je algoritem. 645 00:32:10,130 --> 00:32:12,440 Je niz navodil za reševanje nekaj težav. 646 00:32:12,440 --> 00:32:16,480 Z drugimi besedami, poglej stran, če Mike ni na njem, 647 00:32:16,480 --> 00:32:20,020 obrniti stran in ponavlja znova in znova in znova, 648 00:32:20,020 --> 00:32:21,760 v najboljšem primeru je videti tako, kot ste to počeli. 649 00:32:21,760 --> 00:32:24,120 Torej, to je algoritem, ta postopek, pravilna? 650 00:32:24,120 --> 00:32:27,400 651 00:32:27,400 --> 00:32:28,830 >> Žal mi je. 652 00:32:28,830 --> 00:32:30,056 Ne, sem slišal nekaj nos. 653 00:32:30,056 --> 00:32:33,250 654 00:32:33,250 --> 00:32:36,125 OK, vendar je is-- ja, to je gotovo dolgočasno. 655 00:32:36,125 --> 00:32:39,000 Kot, bomo cel dan, če sem naprej išče Mika pri tej hitrosti. 656 00:32:39,000 --> 00:32:41,430 Ampak naj trdijo, da je pravilna. 657 00:32:41,430 --> 00:32:43,850 To je neumno, ampak je res. 658 00:32:43,850 --> 00:32:47,209 >> Na koncu dneva, dokler se morda da bom najti Mike, če je notri 659 00:32:47,209 --> 00:32:48,250 in sem pozoren. 660 00:32:48,250 --> 00:32:50,230 In sem na koncu doseže svoj stran. 661 00:32:50,230 --> 00:32:52,890 In če dobim preveč, če Pridem na oddelek T, 662 00:32:52,890 --> 00:32:55,900 potem sem lahko nekoliko optimizirali in samo reči, hm, vse narejeno. 663 00:32:55,900 --> 00:32:57,980 Jaz sploh ne potrebujete za odpadke Čas bo na Z-jev. 664 00:32:57,980 --> 00:33:00,010 Ampak to je zelo linearni pristop, če vas 665 00:33:00,010 --> 00:33:03,370 bo zelo vrsta od leve proti desni pristop, ravna črta. 666 00:33:03,370 --> 00:33:05,560 In njegova pravilna, vendar počasi. 667 00:33:05,560 --> 00:33:09,250 >> Tako se spomnim iz osnovne šole, vrsta od optimizacije iz prvega grader, 668 00:33:09,250 --> 00:33:13,756 kjer sem se naučila, kako se ne šteje s tistimi, ampak twos-- do 2, 4, 6. 669 00:33:13,756 --> 00:33:15,630 To je A, veliko težje narediti, ampak v teoriji, da je 670 00:33:15,630 --> 00:33:20,149 faster-- 8, 10, 12, 14, in tako naprej. 671 00:33:20,149 --> 00:33:21,190 Kaj pravite na to algoritem? 672 00:33:21,190 --> 00:33:23,150 Ali je bolj učinkovito? 673 00:33:23,150 --> 00:33:23,880 Je hitrejši? 674 00:33:23,880 --> 00:33:25,365 >> OBČINSTVO: To je učinkovit. 675 00:33:25,365 --> 00:33:28,560 >> DAVID Malan: Ja, tako da je def-- je dobesedno dvakrat hitreje, ob predpostavki, da 676 00:33:28,560 --> 00:33:30,170 ne dobijo spotaknil s prsti. 677 00:33:30,170 --> 00:33:32,294 To je dvakrat hitreje, saj Sem obračanja prek dveh 678 00:33:32,294 --> 00:33:36,560 Strani naenkrat namesto enega, ampak je potencialno pravilno, saj zakaj? 679 00:33:36,560 --> 00:33:37,852 >> OBČINSTVO: Ti si preskoči nekaj. 680 00:33:37,852 --> 00:33:41,185 DAVID Malan: Ja, kaj pa če Mike zgodi se sandwiched-- morda, ko sem kasneje 681 00:33:41,185 --> 00:33:44,370 v imeniku, Mike zgodi, da bo stisnjena med tema dvema stranema, 682 00:33:44,370 --> 00:33:46,720 in sem slepo preskočite. 683 00:33:46,720 --> 00:33:48,490 Zato moramo malo popraviti tam. 684 00:33:48,490 --> 00:33:51,290 Ko sem udaril del T, I ne samo z gotovostjo reči, 685 00:33:51,290 --> 00:33:52,420 nismo našli Mike Smith. 686 00:33:52,420 --> 00:33:53,770 Verjetno podvojiti nazaj. 687 00:33:53,770 --> 00:34:00,210 Ali v resnici, ko sem dosegel nekoga imenovan S-N, namesto S-M za Smith 688 00:34:00,210 --> 00:34:02,790 Takoj sem lahko podvoji nazaj, ker je morda on 689 00:34:02,790 --> 00:34:03,900 je bil na prejšnji strani. 690 00:34:03,900 --> 00:34:05,070 >> Ampak nimam daleč dvojno nazaj. 691 00:34:05,070 --> 00:34:08,030 V teoriji, če sem to naredil na desni Tokrat sem se vrnete na prejšnjo stran. 692 00:34:08,030 --> 00:34:10,139 Torej, to je dodal le en dodaten korak. 693 00:34:10,139 --> 00:34:13,070 Tako sem šla dvakrat hitreje, vendar me je stalo eno dodatno stran. 694 00:34:13,070 --> 00:34:14,699 Ampak, da se počuti kot neto zmago. 695 00:34:14,699 --> 00:34:17,230 >> Vendar to ni kako večina ljudi v Ta soba bi rešila ta problem. 696 00:34:17,230 --> 00:34:20,313 Kaj bi tipična oseba, morda Pred nekaj leti naredili, da bi našli Mike Smith? 697 00:34:20,313 --> 00:34:22,900 698 00:34:22,900 --> 00:34:24,800 Ja, ni našel Mike. 699 00:34:24,800 --> 00:34:27,190 Kaj naj naredim? 700 00:34:27,190 --> 00:34:31,027 Tako bi dobili malo bližje, ampak jaz know-- kaj je res o telefonskem imeniku? 701 00:34:31,027 --> 00:34:32,110 OBČINSTVO: To je zaporedno. 702 00:34:32,110 --> 00:34:32,760 DAVID Malan: To je zaporedno. 703 00:34:32,760 --> 00:34:33,750 To je po abecedi. 704 00:34:33,750 --> 00:34:36,540 In zato, če sem v delu M, Mike je očitno v desno, 705 00:34:36,540 --> 00:34:39,949 Lahko dobesedno raztrga problem v half-- 706 00:34:39,949 --> 00:34:44,360 je ponavadi lažje kot that-- solza problem na pol in ga vrgel proč, 707 00:34:44,360 --> 00:34:47,627 tako da zdaj imam problem, ki je ni več 1000 pages--, da je bilo težko, 708 00:34:47,627 --> 00:34:50,210 ker mislim, da sem dejansko tore imenik to time-- ne 709 00:34:50,210 --> 00:34:52,219 1.000 strani, ampak 500. 710 00:34:52,219 --> 00:34:54,750 >> Torej problem je dobesedno pol tako velika. 711 00:34:54,750 --> 00:34:58,170 In to je zelo prepričljiv, saj z mojih prejšnjih algoritmov, različica 712 00:34:58,170 --> 00:35:02,870 1 in 2, sem kar samo problem ena stran manjše, dve strani manjši 713 00:35:02,870 --> 00:35:03,470 ob času. 714 00:35:03,470 --> 00:35:07,230 Ker zdaj, sem ga 500 Strani manjši naenkrat. 715 00:35:07,230 --> 00:35:10,089 >> OK, tako da zdaj, Karim predlaga da sem šel na desni polovici. 716 00:35:10,089 --> 00:35:12,380 Tako da sem šel v grobem do srede, gor ali dol. 717 00:35:12,380 --> 00:35:15,185 In če bi to storil matematično, Lahko bi šel naravnost v sredino. 718 00:35:15,185 --> 00:35:17,060 In zdaj se zavedam, oh, Sem v oddelku T. 719 00:35:17,060 --> 00:35:18,280 Pravzaprav sem si šel predaleč. 720 00:35:18,280 --> 00:35:21,670 >> Ampak lahko, še enkrat, trgajo problem na pol, ga vrgel proč. 721 00:35:21,670 --> 00:35:23,330 In moji bajti ni tako velika. 722 00:35:23,330 --> 00:35:28,780 To je samo, kaj, 256 strani, ali 250 strani, gor ali dol zdaj. 723 00:35:28,780 --> 00:35:31,570 Ampak to je še vedno precej več kot eno stran ali dve strani. 724 00:35:31,570 --> 00:35:33,345 >> In zdaj, grem približno na sredini. 725 00:35:33,345 --> 00:35:35,330 Oh, nisem šel čisto dovolj daleč zdaj. 726 00:35:35,330 --> 00:35:37,880 Torej ponavljam, ponavljanje, ponavljanje Ponavljam, dokler sem upajmo 727 00:35:37,880 --> 00:35:40,360 ostane samo eno stran. 728 00:35:40,360 --> 00:35:44,000 >> Tako, da vabi na vprašanje, če sem je začel s približno 1000 strani, 729 00:35:44,000 --> 00:35:47,340 koliko korakov je trajalo me z različico 1 mojega algoritma? 730 00:35:47,340 --> 00:35:50,420 No, če Mike je v S odsek, v najslabšem primeru, 731 00:35:50,420 --> 00:35:52,630 to je zelo blizu Konec abecede. 732 00:35:52,630 --> 00:35:56,559 Torej, če je imenik 1.000 strani, Poiskal bom Mike v 1.000 strani, 733 00:35:56,559 --> 00:35:57,100 gor ali dol. 734 00:35:57,100 --> 00:35:59,750 Morda je kot 800 ali tako, vendar to je zelo blizu 1.000. 735 00:35:59,750 --> 00:36:01,680 >> Ker je v drugem algoritem, koliko 736 00:36:01,680 --> 00:36:06,840 Stran izkaže maksimalno morda sem zahteva, da bi našli Mike Smith? 737 00:36:06,840 --> 00:36:09,970 Tam je 1000 strani, vendar sem jih dva dela naenkrat. 738 00:36:09,970 --> 00:36:13,045 Dobro, max kot 500ish, ker če grem skozi celoten imenik, 739 00:36:13,045 --> 00:36:14,170 na kateri točki, ne morem ustaviti. 740 00:36:14,170 --> 00:36:16,669 Ampak lahko obrije nekaj jih samo ustavi na odseku T. 741 00:36:16,669 --> 00:36:19,880 Ampak to je v najslabšem primeru 500 strani. 742 00:36:19,880 --> 00:36:24,710 >> Torej, kolikokrat lahko razdeli 1,00o-stran imenika na pol znova 743 00:36:24,710 --> 00:36:30,450 in spet in again-- iz 1000 na 500 do 250 do 125? 744 00:36:30,450 --> 00:36:32,250 Kako dolgo, preden sem se udaril eno stran? 745 00:36:32,250 --> 00:36:35,510 746 00:36:35,510 --> 00:36:36,370 Ja, to je okoli 10. 747 00:36:36,370 --> 00:36:40,780 Odvisno od zaokroževanja in podobno, to je približno 10 strani skupna potreba se obrnili 748 00:36:40,780 --> 00:36:43,290 ali imenikov treba raztrgana. 749 00:36:43,290 --> 00:36:44,710 >> Tako, da je zelo močna. 750 00:36:44,710 --> 00:36:48,170 Začeli smo s problemi, 1000, stran V vseh teh treh zgodb. 751 00:36:48,170 --> 00:36:51,850 Ampak v prvi algoritem tako, me je, v najslabšem primeru, 1.000 strani 752 00:36:51,850 --> 00:36:52,740 izkaže, da bi našli Mike. 753 00:36:52,740 --> 00:36:55,590 Drugi algoritem, 500 strani, da bi našli Mike. 754 00:36:55,590 --> 00:36:58,480 Tretji algoritem, 10 strani, da bi našli Mike. 755 00:36:58,480 --> 00:37:00,230 In to je še bolj močni, ko misliš, da 756 00:37:00,230 --> 00:37:01,860 glede vrste nasprotne scenarija. 757 00:37:01,860 --> 00:37:05,680 Denimo, da podjetje telefonsko naslednjem leto morda združuje dve mesti skupaj, 758 00:37:05,680 --> 00:37:08,550 in telefonski imenik je nenadoma ta debela, namesto tega, da 759 00:37:08,550 --> 00:37:12,470 tako 2.000 strani namesto 1000. 760 00:37:12,470 --> 00:37:15,640 No, moj prvi algoritem išče Mike Smith v telefonskem imeniku na 2000 straneh, 761 00:37:15,640 --> 00:37:21,460 slabše tako, da se dogaja, da se koliko strani zavije v naslednjem letu? 762 00:37:21,460 --> 00:37:24,800 >> Telefonski imenik je 2.000 strani, SO- dobro, ne ena. 763 00:37:24,800 --> 00:37:29,540 Če imenik dvakrat debela v Prvi algoritem, prvi algoritem, 764 00:37:29,540 --> 00:37:30,380 2000, kajne? 765 00:37:30,380 --> 00:37:33,005 V najslabšem primeru, Mike je res blizu konca knjige 766 00:37:33,005 --> 00:37:34,110 zato je 2.000 stran obrne. 767 00:37:34,110 --> 00:37:38,070 Drugi algoritem bo s dvojke, kot 1000 strani. 768 00:37:38,070 --> 00:37:41,490 >> Kaj pa v mojem tretjino in najnovejši algoritem? 769 00:37:41,490 --> 00:37:44,950 Če telefonsko podjetje podvoji Število strani, od 1.000 do 2.000, 770 00:37:44,950 --> 00:37:47,770 koliko krat moram trgati da je knjiga na pol, da bi našli Mike? 771 00:37:47,770 --> 00:37:48,710 >> OBČINSTVO: Samo eno. 772 00:37:48,710 --> 00:37:51,001 >> DAVID Malan: Samo še eno, ker z eno stran solza, 773 00:37:51,001 --> 00:37:53,270 Lahko dobesedno razdeli in osvojiti, če hočete, 774 00:37:53,270 --> 00:37:57,410 da je problem v pol sprejemanju velik ugriz iz nje. 775 00:37:57,410 --> 00:38:01,420 In tako je to primer učinkovitost in verjetno algoritem 776 00:38:01,420 --> 00:38:04,100 s katero smo vsi nekako intuitivno pozna. 777 00:38:04,100 --> 00:38:07,780 Ampak to je samo kot pravilne kot mojih drugih algoritmov 778 00:38:07,780 --> 00:38:09,630 s tem poteg za Drugi algoritem 779 00:38:09,630 --> 00:38:11,290 ampak to je tako veliko bolj učinkovit. 780 00:38:11,290 --> 00:38:14,030 >> In v resnici, kaj računalnik znanstvenik, ali pa programer, 781 00:38:14,030 --> 00:38:17,580 bi običajno storili pri pisanju koda poskušali ugotoviti, 782 00:38:17,580 --> 00:38:19,960 Vse je v redu, ne želim, moj Program samo, da je pravilna, 783 00:38:19,960 --> 00:38:23,220 Prav tako želim, da bi bilo učinkovito in reševanje problemov dobro. 784 00:38:23,220 --> 00:38:26,450 Predstavljajte si, da v realnem svetu danes, kot so Google indeksov, iskanj 785 00:38:26,450 --> 00:38:31,580 kot milijard strani, predstavljaj si, če uporabljen prvi algoritem za iskanje mačke 786 00:38:31,580 --> 00:38:34,620 Med milijarde pages-- gledaš prva stran v njihovi bazi podatkov, 787 00:38:34,620 --> 00:38:37,700 drugi, tretji, samo iščejo za mačko, ki išče mačka. 788 00:38:37,700 --> 00:38:40,350 To je precej darn počasi se zdi. 789 00:38:40,350 --> 00:38:43,170 Lahko bi namesto tega uporabite nekaj imenuje binarno iskanje, ki 790 00:38:43,170 --> 00:38:47,420 Ni coincidence-- bi torej dva smo obdržati nekaj delimo v 2, v half-- 791 00:38:47,420 --> 00:38:50,205 ki bi jih lahko uporabili binarno iskanje in morda našli mačk še hitreje, 792 00:38:50,205 --> 00:38:51,830 ali karkoli že je, ki ga iščete. 793 00:38:51,830 --> 00:38:54,125 >> In odkrito povedano, da je celo luksuznih algoritmi 794 00:38:54,125 --> 00:38:56,250 da narediti veliko več kot le delitev stvari na pol 795 00:38:56,250 --> 00:38:58,180 da bi našli informacije hitro. 796 00:38:58,180 --> 00:39:00,880 In bomo govorili malo o tistih, po kosilu danes. 797 00:39:00,880 --> 00:39:02,640 Torej mi samo poskusite predstavljati to. 798 00:39:02,640 --> 00:39:05,380 Nam ni treba iti v vsaka math ali dejanske številke. 799 00:39:05,380 --> 00:39:07,070 Lahko govorimo o tem abstraktno. 800 00:39:07,070 --> 00:39:11,580 >> Ampak naj le predlaga, če vas so ob razpravi zdaj 801 00:39:11,580 --> 00:39:13,491 z inženirji predlaga ta algoritem 802 00:39:13,491 --> 00:39:15,490 in skušate narediti izračunano odločitev, 803 00:39:15,490 --> 00:39:17,285 ker morda inženir pravi za vas, vam 804 00:39:17,285 --> 00:39:19,910 Veš kaj, lahko izvaja načrt linearno iskanje v kot dveh minutah. 805 00:39:19,910 --> 00:39:21,150 Tako enostavno je to. 806 00:39:21,150 --> 00:39:24,790 Binarni iskanje ni tako fancy, ampak to se dogaja, da me kot 10 minut, 807 00:39:24,790 --> 00:39:26,650 tako 5-krat toliko časa. 808 00:39:26,650 --> 00:39:30,900 >> Tam je blagovna tod tudi v smislu odločanja kaj je programska oprema za pisanje. 809 00:39:30,900 --> 00:39:34,760 Ali pišete enostavnejši algoritem, ki bo samo peljal dve minuti? 810 00:39:34,760 --> 00:39:39,880 Ali pa boste porabili več časa, 10 minut, pisanje Ljubitelj algoritem? 811 00:39:39,880 --> 00:39:43,540 Kako ste se odločili, da se vrste vprašanje? 812 00:39:43,540 --> 00:39:46,710 Lahko pa bi bilo malo bolj realno. 813 00:39:46,710 --> 00:39:50,610 Povem šefu, da bo trajalo me niti en teden ali 10 tednov 814 00:39:50,610 --> 00:39:52,490 za izvajanje programske opreme na ta način, kako 815 00:39:52,490 --> 00:39:56,103 se odločite, kateri algoritem za zeleno svetlobo? 816 00:39:56,103 --> 00:39:56,603 Karim? 817 00:39:56,603 --> 00:39:57,550 >> OBČINSTVO: Občinstvo, mislim. 818 00:39:57,550 --> 00:39:57,960 >> DAVID Malan: publika. 819 00:39:57,960 --> 00:39:59,460 Kaj mislite s publiko? 820 00:39:59,460 --> 00:40:03,460 >> OBČINSTVO: Če bo ki jih uporabniki uporabili 821 00:40:03,460 --> 00:40:09,050 ki [neslišno], ki jih uporabniki [neslišno]. 822 00:40:09,050 --> 00:40:11,232 Ampak, če je to nekaj, kar si samo delaš zase 823 00:40:11,232 --> 00:40:13,946 olajšati težave, [Neslišno] hitreje. 824 00:40:13,946 --> 00:40:16,820 DAVID Malan: Ja, to je hitro in umazan je dober način, da ga opisali. 825 00:40:16,820 --> 00:40:18,695 V bistvu, če ste opisuje veliko svojega časa 826 00:40:18,695 --> 00:40:23,630 v grad šoli, pri čemer pogosto krat, Napisal sem slabo kodo zavestno SO- 827 00:40:23,630 --> 00:40:26,490 vsaj tako sem racionalizirati it-- zavestno tako, 828 00:40:26,490 --> 00:40:30,670 ker čeprav sem bil pisanje kode da je bil relativno počasen za izvedbo, 829 00:40:30,670 --> 00:40:33,750 Bil sem sposoben napisati kodo sam zelo hitro, porabe le nekaj minut 830 00:40:33,750 --> 00:40:35,107 ali ur ne dni. 831 00:40:35,107 --> 00:40:37,190 In se je izkazalo, da Občasno je potrebno zaspati. 832 00:40:37,190 --> 00:40:41,270 Torej, tudi če je moja koda potrebno 8 ur za vožnjo, tudi to je v redu, 833 00:40:41,270 --> 00:40:42,850 Bom šel spat, medtem ko teče. 834 00:40:42,850 --> 00:40:46,350 >> Torej v času, ko sem mislil, da je to zelo pameten, čeprav sem očitno 835 00:40:46,350 --> 00:40:48,990 delal preko mojega dr zelo počasi. 836 00:40:48,990 --> 00:40:52,270 Toda nasprotje, ki je da, če bi bilo pisanje programske opreme 837 00:40:52,270 --> 00:40:55,930 za druge ljudi, ki važno bolj kot mene, no, 838 00:40:55,930 --> 00:40:59,580 ob njih čakati 8 ur na dobili nazaj svoje rezultate iskanja 839 00:40:59,580 --> 00:41:01,350 sploh ni tako prepričljiv. 840 00:41:01,350 --> 00:41:04,090 In tako porabi več časa spredaj za pisanje programske opreme 841 00:41:04,090 --> 00:41:07,300 da je bolj učinkovito, bolj kot naš tretji algoritem, 842 00:41:07,300 --> 00:41:09,780 Verjetno koristi uporabnikov v daljšem časovnem obdobju. 843 00:41:09,780 --> 00:41:12,710 Torej je res odvisno preko Čas, kako ti stroški ujemajo. 844 00:41:12,710 --> 00:41:14,960 Če bo treba pisati programska oprema, ki jo uporabljajo enkrat, 845 00:41:14,960 --> 00:41:17,240 Verjetno lahko tudi storiti hitro in umazano, kot pravijo. 846 00:41:17,240 --> 00:41:18,198 Samo vrgel skupaj. 847 00:41:18,198 --> 00:41:20,560 To je koda, ki spravlja v zadrego ste, da je tako slabo, 848 00:41:20,560 --> 00:41:23,860 vendar je to delo pravilno opravljeno, čeprav to ni učinkovito. 849 00:41:23,860 --> 00:41:27,200 Nasprotno, boste porabili več časa na nekaj, dobil je ravno prav. 850 00:41:27,200 --> 00:41:30,730 In potem amortizira v daljšem časovnem obdobju, da vnaprej stroški časa 851 00:41:30,730 --> 00:41:34,330 je verjetno smiselno, če boste obdržali optimizacijo za skupno primera. 852 00:41:34,330 --> 00:41:37,620 >> In res, da je tema programiranje, ali računalništva več 853 00:41:37,620 --> 00:41:41,390 na splošno, poskuša optimizirati ne za občasni primeru 854 00:41:41,390 --> 00:41:44,390 pogosta pa case-- kaj operacija se bo znova zgodilo? 855 00:41:44,390 --> 00:41:47,730 Če boste imeli milijarde uporabnikov iščejo na vaši spletni strani, 856 00:41:47,730 --> 00:41:52,030 verjetno bi jo porabili dodatnih tednov do pred pisanjem boljšo programsko opremo, 857 00:41:52,030 --> 00:41:53,670 tako da vse svoje uporabnike koristi. 858 00:41:53,670 --> 00:41:57,840 Zdaj pa poskusimo ujeti to a malo slikovno, vendar ne toliko 859 00:41:57,840 --> 00:41:58,610 številčno. 860 00:41:58,610 --> 00:42:01,680 >> Torej, tukaj je samo stara šola grafikon. 861 00:42:01,680 --> 00:42:04,260 In naj povem, da je ta čas. 862 00:42:04,260 --> 00:42:06,660 In ni važno what-- dejansko, ne, ni časa. 863 00:42:06,660 --> 00:42:08,320 Oglejmo čaka, da na drugi osi. 864 00:42:08,320 --> 00:42:15,700 Recimo, da je to čas, in to je velikost problema. 865 00:42:15,700 --> 00:42:17,830 >> In računalniški znanstvenik lahko na splošno imenujemo 866 00:42:17,830 --> 00:42:20,820 to samo n. n je podobno naš go-spremenljivka, kjer 867 00:42:20,820 --> 00:42:26,351 n je število, n število, in to je Število koli vložkov, ki jih imate. 868 00:42:26,351 --> 00:42:28,100 Tako da v tem primeru je n število strani. 869 00:42:28,100 --> 00:42:30,150 Torej bi bilo 1.000 v v primeru smo pravkar povedali. 870 00:42:30,150 --> 00:42:31,969 >> Torej čas je lahko katera koli merska enota. 871 00:42:31,969 --> 00:42:32,760 Mogoče, da je druga. 872 00:42:32,760 --> 00:42:33,410 Mogoče, da je dni. 873 00:42:33,410 --> 00:42:34,590 Mogoče, da je kot stran obrne. 874 00:42:34,590 --> 00:42:35,215 Ni važno. 875 00:42:35,215 --> 00:42:38,840 Karkoli želite, da računajo s tem, da bo čas, ali pa stane ekvivalentno. 876 00:42:38,840 --> 00:42:42,400 >> Torej, s tem zelo prvi algoritem, če I, na primer, 877 00:42:42,400 --> 00:42:45,920 je imel imenik na 1000 straneh, Bom naredi piko tam, 878 00:42:45,920 --> 00:42:51,450 ker če je 1000 strani, je trajalo približno 1.000 stran obrne, gor ali dol. 879 00:42:51,450 --> 00:42:54,100 In potem, če sem imel 2000-stran imenika, 880 00:42:54,100 --> 00:42:57,200 in bom pripraviti sekundo dot tukaj, ker je za 2.000 strani, 881 00:42:57,200 --> 00:42:59,810 je kot 2.000 sekundah ali stran obrne ali karkoli. 882 00:42:59,810 --> 00:43:02,480 In tako, ko sem že rekel, da je nekako linearno zvezo, 883 00:43:02,480 --> 00:43:06,020 da je bilo namerno, ker sem želel kasneje on-- pravica now-- potegniti črto. 884 00:43:06,020 --> 00:43:07,770 To je nekako ravno linija odnos. 885 00:43:07,770 --> 00:43:10,180 Naklon je 01/01, če hočete. 886 00:43:10,180 --> 00:43:14,630 >> Medtem, drugi algoritem je rekel, če imaš 1.000 strani 887 00:43:14,630 --> 00:43:17,680 in si s pomočjo drugega algoritma, kjer sem šteje za 2 let, obračanje 888 00:43:17,680 --> 00:43:22,564 dve strani naenkrat, bi moral narisati piko spodaj ali zgoraj moj prvotni piko? 889 00:43:22,564 --> 00:43:23,450 >> OBČINSTVO: Pod. 890 00:43:23,450 --> 00:43:27,992 >> DAVID Malan: Spodaj, saj, kot smo videli, traja manj časa, pol toliko časa. 891 00:43:27,992 --> 00:43:29,950 Torej mora biti pika polovico tako visoka kot drugi. 892 00:43:29,950 --> 00:43:33,330 In ista stvar tukaj, je ta pika bi bilo verjetno približno tam. 893 00:43:33,330 --> 00:43:39,666 In tako je moj drugi algoritem, podobno, ima linearno zvezo s časom. 894 00:43:39,666 --> 00:43:41,990 In jo lahko pripravi kot take. 895 00:43:41,990 --> 00:43:45,950 >> Torej sedaj, tretja in zadnja algoritem je malo težje pripraviti. 896 00:43:45,950 --> 00:43:49,530 Vendar intuitivno, če imam 1.000 strani z moje tretje algoritem, 897 00:43:49,530 --> 00:43:52,340 da bi mi bo všeč samo 10 korakov. 898 00:43:52,340 --> 00:43:57,500 In če imam 2.000 strani z mojim tretjim algoritem, 899 00:43:57,500 --> 00:44:01,570 mora me ne 10 koraki, ampak 11, samo ena več. 900 00:44:01,570 --> 00:44:03,610 Tako da smo komaj videli to. 901 00:44:03,610 --> 00:44:06,010 >> In se izkaže, če I povečati na to, da sem 902 00:44:06,010 --> 00:44:09,320 gre pretiravati za učinek, oblika od te črte, na koncu, 903 00:44:09,320 --> 00:44:11,990 ni ravno line-- saj, res, če bi bilo, 904 00:44:11,990 --> 00:44:15,390 da bi bilo videti bolj všeč others-- je pravzaprav Krivulja 905 00:44:15,390 --> 00:44:19,265 da, če povečate, se bo da si veliko več kot to. 906 00:44:19,265 --> 00:44:21,670 It-- dobro, OK, prezre ta del. 907 00:44:21,670 --> 00:44:25,330 To je bil moj pero dogaja kota. 908 00:44:25,330 --> 00:44:29,000 To je Krivulja, ki je vedno narašča, vedno, vedno, vedno 909 00:44:29,000 --> 00:44:32,100 povečuje, vendar le komaj. 910 00:44:32,100 --> 00:44:36,260 >> In to v času, imate odnos, ki je več kot to. 911 00:44:36,260 --> 00:44:37,540 Videti je skoraj naravnost. 912 00:44:37,540 --> 00:44:40,330 Ampak to je zelo počasi narašča. 913 00:44:40,330 --> 00:44:44,780 Toda skoraj vseh točkah vzdolž Vaše x-osi, vodoravna os, 914 00:44:44,780 --> 00:44:46,550 je nižji od tistih drugih progah. 915 00:44:46,550 --> 00:44:49,930 >> Torej bi to razmerje n, pri čemer, če imate n strani, 916 00:44:49,930 --> 00:44:51,100 ti n sekund traja. 917 00:44:51,100 --> 00:44:53,320 To je lahko razmerje n / 2. 918 00:44:53,320 --> 00:44:56,710 Imate n strani, je potrebno si n / 2 sekundi, pol toliko. 919 00:44:56,710 --> 00:45:00,590 In to je logaritmično odnos, ki 920 00:45:00,590 --> 00:45:08,920 Če se spomnimo, se prijavite osnove 2 n posname ta vrsta rasti, tako rekoč. 921 00:45:08,920 --> 00:45:12,000 Torej je to neke vrste sveto gral med tremi od teh 922 00:45:12,000 --> 00:45:15,940 tukaj, ker to je samo toliko bolj učinkovita, vendar verjetno bolj zapletena 923 00:45:15,940 --> 00:45:18,610 izvajati. 924 00:45:18,610 --> 00:45:20,510 Kakšno vprašanje? 925 00:45:20,510 --> 00:45:26,220 >> No, povej mi to, kaj mi odpre okno z besedilom 926 00:45:26,220 --> 00:45:29,100 Samo tako bomo lahko poskusite formalizira nekaj tukaj. 927 00:45:29,100 --> 00:45:32,410 Zato naj gredo naprej zdaj in izvajanje tega algoritem 928 00:45:32,410 --> 00:45:35,170 za iskanje Mike Smith v kodi, če hočete, psevdokoda koda. 929 00:45:35,170 --> 00:45:36,620 Ne bom uporabljati Java ali C ++. 930 00:45:36,620 --> 00:45:38,610 Jaz sem le, da bo za uporabo neke vrste Angleščina podobno sintakso, ki smo jo 931 00:45:38,610 --> 00:45:40,151 bi na splošno imenujemo psevdokoda kodo. 932 00:45:40,151 --> 00:45:41,660 Tukaj imam prazno okno. 933 00:45:41,660 --> 00:45:48,180 In jaz pravim korak 1 od zelo Prvi algoritem poberem imenik. 934 00:45:48,180 --> 00:45:51,740 2. korak je odprta knjiga na prvo stran. 935 00:45:51,740 --> 00:45:58,080 3. korak bo pogled na Stran Mike Smith. 936 00:45:58,080 --> 00:46:02,740 Če je na strani, pokličite Mike. 937 00:46:02,740 --> 00:46:11,640 drug zavoj stran in pojdite na korak 3. 938 00:46:11,640 --> 00:46:13,590 Storiti, recimo. 939 00:46:13,590 --> 00:46:18,110 >> In zato ni čisto popoln, ki jih bomo videli v trenutku. 940 00:46:18,110 --> 00:46:21,050 Ampak kaj je razmisliti, kaj koncepti sem tu predstavil. 941 00:46:21,050 --> 00:46:24,450 Torej koraka 1 in 2 in 3 so precej glagoli. 942 00:46:24,450 --> 00:46:26,544 Oni so izjave, actions-- to. 943 00:46:26,544 --> 00:46:28,710 In tako v programiranju jezik, bi se mi na splošno 944 00:46:28,710 --> 00:46:32,349 jim klic izjave ali funkcije ali postopki, 945 00:46:32,349 --> 00:46:33,640 jih pokličete poljubno število stvari. 946 00:46:33,640 --> 00:46:35,460 Ampak oni so samo actions-- to. 947 00:46:35,460 --> 00:46:40,370 >> Korak 4 je bistveno drugačen, saj to je nekako sprašujem. 948 00:46:40,370 --> 00:46:42,400 To je rekel, da smo nekako z na odcepu. 949 00:46:42,400 --> 00:46:48,000 Če Mike je na strani, pokličite ga, tako levo, če hočete. 950 00:46:48,000 --> 00:46:52,170 In če ne, pojdite nazaj na nekatere drugi page-- ali ne, žal, 951 00:46:52,170 --> 00:46:56,650 nazaj na drugo stopnjo, ki povzroča neke vrste Looping konstrukt. 952 00:46:56,650 --> 00:46:59,530 In mi to znova in znova in znova. 953 00:46:59,530 --> 00:47:01,300 >> In pravzaprav, veste kaj? 954 00:47:01,300 --> 00:47:01,800 Ja. 955 00:47:01,800 --> 00:47:04,704 956 00:47:04,704 --> 00:47:09,010 drugega, če na koncu knjige stop. 957 00:47:09,010 --> 00:47:11,624 Zato moramo nekakšen tretji stanje, saj vas 958 00:47:11,624 --> 00:47:14,290 ne more obdržati obračanjem strani oglas nauseum, ker na koncu, bom 959 00:47:14,290 --> 00:47:15,320 udaril konec knjige. 960 00:47:15,320 --> 00:47:18,546 In napaka v programu lahko ne pričakujemo, da scenarij. 961 00:47:18,546 --> 00:47:21,420 In potem sem spoznal, oh, počakajte minuto, moram tretji scenarij. 962 00:47:21,420 --> 00:47:23,900 Če sem iz strani, sem bi bilo res samo ustaviti. 963 00:47:23,900 --> 00:47:25,330 Sicer pa je neopredeljenih. 964 00:47:25,330 --> 00:47:29,260 Kaj se bo zgodilo, če bom obdržati rekoč obrniti stran in nazaj, 965 00:47:29,260 --> 00:47:31,810 To je, ko računalniki zamrznitev ali nesreči, ko ste zadeli 966 00:47:31,810 --> 00:47:34,160 nekatere nepričakovana situacija, kot je ta. 967 00:47:34,160 --> 00:47:37,280 >> Zdaj pa, kaj pa Mika Smith tretji algorithm-- 968 00:47:37,280 --> 00:47:43,150 pick up imenika, odprta knjiga za first-- za 969 00:47:43,150 --> 00:47:48,640 ne, ne prva stran ta čas, da middle-- oh, dobro, da bi 970 00:47:48,640 --> 00:47:49,640 je drugi algoritem. 971 00:47:49,640 --> 00:47:50,590 Naj samo preskočiti na tretji. 972 00:47:50,590 --> 00:47:50,930 >> OBČINSTVO: Oh, žal mi je. 973 00:47:50,930 --> 00:47:51,971 >> DAVID Malan: To je v redu. 974 00:47:51,971 --> 00:47:58,590 Naj samo preskok na third-- open na sredini in sedaj iščejo Mike Smith. 975 00:47:58,590 --> 00:48:02,300 če na strani, pokličite Mike. 976 00:48:02,300 --> 00:48:04,910 In potem, kaj hočemo tukaj povedati? 977 00:48:04,910 --> 00:48:06,134 še kaj? 978 00:48:06,134 --> 00:48:10,620 979 00:48:10,620 --> 00:48:12,370 To lahko izrazimo v kateri koli številne načine. 980 00:48:12,370 --> 00:48:13,369 Ni pravilen odgovor. 981 00:48:13,369 --> 00:48:20,819 982 00:48:20,819 --> 00:48:23,735 OK, če ne že spet, vendar moramo be-- OK, si želimo razdeliti na dva dela, 983 00:48:23,735 --> 00:48:25,630 ampak želimo iti levo ali pa desno? 984 00:48:25,630 --> 00:48:29,560 Kako izraziti ta pojem? 985 00:48:29,560 --> 00:48:31,790 No, v primeru, Mike, ja, da je pošteno. 986 00:48:31,790 --> 00:48:35,050 Ampak OK, tako da je pravzaprav dobra točka. 987 00:48:35,050 --> 00:48:35,550 To je vredu. 988 00:48:35,550 --> 00:48:36,924 Bomo nadaljuj s to logiko. 989 00:48:36,924 --> 00:48:38,182 SO- 990 00:48:38,182 --> 00:48:39,810 >> OBČINSTVO: Manj kot polovica. 991 00:48:39,810 --> 00:48:40,560 DAVID Malan: Ja. 992 00:48:40,560 --> 00:48:49,820 Torej, še če stran, bomo rekli, manj kot Smith, na levi strani Smith, 993 00:48:49,820 --> 00:48:52,220 then-- poglejmo, je To bo zapletlo? 994 00:48:52,220 --> 00:49:01,885 else if stran pride pred Smith, solza na pol, mečejo polovica? 995 00:49:01,885 --> 00:49:05,643 996 00:49:05,643 --> 00:49:09,140 >> OBČINSTVO: Mislil sem da je [neslišno]. 997 00:49:09,140 --> 00:49:11,650 >> DAVID Malan: slišim oba odgovora. 998 00:49:11,650 --> 00:49:12,431 >> OBČINSTVO: Levo. 999 00:49:12,431 --> 00:49:14,430 DAVID Malan: OK, vrgel stran levo polovico, kot Lakisa 1000 00:49:14,430 --> 00:49:19,700 že rekel, z leve strani pol, potem pa sem nekako 1001 00:49:19,700 --> 00:49:23,940 želijo, da pojdi to-- grem na desno. 1002 00:49:23,940 --> 00:49:27,380 Ali enakovredno, in sem malo malo nered začetka tukaj, 1003 00:49:27,380 --> 00:49:30,760 Sem dejansko želijo pojdite na korak 2 spet, 1004 00:49:30,760 --> 00:49:38,270 kjer je odprta za middle-- ali open-- ja, recimo, strani na sredini. 1005 00:49:38,270 --> 00:49:39,020 In to ga določa. 1006 00:49:39,020 --> 00:49:39,936 To ni več knjige. 1007 00:49:39,936 --> 00:49:42,210 To je samo polovica knjige, tako odprte strani na sredini. 1008 00:49:42,210 --> 00:49:44,010 >> else-- so skoraj tam. 1009 00:49:44,010 --> 00:49:54,000 Korak 6, else if strani prihaja po Smith, raztrga na pol, mečejo desno polovico, 1010 00:49:54,000 --> 00:49:55,680 potem pa pojdite na 2. korak. 1011 00:49:55,680 --> 00:49:58,920 1012 00:49:58,920 --> 00:50:05,230 drug izhod, četrti scenarij, če nimamo strani levo obrniti. 1013 00:50:05,230 --> 00:50:06,394 Torej bi lahko to čiščenje. 1014 00:50:06,394 --> 00:50:07,560 In moramo očistiti to gor. 1015 00:50:07,560 --> 00:50:10,656 To je zelo psevdokoda kodo, če vas bo, opis zelo visoki ravni. 1016 00:50:10,656 --> 00:50:12,280 Vendar pa na splošno zajame idejo. 1017 00:50:12,280 --> 00:50:16,040 >> In, še enkrat, v ta scenarij, smo ima pojem pogoj, 1018 00:50:16,040 --> 00:50:20,450 veja, vilice v cestnem prometu, zaradi česar decision-- če to gre na ta način, 1019 00:50:20,450 --> 00:50:23,082 else if, pojdi na ta način, else if, gredo v to smer. 1020 00:50:23,082 --> 00:50:25,040 In to je zelo pogost programiranje tehnika 1021 00:50:25,040 --> 00:50:27,721 odločiti, v katero smer iti, tako rekoč. 1022 00:50:27,721 --> 00:50:29,970 In imamo tudi nekakšno od zanka strukturo, v kateri 1023 00:50:29,970 --> 00:50:32,440 delamo vedno znova nekaj. 1024 00:50:32,440 --> 00:50:34,820 >> Zdaj pa se je izkazalo, veliko kot v tem primeru, 1025 00:50:34,820 --> 00:50:37,660 pri čemer super natančno je pomembno. 1026 00:50:37,660 --> 00:50:42,180 Vendar smo videli tudi nekaj da se držimo kliče abstrakcijo. 1027 00:50:42,180 --> 00:50:45,490 Kaj to pomeni, da poberem telefonski imenik? 1028 00:50:45,490 --> 00:50:47,740 Mi smo le nekako ob za odobrena v tej sobi 1029 00:50:47,740 --> 00:50:49,340 da ima ta neko semantično pomen. 1030 00:50:49,340 --> 00:50:51,740 Vsi mi samo nekako vedeti, oh, dobro, dvigni imenik. 1031 00:50:51,740 --> 00:50:52,864 Kaj to v resnici pomeni? 1032 00:50:52,864 --> 00:50:59,060 No, to res pomeni razširitev roko, skloniš, razširi prste, 1033 00:50:59,060 --> 00:51:03,890 ščepec knjigo med prsti, stand up, potegnite roko k sebi. 1034 00:51:03,890 --> 00:51:05,940 In smo lahko res Pedantan o tem, 1035 00:51:05,940 --> 00:51:08,640 Res pa super natančna o tem, kaj delam. 1036 00:51:08,640 --> 00:51:13,300 Toda vse te korake skupaj so kaj to pomeni, da poberem telefonski imenik. 1037 00:51:13,300 --> 00:51:16,940 >> In tako že prej, ko sem rekel, vsak teh prvih dveh izjav 1038 00:51:16,940 --> 00:51:20,830 si lahko predstavljamo kot nadaljuje ali funkcija, 1039 00:51:20,830 --> 00:51:24,090 res predstavlja tisto, kar smo da kliče abstrakcijo. 1040 00:51:24,090 --> 00:51:28,770 To je kot visoki ravni konceptualne opis problema, ki 1041 00:51:28,770 --> 00:51:31,110 dejansko pomeni kar nekaj korakov. 1042 00:51:31,110 --> 00:51:34,190 In tako tudi to je ponavljajoče teme v programiranju, 1043 00:51:34,190 --> 00:51:41,125 s katerim sem lahko napisati program uporabo sintakse kot this-- 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 In potem skladenjsko sem bo ukradel nekaj 1047 00:51:46,510 --> 00:51:48,090 od večine programskih jezikov. 1048 00:51:48,090 --> 00:51:51,270 >> Zdaj, korak 1 izgleda še Več kot funkcijo 1049 00:51:51,270 --> 00:51:53,160 kot programer bi ga poklical. 1050 00:51:53,160 --> 00:51:58,650 Izgleda, da koda, da nekdo je dal ime in dana 1051 00:51:58,650 --> 00:52:03,300 se mi, da uporabljajo somehow-- v drugih besede, kar je linija sem izpostavil 1052 00:52:03,300 --> 00:52:07,050 predstavlja funkcionalnosti, ki morda Nisem niti izvajati sam. 1053 00:52:07,050 --> 00:52:10,410 Nekdo starejši, modrejši od me že pogruntal 1054 00:52:10,410 --> 00:52:12,700 kako izraziti pojem dvigovanja telefonski imenik. 1055 00:52:12,700 --> 00:52:15,860 In to je kot petih korakih sem raztresena off, off vrhu moje glave. 1056 00:52:15,860 --> 00:52:19,350 >> Ampak on ali ona že izvajajo to je tistih nekaj korakov 1057 00:52:19,350 --> 00:52:22,339 ime, pick_up_phone_book. 1058 00:52:22,339 --> 00:52:24,380 In oklepajev samo tisto, kar večina programerjev 1059 00:52:24,380 --> 00:52:27,100 narediti konec izjav, kot je ta. 1060 00:52:27,100 --> 00:52:30,190 Zdaj se lahko postavi na njegovo ali njeno ramena in nikoli več, 1061 00:52:30,190 --> 00:52:32,465 razmišljati o tem, kaj to pomeni da poberem telefonski imenik. 1062 00:52:32,465 --> 00:52:34,090 Lahko samo rečem, dvigni imenika. 1063 00:52:34,090 --> 00:52:36,690 In to je točno, kaj vse nas ljudje storili tukaj. 1064 00:52:36,690 --> 00:52:38,940 >> Ko smo bili verjetno 1 letnik, stara 2 leti, 1065 00:52:38,940 --> 00:52:41,690 nekdo je moral nas učijo, kaj je pomenilo, da poberem telefonski imenik. 1066 00:52:41,690 --> 00:52:43,810 In vse od takrat, smo odvzete stran 1067 00:52:43,810 --> 00:52:46,739 od tistih, ki zelo nezanimivo mehanske koraki. 1068 00:52:46,739 --> 00:52:48,530 In smo samo imeti intuitivno razumevanje 1069 00:52:48,530 --> 00:52:50,480 kaj pomeni pick up telefonski imenik. 1070 00:52:50,480 --> 00:52:55,730 >> In lahko ekstrapolirati zdaj bolj zapleten things-- 1071 00:52:55,730 --> 00:52:57,640 izgradnje objekta. 1072 00:52:57,640 --> 00:52:59,940 Kot, da nekateri ljudje, da ima dejansko pomen. 1073 00:52:59,940 --> 00:53:03,080 Izvajalcem, arhitektov, da ima nek smisel. 1074 00:53:03,080 --> 00:53:06,400 In bi vedeli, kaj storiti, če Rekel sem, pojdi izgradnje objekta. 1075 00:53:06,400 --> 00:53:10,520 >> Vendar je večina izmed nas v prostoru ne bi se ukvarjajo s to stopnjo abstrakcije. 1076 00:53:10,520 --> 00:53:14,850 Morate povedati, nam je všeč go dobil lopata in pojdi na beton 1077 00:53:14,850 --> 00:53:17,250 in nohtov kosov lesa skupaj in karkoli drugega 1078 00:53:17,250 --> 00:53:18,830 je vključen v izgradnjo stavbe. 1079 00:53:18,830 --> 00:53:21,690 In to zato, ker nismo še ni bil programiran, da razumejo 1080 00:53:21,690 --> 00:53:23,629 kaj to pomeni za gradnjo stavbe. 1081 00:53:23,629 --> 00:53:24,920 Nimamo to abstrakcijo. 1082 00:53:24,920 --> 00:53:26,570 Nimamo te funkcije. 1083 00:53:26,570 --> 00:53:29,930 >> In kaj boste videli v programskih jezikov na splošno, 1084 00:53:29,930 --> 00:53:34,570 predvsem bolj moderni jeziki, kot so Java, PHP, Ruby in Python, 1085 00:53:34,570 --> 00:53:37,610 oni so veliko bolj zrel od starejših jezikih 1086 00:53:37,610 --> 00:53:40,140 kot C in C ++ in še druge. 1087 00:53:40,140 --> 00:53:42,580 In tako so prišli z več funkcionalnost zgrajena leta. 1088 00:53:42,580 --> 00:53:45,640 Več koda je napisana ljudje v preteklosti 1089 00:53:45,640 --> 00:53:50,520 da se lahko zdaj pokličete ali pokliče ali uporabo, kot sem namigovali 1090 00:53:50,520 --> 00:53:52,231 na s tem poudarila linijo tukaj. 1091 00:53:52,231 --> 00:53:55,230 In tako kljub temu, da ne govorimo o programskih jezikih na sebi, 1092 00:53:55,230 --> 00:54:00,230 Samo psevdokoda kodo, vse ideje so še vedno v tej razpravi. 1093 00:54:00,230 --> 00:54:04,600 In se izkaže, je natančnost super pomembno, saj je abstrakcija. 1094 00:54:04,600 --> 00:54:06,570 In poskusimo sporoči, da je, kot sledi. 1095 00:54:06,570 --> 00:54:11,000 >> Sem morda nehote razvajen to z utripanjem diapozitiv na zaslonu 1096 00:54:11,000 --> 00:54:12,260 prezgodaj. 1097 00:54:12,260 --> 00:54:16,550 Ampak naj zaprosi za pogumne prostovoljca, Če vas ne moti prihajajo. 1098 00:54:16,550 --> 00:54:19,040 Ti bi ispred Fotoaparat, če ste v redu s tem. 1099 00:54:19,040 --> 00:54:24,950 Bi kdo rad prišel gor in dati navodila za svojimi kolegi tukaj? 1100 00:54:24,950 --> 00:54:29,540 Samo, da pridejo sem in stati tukaj in reči nekaj besed. 1101 00:54:29,540 --> 00:54:32,890 >> Victoria je nasmejan najbolj in izogibanje oči najbolj. 1102 00:54:32,890 --> 00:54:34,740 Bi bili pripravljeni, da pridejo gor? 1103 00:54:34,740 --> 00:54:35,240 V REDU. 1104 00:54:35,240 --> 00:54:38,480 In če vsi ostali na svojih sedežih bi vzeti kos odpadnega papirja, 1105 00:54:38,480 --> 00:54:39,750 če hočete. 1106 00:54:39,750 --> 00:54:40,760 Podložen papir je v redu. 1107 00:54:40,760 --> 00:54:41,990 Pridi na ta način. 1108 00:54:41,990 --> 00:54:44,580 Ali nekatere papirja ti so imeli včeraj, 1109 00:54:44,580 --> 00:54:46,493 samo vsak prazen list papirja, če bi lahko. 1110 00:54:46,493 --> 00:54:52,240 1111 00:54:52,240 --> 00:54:54,870 In če ne boste imeli, samo vprašajte svojega soseda, če bi lahko. 1112 00:54:54,870 --> 00:55:04,220 1113 00:55:04,220 --> 00:55:07,580 >> Torej, v tem trenutku, za ta primer, Victoria 1114 00:55:07,580 --> 00:55:11,520 se dogaja, da igra vlogo programer, inženir, ki je 1115 00:55:11,520 --> 00:55:16,130 Treba si programirati vse, kar računalniki, nekaj narediti. 1116 00:55:16,130 --> 00:55:19,570 In bomo videli, kaj predpostavke ste se odločili, da. 1117 00:55:19,570 --> 00:55:22,700 Bomo videli, kako natančno se odloči, da bo. 1118 00:55:22,700 --> 00:55:26,220 In če je to dokaz gre pedagoško dobro, veliko napak 1119 00:55:26,220 --> 00:55:29,220 bodo, da bomo nato uporabili da kot priložnost za razpravo. 1120 00:55:29,220 --> 00:55:32,010 Toda izziv bi smeli je, da bi se izognili te napake, 1121 00:55:32,010 --> 00:55:32,896 je dober programer. 1122 00:55:32,896 --> 00:55:35,520 In tako izziv pri roki, če ti bi rad, da hodi tja, 1123 00:55:35,520 --> 00:55:38,799 je pred Victoria na zaslonu here-- in upam, da nihče od vas 1124 00:55:38,799 --> 00:55:40,590 se spomniš, ko sem zasvetil na zaslonu. 1125 00:55:40,590 --> 00:55:44,097 In ne obrne na vse, saj tam je še en zaslon v tej sobi 1126 00:55:44,097 --> 00:55:44,930 da lahko izklopite. 1127 00:55:44,930 --> 00:55:46,620 Torej ne obrne. 1128 00:55:46,620 --> 00:55:49,090 >> Pred Victoria je isti krik. 1129 00:55:49,090 --> 00:55:54,170 In njena naloga zdaj je, da vam povem vse na svojem kosu papirja, kaj pripraviti. 1130 00:55:54,170 --> 00:55:57,020 In bomo videli, na podlagi verbalne navodila sam, 1131 00:55:57,020 --> 00:56:00,020 računalniški program, če hočete, kako točno vaše risbe 1132 00:56:00,020 --> 00:56:02,330 are-- vaše izvedb so. 1133 00:56:02,330 --> 00:56:02,980 Smiselno? 1134 00:56:02,980 --> 00:56:03,604 >> OBČINSTVO: Ja. 1135 00:56:03,604 --> 00:56:04,980 DAVID Malan: OK, izvršiti. 1136 00:56:04,980 --> 00:56:06,030 >> OBČINSTVO: Nariši kvadrat. 1137 00:56:06,030 --> 00:56:09,050 >> [SMEH] 1138 00:56:09,050 --> 00:56:12,310 >> DAVID Malan: In ne Vprašanja se lahko vprašal. 1139 00:56:12,310 --> 00:56:13,720 Lahko storite le to, kar ste povedali. 1140 00:56:13,720 --> 00:56:17,570 1141 00:56:17,570 --> 00:56:22,550 Oh, in če imate današnji diapozitive Odpri v zavihku, ne glej na kartici. 1142 00:56:22,550 --> 00:56:23,670 V REDU? 1143 00:56:23,670 --> 00:56:26,135 >> OBČINSTVO: OK, narisali krog. 1144 00:56:26,135 --> 00:56:32,544 1145 00:56:32,544 --> 00:56:34,872 Slope-- lahko rečem pobočju? 1146 00:56:34,872 --> 00:56:35,830 DAVID Malan: do vas. 1147 00:56:35,830 --> 00:56:38,230 1148 00:56:38,230 --> 00:56:38,980 OBČINSTVO: pobočju. 1149 00:56:38,980 --> 00:56:46,330 1150 00:56:46,330 --> 00:56:49,795 In trikotnik. 1151 00:56:49,795 --> 00:56:50,850 >> DAVID Malan: V redu. 1152 00:56:50,850 --> 00:56:52,286 In ostal tu le za trenutek. 1153 00:56:52,286 --> 00:56:56,046 1154 00:56:56,046 --> 00:56:58,910 In bom prišel približno vsak trenutek. 1155 00:56:58,910 --> 00:57:02,420 In ni treba, da dajo svoje ime na njem. 1156 00:57:02,420 --> 00:57:05,030 Naj pridejo okoli in zbira svoje risbe, 1157 00:57:05,030 --> 00:57:08,330 Če vas ne moti jih trgajo ven. 1158 00:57:08,330 --> 00:57:12,110 >> Tukaj je tisto, kar smo dobili nazaj. 1159 00:57:12,110 --> 00:57:14,770 Bom projekt na zaslonu. 1160 00:57:14,770 --> 00:57:18,310 Vidim, kvadrat, krog, pobočje, in trikotnik. 1161 00:57:18,310 --> 00:57:20,130 Tako da je bil en odgovor tam. 1162 00:57:20,130 --> 00:57:23,640 In let's-- Ops. 1163 00:57:23,640 --> 00:57:25,370 Hvala. 1164 00:57:25,370 --> 00:57:30,710 Tu je še en izbor, in eno za njo. 1165 00:57:30,710 --> 00:57:34,130 1166 00:57:34,130 --> 00:57:37,120 >> Tako so vsi videti, da zajemanje duh. 1167 00:57:37,120 --> 00:57:38,600 Hvala. 1168 00:57:38,600 --> 00:57:44,970 Obstaja še en, in tukaj je še eden. 1169 00:57:44,970 --> 00:57:51,590 Razlaga naklon je malo drugačen, malo ukrivljenih. 1170 00:57:51,590 --> 00:57:57,140 In v katerem je bodisi zaradi izmed čudovito posebnost, s katero ste 1171 00:57:57,140 --> 00:58:03,520 opisano, ali pa si nekako videl, da prej, to je res 1172 00:58:03,520 --> 00:58:06,340 Kaj Victoria dejansko opisuje. 1173 00:58:06,340 --> 00:58:09,190 >> Toda zdaj, tiste, ki ni dobil čisto prav, 1174 00:58:09,190 --> 00:58:11,140 pa ponujajo nekaj pripomb tukaj. 1175 00:58:11,140 --> 00:58:13,770 Torej Victoria najprej dejal narisati kvadrat. 1176 00:58:13,770 --> 00:58:15,830 In zdaj, lahko sklepamo, zavoljo danes 1177 00:58:15,830 --> 00:58:17,538 da vsi vedo, kako narisati kvadrat. 1178 00:58:17,538 --> 00:58:20,590 Ampak to še ni povsem jasno, kajne? 1179 00:58:20,590 --> 00:58:23,220 Kako drugače bi lahko imeli potegniti trg, ali če 1180 00:58:23,220 --> 00:58:27,114 morda nekaj nejasnosti tukaj za računalnik? 1181 00:58:27,114 --> 00:58:28,280 OBČINSTVO: Lokacija in velikost. 1182 00:58:28,280 --> 00:58:28,980 DAVID Malan: Kraj, kajne? 1183 00:58:28,980 --> 00:58:32,070 Vsi, ki ste imeli papir neke oblike, splošno pravokotniki, vendar nekoliko 1184 00:58:32,070 --> 00:58:32,830 različnih velikosti. 1185 00:58:32,830 --> 00:58:36,250 Ampak zagotovo bi bili pripravljeni, če si hotel, velik kvadrat, morda 1186 00:58:36,250 --> 00:58:37,220 majhen kvadrat. 1187 00:58:37,220 --> 00:58:38,417 Mogoče je bilo zavrteti. 1188 00:58:38,417 --> 00:58:39,500 Ne verjamem, da smo videli, da. 1189 00:58:39,500 --> 00:58:41,790 Vendar pa bi bilo bolj diamant podobno, vendar še vedno, kljub temu, 1190 00:58:41,790 --> 00:58:42,900 matematično kvadrat. 1191 00:58:42,900 --> 00:58:44,850 Tako, da je bil verjetno dvoumen. 1192 00:58:44,850 --> 00:58:46,709 >> Potem je rekla, narisali krog. 1193 00:58:46,709 --> 00:58:49,250 Nekateri od vas si ga pripravi ob to, kar ni nerazumno, 1194 00:58:49,250 --> 00:58:52,450 ker ljudje mislijo ali brati od desne proti levi v večini jezikov, tako da ne 1195 00:58:52,450 --> 00:58:53,017 slaba ugibati. 1196 00:58:53,017 --> 00:58:55,100 Toda to krog bi lahko je znotraj kvadrata, 1197 00:58:55,100 --> 00:58:57,600 bi bilo okrog kvadrat, bi bila na drugem mestu 1198 00:58:57,600 --> 00:58:59,480 na listu, tako da verjetno dvoumna. 1199 00:58:59,480 --> 00:59:03,290 >> Slope bi lahko bil morda pri čemer največ svoboščin verbalno 1200 00:59:03,290 --> 00:59:04,200 s tem, kaj to pomeni. 1201 00:59:04,200 --> 00:59:06,980 In nekateri od vas razlagati je kot vijugasto črto 1202 00:59:06,980 --> 00:59:08,560 ali ravna črta ali podobno. 1203 00:59:08,560 --> 00:59:11,719 In potem trikotnik, preveč, bi lahko je usmerjen v poljubnem številu načinov. 1204 00:59:11,719 --> 00:59:14,760 Torej na kratko, tudi z nečim, si pogleduje in ste kot, wow, tako 1205 00:59:14,760 --> 00:59:17,020 preprosta, bi otrok pripravi tega tudi ne 1206 00:59:17,020 --> 00:59:19,640 res, če ste super, super prepričljiv 1207 00:59:19,640 --> 00:59:22,045 in povej računalnik točno, kaj naj naredim. 1208 00:59:22,045 --> 00:59:24,420 Torej, če bi lahko, če imate en list papirja, kaj je 1209 00:59:24,420 --> 00:59:26,710 poskusiti še enkrat. 1210 00:59:26,710 --> 00:59:29,880 In bom dal Victoria eno Drugi primer na zaslonu tukaj. 1211 00:59:29,880 --> 00:59:34,060 In spet, ne obrni in ne pogled na vaše diapozitive. 1212 00:59:34,060 --> 00:59:37,304 In bom ji trenutek za razmišljati o tem, kako opisati to. 1213 00:59:37,304 --> 00:59:39,012 Ne dovolite, da vidim strah v tvojih očeh. 1214 00:59:39,012 --> 00:59:40,820 >> [SMEH] 1215 00:59:40,820 --> 00:59:43,710 >> In še enkrat, tokrat vzvod nekatere od teh takeaways 1216 00:59:43,710 --> 00:59:48,130 in poskusite dobiti skoraj vse vsaj pravi odgovor. 1217 00:59:48,130 --> 00:59:52,260 >> OBČINSTVO: OK, vzemite kos papirja, poglejte 1218 00:59:52,260 --> 00:59:54,500 sredi tega kosa papirja. 1219 00:59:54,500 --> 00:59:59,591 Sredi tega kosa papirja, narišite kocko. 1220 00:59:59,591 --> 01:00:01,244 >> [SMEH] 1221 01:00:01,244 --> 01:00:02,660 DAVID Malan: Kaj smo se naučili? 1222 01:00:02,660 --> 01:00:03,540 Bili smo tako blizu. 1223 01:00:03,540 --> 01:00:06,320 1224 01:00:06,320 --> 01:00:09,045 OK, ponovi, če bi lahko, za vsakogar. 1225 01:00:09,045 --> 01:00:13,210 >> OBČINSTVO: Na sredini kos papirja narišite predmet, 1226 01:00:13,210 --> 01:00:14,842 ki izgleda kot kocke. 1227 01:00:14,842 --> 01:00:17,332 >> DAVID Malan: OK, to je vse dobiš za delo z. 1228 01:00:17,332 --> 01:00:20,010 1229 01:00:20,010 --> 01:00:23,080 Dovolite mi, da je analitično in ne toliko pomembno, 1230 01:00:23,080 --> 01:00:25,720 ampak da zahtevek da Victoria vsekakor 1231 01:00:25,720 --> 01:00:28,967 Zdi se, da razmišljanje v zelo odvzemi na visoki ravni, ki 1232 01:00:28,967 --> 01:00:29,800 ni nesmiselno. 1233 01:00:29,800 --> 01:00:32,160 Ker drugače, bi bili vsi precej disfunkcionalna, 1234 01:00:32,160 --> 01:00:35,740 Če smo morali biti še tako natančna z vsem, kar počnemo v svetu. 1235 01:00:35,740 --> 01:00:38,890 >> Ampak pravijo, pojdite na middle-- I mislili, da smo na tako dobri poti 1236 01:00:38,890 --> 01:00:42,340 tam, kot iti v samem središču strani, in nato pripravi kocko. 1237 01:00:42,340 --> 01:00:45,730 Torej, ona je razmišljanje z odvzemi, ker je še vedno si 1238 01:00:45,730 --> 01:00:48,490 kaj je na zaslonu, kot dejansko kocka. 1239 01:00:48,490 --> 01:00:51,185 Vendar pa je toliko možnosti za razlago tam. 1240 01:00:51,185 --> 01:00:53,560 In v resnici, tam je tudi veliko drugih načinov, kako lahko izražajo 1241 01:00:53,560 --> 01:00:55,101 to, kar bom predlagala v trenutku. 1242 01:00:55,101 --> 01:00:59,770 Torej, tukaj imamo eno inkarnacijo od picture-- whoops-- enega 1243 01:00:59,770 --> 01:01:02,830 inkarnacija slike, tako da malo tri dimenzionalnost z njim, 1244 01:01:02,830 --> 01:01:04,160 kar je lepo. 1245 01:01:04,160 --> 01:01:08,470 >> Tukaj je še ena, kjer imate Enako, čeprav je nekako odprto kocke. 1246 01:01:08,470 --> 01:01:12,020 Nekateri ljudje ga je malo bolj ravna, dvodimenzionalna. 1247 01:01:12,020 --> 01:01:13,910 In to je v redu. 1248 01:01:13,910 --> 01:01:17,380 Torej, res v Središče papirja. 1249 01:01:17,380 --> 01:01:22,720 Tale mislim, da bom podobno, ker če gremo tukaj, 1250 01:01:22,720 --> 01:01:25,130 To je tisto, kar jo je opisal. 1251 01:01:25,130 --> 01:01:29,570 Torej, zdaj, naj predlagajo, kako drugače smo lahko opisali ta položaj. 1252 01:01:29,570 --> 01:01:34,070 >> Nazaj v dan, eden izmed najbolj bolj pogosti načini, da se učijo programiranja 1253 01:01:34,070 --> 01:01:38,900 je za pisanje kode, piše linije navodil, 1254 01:01:38,900 --> 01:01:42,640 da je imela malo želva na zaslonu. 1255 01:01:42,640 --> 01:01:45,660 Logotip in druge variante to je ime jezika. 1256 01:01:45,660 --> 01:01:47,550 In želva živela v svetu. 1257 01:01:47,550 --> 01:01:49,970 >> Torej predvidevam to pravokotne Prostor je njegov svet. 1258 01:01:49,970 --> 01:01:53,340 In bi začeli z assuming-- I res ne vem, kako pripraviti želvo, 1259 01:01:53,340 --> 01:01:54,740 tako da je to, kot je ta. 1260 01:01:54,740 --> 01:01:57,340 In potem je dobil lupino in potem morda nekaj metrov. 1261 01:01:57,340 --> 01:01:59,840 Tako lahko to malo še znak na zaslonu. 1262 01:01:59,840 --> 01:02:02,270 >> In je predmet tega programski jezik 1263 01:02:02,270 --> 01:02:06,070 je prisilila želva iti gor, dol, levo, desno 1264 01:02:06,070 --> 01:02:08,420 in postaviti svoje pero ali pick svoje pero up, 1265 01:02:08,420 --> 01:02:12,720 da bi mu dejansko pripravi na zaslonu V tem zelo plosko pravokotne svetu. 1266 01:02:12,720 --> 01:02:16,850 Torej, kje sem mislil, da bi šel, in kje bi morali razmisliti potapljanje 1267 01:02:16,850 --> 01:02:19,520 navzdol za duševno pri opisovanju Navodila bolj na splošno, 1268 01:02:19,520 --> 01:02:21,720 Jaz bi zahteva, ki je dal svoj pero v middle-- 1269 01:02:21,720 --> 01:02:23,100 in bomo znebili želva, ker ne morem zares 1270 01:02:23,100 --> 01:02:24,680 naj ga pripravi zelo dobro. 1271 01:02:24,680 --> 01:02:27,170 >> In zdaj, bi lahko kako drugače Pravim narisati kocko? 1272 01:02:27,170 --> 01:02:32,830 No, lahko bi rekli nekaj podobnega žrebanje diagonalno linija severovzhod, na primer, 1273 01:02:32,830 --> 01:02:35,182 ali na 45 stopinj navzgor. 1274 01:02:35,182 --> 01:02:36,640 In da bi me prišel sem. 1275 01:02:36,640 --> 01:02:38,380 In sem precej daleč od kocki. 1276 01:02:38,380 --> 01:02:42,430 Toda zdaj, lahko rečem nekaj kot obrniti za 90 stopinj v levo 1277 01:02:42,430 --> 01:02:47,370 in narišite črto enako severozahodno dolžine. 1278 01:02:47,370 --> 01:02:49,470 In sem lahko še naprej s podobnimi smereh. 1279 01:02:49,470 --> 01:02:50,720 In to ne bo enostavno. 1280 01:02:50,720 --> 01:02:53,345 In odkrito povedano, mi verjetno bi so tukaj že pet minut. 1281 01:02:53,345 --> 01:02:59,600 Ampak mogoče bi bi prišel do nekaj, kar se na koncu dneva, 1282 01:02:59,600 --> 01:03:04,280 konča pa kocka, vendar smo končal znotraj te abstrakcije 1283 01:03:04,280 --> 01:03:06,370 to narediti na tak nizko raven, da ne more zares 1284 01:03:06,370 --> 01:03:09,795 glej, kaj delaš, dokler celotna Stvar je pravzaprav tam na strani. 1285 01:03:09,795 --> 01:03:12,670 In tako je to splošno načelo, še enkrat, od programming-- to idejo 1286 01:03:12,670 --> 01:03:13,320 abstrakcije. 1287 01:03:13,320 --> 01:03:15,920 To je tako čudovito močan, ker še enkrat, 1288 01:03:15,920 --> 01:03:19,281 je pravkar rekel, narisati kocko, ki je vse nas precej bi zelo hitro grok. 1289 01:03:19,281 --> 01:03:21,030 Mi bi samo razumel, OK, narisati kocko. 1290 01:03:21,030 --> 01:03:24,030 Morda ne vedo usmerjenost, tako da bi se lahko malo bolj natančno, 1291 01:03:24,030 --> 01:03:26,297 vendar pa lahko na splošno sliko ali veste, kaj je kocka. 1292 01:03:26,297 --> 01:03:28,130 In to je koristno, ker če vsakič, ko 1293 01:03:28,130 --> 01:03:31,540 sedel kot programer na tipkovnici napisati kodo, 1294 01:03:31,540 --> 01:03:33,912 če bi morali razmišljati na tak nizko raven, nihče od nas 1295 01:03:33,912 --> 01:03:35,120 bi kdaj dobili kaj storiti. 1296 01:03:35,120 --> 01:03:38,259 In seveda, bi nihče od nas uživajo proces pisanja kode. 1297 01:03:38,259 --> 01:03:41,550 To bi bilo, kot je pisanje v 0 in 1-ih, ki odkrito rečeno ni bilo vse tako dolgo nazaj 1298 01:03:41,550 --> 01:03:43,680 ljudje so pisanje kode v 0 in 1 je. 1299 01:03:43,680 --> 01:03:46,960 In smo zelo hitro prišli do ti višji nivo languages-- 1300 01:03:46,960 --> 01:03:49,410 C ++ in Java in drugi. 1301 01:03:49,410 --> 01:03:52,500 >> Torej, poskusimo to bolj enkrat samo flip tabel, tako da vse nas 1302 01:03:52,500 --> 01:03:55,450 imajo priložnost za razmislek V namesto na enak način. 1303 01:03:55,450 --> 01:03:59,230 Lahko dobimo še eno prostovoljca to Čas je, da pride do plošče in sestavi, 1304 01:03:59,230 --> 01:04:01,480 ne recitirati? 1305 01:04:01,480 --> 01:04:02,070 Ja, v redu. 1306 01:04:02,070 --> 01:04:04,820 Ben, pridi gor. 1307 01:04:04,820 --> 01:04:08,510 In, Ben, v tem primeru, ko vas obraz ploščo, ne poglej levo, 1308 01:04:08,510 --> 01:04:09,370 ne videti v redu. 1309 01:04:09,370 --> 01:04:12,367 Le to, kar je vaš kolegi tukaj povedati. 1310 01:04:12,367 --> 01:04:14,950 In za vse ostale v soba, zdaj so programer. 1311 01:04:14,950 --> 01:04:16,020 On je računalnik. 1312 01:04:16,020 --> 01:04:21,395 In slika sem tukaj izbral vnaprej je tale tukaj. 1313 01:04:21,395 --> 01:04:24,490 1314 01:04:24,490 --> 01:04:27,660 Oni samo-- razmišljajo na smešno šalo je vse. 1315 01:04:27,660 --> 01:04:31,510 >> Zato bi nekdo rad prostovoljec prvo navodilo 1316 01:04:31,510 --> 01:04:35,470 ali izjavo, da bi morali Ukaz Benova pero? 1317 01:04:35,470 --> 01:04:40,850 In bomo to storili skupaj, morda eno navodilo od vsakega posameznika. 1318 01:04:40,850 --> 01:04:41,440 Žal mi je? 1319 01:04:41,440 --> 01:04:42,440 >> OBČINSTVO: Nariši krog. 1320 01:04:42,440 --> 01:04:45,866 DAVID Malan: Nariši krog je prva stvar, ki sem slišal. 1321 01:04:45,866 --> 01:04:47,100 >> OBČINSTVO: Up top. 1322 01:04:47,100 --> 01:04:48,140 >> DAVID Malan: Up top. 1323 01:04:48,140 --> 01:04:52,504 OK, mi vam lahko izbrišete, razveljaviti. 1324 01:04:52,504 --> 01:04:53,420 In zdaj nekdo drug. 1325 01:04:53,420 --> 01:04:55,994 Dan, bi morali biti udoben ponuja naslednjo navodila? 1326 01:04:55,994 --> 01:05:02,070 >> OBČINSTVO: Seveda, pripravi center na dnu kroga, 1327 01:05:02,070 --> 01:05:07,121 z small-- malo majhnem prostoru od tega, 1328 01:05:07,121 --> 01:05:15,420 risanje ravne črte do tri četrtine poti navzdol krovu 1329 01:05:15,420 --> 01:05:17,845 rahel kot na levi. 1330 01:05:17,845 --> 01:05:21,250 1331 01:05:21,250 --> 01:05:22,620 >> DAVID Malan: Dobro. 1332 01:05:22,620 --> 01:05:24,086 >> OBČINSTVO: Rahlo kota. 1333 01:05:24,086 --> 01:05:32,807 >> DAVID Malan: Undo, Control-Z. V REDU. 1334 01:05:32,807 --> 01:05:34,890 Andrew, želite ponuditi do naslednjega navodil? 1335 01:05:34,890 --> 01:05:35,515 >> OBČINSTVO: Seveda. 1336 01:05:35,515 --> 01:05:43,250 Na dnu te črte, še rahlo angle-- 1337 01:05:43,250 --> 01:05:49,024 whoops-- morda približno tretjino dolžine [neslišno] 1338 01:05:49,024 --> 01:05:52,928 rahlim kotom navzdol in kakor tretjine dolžine [neslišno]. 1339 01:05:52,928 --> 01:05:57,550 1340 01:05:57,550 --> 01:06:00,578 Torej, ja, od te točke, potegnemo črto tretja 1341 01:06:00,578 --> 01:06:04,150 dolžine prejšnji linija nadalje levo. 1342 01:06:04,150 --> 01:06:08,416 1343 01:06:08,416 --> 01:06:10,040 >> DAVID Malan: To je v redu? 1344 01:06:10,040 --> 01:06:12,330 Premica, ki je v redu? 1345 01:06:12,330 --> 01:06:14,900 OK, Olivier, ki jih želite darovati naslednji? 1346 01:06:14,900 --> 01:06:28,564 >> OBČINSTVO: [neslišno] iz Dno kroga, [neslišno]. 1347 01:06:28,564 --> 01:06:32,000 1348 01:06:32,000 --> 01:06:45,126 Risanje na desni strani z [neslišno] centimetrov. 1349 01:06:45,126 --> 01:06:46,560 >> [SMEH] 1350 01:06:46,560 --> 01:06:49,872 >> DAVID Malan: Mislim, da boš morali spremeniti, da je centimetrov tukaj. 1351 01:06:49,872 --> 01:06:50,764 >> OBČINSTVO: Stop. 1352 01:06:50,764 --> 01:06:52,186 >> [SMEH] 1353 01:06:52,186 --> 01:06:54,570 >> DAVID Malan: OK. 1354 01:06:54,570 --> 01:06:56,660 [? Ara,?] Hočeš darovati naslednji? 1355 01:06:56,660 --> 01:07:00,653 1356 01:07:00,653 --> 01:07:15,443 >> OBČINSTVO: Nariši [neslišno] Zgornji [neslišno] enaki. 1357 01:07:15,443 --> 01:07:28,829 [Neslišno] krog, pripravi na [Neslišno] in sestaviti [neslišno]. 1358 01:07:28,829 --> 01:07:33,799 1359 01:07:33,799 --> 01:07:36,730 >> DAVID Malan: OK, ni več razveljaviti. 1360 01:07:36,730 --> 01:07:38,390 Naredimo eno ali dve več navodil. 1361 01:07:38,390 --> 01:07:40,825 Chris, ki jih želite ponuditi enega? 1362 01:07:40,825 --> 01:07:46,182 >> OBČINSTVO: Na dnu kroga, [neslišno] 1363 01:07:46,182 --> 01:07:51,528 pripraviti enako postavo slopping navzdol na levi [neslišno]. 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 Mi did-- Karim? 1368 01:08:02,472 --> 01:08:06,891 1369 01:08:06,891 --> 01:08:13,765 >> OBČINSTVO: Od pravo linijo, Konec levega linije, dno, 1370 01:08:13,765 --> 01:08:21,012 ste šli prav glede enake dolžine kot to črto 1371 01:08:21,012 --> 01:08:27,680 ste, risanje na pravica [neslišno]. 1372 01:08:27,680 --> 01:08:33,572 1373 01:08:33,572 --> 01:08:37,991 [Neslišno] stopinj, tako da [neslišno] stopinje na desni strani. 1374 01:08:37,991 --> 01:08:41,919 1375 01:08:41,919 --> 01:08:43,500 >> DAVID Malan: V redu. 1376 01:08:43,500 --> 01:08:44,029 Poglejmo premor. 1377 01:08:44,029 --> 01:08:44,950 Ne obračajte še okoli. 1378 01:08:44,950 --> 01:08:46,783 Oglejmo premor, in kaj je poskusite en drug poskus 1379 01:08:46,783 --> 01:08:48,850 preden smo razkrili, da Ben kaj mu je bilo risanje. 1380 01:08:48,850 --> 01:08:51,189 Lahko shuffle Ben do right-- ali dejansko, 1381 01:08:51,189 --> 01:08:54,080 no, pa si daj drug svet, še bolje. 1382 01:08:54,080 --> 01:08:57,640 Torej bi nekdo zdaj rad vzeti več pristopa 1383 01:08:57,640 --> 01:09:02,149 da je Victoria se je prej, kjer govorimo na višji ravni abstrakcije 1384 01:09:02,149 --> 01:09:05,149 in v samo stavka ali dva opisati z Benom 1385 01:09:05,149 --> 01:09:07,229 kaj pripraviti brez dobili v plevelov, 1386 01:09:07,229 --> 01:09:10,670 tako rekoč na to nižjo raven? 1387 01:09:10,670 --> 01:09:11,206 Victoria. 1388 01:09:11,206 --> 01:09:11,706 [SMEH] 1389 01:09:11,706 --> 01:09:14,249 OBČINSTVO: Nariši sliko za hojo človeka. 1390 01:09:14,249 --> 01:09:18,866 In noge in roke morajo biti na desni strani. 1391 01:09:18,866 --> 01:09:20,505 >> DAVID Malan: OK, to je vse dobiš. 1392 01:09:20,505 --> 01:09:27,210 1393 01:09:27,210 --> 01:09:27,710 V redu. 1394 01:09:27,710 --> 01:09:31,609 Zakaj ne bi razkrila, da Ben, kaj je naredil. 1395 01:09:31,609 --> 01:09:32,890 Torej aplavz. 1396 01:09:32,890 --> 01:09:35,700 To je bil najtežji morda. 1397 01:09:35,700 --> 01:09:37,931 >> Torej, čeprav govorimo V dokaj neumno pogoji 1398 01:09:37,931 --> 01:09:39,680 o samo risanje slike, upajmo, da 1399 01:09:39,680 --> 01:09:44,226 lahko resnično cenijo stopnjo izraznost, da bi bilo potrebno 1400 01:09:44,226 --> 01:09:45,850 da bi povedal, računalnik, kaj storiti. 1401 01:09:45,850 --> 01:09:50,370 In v resnici, je dejstvo, da je Ben je lahko to pripraviti tako hitro 1402 01:09:50,370 --> 01:09:54,227 je neke vrste dokaz, da se z uporabo jezik, morda višja stopnja 1403 01:09:54,227 --> 01:09:57,060 različica angleškega jezika, ki ga omogoča samo z besedami, ali slišal besede 1404 01:09:57,060 --> 01:09:59,990 od Victoria, ki mu omogočajo ti abstractions-- samo pripravi 1405 01:09:59,990 --> 01:10:03,020 številka hoja na right--, da je vrsta 1406 01:10:03,020 --> 01:10:07,100 nekateri semantični pomen, ki mu to ni Skoraj kot očitno, ko ste pravkar 1407 01:10:07,100 --> 01:10:10,310 pravijo, da vaš pero, pripravi v desno, pripravi na levi strani. 1408 01:10:10,310 --> 01:10:12,420 >> In tako tudi to je zelo pogosta pri programiranju. 1409 01:10:12,420 --> 01:10:15,253 To bi rekli, da je kot zelo nizko raven jezika, programiranje 1410 01:10:15,253 --> 01:10:16,730 v 0 in 1 je, če bo. 1411 01:10:16,730 --> 01:10:19,320 To pa bi bila višja stopnja programskem jeziku Java, 1412 01:10:19,320 --> 01:10:20,278 ali nekaj takega. 1413 01:10:20,278 --> 01:10:22,050 Malo poenostavljanje, ampak to je 1414 01:10:22,050 --> 01:10:24,310 neke vrste, kot so čustvene občutek, da se počutite, ko 1415 01:10:24,310 --> 01:10:26,630 z eno vrsto stvari ali drugo. 1416 01:10:26,630 --> 01:10:32,650 Malo frustracije tu potreba za tako natančnost, temveč možnost, 1417 01:10:32,650 --> 01:10:34,930 da se malo zguba z razlaga tukaj. 1418 01:10:34,930 --> 01:10:38,060 Seveda, hrošče lahko nastanejo kot posledica. 1419 01:10:38,060 --> 01:10:40,500 >> Če želite v home-- smo ne bo ta v class-- 1420 01:10:40,500 --> 01:10:41,900 ampak če bi želeli bi to moštvo, 1421 01:10:41,900 --> 01:10:43,387 Mislil sem, da bi se potopili v to. 1422 01:10:43,387 --> 01:10:45,970 Torej, če želite, da igrajo to Igra v dvoje 1423 01:10:45,970 --> 01:10:49,180 ali otroci ali podobno, si lahko uživajo tudi to. 1424 01:10:49,180 --> 01:10:54,460 >> Torej, gremo naprej in pogled na eno zadnjih stvar tukaj za računskega mišljenja. 1425 01:10:54,460 --> 01:10:57,010 In to nas pripelje do Janeza Oliver, ne za posnetek 1426 01:10:57,010 --> 01:11:00,070 ste morda videli sinoči, vendar v nekoliko nedavni izdaji. 1427 01:11:00,070 --> 01:11:03,310 Nekaj ​​mesecev nazaj, Volkswagen je zelo malo neprebojnimi 1428 01:11:03,310 --> 01:11:05,651 čemu, če veš? 1429 01:11:05,651 --> 01:11:07,025 Kaj so dobili v težavah za? 1430 01:11:07,025 --> 01:11:10,270 1431 01:11:10,270 --> 01:11:14,030 >> Ja, tako emissions-- so skušali premagati emisij 1432 01:11:14,030 --> 01:11:19,100 Testi, ki jih v bistvu imajo svoje avtomobili onesnažujejo okolje manj 1433 01:11:19,100 --> 01:11:23,620 ko so se testira svoje avtomobile in onesnažujejo okolje bolj 1434 01:11:23,620 --> 01:11:25,547 ko se niso bili testirani avtomobili. 1435 01:11:25,547 --> 01:11:28,630 In kaj je bolj zanimivo v svetu, saj bi se lahko sklepalo 1436 01:11:28,630 --> 01:11:34,072 iz razprav like--, kar je it-- CarPlay, programsko opremo Apple za avtomobile 1437 01:11:34,072 --> 01:11:35,780 in dejstvo, da je veliko nas bolj 1438 01:11:35,780 --> 01:11:38,390 imajo zaslone na dotik v naših avtomobilih, tam je zastrašujoče znesek 1439 01:11:38,390 --> 01:11:41,250 programske opreme iz Ljudske avtomobili danes, ki je 1440 01:11:41,250 --> 01:11:45,650 odkrito odpira povsem pločevinko črvi, ko gre za varnost in fizičnim tveganjem. 1441 01:11:45,650 --> 01:11:48,070 Ampak danes, kaj je osredotočiti na samo tisto, kar je 1442 01:11:48,070 --> 01:11:52,170 vpleten v pisanje programske opreme da bi lahko gamed sistema. 1443 01:11:52,170 --> 01:11:54,510 >> Za opredelitev problem, za tiste, ki ne poznajo, 1444 01:11:54,510 --> 01:11:55,740 pa si oglejte John Oliver. 1445 01:11:55,740 --> 01:11:58,115 In za tiste, ki poznajo problem, da je pogled na to 1446 01:11:58,115 --> 01:12:00,480 na zabaven objektiv prek John Oliver, kot tudi. 1447 01:12:00,480 --> 01:12:05,810 Torej me udaril igra o tem, da mislim, tri minute uvod. 1448 01:12:05,810 --> 01:12:07,074 Prekleto. 1449 01:12:07,074 --> 01:12:07,740 [VIDEO PREDVAJANJE] 1450 01:12:07,740 --> 01:12:08,170 -Cars-- 1451 01:12:08,170 --> 01:12:09,919 DAVID Malan: Očitno je, da na YouTube, it's-- 1452 01:12:09,919 --> 01:12:12,500 - --the najpametnejši znakov hitro in Furious filmov. 1453 01:12:12,500 --> 01:12:16,080 Ta teden, Nemški avtomobilski Volkswagen znašla 1454 01:12:16,080 --> 01:12:19,430 v sredini škandal potencialno kazniva razmerja. 1455 01:12:19,430 --> 01:12:23,020 >> -Volkswagen Je Utrjevanje za več milijard v glob, morebitne kazenske ovadbe 1456 01:12:23,020 --> 01:12:25,530 za svoje vodstvo, saj družba opravičuje 1457 01:12:25,530 --> 01:12:28,790 za vrvja 11 milijonov avtomobilov pomagalo premagati preskuse emisij. 1458 01:12:28,790 --> 01:12:32,110 >> -določeni Dizelski modeli so bili zasnovani s prefinjeno programsko opremo, ki 1459 01:12:32,110 --> 01:12:35,410 Rabljeni informacije, vključno s položajem volana in vozila 1460 01:12:35,410 --> 01:12:38,820 hitrost, za določitev avto je bil v postopku testiranja emisij. 1461 01:12:38,820 --> 01:12:42,620 V skladu s to okoliščino, motor bi zmanjšali strupenih emisij. 1462 01:12:42,620 --> 01:12:46,040 Vendar je bil avto opremljene za obvoznico da ko je vozi. 1463 01:12:46,040 --> 01:12:51,370 Emisije povečal od 10 do 40 krat nad sprejemljivo raven EPA. 1464 01:12:51,370 --> 01:12:55,920 >> -Wow, 10 do 40-krat večja od EPA dovoljuje. 1465 01:12:55,920 --> 01:12:59,570 To je najslabša stvar Volkswagen je kdaj naredil, 1466 01:12:59,570 --> 01:13:04,200 je nekaj, kar bi lahko rekli, če ne bi nikoli slišali druge svetovne vojne. 1467 01:13:04,200 --> 01:13:09,710 Ampak mogoče najzanesljivejši znak, kako veliko težav Volkswagen je, 1468 01:13:09,710 --> 01:13:12,730 je, da ljudje na zelo top so odstopil. 1469 01:13:12,730 --> 01:13:16,320 Direktor odstopil v sredo po kodiranja storiti nadzorovanje škode, 1470 01:13:16,320 --> 01:13:20,380 pravijo, da je bil neskončno žal, ki zvenel super, dokler se je izkazalo 1471 01:13:20,380 --> 01:13:22,920 je bil le 10% žal vendar so opremljene usta 1472 01:13:22,920 --> 01:13:25,600 umetno napihuje svoje sorriness. 1473 01:13:25,600 --> 01:13:29,700 In medtem, Volkswagen ZDA Glavni imela opravičilo svojega. 1474 01:13:29,700 --> 01:13:33,580 >> -Naj Je bilo jasno, o tem, naše podjetje je bilo nepošteno. 1475 01:13:33,580 --> 01:13:37,140 In v mojih nemških besed, smo so popolnoma zajebali. 1476 01:13:37,140 --> 01:13:41,360 >> Ja, ampak popolnoma zajebali se niso nemška dela. 1477 01:13:41,360 --> 01:13:43,750 In nemški jezik Ima veliko lepih stavkov 1478 01:13:43,750 --> 01:13:50,070 za opis situacije, tako kot je ta, kot [Nemčija], kar pomeni približno, 1479 01:13:50,070 --> 01:13:52,870 žalost, ki prihaja od povezanih poslovnih laži, 1480 01:13:52,870 --> 01:13:59,060 ali [Nemčija], kar pomeni kot sramotenja posameznikovo očeta, ki vključuje 1481 01:13:59,060 --> 01:14:00,352 oblaki bencina. 1482 01:14:00,352 --> 01:14:02,060 To je lep jezik. 1483 01:14:02,060 --> 01:14:04,660 Samo pluje off jezika. 1484 01:14:04,660 --> 01:14:07,920 In mimogrede, medtem ko je ta človek je opravičilo morda zvenel iskreno, 1485 01:14:07,920 --> 01:14:12,260 je treba omeniti, da je bil govor na uradni začetek stranka za leto 2016 1486 01:14:12,260 --> 01:14:17,310 Volkswagen Passat, kar pomeni, da v kratkem Po rekel mi je, da je to rekel. 1487 01:14:17,310 --> 01:14:18,850 >> Hvala lepa za prihod. 1488 01:14:18,850 --> 01:14:19,630 Uživajte večer. 1489 01:14:19,630 --> 01:14:21,300 Up Naslednja je Lenny Kravitz. 1490 01:14:21,300 --> 01:14:24,640 >> [GLASBA] 1491 01:14:24,640 --> 01:14:28,230 >> -OK, OK, se konča vaš opravičilo z največ Naslednja 1492 01:14:28,230 --> 01:14:31,940 Lenny Kravitz ne scream trezen kesanja. 1493 01:14:31,940 --> 01:14:35,830 To kriči, smo prosili Bon Jovi, in je rekel ne. 1494 01:14:35,830 --> 01:14:38,600 Znamka Volkswagen je bila hudo poškodovana. 1495 01:14:38,600 --> 01:14:42,466 In odkrito povedano, njihov novi oglas akcija ni ravno pomagal. 1496 01:14:42,466 --> 01:14:47,289 >> - [Nemčija], smo na Volkswagen bi rad opravičiti za vas vara z 1497 01:14:47,289 --> 01:14:47,930 naša vozila. 1498 01:14:47,930 --> 01:14:48,513 >> [END PREDVAJANJE] 1499 01:14:48,513 --> 01:14:54,090 DAVID Malan: Torej, to je bila krožišče način of-- sorry-- 1500 01:14:54,090 --> 01:14:58,730 to je krožišče način uvedbo temeljni problem 1501 01:14:58,730 --> 01:15:02,810 v programski opremi, ki je, da vas potrebujejo za odkrivanje določene pogoje. 1502 01:15:02,810 --> 01:15:07,680 In tako je vprašanje pri roki tukaj je, kako se avto potencialno 1503 01:15:07,680 --> 01:15:09,870 kot se izvaja v programski opremi ti programerji, 1504 01:15:09,870 --> 01:15:11,850 ugotovila, da je to dejansko testirali? 1505 01:15:11,850 --> 01:15:14,150 Tako, da je super jasno, kaj so počeli 1506 01:15:14,150 --> 01:15:17,940 je bil, v okoljih, kjer programerji pogruntal 1507 01:15:17,940 --> 01:15:20,460 avto je pa testirajo, so nekako na 1508 01:15:20,460 --> 01:15:24,840 avto oddaja manj emisij, manj emisije, zato manj strupeni hlapi 1509 01:15:24,840 --> 01:15:25,470 in podobno. 1510 01:15:25,470 --> 01:15:27,261 Toda, ko je ponavadi vožnjo po cesti, 1511 01:15:27,261 --> 01:15:30,350 da bi samo oddajajo toliko onesnaževanja, kot je želela. 1512 01:15:30,350 --> 01:15:33,870 >> Torej, kako bi lahko napisati psevdokoda za ta algoritem? 1513 01:15:33,870 --> 01:15:37,820 Kako bi lahko napisali psevdokoda za programsko opremo, ki teče v avtu? 1514 01:15:37,820 --> 01:15:43,390 Mislim, na kratko, zavre navzdol, da kaj takega. 1515 01:15:43,390 --> 01:15:48,000 če se preskuša, oddajajo manj. 1516 01:15:48,000 --> 01:15:50,750 drug oddaja več. 1517 01:15:50,750 --> 01:15:52,630 Ampak to je malo previsoka raven, kajne? 1518 01:15:52,630 --> 01:15:58,580 >> Poskusimo se potopite v tem, kaj je to abstrakcija, da so preizkušene načine. 1519 01:15:58,580 --> 01:16:06,340 Z drugimi besedami, tudi če veš nič o avtomobilih, kakšne vrste vprašanj 1520 01:16:06,340 --> 01:16:13,440 Morda vas prosim, da se ugotovi, če Bili ste testirali, če ste avto? 1521 01:16:13,440 --> 01:16:19,638 Katere značilnosti lahko predstavi, če je avto, ki se preskuša? 1522 01:16:19,638 --> 01:16:21,026 >> OBČINSTVO: testiranje opreme. 1523 01:16:21,026 --> 01:16:22,420 >> DAVID Malan: testiranje opreme. 1524 01:16:22,420 --> 01:16:26,060 Torej, če testna oprema v bližini, nato pa oddajajo manj. 1525 01:16:26,060 --> 01:16:28,669 Tako sem mogel predstavljati izvajanju da z neke vrste fotoaparatov 1526 01:16:28,669 --> 01:16:29,960 ali odkrivanje, kaj je okoli vas. 1527 01:16:29,960 --> 01:16:32,870 In mi predlagala, da Samo čuti preveč zapletena 1528 01:16:32,870 --> 01:16:37,914 dejansko imajo dodatne strojno opremo samo za ta namen. 1529 01:16:37,914 --> 01:16:44,830 >> OBČINSTVO: Če ste v park, če je vaša napa je odprt. 1530 01:16:44,830 --> 01:16:47,320 >> DAVID Malan: V parku ali hood odprta, tako da je dobro. 1531 01:16:47,320 --> 01:16:47,420 >> OBČINSTVO: In avto teče. 1532 01:16:47,420 --> 01:16:50,480 >> DAVID Malan: Torej, da je malo več concrete-- in avto teče. 1533 01:16:50,480 --> 01:16:55,690 Torej bi bilo to konjunkcija malo drugačni pogoji, če hočete. 1534 01:16:55,690 --> 01:16:59,227 Torej, če je avto v parku, in celo čeprav je to zelo mehansko stvar 1535 01:16:59,227 --> 01:17:01,060 običajno, sem lahko zamisliti pisanje programske opreme, 1536 01:17:01,060 --> 01:17:03,476 še posebej zato, ker je Pogosto lahke tam te dni, 1537 01:17:03,476 --> 01:17:07,400 Sem mogel predstavljati, da bi bilo programska oprema, ki lahko poizvedbo transformator 1538 01:17:07,400 --> 01:17:10,634 ali kaj ne, si v parku, so ste v pogonu, si v obratnem vrstnem redu. 1539 01:17:10,634 --> 01:17:12,550 In lahko dobim nazaj odgovorili, da je ali da 1540 01:17:12,550 --> 01:17:14,400 ali ne na tiste vrste vprašanj. 1541 01:17:14,400 --> 01:17:17,630 >> In tako sem lahko verjetno tudi odgovorili vprašanje, kot je pokrov odprt. 1542 01:17:17,630 --> 01:17:21,860 Mogoče, da je neke vrste senzorja da niti mi daje nazaj 1 ali 0, 1543 01:17:21,860 --> 01:17:23,720 pravilna ali napačna, pokrov je odprt. 1544 01:17:23,720 --> 01:17:28,180 In potem avto deluje, bi lahko zaznal da nekako po kakšnem mehanizmu? 1545 01:17:28,180 --> 01:17:30,430 Kot, avto teče, I lahko zazna, da je na, 1546 01:17:30,430 --> 01:17:32,127 sem lahko zazna nekako da se avto premika? 1547 01:17:32,127 --> 01:17:32,881 >> Občinstvo: RPM. 1548 01:17:32,881 --> 01:17:35,190 >> DAVID Malan: Ja, tako da je vedno, da je igla, ki 1549 01:17:35,190 --> 01:17:38,034 vam pove, koliko obratov na minute kolesa doživljajo. 1550 01:17:38,034 --> 01:17:39,200 In tako sem lahko poglej to. 1551 01:17:39,200 --> 01:17:43,090 In če to ni 0, da verjetno pomeni, da je avto premika. 1552 01:17:43,090 --> 01:17:45,400 Vendar moramo biti malo tam previdni, 1553 01:17:45,400 --> 01:17:49,780 because-- pa poenostaviti this-- če smo pravkar rekel, če avto teče, 1554 01:17:49,780 --> 01:17:53,070 ne želimo samo oddajajo manj, želimo, da če avto teče 1555 01:17:53,070 --> 01:17:54,310 in to je, ki se preskuša. 1556 01:17:54,310 --> 01:17:56,320 >> Torej, obstaja nekaj drugih sestavine, da ljudje 1557 01:17:56,320 --> 01:18:00,550 so predpostavili, programsko opremo počne, zaradi odsotnega dejansko izvorno kodo, 1558 01:18:00,550 --> 01:18:05,130 lahko le nekako sklepati iz fizikalne učinke avtomobila glede tega, kaj 1559 01:18:05,130 --> 01:18:08,280 Morda se dogaja pod pokrov v programski opremi. 1560 01:18:08,280 --> 01:18:17,090 Torej, če avto teče in morda, recimo, zadnja kolesa ne premika, 1561 01:18:17,090 --> 01:18:19,420 to lahko kaže neke vrste test? 1562 01:18:19,420 --> 01:18:22,830 Kaj sem namiguje na tu? 1563 01:18:22,830 --> 01:18:24,830 Ja, mogoče, da je na eno od teh valjev stvari, 1564 01:18:24,830 --> 01:18:28,340 kjer kot kolesa se obračajo spredaj ali zadaj, 1565 01:18:28,340 --> 01:18:32,570 glede na to, da je sprednje kolo ali pogon na zadnja kolesa, tako da polovica koles 1566 01:18:32,570 --> 01:18:34,420 se gibljejo, vendar druga dva nista, ki 1567 01:18:34,420 --> 01:18:36,320 je čudno stanje v resničnem svetu. 1568 01:18:36,320 --> 01:18:38,110 Če ste vožnjo na v cestnem prometu, da ne bi smelo zgoditi. 1569 01:18:38,110 --> 01:18:40,568 Ampak, če ste v skladišču na neke vrste sistem valja, 1570 01:18:40,568 --> 01:18:41,630 ki bi lahko res zgodi. 1571 01:18:41,630 --> 01:18:46,980 >> Mislim, da ljudje predlagal tudi, da je mogoče, če avto teče in krmiljenje 1572 01:18:46,980 --> 01:18:51,300 kolo brez premika, da Tudi je lahko signal 1573 01:18:51,300 --> 01:18:54,090 ker je to smiselno kot takoj izvajati na cesti. 1574 01:18:54,090 --> 01:18:57,960 Toda tudi takrat, človek je verjetno to se gibljejo malo ali gotovo 1575 01:18:57,960 --> 01:18:59,100 v nekaj sekundah. 1576 01:18:59,100 --> 01:19:01,030 Ali teku minute, verjetnost, da je ne 1577 01:19:01,030 --> 01:19:03,510 dogaja, da se fiksira v popolnoma enak položaj. 1578 01:19:03,510 --> 01:19:05,440 >> Torej z drugimi besedami, lahko substraction, 1579 01:19:05,440 --> 01:19:08,200 Ste se preskuša, in razčleniti to funkcionalnost 1580 01:19:08,200 --> 01:19:10,420 V te sestavne sestavine. 1581 01:19:10,420 --> 01:19:13,440 In to je res tisto, kar Volkswagen inženirji nekako naredil. 1582 01:19:13,440 --> 01:19:17,070 Napisali so programsko opremo zavestno odkriti, če je vozilo, ki se preskuša, 1583 01:19:17,070 --> 01:19:20,440 zato oddajajo manj, ostalo oddajajo na običajen način. 1584 01:19:20,440 --> 01:19:22,690 >> In problem tudi tukaj, je, da je programska oprema ni 1585 01:19:22,690 --> 01:19:26,080 nekaj, kar bi lahko res videli, če imate tako imenovano izvorno kodo. 1586 01:19:26,080 --> 01:19:29,060 Torej je dva različna tipa code-- vsaj dve različni vrsti 1587 01:19:29,060 --> 01:19:30,130 kode na svetu. 1588 01:19:30,130 --> 01:19:33,150 Obstaja nekaj, kar ti vir Koda, ki ni v nasprotju s kakšnimi 1589 01:19:33,150 --> 01:19:37,240 smo bili pisanjem izvorne kode. 1590 01:19:37,240 --> 01:19:40,099 >> To je izvorna koda napisana v jezik se imenuje psevdokoda, 1591 01:19:40,099 --> 01:19:41,640 ki je le nekaj angleško-podobnega. 1592 01:19:41,640 --> 01:19:43,140 Ni formalna definicija tega. 1593 01:19:43,140 --> 01:19:46,770 Vendar C in Java, C ++ tistih so vse uradne jezike, da 1594 01:19:46,770 --> 01:19:50,610 ko pišete v njih, kaj imate je besedilna datoteka, ki vsebuje izvorno kodo. 1595 01:19:50,610 --> 01:19:54,850 >> Obstaja pa tudi nekaj v svet imenuje stroj kodo. 1596 01:19:54,850 --> 01:20:00,579 In strojni kodi, žal, je samo 0 in 1 je. 1597 01:20:00,579 --> 01:20:02,870 Torej strojni kodi, je kaj stroji razumeli, seveda. 1598 01:20:02,870 --> 01:20:04,470 Izvorna koda je tisto, kar ljudje razumejo. 1599 01:20:04,470 --> 01:20:08,390 >> In na splošno, ne pa tudi vedno obstaja program 1600 01:20:08,390 --> 01:20:14,090 da programer uporablja, da je vir kodo in jo pretvori v strojno kodo. 1601 01:20:14,090 --> 01:20:17,400 In, da je program na splošno imenujemo prevajalnik. 1602 01:20:17,400 --> 01:20:19,820 Torej vaš vnos je izvorna koda, vaša proizvodnja je strojni kodi, 1603 01:20:19,820 --> 01:20:22,890 in prevajalnik je kos programska oprema, ki pa ta proces. 1604 01:20:22,890 --> 01:20:26,260 Torej, to dejansko karte lepo, da naši vhodi, algoritmi, izhodi. 1605 01:20:26,260 --> 01:20:30,400 >> Ampak to je zelo specifična inkarnacija od tega, kar pomeni, da, 1606 01:20:30,400 --> 01:20:34,200 tudi če ste lastnik enega od Volkswagen avtomobile, ki je kriv za to, 1607 01:20:34,200 --> 01:20:38,390 to ni všeč, si lahko samo odprete hood ali uporabnikovo priročnik odpreti ali iskati 1608 01:20:38,390 --> 01:20:42,690 Na izvorni kodi, saj s časom doseže svoj avto v svojem dvorišču, 1609 01:20:42,690 --> 01:20:45,580 to je že pretvori v 0 in 1 je. 1610 01:20:45,580 --> 01:20:51,310 In to je zelo težko, ne pa nemogoče, vendar zelo težko zbral veliko kaj 1611 01:20:51,310 --> 01:20:53,710 iz samo da si na podlaga 0 in 1-jev. 1612 01:20:53,710 --> 01:20:57,150 Tako da lahko ugotovimo, v končni fazi, če boste razumeli, kako stroj operates-- 1613 01:20:57,150 --> 01:20:59,870 Intel inside-- če razumete Intel arhitektura, 1614 01:20:59,870 --> 01:21:01,440 ampak to je zelo zamudno. 1615 01:21:01,440 --> 01:21:05,010 In tudi tam, boste morda ne bo mogel videti vse 1616 01:21:05,010 --> 01:21:08,220 da se lahko koda dejansko narediti. 1617 01:21:08,220 --> 01:21:12,521 >> Vsa vprašanja o tem, ali je to vrsta postopka bolj splošno? 1618 01:21:12,521 --> 01:21:15,134 1619 01:21:15,134 --> 01:21:18,300 In dejansko smo lahko tie to razpravo na včerajšnji razpravi Apple. 1620 01:21:18,300 --> 01:21:22,500 Tudi to je razlog, zakaj FBI ne more samo pojdi in poglej v osumljenca telefon 1621 01:21:22,500 --> 01:21:26,820 in najti vrstic kode, za primer, ki omogočajo geslo 1622 01:21:26,820 --> 01:21:28,940 ali omogočajo, da 80 milisekund zamudo. 1623 01:21:28,940 --> 01:21:31,630 Ker do takrat, ko je na kolegi iPhone, 1624 01:21:31,630 --> 01:21:34,975 to je že pretvori v 0 in 1 je. 1625 01:21:34,975 --> 01:21:38,015 1626 01:21:38,015 --> 01:21:40,820 >> No, premor tukaj za naše poglej računskega mišljenja. 1627 01:21:40,820 --> 01:21:42,320 Zakaj ne vzamemo 15 minut odmora. 1628 01:21:42,320 --> 01:21:44,130 In ko se vrnemo, bomo si oglejte programiranje 1629 01:21:44,130 --> 01:21:46,550 sama po sebi in začeti na zemljevid nekatere konceptov teh visoki ravni 1630 01:21:46,550 --> 01:21:49,780 do dejanskega, če igriv, programski jezik. 1631 01:21:49,780 --> 01:21:51,089