1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:01,790 DAVID Malan: Dobro došli natrag, svakoga. 3 00:00:01,790 --> 00:00:05,030 Tako je jučer, vi ćete se sjetiti da je usredotočili smo se na tim temama ovdje. 4 00:00:05,030 --> 00:00:08,380 Tako smo imali četiri krovni topics-- privatnost, sigurnost i društvo; 5 00:00:08,380 --> 00:00:11,960 Internetske tehnologije; računalni oblak; i na kraju, web development. 6 00:00:11,960 --> 00:00:14,170 >> Da li netko imati propusnost ili vrijeme 7 00:00:14,170 --> 00:00:16,900 gledati malo Ivan Oliver sinoć? 8 00:00:16,900 --> 00:00:20,120 To je zapravo prilično zabavno, ako ne i malo zastrašujuće. 9 00:00:20,120 --> 00:00:24,700 Bilo kakva pitanja o bilo čemu smo učinili jučer? 10 00:00:24,700 --> 00:00:27,600 Bilo pojašnjenja? 11 00:00:27,600 --> 00:00:35,580 Bilo kakva pitanja koje želite napraviti sigurni smo dotaknuti danas u nekom obliku? 12 00:00:35,580 --> 00:00:37,300 Dakle, čistim škriljevca. 13 00:00:37,300 --> 00:00:38,760 >> Zato što je na dnevnom redu za danas? 14 00:00:38,760 --> 00:00:41,301 Pa sam mislio da ćemo se početi već danas s pogledom na ono što je općenito 15 00:00:41,301 --> 00:00:44,460 poznat i kao računalna thinking-- na rizik od oversimplifying, misleći 16 00:00:44,460 --> 00:00:46,636 kao i računalo, možda razmišljati kao inženjer, 17 00:00:46,636 --> 00:00:48,510 i pokušava početi organizirati svoje misli 18 00:00:48,510 --> 00:00:52,039 ili vam dati bolji osjećaj što je uključen u zapravo naređuje 19 00:00:52,039 --> 00:00:54,080 računalo učiniti nešto putem programiranja. 20 00:00:54,080 --> 00:00:56,663 A mi ćemo ga držati na prilično na visokoj razini, prilično engleski, 21 00:00:56,663 --> 00:00:59,850 ali pokušajte koristiti od upoznat primjeri formalizirati način 22 00:00:59,850 --> 00:01:01,450 ti bi ići oko rješavanja problema. 23 00:01:01,450 --> 00:01:04,080 >> A mi ćemo ponovno neki CS teme, kao apstrakcije, 24 00:01:04,080 --> 00:01:06,040 koji je došao do nekoliko puta jučer, 25 00:01:06,040 --> 00:01:07,554 algoritmi, a zatim prikaz. 26 00:01:07,554 --> 00:01:09,720 I to je mjesto gdje ćemo početi danas u samo jednom trenutku. 27 00:01:09,720 --> 00:01:11,481 Onda ćemo pogledati programiranje. 28 00:01:11,481 --> 00:01:13,480 Mi ćemo pogledati neke temeljni konstrukti 29 00:01:13,480 --> 00:01:16,450 s kojom bi mogli biti upoznati a možda čak i pronaći vrlo intuitivno. 30 00:01:16,450 --> 00:01:18,370 >> Mi ćemo gledati, u stvari, na programiranje uzoraka 31 00:01:18,370 --> 00:01:21,244 okruženje koje je vrlo pristupačna, jako razigran, a zapravo ciljano 32 00:01:21,244 --> 00:01:22,555 za mlađe od 12 i više godina. 33 00:01:22,555 --> 00:01:25,930 Mi ćemo provesti nekoliko minuta tamo a onda se stvari na nižu razinu 34 00:01:25,930 --> 00:01:30,360 i zapravo govoriti o nekim od algoritmi i strukture podataka, 35 00:01:30,360 --> 00:01:32,360 da tako kažemo, da je programeri obično koriste 36 00:01:32,360 --> 00:01:35,040 za rješavanje problema daleko više učinkovitije nego što možda 37 00:01:35,040 --> 00:01:37,322 biti u mogućnosti to učiniti bez njih zajedno. 38 00:01:37,322 --> 00:01:40,280 Onda nakon ručka ćemo pogledati na tehnološke dimnjaka, što je upravo 39 00:01:40,280 --> 00:01:42,240 fancy način govoreći: zbirke tehnologija 40 00:01:42,240 --> 00:01:43,690 da bi mogli koristiti za riješiti neki problem. 41 00:01:43,690 --> 00:01:46,670 A mi ćemo govoriti o abecede juha od jezika koji postoje today-- 42 00:01:46,670 --> 00:01:50,930 Java i Python i C ++ i PHP i Ruby i sve vrste drugih stvari. 43 00:01:50,930 --> 00:01:53,740 >> Mi ćemo se pogled na kratko na dizajn obrazaca. 44 00:01:53,740 --> 00:01:57,730 Programeri, tijekom vremena, usvojili metodologije 45 00:01:57,730 --> 00:02:00,690 koji imaju tendenciju da im pomogne riješiti probleme lakše. 46 00:02:00,690 --> 00:02:04,390 Kada početi vidjeti sebe pisanje ista vrsta koda i opet, 47 00:02:04,390 --> 00:02:08,080 ljudi formalizirati ta ponavljanja i pripisuju nazivi za njih 48 00:02:08,080 --> 00:02:10,084 a zatim ih koristiti i promovirati ih, u konačnici. 49 00:02:10,084 --> 00:02:12,250 A mi ćemo govoriti malo o mobilnim strategijama, 50 00:02:12,250 --> 00:02:16,099 kao što to znači da zapravo napraviti mobilne aplikacije ili mobilne web stranice. 51 00:02:16,099 --> 00:02:17,140 Da li to učiniti za Android? 52 00:02:17,140 --> 00:02:17,730 Da li to učiniti za iOS? 53 00:02:17,730 --> 00:02:19,160 Da li to učiniti za oba od njih? 54 00:02:19,160 --> 00:02:20,326 A što su ustupke? 55 00:02:20,326 --> 00:02:23,180 I onda na kraju, mi ćemo se web programiranje izgled, koji je 56 00:02:23,180 --> 00:02:25,380 je zajednički naziv zapravo opisuje u bilo koje vrijeme 57 00:02:25,380 --> 00:02:28,410 pišete softver koji je značilo da se izvoditi na webu, 58 00:02:28,410 --> 00:02:30,430 da li na telefone ili stolna ili prijenosna računala. 59 00:02:30,430 --> 00:02:33,490 Mi ćemo uzeti kratak pogled na baze podataka i dizajn 60 00:02:33,490 --> 00:02:39,049 u njemu, ako je samo zato što je gotovo bilo Zanimljivo web-based aplikacija 61 00:02:39,049 --> 00:02:40,590 ovih dana ima neku vrstu baze podataka. 62 00:02:40,590 --> 00:02:42,380 Inače, to bi samo biti statični sadržaj. 63 00:02:42,380 --> 00:02:45,254 I baza podataka omogućuje da napravite Promjene tijekom vremena, bilo da se sami 64 00:02:45,254 --> 00:02:45,960 ili od korisnika. 65 00:02:45,960 --> 00:02:47,820 A mi ćemo razmisliti o tome kako ste će ići o projektiranju 66 00:02:47,820 --> 00:02:50,510 da baza podataka i vrsta žargona koji bi mogli doći u jedan inženjer-a 67 00:02:50,510 --> 00:02:52,790 Rasprava na bijeloj ploči kada je zapravo provedbi 68 00:02:52,790 --> 00:02:53,900 aplikacija za prvi put. 69 00:02:53,900 --> 00:02:57,002 >> Kratko ćemo govoriti o API-ovi, korisne usluge 70 00:02:57,002 --> 00:02:59,960 koje možete koristiti da stoje na ramena drugih, bilo tvrtki 71 00:02:59,960 --> 00:03:02,619 ili pojedinci, i riješiti svoje vlastiti problemi brže. 72 00:03:02,619 --> 00:03:04,785 A onda ćemo poprskati možda malo s JavaScriptom, 73 00:03:04,785 --> 00:03:08,900 programski jezik koji se koristi kako u preglednicima ovih dana, ali i 74 00:03:08,900 --> 00:03:09,820 u poslužiteljima. 75 00:03:09,820 --> 00:03:11,890 A možda, mi ćemo ponovo, vrijeme dopusti, 76 00:03:11,890 --> 00:03:15,670 neki od praktičnih web stuff mi jučer i integrirati dva 77 00:03:15,670 --> 00:03:17,630 zajedno prije nego što smo odgoditi. 78 00:03:17,630 --> 00:03:22,380 >> Tako je s that-- što je ahead-- je Postoji li nešto nedostaje da vas 79 00:03:22,380 --> 00:03:26,289 Željeli bismo bili sigurni da ćemo umetnuti i dotaknuti u nekom trenutku. 80 00:03:26,289 --> 00:03:28,330 Ako je opruga na pamet, dovesti ga pred dugo. 81 00:03:28,330 --> 00:03:32,010 No, zašto ne bismo početi s pogledajte računalnom razmišljanja. 82 00:03:32,010 --> 00:03:35,420 >> I neka mi predlažemo da računalna razmišljanje je, opet, 83 00:03:35,420 --> 00:03:38,830 vrsta opisa na visokoj razini što računalni znanstvenik mogao učiniti. 84 00:03:38,830 --> 00:03:42,470 I doista, počnimo s tri sastojaka koji 85 00:03:42,470 --> 00:03:44,207 možda ići u računalnom razmišljanja. 86 00:03:44,207 --> 00:03:45,790 Ovo je samo jedan od načina da opisuje. 87 00:03:45,790 --> 00:03:48,490 Mi smo svakako mogli definirati to na bilo koji broj načina. 88 00:03:48,490 --> 00:03:50,630 >> Ali neka mi predloži, radi i danas, 89 00:03:50,630 --> 00:03:53,910 koji svjetskih problema, sve svjetske probleme, 90 00:03:53,910 --> 00:03:56,730 kad prilazi računalni znanstvenik mogao 91 00:03:56,730 --> 00:04:00,990 može promatrati kao što ćemo poziva ulaza, koji se 92 00:04:00,990 --> 00:04:08,142 treba da se uvodi u ono što ćemo nazvati algoritmi, koji je tada Prinos izlaza. 93 00:04:08,142 --> 00:04:10,600 Drugim riječima, cijeli Svijet rješavanja problema Tvrdim 94 00:04:10,600 --> 00:04:13,140 može destilirati u ove tri namirnice. 95 00:04:13,140 --> 00:04:14,450 Što mislim pod ulaza? 96 00:04:14,450 --> 00:04:17,060 Ulazi je upravo ono što si predao kako bi se riješio. 97 00:04:17,060 --> 00:04:20,052 >> Na primjer, ovdje je stari problem škola. 98 00:04:20,052 --> 00:04:22,760 Ako imam telefonski imenik ovdje i Želim pogledati nešto u nju, 99 00:04:22,760 --> 00:04:23,760 ovo je moj ulaz. 100 00:04:23,760 --> 00:04:26,260 Imam 1000 ili tako stranice u telefonski imenik. 101 00:04:26,260 --> 00:04:27,780 Ovo je ulaz za moj problem. 102 00:04:27,780 --> 00:04:31,507 I želim naći nešto kao što su Mike Smith, pa prijatelju 103 00:04:31,507 --> 00:04:33,840 čije ime i broj nadamo se u ovom adresaru. 104 00:04:33,840 --> 00:04:36,430 >> To je prije dana stanici telefon, tako da mogu ne samo potražiti. 105 00:04:36,430 --> 00:04:38,540 Dakle, moram to učiniti stara škola i zapravo za pretraživanje 106 00:04:38,540 --> 00:04:41,331 te ulazi za neki odgovor. 107 00:04:41,331 --> 00:04:43,580 I to je odgovor samo ide da se zove izlaz. 108 00:04:43,580 --> 00:04:44,871 Dakle, ulaz je telefonski imenik. 109 00:04:44,871 --> 00:04:47,787 Algoritam je god set koraci mogu koristiti kako bi pronašli Mike Smith. 110 00:04:47,787 --> 00:04:50,120 A izlaz je, nadamo se, Mike Smith je broj telefona. 111 00:04:50,120 --> 00:04:52,703 A to onda će biti samo Predstavnik većini bilo problema 112 00:04:52,703 --> 00:04:55,210 da s vama su uručio ulazi i želite proizvode izlaza. 113 00:04:55,210 --> 00:04:59,459 >> Dakle, prije nego što smatramo proces na koji možemo riješiti taj problem, 114 00:04:59,459 --> 00:05:01,250 pronalaženje Mike Smith i nešto kao to, 115 00:05:01,250 --> 00:05:04,090 Razmotrimo prvo i su last-- ulaza i izlaza. 116 00:05:04,090 --> 00:05:08,060 Fizički, naravno, ulaz ovdje je cijela hrpa papira slijepljena 117 00:05:08,060 --> 00:05:09,400 u obliku telefonski imenik. 118 00:05:09,400 --> 00:05:13,660 No, računala, od course-- prijenosna računala i stolna računala, pa čak i telefoni 119 00:05:13,660 --> 00:05:16,430 to days-- to su elektronički uređaji. 120 00:05:16,430 --> 00:05:20,920 >> I na kraju dana, što je jedini ulaz na računalo? 121 00:05:20,920 --> 00:05:23,299 Pa, to je nešto poput ovo napajanje ovdje. 122 00:05:23,299 --> 00:05:25,590 Ja ga uključite u zid, a JA dobiti protok elektrona, 123 00:05:25,590 --> 00:05:27,048 koja mi omogućuje da pokretanje stroja. 124 00:05:27,048 --> 00:05:30,420 Ili možda oni elektroni stvorena na način moje baterije. 125 00:05:30,420 --> 00:05:33,790 No, na kraju dana, to je jedina stvar koja ide u moj laptop. 126 00:05:33,790 --> 00:05:35,772 A toliko zanimljivo stvar je u konačnici 127 00:05:35,772 --> 00:05:37,480 izlazi, da li putem pisača 128 00:05:37,480 --> 00:05:40,320 ili zaslon ili audially ili slično. 129 00:05:40,320 --> 00:05:45,320 >> Dakle, ako svi imamo kao naš Temeljni ulaz na računalo 130 00:05:45,320 --> 00:05:49,160 je struja, pa samo elektroni ulaze i ili van, 131 00:05:49,160 --> 00:05:54,465 pa kako možemo koristiti taj ulaz zapravo predstavlja podatke? 132 00:05:54,465 --> 00:05:57,090 Drugim riječima, kako ćemo dobiti od jednostavnog toka struje 133 00:05:57,090 --> 00:06:00,350 da predstavlja stvarni brojevi ili stvarni slova 134 00:06:00,350 --> 00:06:03,620 ili stvarne slike na ekranu ili stvarne filmove ili e-mail 135 00:06:03,620 --> 00:06:05,690 ili bilo koji broj ovih Viši koncepti razini, 136 00:06:05,690 --> 00:06:07,680 ako hoćete, da, ako Kraj je dana nekako 137 00:06:07,680 --> 00:06:11,950 moraju biti pohranjeni u ovom elektronički mehanički uređaj 138 00:06:11,950 --> 00:06:16,260 koristeći samo one jednostavne ingredients-- elektroni ulaze i izlaze? 139 00:06:16,260 --> 00:06:19,530 >> Dakle, čini se da je, u najjednostavnijem obliku, 140 00:06:19,530 --> 00:06:23,260 jedina država Imam u mom svijetu, pa 141 00:06:23,260 --> 00:06:25,350 da speak-- uvjete u moj svijet-je ili 142 00:06:25,350 --> 00:06:33,020 Imam elektroni teku, struja teče, ili ja not-- tako dalje, off. 143 00:06:33,020 --> 00:06:35,850 I neka je formalizirati i isključivanje, kao računalni znanstvenik može, 144 00:06:35,850 --> 00:06:37,255 sa samo 1 i 0. 145 00:06:37,255 --> 00:06:39,880 Recimo samo opisati neke proizvoljne ali u skladu broj na njega. 146 00:06:39,880 --> 00:06:41,970 1 znači dalje, 0 znači off. 147 00:06:41,970 --> 00:06:45,427 Ili možda i smatraju to pravi način na i lažni sredstva. 148 00:06:45,427 --> 00:06:47,510 Također se može napraviti crno bijela ili crvena i plava. 149 00:06:47,510 --> 00:06:48,759 Vi samo trebate dva opise. 150 00:06:48,759 --> 00:06:52,240 I računala Znanstvenici bi uglavnom samo koristiti 0 i 1. 151 00:06:52,240 --> 00:06:58,980 >> Dakle, ako je to slučaj, moja jedina abecede se sastoji od 0-a i 1-a, kako je 152 00:06:58,980 --> 00:07:03,360 bih mogao dobiti da se čak i broj 2 u računalo, a kamoli broj 3 153 00:07:03,360 --> 00:07:06,140 ili slovo abecede ili slika ili film? 154 00:07:06,140 --> 00:07:08,910 Kako vrsta dizanje sami od ovog osnovnog principa 155 00:07:08,910 --> 00:07:12,080 od 0-a i 1-a i zapravo predstavlja nešto zanimljivije? 156 00:07:12,080 --> 00:07:14,430 >> Pa, neka je stavi na to pitanje na čekanju samo na trenutak 157 00:07:14,430 --> 00:07:17,520 i uzeti u obzir nešto nadam se upoznat, 158 00:07:17,520 --> 00:07:21,150 čak i ako niste stvarno mislio o na bilo pojedinosti za 10, 20, 30, 40, 50 159 00:07:21,150 --> 00:07:22,520 više godina. 160 00:07:22,520 --> 00:07:24,780 To je što? 161 00:07:24,780 --> 00:07:28,050 Kako bi se izgovaraju to? 162 00:07:28,050 --> 00:07:30,770 Nije trik pitanje. 163 00:07:30,770 --> 00:07:32,950 Brojni, ali što je to? 164 00:07:32,950 --> 00:07:34,842 1, 2, 3 ili 123. 165 00:07:34,842 --> 00:07:37,800 I ja sam volio kako si rekao 1, 2, 3, jer to je jedan od načina da ga gledaju. 166 00:07:37,800 --> 00:07:39,870 1, 2, 3, to je slijed tri simbola. 167 00:07:39,870 --> 00:07:42,005 To je slika koju sada imaju riječi za. 168 00:07:42,005 --> 00:07:44,880 A ako na neki način ih sve pročitati zajedno, tipičan ljudski na engleskom jeziku 169 00:07:44,880 --> 00:07:46,600 bih 123. 170 00:07:46,600 --> 00:07:48,350 I to je neka vrsta viši pojam razini, 171 00:07:48,350 --> 00:07:50,340 osjeća kao razumno velikom broju. 172 00:07:50,340 --> 00:07:51,490 >> No, kako ćemo stići tamo? 173 00:07:51,490 --> 00:07:54,640 Pa, to bi moglo biti neko vrijeme jer ste sanjali o tome, kao što je ovaj, 174 00:07:54,640 --> 00:07:56,680 ali natrag u moj dan, ja vrsta saznaje 175 00:07:56,680 --> 00:08:01,030 što kolumne +1, a 10 je stupac, a od 100 stup. 176 00:08:01,030 --> 00:08:06,400 Dakle, kao Lakisa kaže, to je 1, 2, 3, ali je isto tako 123. 177 00:08:06,400 --> 00:08:08,700 No, kako smo dobili od bivši potonje? 178 00:08:08,700 --> 00:08:12,340 >> Pa, što bi obično učiniti u Kolona od 100-a, imam 1. 179 00:08:12,340 --> 00:08:14,794 Dakle, to je kao da kažeš 100 puta 1. 180 00:08:14,794 --> 00:08:16,210 A onda se u kolonu 10 a, Imam 2. 181 00:08:16,210 --> 00:08:18,464 Dakle, to je kao da kažeš 10 puta 2. 182 00:08:18,464 --> 00:08:19,630 U stupcu 1-a, imam 3. 183 00:08:19,630 --> 00:08:21,720 Dakle, to je kao da kažete 1 puta 3. 184 00:08:21,720 --> 00:08:24,290 >> A ako dodam te stvari zajedno, to, naravno, 185 00:08:24,290 --> 00:08:27,470 100 plus 10 plus tri. 186 00:08:27,470 --> 00:08:31,750 I oh, to je razlog zašto sam se toga viša razina pojam od 123. 187 00:08:31,750 --> 00:08:37,220 To je samo osnovna matematika, pri čemu se ovi Simboli imaju utege na njih, ako vas 188 00:08:37,220 --> 00:08:39,620 će, rezervirano mjesto ili vrijednosti stupca. 189 00:08:39,620 --> 00:08:42,090 I kad sam umnožiti sve van, ja dobiti taj broj. 190 00:08:42,090 --> 00:08:47,840 >> Dakle, koliko od vas zna govoriti binary-- 0 a i 1's-- kao i računalo? 191 00:08:47,840 --> 00:08:50,410 OK, savršen, nitko, ili nitko od vas ne misliš. 192 00:08:50,410 --> 00:08:52,550 Ali ja bih ti tvrditi zapravo to znaju već. 193 00:08:52,550 --> 00:08:55,330 Mi samo trebate vrsta ugađanje naš mentalni model malo. 194 00:08:55,330 --> 00:08:57,250 No, proces je isti. 195 00:08:57,250 --> 00:09:01,460 >> Pusti me da odem ovaj tamo i umjesto povući ovaj dolje za trenutak. 196 00:09:01,460 --> 00:09:05,060 U svijetu računala, imamo samo 0-a i 1-a. 197 00:09:05,060 --> 00:09:07,240 I tako je stvar koja je će se promijeniti je što? 198 00:09:07,240 --> 00:09:10,920 Pa, u mom ljudskom svijetu, decimalni sustav, prosinac značenje 10, 199 00:09:10,920 --> 00:09:12,740 Imam koliko god brojeva na mom raspolaganju? 200 00:09:12,740 --> 00:09:15,270 201 00:09:15,270 --> 00:09:16,540 10, zar ne? 202 00:09:16,540 --> 00:09:17,880 0 do 9, naravno. 203 00:09:17,880 --> 00:09:21,210 >> I to je razlog zašto imamo 10 je mjesto i 100-mjesto. 204 00:09:21,210 --> 00:09:22,380 Gdje se to dolazi? 205 00:09:22,380 --> 00:09:24,430 Pa, ovo je 10 na snazi ​​od 0. 206 00:09:24,430 --> 00:09:28,440 To je 10 na snagu od 1, 10 na moć 2, i tako dalje. 207 00:09:28,440 --> 00:09:32,110 Vi samo držati množenjem stupaca 10, počinje sa samo jednom 208 00:09:32,110 --> 00:09:33,700 u krajnju desnu se ovdje. 209 00:09:33,700 --> 00:09:35,490 >> Tako je u svijetu računala, ako samo 210 00:09:35,490 --> 00:09:39,600 imaju binary-- dvo značenje 2-- ili 0-a i 1-a, samo mi 211 00:09:39,600 --> 00:09:42,420 stvarno treba mijenjati baza te matematike. 212 00:09:42,420 --> 00:09:46,410 Dakle, drugim riječima, sada ćemo samo ima kolumnu u 1 i the-- 213 00:09:46,410 --> 00:09:51,270 gdje je to going-- kolumne 2-a, U 4 stup, a možda i šire. 214 00:09:51,270 --> 00:09:52,250 Zašto je to? 215 00:09:52,250 --> 00:09:55,650 Pa, ovo je dvoje od 0-og moći. 216 00:09:55,650 --> 00:09:57,270 Ovo je 2, 1. 217 00:09:57,270 --> 00:09:59,610 To je 2 do 2, i tako dalje. 218 00:09:59,610 --> 00:10:04,910 >> Dakle, dok ovdje imamo 1, 10 a, 100 a, 1.000 a, 10.000 a, 100.000-a, jedan 219 00:10:04,910 --> 00:10:10,560 milijuni, i tako dalje, ovdje imamo 1, 2, 4, 8, 16, 32, 64. 220 00:10:10,560 --> 00:10:13,950 Vi samo držati množenjem s 2, umjesto da zadrži pomnoži sa 10. 221 00:10:13,950 --> 00:10:16,780 Tako sada, ako je cilj na ruka za zastupanje 222 00:10:16,780 --> 00:10:20,240 brojevi koriste samo 0-a i 1-a, neka je uzeti u obzir kako smo se tamo. 223 00:10:20,240 --> 00:10:26,540 >> To je, naravno, je uzorak 0 0 0, ali ono broj konceptualno 224 00:10:26,540 --> 00:10:27,490 to predstavlja? 225 00:10:27,490 --> 00:10:35,430 Pa, 4 puta 0 plus 2 puta 0 plus 1 puta 0, dodajmo one zajedno. 226 00:10:35,430 --> 00:10:40,030 4 puta 0 je, naravno, 0, plus 2 Vremenska 0 je, naravno, 0 plus 1 puta 0 227 00:10:40,030 --> 00:10:40,850 je, naravno, 0. 228 00:10:40,850 --> 00:10:44,910 Dakle, ah, to predstavlja broj mi ljudi znaju kao 0. 229 00:10:44,910 --> 00:10:47,810 >> Pa, sad, neka je vrlo Brzo premotavanje prema naprijed. 230 00:10:47,810 --> 00:10:53,600 Ako sam umjesto toga ne predstavlja 0 0 0, ali neka je to 1 0 1, 231 00:10:53,600 --> 00:10:57,010 koja bi mogla biti kako Lakisa, ranije, bi samo 1 0 1 izgovoriti. 232 00:10:57,010 --> 00:11:01,020 Ali sada, kako ćemo ga odvesti na viši razini broj mi ljudi mogli znati? 233 00:11:01,020 --> 00:11:04,220 Pa što je ovo broj? 234 00:11:04,220 --> 00:11:06,060 To je 5, broj znamo kao 5. 235 00:11:06,060 --> 00:11:06,870 >> Pa, zašto je to tako? 236 00:11:06,870 --> 00:11:09,620 Pa, možemo zapravo vrsta hodati kroz njega metodički 237 00:11:09,620 --> 00:11:14,880 4 puta 1, 2 puta 0, 1 puta 1. 238 00:11:14,880 --> 00:11:19,880 Dodaj oni zajedno, tako to je 4 plus 0 plus jedan. 239 00:11:19,880 --> 00:11:21,577 I to je, doista, 5. 240 00:11:21,577 --> 00:11:24,660 Dakle, to je sve malo zamorno sada i opet radi aritmetiku. 241 00:11:24,660 --> 00:11:26,300 No, proces je isti. 242 00:11:26,300 --> 00:11:28,380 >> Jedina stvar koja je promijenilo u našem svijetu 243 00:11:28,380 --> 00:11:32,740 je da naši stupci 1, 2, 4, 8, 16, i tako dalje, umjesto 1, 10, 100, 244 00:11:32,740 --> 00:11:33,740 1000. 245 00:11:33,740 --> 00:11:40,000 A to je samo zato što je naša abeceda ima smanjio od 0 do 9 i samo 0-1. 246 00:11:40,000 --> 00:11:50,851 >> Dakle, kao malo kviz ovdje, kako bi što predstavlja broj 7 u binarnom? 247 00:11:50,851 --> 00:11:51,350 0? 248 00:11:51,350 --> 00:11:53,490 Pa, 0, što znači 0 0 0? 249 00:11:53,490 --> 00:11:58,140 250 00:11:58,140 --> 00:11:59,693 Reci to opet, Karina. 251 00:11:59,693 --> 00:12:03,010 252 00:12:03,010 --> 00:12:03,550 Savršen. 253 00:12:03,550 --> 00:12:04,370 Zašto je to? 254 00:12:04,370 --> 00:12:08,530 To je učinkovito 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 ćemo predstavljati malo another-- kako o broju 2? 257 00:12:14,364 --> 00:12:18,360 258 00:12:18,360 --> 00:12:20,690 Blizu, ali unatrag. 259 00:12:20,690 --> 00:12:21,660 Pa što je ovo? 260 00:12:21,660 --> 00:12:26,290 Je 4 plus 1, tako da je 5 ponovo. 261 00:12:26,290 --> 00:12:28,310 >> Tako what's-- Žao 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 će biti 2, jer opet, čak i ako je to vrsta ne iskočiti na vas, 264 00:12:34,762 --> 00:12:35,470 samo učiniti math. 265 00:12:35,470 --> 00:12:40,390 4 puta 0, 0, 2 puta 1 2, 1 puta 0 je 0. 266 00:12:40,390 --> 00:12:42,830 Dakle, ovo je broj znamo kao 2. 267 00:12:42,830 --> 00:12:44,030 >> Kako o broju 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 treba još jedan rezervirano mjesto. 272 00:12:56,130 --> 00:12:59,570 Trebamo 1 0 0 0. 273 00:12:59,570 --> 00:13:02,280 I to je istina naše vrste stare škole decimalnog sustava. 274 00:13:02,280 --> 00:13:05,280 Kako predstavljaju broj 1000? 275 00:13:05,280 --> 00:13:08,480 >> Pa, čini se da vrsta u teškoj poziciji, 276 00:13:08,480 --> 00:13:10,390 ako vas pitati za zastupanje broj 1000, 277 00:13:10,390 --> 00:13:14,960 jer čak i ako se daju kao 9 od tih, 9 od njih, 0 od tih, 278 00:13:14,960 --> 00:13:18,730 što je najveći broj koji ste ima, nisi sasvim doći do 1000. 279 00:13:18,730 --> 00:13:26,920 Dakle, ako vas 1.000, trebate samo još jedna položaju, tako da možete napraviti 1 0 0 0, 280 00:13:26,920 --> 00:13:29,460 ergo broj 1000. 281 00:13:29,460 --> 00:13:34,200 >> Tako sada, neka je preslikati ovu vrstu konceptualni raspravu natrag na hardver, 282 00:13:34,200 --> 00:13:37,470 gdje se opet, ulaz je bio samo ovaj mali kabel za napajanje, struja 283 00:13:37,470 --> 00:13:39,300 dolaze i teče. 284 00:13:39,300 --> 00:13:44,740 I tako da bi se preslikati odavde tamo, dobro, što nam je zaista potrebno? 285 00:13:44,740 --> 00:13:49,460 Pa, možete misliti da su unutar jednog računalo, cijela hrpa žarulja, 286 00:13:49,460 --> 00:13:50,450 Ako hoćeš. 287 00:13:50,450 --> 00:13:52,040 Oni su stvarno Nazivaju tranzistora. 288 00:13:52,040 --> 00:13:55,121 I tranzistori su samo prebacuje koja može biti uključena ili isključena. 289 00:13:55,121 --> 00:13:56,870 Tako možete misliti na tranzistor koji je na 290 00:13:56,870 --> 00:14:00,730 dopušta struja teče i tranzistor koji je isključen kao zaustavljanje 291 00:14:00,730 --> 00:14:02,170 struja teče. 292 00:14:02,170 --> 00:14:04,130 I umjesto da nad svjetlima ovdje, 293 00:14:04,130 --> 00:14:06,450 zašto mi ne napraviti ovu vrstu nove školske stilu. 294 00:14:06,450 --> 00:14:11,360 Dakle, to bi moglo biti 1, svjetiljku što dalje, samo jedva ipak. 295 00:14:11,360 --> 00:14:14,050 A to može biti 0, a sada je isključen. 296 00:14:14,050 --> 00:14:18,277 >> Dakle, pomoću ovog fizičkog uređaja, sam Sada možete predstavlja binarni sustav. 297 00:14:18,277 --> 00:14:19,235 Trebam dvije države. 298 00:14:19,235 --> 00:14:21,660 Nije važno što boja je ili što je to. 299 00:14:21,660 --> 00:14:25,920 Sve što je bitno je da imam jedna država, a druga državna off. 300 00:14:25,920 --> 00:14:30,605 Dakle, koristeći svoj telefon ovdje, kako mogu predstavljaju broj znamo kako je 0? 301 00:14:30,605 --> 00:14:34,490 302 00:14:34,490 --> 00:14:38,550 Ili stavi ekvivalentno, što Broj Am I predstavlja sada? 303 00:14:38,550 --> 00:14:39,810 0, jer je uređaj isključen. 304 00:14:39,810 --> 00:14:41,560 >> I ako ja to učiniti? 305 00:14:41,560 --> 00:14:43,583 A sada, kako mogu predstavljaju broj 2? 306 00:14:43,583 --> 00:14:46,380 307 00:14:46,380 --> 00:14:50,930 Mogu li posuditi vaš telefon Ovdje, kao što smo jučer? 308 00:14:50,930 --> 00:14:58,490 Pa da vidimo, pa ako želim da predstavljaju broj 2, to je broj 2? 309 00:14:58,490 --> 00:14:59,050 Ne. 310 00:14:59,050 --> 00:15:02,250 Koji broj sam ja slučajno predstavlja ovdje? 311 00:15:02,250 --> 00:15:03,550 To je zapravo broj 3. 312 00:15:03,550 --> 00:15:05,008 >> Zato što neki ne želim isključiti? 313 00:15:05,008 --> 00:15:09,634 Crni telefon or-- dobro, ako they're-- crni telefon ili bijeli telefon? 314 00:15:09,634 --> 00:15:10,300 Bijeli telefon. 315 00:15:10,300 --> 00:15:17,020 Dakle, ako sam to isključio i mi linija ga ovdje, imamo jedan 316 00:15:17,020 --> 00:15:19,487 U 2. mjestu i 0 u za 1 mjesto. 317 00:15:19,487 --> 00:15:21,195 I tako sam sad predstavlja broj 2. 318 00:15:21,195 --> 00:15:24,680 A to je, naravno, bio bi broj 3, jer sad oba ta svjetla 319 00:15:24,680 --> 00:15:25,350 su dalje. 320 00:15:25,350 --> 00:15:27,480 >> A ja ću stati ovdje, ali to ima smisla 321 00:15:27,480 --> 00:15:31,100 ako želim da predstavljaju broj 4 ili 8 ili noviji, 322 00:15:31,100 --> 00:15:32,529 Ja ću trebati više telefona. 323 00:15:32,529 --> 00:15:33,820 No, to je sve što se događa. 324 00:15:33,820 --> 00:15:37,800 Dakle, ako ste ikad čuli da unutar A- zahvaliti you-- računala 325 00:15:37,800 --> 00:15:42,269 milijune tranzistora, to je samo milijuni sitnih malih prekidača. 326 00:15:42,269 --> 00:15:44,310 A oni ne svjetlost lukovice koje uključivanje i isključivanje, 327 00:15:44,310 --> 00:15:48,340 ali oni ili ne dopuštaju struju teći negdje ili zaustavi. 328 00:15:48,340 --> 00:15:52,140 I tako ima svoje dvije states-- ili isključiti, uključiti ili isključiti. 329 00:15:52,140 --> 00:15:55,730 >> Tako smo se čini sada da imaju tu sposobnost 330 00:15:55,730 --> 00:16:00,590 da predstavljaju ovaj koncept koji željeli bismo u stvarnom hardver. 331 00:16:00,590 --> 00:16:05,520 No, sve što imamo je mogućnost da predstavljaju brojeve Čini se. 332 00:16:05,520 --> 00:16:08,580 Pa kako ćemo ići o predstavlja slova abecede, koje 333 00:16:08,580 --> 00:16:12,310 osjeća kao sljedeći vrste osobina koju bi htio dodati na modernom računalu 334 00:16:12,310 --> 00:16:14,280 nakon što su brojevi? 335 00:16:14,280 --> 00:16:16,930 >> I doista, ako mislite o tome IT, povijesno, računala 336 00:16:16,930 --> 00:16:19,426 uvedene su stvarno služiti kao Kada izračunate numerički. 337 00:16:19,426 --> 00:16:21,300 Ali, naravno, to dana, oni učiniti mnogo više. 338 00:16:21,300 --> 00:16:23,799 Čak i kad su dignuti, ti obično vide jednu ili više riječi. 339 00:16:23,799 --> 00:16:27,420 Pa kako se predstavljaju riječi, ako je sve što imate je, opet, 340 00:16:27,420 --> 00:16:31,054 električne energije na kraju od dan, ili ekvivalentno 0 a i 1-a? 341 00:16:31,054 --> 00:16:34,430 342 00:16:34,430 --> 00:16:35,690 >> Da. 343 00:16:35,690 --> 00:16:38,320 Da, mislim, mi vrsta učinili to jučer u nekom obliku, 344 00:16:38,320 --> 00:16:40,200 gdje je u nekom trenutku, Mislim da samovoljno 345 00:16:40,200 --> 00:16:46,741 rekao je da, ako želimo da predstavljaju slovo A, upravo smo mogli nazvati u 1. 346 00:16:46,741 --> 00:16:49,990 Bilo je to u kontekstu kriptografije, gdje smo samo trebao nekakav kod, 347 00:16:49,990 --> 00:16:51,160 neka vrsta mapiranje. 348 00:16:51,160 --> 00:16:56,680 >> Dakle, možda će biti predstavljen kao 1 i B bit će prikazan kao 2, 349 00:16:56,680 --> 00:17:01,560 i Z će biti zastupljena kao 26, na primjer. 350 00:17:01,560 --> 00:17:07,430 A onda je jedini Upozoravamo vas da ako sam ide za kodiranje slova u moje e-mailove 351 00:17:07,430 --> 00:17:10,430 ili u mojim SMS poruka brojeva, sve što 352 00:17:10,430 --> 00:17:12,640 se složiti da koristite Isti skup konvencija. 353 00:17:12,640 --> 00:17:14,619 I doista, svijet je učinio upravo to. 354 00:17:14,619 --> 00:17:18,040 >> Tu je i sustav u svijetu pod nazivom ASCII American Standard 355 00:17:18,040 --> 00:17:21,640 Kod za razmjene informacija, koji je jednostavno rješenje prije nekoliko godina 356 00:17:21,640 --> 00:17:25,720 Prije da su ljudi napravili da odlučili da će biti jednak, a ne 357 00:17:25,720 --> 00:17:32,260 1, 2 i 26, tako da je forth-- Malo different-- ali 65, 66, 67. 358 00:17:32,260 --> 00:17:34,010 A ja ću podići grafikon u samo jednom trenutku. 359 00:17:34,010 --> 00:17:34,580 Ali to je proizvoljna. 360 00:17:34,580 --> 00:17:36,329 No, to nije važno da je proizvoljna. 361 00:17:36,329 --> 00:17:38,620 Svijet mora samo biti dosljedan. 362 00:17:38,620 --> 00:17:40,540 >> Sada, u novije vrijeme, ima nešto raskošnije 363 00:17:40,540 --> 00:17:45,430 naziva Unicode, jer svjetske vrste od shvatio, nakon izmišljanje računala, 364 00:17:45,430 --> 00:17:50,977 da postoji više nego dobro 256 simboli u svijetu 365 00:17:50,977 --> 00:17:53,560 da smo možda žele zastupati, pogotovo kada se uvedu 366 00:17:53,560 --> 00:17:58,420 Azijski jezici i druge symbologies da je potrebno više ekspresivnost od vas 367 00:17:58,420 --> 00:18:02,150 može stati u najranijoj verziji ovaj kod, koji je nazvan ASCII. 368 00:18:02,150 --> 00:18:05,250 Dakle, Unicode zapravo omogućuje korištenje više 0 a i dva. 369 00:18:05,250 --> 00:18:08,830 Konkretno, drži Čuvši Riječ bajtova u društvu, pa čak i samo 370 00:18:08,830 --> 00:18:09,400 jučer. 371 00:18:09,400 --> 00:18:12,040 I bajt je ono opet? 372 00:18:12,040 --> 00:18:14,840 >> Što je bajt? 373 00:18:14,840 --> 00:18:15,700 To je samo 8 bita. 374 00:18:15,700 --> 00:18:17,150 Dakle, što to zapravo znači? 375 00:18:17,150 --> 00:18:22,400 Pa, to znači, ranije, kad smo bili govori o binarne i sam bio koristeći 376 00:18:22,400 --> 00:18:28,010 samovoljno tri bita kad smo bili govori o binary-- na 1 mjesto, 377 00:18:28,010 --> 00:18:33,600 U 2 je mjesto, a 4 je mjesto-- dobro, bajt samo znači da ste se govori 378 00:18:33,600 --> 00:18:38,730 ne u jedinicama tri, ali četiri, pet, šest, sedam i osam godina, 379 00:18:38,730 --> 00:18:46,910 što nam daje 8 mjesto, 16-a, 32-a, 64-a, a 128 je. 380 00:18:46,910 --> 00:18:50,010 >> Drugim riječima, što je nešto nije sve da je korisno jedinica mjere, 381 00:18:50,010 --> 00:18:53,132 jer to je samo kao jedan maleni malo podatak, ili isključiti. 382 00:18:53,132 --> 00:18:54,840 Dakle, prije nekoliko godina, svijet jednostavno odlučio 383 00:18:54,840 --> 00:18:59,060 to je malo više prikladan za razgovor u Uvjeti bajtova, osam stvari u isto vrijeme. 384 00:18:59,060 --> 00:19:01,670 I tako tako je rođena pojam bajt. 385 00:19:01,670 --> 00:19:03,640 I tako imamo osam bitova ovdje. 386 00:19:03,640 --> 00:19:06,810 >> I ispostavilo se, također, za slično Razlozi, svijet je odlučio godina 387 00:19:06,810 --> 00:19:12,439 Prije koji se predstavljaju ASCII pismo, ideš koristiti jedinice od 8 bitova. 388 00:19:12,439 --> 00:19:14,230 Dakle, čak i ako ne potrebno da se mnogi, ti si 389 00:19:14,230 --> 00:19:18,130 Uvijek ćete koristiti 8 bita predstavljaju slovo abecede. 390 00:19:18,130 --> 00:19:20,950 A to je zgodan, jer ako onda 391 00:19:20,950 --> 00:19:28,720 primiti poruku koja ima 0 0 0 1 1 1 1 0 nakon čega slijedi još jedan 1 1 1 0 1 0 392 00:19:28,720 --> 00:19:33,320 0 1, tako da ako ste primili 16 bita, svijet jednostavno ne može 393 00:19:33,320 --> 00:19:37,460 pretpostaviti da je prvi 8 jedno slovo a drugi 8 su još jedno pismo. 394 00:19:37,460 --> 00:19:39,240 >> Nije bitno koliko ih ima. 395 00:19:39,240 --> 00:19:41,460 To je samo važno da svi smo dosljedni 396 00:19:41,460 --> 00:19:42,950 kada smo tumačenje tih bitova. 397 00:19:42,950 --> 00:19:44,377 A to je bio samo slučajan. 398 00:19:44,377 --> 00:19:47,210 To znači nešto, ali nisam zaista misle o tome što to znači. 399 00:19:47,210 --> 00:19:49,620 >> Dakle, to je mala bijela laž. 400 00:19:49,620 --> 00:19:51,990 Izvorno, ASCII zapravo koristi samo 7 bitova. 401 00:19:51,990 --> 00:19:54,180 I osmi malo je naziva prošireni ASCII. 402 00:19:54,180 --> 00:19:56,290 Ali stvar je, na kraju, isto. 403 00:19:56,290 --> 00:19:58,850 U svijetu općenito standardizirana na 8 bita. 404 00:19:58,850 --> 00:20:04,290 >> Tako će to činiti se biti malo ograničavanja, jer ja mogu samo 405 00:20:04,290 --> 00:20:07,970 predstavlja kapitalu, kapital B preko glavnog Z. 406 00:20:07,970 --> 00:20:10,940 Ali zaista ne, ako idem to-- postoji hrpa resursa 407 00:20:10,940 --> 00:20:13,695 mreži, na primjer, asciitable.com, ovaj 408 00:20:13,695 --> 00:20:16,310 će biti malo neodoljiv na prvom mjestu. 409 00:20:16,310 --> 00:20:18,910 Ali ja ću istaknuti ono što je važno ovdje. 410 00:20:18,910 --> 00:20:24,090 >> To se događa samo na be-- i ja ću walk-- da vidimo, ako idem ovamo. 411 00:20:24,090 --> 00:20:27,990 Ovdje je, u decimale stupac, broj 65. 412 00:20:27,990 --> 00:20:32,201 A na stupcu slovo desnog lik, Chr, je slovo A. 413 00:20:32,201 --> 00:20:34,450 A možete ignorirati, za sada, sve u sredini. 414 00:20:34,450 --> 00:20:36,769 To je heksadecimalni, oktalni i HTML koda. 415 00:20:36,769 --> 00:20:39,810 Na ovu stranicu samo pokušava baciti puno informacija na vas odjednom. 416 00:20:39,810 --> 00:20:42,970 Ali, sve mi je stalo je decimalni kolona i kolona karakter. 417 00:20:42,970 --> 00:20:46,190 >> Dakle, po toj logici, što je broj koji je svijet 418 00:20:46,190 --> 00:20:50,510 odlučila predstavlja mala slova a? 419 00:20:50,510 --> 00:20:52,230 Da, 97. 420 00:20:52,230 --> 00:20:55,850 I samo da se zbuniti potencijalno nešto, 421 00:20:55,850 --> 00:21:03,715 što broj je svijet odlučio bi predstavljalo broj 1? 422 00:21:03,715 --> 00:21:06,900 423 00:21:06,900 --> 00:21:10,910 Upravo zato we-- 49, čini se ovdje, dolje u dnu lijevo. 424 00:21:10,910 --> 00:21:12,320 >> Sada, što mislim pod tim? 425 00:21:12,320 --> 00:21:14,830 Tako ispada da je u računalnim sustavima, 426 00:21:14,830 --> 00:21:16,840 općenito postoji temeljna razlika 427 00:21:16,840 --> 00:21:19,920 između broja i znaka. 428 00:21:19,920 --> 00:21:22,330 Niz je ono čemu saznaje odrastanja kada 429 00:21:22,330 --> 00:21:23,830 bili smo super mladi u osnovnoj školi. 430 00:21:23,830 --> 00:21:25,110 To je ono što vam je računati s. 431 00:21:25,110 --> 00:21:30,220 Ali lik je samo oblik, glif, da tako kažemo, na ekranu. 432 00:21:30,220 --> 00:21:36,200 >> Sada mi ljudi vidjeti kakve nešto što izgleda ovako. 433 00:21:36,200 --> 00:21:39,060 A mi reći, oh, to je broj dva. 434 00:21:39,060 --> 00:21:44,999 Ali ne, to je samo simbol koji izgleda kao što znamo kao broj 2. 435 00:21:44,999 --> 00:21:46,790 I tako je to temeljna razlika 436 00:21:46,790 --> 00:21:50,340 između stvarnih brojeva i znakova. 437 00:21:50,340 --> 00:21:52,130 To je broj. 438 00:21:52,130 --> 00:21:54,420 Ali općenito, u kontekst računalo, 439 00:21:54,420 --> 00:21:56,809 ako umjesto toga vidjeti nešto kao što je ovaj quoted-- 440 00:21:56,809 --> 00:21:58,600 a ne uvijek moram vidjeti što citirani, 441 00:21:58,600 --> 00:22:01,474 ali zbog discussion-- ako vidite citati oko broja, 442 00:22:01,474 --> 00:22:02,730 ovo je sada lik. 443 00:22:02,730 --> 00:22:06,330 Dakle, ovaj broj 2 ispod napa unutar računala 444 00:22:06,330 --> 00:22:12,220 će biti zastupljena s uzorkom bitova koji predstavljaju broj 445 00:22:12,220 --> 00:22:14,850 50 prema tablici na internetu. 446 00:22:14,850 --> 00:22:18,300 >> Međutim, ako na računalu vidi samo ovo, ovo 447 00:22:18,300 --> 00:22:24,580 će biti zastupljena s uzorak bita 0 0 0 0 0 0 1 0. 448 00:22:24,580 --> 00:22:29,595 Budući da, ovaj lik bi zapravo biti zastupljena as-- i sada, 449 00:22:29,595 --> 00:22:34,710 Dobio sam razmišljati malo harder-- tako da je ovo lik će biti zastupljena s 0 450 00:22:34,710 --> 00:22:39,080 0 1-- što mi treba ovdje? 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 sam to učiniti? 453 00:22:45,480 --> 00:22:49,580 Pa to je broj 50, ako vas umnožiti ga pomoću ove stupce, 454 00:22:49,580 --> 00:22:53,530 ovo je broj 2, i tako to je razlog zašto postoji ova dihotomija. 455 00:22:53,530 --> 00:22:55,850 >> A to je samo jedan teaser za sada značajke 456 00:22:55,850 --> 00:22:59,710 koji postoje u programskim jezicima da ćemo se dotaknuti kratko kasnije danas. 457 00:22:59,710 --> 00:23:01,950 U programskim jezicima, imate općenito, 458 00:23:01,950 --> 00:23:04,495 ali ne uvijek, stvari pozvati različite vrste podataka. 459 00:23:04,495 --> 00:23:06,870 Drugim riječima, programmer-- kada on ili ona piše, 460 00:23:06,870 --> 00:23:11,150 programer dobiva odlučiti na koji format za pohranu svoje podatke. 461 00:23:11,150 --> 00:23:14,120 Možete pohranu podataka kao grubi podaci, kao što je broj 2. 462 00:23:14,120 --> 00:23:17,940 Ili možete pohraniti ih kao žice, ili nizove znakova 463 00:23:17,940 --> 00:23:21,550 da bi se općenito izraziti citati u svom programskom jeziku. 464 00:23:21,550 --> 00:23:25,230 >> Možete imati stvari called-- Ja ću uprostiti i zvati ih 465 00:23:25,230 --> 00:23:28,870 real numbers-- tako brojeva koji nisu cijeli brojevi poput broja 2, 466 00:23:28,870 --> 00:23:31,310 ali brojevi sviđa 4,56. 467 00:23:31,310 --> 00:23:33,490 Dakle, realni brojevi mogu također imaju decimalna mjesta, 468 00:23:33,490 --> 00:23:36,340 tako da je drugačija temeljna podatak u računalu. 469 00:23:36,340 --> 00:23:41,920 I onda čak možete imati druge vrste podataka i dalje. 470 00:23:41,920 --> 00:23:45,810 Dakle, to je samo teaser stvarno od najjednostavniji dizajnerske odluke 471 00:23:45,810 --> 00:23:50,960 da programer možda napraviti ispod haube. 472 00:23:50,960 --> 00:23:52,925 >> Dakle, bilo kakva pitanja samo još? 473 00:23:52,925 --> 00:23:57,320 474 00:23:57,320 --> 00:23:59,860 Tako ćemo pokušati učiniti ovo malo realnije. 475 00:23:59,860 --> 00:24:02,120 Ovaj hardvera nije toliko u upotrebi više. 476 00:24:02,120 --> 00:24:07,420 No, gotovo svi u ovoj sobi vjerojatno odrastao sa i dalje koristi tvrdih diskova 477 00:24:07,420 --> 00:24:08,010 na neki način. 478 00:24:08,010 --> 00:24:10,100 >> Iako je većina naša prijenosna računala više ne 479 00:24:10,100 --> 00:24:15,900 imaju uređaje koji rade ovako, umjesto laptop danas općenito 480 00:24:15,900 --> 00:24:18,590 imaju SSD diskovi bez pokretnih dijelova. 481 00:24:18,590 --> 00:24:22,840 I to tendira biti skuplji, nažalost, ali malo brže 482 00:24:22,840 --> 00:24:27,230 i A- i, često, puno brže, što je jedan od razloga. 483 00:24:27,230 --> 00:24:28,980 A isto tako to ne stvara manje topline. 484 00:24:28,980 --> 00:24:31,680 To može biti i manji, tako da je općenito neto pozitivan. 485 00:24:31,680 --> 00:24:35,030 >> No, to nam omogućuje da mapirati malo konkretnije što 486 00:24:35,030 --> 00:24:38,460 govorimo o pri 0.-a i Razina 1 je sada na fizički uređaj. 487 00:24:38,460 --> 00:24:40,810 To je jedna stvar mi je govoriti oko 0-a i 1-a u pogledu 488 00:24:40,810 --> 00:24:43,990 mog telefona ili apstraktno u smislu od prebacuje se na i off. 489 00:24:43,990 --> 00:24:45,340 Ali što je s tvrdih diskova? 490 00:24:45,340 --> 00:24:48,495 U svojim prijenosnim računalima, ako imate stariji jedan ili na stolnom računalu, 491 00:24:48,495 --> 00:24:51,200 ili svakako u poslužiteljima Danas, u kojoj morate 492 00:24:51,200 --> 00:24:53,070 tvrdih diskova koji imaju terabajt prostora, 493 00:24:53,070 --> 00:24:55,560 4 terabajta prostora, i što to znači? 494 00:24:55,560 --> 00:24:59,560 >> Tvrdi disk s 1 terabajt prostora sredstvima 495 00:24:59,560 --> 00:25:03,890 ima 1 trilijuna bajtova unutar nje nekako, 496 00:25:03,890 --> 00:25:10,450 ili ekvivalentno 8 bilijuna bitova unutra. 497 00:25:10,450 --> 00:25:16,240 1 terabajt će biti 8 terabits ili 1 bilijuna bitova, koji 498 00:25:16,240 --> 00:25:19,330 znači ako imate teško pogon, morate nekako 499 00:25:19,330 --> 00:25:22,400 ili druge a trilijuna 0 a i 1 je unutar nje. 500 00:25:22,400 --> 00:25:25,360 A ako ćemo samo pogledati na proizvoljna slika hard disk 501 00:25:25,360 --> 00:25:30,110 zastupnik, to je ono što tvrdi Pogon može obično izgledaju iznutra. 502 00:25:30,110 --> 00:25:32,600 >> To je, također, vrsta kao stari gramofon igrač 503 00:25:32,600 --> 00:25:35,350 ali uglavnom s više zapisa unutra, tako 504 00:25:35,350 --> 00:25:38,270 da speak-- višestruki plate, kako se zovu, 505 00:25:38,270 --> 00:25:42,259 metalne kružne diskove, i zatim malo glava za čitanje, 506 00:25:42,259 --> 00:25:43,550 baš kao i stari gramofon. 507 00:25:43,550 --> 00:25:46,589 I to glava za čitanje seli natrag i naprijed i nekako čita bita. 508 00:25:46,589 --> 00:25:49,380 A što je na ovim plate, čak iako mi ljudi ne mogu vidjeti, 509 00:25:49,380 --> 00:25:52,757 bilo u stvarnosti ili na ovoj slici, ima sitne male magnetske čestice. 510 00:25:52,757 --> 00:25:55,090 A čak i ako ste dugo zaboravio kako struja radi, 511 00:25:55,090 --> 00:25:57,550 magnetske čestice koji je optužen općenito 512 00:25:57,550 --> 00:26:00,570 ima sjeverni kraj i jug end-- pa na sjever i jug. 513 00:26:00,570 --> 00:26:03,000 I tako je svijet samo odlučio je prije nekog vremena 514 00:26:03,000 --> 00:26:06,570 da, ako je magnetska protokol bitno usklađen ovako, sjever-jug, 515 00:26:06,570 --> 00:26:07,610 nazovimo to je 1. 516 00:26:07,610 --> 00:26:10,470 Ako je umjesto jug-sjever, neka je samo poziv da se 0. 517 00:26:10,470 --> 00:26:13,350 I tako, ako imate na odlagalište trilijuna 518 00:26:13,350 --> 00:26:16,300 maleni malo magnetska particles-- i nadamo se, 519 00:26:16,300 --> 00:26:18,740 hardver genijalnost u Kako bi se okrenuti onima koji su oko 520 00:26:18,740 --> 00:26:24,450 kao što vidite fit-- ako želite predstavljaju hrpu 0-ih, te 521 00:26:24,450 --> 00:26:28,120 samo je potrebno 8 magnetske čestice sva poredaju ovako. 522 00:26:28,120 --> 00:26:30,330 A ako želite da predstavlja Osam jedan je, samo 523 00:26:30,330 --> 00:26:33,170 potrebno 8 magnetske čestice poravnata natrag na leđa na leđa kao što je ovaj. 524 00:26:33,170 --> 00:26:35,515 >> Što mi znači od strane magnetske čestice? 525 00:26:35,515 --> 00:26:38,390 Iskreno, sve ove godine kasnije, Ono što i dalje pada na pamet 526 00:26:38,390 --> 00:26:42,139 je taj tip, ako vas Odrastao je s ovom stvari. 527 00:26:42,139 --> 00:26:43,930 To je little-- za oni unfamiliar-- 528 00:26:43,930 --> 00:26:47,810 mala igračka iz djetinjstva koje ima tu ćelav čovjek ovdje 529 00:26:47,810 --> 00:26:51,690 koji ima sve te male mala crna magnetske čestice koje dolaze s njim. 530 00:26:51,690 --> 00:26:53,930 I koristiti taj crveni stick, što je samo magnet, 531 00:26:53,930 --> 00:26:58,460 što mu je na neki način može dati brkove ili obrve ili kosu ili bilo što o njemu. 532 00:26:58,460 --> 00:27:00,710 Tako je, u stvari, ako ćemo uvećanje u, na primjer, to 533 00:27:00,710 --> 00:27:02,950 je vrsta igre koju mogu igrati sa wooly Willy. 534 00:27:02,950 --> 00:27:06,570 >> A to je samo reći, to mnogo su veće magnetske čestice 535 00:27:06,570 --> 00:27:09,890 nego su zapravo na hard disk, i daleko manje magnetske čestice. 536 00:27:09,890 --> 00:27:11,640 Ali neka se zapravo vidi onda ako nemate 537 00:27:11,640 --> 00:27:14,720 sitni magnetskih čestica u hard disk, kako se zapravo može 538 00:27:14,720 --> 00:27:19,090 koristiti one za predstavljanje podataka. 539 00:27:19,090 --> 00:27:20,070 >> [VIDEO PLAYBACK] 540 00:27:20,070 --> 00:27:24,190 >> -U Hard disk na kojem se vaš PC trgovinama većina njegovih stalnih podataka. 541 00:27:24,190 --> 00:27:27,170 Da biste to postigli, podatke putuje iz RAM-a uz 542 00:27:27,170 --> 00:27:31,720 programskih signala koji ispričati hard disk kako pohraniti te podatke. 543 00:27:31,720 --> 00:27:36,570 Disk krugovi prevesti onih signale u kolebanja napona. 544 00:27:36,570 --> 00:27:40,880 To, pak, kontrolira hard disk-a kreće parts-- neke od rijetkih kreće 545 00:27:40,880 --> 00:27:43,440 dijelovi lijevo u modernom računalu. 546 00:27:43,440 --> 00:27:47,650 >> Neke od signala upravljanje motorom, koji se vrti Metalizirana plate. 547 00:27:47,650 --> 00:27:50,980 Vaši podaci zapravo pohranjeni na tim plate. 548 00:27:50,980 --> 00:27:56,250 Ostali signali pomaknuti čitanja / pisanja glave čitati ili pisati podatke na plate. 549 00:27:56,250 --> 00:28:00,100 To mašinerija tako precizan da je ljudska kosa nije mogao ni 550 00:28:00,100 --> 00:28:02,800 proći između glave i vrti plate. 551 00:28:02,800 --> 00:28:04,887 Ipak, sve to radi na nevjerojatan brzinama. 552 00:28:04,887 --> 00:28:05,470 [END PLAYBACK] 553 00:28:05,470 --> 00:28:06,780 A možete vidjeti na Kraj rep video, 554 00:28:06,780 --> 00:28:08,340 tu su uglavnom više plate. 555 00:28:08,340 --> 00:28:10,250 I tako da je čitanje glava nije samo čitanje na vrhu. 556 00:28:10,250 --> 00:28:12,458 To je vrsta kao što su tri ili četiri ili više glava za čitanje 557 00:28:12,458 --> 00:28:14,920 taj korak kao što je ovaj, čitanje podataka istovremeno. 558 00:28:14,920 --> 00:28:17,407 >> Dakle, postoji mnogo složenost i vrsta vremena 559 00:28:17,407 --> 00:28:18,740 a koji je uključen u tvrdom disku. 560 00:28:18,740 --> 00:28:21,920 A stvar se vrti stvarno prokleto brzo, tako da je puno složenosti. 561 00:28:21,920 --> 00:28:25,220 Ali neka povećavanje malo dublje i vidjeti gdje su ti magnetske čestice 562 00:28:25,220 --> 00:28:27,370 i kako smo uzimajući u njih. 563 00:28:27,370 --> 00:28:28,750 >> [VIDEO PLAYBACK] 564 00:28:28,750 --> 00:28:31,830 >> -Let Je pogled na ono što smo upravo vidjeli usporeno. 565 00:28:31,830 --> 00:28:35,230 Kad kratki impuls struje se šalje na čitanje / pisanje glavu, 566 00:28:35,230 --> 00:28:39,000 to okreće na maleni magnetsko za djelić sekunde. 567 00:28:39,000 --> 00:28:41,390 Magnet stvara polje, koji se mijenja 568 00:28:41,390 --> 00:28:44,600 polarnost maleni, maleni Dio metalne čestice 569 00:28:44,600 --> 00:28:46,960 koji kaput površinu svake pladnju a. 570 00:28:46,960 --> 00:28:50,020 Obrazac serija tih sićušnih nabijeni do područja na disku 571 00:28:50,020 --> 00:28:54,590 predstavlja jedan bit podataka u binarni brojevni sustav koristi računala. 572 00:28:54,590 --> 00:28:57,510 >> Sada, ako je trenutna poslan jedan put kroz čitanje / pisanje glavu, 573 00:28:57,510 --> 00:28:59,899 je područje polarizirani u jednom smjeru. 574 00:28:59,899 --> 00:29:01,940 Ako je trenutni je poslan u iz suprotnog smjera, 575 00:29:01,940 --> 00:29:04,020 polarizacija je obrnuto. 576 00:29:04,020 --> 00:29:06,440 Kako ste dobili podatke s tvrdog diska? 577 00:29:06,440 --> 00:29:08,190 Samo preokrenuti proces. 578 00:29:08,190 --> 00:29:10,440 Tako da je čestica na disk koji bi dobili struju 579 00:29:10,440 --> 00:29:12,260 u glavi za čitanje / pisanje kreće. 580 00:29:12,260 --> 00:29:14,580 Sastaviti milijune ove magnetizirana segmenata, 581 00:29:14,580 --> 00:29:16,220 i dobili ste datoteku. 582 00:29:16,220 --> 00:29:21,030 >> Sada, komadi od jedne datoteke mogu biti raspršena po cijelom drive-a plate, 583 00:29:21,030 --> 00:29:24,060 vrsta kao što su nered radova na vašem stolu. 584 00:29:24,060 --> 00:29:27,590 Tako poseban dodatni datoteka čuva trag gdje je što. 585 00:29:27,590 --> 00:29:30,440 Ne želite li imali nešto kao to? 586 00:29:30,440 --> 00:29:31,290 >> [END PLAYBACK] 587 00:29:31,290 --> 00:29:36,260 >> Tako se aludira na tu, možda, koja tema od jučer za brisanje. 588 00:29:36,260 --> 00:29:38,380 Kada izbrišete file, jučer smo rekli 589 00:29:38,380 --> 00:29:41,020 da računalo zapravo radi što, kada vučete nešto 590 00:29:41,020 --> 00:29:44,110 u koš za smeće ili kantu za smeće? 591 00:29:44,110 --> 00:29:45,150 To jednostavno ga zaboravi. 592 00:29:45,150 --> 00:29:47,540 No, 0-a i 1-a, magnetske čestice 593 00:29:47,540 --> 00:29:50,640 da izgleda kao crvena i plava stvari ovdje, ili moja ruka ovdje, 594 00:29:50,640 --> 00:29:52,350 još uvijek postoji na tvrdom disku. 595 00:29:52,350 --> 00:29:56,090 >> I tako postoji softverskoj Norton Utilities i prošlost 596 00:29:56,090 --> 00:29:58,159 a drugi moderniji softverskoj da je upravo 597 00:29:58,159 --> 00:30:01,200 će skenirati cijeli hard disk u potrazi na sve one 0-ih i +1, jer to 598 00:30:01,200 --> 00:30:06,890 Ispada da je većina datoteka formats-- Word dokumente, Excel datoteke, slike, 599 00:30:06,890 --> 00:30:10,380 Video files-- svi imaju određene obrasci koji su zajednički među njima. 600 00:30:10,380 --> 00:30:12,550 Svaki video datoteka možda biti različite video, 601 00:30:12,550 --> 00:30:14,870 ali u prvih nekoliko bitovi su obično isti. 602 00:30:14,870 --> 00:30:16,790 Ili posljednjih nekoliko bitova su obično isti. 603 00:30:16,790 --> 00:30:19,910 >> I tako s velikom vjerojatnošću, možete tražiti one obrasce. 604 00:30:19,910 --> 00:30:23,700 A čak i ako je datoteka bila zaboravljena, možete reći s velikom vjerojatnošću, 605 00:30:23,700 --> 00:30:28,460 ali ovo izgleda kao Word dokument, nadamo se oporaviti i UN-zaboravi, 606 00:30:28,460 --> 00:30:28,990 Ako hoćeš. 607 00:30:28,990 --> 00:30:32,330 I tako to je kako možete oporaviti Podaci koji ni nije bilo slučajno 608 00:30:32,330 --> 00:30:36,560 izbrisane ili izbrisani ili namjerno izbrisan iz bilo kojeg razloga. 609 00:30:36,560 --> 00:30:42,530 >> S druge strane, sigurno brisanje što radi u kontekstu slike kao što je ovaj? 610 00:30:42,530 --> 00:30:44,059 Točno, što ih čini sve slučajna. 611 00:30:44,059 --> 00:30:46,350 Tako je vrsta poteze nekih od ih dolje, neki od njih se, 612 00:30:46,350 --> 00:30:49,433 ostavlja neke od njih je isti, a općenito čini slučajni šum iz nje, 613 00:30:49,433 --> 00:30:52,960 ili samo možda čini sve Them 0 je ili sve od njih +1. 614 00:30:52,960 --> 00:30:56,350 I da je općenito pročišćavati podatke daleko. 615 00:30:56,350 --> 00:31:00,160 >> Dakle, vratimo se sada na pitanje računalne razmišljanja, pri čemu 616 00:31:00,160 --> 00:31:03,270 imamo formula ulaza. 617 00:31:03,270 --> 00:31:06,390 I algoritmi daje što izlazi u konačnici. 618 00:31:06,390 --> 00:31:09,270 Usredotočeni smo sada na ulazima i izlazi, jer sada sam 619 00:31:09,270 --> 00:31:12,159 Tvrdnja da imamo način predstavlja ulaza i izlaza. 620 00:31:12,159 --> 00:31:13,450 Samo ćemo koristiti binarni. 621 00:31:13,450 --> 00:31:15,910 >> I bez obzira što smo žele da predstavljaju i danas, 622 00:31:15,910 --> 00:31:20,230 da li je broj ili slovo ili njihovi tisuća u telefonskom imeniku 623 00:31:20,230 --> 00:31:23,210 ili slike ili filmove, na kraju dana, sve je to 0-a i 1-a. 624 00:31:23,210 --> 00:31:26,640 A ja tvrdim da, iako je to je super jednostavan svijet sa samo 0 godina 625 00:31:26,640 --> 00:31:28,240 i 1-a, možemo se izgraditi. 626 00:31:28,240 --> 00:31:32,210 A vidjeli smo jedan primjer da sa slovima do sada. 627 00:31:32,210 --> 00:31:35,615 >> Tako ćemo se sada usredotočiti na to Srednji sastojak, algoritam. 628 00:31:35,615 --> 00:31:38,190 I vratimo se to Primjer Mike Smith. 629 00:31:38,190 --> 00:31:41,689 Tako je u ovom imeniku, koji se, istina, ne koristimo toliko više, 630 00:31:41,689 --> 00:31:42,980 postoji problem koji treba riješiti. 631 00:31:42,980 --> 00:31:45,040 Želimo naći nekoga kao što je Mike Smith. 632 00:31:45,040 --> 00:31:47,520 >> A što bi se moglo učiniti kako bi pronašli Mike? 633 00:31:47,520 --> 00:31:51,197 Pa, samo sam mogao otvoriti ovaj Knjiga, početi na prvoj stranici, 634 00:31:51,197 --> 00:31:52,780 i shvatiti, oh, ja sam u odjeljku A. 635 00:31:52,780 --> 00:31:53,510 Mike to ne postoji. 636 00:31:53,510 --> 00:31:55,510 Trebam S odjeljak za Smitha. 637 00:31:55,510 --> 00:31:58,192 Dakle, samo nastavi okrećući jednu stranicu u isto vrijeme. 638 00:31:58,192 --> 00:32:00,900 Dopustite mi da se pretvarati da je to sve bijele stranice, a ne žute stranice, 639 00:32:00,900 --> 00:32:02,910 jer nećemo naći Mike na bilo žute stranice. 640 00:32:02,910 --> 00:32:04,034 Ali ja sam u bijelim stranicama. 641 00:32:04,034 --> 00:32:05,340 I sad, ja sam u odjeljku B. 642 00:32:05,340 --> 00:32:06,810 Još uvijek nisam ga pronašao. 643 00:32:06,810 --> 00:32:08,890 Zato što se stalno okreće jednu stranicu u isto vrijeme. 644 00:32:08,890 --> 00:32:10,130 >> To je algoritam. 645 00:32:10,130 --> 00:32:12,440 To je skup uputa za rješavanje nekih problema. 646 00:32:12,440 --> 00:32:16,480 Drugim riječima, pogled na stranica, ako se Mike nije na njemu, 647 00:32:16,480 --> 00:32:20,020 okrenuti stranicu, a ponavlja opet i opet i opet, 648 00:32:20,020 --> 00:32:21,760 idealno gledajući kako to radite. 649 00:32:21,760 --> 00:32:24,120 Tako je ovaj algoritam, ovaj proces, zar ne? 650 00:32:24,120 --> 00:32:27,400 651 00:32:27,400 --> 00:32:28,830 >> Oprostite. 652 00:32:28,830 --> 00:32:30,056 Ne, čujem neki brojevi. 653 00:32:30,056 --> 00:32:33,250 654 00:32:33,250 --> 00:32:36,125 U redu, ali to is-- da, to je sigurno dosadan. 655 00:32:36,125 --> 00:32:39,000 Kao, mi ćemo biti ovdje cijeli dan ako sam držati obličje za Mikea na toj brzini. 656 00:32:39,000 --> 00:32:41,430 No, dopustite mi tvrde da je točna. 657 00:32:41,430 --> 00:32:43,850 To je glupo, ali to je točno. 658 00:32:43,850 --> 00:32:47,209 >> Na kraju dana, dok je to možda uzeti ću naći Mikea ako je on tamo 659 00:32:47,209 --> 00:32:48,250 i ja sam obraćao pažnju. 660 00:32:48,250 --> 00:32:50,230 A ja na kraju doći svoju stranicu. 661 00:32:50,230 --> 00:32:52,890 A ako mi se previše, ako Ja bi se na dijelu T, 662 00:32:52,890 --> 00:32:55,900 onda sam malo mogu optimizirati i samo reći, hm, sve učinjeno. 663 00:32:55,900 --> 00:32:57,980 Ne treba ni trošiti Vrijeme ide na Z-a. 664 00:32:57,980 --> 00:33:00,010 No, to je vrlo linearni pristup, ako vas 665 00:33:00,010 --> 00:33:03,370 će, vrlo vrsta s lijeva na desno pristup, ravna crta. 666 00:33:03,370 --> 00:33:05,560 A njegova točna, ali sporo. 667 00:33:05,560 --> 00:33:09,250 >> Tako se sjećam iz osnovne škole, sortiranje o optimizaciji iz prvog razreda, 668 00:33:09,250 --> 00:33:13,756 gdje sam naučila kako se ne računaju od onih već twos-- i 2, 4, 6, 669 00:33:13,756 --> 00:33:15,630 To je, puno je teže učiniti, ali u teoriji, to je 670 00:33:15,630 --> 00:33:20,149 faster-- 8, 10, 12, 14, i tako dalje. 671 00:33:20,149 --> 00:33:21,190 Kako o tom algoritmu? 672 00:33:21,190 --> 00:33:23,150 Je li učinkovitije? 673 00:33:23,150 --> 00:33:23,880 Je li brže? 674 00:33:23,880 --> 00:33:25,365 >> PUBLIKA: To je učinkovit. 675 00:33:25,365 --> 00:33:28,560 >> DAVID Malan: Da, tako je to def-- je doslovno dva puta brže, uz pretpostavku da 676 00:33:28,560 --> 00:33:30,170 nemojte se spotaknula se sa mojim prstima. 677 00:33:30,170 --> 00:33:32,294 To je dvostruko brže, jer Ja sam okreće kroz dva 678 00:33:32,294 --> 00:33:36,560 stranica odjednom, umjesto jednog, ali to je potencijalno u točno, jer zašto? 679 00:33:36,560 --> 00:33:37,852 >> PUBLIKA: Ti si preskakanje neke. 680 00:33:37,852 --> 00:33:41,185 DAVID Malan: U redu, što ako se dogodi Mike da se sandwiched-- možda kad sam kasnije 681 00:33:41,185 --> 00:33:44,370 u telefonskom imeniku, Mike se dogoditi da bude sendviču između ove dvije stranice, 682 00:33:44,370 --> 00:33:46,720 a ja samo slijepo preskočiti preko njega. 683 00:33:46,720 --> 00:33:48,490 Dakle, mi treba malo popraviti tamo. 684 00:33:48,490 --> 00:33:51,290 Jednom sam pogodio dio T, I Ne mogu samo pouzdano reći, 685 00:33:51,290 --> 00:33:52,420 nismo pronašli Mike Smith. 686 00:33:52,420 --> 00:33:53,770 Vjerojatno imam dvostruko vratiti. 687 00:33:53,770 --> 00:34:00,210 Ili u stvari, jednom sam doći do nekoga nazvan S-N, umjesto S-M za Smith, 688 00:34:00,210 --> 00:34:02,790 Odmah sam mogao udvostručiti natrag, jer možda je on 689 00:34:02,790 --> 00:34:03,900 bio je na prethodnoj stranici. 690 00:34:03,900 --> 00:34:05,070 >> Ali ja ne moram duplo vratiti daleko. 691 00:34:05,070 --> 00:34:08,030 U teoriji, ako sam to učiniti u pravo vrijeme vrijeme, samo sam se vratiti jednu stranicu. 692 00:34:08,030 --> 00:34:10,139 Dakle, to je dodao samo jedan dodatni korak. 693 00:34:10,139 --> 00:34:13,070 Tako sam otišao dva puta brže, ali to me cijene jedan dodatni stranicu. 694 00:34:13,070 --> 00:34:14,699 No, to se osjeća kao neto dobiti. 695 00:34:14,699 --> 00:34:17,230 >> No, to nije kako većina ljudi u ova soba bi riješio taj problem. 696 00:34:17,230 --> 00:34:20,313 Što bi tipična osoba, možda Prije nekoliko godina učiniti, naći Mike Smith? 697 00:34:20,313 --> 00:34:22,900 698 00:34:22,900 --> 00:34:24,800 Da, nije našao Mike. 699 00:34:24,800 --> 00:34:27,190 Što da radim? 700 00:34:27,190 --> 00:34:31,027 Tako se malo bliže, ali ja know-- što je istina o telefonskom imeniku? 701 00:34:31,027 --> 00:34:32,110 PUBLIKA: To je sekvencijalni. 702 00:34:32,110 --> 00:34:32,760 DAVID Malan: To je sekvencijalni. 703 00:34:32,760 --> 00:34:33,750 To je abecedni. 704 00:34:33,750 --> 00:34:36,540 I tako ako sam u odjeljku M, Mike je očito u desno, 705 00:34:36,540 --> 00:34:39,949 Doslovno sam može suza problem je u half-- 706 00:34:39,949 --> 00:34:44,360 to je obično lakše nego that-- suza problem na pola i baci od sebe, 707 00:34:44,360 --> 00:34:47,627 tako da sada imam problem koji je više 1000 pages-- to je bilo teško, 708 00:34:47,627 --> 00:34:50,210 jer mislim da sam zapravo poderao telefonski imenik ovaj time-- ne 709 00:34:50,210 --> 00:34:52,219 1.000 stranica, ali 500. 710 00:34:52,219 --> 00:34:54,750 >> Dakle, problem je doslovno upola velika. 711 00:34:54,750 --> 00:34:58,170 I to je prilično uvjerljiv, jer s mojim prethodnim algoritmima, verzija 712 00:34:58,170 --> 00:35:02,870 1 i 2, bio sam samo što problem jedna strana manje, dvije stranice manje 713 00:35:02,870 --> 00:35:03,470 u isto vrijeme. 714 00:35:03,470 --> 00:35:07,230 Dok sada, napravio sam ga 500 Stranice manje sve odjednom. 715 00:35:07,230 --> 00:35:10,089 >> U redu, tako da sada, Karim predlaže da idem na desnoj polovici. 716 00:35:10,089 --> 00:35:12,380 Tako ću ići otprilike na sredini, više ili manje. 717 00:35:12,380 --> 00:35:15,185 A ako sam to učinio matematički, Mogao sam ići do sredine. 718 00:35:15,185 --> 00:35:17,060 A sada, Znam, oh, Ja sam u odjeljku T. 719 00:35:17,060 --> 00:35:18,280 Zapravo sam išao predaleko. 720 00:35:18,280 --> 00:35:21,670 >> Ali mogu, opet, suza Problem na pola, bacite ga. 721 00:35:21,670 --> 00:35:23,330 I moje bajtova ne kao velika. 722 00:35:23,330 --> 00:35:28,780 To je samo, što, 256 stranica ili 250 stranica, dati ili uzeti odmah. 723 00:35:28,780 --> 00:35:31,570 No, to je još uvijek daleko više od jedne stranice ili dvije stranice. 724 00:35:31,570 --> 00:35:33,345 >> I tako sada, idem otprilike na sredini. 725 00:35:33,345 --> 00:35:35,330 Oh, nisam išao sasvim dovoljno daleko sada. 726 00:35:35,330 --> 00:35:37,880 Dakle, ponavljam, ponoviti, ponavljati, Ponavljam, sve dok sam nadam 727 00:35:37,880 --> 00:35:40,360 napustio sa samo jednom stranicom. 728 00:35:40,360 --> 00:35:44,000 >> Tako da pozove na pitanje, ako sam započeo s oko 1.000 stranica, 729 00:35:44,000 --> 00:35:47,340 koliko koraka se to me odvesti s verzijom 1 mog algoritma? 730 00:35:47,340 --> 00:35:50,420 I, ako Mike u S dio, u najgorem slučaju, 731 00:35:50,420 --> 00:35:52,630 to je prilično blizu kraj abecede. 732 00:35:52,630 --> 00:35:56,559 Dakle, ako je telefon knjiga ima 1.000 stranica, Ja ću naći Mikea u 1.000 stranica, 733 00:35:56,559 --> 00:35:57,100 dati ili uzeti. 734 00:35:57,100 --> 00:35:59,750 Možda je to 800 ili tako, ali to je prilično blizu 1.000. 735 00:35:59,750 --> 00:36:01,680 >> Budući da je, u drugom Algoritam, koliko 736 00:36:01,680 --> 00:36:06,840 stranica okreće maksimalno možda sam zahtijevaju naći Mike Smith? 737 00:36:06,840 --> 00:36:09,970 Ima 1000 stranica, ali ja sam rade ih dva u isto vrijeme. 738 00:36:09,970 --> 00:36:13,045 Dobro, pa max poput 500ish, jer ako idem kroz cijeli telefonski imenik, 739 00:36:13,045 --> 00:36:14,170 u kojem trenutku, ne mogu zaustaviti. 740 00:36:14,170 --> 00:36:16,669 Ali mogu obrije nekoliko njih do samo zaustavljanje na dionici T. 741 00:36:16,669 --> 00:36:19,880 No, to je u najgorem slučaju 500 stranica. 742 00:36:19,880 --> 00:36:24,710 >> Pa koliko puta mogu podijeliti 1,00o stranice telefonskog imenika na pola opet 743 00:36:24,710 --> 00:36:30,450 i opet i again-- od 1000 do 500 do 250 do 125? 744 00:36:30,450 --> 00:36:32,250 Koliko dugo prije nego što sam pogodio jednu stranicu? 745 00:36:32,250 --> 00:36:35,510 746 00:36:35,510 --> 00:36:36,370 Da, to je oko 10. 747 00:36:36,370 --> 00:36:40,780 Ovisno o zaokruživanja i slično, to je oko 10 stranica ukupno mora biti uključen 748 00:36:40,780 --> 00:36:43,290 ili telefonskih imenika moraju biti rastrgan. 749 00:36:43,290 --> 00:36:44,710 >> Dakle, to je prilično moćno. 750 00:36:44,710 --> 00:36:48,170 Počeli smo s problemom od 1000 stranica u sva tri od ovih priča. 751 00:36:48,170 --> 00:36:51,850 No, u prvom algoritmu, to me je, u najgorem slučaju, 1000 stranica 752 00:36:51,850 --> 00:36:52,740 okreće se naći Mike. 753 00:36:52,740 --> 00:36:55,590 Drugi algoritam, 500 Stranice naći Mike. 754 00:36:55,590 --> 00:36:58,480 Treće Algoritam, 10 stranica naći Mike. 755 00:36:58,480 --> 00:37:00,230 I to je još više moćno kad mislite 756 00:37:00,230 --> 00:37:01,860 o vrsti suprotnom scenariju. 757 00:37:01,860 --> 00:37:05,680 Pretpostavimo da telefonske tvrtke sljedeću godine možda spaja dva grada zajedno, 758 00:37:05,680 --> 00:37:08,550 a telefonski imenik je iznenada ova debela, umjesto toga da se, 759 00:37:08,550 --> 00:37:12,470 tako 2.000 stranice, umjesto 1.000. 760 00:37:12,470 --> 00:37:15,640 Pa, moj prvi algoritam traži Mike Smith je u 2000-stranice telefonskog imenika je, 761 00:37:15,640 --> 00:37:21,460 gori slučaj, to će potrajati koliko stranica okreće iduće godine? 762 00:37:21,460 --> 00:37:24,800 >> Telefonski imenik je 2.000 stranica, so-- dobro, ne još jedan. 763 00:37:24,800 --> 00:37:29,540 Ako je telefon knjiga je dvostruko debela u Prvi algoritam, prvi algoritam, 764 00:37:29,540 --> 00:37:30,380 2000, zar ne? 765 00:37:30,380 --> 00:37:33,005 U najgorem slučaju, Mike stvarno zatvoriti do kraja knjige, 766 00:37:33,005 --> 00:37:34,110 tako da je 2.000 stranica okreta. 767 00:37:34,110 --> 00:37:38,070 Drugi algoritam ide po dvojke, kao što je 1000 stranica. 768 00:37:38,070 --> 00:37:41,490 >> Ali o tome u mom trećinu i najnovija algoritam? 769 00:37:41,490 --> 00:37:44,950 Ako je telefon tvrtke udvostručuje broj stranica od 1.000 do 2.000, 770 00:37:44,950 --> 00:37:47,770 koliko još puta trebam suza ta knjiga na pola kako bi pronašli Mike? 771 00:37:47,770 --> 00:37:48,710 >> PUBLIKA: Samo jedan. 772 00:37:48,710 --> 00:37:51,001 >> DAVID Malan: Samo još jedan, jer s jedne stranice suza, 773 00:37:51,001 --> 00:37:53,270 Doslovno sam može podijeliti i osvojiti, ako hoćete, 774 00:37:53,270 --> 00:37:57,410 da je problem u pola preuzimanju masivni ugriz iz nje. 775 00:37:57,410 --> 00:38:01,420 I tako to je primjer učinkovitost i nedvojbeno algoritam 776 00:38:01,420 --> 00:38:04,100 s kojima smo svi vrsta intuitivno upoznati. 777 00:38:04,100 --> 00:38:07,780 No, to je samo kao točna kao moje druge algoritme 778 00:38:07,780 --> 00:38:09,630 s tim ugađanje za drugi algoritam, 779 00:38:09,630 --> 00:38:11,290 ali to je tako mnogo učinkovitiji. 780 00:38:11,290 --> 00:38:14,030 >> A u stvari, ono što se računalo znanstvenik, ili pak programer, 781 00:38:14,030 --> 00:38:17,580 obično bi to prilikom pisanja kod je pokušati shvatiti, 782 00:38:17,580 --> 00:38:19,960 Sve je u redu, ja ne želim da moje program samo da je ispravan, 783 00:38:19,960 --> 00:38:23,220 Također želim da bude učinkovit i rješavanje problema dobro. 784 00:38:23,220 --> 00:38:26,450 Zamislite u stvarnom svijetu danas, kao što je Google indeksa, pretraživanja 785 00:38:26,450 --> 00:38:31,580 kao i milijardama stranica, zamislite da su koristi prvi algoritam za pronalaženje mačke 786 00:38:31,580 --> 00:38:34,620 među milijardu pages-- gleda na prva stranica u svojoj bazi podataka, 787 00:38:34,620 --> 00:38:37,700 drugi, treći, samo gleda za mačka, u potrazi za mačke. 788 00:38:37,700 --> 00:38:40,350 To je prilično darn usporiti da će to činiti. 789 00:38:40,350 --> 00:38:43,170 Oni su umjesto toga mogao koristiti nešto zove pretraživanje po binarnom, što 790 00:38:43,170 --> 00:38:47,420 Ne coincidence-- bi znači dva, mi zadržati dijeljenjem nešto u 2, u half-- 791 00:38:47,420 --> 00:38:50,205 oni mogu koristiti binarno pretraživanje i možda naći mačke čak i brže, 792 00:38:50,205 --> 00:38:51,830 ili što god to je da ste u potrazi za. 793 00:38:51,830 --> 00:38:54,125 >> I iskreno, ne postoji čak i ljubitelj algoritmi 794 00:38:54,125 --> 00:38:56,250 kako napraviti mnogo više nego samo dijeljenjem stvari u poluvremenu 795 00:38:56,250 --> 00:38:58,180 kako bi se pronašli informacije brzo. 796 00:38:58,180 --> 00:39:00,880 A mi ćemo govoriti malo o onima nakon ručka danas. 797 00:39:00,880 --> 00:39:02,640 Pa neka mi samo pokušati da predstavljaju ovaj. 798 00:39:02,640 --> 00:39:05,380 Ne trebamo ići u bilo matematike ili stvarni brojevi. 799 00:39:05,380 --> 00:39:07,070 Možemo razgovarati o tome u sažetku. 800 00:39:07,070 --> 00:39:11,580 >> No, neka mi samo predlagati, ako vas imali raspravu sada 801 00:39:11,580 --> 00:39:13,491 s inženjerima predlaganje ovaj algoritam 802 00:39:13,491 --> 00:39:15,490 a ti pokušavaš napraviti izračunat odluka, 803 00:39:15,490 --> 00:39:17,285 jer možda Inženjer kaže za vas, 804 00:39:17,285 --> 00:39:19,910 Znate što, ja mogu implementirati linearno pretraživanje u kao dvije minute. 805 00:39:19,910 --> 00:39:21,150 To je tako jednostavno. 806 00:39:21,150 --> 00:39:24,790 Pretraživanje po binarnom nije tako fancy, ali to će me odvesti kao 10 minuta, 807 00:39:24,790 --> 00:39:26,650 tako 5 puta duže. 808 00:39:26,650 --> 00:39:30,900 >> Tu je trgovina ovdje, čak u smislu odlučivanja što je softver za pisanje. 809 00:39:30,900 --> 00:39:34,760 Da li napisati jednostavniji algoritam, koji je upravo će vam dvije minute? 810 00:39:34,760 --> 00:39:39,880 Ili ćete potrošiti više vremena, 10 minuta, pisanje ljubitelj algoritam? 811 00:39:39,880 --> 00:39:43,540 Kako ste se odlučili tu vrstu pitanja? 812 00:39:43,540 --> 00:39:46,710 Ili te mogao učiniti nešto više stvaran. 813 00:39:46,710 --> 00:39:50,610 Kažem moj šef to će potrajati meni ni jedan tjedan ili 10 tjedna 814 00:39:50,610 --> 00:39:52,490 za provedbu softver na ovaj način, kako 815 00:39:52,490 --> 00:39:56,103 se odlučiti koji algoritam za zeleno svjetlo? 816 00:39:56,103 --> 00:39:56,603 Karim? 817 00:39:56,603 --> 00:39:57,550 >> PUBLIKA: Publika, valjda. 818 00:39:57,550 --> 00:39:57,960 >> DAVID Malan: Publika. 819 00:39:57,960 --> 00:39:59,460 Što misliš od strane publike? 820 00:39:59,460 --> 00:40:03,460 >> PUBLIKA: Ako to ide koji će se koristiti od strane korisnika 821 00:40:03,460 --> 00:40:09,050 koji [nečujan] od strane korisnika [nečujan]. 822 00:40:09,050 --> 00:40:11,232 Ali, ako je to nešto što si samo radi za sebe 823 00:40:11,232 --> 00:40:13,946 olakšati problem, [Nečujan] brže. 824 00:40:13,946 --> 00:40:16,820 DAVID Malan: Da, to je brzo i prljav je dobar način da se to opisati. 825 00:40:16,820 --> 00:40:18,695 U stvari, ako ste opisuje većinu svog vremena 826 00:40:18,695 --> 00:40:23,630 u postdiplomskog, pri čemu često puta, Napisao sam loše kod svjesno so-- 827 00:40:23,630 --> 00:40:26,490 u najmanju ruku, to je kako sam racionalizirati it-- svjesno, 828 00:40:26,490 --> 00:40:30,670 jer iako sam bio pisanje koda to je bilo relativno sporo izvršavaju, 829 00:40:30,670 --> 00:40:33,750 Bio sam u stanju napisati kod sebe prilično brzo, trošenje samo nekoliko minuta 830 00:40:33,750 --> 00:40:35,107 ili sati ne dana. 831 00:40:35,107 --> 00:40:37,190 I ispostavilo se, ja ponekad je potrebno da spavaju. 832 00:40:37,190 --> 00:40:41,270 Dakle, čak i ako je moj broj je potrebno 8 sata da pokreću, i to je u redu, 833 00:40:41,270 --> 00:40:42,850 Ja ću samo ići na spavanje dok to radi. 834 00:40:42,850 --> 00:40:46,350 >> Dakle, u to vrijeme, mislio sam da je to vrlo pametan, iako sam naizgled 835 00:40:46,350 --> 00:40:48,990 radio kroz moj dr vrlo sporo. 836 00:40:48,990 --> 00:40:52,270 No, suprotno tome da, ako su pisanja softvera 837 00:40:52,270 --> 00:40:55,930 za druge ljude koji važno više od mene, pa, 838 00:40:55,930 --> 00:40:59,580 ima ih čekati 8 sati do dobiti natrag svoje rezultate pretraživanja 839 00:40:59,580 --> 00:41:01,350 nije sve što je uvjerljiv. 840 00:41:01,350 --> 00:41:04,090 I tako je proveo više vremena unaprijed za pisanje softvera 841 00:41:04,090 --> 00:41:07,300 koji je učinkovitiji, kao što je naš treći algoritam, 842 00:41:07,300 --> 00:41:09,780 Vjerojatno koristi korisnicima tijekom vremena. 843 00:41:09,780 --> 00:41:12,710 Dakle, to stvarno ovisi više Vrijeme koliko ti troškovi zbrajaju. 844 00:41:12,710 --> 00:41:14,960 Ako ćeš biti pismeno Softver ga koristiti jednom, 845 00:41:14,960 --> 00:41:17,240 Vjerojatno možda i ne brzo i prljavo, kao što kažu. 846 00:41:17,240 --> 00:41:18,198 Samo ga baciti zajedno. 847 00:41:18,198 --> 00:41:20,560 To je kod koji embarrasses ti, to je tako loše, 848 00:41:20,560 --> 00:41:23,860 ali se dobiva posao ispunjavanja ispravno, iako to nije učinkovit. 849 00:41:23,860 --> 00:41:27,200 Isto tako, možete provesti više vremena na nešto, dobiti samo pravo. 850 00:41:27,200 --> 00:41:30,730 A onda amortizira tijekom vremena, da unaprijed trošak vremena 851 00:41:30,730 --> 00:41:34,330 vjerojatno je vrijedno, ako bi se optimizaciji za zajedničke slučaju. 852 00:41:34,330 --> 00:41:37,620 >> I doista, to je tema u programiranje ili informatika više 853 00:41:37,620 --> 00:41:41,390 općenito, pokušavaju optimizirati ne za neobičan slučaj 854 00:41:41,390 --> 00:41:44,390 no uobičajeni case-- ono što operacija će se i opet dogoditi? 855 00:41:44,390 --> 00:41:47,730 Ako ćeš imati milijarde korisnika traži na Vašoj web stranici, 856 00:41:47,730 --> 00:41:52,030 vjerojatno bi trebao provesti dodatni tjedna unaprijed pisanje bolji softver, 857 00:41:52,030 --> 00:41:53,670 tako da svi korisnici imati koristi. 858 00:41:53,670 --> 00:41:57,840 Sada, neka je pokušati uhvatiti ovo bude malo slikovito, ali ne toliko 859 00:41:57,840 --> 00:41:58,610 numerički. 860 00:41:58,610 --> 00:42:01,680 >> Dakle, ovdje je samo stara škola grafikon. 861 00:42:01,680 --> 00:42:04,260 I dopustite mi da kažem da je ovo vrijeme. 862 00:42:04,260 --> 00:42:06,660 I to ne smeta what-- Zapravo, ne, nije vrijeme. 863 00:42:06,660 --> 00:42:08,320 Stavimo da se na drugoj osi. 864 00:42:08,320 --> 00:42:15,700 Recimo da je ovo vrijeme, a to je veličina problem. 865 00:42:15,700 --> 00:42:17,830 >> A računalni znanstvenik Možda se općenito nazvati 866 00:42:17,830 --> 00:42:20,820 ovo samo n. n je kao naša go-to varijabla, gdje 867 00:42:20,820 --> 00:42:26,351 n je broj, broj n, a to je Broj kakvim ulaza imate. 868 00:42:26,351 --> 00:42:28,100 Tako da u ovom slučaju, n je broj stranica. 869 00:42:28,100 --> 00:42:30,150 Dakle, to bi moglo biti 1.000 slučaj smo upravo rekli. 870 00:42:30,150 --> 00:42:31,969 >> Dakle, vrijeme može biti bilo koja jedinica mjere. 871 00:42:31,969 --> 00:42:32,760 Možda, to je drugi. 872 00:42:32,760 --> 00:42:33,410 Možda, to je dan. 873 00:42:33,410 --> 00:42:34,590 Možda, to je kao okretanje stranice. 874 00:42:34,590 --> 00:42:35,215 Nije bitno. 875 00:42:35,215 --> 00:42:38,840 Što god želite brojati u, koji bit će vremena i košta ekvivalentno tome. 876 00:42:38,840 --> 00:42:42,400 >> Dakle, s tim prvi algoritam, ako ja, na primjer, 877 00:42:42,400 --> 00:42:45,920 imali 1000 stranica telefonskog imenika, Idem nacrtati točku tamo, 878 00:42:45,920 --> 00:42:51,450 jer ako je to 1.000 stranica, to je oko 1000 stranica okreće, više ili manje. 879 00:42:51,450 --> 00:42:54,100 A onda, ako sam imao 2000 stranica telefonski imenik, 880 00:42:54,100 --> 00:42:57,200 a ja ću nacrtati drugi dot ovdje, jer je za 2.000 stranica, 881 00:42:57,200 --> 00:42:59,810 to je kao 2.000 sekundi ili stranica okreće ili bilo što drugo. 882 00:42:59,810 --> 00:43:02,480 I tako, kada sam rekao ranije, to je vrsta linearna veza, 883 00:43:02,480 --> 00:43:06,020 to je bilo namjerno, jer sam htjela kasnije on-- pravo now-- povući crtu. 884 00:43:06,020 --> 00:43:07,770 To je vrsta ravno Odnos crta. 885 00:43:07,770 --> 00:43:10,180 Staza je 1/1, ako hoćete. 886 00:43:10,180 --> 00:43:14,630 >> U međuvremenu, druga algoritam rekao, ako imaš 1000 stranica 887 00:43:14,630 --> 00:43:17,680 a ti su koristili drugi algoritam, gdje sam brojati po 2 godina, okreće 888 00:43:17,680 --> 00:43:22,564 dvije stranice odjednom, trebao sam nacrtati dot ispod ili iznad moje izvorne točka? 889 00:43:22,564 --> 00:43:23,450 >> PUBLIKA: Ispod. 890 00:43:23,450 --> 00:43:27,992 >> DAVID Malan: Ispod, jer kao što smo vidjeli, je potrebno manje vremena, upola manje vremena. 891 00:43:27,992 --> 00:43:29,950 Dakle, točka bi trebala biti na pola kao visok kao drugi. 892 00:43:29,950 --> 00:43:33,330 A ista stvar ovdje, ova točka vjerojatno bi trebao biti otprilike tamo. 893 00:43:33,330 --> 00:43:39,666 I tako je moj drugi algoritam, na sličan način, ima linearni odnos s vremenom. 894 00:43:39,666 --> 00:43:41,990 A možemo ga izvući kao takve. 895 00:43:41,990 --> 00:43:45,950 >> Tako sada, treći i završni algoritam je malo teže izvući. 896 00:43:45,950 --> 00:43:49,530 No, intuitivno, ako sam dobio 1.000 stranica sa mog trećeg algoritam, 897 00:43:49,530 --> 00:43:52,340 to treba samo me kao 10 koraka. 898 00:43:52,340 --> 00:43:57,500 I ako imam 2.000 stranica uz moj treći algoritam, 899 00:43:57,500 --> 00:44:01,570 to bi trebalo me ne 10 koraci, ali 11, samo jedan više. 900 00:44:01,570 --> 00:44:03,610 Tako smo samo jedva ide da vidi ovo. 901 00:44:03,610 --> 00:44:06,010 >> I to ispada, ako Ja uvećanje na to, ja sam 902 00:44:06,010 --> 00:44:09,320 ide pretjerivati ​​za učinak, oblik toj liniji, u konačnici, 903 00:44:09,320 --> 00:44:11,990 nije ravna line-- jer, zaista, ako je bilo, 904 00:44:11,990 --> 00:44:15,390 to će izgledati više poput others-- to je zapravo zakrivljena linija 905 00:44:15,390 --> 00:44:19,265 da, ako smo povećali, ide da izgleda puno više kao što je ovaj. 906 00:44:19,265 --> 00:44:21,670 It-- dobro, OK, zanemarite ovaj dio. 907 00:44:21,670 --> 00:44:25,330 To je bio moj pero ide kuta. 908 00:44:25,330 --> 00:44:29,000 To je zakrivljena linija koja je uvijek raste, uvijek, uvijek, uvijek 909 00:44:29,000 --> 00:44:32,100 raste, ali tek jedva. 910 00:44:32,100 --> 00:44:36,260 >> I tako s vremenom, imate odnos koji je više ovako. 911 00:44:36,260 --> 00:44:37,540 To je gotovo izgleda ravno. 912 00:44:37,540 --> 00:44:40,330 No, to je sve tako sporo raste. 913 00:44:40,330 --> 00:44:44,780 Ali gotovo svim točkama uzduž Vaš x-osi, horizontalne osi, 914 00:44:44,780 --> 00:44:46,550 to je niža od one druge linije. 915 00:44:46,550 --> 00:44:49,930 >> Dakle, to bi moglo biti veza n, pri čemu, ako imate n stranica, 916 00:44:49,930 --> 00:44:51,100 vas vodi n sekundi. 917 00:44:51,100 --> 00:44:53,320 To bi moglo biti odnos n / 2. 918 00:44:53,320 --> 00:44:56,710 Imate n stranica, koje je potrebno što n / 2 sekunde, pola koliko. 919 00:44:56,710 --> 00:45:00,590 A to je logaritamska odnos, koji 920 00:45:00,590 --> 00:45:08,920 Ako se sjećate, log baze 2 od n bilježi ova vrsta rasta, da tako kažemo. 921 00:45:08,920 --> 00:45:12,000 Dakle, to je vrsta sveta gral među tri od njih 922 00:45:12,000 --> 00:45:15,940 ovdje, jer to je samo tako mnogo više učinkovit, ali vjerojatno složeniji 923 00:45:15,940 --> 00:45:18,610 provoditi. 924 00:45:18,610 --> 00:45:20,510 Ima li pitanja? 925 00:45:20,510 --> 00:45:26,220 >> Pa neka mi to učiniti, neka ja otvoriti prozor tekst 926 00:45:26,220 --> 00:45:29,100 samo tako možemo pokušati formalizirati nešto ovdje. 927 00:45:29,100 --> 00:45:32,410 Pa neka mi ići naprijed i sada implementirati ovaj algoritam 928 00:45:32,410 --> 00:45:35,170 za pronalaženje Mike Smith u kodu, ako hoćete, pseudokod kod. 929 00:45:35,170 --> 00:45:36,620 Neću koristiti Java ili C ++. 930 00:45:36,620 --> 00:45:38,610 Samo ću koristiti vrsta Engleski-kao sintakse, koje smo 931 00:45:38,610 --> 00:45:40,151 općenito bi nazvati pseudokod koda. 932 00:45:40,151 --> 00:45:41,660 Evo, imam prazan prozor. 933 00:45:41,660 --> 00:45:48,180 A ja govorim koraka 1 vrlo Prvi algoritam je pokupiti telefonski imenik. 934 00:45:48,180 --> 00:45:51,740 Korak 2 je otvorena knjiga na prvoj stranici. 935 00:45:51,740 --> 00:45:58,080 Korak 3 će biti pogledajte Stranica za Mike Smitha. 936 00:45:58,080 --> 00:46:02,740 Ako na stranici, nazovite Mike. 937 00:46:02,740 --> 00:46:11,640 drugi red stranica i idite na korak 3. 938 00:46:11,640 --> 00:46:13,590 Gotovo, recimo. 939 00:46:13,590 --> 00:46:18,110 >> I tako da nije baš savršen, što ćemo vidjeti u jednom trenutku. 940 00:46:18,110 --> 00:46:21,050 Ali neka se uzeti u obzir ono koncepti sam ovdje upoznao. 941 00:46:21,050 --> 00:46:24,450 Dakle korake 1 i 2 i 3 su prilično mnogo glagoli. 942 00:46:24,450 --> 00:46:26,544 Oni su izjave, actions-- to učiniti. 943 00:46:26,544 --> 00:46:28,710 I tako u programiranju jezik, što bi se općenito 944 00:46:28,710 --> 00:46:32,349 zovu ih izjave ili funkcije ili procedure, 945 00:46:32,349 --> 00:46:33,640 poziva ih bilo koji broj stvari. 946 00:46:33,640 --> 00:46:35,460 No, oni su samo actions-- to učiniti. 947 00:46:35,460 --> 00:46:40,370 >> Korak 4 nije bitno drugačija, jer je vrsta postavljanja pitanja. 948 00:46:40,370 --> 00:46:42,400 To govori da smo rod od na raskrižju. 949 00:46:42,400 --> 00:46:48,000 Ako je Mike je na stranici, nazovite ga, pa skrenuti lijevo, ako hoćete. 950 00:46:48,000 --> 00:46:52,170 A ako ne, vratite se na neki drugi page-- odnosno, ispričavam se, 951 00:46:52,170 --> 00:46:56,650 vratiti u nekom drugom koraku, izaziva neku vrstu petlje konstrukt. 952 00:46:56,650 --> 00:46:59,530 I mi to opet i opet i opet. 953 00:46:59,530 --> 00:47:01,300 >> I zapravo, znate što? 954 00:47:01,300 --> 00:47:01,800 Da. 955 00:47:01,800 --> 00:47:04,704 956 00:47:04,704 --> 00:47:09,010 drugo, ako na kraju knjige stajališta. 957 00:47:09,010 --> 00:47:11,624 Zato moramo vrste trećine stanje, jer ti 958 00:47:11,624 --> 00:47:14,290 ne mogu držati okretanje stranica oglasa nauseum, jer na kraju, ja ću 959 00:47:14,290 --> 00:47:15,320 hit kraju knjige. 960 00:47:15,320 --> 00:47:18,546 A bug u programu moglo biti ne očekujući da je scenarij. 961 00:47:18,546 --> 00:47:21,420 A onda sam samo shvatio, oh, čekaj minute, trebam treći scenarij. 962 00:47:21,420 --> 00:47:23,900 Ako sam ja iz stranica, ja treba stvarno samo prestati. 963 00:47:23,900 --> 00:47:25,330 Inače, to je nedefinirani. 964 00:47:25,330 --> 00:47:29,260 Što će se dogoditi ako držim govoreći okrenuti stranicu i vratiti, 965 00:47:29,260 --> 00:47:31,810 To je kada računala zamrznuti ili pad, kada hit 966 00:47:31,810 --> 00:47:34,160 neki neočekivani situacija takva. 967 00:47:34,160 --> 00:47:37,280 >> Sada, što je Mike Smith je treći algorithm-- 968 00:47:37,280 --> 00:47:43,150 pokupiti telefonski imenik, otvorena knjiga za first-- se 969 00:47:43,150 --> 00:47:48,640 ne, ne prva stranica ovog puta, da middle-- oh, dobro, to bi 970 00:47:48,640 --> 00:47:49,640 biti drugi algoritam. 971 00:47:49,640 --> 00:47:50,590 Ajmo preskočiti na trećem. 972 00:47:50,590 --> 00:47:50,930 >> PUBLIKA: Oh, žao mi je. 973 00:47:50,930 --> 00:47:51,971 >> DAVID Malan: To je u redu. 974 00:47:51,971 --> 00:47:58,590 Ajmo preskočiti na third-- otvorenom na sredini, a sada traže Mike Smith. 975 00:47:58,590 --> 00:48:02,300 Ako na stranici, nazovite Mike. 976 00:48:02,300 --> 00:48:04,910 I onda ono što želimo reći ovdje? 977 00:48:04,910 --> 00:48:06,134 što? 978 00:48:06,134 --> 00:48:10,620 979 00:48:10,620 --> 00:48:12,370 Možemo izraziti na bilo koji broj načina. 980 00:48:12,370 --> 00:48:13,369 Nema pravog odgovora. 981 00:48:13,369 --> 00:48:20,819 982 00:48:20,819 --> 00:48:23,735 OK, ako ne opet, ali moramo be-- OK, mi želimo podijeliti na dva dijela, 983 00:48:23,735 --> 00:48:25,630 ali ne želimo ići lijevo ili otići u redu? 984 00:48:25,630 --> 00:48:29,560 Kako izraziti taj pojam? 985 00:48:29,560 --> 00:48:31,790 Pa, u Mike slučaju, da, to je fer. 986 00:48:31,790 --> 00:48:35,050 No, u redu, tako da je zapravo dobra stvar. 987 00:48:35,050 --> 00:48:35,550 To je u redu. 988 00:48:35,550 --> 00:48:36,924 Mi ćemo nastaviti s tom logikom. 989 00:48:36,924 --> 00:48:38,182 Tako-- 990 00:48:38,182 --> 00:48:39,810 >> PUBLIKA: Manje od pola. 991 00:48:39,810 --> 00:48:40,560 DAVID Malan: Da. 992 00:48:40,560 --> 00:48:49,820 Pa još ako je stranica, mi ćemo reći, manje od Smitha, s lijeve strane Smitha, 993 00:48:49,820 --> 00:48:52,220 then-- da vidimo, je to će zakomplicirati? 994 00:48:52,220 --> 00:49:01,885 drugo, ako stranica dolazi prije Smitha, suza na pola, bacaju koja polovica? 995 00:49:01,885 --> 00:49:05,643 996 00:49:05,643 --> 00:49:09,140 >> PUBLIKA: Mislio sam to je [nečujan]. 997 00:49:09,140 --> 00:49:11,650 >> DAVID Malan: Ja sam čuo i odgovora. 998 00:49:11,650 --> 00:49:12,431 >> PUBLIKA: Lijeva. 999 00:49:12,431 --> 00:49:14,430 DAVID Malan: OK, bacati daleko je napustio pola, kao Lakisa 1000 00:49:14,430 --> 00:49:19,700 rekao ranije, lijevo pol, onda sam nekako 1001 00:49:19,700 --> 00:49:23,940 žele samo ići to-- idem na desno. 1002 00:49:23,940 --> 00:49:27,380 Ili ekvivalentno, a ja sam malo malo je nered na početku ovdje 1003 00:49:27,380 --> 00:49:30,760 Ja učinkovito želim ići opet korak 2, 1004 00:49:30,760 --> 00:49:38,270 gdje otvoren za middle-- ili open-- Da, recimo samo, stranice u sredini. 1005 00:49:38,270 --> 00:49:39,020 I to ga popravlja. 1006 00:49:39,020 --> 00:49:39,936 To više nije knjiga. 1007 00:49:39,936 --> 00:49:42,210 To je samo pola knjige, tako otvorene stranice na sredini. 1008 00:49:42,210 --> 00:49:44,010 >> else-- bili gotovo tamo. 1009 00:49:44,010 --> 00:49:54,000 Korak 6, inače ako stranica dolazi nakon Smitha, suza na pola, bacaju desnu polovicu, 1010 00:49:54,000 --> 00:49:55,680 a zatim idite na korak 2. 1011 00:49:55,680 --> 00:49:58,920 1012 00:49:58,920 --> 00:50:05,230 inače prestati, i četvrti scenarij ako nemamo stranice lijevo okrenuti. 1013 00:50:05,230 --> 00:50:06,394 Tako smo mogli očistiti ovo gore. 1014 00:50:06,394 --> 00:50:07,560 I mi bi trebali očistiti ovo gore. 1015 00:50:07,560 --> 00:50:10,656 To je vrlo pseudokod broj, ako vas će, opis vrlo visokoj razini. 1016 00:50:10,656 --> 00:50:12,280 No, to se općenito ne uhvatiti ideju. 1017 00:50:12,280 --> 00:50:16,040 >> A, opet, u ovom scenariju, mi imaju ideju o stanju, 1018 00:50:16,040 --> 00:50:20,450 grana, vilica na cesti, što decision-- ako se to, idi na ovaj način, 1019 00:50:20,450 --> 00:50:23,082 drugo, ako se ide na ovaj način, drugo, ako se ide na taj način. 1020 00:50:23,082 --> 00:50:25,040 A to je vrlo čest tehnika programiranja 1021 00:50:25,040 --> 00:50:27,721 odlučiti u kojem smjeru ići, da tako kažemo. 1022 00:50:27,721 --> 00:50:29,970 I mi također imaju neke vrste od petlje strukturu, u kojoj 1023 00:50:29,970 --> 00:50:32,440 mi smo opet i opet radi nešto. 1024 00:50:32,440 --> 00:50:34,820 >> Sada, što se ispostavilo, mnogo kao u ovom primjeru, 1025 00:50:34,820 --> 00:50:37,660 bude super precizna je važno. 1026 00:50:37,660 --> 00:50:42,180 Ali također sam vidio nešto da čuvamo zove apstrakcija. 1027 00:50:42,180 --> 00:50:45,490 Što znači da pokupi telefonski imenik? 1028 00:50:45,490 --> 00:50:47,740 Mi smo samo vrsta uzimajući zdravo za gotovo u ovoj sobi 1029 00:50:47,740 --> 00:50:49,340 da da ima neki semantički smisao. 1030 00:50:49,340 --> 00:50:51,740 Svi mi samo vrsta znam, oh, dobro, pokupiti telefonski imenik. 1031 00:50:51,740 --> 00:50:52,864 Što to zapravo znači? 1032 00:50:52,864 --> 00:50:59,060 Pa, to zapravo znači da proširi ruka, nadviti, proširiti prstima, 1033 00:50:59,060 --> 00:51:03,890 prstohvat knjigu između prstiju, stand up, pull ruku prema sebi. 1034 00:51:03,890 --> 00:51:05,940 A mogli smo biti jako pedantan o tome, 1035 00:51:05,940 --> 00:51:08,640 stvarno se super precizna kao da ono što radim. 1036 00:51:08,640 --> 00:51:13,300 No, sve te korake zajedno su što znači da pokupi telefonskog imenika. 1037 00:51:13,300 --> 00:51:16,940 >> I tako ranije, kad sam rekao, svaki ova prva dva izvještaja 1038 00:51:16,940 --> 00:51:20,830 može shvatiti kao nastavak ili funkcija, 1039 00:51:20,830 --> 00:51:24,090 stvarno ona predstavlja ono što mi zadržati poziv apstrakciju. 1040 00:51:24,090 --> 00:51:28,770 To je kao da na visokoj razini konceptualnog opis problema koji 1041 00:51:28,770 --> 00:51:31,110 zapravo uključuje dosta koraka. 1042 00:51:31,110 --> 00:51:34,190 I tako to, također, ponavljajući teme u programiranju, 1043 00:51:34,190 --> 00:51:41,125 pri čemu bih mogao napisati program koristeći sintaksu kao što učinimo, 1044 00:51:41,125 --> 00:51:42,000 pick_up_phone_book (). 1045 00:51:42,000 --> 00:51:44,344 1046 00:51:44,344 --> 00:51:46,510 A onda sintaktički, ja sam ukrast nešto 1047 00:51:46,510 --> 00:51:48,090 od većine programskih jezika. 1048 00:51:48,090 --> 00:51:51,270 >> Sada, korak 1 izgleda još više kao funkciju, 1049 00:51:51,270 --> 00:51:53,160 kao programer će ga nazvati. 1050 00:51:53,160 --> 00:51:58,650 Izgleda da je kod tog nekoga je dao ime i dao 1051 00:51:58,650 --> 00:52:03,300 mi koristiti somehow-- u drugom riječima, ono što je linija što sam istaknuo 1052 00:52:03,300 --> 00:52:07,050 predstavlja funkcionalnost da možda Nisam ni provoditi sam. 1053 00:52:07,050 --> 00:52:10,410 Netko stariji, mudriji od meni je već skužio 1054 00:52:10,410 --> 00:52:12,700 kako se izraziti pojam branje gore telefonski imenik. 1055 00:52:12,700 --> 00:52:15,860 I to je kao pet koraka sam upravo pogodio off, off vrhu moje glave. 1056 00:52:15,860 --> 00:52:19,350 >> No, on ili ona se već provodi ovo je dao one u nekoliko koraka 1057 00:52:19,350 --> 00:52:22,339 ime, pick_up_phone_book. 1058 00:52:22,339 --> 00:52:24,380 A zagrade je upravo ono što većina programera 1059 00:52:24,380 --> 00:52:27,100 to je na kraju izjave kao što je ovaj. 1060 00:52:27,100 --> 00:52:30,190 Ja sada mogu stajati na njegov ili njezin Ramena i nikad više, 1061 00:52:30,190 --> 00:52:32,465 razmišljati o tome što to znači pokupiti telefonski imenik. 1062 00:52:32,465 --> 00:52:34,090 Mogu samo reći, pokupiti telefonski imenik. 1063 00:52:34,090 --> 00:52:36,690 A to je upravo ono što svi od nas ljudi nije ovdje. 1064 00:52:36,690 --> 00:52:38,940 >> Kad smo bili vjerojatno 1 godina, 2 godine stari, 1065 00:52:38,940 --> 00:52:41,690 netko je morao da nas uče što je to mislio pokupiti telefonski imenik. 1066 00:52:41,690 --> 00:52:43,810 I od tada, smo izdvojiti daleko 1067 00:52:43,810 --> 00:52:46,739 od onih vrlo nezanimljivo Mehaničke mjere. 1068 00:52:46,739 --> 00:52:48,530 A mi samo imati intuitivno razumijevanje 1069 00:52:48,530 --> 00:52:50,480 što to znači pokupiti telefonski imenik. 1070 00:52:50,480 --> 00:52:55,730 >> A možete ekstrapolirati sada više komplicirano things-- 1071 00:52:55,730 --> 00:52:57,640 izgraditi zgradu. 1072 00:52:57,640 --> 00:52:59,940 Kao, da neki ljudi, koji zapravo ima smisla. 1073 00:52:59,940 --> 00:53:03,080 Za izvođača radova, arhitektima, koji ima neko značenje. 1074 00:53:03,080 --> 00:53:06,400 I oni će znati što učiniti ako Rekla sam, idi izgraditi zgradu. 1075 00:53:06,400 --> 00:53:10,520 >> No, većina nas u sobi nije mogao nositi se s tom razinom apstrakcije. 1076 00:53:10,520 --> 00:53:14,850 Morate nam reći željeli ići dobiti lopatom i ići dobiti beton 1077 00:53:14,850 --> 00:53:17,250 i noktiju komada drveta zajedno i sve ostalo 1078 00:53:17,250 --> 00:53:18,830 sudjeluje u izgradnji zgrade. 1079 00:53:18,830 --> 00:53:21,690 A to je zato što nemamo Još je programiran da razumiju 1080 00:53:21,690 --> 00:53:23,629 što znači izgraditi zgradu. 1081 00:53:23,629 --> 00:53:24,920 Mi nemamo tu apstrakciju. 1082 00:53:24,920 --> 00:53:26,570 Mi nemamo tu funkcionalnost. 1083 00:53:26,570 --> 00:53:29,930 >> I tako što ćete vidjeti u programski jezici, u cjelini, 1084 00:53:29,930 --> 00:53:34,570 posebno više modernih jezika, kao što su Java, PHP, Ruby, i Python, 1085 00:53:34,570 --> 00:53:37,610 oni su mnogo zreliji od starijih jezika, 1086 00:53:37,610 --> 00:53:40,140 kao što su C i C ++ i još drugima. 1087 00:53:40,140 --> 00:53:42,580 I tako oni dolaze s više funkcionalnost izgrađena. 1088 00:53:42,580 --> 00:53:45,640 Više code je napisano ljudi u prošlosti 1089 00:53:45,640 --> 00:53:50,520 da sada možemo nazvati ili pozove ili koristiti, kao što sam aludirati 1090 00:53:50,520 --> 00:53:52,231 na s tim istaknute linije ovdje. 1091 00:53:52,231 --> 00:53:55,230 I tako, iako mi ne govorimo o programskim jezicima po sebi, 1092 00:53:55,230 --> 00:54:00,230 Samo pseudokod kod, sve od ideje su još uvijek u toj raspravi. 1093 00:54:00,230 --> 00:54:04,600 I ispada preciznost super važno, kao što je apstrakcija. 1094 00:54:04,600 --> 00:54:06,570 I pokušajmo komunikaciju koja na sljedeći način. 1095 00:54:06,570 --> 00:54:11,000 >> Slučajno sam možda pokvaren to bljeskanjem slajd na zaslonu 1096 00:54:11,000 --> 00:54:12,260 preuranjeno. 1097 00:54:12,260 --> 00:54:16,550 No, dopustite mi da vas pitati za hrabrog dobrovoljca, ako vam ne smeta dolaze gore. 1098 00:54:16,550 --> 00:54:19,040 Ti bi biti ispred kamera, ako ste u redu s tim. 1099 00:54:19,040 --> 00:54:24,950 Hoće li netko doći i dati Upute za svoje kolege ovdje? 1100 00:54:24,950 --> 00:54:29,540 Samo moram doći ovamo i stajati ovdje i reći nekoliko riječi. 1101 00:54:29,540 --> 00:54:32,890 >> Victoria je nasmijana najviše i izbjegavanje oči najviše. 1102 00:54:32,890 --> 00:54:34,740 Biste li bili spremni doći na gore? 1103 00:54:34,740 --> 00:54:35,240 U REDU. 1104 00:54:35,240 --> 00:54:38,480 A ako su svi ostali na svojim mjestima mogao uzeti jedan komad otpadnog papira, 1105 00:54:38,480 --> 00:54:39,750 Ako hoćeš. 1106 00:54:39,750 --> 00:54:40,760 Poravnati rad je u redu. 1107 00:54:40,760 --> 00:54:41,990 Navratiti na ovaj način. 1108 00:54:41,990 --> 00:54:44,580 Ili neki od papira koji što su jučer dao, 1109 00:54:44,580 --> 00:54:46,493 samo bilo prazan list od papira, ako može. 1110 00:54:46,493 --> 00:54:52,240 1111 00:54:52,240 --> 00:54:54,870 A ako nemaju, samo pitajte svog susjeda, ako može. 1112 00:54:54,870 --> 00:55:04,220 1113 00:55:04,220 --> 00:55:07,580 >> Dakle, u ovom trenutku, za ovaj primjer, Victoria 1114 00:55:07,580 --> 00:55:11,520 će igrati ulogu programer, inženjer, koji je 1115 00:55:11,520 --> 00:55:16,130 treba vam programirati sve, kao računala, nešto učiniti. 1116 00:55:16,130 --> 00:55:19,570 A vidjet ćemo što pretpostavke što se odlučite. 1117 00:55:19,570 --> 00:55:22,700 Vidjet ćemo koliko je točna ona odabere da bude. 1118 00:55:22,700 --> 00:55:26,220 A ako je to demonstracija ide pedagoški dobro, puno pogrešaka 1119 00:55:26,220 --> 00:55:29,220 bit će, kako smo tada ćemo koristiti da kao priliku za raspravu. 1120 00:55:29,220 --> 00:55:32,010 No, izazov za vas trebaju se izbjeći one pogreške, 1121 00:55:32,010 --> 00:55:32,896 biti dobar programer. 1122 00:55:32,896 --> 00:55:35,520 I tako je izazov pri ruci, ako ti bi volio da hodaju ovamo, 1123 00:55:35,520 --> 00:55:38,799 se nalazi ispred Victoria na ekranu here-- i nadamo se, nitko od vas 1124 00:55:38,799 --> 00:55:40,590 sjećam se kad sam se bljeskale na ekranu. 1125 00:55:40,590 --> 00:55:44,097 I ne okreni na sve, jer postoji još jedan ekran u ovoj sobi 1126 00:55:44,097 --> 00:55:44,930 da mogu isključiti. 1127 00:55:44,930 --> 00:55:46,620 Dakle, ne okrenuti. 1128 00:55:46,620 --> 00:55:49,090 >> Ispred Victoria je taj isti vrisak. 1129 00:55:49,090 --> 00:55:54,170 A njezin posao je da vam reći sve na svom komadu papira što izvući. 1130 00:55:54,170 --> 00:55:57,020 A vidjet ćemo, na temelju verbalne upute sama, 1131 00:55:57,020 --> 00:56:00,020 računalni kod, ako hoćete, kako točno svoje crteže 1132 00:56:00,020 --> 00:56:02,330 are-- vaše implementacije su. 1133 00:56:02,330 --> 00:56:02,980 Ima smisla? 1134 00:56:02,980 --> 00:56:03,604 >> PUBLIKA: Da. 1135 00:56:03,604 --> 00:56:04,980 DAVID Malan: OK, izvršavati. 1136 00:56:04,980 --> 00:56:06,030 >> PUBLIKA: Nacrtajte kvadrat. 1137 00:56:06,030 --> 00:56:09,050 >> [SMIJEH] 1138 00:56:09,050 --> 00:56:12,310 >> DAVID Malan: I nema pitanja mogu biti pitani. 1139 00:56:12,310 --> 00:56:13,720 Mogu samo ono što ti se kaže. 1140 00:56:13,720 --> 00:56:17,570 1141 00:56:17,570 --> 00:56:22,550 Oh, i ako imate današnji slajdova otvaranje na karticu, ne gledati na kartici. 1142 00:56:22,550 --> 00:56:23,670 U REDU? 1143 00:56:23,670 --> 00:56:26,135 >> PUBLIKA: OK, nacrtati krug. 1144 00:56:26,135 --> 00:56:32,544 1145 00:56:32,544 --> 00:56:34,872 Slope-- mogu reći nagib? 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 PUBLIKA: padini. 1149 00:56:38,980 --> 00:56:46,330 1150 00:56:46,330 --> 00:56:49,795 A trokut. 1151 00:56:49,795 --> 00:56:50,850 >> DAVID Malan: U redu. 1152 00:56:50,850 --> 00:56:52,286 I ovdje ostati samo na trenutak. 1153 00:56:52,286 --> 00:56:56,046 1154 00:56:56,046 --> 00:56:58,910 I ja ću doći okolo u samo jednom trenutku. 1155 00:56:58,910 --> 00:57:02,420 I nema potrebe da stavi svoje ime na njemu. 1156 00:57:02,420 --> 00:57:05,030 Dopustite mi da se oko sebe i skupljati svoje crteže, 1157 00:57:05,030 --> 00:57:08,330 ako vam ne smeta suzenje ih. 1158 00:57:08,330 --> 00:57:12,110 >> Ovdje je ono što smo se vratili. 1159 00:57:12,110 --> 00:57:14,770 Ja ću ga projicirati na zaslon. 1160 00:57:14,770 --> 00:57:18,310 Vidim kvadrat, krug, padini, a trokut. 1161 00:57:18,310 --> 00:57:20,130 Tako da je jedan odgovor tamo. 1162 00:57:20,130 --> 00:57:23,640 I let's-- ups. 1163 00:57:23,640 --> 00:57:25,370 Hvala ti. 1164 00:57:25,370 --> 00:57:30,710 Evo još jedan izbor, i jedan iza njega. 1165 00:57:30,710 --> 00:57:34,130 1166 00:57:34,130 --> 00:57:37,120 >> Dakle, svi oni činiti se uhvatiti duh. 1167 00:57:37,120 --> 00:57:38,600 Hvala ti. 1168 00:57:38,600 --> 00:57:44,970 Postoji još jedan, pa evo još jedan. 1169 00:57:44,970 --> 00:57:51,590 Tumačenje Nagib je malo drugačiji, malo curvy. 1170 00:57:51,590 --> 00:57:57,140 A najbliži, bilo zato što je od divno specifičnost s kojom ste 1171 00:57:57,140 --> 00:58:03,520 opisano, ili možda neka vrsta Vidio je to i prije, ovo je zaista 1172 00:58:03,520 --> 00:58:06,340 što Victoria zapravo opisuje. 1173 00:58:06,340 --> 00:58:09,190 >> Ali sada, oni od vas koji nije se to sasvim u redu, 1174 00:58:09,190 --> 00:58:11,140 neka je ponuditi neke primjedbe ovdje. 1175 00:58:11,140 --> 00:58:13,770 Dakle, Victoria prvo rekao nacrtati kvadrat. 1176 00:58:13,770 --> 00:58:15,830 A sada, možemo pretpostaviti radi i danas 1177 00:58:15,830 --> 00:58:17,538 da svatko zna kako nacrtati kvadrat. 1178 00:58:17,538 --> 00:58:20,590 Ali to nije u potpunosti jasan, zar ne? 1179 00:58:20,590 --> 00:58:23,220 Kako bi inače mogli imati nacrtan kvadrat, ili ako 1180 00:58:23,220 --> 00:58:27,114 Možda neke od nejasnoća Ovdje za računalo? 1181 00:58:27,114 --> 00:58:28,280 PUBLIKA: Položaj i veličina. 1182 00:58:28,280 --> 00:58:28,980 DAVID Malan Location, zar ne? 1183 00:58:28,980 --> 00:58:32,070 Svi vi imali papir nekom obliku, općenito pravokutnici, ali malo 1184 00:58:32,070 --> 00:58:32,830 različite veličine. 1185 00:58:32,830 --> 00:58:36,250 Ali ti sigurno mogao izvući, ako ste htjeli, veliki trg, možda 1186 00:58:36,250 --> 00:58:37,220 maleni trg. 1187 00:58:37,220 --> 00:58:38,417 Možda, to je bio okrenut prema van. 1188 00:58:38,417 --> 00:58:39,500 Ne mislim da smo to vidjeli. 1189 00:58:39,500 --> 00:58:41,790 Ali, to bi moglo biti više dijamant kao što je, ali ipak, ipak, 1190 00:58:41,790 --> 00:58:42,900 Matematički kvadrat. 1191 00:58:42,900 --> 00:58:44,850 Tako da je nedvojbeno jasan. 1192 00:58:44,850 --> 00:58:46,709 >> Zatim je rekla: nacrtajte krug. 1193 00:58:46,709 --> 00:58:49,250 Neki od vas nije ga izvući pored to, što nije nerazuman, 1194 00:58:49,250 --> 00:58:52,450 jer ljudi imaju tendenciju da razmišljaju ili čitati Pravo na lijevo u većini jezika, tako da se ne 1195 00:58:52,450 --> 00:58:53,017 loša pretpostavka. 1196 00:58:53,017 --> 00:58:55,100 Ali to krug može imati bio unutar trga, 1197 00:58:55,100 --> 00:58:57,600 mogao biti oko trg, mogao biti negdje drugdje 1198 00:58:57,600 --> 00:58:59,480 na listu, tako da vjerojatno nejasan. 1199 00:58:59,480 --> 00:59:03,290 >> Nagib je moglo biti, možda uzimajući najviše slobode i usmeno 1200 00:59:03,290 --> 00:59:04,200 s tim što to znači. 1201 00:59:04,200 --> 00:59:06,980 A neki od vas tumačiti to što je iskrivljena linija 1202 00:59:06,980 --> 00:59:08,560 ili ravna linija i slično. 1203 00:59:08,560 --> 00:59:11,719 A onda trokut, također, može imati usmjerena na bilo koji broj načina. 1204 00:59:11,719 --> 00:59:14,760 Dakle, ukratko, čak i nešto što ti prvi pogled, a ti si kao, wow, pa 1205 00:59:14,760 --> 00:59:17,020 jednostavno, dijete može nacrtati to, ali ne 1206 00:59:17,020 --> 00:59:19,640 Stvarno, ako nisi super, super uvjerljiv 1207 00:59:19,640 --> 00:59:22,045 i reci računalo točno što učiniti. 1208 00:59:22,045 --> 00:59:24,420 Dakle, ako bismo mogli, ako imate još jedan list papira, neka je 1209 00:59:24,420 --> 00:59:26,710 probati ovaj još jednom. 1210 00:59:26,710 --> 00:59:29,880 A ja ću dati Victoria jedan Drugi primjer na zaslonu ovdje. 1211 00:59:29,880 --> 00:59:34,060 I opet, ne okrenuti i ne gledati na slajdovima. 1212 00:59:34,060 --> 00:59:37,304 A ja ću joj dati trenutak za razmišljati o tome kako bi se to opisalo. 1213 00:59:37,304 --> 00:59:39,012 Nemojte dopustiti da ih vidim strah u očima. 1214 00:59:39,012 --> 00:59:40,820 >> [SMIJEH] 1215 00:59:40,820 --> 00:59:43,710 >> I opet, ovaj put poluga neke od tih takeaways 1216 00:59:43,710 --> 00:59:48,130 i pokušati dobiti gotovo sve barem pravi odgovor. 1217 00:59:48,130 --> 00:59:52,260 >> PUBLIKA: OK, uzeti komad papira, pogledaj 1218 00:59:52,260 --> 00:59:54,500 u sredini taj komad papira. 1219 00:59:54,500 --> 00:59:59,591 U sredini tog komada papira, nacrtati kocku. 1220 00:59:59,591 --> 01:00:01,244 >> [SMIJEH] 1221 01:00:01,244 --> 01:00:02,660 DAVID Malan: Što smo 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 U redu, ponoviti ako bi mogli, za svakoga. 1225 01:00:09,045 --> 01:00:13,210 >> PUBLIKA: u sredini komad papira, nacrtati objekt, 1226 01:00:13,210 --> 01:00:14,842 koji izgleda kao kocka. 1227 01:00:14,842 --> 01:00:17,332 >> DAVID Malan: OK, to je sve što ste dobili za rad. 1228 01:00:17,332 --> 01:00:20,010 1229 01:00:20,010 --> 01:00:23,080 Dopustite mi da se analitički a ne toliko kritična, 1230 01:00:23,080 --> 01:00:25,720 ali da bi zahtjev da je Victoria definitivno 1231 01:00:25,720 --> 01:00:28,967 Čini se da je razmišljanje u vrlo na visokoj razini apstrakcije, koje 1232 01:00:28,967 --> 01:00:29,800 nije nerazuman. 1233 01:00:29,800 --> 01:00:32,160 Jer inače, mi bi svi biti prilično disfunkcionalna, 1234 01:00:32,160 --> 01:00:35,740 ako smo morali biti uvijek tako precizan sa svime što radimo na svijetu. 1235 01:00:35,740 --> 01:00:38,890 >> But riječi idi na middle-- I. Mislili smo bili na tako dobrom putu 1236 01:00:38,890 --> 01:00:42,340 tamo, kao i otići u samom središtu stranice, a zatim nacrtati kocku. 1237 01:00:42,340 --> 01:00:45,730 Dakle, ona misli u apstrakcijama, jer je ona još uvijek gledate 1238 01:00:45,730 --> 01:00:48,490 što je na ekranu kao doista kocka. 1239 01:00:48,490 --> 01:00:51,185 No, postoji toliko mogućnosti za interpretaciju tamo. 1240 01:00:51,185 --> 01:00:53,560 A u stvari, postoji toliko mnogo drugi načini mogli izraziti 1241 01:00:53,560 --> 01:00:55,101 da, što ću predložiti u trenutku. 1242 01:00:55,101 --> 01:00:59,770 Dakle, ovdje imamo jednu inkarnaciju od picture-- whoops-- jedan 1243 01:00:59,770 --> 01:01:02,830 inkarnacija na slici, tako da Malo tri dimenzionalnosti na njega, 1244 01:01:02,830 --> 01:01:04,160 što je lijepo. 1245 01:01:04,160 --> 01:01:08,470 >> Evo još jedna, u kojoj imate isto, iako to je vrsta otvorenog kocke. 1246 01:01:08,470 --> 01:01:12,020 Neki ljudi ga malo uzeo Više stan, dvodimenzionalni. 1247 01:01:12,020 --> 01:01:13,910 I to je u redu. 1248 01:01:13,910 --> 01:01:17,380 Tako da, doista u središte papira. 1249 01:01:17,380 --> 01:01:22,720 Ovaj Mislim da će ti kao, jer ako idemo ovdje, 1250 01:01:22,720 --> 01:01:25,130 to je ono što je opisuje. 1251 01:01:25,130 --> 01:01:29,570 Tako sada, neka mi predložiti kako drugačije bismo mogli opisati ovu situaciju. 1252 01:01:29,570 --> 01:01:34,070 >> Natrag u dan, jedan od najvažnijih više uobičajene načine kako bi naučili programiranje 1253 01:01:34,070 --> 01:01:38,900 je pisati kod, piše linije uputama, 1254 01:01:38,900 --> 01:01:42,640 koja je kontrolirala malo kornjača na ekranu. 1255 01:01:42,640 --> 01:01:45,660 Logo i druge varijante ove bio je naziv za jezik. 1256 01:01:45,660 --> 01:01:47,550 A kornjača živi u svijetu. 1257 01:01:47,550 --> 01:01:49,970 >> Dakle, pretpostavimo tu pravokutnog Prostor je njegov svijet. 1258 01:01:49,970 --> 01:01:53,340 A ti bi početi assuming-- I. ne znam kako se izvući kornjača, 1259 01:01:53,340 --> 01:01:54,740 pa neka je to učiniti ovako. 1260 01:01:54,740 --> 01:01:57,340 I onda on ima ljusku a onda možda neki stopala. 1261 01:01:57,340 --> 01:01:59,840 Tako možete imati ovaj mali lik na ekranu. 1262 01:01:59,840 --> 01:02:02,270 >> A cilj tome programski jezik 1263 01:02:02,270 --> 01:02:06,070 bio da prisili kornjača ići prema gore, dolje, lijevo, desno 1264 01:02:06,070 --> 01:02:08,420 i staviti svoje pero dolje ili pokupiti svoje pero gore, 1265 01:02:08,420 --> 01:02:12,720 tako da on zapravo mogao izvući na zaslonu u ovoj vrlo ravnim pravokutnim svijetu. 1266 01:02:12,720 --> 01:02:16,850 Dakle, gdje sam mislio da možda dolazite, i gdje bi trebali razmisliti o ronjenju 1267 01:02:16,850 --> 01:02:19,520 dolje na mentalno kada opisuju Upute za općenitije, 1268 01:02:19,520 --> 01:02:21,720 Ja bih tvrde, stavlja svoj pero dolje u middle-- 1269 01:02:21,720 --> 01:02:23,100 a mi ćemo se riješiti kornjača, jer ja stvarno ne mogu 1270 01:02:23,100 --> 01:02:24,680 držati ga crtanje vrlo dobro. 1271 01:02:24,680 --> 01:02:27,170 >> A sada, kako još može Kažem nacrtati kocku? 1272 01:02:27,170 --> 01:02:32,830 Pa, moglo bi se reći nešto poput izvlačenja dijagonalna linija sjeveroistoku, na primjer, 1273 01:02:32,830 --> 01:02:35,182 ili pod kutom od 45 stupnjeva prema gore. 1274 01:02:35,182 --> 01:02:36,640 I to bi me dobivši ovdje. 1275 01:02:36,640 --> 01:02:38,380 I ja sam prilično daleko od kocke. 1276 01:02:38,380 --> 01:02:42,430 Ali sada, mogao bih reći nešto kao i skrenite za 90 stupnjeva u lijevo 1277 01:02:42,430 --> 01:02:47,370 i nacrtati liniju jednaka sjeverozapadno duljine. 1278 01:02:47,370 --> 01:02:49,470 I ja sam mogao nastaviti sa sličnim smjerovima. 1279 01:02:49,470 --> 01:02:50,720 A to neće biti lako. 1280 01:02:50,720 --> 01:02:53,345 I iskreno, vjerojatno bi su ovdje već pet minuta. 1281 01:02:53,345 --> 01:02:59,600 No, možda bi nam došao do nešto što je na kraju krajeva, 1282 01:02:59,600 --> 01:03:04,280 završi kao kocka, ali mi zaronio unutar te apstrakcije 1283 01:03:04,280 --> 01:03:06,370 to učiniti na takav nizak razina da ne mogu stvarno 1284 01:03:06,370 --> 01:03:09,795 vidi ono što radite dok cijela Stvar je zapravo tu na stranici. 1285 01:03:09,795 --> 01:03:12,670 I tako to je opće načelo, opet, programming-- ove ideje 1286 01:03:12,670 --> 01:03:13,320 apstrakcije. 1287 01:03:13,320 --> 01:03:15,920 To je tako divno moćna, jer opet, 1288 01:03:15,920 --> 01:03:19,281 ona je samo rekla, nacrtati kocku, koja sve nas prilično mnogo bi zahvatite vrlo brzo. 1289 01:03:19,281 --> 01:03:21,030 Mi bismo samo razumjeli, OK, nacrtati kocku. 1290 01:03:21,030 --> 01:03:24,030 Mi možda ne znaju orijentaciju, kako bismo mogli biti malo precizniji, 1291 01:03:24,030 --> 01:03:26,297 ali mi se općenito mogu zamisliti ili zna što je kocka. 1292 01:03:26,297 --> 01:03:28,130 I to je korisno, jer ako svaki put kad 1293 01:03:28,130 --> 01:03:31,540 sjeo je kao programer u tipkovnicu za pisanje koda, 1294 01:03:31,540 --> 01:03:33,912 ako je razmišljati na takav niska razina, nitko od nas 1295 01:03:33,912 --> 01:03:35,120 nikad neće dobiti ništa učinio. 1296 01:03:35,120 --> 01:03:38,259 I svakako, nitko od nas ne bi uživati ​​u procesu pisanja koda. 1297 01:03:38,259 --> 01:03:41,550 To bi bilo kao pisanje u 0 a i 1-ih, koji iskreno nije bilo tako davno 1298 01:03:41,550 --> 01:03:43,680 ljudi su pisanje koda u 0 a i 1-a. 1299 01:03:43,680 --> 01:03:46,960 I mi vrlo brzo došli do to viša razina languages-- 1300 01:03:46,960 --> 01:03:49,410 C ++ i Java i drugi. 1301 01:03:49,410 --> 01:03:52,500 >> Dakle, pokušajmo još jednom samo da Flip tablice, tako da smo svi mi 1302 01:03:52,500 --> 01:03:55,450 imati priliku za razmišljanje u, a na isti način. 1303 01:03:55,450 --> 01:03:59,230 Možemo li dobiti još jedan volonter ovo Vrijeme je da se do ploče i crtanje, 1304 01:03:59,230 --> 01:04:01,480 ne izgovaraju? 1305 01:04:01,480 --> 01:04:02,070 Da, u redu. 1306 01:04:02,070 --> 01:04:04,820 Ben, hajde gore. 1307 01:04:04,820 --> 01:04:08,510 I Ben, u ovom slučaju, kada vas lice odbora, ne gledaj lijevo, 1308 01:04:08,510 --> 01:04:09,370 ne izgledaju dobro. 1309 01:04:09,370 --> 01:04:12,367 Samo ono sto mi tvoje kolega ovdje ti. 1310 01:04:12,367 --> 01:04:14,950 A za sve ostale u soba, sada su programer. 1311 01:04:14,950 --> 01:04:16,020 On je računalo. 1312 01:04:16,020 --> 01:04:21,395 A slika sam izabrao ovdje unaprijed je ovaj ovdje. 1313 01:04:21,395 --> 01:04:24,490 1314 01:04:24,490 --> 01:04:27,660 Oni just-- oni misle: smiješno vic je sve. 1315 01:04:27,660 --> 01:04:31,510 >> Tako bi se netko želio dobrovoljno prvu pouku 1316 01:04:31,510 --> 01:04:35,470 ili izjava koje bi trebalo Command Benov olovka? 1317 01:04:35,470 --> 01:04:40,850 A mi ćemo to učiniti zajedno, možda jedna instrukcija iz svake osobe. 1318 01:04:40,850 --> 01:04:41,440 Žao mi je? 1319 01:04:41,440 --> 01:04:42,440 >> PUBLIKA: Nacrtajte krug. 1320 01:04:42,440 --> 01:04:45,866 DAVID Malan: Nacrtajte krug je prva stvar koju sam čuo. 1321 01:04:45,866 --> 01:04:47,100 >> PUBLIKA: Do vrha. 1322 01:04:47,100 --> 01:04:48,140 >> DAVID Malan: Do vrha. 1323 01:04:48,140 --> 01:04:52,504 OK, možemo vam izbrisati, poništiti. 1324 01:04:52,504 --> 01:04:53,420 A sada, netko drugi. 1325 01:04:53,420 --> 01:04:55,994 Dan, će vam biti udoban nudi slijedeću uputu? 1326 01:04:55,994 --> 01:05:02,070 >> PUBLIKA: Naravno, crtanje centar dna kruga, 1327 01:05:02,070 --> 01:05:07,121 s small-- malo mali prostor od toga, 1328 01:05:07,121 --> 01:05:15,420 povući ravnu crtu do tri četvrtine puta dolje brodu 1329 01:05:15,420 --> 01:05:17,845 blagi kut na svoju lijevu stranu. 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 >> PUBLIKA: pod blagim kutom. 1333 01:05:24,086 --> 01:05:32,807 >> DAVID Malan: Undo, kontrola-Z. U REDU. 1334 01:05:32,807 --> 01:05:34,890 Andrew, želite ponuditi do sljedećeg nastave? 1335 01:05:34,890 --> 01:05:35,515 >> PUBLIKA: Naravno. 1336 01:05:35,515 --> 01:05:43,250 Iz dna toj liniji, daljnji lagani angle-- 1337 01:05:43,250 --> 01:05:49,024 whoops-- možda oko trećina duljine [nečujan] 1338 01:05:49,024 --> 01:05:52,928 pod blagim kutom prema dolje i poput trećinu duljine [nečujan]. 1339 01:05:52,928 --> 01:05:57,550 1340 01:05:57,550 --> 01:06:00,578 Tako da, od tog trenutka, Crtanje linija za trećinu 1341 01:06:00,578 --> 01:06:04,150 duljine prethodne linija i dalje u lijevo. 1342 01:06:04,150 --> 01:06:08,416 1343 01:06:08,416 --> 01:06:10,040 >> DAVID Malan: To je u redu? 1344 01:06:10,040 --> 01:06:12,330 Pravac, to je u redu? 1345 01:06:12,330 --> 01:06:14,900 OK, Olivier, želite ponuditi do sljedeći? 1346 01:06:14,900 --> 01:06:28,564 >> PUBLIKA: [nečujan] od Donji dio kruga, [nečujan]. 1347 01:06:28,564 --> 01:06:32,000 1348 01:06:32,000 --> 01:06:45,126 Crtanje na desnoj strani od [nečujan] centimetara. 1349 01:06:45,126 --> 01:06:46,560 >> [SMIJEH] 1350 01:06:46,560 --> 01:06:49,872 >> DAVID Malan: Mislim da ćeš moraju pretvoriti to inča ovdje. 1351 01:06:49,872 --> 01:06:50,764 >> PUBLIKA: Stop. 1352 01:06:50,764 --> 01:06:52,186 >> [SMIJEH] 1353 01:06:52,186 --> 01:06:54,570 >> DAVID Malan: U redu. 1354 01:06:54,570 --> 01:06:56,660 [? Ara,?] Želite ponuditi do sljedeći? 1355 01:06:56,660 --> 01:07:00,653 1356 01:07:00,653 --> 01:07:15,443 >> PUBLIKA: Crtanje [nečujan] gornja [nečujan] isti. 1357 01:07:15,443 --> 01:07:28,829 [Nečujan] krug, crtanje na [Nečujan] i nacrtati [nečujan]. 1358 01:07:28,829 --> 01:07:33,799 1359 01:07:33,799 --> 01:07:36,730 >> DAVID Malan: OK, nema više poništiti. 1360 01:07:36,730 --> 01:07:38,390 Učinimo još jedan ili dva upute. 1361 01:07:38,390 --> 01:07:40,825 Chris, želite ponuditi jednu? 1362 01:07:40,825 --> 01:07:46,182 >> PUBLIKA: Na dnu kruga, [nečujan] 1363 01:07:46,182 --> 01:07:51,528 privući jednaku liniju izboja dolje lijevo [nečujan]. 1364 01:07:51,528 --> 01:07:59,304 1365 01:07:59,304 --> 01:08:00,590 >> DAVID Malan: U redu. 1366 01:08:00,590 --> 01:08:01,170 Andrija? 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 >> PUBLIKA: Počevši s desne linije, kraj lijeve linije dna, 1370 01:08:13,765 --> 01:08:21,012 ti si idući u ići desno oko jednake duljine kao tu liniju 1371 01:08:21,012 --> 01:08:27,680 ste na, crtanje na pravo [nečujan]. 1372 01:08:27,680 --> 01:08:33,572 1373 01:08:33,572 --> 01:08:37,991 [Nečujan] stupnjeva, tako da [nečujan] stupnjeva na desnoj strani. 1374 01:08:37,991 --> 01:08:41,919 1375 01:08:41,919 --> 01:08:43,500 >> DAVID Malan: U redu. 1376 01:08:43,500 --> 01:08:44,029 Idemo pauze. 1377 01:08:44,029 --> 01:08:44,950 Ne okreni još. 1378 01:08:44,950 --> 01:08:46,783 Idemo pauzu, i neka je probati jedan drugi pokušaj 1379 01:08:46,783 --> 01:08:48,850 prije nego što smo otkriti Benu ono što je on bio crtež. 1380 01:08:48,850 --> 01:08:51,189 Može li shuffle Ben redu-ili zapravo, 1381 01:08:51,189 --> 01:08:54,080 ne, neka je samo dati još jedna ploča, čak i bolje. 1382 01:08:54,080 --> 01:08:57,640 Tako bi netko sada želio da se više pristupa 1383 01:08:57,640 --> 01:09:02,149 da je Victoria je ranije, u kojem govorimo u višoj razini apstrakcije 1384 01:09:02,149 --> 01:09:05,149 a u samo jednoj rečenici ili dva opisuju Benu 1385 01:09:05,149 --> 01:09:07,229 što izvući bez uzimajući u korov, 1386 01:09:07,229 --> 01:09:10,670 da tako kažemo, na to niža razina? 1387 01:09:10,670 --> 01:09:11,206 Victoria. 1388 01:09:11,206 --> 01:09:11,706 [SMIJEH] 1389 01:09:11,706 --> 01:09:14,249 PUBLIKA: Nacrtajte lik od pješačke čovjeka. 1390 01:09:14,249 --> 01:09:18,866 A noge i ruke mora biti s desne strane. 1391 01:09:18,866 --> 01:09:20,505 >> DAVID Malan: OK, to je sve što ste dobili. 1392 01:09:20,505 --> 01:09:27,210 1393 01:09:27,210 --> 01:09:27,710 U redu. 1394 01:09:27,710 --> 01:09:31,609 Zašto ne možemo otkriti Benu što je učinio. 1395 01:09:31,609 --> 01:09:32,890 Tako pljesak. 1396 01:09:32,890 --> 01:09:35,700 To je bio najteži možda. 1397 01:09:35,700 --> 01:09:37,931 >> Dakle, iako govorimo u prilično glupim terminima 1398 01:09:37,931 --> 01:09:39,680 o samo crtanje slike, nadamo se da 1399 01:09:39,680 --> 01:09:44,226 može stvarno poštovati stupanj ekspresivnost koje bi mogle biti potrebne 1400 01:09:44,226 --> 01:09:45,850 kako bi se reći računalo što učiniti. 1401 01:09:45,850 --> 01:09:50,370 A u stvari, činjenica da je Ben bio je u stanju privući to tako brzo 1402 01:09:50,370 --> 01:09:54,227 je vrsta testamenta na korištenje jezik, možda viša razina 1403 01:09:54,227 --> 01:09:57,060 verzija na engleskom, koji ga omogućuje samo koristiti riječi, ili čuti riječi 1404 01:09:57,060 --> 01:09:59,990 od Victorije, koja mu omogućuju to abstractions-- samo izvući 1405 01:09:59,990 --> 01:10:03,020 lik hoda do redu-ta vrsta ima 1406 01:10:03,020 --> 01:10:07,100 neki semantičko značenje kako to da nije gotovo kao očito kada ste upravo 1407 01:10:07,100 --> 01:10:10,310 govoreći, stavite olovku dolje, crtanje desno, crtanje na lijevoj strani. 1408 01:10:10,310 --> 01:10:12,420 >> I tako to, također, vrlo čest u programiranju. 1409 01:10:12,420 --> 01:10:15,253 To bi se reći da je poput vrlo niska razina jezika, programiranja 1410 01:10:15,253 --> 01:10:16,730 u 0 a i 1-ih, ako će. 1411 01:10:16,730 --> 01:10:19,320 A to će biti viša razina programski jezik u Javi, 1412 01:10:19,320 --> 01:10:20,278 ili tako nešto. 1413 01:10:20,278 --> 01:10:22,050 Malo je pojednostavljivanje, ali to je 1414 01:10:22,050 --> 01:10:24,310 vrsta kao što su emocionalna osjećaj da se osjećate kada 1415 01:10:24,310 --> 01:10:26,630 pomoću jedne vrste stvari ili drugi. 1416 01:10:26,630 --> 01:10:32,650 Malo frustracije ovdje zbog potrebe za takvu preciznost, ali priliku 1417 01:10:32,650 --> 01:10:34,930 da se malo blazi s tumačenje ovdje. 1418 01:10:34,930 --> 01:10:38,060 Ali, naravno, kukci se može pojaviti kao rezultat. 1419 01:10:38,060 --> 01:10:40,500 >> Ako želite na home-- smo neće učiniti ovaj jedan u class-- 1420 01:10:40,500 --> 01:10:41,900 ali ako želite donijeti ovaj jedan dom, 1421 01:10:41,900 --> 01:10:43,387 Mislio sam da ćemo zaroniti u to. 1422 01:10:43,387 --> 01:10:45,970 Dakle, ako želite igrati ovu igra sa svojim značajnim drugim 1423 01:10:45,970 --> 01:10:49,180 ili djecu ili slično, te možda uživati ​​u tome, kao dobro. 1424 01:10:49,180 --> 01:10:54,460 >> Dakle idemo naprijed i pogledati jedan posljednji stvar ovdje za računalnu razmišljanja. 1425 01:10:54,460 --> 01:10:57,010 A to nas dovodi do Ivana Oliver, a ne za kopče 1426 01:10:57,010 --> 01:11:00,070 možda ste vidjeli sinoć, ali u nešto posljednje izdanje. 1427 01:11:00,070 --> 01:11:03,310 Prije par mjeseci, Volkswagen je dosta oštra kritika 1428 01:11:03,310 --> 01:11:05,651 što se dogodilo, ako znate? 1429 01:11:05,651 --> 01:11:07,025 Što su dobili u nevolji za? 1430 01:11:07,025 --> 01:11:10,270 1431 01:11:10,270 --> 01:11:14,030 >> Da, tako emissions-- oni su pokušavali pobijediti emisija 1432 01:11:14,030 --> 01:11:19,100 testovi u biti a imaju automobili zagađuju okoliš manje 1433 01:11:19,100 --> 01:11:23,620 kada su se testiraju svoje automobile i zagađuje okoliš više 1434 01:11:23,620 --> 01:11:25,547 kad ne bi bile testirane automobile. 1435 01:11:25,547 --> 01:11:28,630 A što je sve zanimljiviji u svijetu, kao što svibanj imati izvedeni 1436 01:11:28,630 --> 01:11:34,072 od rasprava o da bismo mogli što je it-- CarPlay, Appleov softver za automobile 1437 01:11:34,072 --> 01:11:35,780 te činjenica da su mnogi nas sve više 1438 01:11:35,780 --> 01:11:38,390 ima touch screen u našim automobilima, tu je zastrašujuće količine 1439 01:11:38,390 --> 01:11:41,250 softvera u ljudskim automobili danas, što 1440 01:11:41,250 --> 01:11:45,650 iskreno otvara cijeli konzervu crva kad ga je u pitanju sigurnost i fizičku opasnost. 1441 01:11:45,650 --> 01:11:48,070 No, za danas, neka je usredotočiti na samo ono što je 1442 01:11:48,070 --> 01:11:52,170 uključen u pisanje softvera koje bi mogle imati gamed sustav. 1443 01:11:52,170 --> 01:11:54,510 >> Za definiciju Problem, za one koji nisu upoznati, 1444 01:11:54,510 --> 01:11:55,740 neka je pogledati John Oliver. 1445 01:11:55,740 --> 01:11:58,115 A za one koji poznaju problem, pogledajmo to 1446 01:11:58,115 --> 01:12:00,480 na zabavan leće preko John Oliver, kao dobro. 1447 01:12:00,480 --> 01:12:05,810 Pa neka me pogodak igrati na ovome, ja mislim, tri minute uvod. 1448 01:12:05,810 --> 01:12:07,074 Kvragu. 1449 01:12:07,074 --> 01:12:07,740 [VIDEO PLAYBACK] 1450 01:12:07,740 --> 01:12:08,170 -Automobili-- 1451 01:12:08,170 --> 01:12:09,919 DAVID Malan: Očito, na YouTube, it's-- 1452 01:12:09,919 --> 01:12:12,500 - --the najpametniji likovi Brzi i žestoki filmova. 1453 01:12:12,500 --> 01:12:16,080 Ovaj tjedan, njemački proizvođač automobila Volkswagen se našla 1454 01:12:16,080 --> 01:12:19,430 usred skandala u potencijalno kriminalne razmjere. 1455 01:12:19,430 --> 01:12:23,020 >> -Volkswagen Se priprema za milijarde u kazni, moguće kaznene prijave 1456 01:12:23,020 --> 01:12:25,530 po svojim rukovoditelji, kao i Tvrtka se ispričava 1457 01:12:25,530 --> 01:12:28,790 za namještanje 11 milijuna automobila s pomoći da tuku ispitivanja emisija. 1458 01:12:28,790 --> 01:12:32,110 >> -Certain Dizel modeli su dizajnirani sa sofisticiranim softverom koji 1459 01:12:32,110 --> 01:12:35,410 korištene informacije, uključujući i položaj od volana i vozila 1460 01:12:35,410 --> 01:12:38,820 brzine, kako bi se utvrdilo je automobil bio prolazi kroz testiranje emisija. 1461 01:12:38,820 --> 01:12:42,620 Pod tim okolnostima, motor će smanjiti toksične emisije. 1462 01:12:42,620 --> 01:12:46,040 Ali auto je namještena na obilaznici da, kad je vozi. 1463 01:12:46,040 --> 01:12:51,370 Emisije porasla 10 do 40 puta iznad prihvatljive razine EPA. 1464 01:12:51,370 --> 01:12:55,920 >> -Wow, 10 do 40 puta veći od EPA dopušta. 1465 01:12:55,920 --> 01:12:59,570 To je najgora stvar Volkswagen je ikada učinio, 1466 01:12:59,570 --> 01:13:04,200 je nešto što bi se moglo reći, ako nikad čuo za Drugog svjetskog rata. 1467 01:13:04,200 --> 01:13:09,710 No, možda je najsigurniji znak koliko puno problema Volkswagen je u, 1468 01:13:09,710 --> 01:13:12,730 je da ljudi na samom vrh su odstupio. 1469 01:13:12,730 --> 01:13:16,320 Izvršni direktor podnio ostavku u srijedu nakon što je remećenje učiniti kontrola štete, 1470 01:13:16,320 --> 01:13:20,380 rekavši kako je beskrajno žao, što Zvučalo je super dok se ispostavilo 1471 01:13:20,380 --> 01:13:22,920 on je bio samo 10% žao ali je namještena usta 1472 01:13:22,920 --> 01:13:25,600 da se umjetno napuhati svoje sorriness. 1473 01:13:25,600 --> 01:13:29,700 A u međuvremenu, Volkswagenov SAD Glavni je imao ispriku za svoje. 1474 01:13:29,700 --> 01:13:33,580 >> -Let Je biti jasno o tome, naša tvrtka je bila nepoštena. 1475 01:13:33,580 --> 01:13:37,140 I u mojim njemačkim riječima, su potpuno pijan gore. 1476 01:13:37,140 --> 01:13:41,360 >> -Da, Ali potpuno pijan se nisu njemački djela. 1477 01:13:41,360 --> 01:13:43,750 I njemački jezik ima mnogo lijepih fraza 1478 01:13:43,750 --> 01:13:50,070 opisati situacije baš kao što je ovaj, kao što su [NJEMAČKE], što znači grubo, 1479 01:13:50,070 --> 01:13:52,870 tuga koja dolazi od poslovnih vezane laži, 1480 01:13:52,870 --> 01:13:59,060 ili [NJEMAČKI], što znači kao sramote one oca koji uključuje 1481 01:13:59,060 --> 01:14:00,352 oblaci benzina. 1482 01:14:00,352 --> 01:14:02,060 To je prekrasan jezik. 1483 01:14:02,060 --> 01:14:04,660 To samo plovi izvan jezik. 1484 01:14:04,660 --> 01:14:07,920 I usput, dok je čovjekovo isprika je možda zvučao iskreno, 1485 01:14:07,920 --> 01:14:12,260 to je vrijedno napomenuti da je govorio na službeni lansirati stranka za 2016 1486 01:14:12,260 --> 01:14:17,310 Volkswagen Passat, što znači da uskoro nakon što je rekao mi je, on je to rekao. 1487 01:14:17,310 --> 01:14:18,850 >> ti -Thank jako došli. 1488 01:14:18,850 --> 01:14:19,630 U večernjim satima. 1489 01:14:19,630 --> 01:14:21,300 Do sljedeće je Lenny Kravitz. 1490 01:14:21,300 --> 01:14:24,640 >> [MUSIC SVIRA] 1491 01:14:24,640 --> 01:14:28,230 >> -OK, Ok, završava svoj Isprika s do iduće 1492 01:14:28,230 --> 01:14:31,940 Lenny Kravitz ne vrištati trijezan kajanje. 1493 01:14:31,940 --> 01:14:35,830 Ona vrišti, pitali smo Bon Jovi, a on je rekao ne. 1494 01:14:35,830 --> 01:14:38,600 Volkswagenov brand ima bila teško oštećena. 1495 01:14:38,600 --> 01:14:42,466 I iskreno, njihov novi oglas Kampanja nije točno pomaže. 1496 01:14:42,466 --> 01:14:47,289 >> - [NJEMAČKI], mi u Volkswagen bih ispričati za vas obmanjuju sa 1497 01:14:47,289 --> 01:14:47,930 naša vozila. 1498 01:14:47,930 --> 01:14:48,513 >> [END PLAYBACK] 1499 01:14:48,513 --> 01:14:54,090 DAVID Malan: Dakle, to je bio zaobilaznim putem of-- sorry-- 1500 01:14:54,090 --> 01:14:58,730 to je kružni tok način uvođenje temeljni problem 1501 01:14:58,730 --> 01:15:02,810 u softveru, a to je da vas trebaju otkriti određene uvjete. 1502 01:15:02,810 --> 01:15:07,680 I zato je pitanje pri ruci ovdje je, kako se automobil potencijalno, 1503 01:15:07,680 --> 01:15:09,870 kako ugraditi u softver tim programera, 1504 01:15:09,870 --> 01:15:11,850 otkriti da je zapravo testira? 1505 01:15:11,850 --> 01:15:14,150 Tako da se super jasan, što su radili 1506 01:15:14,150 --> 01:15:17,940 je, u sredinama gdje programeri shvatio 1507 01:15:17,940 --> 01:15:20,460 auto je bio testirani su na neki način napravio 1508 01:15:20,460 --> 01:15:24,840 automobil emitiraju manje emisija, manje emisije, tako da manje toksičnih plinova 1509 01:15:24,840 --> 01:15:25,470 i tako. 1510 01:15:25,470 --> 01:15:27,261 No, kad je normalno vožnje na cesti, 1511 01:15:27,261 --> 01:15:30,350 to bi samo emitirati koliko Onečišćenje kao što je želio. 1512 01:15:30,350 --> 01:15:33,870 >> Pa kako bismo mogli pisati pseudokod za ovaj algoritam? 1513 01:15:33,870 --> 01:15:37,820 Kako bismo mogli napisati pseudokod za softver koji se izvodi u autu? 1514 01:15:37,820 --> 01:15:43,390 Mislim, u Ukratko, ne uzavre dolje na nešto ovako. 1515 01:15:43,390 --> 01:15:48,000 ako se ispituje, emitiraju manje. 1516 01:15:48,000 --> 01:15:50,750 inače emitira više. 1517 01:15:50,750 --> 01:15:52,630 No, to je malo previsoka razina, zar ne? 1518 01:15:52,630 --> 01:15:58,580 >> Pokušajmo roniti u tome što ova apstrakcija se testira sredstva. 1519 01:15:58,580 --> 01:16:06,340 Drugim riječima, čak i ako ništa ne znate o automobilima, kakva pitanja 1520 01:16:06,340 --> 01:16:13,440 možda pitati kako bi utvrdili je li ti se testira, ako si auto? 1521 01:16:13,440 --> 01:16:19,638 Koje osobine bi moglo biti predstaviti, ako je automobil se testira? 1522 01:16:19,638 --> 01:16:21,026 >> PUBLIKA: Testiranje opreme. 1523 01:16:21,026 --> 01:16:22,420 >> DAVID Malan: Testiranje opreme. 1524 01:16:22,420 --> 01:16:26,060 Dakle, ako ispitivanje opreme blizini, a zatim emitiraju manje. 1525 01:16:26,060 --> 01:16:28,669 Tako sam mogao zamisliti provedbu da je s nekom vrstom kamere 1526 01:16:28,669 --> 01:16:29,960 ili otkrivanje što je oko vas. 1527 01:16:29,960 --> 01:16:32,870 I neka mi predloži da samo osjeća previše komplicirano 1528 01:16:32,870 --> 01:16:37,914 da zapravo imate dodatni hardver samo za tu svrhu. 1529 01:16:37,914 --> 01:16:44,830 >> PUBLIKA: Ako ste u park, ako je vaš kabinet je otvoren. 1530 01:16:44,830 --> 01:16:47,320 >> DAVID Malan: U parku ili napa otvoren, tako da je dobro. 1531 01:16:47,320 --> 01:16:47,420 >> PUBLIKA: I auto trčanje. 1532 01:16:47,420 --> 01:16:50,480 >> DAVID Malan: Dakle, to je malo više concrete-- i auto trčanje. 1533 01:16:50,480 --> 01:16:55,690 Tako će to biti veznik se od nekoliko različitih uvjeta, ako će. 1534 01:16:55,690 --> 01:16:59,227 Dakle, ako je automobil u parku, pa čak i iako je to vrlo mehanička stvar 1535 01:16:59,227 --> 01:17:01,060 obično, što sam mogao zamisliti pisanje softvera, 1536 01:17:01,060 --> 01:17:03,476 pogotovo zato što postoji Često svjetlo tamo ovih dana, 1537 01:17:03,476 --> 01:17:07,400 Mogao sam zamisliti da bude softver koji može ispitati pomak 1538 01:17:07,400 --> 01:17:10,634 ili što ne, jeste li u parku, su što je u pogonu, jesi li u obrnutom smjeru. 1539 01:17:10,634 --> 01:17:12,550 A ja mogu dobiti natrag odgovoriti da je to bilo da 1540 01:17:12,550 --> 01:17:14,400 ili ne na one vrste pitanja. 1541 01:17:14,400 --> 01:17:17,630 >> I tako sam mogao i vjerojatno odgovoriti pitanje kao što je poklopac motora otvoren. 1542 01:17:17,630 --> 01:17:21,860 Možda postoji neka vrsta senzora da ili me vraća na 1 ili 0, 1543 01:17:21,860 --> 01:17:23,720 istinito ili lažno, sjenilo je otvoren. 1544 01:17:23,720 --> 01:17:28,180 A onda auto radi, mogao sam otkriti da nekako preko onoga što mehanizam? 1545 01:17:28,180 --> 01:17:30,430 Kao, automobil je trčanje, sam mogao otkriti da je on, 1546 01:17:30,430 --> 01:17:32,127 mogao sam otkriti nekako da se automobil kreće? 1547 01:17:32,127 --> 01:17:32,881 >> Publika: RPMs. 1548 01:17:32,881 --> 01:17:35,190 >> DAVID Malan: Da, tako je Uvijek da igla koja 1549 01:17:35,190 --> 01:17:38,034 Govori vam koliko okretaja u minute kotači se suočili. 1550 01:17:38,034 --> 01:17:39,200 I tako da sam mogao gledati na to. 1551 01:17:39,200 --> 01:17:43,090 A ako to nije 0, to je vjerojatno znači da je vozilo u pokretu. 1552 01:17:43,090 --> 01:17:45,400 No, moramo biti malo oprezni tamo, 1553 01:17:45,400 --> 01:17:49,780 because-- idemo pojednostaviti učinimo ako mi samo rekao, ako auto radi, 1554 01:17:49,780 --> 01:17:53,070 mi ne želimo da se samo emitiraju manje, želimo li auto radi 1555 01:17:53,070 --> 01:17:54,310 i to se ispituje. 1556 01:17:54,310 --> 01:17:56,320 >> Dakle, postoji nekoliko drugih Sastojci koji ljudi 1557 01:17:56,320 --> 01:18:00,550 su pretpostavili softver radi, jer odsutnog stvarnog izvornog koda, 1558 01:18:00,550 --> 01:18:05,130 možete samo nekako zaključiti iz fizički učinci automobila tome što 1559 01:18:05,130 --> 01:18:08,280 Možda se događa ispod sjenilo u softver. 1560 01:18:08,280 --> 01:18:17,090 Dakle, ako auto radi i možda, recimo, stražnji kotači ne mičući se, 1561 01:18:17,090 --> 01:18:19,420 Možda to biti indikativno neke vrste testa? 1562 01:18:19,420 --> 01:18:22,830 Što sam aludirati na ovdje? 1563 01:18:22,830 --> 01:18:24,830 Da, možda, to je na jedan od onih valjak stvari, 1564 01:18:24,830 --> 01:18:28,340 gdje se kao točkovi se okreću u prednjem ili stražnjem, 1565 01:18:28,340 --> 01:18:32,570 ovisno o tome da li je prednji kotač ili pogon na stražnje kotače, tako da polovica kotača 1566 01:18:32,570 --> 01:18:34,420 su se kreće, no druga dva nisu, što 1567 01:18:34,420 --> 01:18:36,320 je čudan situacija u stvarnom svijetu. 1568 01:18:36,320 --> 01:18:38,110 Ako ste vožnje na ceste, koje se ne bi trebalo dogoditi. 1569 01:18:38,110 --> 01:18:40,568 Ali, ako ste u skladištu na nekoj vrsti sustava kolutova, 1570 01:18:40,568 --> 01:18:41,630 da doista moglo dogoditi. 1571 01:18:41,630 --> 01:18:46,980 >> Mislim da ljudi također predložio da možda, ako je auto radi i upravljanjem 1572 01:18:46,980 --> 01:18:51,300 kotač ne kreće, da također mogu biti signal, 1573 01:18:51,300 --> 01:18:54,090 jer to je razumno za kao se odmah na cesti. 1574 01:18:54,090 --> 01:18:57,960 No, čak i tada, ljudski je vjerojatno kreće to malo ili svakako 1575 01:18:57,960 --> 01:18:59,100 više od nekoliko sekundi. 1576 01:18:59,100 --> 01:19:01,030 Ili tijeku minute, vjerojatno to nije 1577 01:19:01,030 --> 01:19:03,510 će biti fiksiran u isti položaj. 1578 01:19:03,510 --> 01:19:05,440 >> Tako drugim riječima, može potrajati substraction, 1579 01:19:05,440 --> 01:19:08,200 Jeste li se testira, a razbiti tu funkcionalnost 1580 01:19:08,200 --> 01:19:10,420 u ove sastavne tvari. 1581 01:19:10,420 --> 01:19:13,440 I to je doista ono Volkswagen-a inženjeri nekako učinio. 1582 01:19:13,440 --> 01:19:17,070 Oni su pisali softver svjesno otkriti ako je automobil koji se ispituje, 1583 01:19:17,070 --> 01:19:20,440 Stoga emitiraju manje, ostalo emitiraju na uobičajeni način. 1584 01:19:20,440 --> 01:19:22,690 >> A problem ovdje, također, je da softver nije 1585 01:19:22,690 --> 01:19:26,080 nešto što stvarno može vidjeti, osim ako imate takozvani izvorni kod. 1586 01:19:26,080 --> 01:19:29,060 Dakle, postoje dvije različite vrste code-- najmanje dva različita tipa 1587 01:19:29,060 --> 01:19:30,130 koda u svijetu. 1588 01:19:30,130 --> 01:19:33,150 Postoji nešto što se zove izvor broj, koji nije za razliku od onoga što 1589 01:19:33,150 --> 01:19:37,240 smo pisali, izvorni kod. 1590 01:19:37,240 --> 01:19:40,099 >> Ovo je izvorni kod napisan u jezik zove pseudokod, 1591 01:19:40,099 --> 01:19:41,640 što je samo nešto engleskom slično. 1592 01:19:41,640 --> 01:19:43,140 Nema formalna definicija toga. 1593 01:19:43,140 --> 01:19:46,770 No, C i Java, C ++, oni Sve su formalni jezici koji, 1594 01:19:46,770 --> 01:19:50,610 kad pišeš u njima, što imate je tekstualna datoteka koja sadrži izvorni kod. 1595 01:19:50,610 --> 01:19:54,850 >> No, postoji i nešto u svijet naziva strojni kod. 1596 01:19:54,850 --> 01:20:00,579 I stroj kod, na žalost, je samo 0-ih i +1. 1597 01:20:00,579 --> 01:20:02,870 Dakle stroj kod je ono Strojevi za razumjeti, naravno. 1598 01:20:02,870 --> 01:20:04,470 Izvorni kod je ono što ljudi razumiju. 1599 01:20:04,470 --> 01:20:08,390 >> I općenito, ali ne uvijek postoji program 1600 01:20:08,390 --> 01:20:14,090 koji programer koristi koja se izvor broj i pretvara ga u strojni kod. 1601 01:20:14,090 --> 01:20:17,400 I to je program općenito naziva prevodilac. 1602 01:20:17,400 --> 01:20:19,820 Dakle, vaš doprinos je izvorni kod, Vaš izlaz je stroj kod, 1603 01:20:19,820 --> 01:20:22,890 a prevodilac je komad softver koji se taj proces. 1604 01:20:22,890 --> 01:20:26,260 Dakle, ovo je zapravo preslikava lijepo da naši ulazima, algoritmi, izlazi. 1605 01:20:26,260 --> 01:20:30,400 >> No, to je vrlo specifičan utjelovljenje toga, što će reći da je, 1606 01:20:30,400 --> 01:20:34,200 čak i ako posjedujete jedan od Volkswagen-a automobila koji je kriv za to, 1607 01:20:34,200 --> 01:20:38,390 to nije kao što možete samo otvoriti napa ili otvoriti korisnički priručnik ili gledati 1608 01:20:38,390 --> 01:20:42,690 u izvornom kodu, jer je vrijeme doseže svoj automobil u svom prilazu, 1609 01:20:42,690 --> 01:20:45,580 to je već bilo pretvoriti u 0 a i 1-a. 1610 01:20:45,580 --> 01:20:51,310 I to je vrlo teško, ne i nemoguće, ali vrlo teško skupljati mnogo ništa 1611 01:20:51,310 --> 01:20:53,710 od samo gledajući temeljne 0 a i +1. 1612 01:20:53,710 --> 01:20:57,150 Dakle, možete ga shvatiti, u konačnici, ako te shvatiti kako stroj operates-- 1613 01:20:57,150 --> 01:20:59,870 Intel inside-- ako ste razumjeli Intel arhitekturi, 1614 01:20:59,870 --> 01:21:01,440 ali to je vrlo dugotrajan. 1615 01:21:01,440 --> 01:21:05,010 A čak i tamo, možda neće biti u mogućnosti vidjeti sve 1616 01:21:05,010 --> 01:21:08,220 da je kod zapravo može učiniti. 1617 01:21:08,220 --> 01:21:12,521 >> Bilo kakva pitanja o tome ili ovaj vrsta procesa općenito? 1618 01:21:12,521 --> 01:21:15,134 1619 01:21:15,134 --> 01:21:18,300 I zapravo, možemo vezati ovu raspravu na jučerašnjoj raspravi o Apple. 1620 01:21:18,300 --> 01:21:22,500 To je, također, zašto FBI ne može jednostavno ići i gledati u telefon osumnjičenoga 1621 01:21:22,500 --> 01:21:26,820 i pronaći linija koda, na Primjerice, da omogući zaporke 1622 01:21:26,820 --> 01:21:28,940 ili omogućiti da se 80-milisekundu kašnjenja. 1623 01:21:28,940 --> 01:21:31,630 Budući da je vrijeme da je Na kolega iPhone, 1624 01:21:31,630 --> 01:21:34,975 to je već bilo pretvoriti u 0 a i 1-a. 1625 01:21:34,975 --> 01:21:38,015 1626 01:21:38,015 --> 01:21:40,820 >> Pa, ovdje zastati za naše pogledajte računalnom razmišljanja. 1627 01:21:40,820 --> 01:21:42,320 Zašto ne uzeti pauzu od 15 minuta. 1628 01:21:42,320 --> 01:21:44,130 A kad se vratimo, mi ćemo pogledajte na programiranje 1629 01:21:44,130 --> 01:21:46,550 sama i početi mapirati neke tih visokoj razini pojmova 1630 01:21:46,550 --> 01:21:49,780 da stvarna, ako je zaigran, programski jezik. 1631 01:21:49,780 --> 01:21:51,089