1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:01,790 David MALAN: Maligayang pagbabalik, sa lahat. 3 00:00:01,790 --> 00:00:05,030 Kaya kahapon, makikita mo isipin ang na kami ay nakatutok sa mga paksang ito dito. 4 00:00:05,030 --> 00:00:08,380 Kaya kami ay may apat na overarching topics-- privacy, seguridad, at lipunan; 5 00:00:08,380 --> 00:00:11,960 teknolohiya internet; cloud computing; at sa huli, web development. 6 00:00:11,960 --> 00:00:14,170 >> Mayroon bang magkaroon ng bandwidth o ang oras 7 00:00:14,170 --> 00:00:16,900 upang panoorin ang isang munting Juan Oliver kagabi? 8 00:00:16,900 --> 00:00:20,120 Ito ay talagang pretty nakakaaliw, kung hindi isang maliit na nakakatakot. 9 00:00:20,120 --> 00:00:24,700 Ang anumang mga katanungan sa anumang bagay ginawa namin kahapon? 10 00:00:24,700 --> 00:00:27,600 Anumang clarifications? 11 00:00:27,600 --> 00:00:35,580 Ang anumang mga katanungan na nais mong bang hawakan namin sa araw na ito sa ilang mga paraan? 12 00:00:35,580 --> 00:00:37,300 So clean slate. 13 00:00:37,300 --> 00:00:38,760 >> Kaya kung ano ang sa agenda para sa araw na ito? 14 00:00:38,760 --> 00:00:41,301 Kaya naisip ko na nais naming magsimula ngayon na may isang pagtingin sa kung ano ay sa pangkalahatan 15 00:00:41,301 --> 00:00:44,460 kilala bilang computational thinking-- sa ang panganib ng oversimplifying, iniisip 16 00:00:44,460 --> 00:00:46,636 tulad ng isang computer, marahil pag-iisip tulad ng isang engineer, 17 00:00:46,636 --> 00:00:48,510 at sinusubukan mong simulan upang ayusin ang iyong mga saloobin 18 00:00:48,510 --> 00:00:52,039 o upang bigyan ka ng isang mas mahusay na kahulugan ng kung ano ang kasangkot sa aktwal na namumuno 19 00:00:52,039 --> 00:00:54,080 isang computer upang gawin ang isang bagay sa pamamagitan ng paraan ng programming. 20 00:00:54,080 --> 00:00:56,663 At itinatago namin ito sa isang pretty mataas na antas, pretty much Ingles, 21 00:00:56,663 --> 00:00:59,850 subalit sinusubukang gamitin ng mga pamilyar na halimbawa upang gawing pormal paano 22 00:00:59,850 --> 00:01:01,450 mo pumunta tungkol sa paglutas ng mga problema. 23 00:01:01,450 --> 00:01:04,080 >> At kami ay muling bisitahin ang ilang CS mga paksa, tulad ng abstraction, 24 00:01:04,080 --> 00:01:06,040 na sumampa sa isang pares ng beses kahapon, 25 00:01:06,040 --> 00:01:07,554 algorithm, at pagkatapos ay representasyon. 26 00:01:07,554 --> 00:01:09,720 At na kung saan sisimulan namin ngayon sa loob lamang ng ilang sandali. 27 00:01:09,720 --> 00:01:11,481 Pagkatapos kami ay kumuha ng isang pagtingin sa programming. 28 00:01:11,481 --> 00:01:13,480 Susubukan naming kumuha ng isang pagtingin sa ilan pangunahing constructs 29 00:01:13,480 --> 00:01:16,450 na kung saan maaari kang maging pamilyar at maaaring kahit na makahanap ng lubos na madaling maunawaan. 30 00:01:16,450 --> 00:01:18,370 >> Titingnan namin, sa katunayan, sa isang sample programming 31 00:01:18,370 --> 00:01:21,244 kapaligiran na napaka naa-access, napaka mapaglaro, at sa katunayan na naka-target 32 00:01:21,244 --> 00:01:22,555 para sa edad 12 at pataas. 33 00:01:22,555 --> 00:01:25,930 Susubukan naming gumastos ng ilang minuto doon at pagkatapos ay kumuha ng mga bagay sa isang mas mababang antas ng 34 00:01:25,930 --> 00:01:30,360 at talagang makipag-usap tungkol sa ilan sa ang algorithm at data istruktura, 35 00:01:30,360 --> 00:01:32,360 kaya na magsalita, na programmers karaniwang gamitin 36 00:01:32,360 --> 00:01:35,040 upang malutas ang problema malayo mas mahusay kaysa sa maaari ka 37 00:01:35,040 --> 00:01:37,322 magawa nang walang mga ito sama-sama. 38 00:01:37,322 --> 00:01:40,280 Pagkatapos pagkatapos ng tanghalian, kami ay kumuha ng isang pagtingin sa stacks teknolohiya, kung saan ay lamang 39 00:01:40,280 --> 00:01:42,240 isang magarbong paraan ng sinasabi mga koleksyon ng mga teknolohiya 40 00:01:42,240 --> 00:01:43,690 na maaari mong gamitin upang malutas ang ilang mga problema. 41 00:01:43,690 --> 00:01:46,670 At kami makipag-usap tungkol sa alpabeto sopas ng mga wika na umiiral today-- 42 00:01:46,670 --> 00:01:50,930 Java at sawa at C ++ at PHP at Ruby at ang lahat ng uri ng iba pang mga bagay. 43 00:01:50,930 --> 00:01:53,740 >> Susubukan naming kumuha ng isang pagtingin sa madaling sabi sa pattern na disenyo. 44 00:01:53,740 --> 00:01:57,730 Programmers, paglipas ng panahon, may pinagtibay methodologies 45 00:01:57,730 --> 00:02:00,690 na may posibilidad na makatulong sa kanila malutas ang mga problema mas madali. 46 00:02:00,690 --> 00:02:04,390 Kapag nagsimula ka upang makita ang iyong sarili pagsulat ang parehong uri ng code muli at muli, 47 00:02:04,390 --> 00:02:08,080 tao gawing pormal ang mga repetitions at ascribe pangalan sa kanila 48 00:02:08,080 --> 00:02:10,084 at pagkatapos ay gamitin ang mga ito at itaguyod ang mga ito, sa huli. 49 00:02:10,084 --> 00:02:12,250 At kami makipag-usap nang kaunti tungkol sa mobile estratehiya, 50 00:02:12,250 --> 00:02:16,099 tulad ng kung ano ang ibig sabihin ng tunay na gumawa ng isang mobile app o isang mobile website. 51 00:02:16,099 --> 00:02:17,140 Huwag mong gawin ito para sa Android? 52 00:02:17,140 --> 00:02:17,730 mong gawin Gawin ito para sa iOS? 53 00:02:17,730 --> 00:02:19,160 mong gawin Gawin ito para sa pareho ng mga? 54 00:02:19,160 --> 00:02:20,326 At ano ang mga trade-offs? 55 00:02:20,326 --> 00:02:23,180 At pagkatapos ay sa wakas, kami ay kumuha tingnan web programming, na kung saan 56 00:02:23,180 --> 00:02:25,380 ay isang collective term talagang naglalarawan anumang oras 57 00:02:25,380 --> 00:02:28,410 mong isulat software na sinadya upang tumakbo sa web, 58 00:02:28,410 --> 00:02:30,430 kung sa mga telepono o desktop o laptop. 59 00:02:30,430 --> 00:02:33,490 Susubukan naming kumuha ng isang maikling tumingin sa database at ang disenyo 60 00:02:33,490 --> 00:02:39,049 sa ganyang bagay, kung lamang dahil halos lahat ng anumang kagiliw-giliw na web-based na application 61 00:02:39,049 --> 00:02:40,590 mga araw na ito ay may ilang mga uri ng database. 62 00:02:40,590 --> 00:02:42,380 Kung hindi man, ay ito maaaring lamang static na nilalaman. 63 00:02:42,380 --> 00:02:45,254 At isang database ay nagbibigay-daan sa iyo upang gumawa pagbabago sa paglipas ng panahon, maging ang iyong sarili 64 00:02:45,254 --> 00:02:45,960 o mula sa mga gumagamit. 65 00:02:45,960 --> 00:02:47,820 At kami isaalang-alang kung paano mo ay pumunta tungkol sa pagdisenyo 66 00:02:47,820 --> 00:02:50,510 na database at ang uri ng magulong pag-uusap na maaaring dumating up sa isang engineer 67 00:02:50,510 --> 00:02:52,790 talakayan sa isang puting board kapag aktwal na pagpapatupad 68 00:02:52,790 --> 00:02:53,900 isang app para sa unang pagkakataon. 69 00:02:53,900 --> 00:02:57,002 >> Kami makipag-usap tungkol sa madaling sabi APIs, kapaki-pakinabang na serbisyo 70 00:02:57,002 --> 00:02:59,960 na maaari mong gamitin upang tumayo sa balikat ng iba, kung ang mga kompanya ng 71 00:02:59,960 --> 00:03:02,619 o mga indibidwal, at malutas ang iyong sariling mga problema nang mas mabilis. 72 00:03:02,619 --> 00:03:04,785 At pagkatapos ay gagamitin namin magkawkaw marahil ng kaunti sa JavaScript, 73 00:03:04,785 --> 00:03:08,900 isang programming language na ginagamit pareho sa mga browser mga araw na ito, kundi pati na rin 74 00:03:08,900 --> 00:03:09,820 sa server. 75 00:03:09,820 --> 00:03:11,890 At marahil, kami muling bisitahin, oras na nagpapahintulot sa, 76 00:03:11,890 --> 00:03:15,670 ang ilan sa mga hands-on web bagay-bagay namin ginawa kahapon at pagsamahin ang dalawang 77 00:03:15,670 --> 00:03:17,630 sama-sama bago ipinid namin. 78 00:03:17,630 --> 00:03:22,380 >> Kaya sa na- ano ang ahead-- ay Mayroon bang anumang bagay nawawala na kayo 79 00:03:22,380 --> 00:03:26,289 nais na siguraduhin ipasok namin at hawakan sa sa ilang mga punto. 80 00:03:26,289 --> 00:03:28,330 Kung ito ay spring sa isip, dalhin ito up bago ang haba. 81 00:03:28,330 --> 00:03:32,010 Ngunit bakit hindi namin magsimula sa isang tumingin sa computational pag-iisip. 82 00:03:32,010 --> 00:03:35,420 >> At hayaan mo akong magpanukala na computational pag-iisip ay, muli, 83 00:03:35,420 --> 00:03:38,830 uri ng mataas na antas ng paglalarawan kung ano ang isang computer siyentipiko ay maaaring gawin. 84 00:03:38,830 --> 00:03:42,470 At sa katunayan, sabihin magsimula na may tatlong mga sangkap na 85 00:03:42,470 --> 00:03:44,207 maaaring pumunta sa computational pag-iisip. 86 00:03:44,207 --> 00:03:45,790 Ito ay isa lamang paraan ng naglalarawan ito. 87 00:03:45,790 --> 00:03:48,490 saan namin tukuyin ito sa anumang bilang ng mga paraan. 88 00:03:48,490 --> 00:03:50,630 >> Ngunit ipaalam sa akin imungkahi, para sa kapakanan ng araw na ito, 89 00:03:50,630 --> 00:03:53,910 na ang mga problema sa buong mundo, lahat ng problema sa mundo, 90 00:03:53,910 --> 00:03:56,730 kapag nilapitan ng isang computer siyentipiko dati 91 00:03:56,730 --> 00:04:00,990 matingnan bilang kung ano ang kami ay call inputs, na kung saan 92 00:04:00,990 --> 00:04:08,142 kailangan upang makakuha ng fed sa kung ano ang makikita namin tumawag algorithm, na pagkatapos ay magbunga outputs. 93 00:04:08,142 --> 00:04:10,600 Sa ibang salita, ang buong mundo ng problema-tuos paghahabol ko 94 00:04:10,600 --> 00:04:13,140 maaaring distilled sa mga tatlong ingredients. 95 00:04:13,140 --> 00:04:14,450 Kaya kung ano ang ibig sabihin ko sa pamamagitan ng inputs? 96 00:04:14,450 --> 00:04:17,060 Inputs ay lamang kung ano ang ikaw ipinasa upang malutas. 97 00:04:17,060 --> 00:04:20,052 >> Halimbawa, narito ang isang lumang problema paaralan. 98 00:04:20,052 --> 00:04:22,760 Kung mayroon akong isang phone book dito at Gusto kong tumingin ng isang bagay sa mga ito, 99 00:04:22,760 --> 00:04:23,760 ito ay ang aking input. 100 00:04:23,760 --> 00:04:26,260 Mayroon akong 1,000 o kaya mga pahina sa isang libro ng telepono. 101 00:04:26,260 --> 00:04:27,780 Ito ang input sa aking problema. 102 00:04:27,780 --> 00:04:31,507 At gusto kong makahanap ng isang bagay tulad ng Mike Smith, para kaibigan 103 00:04:31,507 --> 00:04:33,840 na ang pangalan at numero ay sana sa ganitong address book. 104 00:04:33,840 --> 00:04:36,430 >> Ito ay bago ang araw ng cell phone, kaya ako ay hindi maaaring lamang ng paghahanap para sa mga ito. 105 00:04:36,430 --> 00:04:38,540 Kaya kailangan kong gawin ito lumang paaralan at talagang search 106 00:04:38,540 --> 00:04:41,331 mga inputs para sa ilang mga sagot. 107 00:04:41,331 --> 00:04:43,580 At na sagot ay lamang ng pagpunta tawaging output. 108 00:04:43,580 --> 00:04:44,871 Kaya ang input ay ang phone book. 109 00:04:44,871 --> 00:04:47,787 Ang algorithm ay kahit anong hanay ng mga hakbang gagamitin ko upang mahanap Mike Smith. 110 00:04:47,787 --> 00:04:50,120 At ang output ay, sana, numero ng telepono Mike Smith. 111 00:04:50,120 --> 00:04:52,703 At ito pagkatapos ay magiging lamang kinatawan ng karamihan sa anumang problema 112 00:04:52,703 --> 00:04:55,210 upang sa ikaw ay ipinasa inputs at nais upang makabuo ng outputs. 113 00:04:55,210 --> 00:04:59,459 >> Kaya bago isaalang-alang namin ang proseso sa pamamagitan ng kung saan maaari naming malutas ang problemang iyon, 114 00:04:59,459 --> 00:05:01,250 paghahanap ng Mike Smith at bagay tulad na, 115 00:05:01,250 --> 00:05:04,090 sabihin isaalang-alang ang una at ang last-- inputs at outputs. 116 00:05:04,090 --> 00:05:08,060 Pisikal, siyempre, ang input dito ay ang maramihang mga papel nakadikit magkasama 117 00:05:08,060 --> 00:05:09,400 sa anyo ng isang libro ng telepono. 118 00:05:09,400 --> 00:05:13,660 Ngunit mga computer, ng course-- laptops at desktop at kahit phone 119 00:05:13,660 --> 00:05:16,430 mga days-- mga ay electronic device. 120 00:05:16,430 --> 00:05:20,920 >> At sa katapusan ng araw, kung ano ang ang tanging input sa isang computer? 121 00:05:20,920 --> 00:05:23,299 Well, ito ay isang bagay tulad ng ito kapangyarihan kurdon dito. 122 00:05:23,299 --> 00:05:25,590 plug ko ito sa pader, at kumuha ako ng isang daloy ng mga electron, 123 00:05:25,590 --> 00:05:27,048 na nagpapahintulot sa akin upang patakbuhin ang machine. 124 00:05:27,048 --> 00:05:30,420 O siguro mga electron ay nilikha sa pamamagitan ng paraan ng aking baterya. 125 00:05:30,420 --> 00:05:33,790 Ngunit sa pagtatapos ng araw, na ang dahilan ang tanging bagay na pagpunta sa aking laptop. 126 00:05:33,790 --> 00:05:35,772 At kaya marami pang mga kagiliw-giliw mga bagay-bagay ay sa huli 127 00:05:35,772 --> 00:05:37,480 pagdating sa labas, kung sa pamamagitan ng paraan ng printer 128 00:05:37,480 --> 00:05:40,320 o ang screen o audially o mga katulad. 129 00:05:40,320 --> 00:05:45,320 >> Kaya kung mayroon kaming lahat ng aming pangunahing input sa isang computer 130 00:05:45,320 --> 00:05:49,160 ay koryente, kaya lang electron pagpunta sa at o sa labas, 131 00:05:49,160 --> 00:05:54,465 at kaya kung paano maaari naming gamitin na input upang aktwal na kumakatawan impormasyon? 132 00:05:54,465 --> 00:05:57,090 Sa ibang salita, paano namin makakuha ng mula sa isang simpleng daloy ng koryente 133 00:05:57,090 --> 00:06:00,350 sa kumakatawan aktwal numero o aktwal na mga titik 134 00:06:00,350 --> 00:06:03,620 o aktwal na mga imahe sa screen o aktwal na mga pelikula o mga e-mail 135 00:06:03,620 --> 00:06:05,690 o anumang bilang ng mga mas mataas na antas konsepto, 136 00:06:05,690 --> 00:06:07,680 kung ikaw ay, na sa pagtatapos ng araw sa anumang paraan 137 00:06:07,680 --> 00:06:11,950 ay kailangang naka-imbak sa ito electronic makina aparato 138 00:06:11,950 --> 00:06:16,260 gamit lamang ang mga simpleng ingredients-- electron pagdating sa at sa labas? 139 00:06:16,260 --> 00:06:19,530 >> Kaya ito ay tila na, sa pinakasimpleng form, 140 00:06:19,530 --> 00:06:23,260 ang tanging uri ng mga estado mayroon ako sa aking mundo, kaya 141 00:06:23,260 --> 00:06:25,350 upang speak-- kondisyon sa aking world-- ay alinman 142 00:06:25,350 --> 00:06:33,020 Mayroon akong mga electron agos, kuryente umaagos, o ko not-- iba pa, off. 143 00:06:33,020 --> 00:06:35,850 At sabihin gawing pormal on at off, bilang isang computer siyentipiko ay maaaring, 144 00:06:35,850 --> 00:06:37,255 sa pamamagitan lamang ng 1 at 0. 145 00:06:37,255 --> 00:06:39,880 Sabihin lang ilarawan ang ilan arbitrary ngunit pare-pareho number dito. 146 00:06:39,880 --> 00:06:41,970 1 ay nangangahulugan sa, 0 ay nangangahulugan off. 147 00:06:41,970 --> 00:06:45,427 O maaari mo ring tingnan ito bilang true paraan sa at false paraan. 148 00:06:45,427 --> 00:06:47,510 Maaari mo ring gawin black at puti o pula at bughaw. 149 00:06:47,510 --> 00:06:48,759 Ikaw lamang ang kailangan ng dalawang descriptors. 150 00:06:48,759 --> 00:06:52,240 At isang computer siyentipiko gagawin karaniwang lamang gamitin ng 0 at 1. 151 00:06:52,240 --> 00:06:58,980 >> Kaya kung iyon ang kaso, ang aking lamang alpabeto ay binubuo ng 0 at 1, paano 152 00:06:58,980 --> 00:07:03,360 kaya kong posibleng makakuha sa kahit na ang number 2 sa isang computer, pabayaan mag-isa ang bilang 3 153 00:07:03,360 --> 00:07:06,140 o isang katinig o isang imahe o isang pelikula? 154 00:07:06,140 --> 00:07:08,910 Paano namin uri ng bootstrap ating sarili mula sa ito pangunahing prinsipyo 155 00:07:08,910 --> 00:07:12,080 ng 0 at 1 at talagang kumakatawan sa isang bagay mas kawili-wiling? 156 00:07:12,080 --> 00:07:14,430 >> Well, hayaan mo ilagay na tanong on hold para sa sandali lamang 157 00:07:14,430 --> 00:07:17,520 at isaalang-alang ang isang bagay sana pamilyar, 158 00:07:17,520 --> 00:07:21,150 kahit na kung ikaw ay hindi tunay na-iisip tungkol sa ito sa anumang detalye para sa 10, 20, 30, 40, 50 159 00:07:21,150 --> 00:07:22,520 higit pang mga taon. 160 00:07:22,520 --> 00:07:24,780 Ito ay kung ano? 161 00:07:24,780 --> 00:07:28,050 Paano mo bigkasin ang na? 162 00:07:28,050 --> 00:07:30,770 Hindi kahanga-hangang gawa tanong. 163 00:07:30,770 --> 00:07:32,950 Ang isang bilang, ngunit ano ito? 164 00:07:32,950 --> 00:07:34,842 1, 2, 3, o 123. 165 00:07:34,842 --> 00:07:37,800 At Nagustuhan ko kung paano ang sinabi mo 1, 2, 3, dahil iyon ang isang paraan ng pagtingin dito. 166 00:07:37,800 --> 00:07:39,870 1, 2, 3, ito ay isang pagkakasunod-sunod ng tatlong mga simbolo. 167 00:07:39,870 --> 00:07:42,005 Walang mga larawan na namin ngayon ikaw ay may mga salita para sa. 168 00:07:42,005 --> 00:07:44,880 At kung ikaw uri ng basahin ang mga ito ang lahat ng sama-sama, isang tipikal na tao sa English 169 00:07:44,880 --> 00:07:46,600 sasabihin 123. 170 00:07:46,600 --> 00:07:48,350 At iyon ang uri ng isang mas mataas na antas konsepto, 171 00:07:48,350 --> 00:07:50,340 nararamdaman tulad ng isang makatwirang malaking numero. 172 00:07:50,340 --> 00:07:51,490 >> Ngunit kung paano did we get there? 173 00:07:51,490 --> 00:07:54,640 Well, maaaring ito ay isang habang since na iyong naisip tungkol dito tulad nito, 174 00:07:54,640 --> 00:07:56,680 ngunit bumalik sa aking araw, ako uri ng natutunan na ito 175 00:07:56,680 --> 00:08:01,030 bilang ang 1 ni column, ang 10 ni haligi, at haligi ng 100. 176 00:08:01,030 --> 00:08:06,400 Kaya bilang Lakisa sabi ni, ito ay 1, 2, 3, ngunit ito ay din 123. 177 00:08:06,400 --> 00:08:08,700 Ngunit paano namin makuha mula sa ang dating sa huli? 178 00:08:08,700 --> 00:08:12,340 >> Well, gusto mo karaniwang gawin sa haligi ng 100, mayroon akong isang 1. 179 00:08:12,340 --> 00:08:14,794 Kaya na ang dahilan tulad ng sinasabi 100 beses 1. 180 00:08:14,794 --> 00:08:16,210 At pagkatapos ay sa 10 ng haligi, Mayroon akong 2. 181 00:08:16,210 --> 00:08:18,464 Kaya na tulad ng sinasabi ng 10 beses 2. 182 00:08:18,464 --> 00:08:19,630 Sa 1 ni column, mayroon akong 3. 183 00:08:19,630 --> 00:08:21,720 Kaya na ang dahilan tulad ng sinasabi sa 1 beses 3. 184 00:08:21,720 --> 00:08:24,290 >> At kung idagdag ko ang mga bagay sama-sama, ito, siyempre, 185 00:08:24,290 --> 00:08:27,470 ay 100 plus ang 10 plus 3. 186 00:08:27,470 --> 00:08:31,750 At oh, na ang dahilan kung bakit ako kumuha ito mas mataas na antas paniwala ng 123. 187 00:08:31,750 --> 00:08:37,220 Ito ay lamang ng pangunahing matematika, kung saan ang mga mga simbolo ay may weights sa kanila, kung ikaw 188 00:08:37,220 --> 00:08:39,620 ay, placeholder o halaga ng haligi. 189 00:08:39,620 --> 00:08:42,090 At sa sandaling i-multiply ko ang lahat out, kumuha ako ang numerong ito. 190 00:08:42,090 --> 00:08:47,840 >> Kaya kung gaano karaming ng alam mo kung paano upang makipag-usap binary-- 0 at 1's-- tulad ng isang computer? 191 00:08:47,840 --> 00:08:50,410 OK, perpekto, walang sinuman, o sinoman sa inyo sa tingin mo gawin. 192 00:08:50,410 --> 00:08:52,550 Ngunit Gusto ko tubusin mo talaga alam ito na. 193 00:08:52,550 --> 00:08:55,330 Kailangan lang namin upang ayusin ng sabunutan aming mga kaisipan modelo ng isang maliit na bit. 194 00:08:55,330 --> 00:08:57,250 Ngunit ang proseso ay eksakto ang parehong. 195 00:08:57,250 --> 00:09:01,460 >> Hayaan akong mag-iwan ng isang ito up doon at sa halip hilahin ito pababa para sa isang sandali. 196 00:09:01,460 --> 00:09:05,060 Sa mundo ng mga computer, Ang mayroon lamang tayo 0 at 1 ni. 197 00:09:05,060 --> 00:09:07,240 At kaya ang bagay na pagpunta sa pagbabago ay kung ano? 198 00:09:07,240 --> 00:09:10,920 Well, sa aking mundo ng tao, ang decimal system, Disyembre kahulugan 10, 199 00:09:10,920 --> 00:09:12,740 Mayroon akong gaano karaming mga numero sa aking pagtatapon? 200 00:09:12,740 --> 00:09:15,270 201 00:09:15,270 --> 00:09:16,540 10, i-right? 202 00:09:16,540 --> 00:09:17,880 0 hanggang 9, ng mga kurso. 203 00:09:17,880 --> 00:09:21,210 >> At iyon ang dahilan kung bakit mayroon kaming ang 10 ni lugar at lugar ng 100. 204 00:09:21,210 --> 00:09:22,380 Kung saan ay na nagmumula? 205 00:09:22,380 --> 00:09:24,430 Well, ito ay 10 sa kapangyarihan ng 0. 206 00:09:24,430 --> 00:09:28,440 Ito ay 10 sa kapangyarihan ng 1, 10 sa kapangyarihan ng 2, at iba pa. 207 00:09:28,440 --> 00:09:32,110 Mo lamang panatilihin ang pag-multiply ang iyong mga haligi sa pamamagitan ng 10, na nagsisimula off na may lamang 1 208 00:09:32,110 --> 00:09:33,700 sa rightmost isa dito. 209 00:09:33,700 --> 00:09:35,490 >> Kaya sa mundo ng mga computer, kung ikaw lamang 210 00:09:35,490 --> 00:09:39,600 Mayroon binary-- bi kahulugan 2-- o 0 at 1, kami lang 211 00:09:39,600 --> 00:09:42,420 talagang kailangan upang baguhin ang batayan ng matematika na. 212 00:09:42,420 --> 00:09:46,410 Kaya sa ibang salita, ngayon kami bibigyan lamang may 1 ni haligi at the-- 213 00:09:46,410 --> 00:09:51,270 where is this going-- haligi ng 2 ng, haligi ng 4, at marahil higit pa. 214 00:09:51,270 --> 00:09:52,250 Bakit na? 215 00:09:52,250 --> 00:09:55,650 Well, ito ay 2 ang 0-ika-kapangyarihan. 216 00:09:55,650 --> 00:09:57,270 Ito ay 2 ang 1. 217 00:09:57,270 --> 00:09:59,610 Ito ang 2 sa 2, at iba pa. 218 00:09:59,610 --> 00:10:04,910 >> Kaya samantalang dito, mayroon kaming 1, 10 ni, 100, 1,000 's, 10,000 ni, 100,000, ang 1 219 00:10:04,910 --> 00:10:10,560 milyon-milyong, at iba pa, dito kami ay may 1, 2, 4, 8, 16, 32, 64. 220 00:10:10,560 --> 00:10:13,950 Mo lamang panatilihin ang pag-multiply sa pamamagitan ng 2, sa halip na panatilihin ang pag-multiply sa pamamagitan ng 10. 221 00:10:13,950 --> 00:10:16,780 Kaya ngayon, kung ang layunin sa kamay ay upang kumatawan 222 00:10:16,780 --> 00:10:20,240 numero gamit lamang 0 at 1 ni, sabihin isaalang-alang kung paano namin makarating doon. 223 00:10:20,240 --> 00:10:26,540 >> Ito, siyempre, ay ang pattern 0 0 0, ngunit kung ano ang numero conceptually 224 00:10:26,540 --> 00:10:27,490 ay kumakatawan ito? 225 00:10:27,490 --> 00:10:35,430 Well, 4 na beses 0 plus 2 beses 0 plus 1 beses 0, sabihin magdagdag ng mga sama-sama. 226 00:10:35,430 --> 00:10:40,030 4 na beses 0 ay, siyempre, 0, plus 2 beses 0 ay, siyempre, 0 plus 1 beses 0 227 00:10:40,030 --> 00:10:40,850 ay, siyempre, 0. 228 00:10:40,850 --> 00:10:44,910 So ah, ito ay kumakatawan sa number namin ang mga tao malaman bilang 0. 229 00:10:44,910 --> 00:10:47,810 >> Well, ngayon, sabihin napaka mabilis fast forward. 230 00:10:47,810 --> 00:10:53,600 Kung sa halip hindi ako na kumakatawan 0 0 0, ngunit sabihin gawin 1 0 1, 231 00:10:53,600 --> 00:10:57,010 na maaaring maging kung paano Lakisa, mas maaga, Gusto lang ipakilalang 1 0 1. 232 00:10:57,010 --> 00:11:01,020 Ngunit ngayon, paano namin dalhin ito sa mas mataas na antas ang bilang maaaring malaman namin ang mga tao? 233 00:11:01,020 --> 00:11:04,220 Kaya kung ano ay ang bilang na ito? 234 00:11:04,220 --> 00:11:06,060 Ito ay 5, ang bilang alam namin bilang 5. 235 00:11:06,060 --> 00:11:06,870 >> Well, kung bakit ay na? 236 00:11:06,870 --> 00:11:09,620 Well, maaari naming talagang uri ng maglakad sa pamamagitan nito methodically 237 00:11:09,620 --> 00:11:14,880 4 na beses 1, 2 beses 0, 1 beses 1. 238 00:11:14,880 --> 00:11:19,880 Magdagdag ng mga magkasama, kaya ito ay 4 plus 0 plus 1. 239 00:11:19,880 --> 00:11:21,577 At iyon ang dahilan, sa katunayan, 5. 240 00:11:21,577 --> 00:11:24,660 Kaya ito ay nakakakuha ng kaunti nakakapagod ngayon paggawa ng arithmetic muli at muli. 241 00:11:24,660 --> 00:11:26,300 Ngunit ang proseso ay eksakto ang parehong. 242 00:11:26,300 --> 00:11:28,380 >> Ang tanging bagay na may nagbago sa ating mundo 243 00:11:28,380 --> 00:11:32,740 ay na ang aming mga haligi ay 1, 2, 4, 8, 16, at iba pa, sa halip ng 1, 10, 100, 244 00:11:32,740 --> 00:11:33,740 1,000. 245 00:11:33,740 --> 00:11:40,000 At ito lamang dahil ang aming alpabeto ay may shrunk mula 0 hanggang 9 sa makatarungan 0 hanggang 1. 246 00:11:40,000 --> 00:11:50,851 >> Kaya bilang isang maliit na pagsusulit dito, kung paano gagawin kumatawan sa iyo ang bilang 7 in binary? 247 00:11:50,851 --> 00:11:51,350 0? 248 00:11:51,350 --> 00:11:53,490 Well, 0, ibig mo bang sabihin 0 0 0? 249 00:11:53,490 --> 00:11:58,140 250 00:11:58,140 --> 00:11:59,693 Say ito muli, Karina. 251 00:11:59,693 --> 00:12:03,010 252 00:12:03,010 --> 00:12:03,550 Perpekto. 253 00:12:03,550 --> 00:12:04,370 Bakit na? 254 00:12:04,370 --> 00:12:08,530 Ito ay epektibong 4 plus 2 plus 1. 255 00:12:08,530 --> 00:12:09,580 Kaya mabuti. 256 00:12:09,580 --> 00:12:14,364 >> Paano namin kumakatawan sa isang maliit na another-- kung paano tungkol sa number 2? 257 00:12:14,364 --> 00:12:18,360 258 00:12:18,360 --> 00:12:20,690 Isara, ngunit paurong. 259 00:12:20,690 --> 00:12:21,660 Kaya kung ano ay ito? 260 00:12:21,660 --> 00:12:26,290 Is 4 plus 1, kaya na 5 muli. 261 00:12:26,290 --> 00:12:28,310 >> Kaya what's-- Sorry, 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 ay magiging 2, dahil na maguli, ay kung ito uri ng ay hindi tumalon out sa iyo, 264 00:12:34,762 --> 00:12:35,470 lamang gawin ang matematika. 265 00:12:35,470 --> 00:12:40,390 4 na beses 0, 0, 2 beses 1 ay 2, 1 beses 0 ay 0. 266 00:12:40,390 --> 00:12:42,830 Kaya ito ay ang bilang alam namin bilang 2. 267 00:12:42,830 --> 00:12:44,030 >> Paano ang tungkol sa number 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 Good. 271 00:12:53,330 --> 00:12:56,130 Kaya namin uri ng kailangan ng isa pang placeholder. 272 00:12:56,130 --> 00:12:59,570 Kailangan namin 1 0 0 0. 273 00:12:59,570 --> 00:13:02,280 At iyan ay totoo kauri natin ng old school decimal system. 274 00:13:02,280 --> 00:13:05,280 Paano mo kumakatawan sa bilang 1,000? 275 00:13:05,280 --> 00:13:08,480 >> Well, Gusto ay nagiisip na siya'y uri ng sa isang matigas lugar, 276 00:13:08,480 --> 00:13:10,390 kung magtatanong kayo upang kumatawan ang bilang 1,000, 277 00:13:10,390 --> 00:13:14,960 dahil kahit na magbibigay sa iyo ng iyong sarili tulad ng 9 sa mga ito, 9 sa mga ito, 0 sa mga ito, 278 00:13:14,960 --> 00:13:18,730 kung saan ay ang pinakamalaking bilang mo mayroon, ikaw ay hindi pa makakuha ng 1,000. 279 00:13:18,730 --> 00:13:26,920 Kaya't kung ikaw 1,000, kailangan mo lamang ng isa pang posisyon, sa gayon ay maaari mong gawin 1 0 0 0, 280 00:13:26,920 --> 00:13:29,460 ergo ang bilang 1,000. 281 00:13:29,460 --> 00:13:34,200 >> Kaya ngayon, sabihin i-map ni ganitong uri ng haka-haka discussion bumalik sa hardware, 282 00:13:34,200 --> 00:13:37,470 kung saan muli, ang input ay lamang ito maliit na power cable, kuryente 283 00:13:37,470 --> 00:13:39,300 pumapasok at umaagos out. 284 00:13:39,300 --> 00:13:44,740 At kaya para sa na upang mai-map mula dito papunta doon, well, ano ang gagawin namin talagang kailangan? 285 00:13:44,740 --> 00:13:49,460 Well, maaari mong isipin ng pagiging sa loob ng isang computer, ang maramihang mga ilaw bombilya, 286 00:13:49,460 --> 00:13:50,450 kung gagawin mo. 287 00:13:50,450 --> 00:13:52,040 talagang ito ay tinatawag na transistors. 288 00:13:52,040 --> 00:13:55,121 At transistors ay lamang switch na maaaring maging alinman sa on o off. 289 00:13:55,121 --> 00:13:56,870 Kaya maaari mong isipin ng isang transistor na nasa 290 00:13:56,870 --> 00:14:00,730 ay nagpapahintulot sa koryente sa daloy at isang transistor na off bilang pagpapahinto 291 00:14:00,730 --> 00:14:02,170 kuryente mula sa agos. 292 00:14:02,170 --> 00:14:04,130 At sa halip na kumuha ng ibabaw ng mga ilaw dito, 293 00:14:04,130 --> 00:14:06,450 bakit hindi ko ito uri ng mga bagong estilo ng paaralan. 294 00:14:06,450 --> 00:14:11,360 Kaya ito ay maaaring maging isang 1, isang flashlight pagiging sa, lamang bahagya though. 295 00:14:11,360 --> 00:14:14,050 At ito ay maaaring maging isang 0, at ngayon ito ay off. 296 00:14:14,050 --> 00:14:18,277 >> Kaya gamit ang pisikal na aparato, ako ay maaari na ngayong ay kumakatawan sa mga binary system. 297 00:14:18,277 --> 00:14:19,235 Kailangan ko lang dalawang estadong ito. 298 00:14:19,235 --> 00:14:21,660 Hindi mahalaga kung ano ang kulay ito ay o kung ano ito ay. 299 00:14:21,660 --> 00:14:25,920 Lahat na usapin ay na mayroon akong sa isang estado sa at ibang estado off. 300 00:14:25,920 --> 00:14:30,605 Kaya gamit ang aking telepono dito, kung paano ko kumakatawan sa bilang alam namin bilang 0? 301 00:14:30,605 --> 00:14:34,490 302 00:14:34,490 --> 00:14:38,550 O ilagay equivalently, kung ano number ako na kumakatawan ngayon? 303 00:14:38,550 --> 00:14:39,810 0, dahilan sa ang telepono ay off. 304 00:14:39,810 --> 00:14:41,560 >> At kung gagawin ko ito? 305 00:14:41,560 --> 00:14:43,583 At ngayon, kung paano ko kumakatawan sa bilang 2? 306 00:14:43,583 --> 00:14:46,380 307 00:14:46,380 --> 00:14:50,930 Maaari ko bang hiramin ang telepono dito, tulad ng ginawa namin kahapon? 308 00:14:50,930 --> 00:14:58,490 Kaya sabihin makita, kaya kung gusto ko upang kumatawan ang bilang 2, ay ito ang number 2? 309 00:14:58,490 --> 00:14:59,050 Hindi. 310 00:14:59,050 --> 00:15:02,250 Anong numero ang am ko sinasadyang na kumakatawan dito? 311 00:15:02,250 --> 00:15:03,550 Ito ay talagang ang bilang 3. 312 00:15:03,550 --> 00:15:05,008 >> Kaya kung saan ang isa ang gusto kong i-off? 313 00:15:05,008 --> 00:15:09,634 Ang itim na telepono or-- na rin, kung they're-- black telepono o ang puting phone? 314 00:15:09,634 --> 00:15:10,300 Ang puting phone. 315 00:15:10,300 --> 00:15:17,020 Kaya kapag isinara ko ito off at kami line up ito sa paglipas dito, mayroon kaming isang 1 316 00:15:17,020 --> 00:15:19,487 sa 2 ni lugar at isang 0 sa 1 ni lugar. 317 00:15:19,487 --> 00:15:21,195 At kaya ako ngayon na kumakatawan sa bilang 2. 318 00:15:21,195 --> 00:15:24,680 At ito, Of course, ay ang number 3, dahil ngayon ang parehong mga ilaw 319 00:15:24,680 --> 00:15:25,350 ay sa. 320 00:15:25,350 --> 00:15:27,480 >> At kukunin ko na hihinto dito, ngunit ito ay sa dahilan 321 00:15:27,480 --> 00:15:31,100 kung gusto ko upang kumatawan sa number 4 o 8 o mas mataas, 322 00:15:31,100 --> 00:15:32,529 Pupunta ako sa kailangan ng higit phone. 323 00:15:32,529 --> 00:15:33,820 Ngunit iyon lamang ang lahat na ang nangyayari sa. 324 00:15:33,820 --> 00:15:37,800 Kaya kung sakaling mo na narinig na sa loob ng a-- salamat you-- ng computer 325 00:15:37,800 --> 00:15:42,269 ay milyon-milyong mga transistors, na ang dahilan lamang milyon-milyong mga maliit na maliit maliit switch. 326 00:15:42,269 --> 00:15:44,310 At ang mga ito hindi liwanag bombilya na i-on at off, 327 00:15:44,310 --> 00:15:48,340 ngunit ang alinman nila pinapayagan koryente upang dumaloy sa isang lugar o ihinto ito. 328 00:15:48,340 --> 00:15:52,140 At kaya may iyong dalawang states-- on o off, on o off. 329 00:15:52,140 --> 00:15:55,730 >> Kaya kami ay tila ngayon na magkaroon ng kakayahan na ito 330 00:15:55,730 --> 00:16:00,590 upang kumatawan sa konseptong ito na nais naming sa aktwal na hardware. 331 00:16:00,590 --> 00:16:05,520 Ngunit ang lahat na mayroon kami ngayon ay ang kakayahan upang kumatawan numero ito ay tila. 332 00:16:05,520 --> 00:16:08,580 Kaya kung paano namin pumunta tungkol sa na kumakatawan sa mga titik ng alpabeto, na kung saan 333 00:16:08,580 --> 00:16:12,310 nararamdaman tulad ng susunod na uri ng tampok na iyong ay nais na idagdag sa isang modernong computer 334 00:16:12,310 --> 00:16:14,280 sandaling ikaw ay may mga numero? 335 00:16:14,280 --> 00:16:16,930 >> At sa katunayan, kung sa tingin mo tungkol sa ito, kasaysayan, mga computer 336 00:16:16,930 --> 00:16:19,426 ay ipinakilala talagang upang maglingkod bilang calculators ayon sa bilang. 337 00:16:19,426 --> 00:16:21,300 Pero siyempre, ang mga ito araw, ginagawa nila marami pang iba. 338 00:16:21,300 --> 00:16:23,799 Kahit na kapag sila boot up, ikaw karaniwang makita ang isa o higit pang mga salita. 339 00:16:23,799 --> 00:16:27,420 Kaya paano kinakatawan mo salita, kung ang lahat ng mayroon kang ay, muli, 340 00:16:27,420 --> 00:16:31,054 kuryente sa dulo ng araw, o equivalently 0 at 1 ni? 341 00:16:31,054 --> 00:16:34,430 342 00:16:34,430 --> 00:16:35,690 >> Yeah. 343 00:16:35,690 --> 00:16:38,320 Yeah, I mean, namin uri ng ginawa ito kahapon sa ilang mga form, 344 00:16:38,320 --> 00:16:40,200 kung saan sa ilang mga punto, Sa tingin ko ako arbitrarily 345 00:16:40,200 --> 00:16:46,741 sinabi na, kung gusto naming upang kumatawan sa titik A, maaari naming tumawag lamang na ang isang 1. 346 00:16:46,741 --> 00:16:49,990 Ito ay sa konteksto ng cryptography, kung saan kami lamang ang kailangan ng ilang uri ng code, 347 00:16:49,990 --> 00:16:51,160 ilang mga uri ng paggawa ng mga mapa. 348 00:16:51,160 --> 00:16:56,680 >> Kaya siguro A ay kinakatawan bilang isang 1, at B ay kinakatawan bilang 2, 349 00:16:56,680 --> 00:17:01,560 at Z ay kakatawanin bilang 26, halimbawa. 350 00:17:01,560 --> 00:17:07,430 At pagkatapos ay ang tanging caveat ay na kung ako pagpunta upang i-encode titik sa aking mga email 351 00:17:07,430 --> 00:17:10,430 o sa aking mga text na mensahe ng mga numero, sa iyo ang lahat 352 00:17:10,430 --> 00:17:12,640 kung sumasang-ayon na gamitin ang katulad na hanay ng mga convention. 353 00:17:12,640 --> 00:17:14,619 At sa katunayan, ang mundo ay tapos na eksakto na. 354 00:17:14,619 --> 00:17:18,040 >> May ay isang sistema sa mundo tinatawag ASCII, American Standard 355 00:17:18,040 --> 00:17:21,640 Code para sa Impormasyon Interchange, na kung saan ay isang desisyon lamang ng ilang taon 356 00:17:21,640 --> 00:17:25,720 nakalipas na ang mga tao na ginawa na nagpasya na A ay pagpunta sa pantay, hindi 357 00:17:25,720 --> 00:17:32,260 1, 2, at 26, at iba pa forth-- ito ay isang maliit different-- ngunit 65, 66, 67. 358 00:17:32,260 --> 00:17:34,010 At kukunin ko na makuha ang isang tsart sa loob lamang ng ilang sandali. 359 00:17:34,010 --> 00:17:34,580 Ngunit ito ay arbitrary. 360 00:17:34,580 --> 00:17:36,329 Ngunit ito ay hindi mahalaga na ito ay arbitrary. 361 00:17:36,329 --> 00:17:38,620 Ang mundo ay may sa makatarungan maging pare-pareho. 362 00:17:38,620 --> 00:17:40,540 >> Ngayon, mas kamakailan lamang, mayroong isang bagay na may interes 363 00:17:40,540 --> 00:17:45,430 tinatawag Unicode, dahil uri ng mundo ng natanto, pagkatapos inventing mga computer, 364 00:17:45,430 --> 00:17:50,977 na mayroong higit sa na rin 256 mga simbolo sa mundo 365 00:17:50,977 --> 00:17:53,560 na maaari naming nais upang kumatawan, lalo na kapag ikaw ipakilala 366 00:17:53,560 --> 00:17:58,420 Asian na mga wika at iba pang mga symbologies na kailangan pa expressiveness kaysa sa iyo 367 00:17:58,420 --> 00:18:02,150 maaaring magkasya sa pinakamaagang bersyon ng ang code na ito, na kung saan ay tinatawag na ASCII. 368 00:18:02,150 --> 00:18:05,250 Kaya Unicode talagang nagbibigay-daan sa mong gamitin pa 0 at 2. 369 00:18:05,250 --> 00:18:08,830 Sa partikular, patuloy mong pakikinig ng salita bytes sa lipunan at kahit na lamang 370 00:18:08,830 --> 00:18:09,400 kahapon. 371 00:18:09,400 --> 00:18:12,040 At isang byte ay kung ano ulit? 372 00:18:12,040 --> 00:18:14,840 >> Ano ang isang byte? 373 00:18:14,840 --> 00:18:15,700 Ito ay lamang ng 8 bits. 374 00:18:15,700 --> 00:18:17,150 Kaya kung ano ang tunay na ito? 375 00:18:17,150 --> 00:18:22,400 Well, ito ay nangangahulugan na, mas maaga, nang kami ay pakikipag-usap tungkol sa binary at ako ay gumagamit ng 376 00:18:22,400 --> 00:18:28,010 arbitrarily tatlong piraso kapag kami ay pakikipag-usap tungkol binary-- ang 1 lugar, 377 00:18:28,010 --> 00:18:33,600 ang 2 ni kinaroroonan, at ang 4 place-- well, isang byte lamang ay nangangahulugan na ikaw ay pakikipag-usap 378 00:18:33,600 --> 00:18:38,730 hindi sa mga unit ng tatlong ngunit apat, lima, anim, pito walo, 379 00:18:38,730 --> 00:18:46,910 na nagbibigay sa amin ng lugar 8 ni, 16 ni, 32 ni, 64, at 128 ni. 380 00:18:46,910 --> 00:18:50,010 >> Sa ibang salita, ang isang bit ay hindi lahat na kapaki-pakinabang ang isang yunit ng panukalang-batas, 381 00:18:50,010 --> 00:18:53,132 dahil ito ay tulad ng isang maliit na maliit maliit piraso ng impormasyon, on o off. 382 00:18:53,132 --> 00:18:54,840 Kaya ang ilang mga taon na nakalipas, mundo lamang ay nagpasya 383 00:18:54,840 --> 00:18:59,060 ito ay bahagyang mas maginhawa upang makipag-usap sa mga tadhana ng bytes, walong bagay sa isang pagkakataon. 384 00:18:59,060 --> 00:19:01,670 At kaya sa gayon ay ipinanganak ang pagkaunawa ng isang byte. 385 00:19:01,670 --> 00:19:03,640 At kaya kami ay may walong bits dito. 386 00:19:03,640 --> 00:19:06,810 >> At ito ay lumiliko out, masyadong, para sa mga katulad dahilan, ang mundo ay nagpasya taon 387 00:19:06,810 --> 00:19:12,439 ang nakalipas na kinakatawan ang isang ASCII sulat, ikaw ay pagpunta sa gamitin ang mga yunit ng 8 bits. 388 00:19:12,439 --> 00:19:14,230 Kaya kahit na hindi mo gusto kailangan na marami, ikaw ay 389 00:19:14,230 --> 00:19:18,130 palaging pagpunta sa gumamit ng 8 bits upang kumakatawan sa isang titik ng alpabeto. 390 00:19:18,130 --> 00:19:20,950 At ito ay maginhawa, dahil pagkatapos kung ikaw 391 00:19:20,950 --> 00:19:28,720 makatanggap ng mensahe na may isang 0 0 0 1 1 1 1 0 sinusundan ng isa pang 1 1 1 0 1 0 392 00:19:28,720 --> 00:19:33,320 0 1, kaya kung ikaw ay tumatanggap ng 16 bits, ang mundo maaari lamang 393 00:19:33,320 --> 00:19:37,460 ipinapalagay na ang unang 8 mga isang titik at ang ikalawang 8 ay isa pang liham. 394 00:19:37,460 --> 00:19:39,240 >> Ay hindi mahalaga kung gaano karaming mga may mga. 395 00:19:39,240 --> 00:19:41,460 Ito lamang ang mahalaga na kami ay lahat ng pare-pareho 396 00:19:41,460 --> 00:19:42,950 kapag kami ay pagbibigay-kahulugan ang mga bits. 397 00:19:42,950 --> 00:19:44,377 At ito ay lamang ng random. 398 00:19:44,377 --> 00:19:47,210 Ito ay nangangahulugan na ang isang bagay, ngunit ako ay hindi talagang isipin ang tungkol kung ano ang ibig sabihin nito. 399 00:19:47,210 --> 00:19:49,620 >> Kaya ito ay isang maliit na maliit na kasinungalingan. 400 00:19:49,620 --> 00:19:51,990 Originally, ASCII tunay na ginamit lamang ng 7 bits. 401 00:19:51,990 --> 00:19:54,180 At sa ikawalong bit ay tinatawag extended ASCII. 402 00:19:54,180 --> 00:19:56,290 Ngunit ang punto ay, sa huli, pareho. 403 00:19:56,290 --> 00:19:58,850 Ang mundo sa pangkalahatan ulirang sa 8 bits. 404 00:19:58,850 --> 00:20:04,290 >> Kaya ito ay tila na maging isang maliit takda, dahil ako ay maaari lamang 405 00:20:04,290 --> 00:20:07,970 kumakatawan capital A, capital B sa pamamagitan ng capital Z. 406 00:20:07,970 --> 00:20:10,940 Ngunit sa katunayan hindi, kung pumunta ako to-- mayroong isang bungkos ng mga mapagkukunan 407 00:20:10,940 --> 00:20:13,695 online, halimbawa, asciitable.com, ito 408 00:20:13,695 --> 00:20:16,310 ay pagpunta sa maging isang maliit na napakalaki sa unang. 409 00:20:16,310 --> 00:20:18,910 Ngunit Kukunin ko ituro kung ano ang mahalaga dito. 410 00:20:18,910 --> 00:20:24,090 >> Ito lamang ang mangyayari sa be-- at kukunin ko walk-- sabihin makita, kung pumunta ako sa paglipas dito. 411 00:20:24,090 --> 00:20:27,990 Narito ay, sa decimal haligi, ang bilang 65. 412 00:20:27,990 --> 00:20:32,201 At sa kanang kamay ang sulat column character, Chr, ay ang titik A. 413 00:20:32,201 --> 00:20:34,450 At maaari mong huwag pansinin, para sa ngayon, ang lahat ng bagay sa gitna. 414 00:20:34,450 --> 00:20:36,769 Ito ang hexadecimal, octal, at isang HTML code. 415 00:20:36,769 --> 00:20:39,810 Sa site na ito ay lamang sinusubukan upang ihagis isang pulutong ng mga impormasyon sa iyo sa iisang pagkakataon. 416 00:20:39,810 --> 00:20:42,970 Ngunit ang lahat ng pag-aalaga namin tungkol sa ay ang decimal haligi at haligi character. 417 00:20:42,970 --> 00:20:46,190 >> Kaya sa pamamagitan ng logic na ito, kung ano ang ang bilang na ang mundo 418 00:20:46,190 --> 00:20:50,510 ay nagpasya ay kumakatawan sa isang lowercase a? 419 00:20:50,510 --> 00:20:52,230 Yeah, 97. 420 00:20:52,230 --> 00:20:55,850 At lamang upang lituhin potensyal na nang bahagya, 421 00:20:55,850 --> 00:21:03,715 kung ano ang numero ay nagpasya mundo Gusto kumakatawan sa bilang 1? 422 00:21:03,715 --> 00:21:06,900 423 00:21:06,900 --> 00:21:10,910 Right, dahil we-- 49, tila dito, down sa ibabang kaliwa. 424 00:21:10,910 --> 00:21:12,320 >> Ngayon, ano ang ibig sabihin ko sa pamamagitan ng na? 425 00:21:12,320 --> 00:21:14,830 Kaya ito lumiliko out na sa mga sistema ng computer, 426 00:21:14,830 --> 00:21:16,840 doon ay karaniwang isang pangunahing pagkakaiba 427 00:21:16,840 --> 00:21:19,920 sa pagitan ng isang numero at ang isang character. 428 00:21:19,920 --> 00:21:22,330 Ang bilang ay ang bagay na namin natutunan lumalaking up kapag 429 00:21:22,330 --> 00:21:23,830 kami ay sobrang batang nasa mababang paaralan. 430 00:21:23,830 --> 00:21:25,110 Walang bagay bilangin mo sa. 431 00:21:25,110 --> 00:21:30,220 Ngunit isang character ay lamang ng isang hugis, isang glyph, kaya na magsalita, sa screen. 432 00:21:30,220 --> 00:21:36,200 >> Ngayon, tayong mga tao uri ng makita isang bagay na ganito ang hitsura. 433 00:21:36,200 --> 00:21:39,060 At sinasabi namin, oh, iyon ay ang bilang 2. 434 00:21:39,060 --> 00:21:44,999 Subalit hindi, ito lamang ay isang simbolo na mukhang tulad ng kung ano ang alam namin bilang ang bilang 2. 435 00:21:44,999 --> 00:21:46,790 At kaya may ito pangunahing pagkakaiba 436 00:21:46,790 --> 00:21:50,340 sa pagitan ng aktwal na mga numero at mga character. 437 00:21:50,340 --> 00:21:52,130 Ito ay isang numero. 438 00:21:52,130 --> 00:21:54,420 Ngunit sa pangkalahatan, sa konteksto ng isang computer, 439 00:21:54,420 --> 00:21:56,809 kung ikaw sa halip makita ang isang bagay tulad ng quoted-- ito 440 00:21:56,809 --> 00:21:58,600 at hindi mo laging kung makita ito naka-quote, 441 00:21:58,600 --> 00:22:01,474 ngunit para sa kapakanan ng discussion-- kung nakikita mo quotes sa paligid ng number, 442 00:22:01,474 --> 00:22:02,730 ito ay ngayon ng isang character. 443 00:22:02,730 --> 00:22:06,330 Kaya ito number 2 sa ilalim ng hood sa loob ng isang computer 444 00:22:06,330 --> 00:22:12,220 ay kinakatawan sa isang pattern ng mga bits na kumakatawan sa bilang 445 00:22:12,220 --> 00:22:14,850 50 ayon sa tsart online. 446 00:22:14,850 --> 00:22:18,300 >> Gayunman, kung ang isang computer lang nakikita ito, ito 447 00:22:18,300 --> 00:22:24,580 ay kinakatawan sa pattern ng bit 0 0 0 0 0 0 1 0. 448 00:22:24,580 --> 00:22:29,595 Sapagkat, ang character na ito gagawin aktwal na katawanin as-- at ngayon, 449 00:22:29,595 --> 00:22:34,710 Nakatanggap ako mag-isip ng kaunti harder-- kaya ito karakter ay kinakatawan sa 0 450 00:22:34,710 --> 00:22:39,080 0 1-- kung ano ang kailangan ko dito? 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 Paano ang gagawin ko ito? 453 00:22:45,480 --> 00:22:49,580 Well ito ay ang bilang 50, kung ikaw multiply ito out gamit ang mga haligi, 454 00:22:49,580 --> 00:22:53,530 ito ay ang bilang 2, at iba pa na ang dahilan kung bakit may ganitong dichotomy. 455 00:22:53,530 --> 00:22:55,850 >> At ito ay lamang ng isang teaser ngayon para sa mga tampok 456 00:22:55,850 --> 00:22:59,710 na umiiral sa mga wika programming na kami ay hawakan sa madaling sabi ibang pagkakataon ngayong araw. 457 00:22:59,710 --> 00:23:01,950 Sa programming wika, ikaw ay may sa pangkalahatan, 458 00:23:01,950 --> 00:23:04,495 ngunit hindi palaging, mga bagay tumawag iba't ibang mga uri ng data. 459 00:23:04,495 --> 00:23:06,870 Sa ibang salita, ang isang programmer-- kapag siya ay sumusulat, 460 00:23:06,870 --> 00:23:11,150 isang programmer ay makakakuha upang magpasya sa kung ano ang format upang mag-imbak ang kanyang data. 461 00:23:11,150 --> 00:23:14,120 Maaari kang mag-store ng data bilang raw mga numero, tulad ng bilang 2. 462 00:23:14,120 --> 00:23:17,940 O maaari kang mag-imbak ang mga ito bilang mga string, o pagkakasunud-sunod ng mga character 463 00:23:17,940 --> 00:23:21,550 na nais mong karaniwang ipahayag na may quotes sa iyong programming language. 464 00:23:21,550 --> 00:23:25,230 >> Maaari kang magkaroon ng mga bagay-bagay called-- Kukunin ko oversimplify at tawagan ang mga ito 465 00:23:25,230 --> 00:23:28,870 real numbers-- kaya numero na ay hindi integers tulad ng bilang 2, 466 00:23:28,870 --> 00:23:31,310 ngunit ang mga numero gusto 4.56. 467 00:23:31,310 --> 00:23:33,490 Kaya tunay na mga numero ay maaari ring may mga decimal point, 468 00:23:33,490 --> 00:23:36,340 kaya na ang isang iba't ibang mga pangunahing piraso ng data sa isang computer. 469 00:23:36,340 --> 00:23:41,920 At pagkatapos ay maaari mong kahit na magkaroon ng iba pang mga uri ng data pa rin. 470 00:23:41,920 --> 00:23:45,810 Kaya ito lamang ay isang teaser talagang ng ang pinakasimpleng ng mga desisyon na disenyo 471 00:23:45,810 --> 00:23:50,960 na ang isang programmer baka gumawa sa ilalim ng hood. 472 00:23:50,960 --> 00:23:52,925 >> Kaya ang anumang mga katanungan lamang pa? 473 00:23:52,925 --> 00:23:57,320 474 00:23:57,320 --> 00:23:59,860 Kaya sabihin subukan na gumawa ng Ito ba ay isang maliit na mas real. 475 00:23:59,860 --> 00:24:02,120 hardware na ito ay hindi so much ginagamit anymore. 476 00:24:02,120 --> 00:24:07,420 Ngunit karamihan sa lahat sa kuwartong ito marahil lumago up sa at pa rin ay gumagamit ng hard drive 477 00:24:07,420 --> 00:24:08,010 sa ibang paraan. 478 00:24:08,010 --> 00:24:10,100 >> Kahit na ang karamihan ng aming laptops hindi na 479 00:24:10,100 --> 00:24:15,900 may mga aparato na gumana tulad nito, sa halip laptops ngayon sa pangkalahatan 480 00:24:15,900 --> 00:24:18,590 may solid drive ng estado na walang paglipat ng mga bahagi. 481 00:24:18,590 --> 00:24:22,840 At iyon ay may gawi na maging mas mahal, sa kasamaang-palad, ngunit ang isang maliit na bit mas mabilis 482 00:24:22,840 --> 00:24:27,230 at a-- well, madalas, ang isang pulutong ng mas mabilis, kung saan ay isa sa mga dahilan. 483 00:24:27,230 --> 00:24:28,980 At ito rin ay hindi makabuo ng mas maraming init. 484 00:24:28,980 --> 00:24:31,680 Maaari itong maging mas maliit, kaya sa pangkalahatan ay isang net positive. 485 00:24:31,680 --> 00:24:35,030 >> Ngunit ito ay nagbibigay-daan sa amin upang i-map ang isang kaunti pa concretely ano 486 00:24:35,030 --> 00:24:38,460 kami ay pakikipag-usap tungkol sa 0 at 1 ni level ngayon sa isang pisikal na aparato. 487 00:24:38,460 --> 00:24:40,810 Ito ay isang bagay para sa akin na makipag-usap tungkol sa 0 at 1 sa mga tuntunin 488 00:24:40,810 --> 00:24:43,990 ng aking telepono o abstractly sa mga tuntunin ng switch pagiging on at off. 489 00:24:43,990 --> 00:24:45,340 Ngunit ano ang tungkol sa hard drive? 490 00:24:45,340 --> 00:24:48,495 Sa iyong laptop, kung ikaw ay may isang mas lumang isa, o sa iyong desktop computer, 491 00:24:48,495 --> 00:24:51,200 o tiyak sa mga server araw na ito, kung saan mayroon kang 492 00:24:51,200 --> 00:24:53,070 hard drive na mayroon isang terabyte ng space, 493 00:24:53,070 --> 00:24:55,560 4 terabytes ng espasyo, mabuti kung ano ang kahulugan nito? 494 00:24:55,560 --> 00:24:59,560 >> Ang isang hard drive na may 1 terabyte ng puwang paraan 495 00:24:59,560 --> 00:25:03,890 mayroong 1 trillion bytes sa loob nito sa anumang paraan, 496 00:25:03,890 --> 00:25:10,450 o equivalently 8 trilyon bits sa loob. 497 00:25:10,450 --> 00:25:16,240 1 terabyte ay magiging 8 terabits o 1 trillion bits, na kung saan 498 00:25:16,240 --> 00:25:19,330 nangangahulugan na kung ikaw ay may isang hard drive, ikaw ay may sa paanuman 499 00:25:19,330 --> 00:25:22,400 o iba pang mga isang trilyong 0 ni at 1 sa loob nito. 500 00:25:22,400 --> 00:25:25,360 At kung kami lang kumuha ng isang pagtingin sa isang arbitrary larawan ng isang hard drive 501 00:25:25,360 --> 00:25:30,110 kinatawan, ito ay kung ano ang isang hard drive ay maaaring karaniwang hitsura ng loob. 502 00:25:30,110 --> 00:25:32,600 >> Ito, masyadong, ay uri ng tulad isang lumang ponograpo manlalaro 503 00:25:32,600 --> 00:25:35,350 ngunit sa pangkalahatan ay may maramihang mga talaan sa loob, kaya 504 00:25:35,350 --> 00:25:38,270 upang speak-- maramihang platters, bilang sila ay tinatawag na, 505 00:25:38,270 --> 00:25:42,259 metal pabilog disks, at pagkatapos ng isang maliit na pagbabasa ulo, 506 00:25:42,259 --> 00:25:43,550 marami tulad ng isang lumang record player. 507 00:25:43,550 --> 00:25:46,589 At na ang pagbabasa ulo gumagalaw papunta at balik at sa paanuman nagbabasa ng bits. 508 00:25:46,589 --> 00:25:49,380 At kung ano ang sa mga platters, kahit bagaman namin ang mga tao ay hindi maaaring makita ang mga ito, 509 00:25:49,380 --> 00:25:52,757 alinman sa katotohanan o sa larawan na ito, mayroong maliit na maliit maliit magnetic particles. 510 00:25:52,757 --> 00:25:55,090 At kahit na sa iyo mahaba nakalimutan kung paano koryente gumagana, 511 00:25:55,090 --> 00:25:57,550 isang magnetic maliit na butil na sisingilin sa pangkalahatan 512 00:25:57,550 --> 00:26:00,570 ay may north dulo at isang timog end-- kaya hilaga at timog. 513 00:26:00,570 --> 00:26:03,000 At kaya ang mundo lamang nagpasya ilang oras ang nakalipas 514 00:26:03,000 --> 00:26:06,570 na, kung ang isang magnetic protocol mahalagang ay hile-hilera na tulad nito, hilaga-timog, 515 00:26:06,570 --> 00:26:07,610 sabihin tumawag na ang isang 1. 516 00:26:07,610 --> 00:26:10,470 Kung ito ay sa halip timog-hilaga, sabihin lamang tumawag na ang isang 0. 517 00:26:10,470 --> 00:26:13,350 At kaya kung mayroon kang hindi iyong pagtatapon ng isang trilyon 518 00:26:13,350 --> 00:26:16,300 maliit na maliit maliit magnetic particles-- at sana, 519 00:26:16,300 --> 00:26:18,740 ang hardware talino sa paglikha sa upang i-flip ang mga nakapaligid sa 520 00:26:18,740 --> 00:26:24,450 tulad nang nakikita mo fit-- kung nais mong kumakatawan sa isang buong grupo ng mga 0, ikaw 521 00:26:24,450 --> 00:26:28,120 kailangan lang 8 magnetic particles lahat nakahanay tulad nito. 522 00:26:28,120 --> 00:26:30,330 At kung gusto mong upang kumatawan eight 1 ni, ikaw lamang 523 00:26:30,330 --> 00:26:33,170 kailangan 8 magnetic particles nakahanay back to back upang i-back tulad nito. 524 00:26:33,170 --> 00:26:35,515 >> Ano ang ibig sabihin ko sa pamamagitan ng magnetic particles? 525 00:26:35,515 --> 00:26:38,390 Nang tapat, lahat ng mga taon mamaya, ang bagay na pa rin pagdating sa aking isip 526 00:26:38,390 --> 00:26:42,139 ay ito guy, kung ikaw lumago up sa bagay na ito. 527 00:26:42,139 --> 00:26:43,930 Ito ay isang little-- para mga unfamiliar-- isang 528 00:26:43,930 --> 00:26:47,810 maliit pagkabata laruan na ay ito hairless tao ba riyan 529 00:26:47,810 --> 00:26:51,690 na mayroon ng lahat ng mga maliit na maliit maliit na itim magnetic particles na nanggaling sa mga ito. 530 00:26:51,690 --> 00:26:53,930 At gamit na red stick, na kung saan ay lamang ng isang pang-akit, 531 00:26:53,930 --> 00:26:58,460 maaari mong uri ng bigyan siya ng isang bigote o eyebrows o buhok o anumang bagay sa kanya. 532 00:26:58,460 --> 00:27:00,710 Kaya sa katunayan, kung mag-zoom namin sa, halimbawa, ito 533 00:27:00,710 --> 00:27:02,950 ay ang uri ng laro mo maaaring i-play na may Wooly Willy. 534 00:27:02,950 --> 00:27:06,570 >> At ito ay lamang sabihin, ang mga ito ay mas malaki magnetic particles 535 00:27:06,570 --> 00:27:09,890 kaysa sa mga tunay na sa isang hard drive, at malayo mas kaunting mga magnetic particles. 536 00:27:09,890 --> 00:27:11,640 Ngunit sabihin aktwal na makita pagkatapos ay kung ikaw ay walang 537 00:27:11,640 --> 00:27:14,720 maliliit na magnetic particle sa isang hard drive, kung paano maaari mong talagang 538 00:27:14,720 --> 00:27:19,090 gamitin ang mga upang kumatawan data. 539 00:27:19,090 --> 00:27:20,070 >> [Video playback] 540 00:27:20,070 --> 00:27:24,190 >> -Ang Hard drive ay kung saan ang iyong PC tindahan karamihan ng kanyang permanenteng data. 541 00:27:24,190 --> 00:27:27,170 Para gawin na, ang data paglalakbay mula sa RAM kasama 542 00:27:27,170 --> 00:27:31,720 may signal software na sabihin ang hard drive kung paano mag-imbak ng data na iyon. 543 00:27:31,720 --> 00:27:36,570 Ang hard drive circuits isalin ang mga signal sa boltahe pagbabago-bago. 544 00:27:36,570 --> 00:27:40,880 Ang mga ito, sa turn, kontrolin ang hard drive ni paglipat parts-- ilan sa mga ilang gumagalaw 545 00:27:40,880 --> 00:27:43,440 bahagi naiwan sa modernong computer. 546 00:27:43,440 --> 00:27:47,650 >> Ang ilan sa mga signal kontrolin ang isang motor, na spins metal-pinahiran platters. 547 00:27:47,650 --> 00:27:50,980 Ang iyong data ay tunay na naka-imbak sa mga platters. 548 00:27:50,980 --> 00:27:56,250 Iba pang mga signal ilipat ang basahin / isulat ang ulo na basahin o magsulat ng data sa platters. 549 00:27:56,250 --> 00:28:00,100 makinarya na ito ay kaya tumpak na ang isang tao na buhok ay hindi maaaring kahit na 550 00:28:00,100 --> 00:28:02,800 pumasa sa pagitan ng mga ulo at umiikot platters. 551 00:28:02,800 --> 00:28:04,887 Gayon pa man, ang lahat ng ito ay gumagana sa mga kakila-kilabot na bilis. 552 00:28:04,887 --> 00:28:05,470 [END-playback] 553 00:28:05,470 --> 00:28:06,780 At maaari mong makita sa huli ng video, 554 00:28:06,780 --> 00:28:08,340 may mga karaniwang maramihang platters. 555 00:28:08,340 --> 00:28:10,250 At kaya na ang pagbabasa ulo ay hindi lamang sa pagbabasa sa itaas. 556 00:28:10,250 --> 00:28:12,458 Ito ay uri ng tulad ng tatlo o apat o higit pang mga ulo sa pagbabasa 557 00:28:12,458 --> 00:28:14,920 na ilipat tulad nito, pagbabasa ng data nang sabay-sabay. 558 00:28:14,920 --> 00:28:17,407 >> Kaya mayroong isang pulutong ng mga kumplikado at uri ng timing 559 00:28:17,407 --> 00:28:18,740 na kasangkot sa isang hard drive. 560 00:28:18,740 --> 00:28:21,920 At ang bagay ay umiikot talagang darn mabilis, kaya doon ay isang pulutong ng pagiging kumplikado. 561 00:28:21,920 --> 00:28:25,220 Ngunit mag-zoom in ng kaunti mas malalim hayaan at makita kung saan ay ang mga ito magnetic particles 562 00:28:25,220 --> 00:28:27,370 at paano kami ay nakakakuha sa kanila. 563 00:28:27,370 --> 00:28:28,750 >> [Video playback] 564 00:28:28,750 --> 00:28:31,830 >> hitsura -Hayaan sa kung ano ang aming lang nakita sa mabagal na kilos. 565 00:28:31,830 --> 00:28:35,230 Kapag ang isang maikling pulso ng koryente ay ipinadala sa basahin / isulat ang ulo, 566 00:28:35,230 --> 00:28:39,000 ito flips sa isang maliit na maliit electromagnetic para sa isang bahagi ng isang segundo. 567 00:28:39,000 --> 00:28:41,390 magnet ay lumilikha ng isang field, kung aling mga pagbabago 568 00:28:41,390 --> 00:28:44,600 ang polarity ng isang maliit na maliit, maliit na maliit bahagi ng ang mga particle metal 569 00:28:44,600 --> 00:28:46,960 na amerikana ibabaw bawat platter ni. 570 00:28:46,960 --> 00:28:50,020 Ang isang pattern serye ng mga maliliit na sisingilin up mga lugar sa disk 571 00:28:50,020 --> 00:28:54,590 kumakatawan sa isang solong piraso ng data sa binary number system na ginagamit ng mga computer. 572 00:28:54,590 --> 00:28:57,510 >> Ngayon, kung ang kasalukuyang ay nagpadala ng isa paraan sa pamamagitan ng basahin / isulat ang ulo, 573 00:28:57,510 --> 00:28:59,899 ang lugar ay polarized sa isang direksyon. 574 00:28:59,899 --> 00:29:01,940 Kung ang kasalukuyang ay ipinadala sa tapat ng direksyon, 575 00:29:01,940 --> 00:29:04,020 ang polariseysyon ay baligtad. 576 00:29:04,020 --> 00:29:06,440 Paano mo makakuha ng mga data mula sa hard disk? 577 00:29:06,440 --> 00:29:08,190 Just baligtarin ang proseso. 578 00:29:08,190 --> 00:29:10,440 Kaya ito ay ang mga particle sa disk na makuha ang kasalukuyang 579 00:29:10,440 --> 00:29:12,260 sa basahin / isulat ang ulo gumagalaw. 580 00:29:12,260 --> 00:29:14,580 Magkasama milyon-milyong mga mga magnetized segment, 581 00:29:14,580 --> 00:29:16,220 at nakuha mo ang isang file. 582 00:29:16,220 --> 00:29:21,030 >> Ngayon, ang mga piraso ng isang solong file ay maaaring nakakalat sa buong platters isang drive ni, 583 00:29:21,030 --> 00:29:24,060 uri ng tulad ng gulo ng mga papeles sa iyong desk. 584 00:29:24,060 --> 00:29:27,590 Kaya ang isang espesyal na dagdag file mapigil subaybayan ng kung saan lahat ng bagay ay. 585 00:29:27,590 --> 00:29:30,440 Huwag nais mo ay bagay tulad na? 586 00:29:30,440 --> 00:29:31,290 >> [END-playback] 587 00:29:31,290 --> 00:29:36,260 >> Kaya ini-alluded sa doon, marahil, ay na topic mula kahapon ng pagtanggal. 588 00:29:36,260 --> 00:29:38,380 Kapag tinanggal mo ang isang file, kahapon naming pinagsasabihan 589 00:29:38,380 --> 00:29:41,020 na ang isang computer ng mismong kabutihan ano, kapag i-drag mo ang isang bagay 590 00:29:41,020 --> 00:29:44,110 sa Recycle bin o basura bin? 591 00:29:44,110 --> 00:29:45,150 Ito lamang forgets ito. 592 00:29:45,150 --> 00:29:47,540 Ngunit ang 0 at 1 ni, ang magnetic particles 593 00:29:47,540 --> 00:29:50,640 na hitsura tulad ng pula at bughaw mga bagay dito, o ang aking braso dito, 594 00:29:50,640 --> 00:29:52,350 ay pa rin doon sa hard drive. 595 00:29:52,350 --> 00:29:56,090 >> At kaya may umiiral software-- Norton Utilities at Yesteryear 596 00:29:56,090 --> 00:29:58,159 at iba pang mga mas modernong software-- na lang 597 00:29:58,159 --> 00:30:01,200 ay i-scan ang isang buong hard drive naghahanap sa lahat ng mga 0 at 1, dahil ito 598 00:30:01,200 --> 00:30:06,890 lumiliko out na ang karamihan sa file formats-- Mga dokumento ng Word, Excel file, mga imahe, 599 00:30:06,890 --> 00:30:10,380 video files-- lahat ay may tiyak na pattern na ay karaniwan sa mga ito. 600 00:30:10,380 --> 00:30:12,550 Ang bawat video file maaaring ang mga may iba't ibang mga video, 601 00:30:12,550 --> 00:30:14,870 ngunit ang unang ilang mga bits ay karaniwang ang parehong. 602 00:30:14,870 --> 00:30:16,790 O sa huling ilang bits ay karaniwang ang parehong. 603 00:30:16,790 --> 00:30:19,910 >> At kaya may mataas na posibilidad, maaari kang tumingin para sa mga pattern. 604 00:30:19,910 --> 00:30:23,700 At kahit na ang file ay nai-nakalimutan, maaari mong sabihin na may mataas na posibilidad na mangyari, 605 00:30:23,700 --> 00:30:28,460 ngunit ito ay ganito ang hitsura ng isang dokumento Word, lets mabawi ito at un-kalimutan ito, 606 00:30:28,460 --> 00:30:28,990 kung gagawin mo. 607 00:30:28,990 --> 00:30:32,330 At kaya na kung paano maaari mong kunin data na mag-naging sinasadyang 608 00:30:32,330 --> 00:30:36,560 tinanggal o tinanggal o sadyang tinanggal na para sa kahit anong layunin. 609 00:30:36,560 --> 00:30:42,530 >> Sa pamamagitan ng kaibahan, secure pagtanggal ginagawa kung ano sa konteksto ng isang larawan na tulad nito? 610 00:30:42,530 --> 00:30:44,059 Eksakto, gumagawa ng mga ito ang lahat ng random. 611 00:30:44,059 --> 00:30:46,350 Kaya ito uri ng gumagalaw ang ilan sa ang mga ito pababa, ang ilan sa mga ito up, 612 00:30:46,350 --> 00:30:49,433 umalis ang ilan sa kanila hindi magbabago, at sa pangkalahatan ay gumagawa random na ingay sa labas ng ito, 613 00:30:49,433 --> 00:30:52,960 o lang siguro gumagawa ng lahat ng ang mga ito 0 o lahat ng mga ito 1 ni. 614 00:30:52,960 --> 00:30:56,350 At na masyadong maaaring pangkalahatan scrub ang iyong data ang layo. 615 00:30:56,350 --> 00:31:00,160 >> Kaya sabihin bumalik ngayon upang ang isyu ng computational pag-iisip, kung saan 616 00:31:00,160 --> 00:31:03,270 kami ay may mga inputs formula. 617 00:31:03,270 --> 00:31:06,390 At mga algorithm ay nagbibigay sa mong output sa huli. 618 00:31:06,390 --> 00:31:09,270 Nakatuon kami ngayon sa input at outputs, dahil ngayon, ako 619 00:31:09,270 --> 00:31:12,159 paghahabol kami ay may isang paraan ng na kumakatawan sa mga inputs at outputs. 620 00:31:12,159 --> 00:31:13,450 Lamang kami ng pagpunta upang gamitin ang binary. 621 00:31:13,450 --> 00:31:15,910 >> At hindi mahalaga kung ano ang aming gusto upang kumatawan sa araw na ito, 622 00:31:15,910 --> 00:31:20,230 maging ito man ay isang numero o isang sulat o libu-libong niyaon sa isang libro ng telepono 623 00:31:20,230 --> 00:31:23,210 o mga imahe o mga pelikula, sa dulo ng araw, ito ay ang lahat ng 0 at 1. 624 00:31:23,210 --> 00:31:26,640 At i-claim ko na, kahit na ito ay isang napakabilis simpleng mundo na may lamang ng 0 625 00:31:26,640 --> 00:31:28,240 at 1, maaari naming bumuo ng up ng ating sarili. 626 00:31:28,240 --> 00:31:32,210 At nakakita kami ng isang halimbawa ng na may mga titik sa gayon ay malayo. 627 00:31:32,210 --> 00:31:35,615 >> Kaya sabihin tumuon ngayon sa ito middle sahog, isang algorithm. 628 00:31:35,615 --> 00:31:38,190 At sabihin bumalik sa ito halimbawa ng Mike Smith. 629 00:31:38,190 --> 00:31:41,689 Kaya sa phone book, na tinatanggap na, hindi namin gamitin kaya magkano anymore, 630 00:31:41,689 --> 00:31:42,980 mayroong isang problema na lutasin. 631 00:31:42,980 --> 00:31:45,040 Gusto naming mahanap ang isang tao tulad ng Mike Smith. 632 00:31:45,040 --> 00:31:47,520 >> At kung ano ang maaaring gawin ko upang mahanap ang Mike? 633 00:31:47,520 --> 00:31:51,197 Well, hindi ko na lang buksan up na ito book, magsimula sa unang pahina, 634 00:31:51,197 --> 00:31:52,780 at mapagtanto, oh, ako sa isang seksyon. 635 00:31:52,780 --> 00:31:53,510 Mike ay hindi doon. 636 00:31:53,510 --> 00:31:55,510 Kailangan ko ang S seksyon para Smith. 637 00:31:55,510 --> 00:31:58,192 Kaya lamang panatilihin ng pag-on sa isang pahina sa isang pagkakataon. 638 00:31:58,192 --> 00:32:00,900 Hayaan akong magpanggap na ito ay ang lahat puting mga pahina at hindi dilaw na pahina, 639 00:32:00,900 --> 00:32:02,910 dahil hindi namin ay pagpunta upang mahanap Mike sa yellow pages anyway. 640 00:32:02,910 --> 00:32:04,034 Ngunit ako sa puting pahina. 641 00:32:04,034 --> 00:32:05,340 At ngayon, ako sa seksyon B. 642 00:32:05,340 --> 00:32:06,810 Ako pa rin ay hindi natagpuan sa kanya. 643 00:32:06,810 --> 00:32:08,890 Kaya ko panatilihin ng pag-on sa isang pahina sa isang pagkakataon. 644 00:32:08,890 --> 00:32:10,130 >> Ito ay isang algorithm. 645 00:32:10,130 --> 00:32:12,440 Ito ay isang hanay ng mga tagubilin para sa paglutas ng ilang mga problema. 646 00:32:12,440 --> 00:32:16,480 Sa ibang salita, tumingin sa pahina, kung Mike ay hindi sa mga ito, 647 00:32:16,480 --> 00:32:20,020 i pahina, at repeats muli at muli at muli, 648 00:32:20,020 --> 00:32:21,760 may perpektong naghahanap down habang ikaw ay ginagawa ito. 649 00:32:21,760 --> 00:32:24,120 Gayon nga ang algorithm, prosesong ito, tama? 650 00:32:24,120 --> 00:32:27,400 651 00:32:27,400 --> 00:32:28,830 >> Sorry. 652 00:32:28,830 --> 00:32:30,056 Hindi, marinig ko ang ilang mga nos. 653 00:32:30,056 --> 00:32:33,250 654 00:32:33,250 --> 00:32:36,125 OK, ngunit ito is-- yeah, ito ay tiyak na nakakapagod. 655 00:32:36,125 --> 00:32:39,000 Like, kami ay magiging dito sa lahat ng araw kung ako panatilihin ang hinahanap para sa Mike sa bilis na ito. 656 00:32:39,000 --> 00:32:41,430 Ngunit hayaan mo akong i-claim ito ay tama. 657 00:32:41,430 --> 00:32:43,850 Ito ay hangal, ngunit ito ay tama. 658 00:32:43,850 --> 00:32:47,209 >> Sa katapusan ng araw, hangga't maaari ito tumagal, maghahanap ako ng Mike kung siya ay sa doon 659 00:32:47,209 --> 00:32:48,250 at ako nagbabayad ng pansin. 660 00:32:48,250 --> 00:32:50,230 At sa huli ako maabot ang kanyang page. 661 00:32:50,230 --> 00:32:52,890 At kung makakuha ako masyadong malayo, kung nakukuha ko sa seksyon T, 662 00:32:52,890 --> 00:32:55,900 pagkatapos ay maaari kong bahagyang i-optimize at sabihin lamang, hm, ang lahat ng tapos na. 663 00:32:55,900 --> 00:32:57,980 Hindi ko kahit na kailangang mag-aaksaya oras ng pagpunta sa Z ni. 664 00:32:57,980 --> 00:33:00,010 Ngunit ito ay isang napaka linear diskarte, kung ikaw 665 00:33:00,010 --> 00:33:03,370 ay, isang napaka-uri ng kaliwa-papuntang-kanan diskarte, isang tuwid na linya. 666 00:33:03,370 --> 00:33:05,560 At nito tama ngunit mabagal. 667 00:33:05,560 --> 00:33:09,250 >> Kaya tandaan ko mula grade school, pag-uuri ng isang pag-optimize mula sa isang unang greyder, 668 00:33:09,250 --> 00:33:13,756 kung saan natutunan ko kung paano upang mabilang hindi sa pamamagitan ng mga bago ngunit sa pamamagitan twos-- kaya 2, 4, 6. 669 00:33:13,756 --> 00:33:15,630 Ito ay A, pulutong mas mahirap na gawin, ngunit sa teorya, ito ay 670 00:33:15,630 --> 00:33:20,149 faster-- 8, 10, 12, 14, at iba pa. 671 00:33:20,149 --> 00:33:21,190 Paano ang tungkol sa algorithm na? 672 00:33:21,190 --> 00:33:23,150 Ito ba ay mas mahusay? 673 00:33:23,150 --> 00:33:23,880 Ito ba ay mas mabilis? 674 00:33:23,880 --> 00:33:25,365 >> Madla: Ito ay mahusay. 675 00:33:25,365 --> 00:33:28,560 >> David MALAN: Oo, kaya ito ay def-- ito ay literal dalawang beses nang mas mabilis, sa pag-aakala ko 676 00:33:28,560 --> 00:33:30,170 hindi makakuha ng tripped up sa aking mga daliri. 677 00:33:30,170 --> 00:33:32,294 Ito ay dalawang beses bilang mabilis, dahil Ako pag-on sa pamamagitan ng dalawang 678 00:33:32,294 --> 00:33:36,560 mga pahina nang sabay-sabay sa halip ng isa, ngunit ito ay potensyal na sa tamang pagkakasunod, dahil bakit? 679 00:33:36,560 --> 00:33:37,852 >> Madla: Ikaw ay laktaw ilang. 680 00:33:37,852 --> 00:33:41,185 David MALAN: Right, paano kung Mike mangyayari na sandwiched-- siguro ako kapag ako ay sa ibang pagkakataon 681 00:33:41,185 --> 00:33:44,370 sa aklat ng telepono, Mike ang mangyayari sa maging sandwiched sa pagitan ng dalawang mga pahina, 682 00:33:44,370 --> 00:33:46,720 at ako lang ang walang taros laktawan sa ibabaw nito. 683 00:33:46,720 --> 00:33:48,490 Kaya kailangan namin ng isang maliit na pag-aayos doon. 684 00:33:48,490 --> 00:33:51,290 Kapag ako pindutin ang seksyon T, ako ay hindi maaaring lamang confidently sabihin, 685 00:33:51,290 --> 00:33:52,420 hindi namin mahanap Mike Smith. 686 00:33:52,420 --> 00:33:53,770 Ako marahil ay may upang i-double back. 687 00:33:53,770 --> 00:34:00,210 O sa katunayan, sa sandaling maabot ko ang isang tao pinangalanan S-N, sa halip ng S-M para sa Smith, 688 00:34:00,210 --> 00:34:02,790 agad-agad, kaya kong i-double likod, dahil baka siya 689 00:34:02,790 --> 00:34:03,900 ay sa nakaraang pahina. 690 00:34:03,900 --> 00:34:05,070 >> Ngunit hindi ko na kailangang i-double pabalik sa ngayon. 691 00:34:05,070 --> 00:34:08,030 Sa teorya, kung gagawin ko ito sa tamang panahon, ako lamang bumalik sa isang pahina. 692 00:34:08,030 --> 00:34:10,139 Kaya ito ay ang pagdaragdag lamang ng isang karagdagang hakbang. 693 00:34:10,139 --> 00:34:13,070 Kaya ko na nawala nang dalawang beses nang mas mabilis, ngunit ito gastos sa akin ng isang extrang pahina. 694 00:34:13,070 --> 00:34:14,699 Ngunit na nararamdaman tulad ng isang net panalo. 695 00:34:14,699 --> 00:34:17,230 >> Ngunit ito ay hindi kung paano ang karamihan sa tao sa kuwartong ito ay malutas ang problemang ito. 696 00:34:17,230 --> 00:34:20,313 Ano ang gusto ng isang tipikal na tao, marahil ng isang ilang taon na ang nakakaraan gawin, upang mahanap ang Mike Smith? 697 00:34:20,313 --> 00:34:22,900 698 00:34:22,900 --> 00:34:24,800 Yeah, ay hindi mahanap Mike. 699 00:34:24,800 --> 00:34:27,190 Ano ang gagawin ko? 700 00:34:27,190 --> 00:34:31,027 Kaya makakuha ng isang maliit na mas malapit, ngunit gagawin ko know-- kung ano ang totoo tungkol sa isang phone book? 701 00:34:31,027 --> 00:34:32,110 Madla: Ito ay sequential. 702 00:34:32,110 --> 00:34:32,760 David MALAN: Ito ay sequential. 703 00:34:32,760 --> 00:34:33,750 Ito ay pang-abakada. 704 00:34:33,750 --> 00:34:36,540 At kaya kung ako sa seksyon ng M, Mike ay malinaw na sa kanan, 705 00:34:36,540 --> 00:34:39,949 Maaari ko bang literal mapunit ang problema sa half-- 706 00:34:39,949 --> 00:34:44,360 ito ay karaniwang mas madali kaysa na- luha ang problema sa kalahati, at iyong itapon, 707 00:34:44,360 --> 00:34:47,627 kaya na ngayon, mayroon akong isang problema na hindi na 1,000 pages-- na ay mahirap, 708 00:34:47,627 --> 00:34:50,210 dahil sa tingin ko ako talaga torus ang telepono aklat na ito time-- hindi 709 00:34:50,210 --> 00:34:52,219 1,000 mga pahina, ngunit 500. 710 00:34:52,219 --> 00:34:54,750 >> Kaya ang problema ay literal kalahati bilang malaki. 711 00:34:54,750 --> 00:34:58,170 At iyon ang medyo nag-uudyok na, dahil sa aking mga nakaraang mga algorithm, bersyon 712 00:34:58,170 --> 00:35:02,870 1 at 2, Lamang ako ay paggawa ng mga problema isang pahina na mas maliit, dalawang pahina na mas maliit 713 00:35:02,870 --> 00:35:03,470 sa isang pagkakataon. 714 00:35:03,470 --> 00:35:07,230 Sapagkat ngayon, Ginawa ko ito 500 mga pahina mas maliit ang lahat nang sabay-sabay. 715 00:35:07,230 --> 00:35:10,089 >> OK, kaya ngayon, Karim nagmumungkahi na pumunta ako sa kanang kalahati. 716 00:35:10,089 --> 00:35:12,380 Kaya ako pagpunta sa pumunta halos sa gitna, bigyan o tumagal. 717 00:35:12,380 --> 00:35:15,185 At kung ginawa ko ito mathematically, Kaya kong pumunta karapatan sa gitna. 718 00:35:15,185 --> 00:35:17,060 At ngayon, napagtanto ko, oh, Ako sa seksyon T. 719 00:35:17,060 --> 00:35:18,280 Ako talaga ay pumunta masyadong malayo. 720 00:35:18,280 --> 00:35:21,670 >> Ngunit maaari kong, muli, mapunit ang problema sa kalahati, itapon ito ang layo. 721 00:35:21,670 --> 00:35:23,330 At ang aking bytes hindi bilang malaki. 722 00:35:23,330 --> 00:35:28,780 Ito ay lamang, ano, 256 mga pahina o 250 mga pahina, bigyan o tumagal ngayon. 723 00:35:28,780 --> 00:35:31,570 Ngunit pa rin ito paraan mas sa isang pahina o dalawang pahina. 724 00:35:31,570 --> 00:35:33,345 >> At kaya ngayon, pumunta ako halos sa gitna. 725 00:35:33,345 --> 00:35:35,330 Oh, hindi ko pumunta Medyo malayo sapat na ngayon. 726 00:35:35,330 --> 00:35:37,880 Kaya ko ulitin, ulitin, ulitin, ulitin, hanggang ako sana 727 00:35:37,880 --> 00:35:40,360 kaliwa na may lamang ng isang pahina. 728 00:35:40,360 --> 00:35:44,000 >> Kaya na ang mga imbitasyon sa mga tanong, kung ako makapagsimula sa halos 1,000 mga pahina, 729 00:35:44,000 --> 00:35:47,340 kung gaano karaming mga hakbang ay tumagal sa akin may bersyon 1 ng aking algorithm? 730 00:35:47,340 --> 00:35:50,420 Well, kung Mike ay nasa S seksyon, sa pinakamasama kaso, 731 00:35:50,420 --> 00:35:52,630 na medyo malapit sa dulo ng alpabeto. 732 00:35:52,630 --> 00:35:56,559 Kaya kung ang phone book ay may 1,000 mga pahina, Kukunin ko mahanap Mike sa loob ng 1,000 mga pahina, 733 00:35:56,559 --> 00:35:57,100 bigyan o kumuha. 734 00:35:57,100 --> 00:35:59,750 Siguro ito ay tulad ng 800 o kaya, ngunit ito ay medyo malapit sa 1,000. 735 00:35:59,750 --> 00:36:01,680 >> Sapagkat, sa ikalawang algorithm, kung gaano karaming 736 00:36:01,680 --> 00:36:06,840 pahina lumiliko maximally maaari ko nangangailangan upang mahanap Mike Smith? 737 00:36:06,840 --> 00:36:09,970 May 1,000 mga pahina, ngunit ako paggawa ng mga ito ng dalawang sa isang pagkakataon. 738 00:36:09,970 --> 00:36:13,045 Right, kaya max tulad 500ish, dahil kung pumunta ako sa pamamagitan ng buong phone book, 739 00:36:13,045 --> 00:36:14,170 kung saang punto, maaari ko bang itigil. 740 00:36:14,170 --> 00:36:16,669 Ngunit maaari kong mag-ahit off ang ilang sa pamamagitan ng lamang pagpapahinto sa seksyon T. 741 00:36:16,669 --> 00:36:19,880 Ngunit ito ay sa pinakamalala kaso 500 mga pahina. 742 00:36:19,880 --> 00:36:24,710 >> Kaya kung gaano karaming beses ang maaari kong hatiin ang isang 1,00o-page phone book sa kalahati muli 743 00:36:24,710 --> 00:36:30,450 at muli at again-- mula 1,000 sa 500 na 250 sa 125? 744 00:36:30,450 --> 00:36:32,250 Gaano katagal bago ko pindutin isang pahina? 745 00:36:32,250 --> 00:36:35,510 746 00:36:35,510 --> 00:36:36,370 Yeah, ito ay tungkol sa 10. 747 00:36:36,370 --> 00:36:40,780 Depende sa rounding at tulad, ito ay tungkol sa 10 mga pahina ng kabuuang pangangailangan upang i-turn 748 00:36:40,780 --> 00:36:43,290 o mga libro ng telepono na kailangan upang ma-punit-punit. 749 00:36:43,290 --> 00:36:44,710 >> Kaya na medyo malakas na. 750 00:36:44,710 --> 00:36:48,170 Namin na nagsimula sa isang problema 1,000-pahinang sa lahat ng tatlong ng mga kuwento. 751 00:36:48,170 --> 00:36:51,850 Nguni't sa unang algorithm, ito kinuha sa akin, pinakamasama kaso, 1,000 page 752 00:36:51,850 --> 00:36:52,740 lumiliko upang mahanap Mike. 753 00:36:52,740 --> 00:36:55,590 Second algorithm, 500 mga pahina upang mahanap Mike. 754 00:36:55,590 --> 00:36:58,480 Third algorithm, 10 mga pahina upang mahanap Mike. 755 00:36:58,480 --> 00:37:00,230 At ito ay kahit na higit pa malakas na kapag sa tingin mo 756 00:37:00,230 --> 00:37:01,860 tungkol uri ng isang kabaligtaran sitwasyon. 757 00:37:01,860 --> 00:37:05,680 Ipagpalagay na ang mga kumpanya ng telepono sa tabi taon siguro merges dalawang bayan sama-sama, 758 00:37:05,680 --> 00:37:08,550 at ang telepono ng libro ay biglang ito makapal, sa halip na ito na, 759 00:37:08,550 --> 00:37:12,470 kaya 2,000 mga pahina sa halip na 1,000. 760 00:37:12,470 --> 00:37:15,640 Well, ang aking unang algorithm ay naghahanap para sa Mike Smith sa isang 2,000-pahinang aklat ng telepono, 761 00:37:15,640 --> 00:37:21,460 mas masahol pa kaso, ito ay pagpunta sa tumagal kung gaano karaming mga pahina lumiliko sa susunod na taon? 762 00:37:21,460 --> 00:37:24,800 >> Phone book ay 2,000 mga pahina, so-- well, hindi isa pa. 763 00:37:24,800 --> 00:37:29,540 Kung ang telepono ng libro ay dalawang beses bilang makapal sa ang unang algorithm, unang algorithm, 764 00:37:29,540 --> 00:37:30,380 2,000, right? 765 00:37:30,380 --> 00:37:33,005 Sa pinakamasama kaso, Mike ay talagang isara sa dulo ng libro, 766 00:37:33,005 --> 00:37:34,110 kaya 2,000 page liko. 767 00:37:34,110 --> 00:37:38,070 Second algorithm pagpunta sa pamamagitan ng twos, tulad 1,000 mga pahina. 768 00:37:38,070 --> 00:37:41,490 >> Ngunit kung paano ang tungkol sa aking ikatlong at pinaka-kamakailan-lamang na algorithm? 769 00:37:41,490 --> 00:37:44,950 Kung ang telepono kumpanya doubles ang bilang ng mga pahina mula sa 1,000 sa 2,000, 770 00:37:44,950 --> 00:37:47,770 kung gaano karaming mga higit pang mga beses kailangan mapunit ko na ang aklat sa kalahati upang mahanap Mike? 771 00:37:47,770 --> 00:37:48,710 >> Madla: Isa lamang. 772 00:37:48,710 --> 00:37:51,001 >> David MALAN: Lamang ng isa pang, dahil may isang pahina luha, 773 00:37:51,001 --> 00:37:53,270 Maaari ko bang literal hatiin at lupigin, kung ikaw ay, 774 00:37:53,270 --> 00:37:57,410 na ang problemang sa kalahati pagkuha isang malaki at mabigat kagat sa labas ng mga ito. 775 00:37:57,410 --> 00:38:01,420 At kaya ito ay isang halimbawa ng kahusayan at arguably isang algorithm 776 00:38:01,420 --> 00:38:04,100 na kung saan lahat tayo ay uri ng intuitively pamilyar. 777 00:38:04,100 --> 00:38:07,780 Ngunit ito ay tulad ng tamang bilang aking iba pang mga algorithm 778 00:38:07,780 --> 00:38:09,630 may na tweak para ang pangalawang algorithm, 779 00:38:09,630 --> 00:38:11,290 ngunit ito ay kaya lubos na mas mahusay. 780 00:38:11,290 --> 00:38:14,030 >> At sa katunayan, kung ano ang isang computer siyentipiko, o siya namang isang programmer, 781 00:38:14,030 --> 00:38:17,580 ay karaniwang gawin kapag sumusulat code ay subukan upang malaman kung, 782 00:38:17,580 --> 00:38:19,960 lahat ng karapatan, hindi ko gusto ang aking program lamang upang maging tama, 783 00:38:19,960 --> 00:38:23,220 Ako din gusto ito upang maging mahusay na at malutas ang problema rin. 784 00:38:23,220 --> 00:38:26,450 Isipin sa tunay na mundo ngayon, tulad index ng Google, paghahanap 785 00:38:26,450 --> 00:38:31,580 tulad ng bilyun-bilyong ng mga pahina, isipin kung sila ginamit ang unang algorithm upang mahanap cats 786 00:38:31,580 --> 00:38:34,620 sa gitna ng isang bilyong pages-- pagtingin sa unang pahina sa kanilang database, 787 00:38:34,620 --> 00:38:37,700 ang ikalawa, ang ikatlo, just looking para sa isang cat, naghahanap para sa isang cat. 788 00:38:37,700 --> 00:38:40,350 Iyan ay pretty darn mabagal ito ay tila. 789 00:38:40,350 --> 00:38:43,170 Sila ay maaaring sa halip gamitin ang isang bagay tinatawag binary paghahanap, na 790 00:38:43,170 --> 00:38:47,420 Walang coincidence-- bi ibig sabihin dalawa, kami panatilihin paghahati ng isang bagay sa 2, sa half-- 791 00:38:47,420 --> 00:38:50,205 maaari nilang gamitin binary search at marahil mahanap cats kahit na mas mabilis, 792 00:38:50,205 --> 00:38:51,830 o ano pa man ito ay ikaw ay naghahanap para sa. 793 00:38:51,830 --> 00:38:54,125 >> At lantaran, may kahit may interes algorithm 794 00:38:54,125 --> 00:38:56,250 na makagawa ng higit pa kaysa sa lamang paghahati bagay sa kalahati 795 00:38:56,250 --> 00:38:58,180 upang makahanap ng impormasyon nang mabilis. 796 00:38:58,180 --> 00:39:00,880 At kami makipag-usap nang kaunti tungkol sa mga pagkatapos ng tanghalian ngayon. 797 00:39:00,880 --> 00:39:02,640 Kaya hayaan mo akong subukan lamang upang kumatawan ito. 798 00:39:02,640 --> 00:39:05,380 Hindi namin kailangan upang pumunta sa anumang matematika o aktwal na numero. 799 00:39:05,380 --> 00:39:07,070 Maaari naming makipag-usap tungkol dito sa abstract. 800 00:39:07,070 --> 00:39:11,580 >> Ngunit ipaalam sa akin lamang ipanukala, kung ikaw ay nagkakaroon ng isang discussion ngayon 801 00:39:11,580 --> 00:39:13,491 sa mga inhinyero pagpapanukala ang algorithm na ito 802 00:39:13,491 --> 00:39:15,490 at ikaw ay sinusubukan upang gumawa ng isang kinakalkula desisyon, 803 00:39:15,490 --> 00:39:17,285 dahil siguro ang engineer magsabi sa iyo, sa iyo 804 00:39:17,285 --> 00:39:19,910 malaman kung ano ang, maaari ba akong ipatupad ang isang linear paghahanap sa tulad ng dalawang minuto. 805 00:39:19,910 --> 00:39:21,150 Madali ba iyon. 806 00:39:21,150 --> 00:39:24,790 Binary paghahanap ay hindi na fancy, ngunit ito ay pagpunta sa dalhin ako tulad ng 10 minuto, 807 00:39:24,790 --> 00:39:26,650 kaya 5 beses bilang mahaba. 808 00:39:26,650 --> 00:39:30,900 >> May ay isang kalakalan dito, kahit na sa mga tuntunin ng pagpapasya kung ano ang software na magsulat. 809 00:39:30,900 --> 00:39:34,760 Huwag mong isulat ang mas simple algorithm, na kung saan ay lamang ang magdadala sa iyo ng dalawang minuto? 810 00:39:34,760 --> 00:39:39,880 O gawin mo gumastos ng mas maraming oras, 10 minuto, pagsusulat ng mga may interes algorithm? 811 00:39:39,880 --> 00:39:43,540 Paano mo magpasya na uri ng tanong? 812 00:39:43,540 --> 00:39:46,710 O maaari mong gawin itong isang maliit na mas real. 813 00:39:46,710 --> 00:39:50,610 Sinasabi ko sa aking boss ito ay pagpunta sa tumagal ng sa akin ang alinman sa isang linggo o 10 linggo 814 00:39:50,610 --> 00:39:52,490 upang ipatupad ang software sa paraang ito, kung paano 815 00:39:52,490 --> 00:39:56,103 mo magpasya kung aling algorithm upang green-light? 816 00:39:56,103 --> 00:39:56,603 Karim? 817 00:39:56,603 --> 00:39:57,550 >> Madla: Ang madla, hulaan ko. 818 00:39:57,550 --> 00:39:57,960 >> David MALAN: Ang audience. 819 00:39:57,960 --> 00:39:59,460 Ano ang ibig sabihin sa pamamagitan ng madla? 820 00:39:59,460 --> 00:40:03,460 >> Madla: Kung ito ay pagpunta na ginagamit ng mga gumagamit 821 00:40:03,460 --> 00:40:09,050 na [hindi marinig] ng mga gumagamit [hindi marinig]. 822 00:40:09,050 --> 00:40:11,232 Ngunit kung ito ay isang bagay na ikaw lamang ng paggawa para sa iyong sarili 823 00:40:11,232 --> 00:40:13,946 upang mapadali ang isang problema, [Hindi marinig] mas mabilis. 824 00:40:13,946 --> 00:40:16,820 David MALAN: Oo, ito ay mabilis at marumi ay isang mahusay na paraan upang ilarawan ito. 825 00:40:16,820 --> 00:40:18,695 Sa katunayan, kung ikaw ay naglalarawan magkano ng aking mga oras 826 00:40:18,695 --> 00:40:23,630 sa grad school, kung saan madalas na beses, Ako wrote masamang code sinasadya so-- 827 00:40:23,630 --> 00:40:26,490 hindi bababa sa, na kung paano ko rationalized it-- sinasadya kaya, 828 00:40:26,490 --> 00:40:30,670 dahil kahit na ako ay sumusulat code na noon ay medyo mabagal-execute, 829 00:40:30,670 --> 00:40:33,750 Ako ay magagawang upang isulat ang code mismo medyo mabilis, sa paggastos ng ilang minuto lamang 830 00:40:33,750 --> 00:40:35,107 o oras hindi araw. 831 00:40:35,107 --> 00:40:37,190 At ito naka-out, ako Minsan kailangan upang matulog. 832 00:40:37,190 --> 00:40:41,270 Kaya kahit na ang aking code na kinakailangan 8 oras na tumakbo, well na fine, 833 00:40:41,270 --> 00:40:42,850 Kukunin ko pumunta lamang sa pagtulog habang ito ay tumatakbo. 834 00:40:42,850 --> 00:40:46,350 >> Kaya sa oras, Akala ko ito ay napaka-matalino, kahit na ako tila 835 00:40:46,350 --> 00:40:48,990 nagtrabaho sa pamamagitan ng aking PhD masyadong mabagal. 836 00:40:48,990 --> 00:40:52,270 Ngunit ang pag-usapan ng mga iyon ay na, kung ako ay pagsulat ng software 837 00:40:52,270 --> 00:40:55,930 para sa iba pang mga taong mattered higit kay sa akin, well, 838 00:40:55,930 --> 00:40:59,580 pagkakaroon ng mga ito maghintay 8 oras upang makabalik sa kanilang mga resulta ng paghahanap 839 00:40:59,580 --> 00:41:01,350 ay hindi lahat na nakapanghihimok. 840 00:41:01,350 --> 00:41:04,090 At kaya paggastos mas maraming oras up front sumulat ng software 841 00:41:04,090 --> 00:41:07,300 na ay mas mahusay, mas tulad ng ating ikatlong algorithm, 842 00:41:07,300 --> 00:41:09,780 marahil benepisyo sa mga gumagamit sa paglipas ng panahon. 843 00:41:09,780 --> 00:41:12,710 Kaya ito ay talagang depende sa ibabaw time kung paano ang mga gastos magdagdag ng hanggang. 844 00:41:12,710 --> 00:41:14,960 Kung ikaw ay pagpunta sa maging pagsulat software na gamitin ito nang isang beses, 845 00:41:14,960 --> 00:41:17,240 marahil maaaring pati na rin gawin mabilis at marumi, tulad ng sinasabi nila. 846 00:41:17,240 --> 00:41:18,198 Lamang magtapon ito nang magkasama. 847 00:41:18,198 --> 00:41:20,560 Walang code na embarrasses iyo, ito ay kaya masama, 848 00:41:20,560 --> 00:41:23,860 ngunit ito ay makakakuha ng trabaho tapos na nang tama, kahit na ito ay hindi mabisa. 849 00:41:23,860 --> 00:41:27,200 Sa kabaligtaran, ang gusto ninyong gastusin ng mas maraming oras sa isang bagay, kumuha ito lamang kanan. 850 00:41:27,200 --> 00:41:30,730 At pagkatapos ay amortized sa paglipas ng panahon, na upfront gastos ng oras 851 00:41:30,730 --> 00:41:34,330 ay marahil kapaki-pakinabang, kung ikaw panatilihin ang pag-optimize para sa mga karaniwang kaso. 852 00:41:34,330 --> 00:41:37,620 >> At sa katunayan, na ang isang tema sa programming, o computer science pa 853 00:41:37,620 --> 00:41:41,390 sa pangkalahatan, sinusubukan mong i-optimize hindi para sa mga hindi karaniwang mga kaso 854 00:41:41,390 --> 00:41:44,390 ngunit ang karaniwang case-- kung ano ang operasyon ay pagpunta sa mangyayari muli at muli? 855 00:41:44,390 --> 00:41:47,730 Kung ikaw ay pagpunta sa may bilyun-bilyong ng mga gumagamit ng paghahanap sa iyong website, 856 00:41:47,730 --> 00:41:52,030 dapat mong malamang na magpalipas ng dagdag na linggo hanggang harap pagsulat mas mahusay na software, 857 00:41:52,030 --> 00:41:53,670 upang ang lahat ng iyong mga gumagamit makinabang. 858 00:41:53,670 --> 00:41:57,840 Ngayon, sabihin subukan upang makuha ito ng isang maliit pictorially, ngunit hindi kaya magkano 859 00:41:57,840 --> 00:41:58,610 ayon sa bilang. 860 00:41:58,610 --> 00:42:01,680 >> Kaya narito ang lamang ng isang lumang tsart paaralan. 861 00:42:01,680 --> 00:42:04,260 At hayaan mo akong sabihin na ito ay oras. 862 00:42:04,260 --> 00:42:06,660 At ito ay hindi mahalaga what-- actually, wala, wala kahit oras. 863 00:42:06,660 --> 00:42:08,320 ni ilagay na sa kabilang axis Hayaan. 864 00:42:08,320 --> 00:42:15,700 Sabihin natin na ito na ang panahon, at ito ay sukat ng problema. 865 00:42:15,700 --> 00:42:17,830 >> At isang computer siyentipiko maaaring pangkalahatan ay tumawag 866 00:42:17,830 --> 00:42:20,820 ito lamang n. n ay tulad aming go-to variable, kung saan 867 00:42:20,820 --> 00:42:26,351 n ay isang numero, n number, at ito ay ang bilang ng anumang inputs mayroon ka. 868 00:42:26,351 --> 00:42:28,100 Kaya sa kasong ito, ang n ay ang bilang ng mga pahina. 869 00:42:28,100 --> 00:42:30,150 Kaya maaaring ito ay 1,000 sa ang kaso lang namin sinabi. 870 00:42:30,150 --> 00:42:31,969 >> Kaya oras na maaaring maging anumang yunit ng pagsukat. 871 00:42:31,969 --> 00:42:32,760 Siguro, ito ay pangalawang. 872 00:42:32,760 --> 00:42:33,410 Siguro, ito ay araw. 873 00:42:33,410 --> 00:42:34,590 Siguro, ito ay tulad ng page liko. 874 00:42:34,590 --> 00:42:35,215 Ay hindi mahalaga. 875 00:42:35,215 --> 00:42:38,840 Anuman ang nais mong bilangin sa, na ay magiging oras o gastos equivalently. 876 00:42:38,840 --> 00:42:42,400 >> Kaya sa na pinakaunang algorithm, kung ako, halimbawa, 877 00:42:42,400 --> 00:42:45,920 ay nagkaroon ng isang 1,000-pahinang aklat ng telepono, Pupunta ako upang gumuhit ng isang dot doon, 878 00:42:45,920 --> 00:42:51,450 dahil kung ito ay sa 1,000 mga pahina, ito kinuha humigit-kumulang sa 1,000 mga liko pahina, bigyan o tumagal. 879 00:42:51,450 --> 00:42:54,100 At pagkatapos ay kung ako ay may isang 2,000-pahinang aklat ng telepono, 880 00:42:54,100 --> 00:42:57,200 at pupuntahan ko upang gumuhit ng isang pangalawang tuldok dito, dahil para sa 2,000 mga pahina, 881 00:42:57,200 --> 00:42:59,810 ito ay tulad ng 2,000 seconds o pahina ay lumiliko o kahit anong. 882 00:42:59,810 --> 00:43:02,480 At kaya kapag sinabi ko mas maaga, ito ay uri ng isang linear relasyon, 883 00:43:02,480 --> 00:43:06,020 na noon ay sinadya, dahil Nais kong mamaya on-- right now-- upang gumuhit ng isang linya. 884 00:43:06,020 --> 00:43:07,770 Ito ay uri ng isang tuwid na line relasyon. 885 00:43:07,770 --> 00:43:10,180 Libis ay 1/1, kung kalooban mo. 886 00:43:10,180 --> 00:43:14,630 >> Samantala, ang pangalawang algorithm Sa gayon, kung nakuha mo na 1,000 mga pahina 887 00:43:14,630 --> 00:43:17,680 at ikaw ay gumagamit ng ang pangalawang algorithm, kung saan ako mabibilang sa pamamagitan ng 2, ang pag-on 888 00:43:17,680 --> 00:43:22,564 dalawang pahina sa isang pagkakataon, ang dapat kong gumuhit ng isang tuldok sa ibaba o sa itaas ng aking orihinal na tuldok? 889 00:43:22,564 --> 00:43:23,450 >> Madla: Sa ibaba. 890 00:43:23,450 --> 00:43:27,992 >> David MALAN: Sa ibaba, dahil tulad ng nakita natin, ito ay tumatagal ng mas kaunting oras, kalahati ng mas maraming oras. 891 00:43:27,992 --> 00:43:29,950 Kaya ang tuldok ay dapat na half na kasingtaas ng isa. 892 00:43:29,950 --> 00:43:33,330 At parehong pakikitungo sa paglipas dito, ito dot dapat na marahil ay halos doon. 893 00:43:33,330 --> 00:43:39,666 At kaya ang aking ikalawang algorithm, katulad, ay may isang linear na relasyon sa oras. 894 00:43:39,666 --> 00:43:41,990 At maaari naming gumuhit ito bilang tulad. 895 00:43:41,990 --> 00:43:45,950 >> Kaya ngayon, ang ikatlong at huling algorithm ay isang maliit na mas mahirap upang gumuhit. 896 00:43:45,950 --> 00:43:49,530 Ngunit intuitively, kung Mayroon akong 1,000 mga pahina na may ang aking ikatlong algorithm, 897 00:43:49,530 --> 00:43:52,340 ito ay dapat lamang dalhin ako tulad ng 10 hakbang. 898 00:43:52,340 --> 00:43:57,500 At kung Mayroon akong 2,000 mga pahina sa aking ikatlong algorithm, 899 00:43:57,500 --> 00:44:01,570 dapat itong tumagal sa akin hindi 10 hakbang, ngunit 11, lamang ng isa pang. 900 00:44:01,570 --> 00:44:03,610 Kaya kami ay lamang bahagya pagpunta upang makita ito. 901 00:44:03,610 --> 00:44:06,010 >> At ito ay lumiliko out, kung ako mag-zoom in sa ito, ako 902 00:44:06,010 --> 00:44:09,320 pagpunta sa magpahigit para sa epekto, ang hugis ng linyang iyon, sa huli, 903 00:44:09,320 --> 00:44:11,990 ay hindi isang tuwid line-- dahil, sa katunayan kung ito ay, 904 00:44:11,990 --> 00:44:15,390 hitsura nito ay magiging mas katulad ng others-- ito ay talagang isang hindi tuwid na linya 905 00:44:15,390 --> 00:44:19,265 na, kung mag-zoom namin sa, ay pagpunta upang tumingin mas tulad nito. 906 00:44:19,265 --> 00:44:21,670 It-- well, OK, huwag pansinin ang bahaging ito. 907 00:44:21,670 --> 00:44:25,330 Iyon ay ang aking pen pagpunta ng anggulo. 908 00:44:25,330 --> 00:44:29,000 Ito ay isang hindi tuwid na linya na palaging pagtaas, palagi, palagi, palaging 909 00:44:29,000 --> 00:44:32,100 ang pagtaas, ngunit lamang bahagya lamang. 910 00:44:32,100 --> 00:44:36,260 >> At kaya sa paglipas ng panahon, mayroon kang isang relasyon na mas katulad nito. 911 00:44:36,260 --> 00:44:37,540 Ito halos mukhang tuwid. 912 00:44:37,540 --> 00:44:40,330 Ngunit ito ay kailanman kaya dahan-dahan ang pagtaas. 913 00:44:40,330 --> 00:44:44,780 Ngunit para sa halos lahat ng mga punto sa kahabaan iyong x-axis, pahalang axis, 914 00:44:44,780 --> 00:44:46,550 ito ay mas mababa kaysa sa mga iba pang mga linya. 915 00:44:46,550 --> 00:44:49,930 >> Kaya ito ay maaaring maging isang relasyon n, kung saan kung mayroon kang mga pahina n, 916 00:44:49,930 --> 00:44:51,100 ay magdadala sa iyo n segundo. 917 00:44:51,100 --> 00:44:53,320 Ito ay maaaring maging isang relasyon n / 2. 918 00:44:53,320 --> 00:44:56,710 Mayroon kang mga pahina n, ito ay tumatagal ka n / 2 segundo, kalahati ng maraming. 919 00:44:56,710 --> 00:45:00,590 At ito ay isang logarithmic relasyon, na kung saan 920 00:45:00,590 --> 00:45:08,920 kung isipin mo, mag-log base 2 ng kinukuha n ang ganitong uri ng pag-unlad, kaya na magsalita. 921 00:45:08,920 --> 00:45:12,000 Kaya ito ay ang uri ng banal na Kopita kabilang sa mga tatlong ng mga 922 00:45:12,000 --> 00:45:15,940 dito, dahil ito ay lamang kaya marami pang iba mahusay, ngunit arguably mas kumplikadong 923 00:45:15,940 --> 00:45:18,610 ipatupad. 924 00:45:18,610 --> 00:45:20,510 May tanong? 925 00:45:20,510 --> 00:45:26,220 >> Well hayaan mo akong gawin ito, sabihin akong magbukas ng isang text window 926 00:45:26,220 --> 00:45:29,100 lamang upang maaari naming subukan upang gawing pormal ang isang bagay dito. 927 00:45:29,100 --> 00:45:32,410 Kaya hayaan mo akong magpatuloy ngayon at ipatupad ang algorithm na ito 928 00:45:32,410 --> 00:45:35,170 para sa paghahanap ng Mike Smith sa code, kung ikaw ay, pseudocode code. 929 00:45:35,170 --> 00:45:36,620 Hindi ako pagpunta upang gamitin ang Java o C ++. 930 00:45:36,620 --> 00:45:38,610 Tingin lang ako sa pagpunta sa gamitin ang uri ng Ingles-tulad ng syntax, na kung saan namin 931 00:45:38,610 --> 00:45:40,151 ay pangkaraniwang tawag pseudocode code. 932 00:45:40,151 --> 00:45:41,660 Dito, mayroon akong isang blangko window. 933 00:45:41,660 --> 00:45:48,180 At ako na nagsasabi hakbang 1 ng napaka unang algorithm ay kunin ang phone book. 934 00:45:48,180 --> 00:45:51,740 Hakbang 2 ay bukas na libro sa unang pahina. 935 00:45:51,740 --> 00:45:58,080 Hakbang 3 ay tumingin sa pahina para sa Mike Smith. 936 00:45:58,080 --> 00:46:02,740 Kung sa pahina, tumawag Mike. 937 00:46:02,740 --> 00:46:11,640 sino pa ang paririto siya namang pahina at pumunta sa hakbang 3. 938 00:46:11,640 --> 00:46:13,590 Tapos, sabihin natin. 939 00:46:13,590 --> 00:46:18,110 >> At kaya ito ay hindi masyadong perpekto, na kung saan kami ay makita sa isang sandali. 940 00:46:18,110 --> 00:46:21,050 Ngunit isipin natin kung ano konsepto ko na ipinakilala dito. 941 00:46:21,050 --> 00:46:24,450 Kaya hakbang 1 at 2 at 3 ay pretty marami verbs. 942 00:46:24,450 --> 00:46:26,544 Ang mga ito ay mga pahayag, actions-- gawin ito. 943 00:46:26,544 --> 00:46:28,710 At kaya sa isang programming wika, gusto namin sa pangkalahatan 944 00:46:28,710 --> 00:46:32,349 tumawag sa kanila mga pahayag o function o pamamaraan, 945 00:46:32,349 --> 00:46:33,640 tawagan ang mga ito sa anumang bilang ng mga bagay. 946 00:46:33,640 --> 00:46:35,460 Ngunit lamang ito ay naka-actions-- gawin ito. 947 00:46:35,460 --> 00:46:40,370 >> Hakbang 4 ay sa panimula naiiba, dahil ito ay uri ng pagtatanong ng isang katanungan. 948 00:46:40,370 --> 00:46:42,400 Ito ay nagsasabi kami uri ng sa isang tinidor sa kalye. 949 00:46:42,400 --> 00:46:48,000 Kung Mike ay sa pahina, tumawag kanya, kaya lumiko pakaliwa, kung ikaw ay. 950 00:46:48,000 --> 00:46:52,170 At kung hindi, bumalik sa ilang iba pang page-- o sa halip, sorry, 951 00:46:52,170 --> 00:46:56,650 bumalik sa ilang iba pang mga hakbang, kung saan induces ilang mga uri ng looping bumuo. 952 00:46:56,650 --> 00:46:59,530 At gawin namin ito muli at muli at muli. 953 00:46:59,530 --> 00:47:01,300 >> At talagang, alam mo kung ano? 954 00:47:01,300 --> 00:47:01,800 Yeah. 955 00:47:01,800 --> 00:47:04,704 956 00:47:04,704 --> 00:47:09,010 iba kung sa dulo ng aklat na stop. 957 00:47:09,010 --> 00:47:11,624 Kaya kailangan namin uri ng isang third kondisyon, dahil ikaw 958 00:47:11,624 --> 00:47:14,290 ay hindi maaaring panatilihin ang paggawa sa pahina ng ad nauseum, dahil sa huli, kukunin ko 959 00:47:14,290 --> 00:47:15,320 pindutin ang dulo ng aklat. 960 00:47:15,320 --> 00:47:18,546 At isang bug sa isang programa ay maaaring maging hindi anticipating na sitwasyon. 961 00:47:18,546 --> 00:47:21,420 At pagkatapos ko lang natanto, oh, maghintay isang minuto, kailangan ko ang isang ikatlong senaryo. 962 00:47:21,420 --> 00:47:23,900 Kung ako sa labas ng mga pahina, ako dapat talagang lamang ihinto. 963 00:47:23,900 --> 00:47:25,330 Kung hindi man, ito ay hindi maliwanag. 964 00:47:25,330 --> 00:47:29,260 Ano ang pagpunta sa mangyayari kung patuloy ko sinasabi i-on ang pahina at bumalik, 965 00:47:29,260 --> 00:47:31,810 ito ay kapag mga computer freeze o crash, kapag pinindot ninyo 966 00:47:31,810 --> 00:47:34,160 ilang unanticipated sitwasyon tulad na. 967 00:47:34,160 --> 00:47:37,280 >> Ngayon, kung ano ang tungkol Mike ikatlong algorithm-- ni Smith 968 00:47:37,280 --> 00:47:43,150 kunin ang telepono ng libro, bukas na libro sa first-- sa 969 00:47:43,150 --> 00:47:48,640 wala, wala kahit unang pahina oras na ito, upang middle-- oh, well, na gusto 970 00:47:48,640 --> 00:47:49,640 ang ikalawang algorithm. 971 00:47:49,640 --> 00:47:50,590 Sabihin lang lumaktaw sa third. 972 00:47:50,590 --> 00:47:50,930 >> Madla: Oh, Sorry. 973 00:47:50,930 --> 00:47:51,971 >> David MALAN: Iyon ay pinong. 974 00:47:51,971 --> 00:47:58,590 Sabihin lang lumaktaw sa third-- open sa gitna at ngayon ay tumingin para sa Mike Smith. 975 00:47:58,590 --> 00:48:02,300 kung sa pahina, tumawag Mike. 976 00:48:02,300 --> 00:48:04,910 At pagkatapos ay kung ano ang gusto naming sabihin dito? 977 00:48:04,910 --> 00:48:06,134 sino pa ang paririto sa kung ano? 978 00:48:06,134 --> 00:48:10,620 979 00:48:10,620 --> 00:48:12,370 Maaari naming ipahayag ito sa anumang bilang ng mga paraan. 980 00:48:12,370 --> 00:48:13,369 Walang tamang sagot. 981 00:48:13,369 --> 00:48:20,819 982 00:48:20,819 --> 00:48:23,735 OK, kung hindi muli, ngunit kailangan namin upang be-- OK, ang nais nating hatiin sa dalawa, 983 00:48:23,735 --> 00:48:25,630 ngunit ang gusto namin upang pumunta kaliwa o pumunta karapatan? 984 00:48:25,630 --> 00:48:29,560 Paano ipinahahayag natin na paniwala? 985 00:48:29,560 --> 00:48:31,790 Well, sa kaso ni Mike, oo, na makatarungan. 986 00:48:31,790 --> 00:48:35,050 Ngunit OK, kaya na talagang isang magandang point. 987 00:48:35,050 --> 00:48:35,550 Iyon ay pinong. 988 00:48:35,550 --> 00:48:36,924 Susubukan naming panatilihin ang pagpunta sa lohikang ito. 989 00:48:36,924 --> 00:48:38,182 So-- 990 00:48:38,182 --> 00:48:39,810 >> Madla: Mas mababa sa kalahati. 991 00:48:39,810 --> 00:48:40,560 David MALAN: Oo. 992 00:48:40,560 --> 00:48:49,820 Kaya iba kung pahina ay, kami ay sabihin, mas mababa kaysa Smith, sa kaliwa ng Smith, 993 00:48:49,820 --> 00:48:52,220 then-- sabihin makita, ay na ito ng pagpunta sa makapagpalubha? 994 00:48:52,220 --> 00:49:01,885 iba kung page dumating bago Smith, mapunit sa kalahati, itapon na kalahati? 995 00:49:01,885 --> 00:49:05,643 996 00:49:05,643 --> 00:49:09,140 >> Madla: Akala ko na noon ay [hindi marinig]. 997 00:49:09,140 --> 00:49:11,650 >> David MALAN: ako pagdinig parehong sagot. 998 00:49:11,650 --> 00:49:12,431 >> Madla: Kaliwa. 999 00:49:12,431 --> 00:49:14,430 David MALAN: OK, itapon layo kaliwa kalahati, bilang Lakisa 1000 00:49:14,430 --> 00:49:19,700 sinabi ng mas maaga, sa kaliwa kalahati, pagkatapos ay ako uri ng 1001 00:49:19,700 --> 00:49:23,940 nais na pumunta lamang to-- Nagpupunta ako sa kanan. 1002 00:49:23,940 --> 00:49:27,380 O equivalently, at ako na ginawa ng isang maliit na bit ng isang gulo ng simula dito, 1003 00:49:27,380 --> 00:49:30,760 Ako mabisang makikipagtrabaho nais na pumunta sa hakbang 2 muli, 1004 00:49:30,760 --> 00:49:38,270 kung saan bukas sa middle-- o open-- yeah, sabihin lamang sabihin, mga pahina sa gitna. 1005 00:49:38,270 --> 00:49:39,020 At ito Inaayos ito. 1006 00:49:39,020 --> 00:49:39,936 Ito ay hindi na isang libro. 1007 00:49:39,936 --> 00:49:42,210 Ito ay lamang ng kalahati ng isang libro, kaya bukas pahina upang gitna. 1008 00:49:42,210 --> 00:49:44,010 >> else-- ay halos doon. 1009 00:49:44,010 --> 00:49:54,000 Hakbang 6, iba kung page nauuna matapos Smith, pilasin sa kalahati, itapon kanang kalahati, 1010 00:49:54,000 --> 00:49:55,680 pagkatapos ay pumunta sa hakbang 2. 1011 00:49:55,680 --> 00:49:58,920 1012 00:49:58,920 --> 00:50:05,230 sino pa ang paririto umalis, ang ikaapat na sitwasyon kung wala kaming mga pahina sa kaliwa upang i-. 1013 00:50:05,230 --> 00:50:06,394 Kaya maaari naming linisin ito up. 1014 00:50:06,394 --> 00:50:07,560 At dapat naming linisin ito up. 1015 00:50:07,560 --> 00:50:10,656 Ito ay napaka-pseudocode code, kung ikaw ay, napakataas na antas paglalarawan. 1016 00:50:10,656 --> 00:50:12,280 Ngunit ito ay sa pangkalahatan ay makuha ang ideya. 1017 00:50:12,280 --> 00:50:16,040 >> At, muli, sa ganitong sitwasyon, kami kung ang paniwala ng isang kondisyon, 1018 00:50:16,040 --> 00:50:20,450 isang sanga, isang tinidor sa kalye, paggawa isang decision-- kung ito, pumunta sa ganitong paraan, 1019 00:50:20,450 --> 00:50:23,082 iba kung, pumunta sa ganitong paraan, iba kung, pumunta na paraan. 1020 00:50:23,082 --> 00:50:25,040 At ito ay isang napaka-pangkaraniwan programming pamamaraan 1021 00:50:25,040 --> 00:50:27,721 upang magpasya kung aling mga direksyon upang pumunta, kaya na magsalita. 1022 00:50:27,721 --> 00:50:29,970 At kami ay mayroon ding ilang mga uri ng looping istraktura, kung saan 1023 00:50:29,970 --> 00:50:32,440 kami ay gumagawa ng paulit-ulit ng isang bagay. 1024 00:50:32,440 --> 00:50:34,820 >> Ngayon, ito ay lumiliko out, marami tulad ng sa halimbawang ito, 1025 00:50:34,820 --> 00:50:37,660 pagiging super tumpak ay mahalaga. 1026 00:50:37,660 --> 00:50:42,180 Ngunit din namin na nakita ng isang bagay na ating tuparin ang pagtawag abstraction. 1027 00:50:42,180 --> 00:50:45,490 Ano ang ibig sabihin upang kunin ang phone book? 1028 00:50:45,490 --> 00:50:47,740 Lamang kami uri ng pagkuha para sa ipinagkaloob sa kuwartong ito 1029 00:50:47,740 --> 00:50:49,340 na na may ilang semantiko kahulugan. 1030 00:50:49,340 --> 00:50:51,740 Lahat ng sa amin lamang uri ng alam, oh, well, kunin ang telepono libro. 1031 00:50:51,740 --> 00:50:52,864 Ano ang ginagawa na tunay na ibig sabihin? 1032 00:50:52,864 --> 00:50:59,060 Well, na talagang ay nangangahulugan extend kamay, sandalan sa, palawigin daliri, 1033 00:50:59,060 --> 00:51:03,890 kurutin book pagitan ng mga daliri, tumayo ka, hilahin kamay patungo sa iyo. 1034 00:51:03,890 --> 00:51:05,940 At maaari naming maging tunay pilosopo tungkol dito, 1035 00:51:05,940 --> 00:51:08,640 talagang pagiging super tumpak bilang sa kung ano ako ng paggawa. 1036 00:51:08,640 --> 00:51:13,300 Subalit ang lahat ng mga hakbang na kapag pinagsama-sama ay ano ang ibig sabihin nito upang kumuha ng phone book. 1037 00:51:13,300 --> 00:51:16,940 >> At kaya mas maaga, kapag sinabi ko, ang bawat ng mga unang dalawang mga pahayag 1038 00:51:16,940 --> 00:51:20,830 ay maaaring iisip ng bilang magpatuloy o isang function, 1039 00:51:20,830 --> 00:51:24,090 talagang ito ay kumakatawan kung ano ang aming patuloy na pagtawag ng isang abstraction. 1040 00:51:24,090 --> 00:51:28,770 Ito ay tulad ng isang mataas na antas ng haka-haka paglalarawan ng isang problema na 1041 00:51:28,770 --> 00:51:31,110 tunay na nagsasangkot ng lubos ng ilang mga hakbang. 1042 00:51:31,110 --> 00:51:34,190 At kaya ito, masyadong, ay isang paulit-ulit na paksa sa programming, 1043 00:51:34,190 --> 00:51:41,125 kung saan maaari ko bang magsulat ng isang programa gamit syntax tulad this-- 1044 00:51:41,125 --> 00:51:42,000 pick_up_phone_book (). 1045 00:51:42,000 --> 00:51:44,344 1046 00:51:44,344 --> 00:51:46,510 At pagkatapos ay syntactically, ako pagpunta sa magnakaw ng isang bagay 1047 00:51:46,510 --> 00:51:48,090 mula karamihan ng mga wika programming. 1048 00:51:48,090 --> 00:51:51,270 >> Ngayon, hakbang 1 mukhang mas mas katulad ng function, 1049 00:51:51,270 --> 00:51:53,160 bilang isang programista ay tumawag ito. 1050 00:51:53,160 --> 00:51:58,650 Mukhang code na ang isang tao ay nagbigay ng pangalan sa at ibinigay 1051 00:51:58,650 --> 00:52:03,300 sa akin na gumamit ng somehow-- sa ibang salita, kung ano ang linya na-highlight ko 1052 00:52:03,300 --> 00:52:07,050 kumakatawan functionality na siguro Hindi ko kahit na ipatupad ang aking sarili. 1053 00:52:07,050 --> 00:52:10,410 Isang taong mas matanda, ay matatalino kay sa ako may korte out 1054 00:52:10,410 --> 00:52:12,700 kung paano ipahayag mo ang paniwala ng pagpili ng up ng isang telepono libro. 1055 00:52:12,700 --> 00:52:15,860 At ito ay tulad ng ang limang mga hakbang ko na lang rattled off, off sa tuktok ng aking ulo. 1056 00:52:15,860 --> 00:52:19,350 >> Ngunit siya na ipinatupad ito, nagbigay ang mga ilang mga hakbang 1057 00:52:19,350 --> 00:52:22,339 isang pangalan, pick_up_phone_book. 1058 00:52:22,339 --> 00:52:24,380 At ang mga panaklong ay lamang kung ano ang karamihan sa mga programmer 1059 00:52:24,380 --> 00:52:27,100 gawin sa dulo ng mga pahayag tulad nito. 1060 00:52:27,100 --> 00:52:30,190 Ako ngayon ay maaaring tumayo sa kanyang balikat at hindi kailanman muli, 1061 00:52:30,190 --> 00:52:32,465 isipin ang tungkol sa kung ano ang ibig sabihin nito upang kumuha ng phone book. 1062 00:52:32,465 --> 00:52:34,090 Maaari ko lang sabihin, kunin ang telepono libro. 1063 00:52:34,090 --> 00:52:36,690 At iyon mismo ang lahat ng sa amin mga kawani na tao ay dito. 1064 00:52:36,690 --> 00:52:38,940 >> Kapag kami ay marahil 1 taong gulang, 2 taong gulang, 1065 00:52:38,940 --> 00:52:41,690 isang tao ay nagkaroon upang magturo sa amin kung ano ito sinadya upang kumuha ng phone book. 1066 00:52:41,690 --> 00:52:43,810 At mula pa nang pagkatapos, na lumilipad ang isip namin ang layo 1067 00:52:43,810 --> 00:52:46,739 mula sa mga napaka-kawili-wili mechanical hakbang. 1068 00:52:46,739 --> 00:52:48,530 At kami na lang ay isang intuitive-unawa 1069 00:52:48,530 --> 00:52:50,480 ng kung ano ang ibig sabihin nito upang pick up ng isang libro ng telepono. 1070 00:52:50,480 --> 00:52:55,730 >> At maaari mong intindihin mula sa data ngayon sa mas masalimuot bagay- 1071 00:52:55,730 --> 00:52:57,640 bumuo ng isang gusali. 1072 00:52:57,640 --> 00:52:59,940 Like, sa ilang mga tao, na talagang may kahulugan. 1073 00:52:59,940 --> 00:53:03,080 Upang kontratista, sa mga arkitekto, na may ilang mga kahulugan. 1074 00:53:03,080 --> 00:53:06,400 At ang mga ito ay kung ano ang gagawin, kung Ang sabi ko, pumunta bumuo ng isang gusali. 1075 00:53:06,400 --> 00:53:10,520 >> Ngunit karamihan sa atin sa kuwarto ay hindi maaaring pakikitungo sa mga na antas ng abstraction. 1076 00:53:10,520 --> 00:53:14,850 Kailangan mong sabihin tulad ng sa amin go makakuha ng pala at pumunta makakuha ng kongkreto 1077 00:53:14,850 --> 00:53:17,250 at kuko ang mga piraso ng kahoy sama-sama at kahit na ano pa 1078 00:53:17,250 --> 00:53:18,830 ay kasangkot sa pagbuo ng isang gusali. 1079 00:53:18,830 --> 00:53:21,690 At iyon ay dahil sa kami ay walang pa-program upang maunawaan 1080 00:53:21,690 --> 00:53:23,629 ano ang ibig sabihin nito upang bumuo ng isang gusali. 1081 00:53:23,629 --> 00:53:24,920 Wala kaming na abstraction. 1082 00:53:24,920 --> 00:53:26,570 Wala kaming na pag-andar. 1083 00:53:26,570 --> 00:53:29,930 >> At kaya kung ano ang makikita mo sa programming wika, sa pangkalahatan, 1084 00:53:29,930 --> 00:53:34,570 lalo mas modernong mga wika, tulad ng Java, PHP, Ruby, at Python, 1085 00:53:34,570 --> 00:53:37,610 ang mga ito ay mas mature kaysa sa mas lumang mga wika, 1086 00:53:37,610 --> 00:53:40,140 tulad ng C at C ++ at pa iba. 1087 00:53:40,140 --> 00:53:42,580 At kaya ang mga ito ay may higit pang mga functionality built in. 1088 00:53:42,580 --> 00:53:45,640 Higit pang mga code ay nakasulat ng mga tao sa nakaraan 1089 00:53:45,640 --> 00:53:50,520 na maaari naming ngayon tumawag o ipatawag o gamitin, bilang ako hinting 1090 00:53:50,520 --> 00:53:52,231 sa may ganitong naka-highlight na linya dito. 1091 00:53:52,231 --> 00:53:55,230 At kaya kahit na hindi namin ay pakikipag-usap tungkol sa programming wika per se, 1092 00:53:55,230 --> 00:54:00,230 lang pseudocode code, ang lahat ng mga ideya ay pa rin sa discussion na. 1093 00:54:00,230 --> 00:54:04,600 At ito ay lumiliko out katumpakan ay sobrang mahalaga, bilang ay abstraction. 1094 00:54:04,600 --> 00:54:06,570 At Tayo'y subukan upang ipaalam sa makipag-usap na ang mga sumusunod. 1095 00:54:06,570 --> 00:54:11,000 >> Ko sinasadyang maaaring may sira ito sa pamamagitan ng flashing ng slide sa screen 1096 00:54:11,000 --> 00:54:12,260 prematurely. 1097 00:54:12,260 --> 00:54:16,550 Ngunit hayaan mo akong humingi ng isang matapang na volunteer, kung hindi tututol kayo paparating na. 1098 00:54:16,550 --> 00:54:19,040 Gusto mong maging sa harap ng camera, kung ikaw ay OK na may na. 1099 00:54:19,040 --> 00:54:24,950 Gusto sinuman nais na dumating up at bigyan mga tagubilin sa iyong mga kasamahan dito? 1100 00:54:24,950 --> 00:54:29,540 Na lang ay upang dumating sa dito at tumayo sa paglipas dito at sabihin ang ilang mga salita. 1101 00:54:29,540 --> 00:54:32,890 >> Victoria is smiling ang pinaka at pag-iwas sa aking mga mata ang pinaka. 1102 00:54:32,890 --> 00:54:34,740 Gusto mo maging handa na dumating sa up? 1103 00:54:34,740 --> 00:54:35,240 OK. 1104 00:54:35,240 --> 00:54:38,480 At kung ang iba sa iyong upuan maaaring tumagal ng isang piraso ng papel na basura, 1105 00:54:38,480 --> 00:54:39,750 kung gagawin mo. 1106 00:54:39,750 --> 00:54:40,760 May linya ng papel ay pagmultahin. 1107 00:54:40,760 --> 00:54:41,990 Dumating sa paligid sa ganitong paraan. 1108 00:54:41,990 --> 00:54:44,580 O ilan sa mga papel na kung saan bibigyan kahapon, 1109 00:54:44,580 --> 00:54:46,493 lamang ang anumang mga blangko sheet ng papel, kung maaari mong. 1110 00:54:46,493 --> 00:54:52,240 1111 00:54:52,240 --> 00:54:54,870 At kung hindi ka magkaroon ng anumang, lamang tanungin ang iyong mga kapit-bahay kung maaari mong. 1112 00:54:54,870 --> 00:55:04,220 1113 00:55:04,220 --> 00:55:07,580 >> Kaya para sa mga sandali, para sa ang halimbawang ito, Victoria 1114 00:55:07,580 --> 00:55:11,520 ay pagpunta upang i-play ang papel ng isang programmer, isang engineer, na 1115 00:55:11,520 --> 00:55:16,130 pangangailangan sa programa sa inyong lahat, bilang mga computer, upang gawin ang isang bagay. 1116 00:55:16,130 --> 00:55:19,570 At kami makita kung ano ang pagpapalagay magpasya kang gumawa ng. 1117 00:55:19,570 --> 00:55:22,700 Susubukan naming makita kung paano tumpak na pinipili niya upang maging. 1118 00:55:22,700 --> 00:55:26,220 At kung ito demonstration napupunta pedagogically well, maraming ng mga pagkakamali 1119 00:55:26,220 --> 00:55:29,220 ay gagawin, na kami ay pagkatapos ay gamitin na bilang isang pagkakataon para sa talakayan. 1120 00:55:29,220 --> 00:55:32,010 Ngunit ang hamon para sa iyo ay dapat ay upang maiwasan ang mga pagkakamali, 1121 00:55:32,010 --> 00:55:32,896 maging isang magandang programista. 1122 00:55:32,896 --> 00:55:35,520 At kaya ang hamon sa kamay, kung Gusto nagustuhan mo sa paglalakad sa paglipas dito, 1123 00:55:35,520 --> 00:55:38,799 nasa tapat ng Victoria sa screen here-- at sana, ang sinoman sa inyo 1124 00:55:38,799 --> 00:55:40,590 tandaan na ito kapag ako ay flashed sa screen. 1125 00:55:40,590 --> 00:55:44,097 At huwag i-sa paligid sa lahat, dahil may isa pang screen sa kuwartong ito 1126 00:55:44,097 --> 00:55:44,930 na maaari kong i-off. 1127 00:55:44,930 --> 00:55:46,620 Kaya huwag i-sa paligid. 1128 00:55:46,620 --> 00:55:49,090 >> Sa harap ng sa Victoria ang siya ring hiyawan. 1129 00:55:49,090 --> 00:55:54,170 At ang kanyang trabaho ngayon ay upang sabihin sa iyo ang lahat sa iyong piraso ng papel kung ano ang gumuhit. 1130 00:55:54,170 --> 00:55:57,020 At makikita natin, batay sa pandiwang tagubilin nag-iisa, 1131 00:55:57,020 --> 00:56:00,020 computer na code, kung ikaw ay, kung paano tumpak ang iyong mga guhit 1132 00:56:00,020 --> 00:56:02,330 are-- iyong pagpapatupad ay. 1133 00:56:02,330 --> 00:56:02,980 Magkaroon ng kahulugan? 1134 00:56:02,980 --> 00:56:03,604 >> Madla: Oo. 1135 00:56:03,604 --> 00:56:04,980 David MALAN: OK, execute. 1136 00:56:04,980 --> 00:56:06,030 >> Madla: Gumuhit ng isang parisukat. 1137 00:56:06,030 --> 00:56:09,050 >> [TAWA] 1138 00:56:09,050 --> 00:56:12,310 >> David MALAN: At walang mga katanungan na maaaring ay tatanungin. 1139 00:56:12,310 --> 00:56:13,720 Maaari lamang gawin kung ano ang iyong sinabi. 1140 00:56:13,720 --> 00:56:17,570 1141 00:56:17,570 --> 00:56:22,550 Oh, at kung mayroon kang mga slide ngayong araw magbubukas sa tab, huwag tumingin sa iyong tab. 1142 00:56:22,550 --> 00:56:23,670 OK? 1143 00:56:23,670 --> 00:56:26,135 >> Madla: OK, gumuhit ng isang bilog. 1144 00:56:26,135 --> 00:56:32,544 1145 00:56:32,544 --> 00:56:34,872 A slope-- maaari kong sabihin slope? 1146 00:56:34,872 --> 00:56:35,830 David MALAN: Hanggang sa iyo. 1147 00:56:35,830 --> 00:56:38,230 1148 00:56:38,230 --> 00:56:38,980 Madla: A slope. 1149 00:56:38,980 --> 00:56:46,330 1150 00:56:46,330 --> 00:56:49,795 At isang tatsulok. 1151 00:56:49,795 --> 00:56:50,850 >> David MALAN: Lahat ng karapatan. 1152 00:56:50,850 --> 00:56:52,286 At manatili dito para sa sandali lamang. 1153 00:56:52,286 --> 00:56:56,046 1154 00:56:56,046 --> 00:56:58,910 At ako pagpunta sa darating sa paligid sa loob lamang ng ilang sandali. 1155 00:56:58,910 --> 00:57:02,420 At hindi na kailangan upang ilagay ang iyong pangalan sa mga ito. 1156 00:57:02,420 --> 00:57:05,030 Hayaan akong dumating sa paligid at kolektahin ang iyong mga guhit, 1157 00:57:05,030 --> 00:57:08,330 kung hindi tututol kayo pansiwang ito sa labas. 1158 00:57:08,330 --> 00:57:12,110 >> Narito ang kung ano ang aming got back. 1159 00:57:12,110 --> 00:57:14,770 Kukunin ko i-project ang mga ito sa screen. 1160 00:57:14,770 --> 00:57:18,310 Nakakakita ako ng isang parisukat, isang lupon, isang libis, at isang tatsulok. 1161 00:57:18,310 --> 00:57:20,130 Kaya na ay isang sagot doon. 1162 00:57:20,130 --> 00:57:23,640 At let's-- Whoops. 1163 00:57:23,640 --> 00:57:25,370 Salamat. 1164 00:57:25,370 --> 00:57:30,710 Narito ang isa pang assortment, at isa sa likod nito. 1165 00:57:30,710 --> 00:57:34,130 1166 00:57:34,130 --> 00:57:37,120 >> Kaya lahat sila mukhang upang makuha ang espiritu. 1167 00:57:37,120 --> 00:57:38,600 Salamat. 1168 00:57:38,600 --> 00:57:44,970 May isa pang, at narito ang isa pa. 1169 00:57:44,970 --> 00:57:51,590 Ang slope interpretasyon ay isang maliit na naiiba, maliit curvy. 1170 00:57:51,590 --> 00:57:57,140 At ang pinakamalapit na, alinman dahil sa mga kahanga-hangang pagtitiyak na kung saan na sa iyo 1171 00:57:57,140 --> 00:58:03,520 inilarawan, o marahil ka uri ng nakita ito bago, ito ay sa katunayan 1172 00:58:03,520 --> 00:58:06,340 ano Victoria ay talagang naglalarawan. 1173 00:58:06,340 --> 00:58:09,190 >> Ngunit ngayon, sa mga mo na ay hindi makakuha ng ito masyadong tama, 1174 00:58:09,190 --> 00:58:11,140 hayaan nag-aalok ng ilang mga objections dito. 1175 00:58:11,140 --> 00:58:13,770 Kaya Victoria unang sinabi gumuhit ng isang parisukat. 1176 00:58:13,770 --> 00:58:15,830 At ngayon, maaari naming ipagpalagay para sa kapakanan ng mga araw na 1177 00:58:15,830 --> 00:58:17,538 na alam ng lahat kung paano upang gumuhit ng isang parisukat. 1178 00:58:17,538 --> 00:58:20,590 Ngunit hindi iyon ang ganap na pag-clear, right? 1179 00:58:20,590 --> 00:58:23,220 Paano pa ang maaari mong magkaroon ng iguguhit isang parisukat, o kung saan 1180 00:58:23,220 --> 00:58:27,114 ay maaaring maging ang ilan sa mga ambiguities dito para sa computer? 1181 00:58:27,114 --> 00:58:28,280 Madla: Lokasyon at laki. 1182 00:58:28,280 --> 00:58:28,980 David MALAN: Location, right? 1183 00:58:28,980 --> 00:58:32,070 Lahat kayo ay nagkaroon ng isang papel ng ilang mga hugis, pangkalahatan parihaba, ngunit bahagyang 1184 00:58:32,070 --> 00:58:32,830 iba't ibang laki. 1185 00:58:32,830 --> 00:58:36,250 Ngunit ikaw ay tiyak na maaaring magkaroon ng iguguhit, kung ikaw ay wanted, isang malaking parisukat, siguro 1186 00:58:36,250 --> 00:58:37,220 isang maliit na maliit na parisukat. 1187 00:58:37,220 --> 00:58:38,417 Siguro, ito ay Pinaikot. 1188 00:58:38,417 --> 00:58:39,500 Hindi sa tingin ko Nakita namin na. 1189 00:58:39,500 --> 00:58:41,790 Ngunit maaaring ito ay mas diamond tulad ngunit pa rin, gayunman, 1190 00:58:41,790 --> 00:58:42,900 mathematically isang parisukat. 1191 00:58:42,900 --> 00:58:44,850 Kaya na ay arguably hindi siguradong. 1192 00:58:44,850 --> 00:58:46,709 >> Nang magkagayo'y sinabi niya, gumuhit ng isang bilog. 1193 00:58:46,709 --> 00:58:49,250 Ang ilan sa iyo ay gumuhit ito sa tabi ng ito, kung saan ay hindi wala sa katwiran, 1194 00:58:49,250 --> 00:58:52,450 dahil ang mga tao ay may posibilidad na sa tingin o basahin karapatan sa kaliwa sa karamihan ng mga wika, kaya hindi 1195 00:58:52,450 --> 00:58:53,017 isang masamang hula. 1196 00:58:53,017 --> 00:58:55,100 Ngunit na bilog ay maaaring magkaroon ng naging sa loob ng square, 1197 00:58:55,100 --> 00:58:57,600 sana naging sa paligid ng square, sana naging ibang lugar 1198 00:58:57,600 --> 00:58:59,480 sa sheet, kaya arguably hindi siguradong. 1199 00:58:59,480 --> 00:59:03,290 >> Slope maaaring naging siguro paglalaan ng pinaka-kalayaan pasalita 1200 00:59:03,290 --> 00:59:04,200 sa kung ano ang ibig sabihin nito. 1201 00:59:04,200 --> 00:59:06,980 At ang ilan sa inyo interpreted ito bilang isang squiggly linya 1202 00:59:06,980 --> 00:59:08,560 o isang tuwid na linya o mga katulad. 1203 00:59:08,560 --> 00:59:11,719 At pagkatapos ay tatsulok, masyadong, ay maaaring magkaroon ng ay nakatuon sa anumang bilang ng mga paraan. 1204 00:59:11,719 --> 00:59:14,760 Kaya sa maikling salita, kahit na may isang bagay na mong sulyap at ikaw ay tulad ng, wow, kaya 1205 00:59:14,760 --> 00:59:17,020 simple, ang isang bata ay maaaring gumuhit ito, well hindi 1206 00:59:17,020 --> 00:59:19,640 talaga, maliban kung ikaw ay super, super mapanghikayat 1207 00:59:19,640 --> 00:59:22,045 at sabihin sa ang computer eksakto kung ano ang gagawin. 1208 00:59:22,045 --> 00:59:24,420 Kaya kung magagawa namin, kung mayroon kang isa pang sheet ng papel, sabihin 1209 00:59:24,420 --> 00:59:26,710 subukan ito minsan pa. 1210 00:59:26,710 --> 00:59:29,880 At ako pagpunta sa magbibigay sa Victoria isa iba pang mga halimbawa sa screen dito. 1211 00:59:29,880 --> 00:59:34,060 At muli, huwag i-sa paligid at huwag tumingin sa iyong mga slide. 1212 00:59:34,060 --> 00:59:37,304 At kukunin ko na magbigay sa kanya ng isang sandali upang isipin ang tungkol sa kung paano upang ilarawan ito. 1213 00:59:37,304 --> 00:59:39,012 Huwag hayaan silang makita ang takot sa iyong mga mata. 1214 00:59:39,012 --> 00:59:40,820 >> [TAWA] 1215 00:59:40,820 --> 00:59:43,710 >> At muli, ito pakikinabangan oras ang ilan sa mga takeaways 1216 00:59:43,710 --> 00:59:48,130 at subukan upang makakuha ng halos lahat ng tao ng hindi bababa sa ang tamang sagot. 1217 00:59:48,130 --> 00:59:52,260 >> Madla: OK, kumuha ng isang piraso ng papel, tumingin 1218 00:59:52,260 --> 00:59:54,500 sa gitna ng na piraso ng papel. 1219 00:59:54,500 --> 00:59:59,591 Sa gitna ng piraso na ng papel, gumuhit ng isang kubo. 1220 00:59:59,591 --> 01:00:01,244 >> [TAWA] 1221 01:00:01,244 --> 01:00:02,660 David MALAN: Ano ang mayroon natutunan namin? 1222 01:00:02,660 --> 01:00:03,540 Hindi namin kaya close. 1223 01:00:03,540 --> 01:00:06,320 1224 01:00:06,320 --> 01:00:09,045 OK, ulitin kung maaari mong, para sa lahat. 1225 01:00:09,045 --> 01:00:13,210 >> Madla: Sa gitna ng piraso ng papel, gumuhit ng isang bagay, 1226 01:00:13,210 --> 01:00:14,842 na kamukha ng isang kubo. 1227 01:00:14,842 --> 01:00:17,332 >> David MALAN: OK, na ang dahilan lahat ng ka makakuha upang gumana sa. 1228 01:00:17,332 --> 01:00:20,010 1229 01:00:20,010 --> 01:00:23,080 Payagan sa akin upang maging analytical at hindi kaya magkano kritikal, 1230 01:00:23,080 --> 01:00:25,720 ngunit upang gawin ang mga claim na Victoria tiyak 1231 01:00:25,720 --> 01:00:28,967 anyong-iisip sa tunay mataas na antas abstractions, na kung saan 1232 01:00:28,967 --> 01:00:29,800 ay hindi walang katwiran. 1233 01:00:29,800 --> 01:00:32,160 Dahil kung hindi man, gusto namin ang lahat maging medyo dysfunctional, 1234 01:00:32,160 --> 01:00:35,740 kung kami ay may upang maging napaka-tumpak sa lahat ng aming ginagawa sa mundo. 1235 01:00:35,740 --> 01:00:38,890 >> Ngunit sinasabi pumunta sa middle-- ko naisip namin sa tulad ng isang magandang track 1236 01:00:38,890 --> 01:00:42,340 doon, tulad ng pumunta sa pinakadulo gitna ng pahina, at pagkatapos ay gumuhit ng isang kubo. 1237 01:00:42,340 --> 01:00:45,730 Kaya siya ay nag-iisip sa abstractions, dahil siya ay tumitingin pa rin 1238 01:00:45,730 --> 01:00:48,490 kung ano ang sa screen bilang katunayan ng isang kubo. 1239 01:00:48,490 --> 01:00:51,185 Ngunit mayroong kaya maraming mga pagkakataon para sa interpretasyon doon. 1240 01:00:51,185 --> 01:00:53,560 At sa katunayan, may mga kaya maraming mga iba pang mga paraan na maaari mong ipahayag ang 1241 01:00:53,560 --> 01:00:55,101 na, kung saan kukunin ko imungkahi sa isang sandali. 1242 01:00:55,101 --> 01:00:59,770 Kaya dito kami ay may isa incarnation ng ang larawang whoops-- isa 1243 01:00:59,770 --> 01:01:02,830 pagkakatawang-tao ng mga larawan, kaya ang isang maliit na tatlong dimensionality dito, 1244 01:01:02,830 --> 01:01:04,160 na kung saan ay nice. 1245 01:01:04,160 --> 01:01:08,470 >> Narito ang isa pang isa, kung saan ikaw ay may parehong, kahit na ito ay uri ng isang bukas na kubo. 1246 01:01:08,470 --> 01:01:12,020 Ang ilang mga tao kinuha ito ng isang maliit na mas flat, dalawang dimensional. 1247 01:01:12,020 --> 01:01:13,910 At iyon ang fine. 1248 01:01:13,910 --> 01:01:17,380 Kaya doon, sa katunayan sa gitna ng papel. 1249 01:01:17,380 --> 01:01:22,720 Isa na ito sa tingin ko makikita mo tulad ng, dahil kung pumunta kami dito, 1250 01:01:22,720 --> 01:01:25,130 ito ay kung ano siya ay naglalarawan. 1251 01:01:25,130 --> 01:01:29,570 Kaya ngayon, hayaan mo akong magpanukala paano pa maaari naming ilarawan ang sitwasyong ito. 1252 01:01:29,570 --> 01:01:34,070 >> Bumalik sa araw, isa sa mga pinaka mas karaniwang mga paraan upang malaman ang mga programa 1253 01:01:34,070 --> 01:01:38,900 ay sumulat ng code, writes mga linya ng mga tagubilin, 1254 01:01:38,900 --> 01:01:42,640 na kinokontrol ng isang maliit na pagong sa screen. 1255 01:01:42,640 --> 01:01:45,660 Logo at iba pang mga variant ng ito ay ang pangalan ng wika. 1256 01:01:45,660 --> 01:01:47,550 At ang pagong ay nanirahan sa isang mundo. 1257 01:01:47,550 --> 01:01:49,970 >> Kaya ipagpalagay na ito hugis-parihaba space ay ang kanyang mundo. 1258 01:01:49,970 --> 01:01:53,340 At gusto mong simulan sa pamamagitan assuming-- ko hindi talaga alam kung paano upang gumuhit pagong, 1259 01:01:53,340 --> 01:01:54,740 kaya sabihin gawin ito tulad nito. 1260 01:01:54,740 --> 01:01:57,340 At pagkatapos siya ay nakuha ng isang shell at pagkatapos ay marahil ilang mga paa. 1261 01:01:57,340 --> 01:01:59,840 Kaya maaari kang magkaroon ng ito maliit na karakter sa screen. 1262 01:01:59,840 --> 01:02:02,270 >> At ang bagay na ito ng programming language 1263 01:02:02,270 --> 01:02:06,070 ay upang pilitin ang pagong upang pumunta up, down, kaliwa, kanan 1264 01:02:06,070 --> 01:02:08,420 at upang ilagay ang kanyang panulat down o pumili ng kanyang panulat up, 1265 01:02:08,420 --> 01:02:12,720 kaya siya ay maaaring aktwal na gumuhit sa screen sa ganitong parihabang very flat mundo. 1266 01:02:12,720 --> 01:02:16,850 Kaya kung saan Akala ko maaari kang maging pagpunta, at kung saan dapat mong isaalang-alang diving 1267 01:02:16,850 --> 01:02:19,520 pababa sa itak kapag naglalarawan mga tagubilin mas pangkalahatang paraan, 1268 01:02:19,520 --> 01:02:21,720 Gusto ko i-claim, ay ilagay ang iyong panulat down sa middle-- 1269 01:02:21,720 --> 01:02:23,100 at kami makakuha ng mapupuksa ang mga pagong, dahil hindi ko makakaya talagang 1270 01:02:23,100 --> 01:02:24,680 panatilihin ang pagguhit sa kanya nang mahusay. 1271 01:02:24,680 --> 01:02:27,170 >> At ngayon, paano pa dati sinasabi ko gumuhit ng isang kubo? 1272 01:02:27,170 --> 01:02:32,830 Well, maaari naming sabihin isang bagay tulad ng mabubunot isang dayagonal linya hilagang-silangan, halimbawa, 1273 01:02:32,830 --> 01:02:35,182 o sa isang 45-degree anggulo paitaas. 1274 01:02:35,182 --> 01:02:36,640 At na maaaring may gotten sa akin dito. 1275 01:02:36,640 --> 01:02:38,380 At ako ay medyo malayo mula sa isang kubo. 1276 01:02:38,380 --> 01:02:42,430 Ngunit ngayon, maaari ko bang sabihin ng isang bagay tulad i 90 degrees sa kaliwa 1277 01:02:42,430 --> 01:02:47,370 at gumuhit ng isang linya ng pantay na haba hilagang-kanluran. 1278 01:02:47,370 --> 01:02:49,470 At kaya kong magpatuloy na may katulad na mga direksyon. 1279 01:02:49,470 --> 01:02:50,720 At ito ay hindi pagpunta sa maging madali. 1280 01:02:50,720 --> 01:02:53,345 At lantaran, kami ay marahil gagawin ay dito sa loob ng limang minuto. 1281 01:02:53,345 --> 01:02:59,600 Pero siguro gusto naming may gotten sa isang bagay na, sa dulo ng araw, 1282 01:02:59,600 --> 01:03:04,280 nagtatapos up pagiging isang kubo, ngunit hindi namin dived sa loob ng abstraction na 1283 01:03:04,280 --> 01:03:06,370 na gawin ito sa tulad na isang mababang antas na maaari mong hindi talaga 1284 01:03:06,370 --> 01:03:09,795 makita kung ano ang iyong ginagawa hanggang sa buong bagay ay talagang doon sa pahina. 1285 01:03:09,795 --> 01:03:12,670 At kaya ito ay isang pangkalahatang prinsipyo, muli, ng programming-- ideya na ito 1286 01:03:12,670 --> 01:03:13,320 ng abstraction. 1287 01:03:13,320 --> 01:03:15,920 Ito ay kaya kamangha-mangha makapangyarihan, dahil muli, 1288 01:03:15,920 --> 01:03:19,281 siya lamang ang sinabi, gumuhit ng isang kubo, na ang lahat ng sa amin medyo magkano ang nais grok masyadong mabilis. 1289 01:03:19,281 --> 01:03:21,030 Gusto lang namin maintindihan, OK, gumuhit ng isang kubo. 1290 01:03:21,030 --> 01:03:24,030 Hindi namin maaaring malaman ang orientation, kaya maaari kaming maging isang maliit na mas tiyak, 1291 01:03:24,030 --> 01:03:26,297 ngunit maaari naming karaniwang larawan o malaman kung ano ang isang kubo ay. 1292 01:03:26,297 --> 01:03:28,130 At iyon ang kapaki-pakinabang, dahil kung sa bawat oras na 1293 01:03:28,130 --> 01:03:31,540 naupo bilang isang programista sa iyong keyboard upang isulat ang code, 1294 01:03:31,540 --> 01:03:33,912 kung ikaw ay nagkaroon na mag-isip sa tulad isang mababang antas, wala sa amin 1295 01:03:33,912 --> 01:03:35,120 ay kailanman makakuha ng kahit ano tapos na. 1296 01:03:35,120 --> 01:03:38,259 At tiyak, wala sa amin ng gagawin tamasahin ang mga proseso ng pagsulat code. 1297 01:03:38,259 --> 01:03:41,550 Gusto Ito ay tulad ng pagsulat sa 0 at 1, na lantaran ay hindi lahat na matagal na ang nakalipas 1298 01:03:41,550 --> 01:03:43,680 mga kawani na tao ay sumusulat code sa 0 at 1. 1299 01:03:43,680 --> 01:03:46,960 At hindi na namin masyadong mabilis ay dumating up sa mga mas mataas na antas languages-- 1300 01:03:46,960 --> 01:03:49,410 C ++ at Java at iba pa. 1301 01:03:49,410 --> 01:03:52,500 >> Kaya sabihin subukan ito nang isa pang beses lamang upang i-flip ang mga talahanayan, upang ang lahat ng sa amin 1302 01:03:52,500 --> 01:03:55,450 magkaroon ng pagkakataon na mag-isip sa halip ang parehong paraan. 1303 01:03:55,450 --> 01:03:59,230 Puwede naming makakuha ng isa pang volunteer na ito oras na dumating up sa board at gumuhit, 1304 01:03:59,230 --> 01:04:01,480 hindi makasagot? 1305 01:04:01,480 --> 01:04:02,070 Yeah, OK. 1306 01:04:02,070 --> 01:04:04,820 Ben, dumating sa up. 1307 01:04:04,820 --> 01:04:08,510 At, Ben, sa kasong ito, sa sandaling ikaw harapin ang board, huwag tumingin sa kaliwa, 1308 01:04:08,510 --> 01:04:09,370 hindi tumingin sa kanan. 1309 01:04:09,370 --> 01:04:12,367 Lamang gawin kung ano ang iyong kasamahan dito sabihin sa iyo. 1310 01:04:12,367 --> 01:04:14,950 At para sa lahat ng iba pa sa room, ikaw ngayon ay ang mga programmer. 1311 01:04:14,950 --> 01:04:16,020 Siya ay ang computer. 1312 01:04:16,020 --> 01:04:21,395 At ang mga larawan na pinili ko dito nang maaga ay ang isang ito dito. 1313 01:04:21,395 --> 01:04:24,490 1314 01:04:24,490 --> 01:04:27,660 Sila ay just-- nila pinag-iisipan ng isang nakakatawa joke lang. 1315 01:04:27,660 --> 01:04:31,510 >> Kaya Gusto ang isang tao nais na magboluntaryo ang unang pagtuturo 1316 01:04:31,510 --> 01:04:35,470 o pahayag na dapat utos Ben pen? 1317 01:04:35,470 --> 01:04:40,850 At kami gawin ito kapag pinagsama-sama, siguro isang pagtuturo mula sa bawat tao. 1318 01:04:40,850 --> 01:04:41,440 Patawad? 1319 01:04:41,440 --> 01:04:42,440 >> Madla: Gumuhit ng isang bilog. 1320 01:04:42,440 --> 01:04:45,866 David MALAN: Gumuhit ng isang bilog ay ang unang bagay na narinig ko. 1321 01:04:45,866 --> 01:04:47,100 >> Madla: Up tuktok. 1322 01:04:47,100 --> 01:04:48,140 >> David MALAN: Up tuktok. 1323 01:04:48,140 --> 01:04:52,504 OK, maaari naming ipaalam sa iyo na tanggalin, i-undo. 1324 01:04:52,504 --> 01:04:53,420 At ngayon, isang tao pa. 1325 01:04:53,420 --> 01:04:55,994 Dan, ay ikaw ay umaliw nag-aalok ang susunod na pagtuturo? 1326 01:04:55,994 --> 01:05:02,070 >> Madla: Sure, gumuhit ng center ng ibaba ng bilog, 1327 01:05:02,070 --> 01:05:07,121 may small-- isang maliit na maliit na espasyo sa na, 1328 01:05:07,121 --> 01:05:15,420 gumuhit ng isang tuwid na linya pababa sa tatlong tirahan ng mga paraan down ang board 1329 01:05:15,420 --> 01:05:17,845 isang bahagyang anggulo sa iyong kaliwa. 1330 01:05:17,845 --> 01:05:21,250 1331 01:05:21,250 --> 01:05:22,620 >> David MALAN: Good. 1332 01:05:22,620 --> 01:05:24,086 >> Madla: Bahagyang anggulo. 1333 01:05:24,086 --> 01:05:32,807 >> David MALAN: I-undo, Control-Z. OK. 1334 01:05:32,807 --> 01:05:34,890 Andrew, na nais mong mag-alok ang susunod na pagtuturo? 1335 01:05:34,890 --> 01:05:35,515 >> Madla: Oo naman. 1336 01:05:35,515 --> 01:05:43,250 Mula sa ilalim ng na linya, isang karagdagang bahagyang angle-- 1337 01:05:43,250 --> 01:05:49,024 whoops-- siguro tungkol sa isang third ng haba [hindi marinig], 1338 01:05:49,024 --> 01:05:52,928 bahagyang anggulo pababa at tulad ng isang ikatlo ng ang haba ng [hindi marinig]. 1339 01:05:52,928 --> 01:05:57,550 1340 01:05:57,550 --> 01:06:00,578 So yeah, mula sa puntong iyon, gumuhit ng isang linya sa isang third 1341 01:06:00,578 --> 01:06:04,150 ng haba ng nakaraang line karagdagang sa kaliwa. 1342 01:06:04,150 --> 01:06:08,416 1343 01:06:08,416 --> 01:06:10,040 >> David MALAN: OK That? 1344 01:06:10,040 --> 01:06:12,330 Tuwid na linya, na OK lang? 1345 01:06:12,330 --> 01:06:14,900 OK, Olivier, na nais mong ialay ang mga susunod? 1346 01:06:14,900 --> 01:06:28,564 >> Madla: [hindi marinig] mula sa ibaba ng bilog, [hindi marinig]. 1347 01:06:28,564 --> 01:06:32,000 1348 01:06:32,000 --> 01:06:45,126 Gumuhit sa kanang bahagi of [hindi marinig] sentimetro. 1349 01:06:45,126 --> 01:06:46,560 >> [TAWA] 1350 01:06:46,560 --> 01:06:49,872 >> David MALAN: Sa tingin ko ikaw ay pagpunta sa kung i-convert na pulgada dito. 1351 01:06:49,872 --> 01:06:50,764 >> Madla: Itigil. 1352 01:06:50,764 --> 01:06:52,186 >> [TAWA] 1353 01:06:52,186 --> 01:06:54,570 >> David MALAN: OK. 1354 01:06:54,570 --> 01:06:56,660 [? Ara,?] Gusto mong ialay ang mga susunod? 1355 01:06:56,660 --> 01:07:00,653 1356 01:07:00,653 --> 01:07:15,443 >> Madla: Gumuhit ng isang [hindi marinig] itaas na [hindi marinig] pareho. 1357 01:07:15,443 --> 01:07:28,829 [Hindi marinig] bilog, gumuhit sa [Hindi marinig] at gumuhit [hindi marinig]. 1358 01:07:28,829 --> 01:07:33,799 1359 01:07:33,799 --> 01:07:36,730 >> David MALAN: OK, wala nang undo. 1360 01:07:36,730 --> 01:07:38,390 Tayo'y gawin ang isa o dalawang karagdagang mga tagubilin Hayaan. 1361 01:07:38,390 --> 01:07:40,825 Chris, na nais mong mag-alok ng isa? 1362 01:07:40,825 --> 01:07:46,182 >> Madla: Sa ibaba ng bilog, [hindi marinig] 1363 01:07:46,182 --> 01:07:51,528 gumuhit ng isang pantay-pantay na linya slopping pababa sa kaliwa [hindi marinig]. 1364 01:07:51,528 --> 01:07:59,304 1365 01:07:59,304 --> 01:08:00,590 >> David MALAN: OK. 1366 01:08:00,590 --> 01:08:01,170 Andrew? 1367 01:08:01,170 --> 01:08:02,472 did-- Kami Karim? 1368 01:08:02,472 --> 01:08:06,891 1369 01:08:06,891 --> 01:08:13,765 >> Madla: Simula mula sa tamang linya, dulo ng kaliwang linya, sa ibaba, 1370 01:08:13,765 --> 01:08:21,012 ikaw ay pagpunta sa pumunta karapatan tungkol ang parehong haba bilang na linya 1371 01:08:21,012 --> 01:08:27,680 kung nasaan ka, ang guhit sa ang karapatan [hindi marinig]. 1372 01:08:27,680 --> 01:08:33,572 1373 01:08:33,572 --> 01:08:37,991 [Hindi marinig] degrees, kaya [hindi marinig] degrees sa kanang bahagi. 1374 01:08:37,991 --> 01:08:41,919 1375 01:08:41,919 --> 01:08:43,500 >> David MALAN: Lahat ng karapatan. 1376 01:08:43,500 --> 01:08:44,029 ni-pause Hayaan. 1377 01:08:44,029 --> 01:08:44,950 Huwag i-sa paligid pa. 1378 01:08:44,950 --> 01:08:46,783 ni-pause Hayaan, at sabihin subukan ang isa sa iba pang mga pagtatangka 1379 01:08:46,783 --> 01:08:48,850 bago namin ipakita sa Ben kung ano siya ay nai-drawing. 1380 01:08:48,850 --> 01:08:51,189 Maaari mong kaladkarin ang mga paa Ben upang ang right-- o talaga, 1381 01:08:51,189 --> 01:08:54,080 no, sabihin lamang magbibigay sa iyo ng kabilang tabla, mas mahusay. 1382 01:08:54,080 --> 01:08:57,640 Kaya Gusto isang tao ngayon gusto na kumuha ng higit pa sa mga diskarte 1383 01:08:57,640 --> 01:09:02,149 na Victoria kinuha mas maaga sa, kung saan atin namang sinasalita sa isang mas mataas na antas ng abstraction 1384 01:09:02,149 --> 01:09:05,149 at sa loob lamang ng isang pangungusap o dalawang ilarawan sa Ben 1385 01:09:05,149 --> 01:09:07,229 kung ano ang gumuhit ng walang pagkuha sa mga damo, 1386 01:09:07,229 --> 01:09:10,670 kaya na magsalita, sa ito sa isang mas mababang antas? 1387 01:09:10,670 --> 01:09:11,206 Victoria. 1388 01:09:11,206 --> 01:09:11,706 [TAWA] 1389 01:09:11,706 --> 01:09:14,249 Madla: Gumuhit ng isang figure ng daanang tao. 1390 01:09:14,249 --> 01:09:18,866 At ang kaniyang mga binti at armas kailangang maging sa kanang bahagi. 1391 01:09:18,866 --> 01:09:20,505 >> David MALAN: OK, na ang lahat makakuha ka. 1392 01:09:20,505 --> 01:09:27,210 1393 01:09:27,210 --> 01:09:27,710 Lahat tama. 1394 01:09:27,710 --> 01:09:31,609 Bakit hindi namin ihayag sa Ben kung ano siya did. 1395 01:09:31,609 --> 01:09:32,890 Kaya isang ikot ng papuri. 1396 01:09:32,890 --> 01:09:35,700 Iyon ay ang hardest marahil. 1397 01:09:35,700 --> 01:09:37,931 >> Kaya kahit na pinag-uusapan natin sa medyo uto tuntunin 1398 01:09:37,931 --> 01:09:39,680 tungkol lamang pagguhit larawan, inaasahan namin na kayo 1399 01:09:39,680 --> 01:09:44,226 maaari tunay pahalagahan ang mga antas ng expressiveness na maaaring kailangan 1400 01:09:44,226 --> 01:09:45,850 upang sabihin sa isang computer kung ano ang gagawin. 1401 01:09:45,850 --> 01:09:50,370 At sa katunayan, ang katotohanan na Ben ay able sa gumuhit ito kaya mabilis 1402 01:09:50,370 --> 01:09:54,227 ay isang uri ng testamento sa ang paggamit ng isang wika, marahil ng isang mas mataas na antas 1403 01:09:54,227 --> 01:09:57,060 bersyon ng Ingles, na nagbibigay-daan sa kanya gamitin lamang ang mga salita, o marinig ang mga salita 1404 01:09:57,060 --> 01:09:59,990 mula sa Victoria, na nagbibigay-daan sa kanya mga abstractions-- lamang gumuhit 1405 01:09:59,990 --> 01:10:03,020 isang pigura paglalakad sa right-- na uri ng mga may 1406 01:10:03,020 --> 01:10:07,100 ilang semantiko kahulugan sa mga ito na ito ay hindi halos bilang halata kapag ikaw lamang 1407 01:10:07,100 --> 01:10:10,310 na sinasabi, ilagay ang iyong mga panulat down, gumuhit sa kanan, gumuhit sa kaliwa. 1408 01:10:10,310 --> 01:10:12,420 >> At kaya ito, masyadong, ay napaka karaniwan sa programming. 1409 01:10:12,420 --> 01:10:15,253 Ito ay maaaring sinabi na maging tulad ng isang napakababang antas ng wika, programming 1410 01:10:15,253 --> 01:10:16,730 sa 0 at 1 kung ikaw ay. 1411 01:10:16,730 --> 01:10:19,320 At ito ay magiging isang mas mataas na antas wika programming sa Java, 1412 01:10:19,320 --> 01:10:20,278 o isang bagay tulad na. 1413 01:10:20,278 --> 01:10:22,050 A bit ng isang oversimplification, ngunit iyan ay 1414 01:10:22,050 --> 01:10:24,310 ang uri ng tulad ng emosyonal na pakiramdam na sa tingin mo kapag 1415 01:10:24,310 --> 01:10:26,630 gamit ang isa uri ng mga bagay o iba pang. 1416 01:10:26,630 --> 01:10:32,650 A bit ng pagkabigo dito sa pamamagitan ng ang pangangailangan para sa mga tulad na katumpakan, ngunit ang mga pagkakataon 1417 01:10:32,650 --> 01:10:34,930 na maging isang maliit na may looser ang pagbibigay kahulugan dito. 1418 01:10:34,930 --> 01:10:38,060 Ngunit siyempre, mga bug maaaring lumabas dahil bilang isang resulta. 1419 01:10:38,060 --> 01:10:40,500 >> Kung gusto mo sa home-- namin hindi gawin ang isang ito sa class-- 1420 01:10:40,500 --> 01:10:41,900 ngunit kung nais mong dalhin ang isang ito sa bahay, 1421 01:10:41,900 --> 01:10:43,387 Akala ko Gusto namin sumisid sa ito. 1422 01:10:43,387 --> 01:10:45,970 Kaya kung nais mong i-play ito laro sa iyong mga makabuluhang iba pang 1423 01:10:45,970 --> 01:10:49,180 o mga bata o mga katulad, mo maaaring masiyahan din iyon. 1424 01:10:49,180 --> 01:10:54,460 >> Kaya sabihin sige at tumingin sa isang huling bagay dito para sa computational pag-iisip. 1425 01:10:54,460 --> 01:10:57,010 At na pinagsasama-amin sa John Oliver, hindi para sa mga clip 1426 01:10:57,010 --> 01:11:00,070 maaaring nakakita ka kagabi, ngunit sa isang medyo kamakailang isyu. 1427 01:11:00,070 --> 01:11:03,310 Ang ilang buwan likod, Volkswagen kinuha lubos ng kaunti ng flak 1428 01:11:03,310 --> 01:11:05,651 sa anong kadahilanan, kung iyong nalalaman? 1429 01:11:05,651 --> 01:11:07,025 Ano ang ginawa nila makipag-problema para sa? 1430 01:11:07,025 --> 01:11:10,270 1431 01:11:10,270 --> 01:11:14,030 >> Oo, kaya emissions-- sila ay sinusubukan upang talunin ang emissions 1432 01:11:14,030 --> 01:11:19,100 pagsusulit sa pamamagitan ng mahalagang pagkakaroon ng kanilang mga cars pagdumi sa kapaligiran mas mababa 1433 01:11:19,100 --> 01:11:23,620 kapag ang kanilang mga kotse ay sinusuri at salaulain ang kapaligiran mas 1434 01:11:23,620 --> 01:11:25,547 kapag ang mga kotse ay hindi sinusuri. 1435 01:11:25,547 --> 01:11:28,630 At kung ano ang kawili-wiling increasingly sa mundo, tulad ng maaari kang magkaroon ng inferred 1436 01:11:28,630 --> 01:11:34,072 mula sa mga talakayan ng like-- kung ano ang it-- CarPlay, software Apple para sa mga kotse 1437 01:11:34,072 --> 01:11:35,780 at ang katunayan na ang maraming mga sa atin increasingly 1438 01:11:35,780 --> 01:11:38,390 may mga screen ugnay sa aming mga kotse, mayroong isang nakakatakot na halaga 1439 01:11:38,390 --> 01:11:41,250 ng software sa mamamayan cars ngayon, na 1440 01:11:41,250 --> 01:11:45,650 lantaran ay bubukas sa isang buong lata ng bulate kapag ito ay dumating sa seguridad at pisikal na panganib. 1441 01:11:45,650 --> 01:11:48,070 Ngunit para sa ngayon, sabihin tumutok sa lamang kung ano ang 1442 01:11:48,070 --> 01:11:52,170 kasangkot sa pagsulat ng software na maaaring magkaroon ng gamed sistema. 1443 01:11:52,170 --> 01:11:54,510 >> Para sa kahulugan ng mga problema, para sa mga pamilyar, 1444 01:11:54,510 --> 01:11:55,740 sabihin tumagal ng isang pagtingin sa John Oliver. 1445 01:11:55,740 --> 01:11:58,115 At para sa mga pamilyar sa ang problema, sabihin tumingin sa ito 1446 01:11:58,115 --> 01:12:00,480 sa isang masaya lens sa pamamagitan ng John Oliver pati na rin. 1447 01:12:00,480 --> 01:12:05,810 Kaya hayaan mo akong pindutin ang play sa ito, ako mag-isip, tatlong-minutong pagpapakilala. 1448 01:12:05,810 --> 01:12:07,074 Mapapahamak ang mga ito. 1449 01:12:07,074 --> 01:12:07,740 [Video playback] 1450 01:12:07,740 --> 01:12:08,170 -Cars-- 1451 01:12:08,170 --> 01:12:09,919 David MALAN: Nang walang alinlangan, sa YouTube, it's-- 1452 01:12:09,919 --> 01:12:12,500 - --ang Smartest character sa ang Fast and Furious movies. 1453 01:12:12,500 --> 01:12:16,080 Sa linggong ito, German automaker Volkswagen natagpuan ang sarili 1454 01:12:16,080 --> 01:12:19,430 sa gitna ng isang iskandalo ng potensyal na kriminal sukat. 1455 01:12:19,430 --> 01:12:23,020 >> -Volkswagen Ay pagkakabit para sa mga bilyun-bilyong sa mga multa, posibleng kriminal na mga singil 1456 01:12:23,020 --> 01:12:25,530 para sa kanyang executive, pati na ang kumpanya ay humihingi ng paumanhin 1457 01:12:25,530 --> 01:12:28,790 para palubid at palayag 11 milyong mga kotse sa tulungan itong matalo emissions pagsubok. 1458 01:12:28,790 --> 01:12:32,110 >> -Certain Diesel modelo ay dinisenyo may sopistikadong software na 1459 01:12:32,110 --> 01:12:35,410 sa paggamit ng impormasyon, kabilang ang posisyon ng manibela at sasakyan 1460 01:12:35,410 --> 01:12:38,820 bilis, upang matukoy ang mga kotse ay sumasailalim emissions testing. 1461 01:12:38,820 --> 01:12:42,620 Sa ilalim pangyayari na, ang engine ay mabawasan toxic emissions. 1462 01:12:42,620 --> 01:12:46,040 Ngunit ang kotse ay rigged upang bypass na kapag ito ay ini-driven. 1463 01:12:46,040 --> 01:12:51,370 Emisyon nadagdagan sa 10 sa 40 beses sa itaas ng antas na tinatanggap EPA. 1464 01:12:51,370 --> 01:12:55,920 >> -Wow, 10 sa 40 beses mas malaki kaysa sa EPA ay nagbibigay-daan. 1465 01:12:55,920 --> 01:12:59,570 Iyon ay ang pinakamasama bagay Volkswagen ay kailanman tapos na, 1466 01:12:59,570 --> 01:13:04,200 ay isang bagay na maaari mong sabihin kung hindi mo gusto narinig ng World War II. 1467 01:13:04,200 --> 01:13:09,710 Pero siguro ang surest sign ng kung paano maraming problema Volkswagen ay nasa, 1468 01:13:09,710 --> 01:13:12,730 ay ang mga tao sa pinakadulo top na stepped down. 1469 01:13:12,730 --> 01:13:16,320 Ang CEO nagbitiw sa Miyerkules pagkatapos scrambling upang gawin pinsala control, 1470 01:13:16,320 --> 01:13:20,380 na nagsasabi siya ay endlessly sorry, kung saan tunog mahusay hanggang sa ito naka-out 1471 01:13:20,380 --> 01:13:22,920 siya ay lamang ng 10% ng paumanhin ngunit ay rigged kanyang bibig 1472 01:13:22,920 --> 01:13:25,600 upang artipisyal na pataasin ang kanyang sorriness. 1473 01:13:25,600 --> 01:13:29,700 At samantala, Volkswagen US chief ay nagkaroon ng isang paghingi ng tawad ng kanyang sarili. 1474 01:13:29,700 --> 01:13:33,580 >> -Hayaan Maging malinaw tungkol dito, ang aming kumpanya ay hindi tapat. 1475 01:13:33,580 --> 01:13:37,140 At sa aking mga salita Aleman, kami may ganap screwed up. 1476 01:13:37,140 --> 01:13:41,360 >> -Yeah, Ngunit lubos na screwed up ay hindi German gawa. 1477 01:13:41,360 --> 01:13:43,750 At ang wikang Aleman ay may maraming magagandang mga parirala 1478 01:13:43,750 --> 01:13:50,070 upang ilarawan sitwasyon tulad ng ito, tulad ng [GERMAN], na nangangahulugan na may katigasan, 1479 01:13:50,070 --> 01:13:52,870 ang kalungkutan na nagmumula mula sa negosyo na may kaugnayan kasinungalingan, 1480 01:13:52,870 --> 01:13:59,060 o [GERMAN], na isasalin bilang shaming mga ama na kinasasangkutan 1481 01:13:59,060 --> 01:14:00,352 ulap ng gasolina. 1482 01:14:00,352 --> 01:14:02,060 Ito ay isang magandang wika. 1483 01:14:02,060 --> 01:14:04,660 Ito lamang sails off ang dila. 1484 01:14:04,660 --> 01:14:07,920 At sa pamamagitan ng ang paraan, habang na ng tao apology maaaring may sounded sincere, 1485 01:14:07,920 --> 01:14:12,260 ito ay nagkakahalaga ng noting na siya ay nagsasalita sa isang opisyal na launch party para sa 2016 1486 01:14:12,260 --> 01:14:17,310 Volkswagen Passat, ibig sabihin na sa ilang sandali pagkatapos ng sinasabi ng paumanhin, sinabi niya na ito. 1487 01:14:17,310 --> 01:14:18,850 >> -Salamat Sa inyo para sa darating. 1488 01:14:18,850 --> 01:14:19,630 Tangkilikin ang gabi. 1489 01:14:19,630 --> 01:14:21,300 Up susunod ay Lenny Kravitz. 1490 01:14:21,300 --> 01:14:24,640 >> [MUSIC nagpe-play] 1491 01:14:24,640 --> 01:14:28,230 >> -OK, OK, na nagtatapos ang iyong apology na may hanggang susunod na 1492 01:14:28,230 --> 01:14:31,940 Lenny Kravitz ay hindi hiyawan matino pagsisisi. 1493 01:14:31,940 --> 01:14:35,830 Ito screams, tinanong namin Bon Jovi, at sinabi niya no. 1494 01:14:35,830 --> 01:14:38,600 Volkswagen tatak ay ay di-wastong nasira. 1495 01:14:38,600 --> 01:14:42,466 At lantaran, ang kanilang bagong ad kampanya ay hindi eksakto pagtulong. 1496 01:14:42,466 --> 01:14:47,289 >> - [GERMAN], kami ay sa Volkswagen gusto humihingi ng paumanhin para deceiving sa iyo ng 1497 01:14:47,289 --> 01:14:47,930 aming mga sasakyan. 1498 01:14:47,930 --> 01:14:48,513 >> [END-playback] 1499 01:14:48,513 --> 01:14:54,090 David MALAN: Kaya ito ay isang rotonda paraan of-- sorry-- 1500 01:14:54,090 --> 01:14:58,730 ito ay isang rotonda paraan ng pagpapasok ng isang pundamental na problema 1501 01:14:58,730 --> 01:15:02,810 sa software, na kung saan ay na kayo kailangan na matagpuan ilang mga kundisyon. 1502 01:15:02,810 --> 01:15:07,680 At sa gayon ang tanong sa kamay dito ay, kung paano ang isang kotse potensyal na, 1503 01:15:07,680 --> 01:15:09,870 bilang ipinatupad sa software sa pamamagitan ng mga programmer, 1504 01:15:09,870 --> 01:15:11,850 nahuli na ito ay aktwal na sinusuri? 1505 01:15:11,850 --> 01:15:14,150 Kaya upang maging sobrang malinaw, ano ang kanilang ginagawa 1506 01:15:14,150 --> 01:15:17,940 ay, sa kapaligiran na kung saan ang programmer korte 1507 01:15:17,940 --> 01:15:20,460 ang kotse ay pagiging nasubok, ang mga ito sa paanuman ginawa 1508 01:15:20,460 --> 01:15:24,840 ang kotse humalimuyak mas mababa emissions, mas kaunting emissions, kaya mas mababa dahil sa lason fumes 1509 01:15:24,840 --> 01:15:25,470 at tulad. 1510 01:15:25,470 --> 01:15:27,261 Ngunit kapag ito ay normal pagmamaneho sa kalsada, 1511 01:15:27,261 --> 01:15:30,350 ito would makatarungan naglalabas ng mas maraming polusyon dahil ito gusto. 1512 01:15:30,350 --> 01:15:33,870 >> Kaya kung paano maaari naming isulat ang pseudocode para sa algorithm? 1513 01:15:33,870 --> 01:15:37,820 Paano namin maaaring isulat ang pseudocode para sa mga software na tumatakbo sa loob ng sasakyan? 1514 01:15:37,820 --> 01:15:43,390 Ibig kong sabihin, sa maikling sabi, umaasa lang ito down sa isang bagay tulad nito. 1515 01:15:43,390 --> 01:15:48,000 kung sinusubok, humalimuyak mas mababa. 1516 01:15:48,000 --> 01:15:50,750 sino pa ang paririto emits higit pa. 1517 01:15:50,750 --> 01:15:52,630 Ngunit iyon lamang ang isang maliit na masyadong mataas na antas, i-right? 1518 01:15:52,630 --> 01:15:58,580 >> Subukan nating makisalamuha bilang sa kung ano ito Hayaan abstraction ng pagiging nasubok paraan. 1519 01:15:58,580 --> 01:16:06,340 Sa ibang salita, kahit na alam mo wala tungkol sa mga kotse, anong uri ng mga katanungan 1520 01:16:06,340 --> 01:16:13,440 Maaaring hilingin sa iyo upang matukoy kung ka na sinusuri, kung ikaw ay ang kotse? 1521 01:16:13,440 --> 01:16:19,638 Ano ang mga katangian ay maaaring maging ipakita kung ang isang sasakyan ay sinusuri? 1522 01:16:19,638 --> 01:16:21,026 >> Madla: Pagsubok equipment. 1523 01:16:21,026 --> 01:16:22,420 >> David MALAN: Pagsubok equipment. 1524 01:16:22,420 --> 01:16:26,060 Kaya kung pagsubok kagamitan malapit, pagkatapos ay naglalabas ng mas mababa. 1525 01:16:26,060 --> 01:16:28,669 Kaya maaari kong isipin pagpapatupad na may ilang mga uri ng mga camera 1526 01:16:28,669 --> 01:16:29,960 o pag-detect kung ano ang nasa paligid mo. 1527 01:16:29,960 --> 01:16:32,870 At hayaan mo akong imungkahi, na lamang feels masyadong kumplikado 1528 01:16:32,870 --> 01:16:37,914 upang aktwal na magkaroon ng mga karagdagang hardware lamang para sa layunin. 1529 01:16:37,914 --> 01:16:44,830 >> Madla: Kung ikaw ay nasa park, kung ang iyong hood ay bukas. 1530 01:16:44,830 --> 01:16:47,320 >> David MALAN: Sa parke o hood bukas, kaya na maganda. 1531 01:16:47,320 --> 01:16:47,420 >> Madla: At kotse tumatakbo. 1532 01:16:47,420 --> 01:16:50,480 >> David MALAN: Kaya na ang isang maliit na mas concrete-- at kotse na tumatakbo. 1533 01:16:50,480 --> 01:16:55,690 Kaya ito ay ang pagsama ng isang ilang iba't-ibang mga kondisyon, kung ikaw ay. 1534 01:16:55,690 --> 01:16:59,227 Kaya kung ang sasakyan ay sa park, at kahit bagaman ito ay isang napaka mechanical bagay 1535 01:16:59,227 --> 01:17:01,060 kadalasan, kaya kong isipin pagsulat software, 1536 01:17:01,060 --> 01:17:03,476 lalo na dahil mayroong madalas na isang ilaw doon mga araw na ito, 1537 01:17:03,476 --> 01:17:07,400 kaya kong isipin palibhasa'y software na maaaring i-query ang shifter 1538 01:17:07,400 --> 01:17:10,634 o kung ano ang hindi, ikaw ay nasa park, ay sa iyo sa drive, ikaw ay nasa reverse. 1539 01:17:10,634 --> 01:17:12,550 At maaari ba akong makakuha ng likod ng isang answer na ay alinman sa oo 1540 01:17:12,550 --> 01:17:14,400 o hindi sa mga uri ng mga katanungan. 1541 01:17:14,400 --> 01:17:17,630 >> At kaya ako ay maaaring din marahil sagutin isang katanungan tulad ng, ay ang hood bukas. 1542 01:17:17,630 --> 01:17:21,860 Siguro, may ilang mga uri ng sensor na ang alinman ay nagbibigay sa akin sa likod ng isang 1 o 0, 1543 01:17:21,860 --> 01:17:23,720 tama o mali, ang hood ay bukas. 1544 01:17:23,720 --> 01:17:28,180 At pagkatapos ay kotse tumatakbo, maaari ko bang makita ang na kahit papaano ay sa pamamagitan ng kung ano ang mekanismo? 1545 01:17:28,180 --> 01:17:30,430 Like, ang kotse ay tumatakbo, ako maaaring tuklasin na ito ay sa, 1546 01:17:30,430 --> 01:17:32,127 Kaya kong makita sa anumang paraan na ang kotse ay gumagalaw? 1547 01:17:32,127 --> 01:17:32,881 >> Madla: RPMs. 1548 01:17:32,881 --> 01:17:35,190 >> David MALAN: Oo, kaya mayroong palaging na karayom ​​na 1549 01:17:35,190 --> 01:17:38,034 ay nagsasabi sa iyo kung gaano karaming mga rotations kada minuto ang mga gulong ay nakakaranas. 1550 01:17:38,034 --> 01:17:39,200 At kaya ako ay maaaring tumingin sa na. 1551 01:17:39,200 --> 01:17:43,090 At kung ito ay hindi 0, na marahil ay nangangahulugan na ang kotse ay gumagalaw. 1552 01:17:43,090 --> 01:17:45,400 Ngunit kami ay upang maging isang maliit na maingat doon, 1553 01:17:45,400 --> 01:17:49,780 because-- sabihin pasimplehin this-- kung kami lang sinabi, kung kotse tumatakbo, 1554 01:17:49,780 --> 01:17:53,070 Hindi namin nais na lamang humalimuyak mas mababa, gusto naming kung ang kotse ay tumatakbo 1555 01:17:53,070 --> 01:17:54,310 at ito ay sinusuri. 1556 01:17:54,310 --> 01:17:56,320 >> Kaya may mga ilang mga iba pang mga sangkap na kakailanganin ng mga tao 1557 01:17:56,320 --> 01:18:00,550 may hypothesized ang software ay paggawa, dahil absent ang aktwal na source code, 1558 01:18:00,550 --> 01:18:05,130 maaari ka lamang uri ng magpakilala mula sa pisikal na mga epekto ng kotse bilang sa kung ano 1559 01:18:05,130 --> 01:18:08,280 maaaring nangyayari sa ilalim ng hood sa software. 1560 01:18:08,280 --> 01:18:17,090 Kaya kung car tumatakbo at siguro, sabihin nating, likod na gulong hindi gumagalaw, 1561 01:18:17,090 --> 01:18:19,420 maaaring ito nagpapakilala ng ilang mga uri ng pagsubok? 1562 01:18:19,420 --> 01:18:22,830 Ano ako hinting sa dito? 1563 01:18:22,830 --> 01:18:24,830 Yeah, siguro, ito ay sa isa sa mga bagay roller, 1564 01:18:24,830 --> 01:18:28,340 kung saan tulad ng mga wheels ay magkakaroon sa harap o sa likod, 1565 01:18:28,340 --> 01:18:32,570 depende sa kung ito ay front wheel o rear wheel drive, kaya kalahati ng mga gulong 1566 01:18:32,570 --> 01:18:34,420 ay gumagalaw, ngunit ang iba pang dalawang ay hindi, na 1567 01:18:34,420 --> 01:18:36,320 ay isang kakaibang sitwasyon sa tunay na mundo. 1568 01:18:36,320 --> 01:18:38,110 Kung ikaw ay pagmamaneho sa road, na hindi dapat mangyari. 1569 01:18:38,110 --> 01:18:40,568 Ngunit kung ikaw ay sa isang warehouse sa ilang mga uri ng roller system, 1570 01:18:40,568 --> 01:18:41,630 na maaaring sa katunayan mangyari. 1571 01:18:41,630 --> 01:18:46,980 >> Sa tingin ko folks din iminungkahi na marahil, kung ang kotse ay tumatakbo at steering 1572 01:18:46,980 --> 01:18:51,300 wheel hindi gumagalaw, na masyadong ay maaaring maging isang signal, 1573 01:18:51,300 --> 01:18:54,090 dahil na makatwirang para tulad ng isang kagayat sa isang kalsada. 1574 01:18:54,090 --> 01:18:57,960 Ngunit kahit na pagkatapos, ang mga tao ay marahil gumagalaw ito nang kaunti o tiyak 1575 01:18:57,960 --> 01:18:59,100 sa loob ng ilang segundo. 1576 01:18:59,100 --> 01:19:01,030 O kaya naman ang kurso ng isang minuto, logro ay hindi ito 1577 01:19:01,030 --> 01:19:03,510 pagpunta sa ay fixated sa eksakto ang parehong posisyon. 1578 01:19:03,510 --> 01:19:05,440 >> Kaya sa ibang salita, kami maaaring tumagal ng pagbabawas, 1579 01:19:05,440 --> 01:19:08,200 ikaw ay sinusuri, at break down na pag-andar 1580 01:19:08,200 --> 01:19:10,420 sa mga component ingredients. 1581 01:19:10,420 --> 01:19:13,440 At iyon ang tunay na kung ano ang Volkswagen ni inhinyero sa paanuman ginawa. 1582 01:19:13,440 --> 01:19:17,070 Sila wrote software sinasadya sa detect kung ang kotse ay sinusuri, 1583 01:19:17,070 --> 01:19:20,440 samakatuwid humalimuyak mas mababa, iba humalimuyak sa karaniwang paraan. 1584 01:19:20,440 --> 01:19:22,690 >> At ang problema dito, masyadong, ay na software ay hindi 1585 01:19:22,690 --> 01:19:26,080 isang bagay na maaari mo ba talagang makita maliban kung mayroon kang ang tinatawag na source code. 1586 01:19:26,080 --> 01:19:29,060 Kaya mayroong dalawang iba't ibang uri ng code-- hindi bababa sa dalawang iba't-ibang uri 1587 01:19:29,060 --> 01:19:30,130 ng code sa buong mundo. 1588 01:19:30,130 --> 01:19:33,150 May isang bagay na tinatawag na pinagmulan code, na kung saan ay hindi hindi katulad kung ano ang 1589 01:19:33,150 --> 01:19:37,240 kami ay pagsusulat, source code. 1590 01:19:37,240 --> 01:19:40,099 >> Ito ay source code na nakasulat sa isang wika na tinatawag pseudocode, 1591 01:19:40,099 --> 01:19:41,640 na kung saan ay lamang ng isang bagay Ingles-tulad ng. 1592 01:19:41,640 --> 01:19:43,140 Walang pormal na kahulugan ng mga ito. 1593 01:19:43,140 --> 01:19:46,770 Ngunit C, at Java, C ++, ang mga ay ang lahat ng pormal na wika na, 1594 01:19:46,770 --> 01:19:50,610 kapag sumulat ka sa mga ito, kung ano ang iyong ay isang text file na naglalaman ng source code. 1595 01:19:50,610 --> 01:19:54,850 >> Ngunit mayroon ding isang bagay sa mundo na tinatawag machine code. 1596 01:19:54,850 --> 01:20:00,579 At machine code, sa kasamaang palad, ay lamang ng 0 at 1 ni. 1597 01:20:00,579 --> 01:20:02,870 Kaya machine code ay kung ano ang machines maunawaan, siyempre. 1598 01:20:02,870 --> 01:20:04,470 Source code ay kung ano ang mga tao na maunawaan. 1599 01:20:04,470 --> 01:20:08,390 >> At sa pangkalahatan, ngunit hindi laging, may isang program 1600 01:20:08,390 --> 01:20:14,090 na ang isang programmer ay gumagamit na tumatagal pinagmulan code at lumiliko ito sa machine code. 1601 01:20:14,090 --> 01:20:17,400 At programa na ay karaniwang tinatawag na isang tagatala. 1602 01:20:17,400 --> 01:20:19,820 Kaya ang iyong input ay source code, ang iyong output ay machine code, 1603 01:20:19,820 --> 01:20:22,890 at ang tagatala ay isang piraso ng software na gumagana prosesong iyon. 1604 01:20:22,890 --> 01:20:26,260 Kaya ito aktwal na mga mapa ng mabuti sa aming inputs, mga algorithm, outputs. 1605 01:20:26,260 --> 01:20:30,400 >> Ngunit ito ay isang napaka-tukoy na pagkakatawang-tao ng na, kung saan ay upang sabihin na, 1606 01:20:30,400 --> 01:20:34,200 kahit na pag-aari mo ang isa sa Volkswagen ni kotse na nagiging salarin sa pagpapatay na ito, 1607 01:20:34,200 --> 01:20:38,390 ito ay hindi tulad maaari mo lamang buksan ang hood o buksan manual ng gumagamit, o hihintayin 1608 01:20:38,390 --> 01:20:42,690 sa source code, dahil sa oras ito umabot sa iyong kotse sa iyong driveway, 1609 01:20:42,690 --> 01:20:45,580 na ito ay naging convert sa 0 at 1 ni. 1610 01:20:45,580 --> 01:20:51,310 At ito ay napakahirap, hindi imposible, ngunit napakahirap upang mamulot magkano ng anumang bagay 1611 01:20:51,310 --> 01:20:53,710 mula lamang ng pagtingin sa mga pinagbabatayan 0 at 1 ni. 1612 01:20:53,710 --> 01:20:57,150 Kaya maaari mong malaman ito, sa huli, kung nauunawaan mo kung paano ang isang machine operates-- 1613 01:20:57,150 --> 01:20:59,870 Intel inside-- kung naiintindihan mo ang Intel architecture, 1614 01:20:59,870 --> 01:21:01,440 ngunit ito ay lubhang oras-ubos. 1615 01:21:01,440 --> 01:21:05,010 At kahit na doon, maaari ka hindi mo magagawang upang makita ang lahat ng bagay 1616 01:21:05,010 --> 01:21:08,220 na ang code ay maaaring aktwal na gawin. 1617 01:21:08,220 --> 01:21:12,521 >> Ang anumang mga katanungan tungkol sa mga ito o ito uri ng proseso sa mas pangkalahatang? 1618 01:21:12,521 --> 01:21:15,134 1619 01:21:15,134 --> 01:21:18,300 At talagang, maaari naming itali ang talakayang ito sa discussion kahapon ng Apple. 1620 01:21:18,300 --> 01:21:22,500 Ito, masyadong, ay kung bakit ang FBI ay hindi maaaring lamang pumunta at tumingin sa phone ng suspek 1621 01:21:22,500 --> 01:21:26,820 at hanapin ang mga linya ng code, para sa Halimbawa, na paganahin ang passcode 1622 01:21:26,820 --> 01:21:28,940 o paganahin na ang 80-millisecond delay. 1623 01:21:28,940 --> 01:21:31,630 Dahil sa oras na ito ay sa iPhone ang kapwa, 1624 01:21:31,630 --> 01:21:34,975 na ito ay naging convert sa 0 at 1 ni. 1625 01:21:34,975 --> 01:21:38,015 1626 01:21:38,015 --> 01:21:40,820 >> Well, sabihin i-pause dito para sa aming tumingin sa computational pag-iisip. 1627 01:21:40,820 --> 01:21:42,320 Bakit hindi kumuha kami ng isang 15 minutong break. 1628 01:21:42,320 --> 01:21:44,130 At kapag bumalik kami, kami bistahan programming 1629 01:21:44,130 --> 01:21:46,550 kanyang sarili at simulan upang i-map ang ilang sa mga mataas na antas concepts 1630 01:21:46,550 --> 01:21:49,780 sa isang aktwal na, kung mapaglaro, programming language. 1631 01:21:49,780 --> 01:21:51,089