1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:01,790 DAVID Маланки: Ласкаво просимо, все. 3 00:00:01,790 --> 00:00:05,030 Так вчора, ви пам'ятаєте, що ми зосередилися на ці теми тут. 4 00:00:05,030 --> 00:00:08,380 Таким чином, ми мали чотири всеосяжні topics-- конфіденційність, безпеку і суспільство; 5 00:00:08,380 --> 00:00:11,960 інтернет-технології; хмарні обчислення; і в кінцевому рахунку, веб-розробки. 6 00:00:11,960 --> 00:00:14,170 >> Хто-небудь є пропускна здатність або час 7 00:00:14,170 --> 00:00:16,900 щоб подивитися трохи Джона Олівер минулої ночі? 8 00:00:16,900 --> 00:00:20,120 Це насправді досить забавно, якщо не трохи лякає. 9 00:00:20,120 --> 00:00:24,700 Будь-які питання по чому ми зробили вчора? 10 00:00:24,700 --> 00:00:27,600 Будь-які роз'яснення? 11 00:00:27,600 --> 00:00:35,580 Будь-які питання, які ви хочете зробити що ми торкнемося сьогодні в тій чи іншій формі? 12 00:00:35,580 --> 00:00:37,300 Так з чистого аркуша. 13 00:00:37,300 --> 00:00:38,760 >> Так що на порядку денному на сьогоднішній день? 14 00:00:38,760 --> 00:00:41,301 Так що я думав, що ми почнемо сьогодні з поглядом на те, що в цілому 15 00:00:41,301 --> 00:00:44,460 відомий як обчислювальної thinking-- в ризик спрощую, мислення 16 00:00:44,460 --> 00:00:46,636 як комп'ютер, може бути, думати, як інженер, 17 00:00:46,636 --> 00:00:48,510 і намагається почати організувати свої думки 18 00:00:48,510 --> 00:00:52,039 або дати вам краще зрозуміти, що залучено в фактично командує 19 00:00:52,039 --> 00:00:54,080 комп'ютер, щоб зробити щось шляхом програмування. 20 00:00:54,080 --> 00:00:56,663 І ми будемо тримати його в досить високий рівень, в значній мірі англійська, 21 00:00:56,663 --> 00:00:59,850 але спробувати використовувати знайомих приклади формалізації, як 22 00:00:59,850 --> 00:01:01,450 ви б йти про вирішення проблем. 23 00:01:01,450 --> 00:01:04,080 >> І ми повернемося трохи CS теми, як абстракції, 24 00:01:04,080 --> 00:01:06,040 який придумав пару Саме вчора, 25 00:01:06,040 --> 00:01:07,554 алгоритми, а потім уявлення. 26 00:01:07,554 --> 00:01:09,720 І ось, коли ми почнемо Сьогодні в мить. 27 00:01:09,720 --> 00:01:11,481 Тоді ми подивимося на програмування. 28 00:01:11,481 --> 00:01:13,480 Ми будемо дивитися на деякі основні конструкції 29 00:01:13,480 --> 00:01:16,450 з якими ви можете бути знайомі і, можливо, навіть знайти цілком інтуїтивно. 30 00:01:16,450 --> 00:01:18,370 >> Ми будемо дивитися, насправді, при програмуванні зразка 31 00:01:18,370 --> 00:01:21,244 середовище, яке дуже доступна, дуже грайлива, і дійсно орієнтовані 32 00:01:21,244 --> 00:01:22,555 для осіб до 12 років і старше. 33 00:01:22,555 --> 00:01:25,930 Ми проведемо кілька хвилин там а потім взяти речі на більш низький рівень 34 00:01:25,930 --> 00:01:30,360 а насправді говорити про деякі алгоритми і структури даних, 35 00:01:30,360 --> 00:01:32,360 так би мовити, що програмісти зазвичай використовують 36 00:01:32,360 --> 00:01:35,040 для вирішення проблем набагато більше ефективно, ніж ви могли б 37 00:01:35,040 --> 00:01:37,322 бути в змозі обійтися без них взагалі. 38 00:01:37,322 --> 00:01:40,280 Потім, після обіду, ми будемо дивитися в технологічних стеків, який тільки 39 00:01:40,280 --> 00:01:42,240 химерний спосіб сказати колекції технологій 40 00:01:42,240 --> 00:01:43,690 що ви могли б використовувати для вирішити деякі проблеми. 41 00:01:43,690 --> 00:01:46,670 І ми будемо говорити про алфавіт суп з мов, які існують раз сьогодні 42 00:01:46,670 --> 00:01:50,930 Java і Python і C ++ і PHP і Рубін і всякі інші речі. 43 00:01:50,930 --> 00:01:53,740 >> Ми будемо дивитися на короткий час в шаблони проектування. 44 00:01:53,740 --> 00:01:57,730 Програмісти, з плином часу, прийнято методології 45 00:01:57,730 --> 00:02:00,690 які, як правило, щоб допомогти їм вирішувати проблеми з більшою готовністю. 46 00:02:00,690 --> 00:02:04,390 Коли ви починаєте бачити себе писати такий же код знову і знову, 47 00:02:04,390 --> 00:02:08,080 люди формалізувати ці повтори і імена приписувати до них 48 00:02:08,080 --> 00:02:10,084 а потім використовувати їх і просувати їх, в кінцевому рахунку. 49 00:02:10,084 --> 00:02:12,250 І ми будемо говорити трохи про мобільних стратегій, 50 00:02:12,250 --> 00:02:16,099 як то, що це означає насправді зробити мобільний додаток або мобільний сайт. 51 00:02:16,099 --> 00:02:17,140 Ви робите це для Android? 52 00:02:17,140 --> 00:02:17,730 Ви робите це для прошивкою? 53 00:02:17,730 --> 00:02:19,160 Ви робите це для обох з них? 54 00:02:19,160 --> 00:02:20,326 А які компроміси? 55 00:02:20,326 --> 00:02:23,180 І, нарешті, ми візьмемо веб-програмування зовнішній вигляд, який 56 00:02:23,180 --> 00:02:25,380 є збірним терміном дійсно описуючи будь-який час 57 00:02:25,380 --> 00:02:28,410 Ви пишете програмне забезпечення, що це призначені для запуску в Інтернеті, 58 00:02:28,410 --> 00:02:30,430 будь то телефони або настільні комп'ютери або ноутбуки. 59 00:02:30,430 --> 00:02:33,490 Ми коротко розглянемо на баз даних і дизайн 60 00:02:33,490 --> 00:02:39,049 в ньому, якщо тільки тому, що практично будь-який цікаво веб-додаток 61 00:02:39,049 --> 00:02:40,590 в ці дні має якийсь бази даних. 62 00:02:40,590 --> 00:02:42,380 В іншому випадку, він би просто статичний контент. 63 00:02:42,380 --> 00:02:45,254 І база даних дозволяє зробити зміни з плином часу, чи то самі 64 00:02:45,254 --> 00:02:45,960 або від користувачів. 65 00:02:45,960 --> 00:02:47,820 І ми розглянемо, як ви буде йти про розробку 66 00:02:47,820 --> 00:02:50,510 що бази даних і свого роду жаргон які можуть виникнути в інженера 67 00:02:50,510 --> 00:02:52,790 обговорення на білій дошці коли насправді реалізації 68 00:02:52,790 --> 00:02:53,900 додаток в перший раз. 69 00:02:53,900 --> 00:02:57,002 >> Ми коротко поговоримо про API, корисні сервіси 70 00:02:57,002 --> 00:02:59,960 що ви можете використовувати, щоб стояти на плечі інших, будь то компанії 71 00:02:59,960 --> 00:03:02,619 або окремих осіб, і вирішити ваші власні проблеми швидше. 72 00:03:02,619 --> 00:03:04,785 І тоді ми будемо борсатися, можливо, трохи з JavaScript, 73 00:03:04,785 --> 00:03:08,900 мова програмування, який використовується як в браузерах в ці дні, а й 74 00:03:08,900 --> 00:03:09,820 в серверах. 75 00:03:09,820 --> 00:03:11,890 І, можливо, ми будемо повернутися, якщо дозволить час, 76 00:03:11,890 --> 00:03:15,670 деякі з рук-на веб-матеріал, який ми зробив вчора і інтегрувати два 77 00:03:15,670 --> 00:03:17,630 разом, перш ніж ми закрию. 78 00:03:17,630 --> 00:03:22,380 >> Так що з that-- що ahead-- є Є що-небудь, що не вистачає вам 79 00:03:22,380 --> 00:03:26,289 хотів би, щоб переконатися, що ми вводимо і торкнутися в деякій точці. 80 00:03:26,289 --> 00:03:28,330 Якщо це спадає на думку, довести його до того довго. 81 00:03:28,330 --> 00:03:32,010 Але чому б нам не почати з дивитися на обчислювальної мислення. 82 00:03:32,010 --> 00:03:35,420 >> І дозвольте мені припустити, що обчислювальна мислення, знову ж таки, 83 00:03:35,420 --> 00:03:38,830 свого роду опису високого рівня який вчений міг би зробити. 84 00:03:38,830 --> 00:03:42,470 І справді, давайте почнемо з трьома компонентами, які 85 00:03:42,470 --> 00:03:44,207 може перейти в обчислювальної мислення. 86 00:03:44,207 --> 00:03:45,790 Це лише один із способів її опису. 87 00:03:45,790 --> 00:03:48,490 Ми могли б, звичайно, визначити це в будь-якому числі шляхів. 88 00:03:48,490 --> 00:03:50,630 >> Але дозвольте мені запропонувати, заради сьогоднішнього дня, 89 00:03:50,630 --> 00:03:53,910 що проблеми в світі, всі проблеми в світі, 90 00:03:53,910 --> 00:03:56,730 коли підійшов вчений міг 91 00:03:56,730 --> 00:04:00,990 можна розглядати як те, що ми будемо викликів входів, які 92 00:04:00,990 --> 00:04:08,142 потрібно набридає в те, що ми будемо називати алгоритми, які потім дають результати. 93 00:04:08,142 --> 00:04:10,600 Іншими словами, все Світ вирішення проблем я вимагаю 94 00:04:10,600 --> 00:04:13,140 можуть бути перероблені в ці три компоненти. 95 00:04:13,140 --> 00:04:14,450 Так що ж я маю на увазі входи? 96 00:04:14,450 --> 00:04:17,060 Входи це тільки те, що ви передав для вирішення. 97 00:04:17,060 --> 00:04:20,052 >> Наприклад, ось стара школа проблема. 98 00:04:20,052 --> 00:04:22,760 Якщо у мене є книга телефону тут і Я хочу подивитися щось в нього, 99 00:04:22,760 --> 00:04:23,760 це мій вхід. 100 00:04:23,760 --> 00:04:26,260 У мене є 1000 або так сторінок в телефонній книзі. 101 00:04:26,260 --> 00:04:27,780 Це вхід до моєї проблеми. 102 00:04:27,780 --> 00:04:31,507 І я хочу, щоб знайти щось як Майк Сміт, так що один 103 00:04:31,507 --> 00:04:33,840 чиє ім'я і номер сподіваюся, в цій адресній книзі. 104 00:04:33,840 --> 00:04:36,430 >> Це до днів клітини телефони, так що я не можу просто шукати. 105 00:04:36,430 --> 00:04:38,540 Так що я повинен зробити це старий школи і насправді пошук 106 00:04:38,540 --> 00:04:41,331 ці входи для якусь відповідь. 107 00:04:41,331 --> 00:04:43,580 І ця відповідь просто буде називатися вихід. 108 00:04:43,580 --> 00:04:44,871 Таким чином, вхід телефонної книги. 109 00:04:44,871 --> 00:04:47,787 Алгоритм будь-який набір кроки я використовую, щоб знайти Майка Сміта. 110 00:04:47,787 --> 00:04:50,120 А вихід, як ми сподіваємося, номер телефону Майка Сміта. 111 00:04:50,120 --> 00:04:52,703 І це тоді було б просто представник більшості будь-якого завдання 112 00:04:52,703 --> 00:04:55,210 щоб з вами вручаються входи і хочуть виробляти виходи. 113 00:04:55,210 --> 00:04:59,459 >> Тому, перш ніж ми розглянемо процес за допомогою якого ми можемо вирішити цю проблему, 114 00:04:59,459 --> 00:05:01,250 знайти Mike Smith і щось схоже, 115 00:05:01,250 --> 00:05:04,090 давайте розглянемо перший і на last-- входи і виходи. 116 00:05:04,090 --> 00:05:08,060 Фізично, звичайно, вхід тут це ціла купа паперу склеєні 117 00:05:08,060 --> 00:05:09,400 у вигляді телефонної книги. 118 00:05:09,400 --> 00:05:13,660 Але комп'ютери, ноутбуки з course-- і настільні комп'ютери і навіть телефони 119 00:05:13,660 --> 00:05:16,430 ці days-- ті електронні пристрої. 120 00:05:16,430 --> 00:05:20,920 >> І в кінці кінців, що єдиний вхід на комп'ютер? 121 00:05:20,920 --> 00:05:23,299 Ну, це щось на зразок цей шнур тут. 122 00:05:23,299 --> 00:05:25,590 Я підключити його до стіни, і Я отримую потік електронів, 123 00:05:25,590 --> 00:05:27,048 який дозволяє запускати машину. 124 00:05:27,048 --> 00:05:30,420 Або, може бути, ці електрони створений шляхом моєї батареї. 125 00:05:30,420 --> 00:05:33,790 Але врешті-решт, це єдине, що відбувається в моєму ноутбуці. 126 00:05:33,790 --> 00:05:35,772 І так багато цікавого матеріал в кінцевому рахунку, 127 00:05:35,772 --> 00:05:37,480 виходить, будь то за допомогою принтера 128 00:05:37,480 --> 00:05:40,320 або екран або audially чи щось таке. 129 00:05:40,320 --> 00:05:45,320 >> Так що, якщо все, що ми маємо, як наші фундаментальний введення в комп'ютер 130 00:05:45,320 --> 00:05:49,160 електрику, так що просто електрони збираються в і чи поза, 131 00:05:49,160 --> 00:05:54,465 і так як ми можемо використовувати цей вхід насправді представляють інформацію? 132 00:05:54,465 --> 00:05:57,090 Іншими словами, як ми отримуємо від простого потоку електрики 133 00:05:57,090 --> 00:06:00,350 до подання фактичної цифри або букви, фактичні 134 00:06:00,350 --> 00:06:03,620 або фактичні зображення на екрані або фактичні фільми або по електронній пошті 135 00:06:03,620 --> 00:06:05,690 або будь-яку кількість з них вищі поняття рівня, 136 00:06:05,690 --> 00:06:07,680 якщо ви будете, що на кінець дня якось 137 00:06:07,680 --> 00:06:11,950 повинні зберігатися в цьому електронне механічний пристрій 138 00:06:11,950 --> 00:06:16,260 використовуючи тільки ті прості ingredients-- електрони надходять і поза домом? 139 00:06:16,260 --> 00:06:19,530 >> Так що, здавалося б, що, в простій формі, 140 00:06:19,530 --> 00:06:23,260 єдиний вид держав У мене є в моєму світі, тому 141 00:06:23,260 --> 00:06:25,350 щоб speak-- умови в моєму world-- або 142 00:06:25,350 --> 00:06:33,020 У мене є електрони тече, електрика тече, або я роблю не-- так далі, оф. 143 00:06:33,020 --> 00:06:35,850 І давайте формалізувати і вимикатися, як вчений міг би, 144 00:06:35,850 --> 00:06:37,255 тільки з 1 і 0. 145 00:06:37,255 --> 00:06:39,880 Давайте просто описати деякі довільні але відповідно до нього номер. 146 00:06:39,880 --> 00:06:41,970 1 означає, що на 0 означає вимикання. 147 00:06:41,970 --> 00:06:45,427 Або ви могли б також розглядати це як справжні гроші на помилкові і засоби. 148 00:06:45,427 --> 00:06:47,510 Ви також можете зробити чорний і білого або червоного і синього кольорів. 149 00:06:47,510 --> 00:06:48,759 Вам просто потрібно два дескриптора. 150 00:06:48,759 --> 00:06:52,240 І комп'ютер б вчені як правило, просто використовувати 0 і 1. 151 00:06:52,240 --> 00:06:58,980 >> Так що, якщо це так, мій єдиний алфавіт є що складається з 0 і 1, то як 152 00:06:58,980 --> 00:07:03,360 я міг дістатися до навіть число 2 в комп'ютері, не кажучи вже номер 3 153 00:07:03,360 --> 00:07:06,140 або буква алфавіту або зображення або фільм? 154 00:07:06,140 --> 00:07:08,910 Як ми свого роду початкове завантаження ми самі від цього основного принципу 155 00:07:08,910 --> 00:07:12,080 від 0 і 1 і фактично являють собою щось більш цікаве? 156 00:07:12,080 --> 00:07:14,430 >> Що ж, давайте поставимо це питання на утримання на мить 157 00:07:14,430 --> 00:07:17,520 і розглянути щось сподіваюся, знайомі, 158 00:07:17,520 --> 00:07:21,150 навіть якщо ви насправді не думав про вона в деталях 10, 20, 30, 40, 50 159 00:07:21,150 --> 00:07:22,520 більше років. 160 00:07:22,520 --> 00:07:24,780 Це те, що? 161 00:07:24,780 --> 00:07:28,050 Як би ви вимовляєте це? 162 00:07:28,050 --> 00:07:30,770 Чи не хитре питання. 163 00:07:30,770 --> 00:07:32,950 Ряд, але що це таке? 164 00:07:32,950 --> 00:07:34,842 1, 2, 3, або 123. 165 00:07:34,842 --> 00:07:37,800 І мені сподобалося, як ви сказали, 1, 2, 3, тому що це один із способів його перегляду. 166 00:07:37,800 --> 00:07:39,870 1, 2, 3, це послідовність з трьох символів. 167 00:07:39,870 --> 00:07:42,005 Це картини, які ми тепер є слова для. 168 00:07:42,005 --> 00:07:44,880 І якщо ви як би прочитати їх всі разом, типова людина англійською мовою 169 00:07:44,880 --> 00:07:46,600 сказав би 123. 170 00:07:46,600 --> 00:07:48,350 І це свого роду вище концепції рівня, 171 00:07:48,350 --> 00:07:50,340 відчуває себе досить велику кількість. 172 00:07:50,340 --> 00:07:51,490 >> Але як же ми туди потрапимо? 173 00:07:51,490 --> 00:07:54,640 Ну, це може бути час, так як Ви думали про це, як це, 174 00:07:54,640 --> 00:07:56,680 але ще в мій день, я вид дізнався про це 175 00:07:56,680 --> 00:08:01,030 як колони 1-х, 10-х стовпець і 100 Колонка. 176 00:08:01,030 --> 00:08:06,400 Так як каже Lakisa, це 1, 2, 3, але це також 123. 177 00:08:06,400 --> 00:08:08,700 Але як же ми отримуємо з колишній до останнього? 178 00:08:08,700 --> 00:08:12,340 >> Ну, ви, як правило, роблять в 100 Колонка, у мене є 1. 179 00:08:12,340 --> 00:08:14,794 Так що це, як кажуть в 100 разів 1. 180 00:08:14,794 --> 00:08:16,210 А потім в колонці 10, я є 2. 181 00:08:16,210 --> 00:08:18,464 Так що це, як кажуть в 10 разів 2. 182 00:08:18,464 --> 00:08:19,630 У колонці 1, я є 3. 183 00:08:19,630 --> 00:08:21,720 Так що це, як кажуть 1 раз 3. 184 00:08:21,720 --> 00:08:24,290 >> І якщо я додам ці речі разом, це, звичайно ж, 185 00:08:24,290 --> 00:08:27,470 100 плюс 10 плюс 3. 186 00:08:27,470 --> 00:08:31,750 І о, ось чому я отримую це вищий рівень поняття 123. 187 00:08:31,750 --> 00:08:37,220 Це тільки основні математики, в результаті чого ці символи мають вагові коефіцієнти до них, якщо ви 188 00:08:37,220 --> 00:08:39,620 буде, або заповнювач значення стовпців. 189 00:08:39,620 --> 00:08:42,090 І як тільки я множити все , Я отримати цей номер. 190 00:08:42,090 --> 00:08:47,840 >> Так як багато хто з вас знають, як говорити binary-- 0 і 1's-- як комп'ютер? 191 00:08:47,840 --> 00:08:50,410 Добре, вчинене, жоден, або ніхто з вас не думаю, що ви робите. 192 00:08:50,410 --> 00:08:52,550 Але я б стверджувати вас насправді це вже знаєте. 193 00:08:52,550 --> 00:08:55,330 Нам просто потрібно налаштувати вигляд наша ментальна модель трохи. 194 00:08:55,330 --> 00:08:57,250 Але процес точно такий же. 195 00:08:57,250 --> 00:09:01,460 >> Дозвольте мені залишити цей там і замість того, щоб тягнути це вниз на мить. 196 00:09:01,460 --> 00:09:05,060 У світі комп'ютерів, у нас є тільки 0 і 1-х. 197 00:09:05,060 --> 00:09:07,240 І ось річ, яка збирається змінити те, що? 198 00:09:07,240 --> 00:09:10,920 Ну, в моєму людському світі, десяткова система, Грудні значення 10, 199 00:09:10,920 --> 00:09:12,740 У мене є, скільки цифр в моєму розпорядженні? 200 00:09:12,740 --> 00:09:15,270 201 00:09:15,270 --> 00:09:16,540 10, чи не так? 202 00:09:16,540 --> 00:09:17,880 Від 0 до 9, звичайно. 203 00:09:17,880 --> 00:09:21,210 >> І саме тому ми маємо 10 в вказане місце і 100 в вказане місце. 204 00:09:21,210 --> 00:09:22,380 Де це приходить? 205 00:09:22,380 --> 00:09:24,430 Що ж, це 10 до сили 0. 206 00:09:24,430 --> 00:09:28,440 Це 10 до сили 1, 10 до влади 2, і так далі. 207 00:09:28,440 --> 00:09:32,110 Ви просто тримати множачи стовпці на 10, починаючи з тільки 1 208 00:09:32,110 --> 00:09:33,700 в крайньому правому один тут. 209 00:09:33,700 --> 00:09:35,490 >> Так що в світі комп'ютери, якщо ви тільки 210 00:09:35,490 --> 00:09:39,600 мають binary-- бі значення 2-- або 0 і 1, ми просто 211 00:09:39,600 --> 00:09:42,420 дійсно потрібно змінити підставу цієї математики. 212 00:09:42,420 --> 00:09:46,410 Отже, іншими словами, тепер ми просто є 1 в колонку і the-- 213 00:09:46,410 --> 00:09:51,270 де цей going-- стовпець 2, в стовпець 4, і, можливо, за його межами. 214 00:09:51,270 --> 00:09:52,250 Чому так? 215 00:09:52,250 --> 00:09:55,650 Ну, це 2 0-го ступеня. 216 00:09:55,650 --> 00:09:57,270 Це 2 1. 217 00:09:57,270 --> 00:09:59,610 Це 2 до 2, і так далі. 218 00:09:59,610 --> 00:10:04,910 >> Таким чином, в той час як тут, у нас є 1, 10-х, 100, 1000-х, 10 000-х, 100 000, в 1 219 00:10:04,910 --> 00:10:10,560 мільйони, і так далі, тут у нас є 1, 2, 4, 8, 16, 32, 64. 220 00:10:10,560 --> 00:10:13,950 Ви просто тримати множення на 2, замість того, щоб тримати множення на 10. 221 00:10:13,950 --> 00:10:16,780 Так що тепер, якщо мета в рука, щоб представити 222 00:10:16,780 --> 00:10:20,240 числа, використовуючи тільки 0 і 1-х, давайте розглянемо, як ми отримуємо там. 223 00:10:20,240 --> 00:10:26,540 >> Це, звичайно ж, є зразком 0 0 0, але яке число концептуально 224 00:10:26,540 --> 00:10:27,490 вона представляє? 225 00:10:27,490 --> 00:10:35,430 Ну, в 4 рази 0 плюс 2 рази 0 плюс 1 раз 0, давайте додамо їх разом. 226 00:10:35,430 --> 00:10:40,030 4 рази 0, звичайно ж, 0, плюс 2 раз 0, звичайно, 0 плюс 1 раз 0 227 00:10:40,030 --> 00:10:40,850 це, звичайно, 0. 228 00:10:40,850 --> 00:10:44,910 Таким чином, ах, це являє число, яке ми знаємо, люди як 0. 229 00:10:44,910 --> 00:10:47,810 >> Ну, а тепер, давайте дуже швидко швидко вперед. 230 00:10:47,810 --> 00:10:53,600 Якщо я замість того, щоб не уявляючи 0 0 0, але давайте зробимо 1 0 1, 231 00:10:53,600 --> 00:10:57,010 які можуть бути як Lakisa, раніше, просто вимовити його 1 0 1. 232 00:10:57,010 --> 00:11:01,020 Але тепер, як же ми візьмемо його до вищого рівень числа ми, люди могли б знати? 233 00:11:01,020 --> 00:11:04,220 Так що ж це число? 234 00:11:04,220 --> 00:11:06,060 Це 5, число, яке ми знаємо як 5. 235 00:11:06,060 --> 00:11:06,870 >> Ну, чому? 236 00:11:06,870 --> 00:11:09,620 Ну, ми можемо насправді свого роду пройти через нього методично 237 00:11:09,620 --> 00:11:14,880 4 рази 1, 2 рази 0, 1 раз 1. 238 00:11:14,880 --> 00:11:19,880 Додайте їх разом, так це 4 плюс 0 плюс 1. 239 00:11:19,880 --> 00:11:21,577 І це, насправді, 5. 240 00:11:21,577 --> 00:11:24,660 Таким чином, це стає трохи утомливих прямо зараз робить арифметику знову і знову. 241 00:11:24,660 --> 00:11:26,300 Але процес точно такий же. 242 00:11:26,300 --> 00:11:28,380 >> Єдине, що має змінилося в нашому світі 243 00:11:28,380 --> 00:11:32,740 в тому, що наші стовпці 1, 2, 4, 8, 16, і так далі, а не 1, 10, 100, 244 00:11:32,740 --> 00:11:33,740 1000. 245 00:11:33,740 --> 00:11:40,000 І це тільки тому, що наш алфавіт має скоротилася від 0 до 9 тільки від 0 до 1. 246 00:11:40,000 --> 00:11:50,851 >> Так як трохи вікторини тут, як би ви уявляєте число 7 в двійковій системі? 247 00:11:50,851 --> 00:11:51,350 0? 248 00:11:51,350 --> 00:11:53,490 Ну, 0, ви маєте на увазі 0 0 0? 249 00:11:53,490 --> 00:11:58,140 250 00:11:58,140 --> 00:11:59,693 Скажи це ще раз, Карина. 251 00:11:59,693 --> 00:12:03,010 252 00:12:03,010 --> 00:12:03,550 Відмінно. 253 00:12:03,550 --> 00:12:04,370 Чому так? 254 00:12:04,370 --> 00:12:08,530 Це ефективно 4 плюс 2 плюс 1. 255 00:12:08,530 --> 00:12:09,580 Так добре. 256 00:12:09,580 --> 00:12:14,364 >> Як ми представляємо трохи another-- як щодо числа 2? 257 00:12:14,364 --> 00:12:18,360 258 00:12:18,360 --> 00:12:20,690 Близько, але в зворотному напрямку. 259 00:12:20,690 --> 00:12:21,660 Так що ж це? 260 00:12:21,660 --> 00:12:26,290 Є 4 плюс 1, так що це 5 разів. 261 00:12:26,290 --> 00:12:28,310 >> Так what's-- мені дуже шкода, Карина? 262 00:12:28,310 --> 00:12:29,220 0 1 0. 263 00:12:29,220 --> 00:12:34,762 0 1 0 буде 2, тому що ще раз, навіть якщо він начебто не вискочити на тебе, 264 00:12:34,762 --> 00:12:35,470 просто робити математику. 265 00:12:35,470 --> 00:12:40,390 4 рази 0, 0, 2 рази 1, 2, 1 раз 0 0. 266 00:12:40,390 --> 00:12:42,830 Так що це число, яке ми знаємо як 2. 267 00:12:42,830 --> 00:12:44,030 >> Як щодо числа 8? 268 00:12:44,030 --> 00:12:51,240 269 00:12:51,240 --> 00:12:52,730 Хм? 270 00:12:52,730 --> 00:12:53,330 Добре. 271 00:12:53,330 --> 00:12:56,130 Таким чином, ми якось потрібен інший заповнювач. 272 00:12:56,130 --> 00:12:59,570 Нам необхідно 1 0 0 0. 273 00:12:59,570 --> 00:13:02,280 І це правда нашого роду старої системи шкільного десяткової. 274 00:13:02,280 --> 00:13:05,280 Як ви уявляєте числа 1000? 275 00:13:05,280 --> 00:13:08,480 >> Ну, ви, здавалося б, вид в скрутному становищі, 276 00:13:08,480 --> 00:13:10,390 якщо попросити вас представити числа 1000, 277 00:13:10,390 --> 00:13:14,960 тому що навіть якщо ви даєте собі, як 9 з них, 9 з них, 0 з них, 278 00:13:14,960 --> 00:13:18,730 який є найбільшим число, яке ви Тобто, ви не зовсім дістатися до 1000 чоловік. 279 00:13:18,730 --> 00:13:26,920 Так що якщо у вас тисячі, вам просто потрібно інше становище, так що ви можете зробити 1 0 0 0, 280 00:13:26,920 --> 00:13:29,460 ерго номер 1000. 281 00:13:29,460 --> 00:13:34,200 >> Так що тепер, давайте карту такого роду концептуальне обговорення назад в апаратних засобах, 282 00:13:34,200 --> 00:13:37,470 де знову ж, вхід був просто цей маленький кабель живлення, електрику 283 00:13:37,470 --> 00:13:39,300 входячи і витікання. 284 00:13:39,300 --> 00:13:44,740 І так, що буде відображатися тут щоб там, ну, що нам дійсно потрібно? 285 00:13:44,740 --> 00:13:49,460 Ну, ви можете думати, щоб бути всередині з комп'ютер, ціла купа лампочок, 286 00:13:49,460 --> 00:13:50,450 якщо ви будете. 287 00:13:50,450 --> 00:13:52,040 Вони насправді називається транзисторів. 288 00:13:52,040 --> 00:13:55,121 І транзистори тільки перемикачі який може або бути включена або виключена. 289 00:13:55,121 --> 00:13:56,870 Таким чином, ви можете думати про транзистор, який знаходиться на 290 00:13:56,870 --> 00:14:00,730 це дозволяє електрику текти і транзистор, що виключений як зупинка 291 00:14:00,730 --> 00:14:02,170 електрику від витікання. 292 00:14:02,170 --> 00:14:04,130 І замість того, щоб за вогні тут, 293 00:14:04,130 --> 00:14:06,450 чому я не робити такого роду нового стилю школи. 294 00:14:06,450 --> 00:14:11,360 Так що це може бути 1, ліхтарик будучи на, тільки чуть-чуть, хоча. 295 00:14:11,360 --> 00:14:14,050 І це може бути 0, і тепер він вимкнений. 296 00:14:14,050 --> 00:14:18,277 >> Таким чином, використовуючи це фізичний пристрій, я тепер може представляти двійкову систему. 297 00:14:18,277 --> 00:14:19,235 Мені просто потрібно два стану. 298 00:14:19,235 --> 00:14:21,660 Не має значення, що колір це або що це таке. 299 00:14:21,660 --> 00:14:25,920 Все, що має значення в тому, що у мене є одна держава, і інший стан вимкнено. 300 00:14:25,920 --> 00:14:30,605 Таким чином, використовуючи свій телефон тут, як я можу являють собою число, ми знаємо як 0? 301 00:14:30,605 --> 00:14:34,490 302 00:14:34,490 --> 00:14:38,550 Або, що те ж саме, то, що номер я тепер представляє? 303 00:14:38,550 --> 00:14:39,810 0, так як пристрій вимкнений. 304 00:14:39,810 --> 00:14:41,560 >> І якщо я це зробити? 305 00:14:41,560 --> 00:14:43,583 А тепер, як я можу представляють номер 2? 306 00:14:43,583 --> 00:14:46,380 307 00:14:46,380 --> 00:14:50,930 Чи можу я взяти свій телефон тут, як ми це робили вчора? 308 00:14:50,930 --> 00:14:58,490 Отже, давайте подивимося, так що якщо я хочу, щоб представити номер 2, це число 2? 309 00:14:58,490 --> 00:14:59,050 Немає. 310 00:14:59,050 --> 00:15:02,250 Який номер я я випадково представляє тут? 311 00:15:02,250 --> 00:15:03,550 Це насправді число 3. 312 00:15:03,550 --> 00:15:05,008 >> То який з них я хочу, щоб відключити? 313 00:15:05,008 --> 00:15:09,634 Чорний телефон ілі-- добре, якщо they're-- чорний телефон або білий телефон? 314 00:15:09,634 --> 00:15:10,300 Білий телефон. 315 00:15:10,300 --> 00:15:17,020 Так що якщо я повернути це і ми лінія його тут, у нас є 1 316 00:15:17,020 --> 00:15:19,487 в 2 свого місця і а 0 замість 1 ст. 317 00:15:19,487 --> 00:15:21,195 І ось тепер я представляє число 2. 318 00:15:21,195 --> 00:15:24,680 І це, звичайно, було б число 3, тому що тепер обидва цих вогнів 319 00:15:24,680 --> 00:15:25,350 включені. 320 00:15:25,350 --> 00:15:27,480 >> І я буду тут зупинятися, але само собою зрозуміло, 321 00:15:27,480 --> 00:15:31,100 якщо я хочу, щоб представляти номер 4 або 8 або вище, 322 00:15:31,100 --> 00:15:32,529 Я буду потребувати більше телефонів. 323 00:15:32,529 --> 00:15:33,820 Але це все, що відбувається. 324 00:15:33,820 --> 00:15:37,800 Так що якщо ви коли-небудь чули, що всередині a-- подякувати you-- комп'ютер 325 00:15:37,800 --> 00:15:42,269 мільйони транзисторів, це тільки мільйони крихітних перемикачів. 326 00:15:42,269 --> 00:15:44,310 І вони не горять лампочки, які запалюються і гаснуть, 327 00:15:44,310 --> 00:15:48,340 але вони або дозволяють електрику текти кудись або зупинити його. 328 00:15:48,340 --> 00:15:52,140 І таким чином, є ваші два states-- включення або виключення, включення або виключення. 329 00:15:52,140 --> 00:15:55,730 >> Таким чином, ми б, здається, в даний час щоб мати цю здатність 330 00:15:55,730 --> 00:16:00,590 щоб представити цю концепцію, ми хотіли б в реальному обладнанні. 331 00:16:00,590 --> 00:16:05,520 Але все, що ми маємо тепер можливість для представлення чисел, здавалося б. 332 00:16:05,520 --> 00:16:08,580 Так як же нам йти про представляють літери алфавіту, які 333 00:16:08,580 --> 00:16:12,310 відчуває себе подібно наступного роду функції ви хотів би додати до сучасного комп'ютера 334 00:16:12,310 --> 00:16:14,280 коли у вас є номери? 335 00:16:14,280 --> 00:16:16,930 >> І справді, якщо ви думаєте про це, історично, комп'ютери 336 00:16:16,930 --> 00:16:19,426 були введені дійсно служити калькуляторів чисельно. 337 00:16:19,426 --> 00:16:21,300 Але, звичайно, ці днів, вони роблять набагато більше. 338 00:16:21,300 --> 00:16:23,799 Навіть коли вони завантажуються, ви зазвичай бачимо одне або кілька слів. 339 00:16:23,799 --> 00:16:27,420 Так як же ви уявляєте слова, якщо все у вас є, знову ж таки, 340 00:16:27,420 --> 00:16:31,054 електрику в кінці день, або, що еквівалентно 0 і 1.? 341 00:16:31,054 --> 00:16:34,430 342 00:16:34,430 --> 00:16:35,690 >> Так. 343 00:16:35,690 --> 00:16:38,320 Так, я маю на увазі, ми якось зробили це вчора в тій чи іншій формі, 344 00:16:38,320 --> 00:16:40,200 де в якийсь момент, Я думаю, що завгодно 345 00:16:40,200 --> 00:16:46,741 каже, що, якщо ми хочемо, щоб представляти буква А, ми могли б просто назвати це 1. 346 00:16:46,741 --> 00:16:49,990 Саме в контексті криптографію, де ми просто потрібен якийсь код, 347 00:16:49,990 --> 00:16:51,160 свого роду відображення. 348 00:16:51,160 --> 00:16:56,680 >> Так що, може бути, буде представлена ​​у вигляді 1, і B буде представлений у вигляді 2, 349 00:16:56,680 --> 00:17:01,560 і Z будуть представлені як 26, наприклад. 350 00:17:01,560 --> 00:17:07,430 І тоді єдиний нюанс в тому, що якщо я кодуватиме букви в моєї електронної пошти 351 00:17:07,430 --> 00:17:10,430 або в моїх текстових повідомлень як числа, ви все 352 00:17:10,430 --> 00:17:12,640 повинні погодитися використовувати той же набір конвенцій. 353 00:17:12,640 --> 00:17:14,619 І справді, світ зробив саме це. 354 00:17:14,619 --> 00:17:18,040 >> Існує система в світі називається ASCII, американський стандарт 355 00:17:18,040 --> 00:17:21,640 Код для обміну інформацією, який є просто рішення кілька років 356 00:17:21,640 --> 00:17:25,720 тому, що люди зробили, що вирішив, що буде дорівнювати, а не 357 00:17:25,720 --> 00:17:32,260 1, 2, і 26, і таким чином forth-- це трохи different-- але 65, 66, 67. 358 00:17:32,260 --> 00:17:34,010 І я буду тягнути вгору діаграма в мить. 359 00:17:34,010 --> 00:17:34,580 Але це довільно. 360 00:17:34,580 --> 00:17:36,329 Але це не має значення що це довільно. 361 00:17:36,329 --> 00:17:38,620 Світ повинен просто бути послідовним. 362 00:17:38,620 --> 00:17:40,540 >> Тепер, зовсім недавно, є щось любитель 363 00:17:40,540 --> 00:17:45,430 називається Unicode, так як-то в світі реалізованого, після винаходу комп'ютерів, 364 00:17:45,430 --> 00:17:50,977 що є більше, ніж добре 256 символів в світі 365 00:17:50,977 --> 00:17:53,560 що ми могли б уявити, особливо, коли ви приведете 366 00:17:53,560 --> 00:17:58,420 Азіатських мов і інших символік що потрібно більше виразності, ніж ви 367 00:17:58,420 --> 00:18:02,150 може поміститися в самій ранній версії цей код, який називається ASCII. 368 00:18:02,150 --> 00:18:05,250 Так що фактично дозволяє Unicode використовувати більш 0 і 2. 369 00:18:05,250 --> 00:18:08,830 Зокрема, ви тримаєте почувши слово байт в суспільстві і навіть просто 370 00:18:08,830 --> 00:18:09,400 вчора. 371 00:18:09,400 --> 00:18:12,040 І байт, що знову? 372 00:18:12,040 --> 00:18:14,840 >> Що таке байт? 373 00:18:14,840 --> 00:18:15,700 Це всього 8 біт. 374 00:18:15,700 --> 00:18:17,150 Так що ж це насправді означає? 375 00:18:17,150 --> 00:18:22,400 Ну, це означає, що раніше, коли ми були говорити про бінарних і я використовую 376 00:18:22,400 --> 00:18:28,010 довільно три біта, коли ми були говорити про binary-- місці 1, в 377 00:18:28,010 --> 00:18:33,600 в 2 вказане місце, і 4-х place-- добре, байт просто означає, що ви говорите 378 00:18:33,600 --> 00:18:38,730 не в одиницях три, але чотири, п'ять, шість, сім вісім, 379 00:18:38,730 --> 00:18:46,910 що дає нам місце 8, в 16-х, 32-х, 64-х і 128-х. 380 00:18:46,910 --> 00:18:50,010 >> Іншими словами, трохи не всі що корисна одиниця виміру, 381 00:18:50,010 --> 00:18:53,132 тому що це просто як одна крихітна частина інформації, увімкнене. 382 00:18:53,132 --> 00:18:54,840 Так кілька років тому, світ просто вирішив 383 00:18:54,840 --> 00:18:59,060 це трохи зручніше говорити умови байтів, вісім речей одночасно. 384 00:18:59,060 --> 00:19:01,670 І ось таким чином, був народжений поняття байта. 385 00:19:01,670 --> 00:19:03,640 І тому у нас є вісім біт тут. 386 00:19:03,640 --> 00:19:06,810 >> І виявляється, теж, подібне причини, світ вирішив років 387 00:19:06,810 --> 00:19:12,439 тому, що для подання ASCII літери, ви збираєтеся використовувати блоки з 8 бітів. 388 00:19:12,439 --> 00:19:14,230 Так що навіть якщо ви цього не зробите потрібно, що багато, ви 389 00:19:14,230 --> 00:19:18,130 завжди буде використовувати 8 біт являють собою літери алфавіту. 390 00:19:18,130 --> 00:19:20,950 І це зручно, тому що тоді, якщо вам 391 00:19:20,950 --> 00:19:28,720 отримати повідомлення, яке має 0 0 0 1 1 1 1 0, потім ще 1 1 1 0 1 0 392 00:19:28,720 --> 00:19:33,320 0 1, так що якщо ви отримуєте 16 біти, світ може просто 393 00:19:33,320 --> 00:19:37,460 Припустимо, що перші 8 є однією буквою а другий 8 представляють собою ще один лист. 394 00:19:37,460 --> 00:19:39,240 >> Не має значення, скільки є. 395 00:19:39,240 --> 00:19:41,460 Це просто важливо, що ми все послідовне 396 00:19:41,460 --> 00:19:42,950 коли ми інтерпретувати ці біти. 397 00:19:42,950 --> 00:19:44,377 І це було просто випадковим чином. 398 00:19:44,377 --> 00:19:47,210 Це означає, що щось, але я не зробив дійсно думати про те, що це означає. 399 00:19:47,210 --> 00:19:49,620 >> Так що це маленька біла брехня. 400 00:19:49,620 --> 00:19:51,990 Спочатку, ASCII фактично використовується тільки 7 біт. 401 00:19:51,990 --> 00:19:54,180 І восьмий біт називається розширеною ASCII. 402 00:19:54,180 --> 00:19:56,290 Але справа в тому, в кінці кінців, те ж саме. 403 00:19:56,290 --> 00:19:58,850 Світ в цілому стандартизований по 8 біт. 404 00:19:58,850 --> 00:20:04,290 >> Так що це, здавалося б трохи обмеження, тому що я можу тільки 405 00:20:04,290 --> 00:20:07,970 являють собою капітал A, капітал B через капіталу Z. 406 00:20:07,970 --> 00:20:10,940 Але насправді немає, якщо я йду, метою яких є купа ресурсів 407 00:20:10,940 --> 00:20:13,695 в Інтернеті, наприклад, asciitable.com, це 408 00:20:13,695 --> 00:20:16,310 буде трохи переважною спочатку. 409 00:20:16,310 --> 00:20:18,910 Але я вкажу то, що тут важливо. 410 00:20:18,910 --> 00:20:24,090 >> Це як раз трапляється be-- і я буду walk-- давайте подивимося, якщо я піду сюди. 411 00:20:24,090 --> 00:20:27,990 Тут, в десятковій системі стовпець, число 65. 412 00:20:27,990 --> 00:20:32,201 А на колонці з буквою правої руки характер, Chr, це буква А. 413 00:20:32,201 --> 00:20:34,450 І ви можете ігнорувати, на даний момент, все в середині. 414 00:20:34,450 --> 00:20:36,769 Це шістнадцяткове, восьмеричної, і HTML-код. 415 00:20:36,769 --> 00:20:39,810 Для того, щоб цей сайт просто намагається кинути багато інформації на вас відразу. 416 00:20:39,810 --> 00:20:42,970 Але все, що ми дбаємо про десяткове стовпець і стовпець символів. 417 00:20:42,970 --> 00:20:46,190 >> Таким чином, за цією логікою, то, що число, що світ 418 00:20:46,190 --> 00:20:50,510 вирішив представляє рядкової варто? 419 00:20:50,510 --> 00:20:52,230 Так, 97. 420 00:20:52,230 --> 00:20:55,850 І тільки заплутати потенційно чуть-чуть, 421 00:20:55,850 --> 00:21:03,715 яке число в світі вирішив представлятиме номер 1? 422 00:21:03,715 --> 00:21:06,900 423 00:21:06,900 --> 00:21:10,910 Правильно, тому що we-- 49, здається, тут, вниз в лівому нижньому кутку. 424 00:21:10,910 --> 00:21:12,320 >> Тепер, що я маю на увазі під цим? 425 00:21:12,320 --> 00:21:14,830 Так виходить, що в комп'ютерних системах, 426 00:21:14,830 --> 00:21:16,840 є взагалі принципова відмінність 427 00:21:16,840 --> 00:21:19,920 між числом і характером. 428 00:21:19,920 --> 00:21:22,330 Ряд є те, що ми дізнався, коли зростають 429 00:21:22,330 --> 00:21:23,830 ми були супер молодих в початковій школі. 430 00:21:23,830 --> 00:21:25,110 Це речі, які ви порахувати. 431 00:21:25,110 --> 00:21:30,220 Але персонаж просто форма, гліф, так би мовити, на екрані. 432 00:21:30,220 --> 00:21:36,200 >> Тепер ми, люди роду см то, що виглядає в такий спосіб. 433 00:21:36,200 --> 00:21:39,060 І ми говоримо, про, тобто число 2. 434 00:21:39,060 --> 00:21:44,999 Але ні, це просто символ, який виглядає як то, що ми знаємо, як число 2. 435 00:21:44,999 --> 00:21:46,790 І ось там це фундаментальна відмінність 436 00:21:46,790 --> 00:21:50,340 між фактичними цифрами і символами. 437 00:21:50,340 --> 00:21:52,130 Це число. 438 00:21:52,130 --> 00:21:54,420 Але, як правило, в Контекст комп'ютера, 439 00:21:54,420 --> 00:21:56,809 якщо ви замість того, щоб побачити щось на зразок цього quoted-- 440 00:21:56,809 --> 00:21:58,600 і ви не завжди повинні побачити це в лапки, 441 00:21:58,600 --> 00:22:01,474 але заради discussion-- якщо ви бачите лапки навколо числа, 442 00:22:01,474 --> 00:22:02,730 це тепер персонаж. 443 00:22:02,730 --> 00:22:06,330 Так що це номер 2 під капот всередині комп'ютера 444 00:22:06,330 --> 00:22:12,220 буде представлений з малюнком бітів, які представляють число 445 00:22:12,220 --> 00:22:14,850 50 відповідно до таблиці онлайн. 446 00:22:14,850 --> 00:22:18,300 >> Однак, якщо комп'ютер просто бачить це, це 447 00:22:18,300 --> 00:22:24,580 буде представлена ​​з зразок біт 0 0 0 0 0 0 1 0. 448 00:22:24,580 --> 00:22:29,595 У той час як цей персонаж буде насправді бути представлена ​​as-- і тепер, 449 00:22:29,595 --> 00:22:34,710 Я повинен думати трохи harder-- так що це символ буде представлений з 0 450 00:22:34,710 --> 00:22:39,080 0 1-- що мені потрібно тут? 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 Як мені це зробити? 453 00:22:45,480 --> 00:22:49,580 Ну це число 50, якщо ви множать його за допомогою цих стовпців, 454 00:22:49,580 --> 00:22:53,530 це номер 2, і т.д. ось чому існує ця дихотомія. 455 00:22:53,530 --> 00:22:55,850 >> І це просто тизер тепер для функцій 456 00:22:55,850 --> 00:22:59,710 які існують в мовах програмування що ми торкнемося коротко пізніше сьогодні. 457 00:22:59,710 --> 00:23:01,950 У мовах програмування, у вас є, як правило, 458 00:23:01,950 --> 00:23:04,495 але не завжди, речі викликати різні типи даних. 459 00:23:04,495 --> 00:23:06,870 Іншими словами, programmer-- коли він або вона пише, 460 00:23:06,870 --> 00:23:11,150 програміст вирішує, в якому формат для зберігання своїх даних. 461 00:23:11,150 --> 00:23:14,120 Ви можете або зберігати дані як сирі номера, такі як номер 2. 462 00:23:14,120 --> 00:23:17,940 Або ви можете зберігати їх у вигляді рядків, або послідовності символів 463 00:23:17,940 --> 00:23:21,550 що ви, як правило, висловлюють з котирування на вашій мові програмування. 464 00:23:21,550 --> 00:23:25,230 >> Ви можете мати речі called-- Я буду спрощувати і називати їх 465 00:23:25,230 --> 00:23:28,870 реальний numbers-- так чисел, не є цілими числами, як номер 2, 466 00:23:28,870 --> 00:23:31,310 але номера, як 4.56. 467 00:23:31,310 --> 00:23:33,490 Так що реальні цифри можуть також мають десяткового дробу, 468 00:23:33,490 --> 00:23:36,340 так що це інша фундаментальна частина даних в комп'ютері. 469 00:23:36,340 --> 00:23:41,920 І тоді ви можете навіть інші типи даних як і раніше. 470 00:23:41,920 --> 00:23:45,810 Так що це просто тизер дійсно з найпростіший проектних рішень 471 00:23:45,810 --> 00:23:50,960 що програміст може зробити під капотом. 472 00:23:50,960 --> 00:23:52,925 >> Так що будь-які питання, тільки поки що? 473 00:23:52,925 --> 00:23:57,320 474 00:23:57,320 --> 00:23:59,860 Так давайте спробуємо зробити це трохи більш реальним. 475 00:23:59,860 --> 00:24:02,120 Це устаткування не так багато в використанні більше. 476 00:24:02,120 --> 00:24:07,420 Але більшість все в цій кімнаті, ймовірно, виріс з і до сих пір використовує жорсткі диски 477 00:24:07,420 --> 00:24:08,010 якимось чином. 478 00:24:08,010 --> 00:24:10,100 >> Хоча більшість з більше не наші ноутбуки 479 00:24:10,100 --> 00:24:15,900 є пристрої, які працюють, як це, замість ноутбуків сьогодні в цілому 480 00:24:15,900 --> 00:24:18,590 мають твердотільні накопичувачі без будь-яких рухомих частин. 481 00:24:18,590 --> 00:24:22,840 І це, як правило, дорожче, на жаль, але трохи швидше 482 00:24:22,840 --> 00:24:27,230 і a-- добре, часто, набагато швидше, яка є однією з причин. 483 00:24:27,230 --> 00:24:28,980 А також не генерувати стільки ж тепла. 484 00:24:28,980 --> 00:24:31,680 Це може бути менше, так що в цілому чистий позитивний. 485 00:24:31,680 --> 00:24:35,030 >> Але це дозволяє відобразити трохи конкретніше, що 486 00:24:35,030 --> 00:24:38,460 ми говоримо про на 0 і 1 в рівень тепер до фізичного пристрою. 487 00:24:38,460 --> 00:24:40,810 Це одна річ для мене, щоб поговорити близько 0 і 1 з точки зору 488 00:24:40,810 --> 00:24:43,990 мого телефону або абстрактно з точки зору перемикачів бути і вимикається. 489 00:24:43,990 --> 00:24:45,340 Але як щодо жорстких дисків? 490 00:24:45,340 --> 00:24:48,495 У ноутбуках, якщо у вас є старі один, або в настільному комп'ютері, 491 00:24:48,495 --> 00:24:51,200 або, звичайно, в серверах сьогодні, де у вас є 492 00:24:51,200 --> 00:24:53,070 жорсткі диски, які мають терабайт простору, 493 00:24:53,070 --> 00:24:55,560 4 терабайт простору, ну що ж це значить? 494 00:24:55,560 --> 00:24:59,560 >> Жорсткий диск з 1 терабайт космічних засобів 495 00:24:59,560 --> 00:25:03,890 є 1 трильйон байтів всередині нього так чи інакше, 496 00:25:03,890 --> 00:25:10,450 або, що еквівалентно 8 трильйонів біт усередині. 497 00:25:10,450 --> 00:25:16,240 1 терабайт буде 8 терабіт або 1 трильйон біт, що 498 00:25:16,240 --> 00:25:19,330 означає, що якщо у вас є жорсткий диск, ви якимось чином 499 00:25:19,330 --> 00:25:22,400 або інші трильйон 0 ' і 1 всередині нього. 500 00:25:22,400 --> 00:25:25,360 А якщо ми просто подивимося на довільне зображення жорсткого диска 501 00:25:25,360 --> 00:25:30,110 Представник, це те, що жорсткий привід зазвичай може виглядати всередині. 502 00:25:30,110 --> 00:25:32,600 >> Це теж, ніби як старий патефон гравець 503 00:25:32,600 --> 00:25:35,350 але в цілому з кілька записів всередині, так 504 00:25:35,350 --> 00:25:38,270 щоб speak-- множинний Жорсткі диски, як вони називають, 505 00:25:38,270 --> 00:25:42,259 металеві круглі диски, і потім трохи голівки, що зчитує, 506 00:25:42,259 --> 00:25:43,550 так само, як старий патефон. 507 00:25:43,550 --> 00:25:46,589 І, що зчитує голівка переміщається назад і вперед і якимось чином зчитує біти. 508 00:25:46,589 --> 00:25:49,380 І те, що на цих тарілках, навіть хоча ми, люди, не можемо їх бачити, 509 00:25:49,380 --> 00:25:52,757 ні в реальності, ні в цій картині, є крихітні магнітні частинки. 510 00:25:52,757 --> 00:25:55,090 І навіть якщо ви вже давно забув, як працює електрику, 511 00:25:55,090 --> 00:25:57,550 магнітна частка який стягується в цілому 512 00:25:57,550 --> 00:26:00,570 має північний кінець і південь end-- так на північ і південь. 513 00:26:00,570 --> 00:26:03,000 І тому світ просто вирішив деякий час назад 514 00:26:03,000 --> 00:26:06,570 що, якщо магнітний протокол по суті вирівнюється, як це, з півночі на південь, 515 00:26:06,570 --> 00:26:07,610 давайте назвемо, що в 1. 516 00:26:07,610 --> 00:26:10,470 Якщо це замість того, щоб південь-північ, давайте просто називаємо це 0. 517 00:26:10,470 --> 00:26:13,350 І тому, якщо у вас є на Ваше розпорядження трильйон 518 00:26:13,350 --> 00:26:16,300 крихітна магнітна particles-- і, сподіваюся, 519 00:26:16,300 --> 00:26:18,740 апаратні винахідливість в Для того щоб привернути оточуючих 520 00:26:18,740 --> 00:26:24,450 як ви бачите fit--, якщо ви хочете являють собою цілу купу 0, ви 521 00:26:24,450 --> 00:26:28,120 просто потрібно 8 магнітних частинок вирівняні, як це. 522 00:26:28,120 --> 00:26:30,330 І якщо ви хочете, щоб представити вісім 1-х, ви просто 523 00:26:30,330 --> 00:26:33,170 потрібно 8 магнітних частинок вирівняних спина до спини до спини, як це. 524 00:26:33,170 --> 00:26:35,515 >> Що я маю на увазі під магнітні частинки? 525 00:26:35,515 --> 00:26:38,390 Чесно кажучи, всі ці роки по тому, річ, яка до сих пір приходить в голову 526 00:26:38,390 --> 00:26:42,139 цей хлопець, якщо ви виріс з цією річчю. 527 00:26:42,139 --> 00:26:43,930 Це little-- для ті unfamiliar-- 528 00:26:43,930 --> 00:26:47,810 маленька іграшка дитинства, має цей голу людина тут 529 00:26:47,810 --> 00:26:51,690 що є всі ці крихітні трохи чорного магнітні частинки, які приходять з нею. 530 00:26:51,690 --> 00:26:53,930 І за допомогою цього червону палицю, який тільки магніт, 531 00:26:53,930 --> 00:26:58,460 Ви можете сортувати дати йому вуса або брови або волосся або що-небудь на нього. 532 00:26:58,460 --> 00:27:00,710 Так що насправді, якщо ми збільшити в, наприклад, цей 533 00:27:00,710 --> 00:27:02,950 це вид гри ви може грати з Wooly Віллі. 534 00:27:02,950 --> 00:27:06,570 >> І це тільки сказати, ці набагато більші магнітні частинки 535 00:27:06,570 --> 00:27:09,890 ніж насправді на жорсткому диску, і набагато менше магнітних частинок. 536 00:27:09,890 --> 00:27:11,640 Але давайте насправді побачити потім, якщо у вас є 537 00:27:11,640 --> 00:27:14,720 крихітні магнітні частинки в жорсткий диск, як ви можете насправді 538 00:27:14,720 --> 00:27:19,090 використовувати їх для представлення даних. 539 00:27:19,090 --> 00:27:20,070 >> [Відеовідтворення] 540 00:27:20,070 --> 00:27:24,190 >> -The Жорсткий диск, де ваш комп'ютер зберігає більшу частину своїх постійних даних. 541 00:27:24,190 --> 00:27:27,170 Щоб зробити це, дані подорожує з ОЗУ по 542 00:27:27,170 --> 00:27:31,720 з програмними сигналами, які говорять жорсткий диск, як зберігати ці дані. 543 00:27:31,720 --> 00:27:36,570 Схеми жорстких дисків перевести ті сигнали в коливання напруги. 544 00:27:36,570 --> 00:27:40,880 Це, в свою чергу, контроль жорсткого диска переміщення parts-- деякі з небагатьох рухомих 545 00:27:40,880 --> 00:27:43,440 частини залишили в сучасному комп'ютері. 546 00:27:43,440 --> 00:27:47,650 >> Деякі з сигналів управління двигуном, який обертається пластин з металевим покриттям. 547 00:27:47,650 --> 00:27:50,980 Ваші дані насправді що зберігаються на цих пластинах. 548 00:27:50,980 --> 00:27:56,250 Інші сигнали переміщення головок читання / запису для читання або запису даних на пластинах. 549 00:27:56,250 --> 00:28:00,100 Цей механізм настільки точний, що людське волосся не могли навіть 550 00:28:00,100 --> 00:28:02,800 проходять між головками і спінінг пластин. 551 00:28:02,800 --> 00:28:04,887 Проте, все це працює на приголомшливих швидкостях. 552 00:28:04,887 --> 00:28:05,470 [КІНЕЦЬ ВОСП] 553 00:28:05,470 --> 00:28:06,780 І ви можете бачити на задній кінець відео, 554 00:28:06,780 --> 00:28:08,340 там, як правило, кілька пластин. 555 00:28:08,340 --> 00:28:10,250 І так, що читання голови не просто читати зверху. 556 00:28:10,250 --> 00:28:12,458 Це ніби як три або або ще чотири головки читання 557 00:28:12,458 --> 00:28:14,920 цей крок, як це, зчитування даних одночасно. 558 00:28:14,920 --> 00:28:17,407 >> Таким чином, є багато складність і вид часу 559 00:28:17,407 --> 00:28:18,740 що бере участь в жорсткому диску. 560 00:28:18,740 --> 00:28:21,920 І справа крутиться дійсно штопати швидко, так що є багато складності. 561 00:28:21,920 --> 00:28:25,220 Але давайте збільшувати трохи глибше і побачити, де ці магнітні частинки 562 00:28:25,220 --> 00:28:27,370 і як ми отримуємо на них. 563 00:28:27,370 --> 00:28:28,750 >> [Відеовідтворення] 564 00:28:28,750 --> 00:28:31,830 >> Погляд -Давайте на те, що ми тільки що бачив в уповільненому русі. 565 00:28:31,830 --> 00:28:35,230 Коли короткий пульс електрики відправляється головки читання / запису, 566 00:28:35,230 --> 00:28:39,000 він перевертається на маленькому електромагнітному за частки секунди. 567 00:28:39,000 --> 00:28:41,390 Магніт створює поле, яке змінює 568 00:28:41,390 --> 00:28:44,600 полярність крихітне, крихітне частина частинок металу 569 00:28:44,600 --> 00:28:46,960 які покривають поверхню кожної пластини в. 570 00:28:46,960 --> 00:28:50,020 Шаблон серії цих крихітних кайфом області на диску 571 00:28:50,020 --> 00:28:54,590 являє собою один біт даних в двійкова система числення використовується комп'ютерами. 572 00:28:54,590 --> 00:28:57,510 >> Тепер, якщо струм надсилається один шлях через головку читання / запису, 573 00:28:57,510 --> 00:28:59,899 площа поляризований в одному напрямку. 574 00:28:59,899 --> 00:29:01,940 Якщо струм надсилається в в протилежному напрямку, 575 00:29:01,940 --> 00:29:04,020 поляризація відновлюється. 576 00:29:04,020 --> 00:29:06,440 Як отримати дані з жорсткого диска? 577 00:29:06,440 --> 00:29:08,190 Просто зворотний процес. 578 00:29:08,190 --> 00:29:10,440 Так що частинки на диск, отримати струм 579 00:29:10,440 --> 00:29:12,260 в голівці читання / запису руху. 580 00:29:12,260 --> 00:29:14,580 з'єднаний мільйони ці намагнічені сегменти, 581 00:29:14,580 --> 00:29:16,220 і у вас є файл. 582 00:29:16,220 --> 00:29:21,030 >> Тепер, шматки одного файлу може бути розкидані по всьому тарілках кластерів диска, 583 00:29:21,030 --> 00:29:24,060 ніби як безлад документів на вашому столі. 584 00:29:24,060 --> 00:29:27,590 Таким чином, спеціальний додатковий файл зберігає трек, де все. 585 00:29:27,590 --> 00:29:30,440 Хіба ви не хотіли б мати щось схоже? 586 00:29:30,440 --> 00:29:31,290 >> [КІНЕЦЬ ВОСП] 587 00:29:31,290 --> 00:29:36,260 >> Таким чином, будучи згадується там, мабуть, що тема з учорашнього дня від видалення. 588 00:29:36,260 --> 00:29:38,380 при видаленні файл, вчора ми говорили 589 00:29:38,380 --> 00:29:41,020 що комп'ютер насправді робить що, коли ви щось перетягнути 590 00:29:41,020 --> 00:29:44,110 в кошики або відро для сміття? 591 00:29:44,110 --> 00:29:45,150 Він просто забуває. 592 00:29:45,150 --> 00:29:47,540 Але 0 і 1-х, магнітні частинки 593 00:29:47,540 --> 00:29:50,640 які виглядають як червоний і синій речі тут, або моя рука тут, 594 00:29:50,640 --> 00:29:52,350 все ще є на жорсткому диску. 595 00:29:52,350 --> 00:29:56,090 >> І тому існує software-- Нортон Утиліти і Yesteryear 596 00:29:56,090 --> 00:29:58,159 і інші більш сучасні software--, що просто 597 00:29:58,159 --> 00:30:01,200 буде сканувати весь жорсткий диск шукає у всіх цих 0 і 1-х, тому що 598 00:30:01,200 --> 00:30:06,890 Виявляється, що більшість файлів formats-- Текстові документи, файли Excel, зображення, 599 00:30:06,890 --> 00:30:10,380 відео files-- все мають певний візерунки, які є поширеними серед них. 600 00:30:10,380 --> 00:30:12,550 Кожен відео файл може бути іншого відео, 601 00:30:12,550 --> 00:30:14,870 але перші кілька біти зазвичай однакові. 602 00:30:14,870 --> 00:30:16,790 Або останні кілька бітів як правило, те ж саме. 603 00:30:16,790 --> 00:30:19,910 >> І тому з великою часткою ймовірності, ви можете подивитися на ці моделі. 604 00:30:19,910 --> 00:30:23,700 І навіть якщо файл був забутий, Ви можете сказати, з високою ймовірністю, 605 00:30:23,700 --> 00:30:28,460 але це виглядає як документ Word, дозволяє відновити його і зніміть забути, 606 00:30:28,460 --> 00:30:28,990 якщо ви будете. 607 00:30:28,990 --> 00:30:32,330 І ось як ви можете відновити дані, які або були випадково 608 00:30:32,330 --> 00:30:36,560 видалений або видалений або навмисно видалений для будь-яких цілей. 609 00:30:36,560 --> 00:30:42,530 >> На противагу цьому, безпечне видалення робить що в контексті картини, як це? 610 00:30:42,530 --> 00:30:44,059 Точно, робить їх все випадкове. 611 00:30:44,059 --> 00:30:46,350 Так що це свого роду переміщує деякі з їх вниз, деякі з них вгору, 612 00:30:46,350 --> 00:30:49,433 залишає деякі з них без змін, а як правило, робить випадковий шум з нього, 613 00:30:49,433 --> 00:30:52,960 або просто, може бути, робить все Them 0 'або все з них 1-х. 614 00:30:52,960 --> 00:30:56,350 І це теж може взагалі скраб ваші дані геть. 615 00:30:56,350 --> 00:31:00,160 >> Так давайте тепер повернемося до питання обчислювального мислення, в результаті чого 616 00:31:00,160 --> 00:31:03,270 ми маємо формулу входів. 617 00:31:03,270 --> 00:31:06,390 І алгоритми дає ви в кінцевому підсумку виводить. 618 00:31:06,390 --> 00:31:09,270 Зараз ми зосереджені на входах і виходи, тому що тепер я 619 00:31:09,270 --> 00:31:12,159 претензії у нас є спосіб що представляють входи і виходи. 620 00:31:12,159 --> 00:31:13,450 Ми просто будемо використовувати бінарний файл. 621 00:31:13,450 --> 00:31:15,910 >> І незалежно від того, що ми хочу представити сьогодні, 622 00:31:15,910 --> 00:31:20,230 будь то номер або лист або тисячі їх в телефонній книзі 623 00:31:20,230 --> 00:31:23,210 та зображень чи відео, в кінці дня, все це 0 і 1 .. 624 00:31:23,210 --> 00:31:26,640 І я стверджую, що, навіть якщо це це супер просто світ тільки з 0-х років 625 00:31:26,640 --> 00:31:28,240 і 1-х, ми можемо побудувати себе вгору. 626 00:31:28,240 --> 00:31:32,210 І ми вже бачили один приклад що з листами до сих пір. 627 00:31:32,210 --> 00:31:35,615 >> Так що давайте зосередимося тепер в цьому середній компонент, алгоритм. 628 00:31:35,615 --> 00:31:38,190 І давайте повернемося до цього питання Приклад Майк Сміт. 629 00:31:38,190 --> 00:31:41,689 Так що в цій телефонній книзі, яка за загальним визнанням, ми не використовуємо так багато більше, 630 00:31:41,689 --> 00:31:42,980 є проблема, яку потрібно вирішити. 631 00:31:42,980 --> 00:31:45,040 Ми хочемо, щоб знайти кого-то, як Майк Сміт. 632 00:31:45,040 --> 00:31:47,520 >> А що я міг би зробити, щоб знайти Майк? 633 00:31:47,520 --> 00:31:51,197 Ну, я міг би просто відкрити цей Книга, почніть з першої сторінки, 634 00:31:51,197 --> 00:31:52,780 і розумію, про, я в секції А. 635 00:31:52,780 --> 00:31:53,510 Майк не там. 636 00:31:53,510 --> 00:31:55,510 Мені потрібен розділ S для Сміта. 637 00:31:55,510 --> 00:31:58,192 Так просто тримати поворот на одну сторінку за один раз. 638 00:31:58,192 --> 00:32:00,900 Дозвольте мені робити вигляд, що все це білих сторінок, а не жовті сторінки, 639 00:32:00,900 --> 00:32:02,910 тому що ми не збираємося, щоб знайти Майк в жовтих сторінках в будь-якому випадку. 640 00:32:02,910 --> 00:32:04,034 Але я на білих сторінках. 641 00:32:04,034 --> 00:32:05,340 А тепер, я перебуваю в розділі B. 642 00:32:05,340 --> 00:32:06,810 Я до сих пір не знайшов його. 643 00:32:06,810 --> 00:32:08,890 Так що я продовжую повертаючи одну сторінку за один раз. 644 00:32:08,890 --> 00:32:10,130 >> Це алгоритм. 645 00:32:10,130 --> 00:32:12,440 Це набір інструкцій для вирішення якоїсь проблеми. 646 00:32:12,440 --> 00:32:16,480 Іншими словами, зверніть увагу на сторінка, якщо Майк не так на ньому, 647 00:32:16,480 --> 00:32:20,020 повернути сторінку, і повтори знову і знову і знову, 648 00:32:20,020 --> 00:32:21,760 в ідеалі, дивлячись вниз, як ви робите це. 649 00:32:21,760 --> 00:32:24,120 Так що цей алгоритм, цей процес, правильно? 650 00:32:24,120 --> 00:32:27,400 651 00:32:27,400 --> 00:32:28,830 >> Вибачте. 652 00:32:28,830 --> 00:32:30,056 Ні, я чую деякі NOS. 653 00:32:30,056 --> 00:32:33,250 654 00:32:33,250 --> 00:32:36,125 Добре, але is-- так, це, звичайно, втомлює. 655 00:32:36,125 --> 00:32:39,000 Мовляв, ми будемо тут весь день, якщо я продовжуйте шукати Майка на цій швидкості. 656 00:32:39,000 --> 00:32:41,430 Але дозвольте мені стверджувати, що це правильно. 657 00:32:41,430 --> 00:32:43,850 Це нерозумно, але це правильно. 658 00:32:43,850 --> 00:32:47,209 >> Зрештою, поки вона може прийняти, я знайду Майк, якщо він там 659 00:32:47,209 --> 00:32:48,250 і я звернути увагу. 660 00:32:48,250 --> 00:32:50,230 І я врешті-решт досягти своєї сторінки. 661 00:32:50,230 --> 00:32:52,890 І якщо я отримую занадто далеко, якщо Я отримую в розділ T, 662 00:32:52,890 --> 00:32:55,900 то я можу трохи оптимізувати і просто сказати, гм, все зроблено. 663 00:32:55,900 --> 00:32:57,980 Я навіть не потрібно витрачати Час йти до Заболоцького. 664 00:32:57,980 --> 00:33:00,010 Але це дуже лінійний підхід, якщо ви 665 00:33:00,010 --> 00:33:03,370 буде, дуже вид зліва-направо підхід, пряма лінія. 666 00:33:03,370 --> 00:33:05,560 І його правильно, але повільно. 667 00:33:05,560 --> 00:33:09,250 >> Так що я пам'ятаю з початкової школи, сортувати з оптимізації від першого грейдера, 668 00:33:09,250 --> 00:33:13,756 де я навчився не розраховувати одиницями, але по twos-- так 2, 4, 6. 669 00:33:13,756 --> 00:33:15,630 Це А, набагато складніше робити, але в теорії, це 670 00:33:15,630 --> 00:33:20,149 faster-- 8, 10, 12, 14, і так далі. 671 00:33:20,149 --> 00:33:21,190 Як щодо цього алгоритму? 672 00:33:21,190 --> 00:33:23,150 Чи є це більш ефективним? 673 00:33:23,150 --> 00:33:23,880 Чи є це швидше? 674 00:33:23,880 --> 00:33:25,365 >> АУДИТОРІЯ: Це ефективно. 675 00:33:25,365 --> 00:33:28,560 >> DAVID Маланки: Так, так що це def-- це буквально в два рази швидше, якщо припустити, я 676 00:33:28,560 --> 00:33:30,170 не отримують підставляли з моїми пальцями. 677 00:33:30,170 --> 00:33:32,294 Це в два рази швидше, тому що Я перетворююся через два 678 00:33:32,294 --> 00:33:36,560 сторінок відразу замість одного, але це потенційно правильно, тому що, чому? 679 00:33:36,560 --> 00:33:37,852 >> АУДИТОРІЯ: Ви пропускаючи деякі з них. 680 00:33:37,852 --> 00:33:41,185 DAVID Маланки: Вірно, що, якщо Майк відбувається бути sandwiched-- може бути, коли я пізніше 681 00:33:41,185 --> 00:33:44,370 в телефонній книзі, Майк, трапляється, затиснуті між цими двома сторінками, 682 00:33:44,370 --> 00:33:46,720 і я просто сліпо пропустити його. 683 00:33:46,720 --> 00:33:48,490 Таким чином, нам потрібно трохи виправити там. 684 00:33:48,490 --> 00:33:51,290 Після того, як я потрапив в розділ T, I не можу просто з упевненістю сказати, 685 00:33:51,290 --> 00:33:52,420 ми не знайшли Майка Сміта. 686 00:33:52,420 --> 00:33:53,770 Я, ймовірно, доведеться загнути. 687 00:33:53,770 --> 00:34:00,210 Або справді, коли я досягаю когось названий S-N, замість С-М для Сміта, 688 00:34:00,210 --> 00:34:02,790 негайно, я міг би подвоїти тому, тому що, можливо, він 689 00:34:02,790 --> 00:34:03,900 був на попередній сторінці. 690 00:34:03,900 --> 00:34:05,070 >> Але у мене немає загнути далеко. 691 00:34:05,070 --> 00:34:08,030 У теорії, якщо я роблю це в потрібний час час, я просто повернутися одну сторінку. 692 00:34:08,030 --> 00:34:10,139 Так що це додавання тільки один додатковий крок. 693 00:34:10,139 --> 00:34:13,070 Так що я пішов в два рази швидше, але це коштувало мені одну додаткову сторінку. 694 00:34:13,070 --> 00:34:14,699 Але що відчуває, як чиста перемога. 695 00:34:14,699 --> 00:34:17,230 >> Але це не так, як більшість людей в Цей номер буде вирішити цю проблему. 696 00:34:17,230 --> 00:34:20,313 Що б типова людина, може бути, Кілька років тому зробити, щоб знайти Майка Сміта? 697 00:34:20,313 --> 00:34:22,900 698 00:34:22,900 --> 00:34:24,800 Так, не знайшли Майка. 699 00:34:24,800 --> 00:34:27,190 Що мені робити? 700 00:34:27,190 --> 00:34:31,027 Так що трохи ближче, але я знаю--, що правда про телефонній книзі? 701 00:34:31,027 --> 00:34:32,110 АУДИТОРІЯ: Це послідовний. 702 00:34:32,110 --> 00:34:32,760 DAVID Маланки: Це послідовний. 703 00:34:32,760 --> 00:34:33,750 Це алфавітний. 704 00:34:33,750 --> 00:34:36,540 І тому, якщо я перебуваю в розділі M, Майк явно вправо, 705 00:34:36,540 --> 00:34:39,949 Я можу буквально розірвати проблема в half-- 706 00:34:39,949 --> 00:34:44,360 як правило, легше, ніж that-- сльозу проблема навпіл і викинути, 707 00:34:44,360 --> 00:34:47,627 так що тепер, у мене є проблема, що це вже не одна тисяча pages--, що було важко, 708 00:34:47,627 --> 00:34:50,210 тому що я думаю, що я насправді розірвала телефонна книга це не time-- 709 00:34:50,210 --> 00:34:52,219 1000 сторінок, але 500. 710 00:34:52,219 --> 00:34:54,750 >> Таким чином, проблема буквально вдвічі менше. 711 00:34:54,750 --> 00:34:58,170 І це досить переконливим, тому що з моїми попередніми алгоритмами, версія 712 00:34:58,170 --> 00:35:02,870 1 і 2, я тільки що робить проблему на одній сторінці, менші дві сторінки менші 713 00:35:02,870 --> 00:35:03,470 зараз. 714 00:35:03,470 --> 00:35:07,230 У той час як зараз, я зробив це 500 сторінки менше, все відразу. 715 00:35:07,230 --> 00:35:10,089 >> ОК, так що тепер, Карім пропонує що я йду в праву половину. 716 00:35:10,089 --> 00:35:12,380 Так що я збираюся йти приблизно до середини, дати або прийняти. 717 00:35:12,380 --> 00:35:15,185 І якби я зробив це математично, Я міг би піти прямо до центру. 718 00:35:15,185 --> 00:35:17,060 А тепер, я розумію, про, Я перебуваю в секції T. 719 00:35:17,060 --> 00:35:18,280 Я насправді дуже далеко. 720 00:35:18,280 --> 00:35:21,670 >> Але я можу, знову ж таки, рвати Проблема навпіл, викинути. 721 00:35:21,670 --> 00:35:23,330 І мої байти не настільки великий. 722 00:35:23,330 --> 00:35:28,780 Це тільки, що, 256 сторінок або 250 сторінок, давати або приймати прямо зараз. 723 00:35:28,780 --> 00:35:31,570 Але це все ще набагато більше ніж на одній сторінці або двох сторінок. 724 00:35:31,570 --> 00:35:33,345 >> І ось тепер, я йду приблизно до середини. 725 00:35:33,345 --> 00:35:35,330 О, я не пішов досить далеко зараз досить. 726 00:35:35,330 --> 00:35:37,880 Тому я повторюю, повторюю, повторюю, Повторюю, поки я сподіваюся, 727 00:35:37,880 --> 00:35:40,360 залишилося тільки з однієї сторінки. 728 00:35:40,360 --> 00:35:44,000 >> Так що пропонує питання, якщо я почалося приблизно з 1000 сторінок, 729 00:35:44,000 --> 00:35:47,340 скільки кроків це брало мене з версією 1 мого алгоритму? 730 00:35:47,340 --> 00:35:50,420 Ну, якщо Майк знаходиться в S розділ, в гіршому випадку, 731 00:35:50,420 --> 00:35:52,630 це досить близько до кінець алфавіту. 732 00:35:52,630 --> 00:35:56,559 Так що, якщо телефонна книга має 1000 сторінок, Я знайду Майка в межах 1000 сторінок, 733 00:35:56,559 --> 00:35:57,100 дай або візьми. 734 00:35:57,100 --> 00:35:59,750 Може бути, це як 800 або близько того, але це досить близько до 1,000. 735 00:35:59,750 --> 00:36:01,680 >> Беручи до уваги, у другому Алгоритм, скільки 736 00:36:01,680 --> 00:36:06,840 сторінка виявляється максимально може я вимагає, щоб знайти Майка Сміта? 737 00:36:06,840 --> 00:36:09,970 Там в 1000 сторінок, але я робить їх два одночасно. 738 00:36:09,970 --> 00:36:13,045 Правильно, так як максимум 500ish, тому що якщо я йду через всю телефонну книгу, 739 00:36:13,045 --> 00:36:14,170 в який момент я можу зупинитися. 740 00:36:14,170 --> 00:36:16,669 Але я можу збрити кілька по просто зупинка на ділянці Т. 741 00:36:16,669 --> 00:36:19,880 Але це в гіршому випадку 500 сторінок. 742 00:36:19,880 --> 00:36:24,710 >> Так що, скільки разів я можу розділити 1,00o сторінках телефонної книги в половині знову 743 00:36:24,710 --> 00:36:30,450 і знову і again-- від 1000 до 500 до 250 до 125? 744 00:36:30,450 --> 00:36:32,250 Як довго, перш ніж я потрапив на одну сторінку? 745 00:36:32,250 --> 00:36:35,510 746 00:36:35,510 --> 00:36:36,370 Так, це близько 10. 747 00:36:36,370 --> 00:36:40,780 Залежно від заокруглення і такі, це близько 10 всього сторінок повинні бути включені 748 00:36:40,780 --> 00:36:43,290 або телефонні книги повинні бути розірвані. 749 00:36:43,290 --> 00:36:44,710 >> Так що це досить потужний. 750 00:36:44,710 --> 00:36:48,170 Ми почали з проблемою в 1000 сторінок у всіх трьох цих історій. 751 00:36:48,170 --> 00:36:51,850 Але в першому алгоритмі, його взяв мене, найгірший випадок, 1000 стр 752 00:36:51,850 --> 00:36:52,740 Виявляється, щоб знайти Майк. 753 00:36:52,740 --> 00:36:55,590 Другий алгоритм, 500 сторінки, щоб знайти Майк. 754 00:36:55,590 --> 00:36:58,480 Третій алгоритм, 10 сторінок, щоб знайти Майк. 755 00:36:58,480 --> 00:37:00,230 І це ще більше потужний, коли ви думаєте 756 00:37:00,230 --> 00:37:01,860 про свого роду протилежної сценарію. 757 00:37:01,860 --> 00:37:05,680 Припустимо, що в телефонній компанії наступної рік, може бути, об'єднує два міста разом, 758 00:37:05,680 --> 00:37:08,550 і телефонна книга раптово Грубий, замість цього, що, 759 00:37:08,550 --> 00:37:12,470 так 2000 сторінках замість 1000. 760 00:37:12,470 --> 00:37:15,640 Ну, мій перший алгоритм шукає Майк Сміт в телефонній книзі 2000 сторінках, 761 00:37:15,640 --> 00:37:21,460 найгірший випадок, він збирається прийняти скільки поворотів сторінки в наступному році? 762 00:37:21,460 --> 00:37:24,800 >> Телефонна книга становить 2000 сторінок, so-- добре, а не ще один. 763 00:37:24,800 --> 00:37:29,540 Якщо телефонна книга в два рази товще в перший алгоритм, перший алгоритм, 764 00:37:29,540 --> 00:37:30,380 2000, чи не так? 765 00:37:30,380 --> 00:37:33,005 У гіршому випадку, Майк дійсно Ближче до кінця книги, 766 00:37:33,005 --> 00:37:34,110 так що 2000 сторінках по черзі. 767 00:37:34,110 --> 00:37:38,070 Другий алгоритм йдучи двійок, як і 1000 сторінок. 768 00:37:38,070 --> 00:37:41,490 >> Але як в моїй третини і самий останній алгоритм? 769 00:37:41,490 --> 00:37:44,950 Якщо телефонна компанія подвоює кількість сторінок від 1000 до 2000, 770 00:37:44,950 --> 00:37:47,770 скільки ще раз потрібно Я рву що книга навпіл, щоб знайти Майк? 771 00:37:47,770 --> 00:37:48,710 >> ГЛЯДАЧІ: Тільки один. 772 00:37:48,710 --> 00:37:51,001 >> DAVID Маланки: Тільки ще один, тому що з однієї сторінки сльоза, 773 00:37:51,001 --> 00:37:53,270 Я можу буквально розділити і перемогти, якщо ви будете, 774 00:37:53,270 --> 00:37:57,410 що проблема в половині взяття масивний укус з нього. 775 00:37:57,410 --> 00:38:01,420 І таким чином це є прикладом коефіцієнт корисної дії і, можливо, алгоритм 776 00:38:01,420 --> 00:38:04,100 з якими всі ми свого роду інтуїтивно знайомі. 777 00:38:04,100 --> 00:38:07,780 Але це так само, як правильно як мої інші алгоритми 778 00:38:07,780 --> 00:38:09,630 з цим підстроювання для Другий алгоритм, 779 00:38:09,630 --> 00:38:11,290 але це набагато більш ефективним. 780 00:38:11,290 --> 00:38:14,030 >> І справді, що комп'ютер вчений, або в свою чергу, програміст, 781 00:38:14,030 --> 00:38:17,580 зазвичай роблять при написанні код спробувати з'ясувати, 782 00:38:17,580 --> 00:38:19,960 все в порядку, я не хочу, щоб мої програма просто, щоб бути правильним, 783 00:38:19,960 --> 00:38:23,220 Я також хочу, щоб бути ефективним і вирішувати проблеми добре. 784 00:38:23,220 --> 00:38:26,450 Уявіть собі, в реальному світі сьогодні, як Google індекси, пошуки 785 00:38:26,450 --> 00:38:31,580 як мільярди сторінок, уявіть собі, якщо вони використовується перший алгоритм, щоб знайти кішок 786 00:38:31,580 --> 00:38:34,620 серед мільярд pages-- дивлячись на перша сторінка в їхній базі даних, 787 00:38:34,620 --> 00:38:37,700 другий, третій, просто дивлячись для кішки, шукає кота. 788 00:38:37,700 --> 00:38:40,350 Це досить штопати уповільнити здавалося б. 789 00:38:40,350 --> 00:38:43,170 Замість цього вони могли б використовувати щось званий бінарний пошук, який 790 00:38:43,170 --> 00:38:47,420 НЕ coincidence-- бі означає два, ми тримати щось розділивши на 2, в half-- 791 00:38:47,420 --> 00:38:50,205 вони могли б використовувати бінарний пошук і, можливо, знайти кішок ще швидше, 792 00:38:50,205 --> 00:38:51,830 або те, що ви шукаєте. 793 00:38:51,830 --> 00:38:54,125 >> І, чесно кажучи, є навіть більш вигадливі алгоритми 794 00:38:54,125 --> 00:38:56,250 що зробити набагато більше, ніж просто розділяючи речі навпіл 795 00:38:56,250 --> 00:38:58,180 для того, щоб швидко знаходити потрібну інформацію. 796 00:38:58,180 --> 00:39:00,880 І ми будемо говорити трохи про тих, хто після обіду сьогодні. 797 00:39:00,880 --> 00:39:02,640 Отже, дозвольте мені просто спробувати уявити це. 798 00:39:02,640 --> 00:39:05,380 Нам не потрібно вдаватися в будь-які математичні або реальні цифри. 799 00:39:05,380 --> 00:39:07,070 Ми можемо говорити про це абстрактно. 800 00:39:07,070 --> 00:39:11,580 >> Але дозвольте мені запропонувати, якщо ви були з обговорення в даний час 801 00:39:11,580 --> 00:39:13,491 з інженерами пропонуючи цей алгоритм 802 00:39:13,491 --> 00:39:15,490 і ви намагаєтеся зробити розраховане рішення, 803 00:39:15,490 --> 00:39:17,285 тому що, може бути, інженер каже вам, ви 804 00:39:17,285 --> 00:39:19,910 знаю, що я можу реалізувати лінійний пошук в як дві хвилини. 805 00:39:19,910 --> 00:39:21,150 Це так просто. 806 00:39:21,150 --> 00:39:24,790 Двійковий пошук не те, що фантазії, але вона збирається взяти мене, як 10 хвилин, 807 00:39:24,790 --> 00:39:26,650 так в 5 разів до тих пір. 808 00:39:26,650 --> 00:39:30,900 >> Там в торговій тут, навіть з точки зору рішення, що програмне забезпечення для запису. 809 00:39:30,900 --> 00:39:34,760 Ви пишете простіший алгоритм, який буде просто вас дві хвилини? 810 00:39:34,760 --> 00:39:39,880 Або ви проводите більше часу, 10 хвилин, написання мисливця алгоритм? 811 00:39:39,880 --> 00:39:43,540 Як ви вирішуєте, що таке питання? 812 00:39:43,540 --> 00:39:46,710 Або ви могли б зробити його трохи більш реальним. 813 00:39:46,710 --> 00:39:50,610 Я говорю своєму босові, що збирається взяти я ні за один тиждень або 10 тижнів 814 00:39:50,610 --> 00:39:52,490 для реалізації програмне забезпечення таким чином, як 815 00:39:52,490 --> 00:39:56,103 ви вирішуєте, які алгоритм зелене світло? 816 00:39:56,103 --> 00:39:56,603 Карім? 817 00:39:56,603 --> 00:39:57,550 >> ГЛЯДАЧІ: Глядачі, я думаю. 818 00:39:57,550 --> 00:39:57,960 >> DAVID Маланки: Глядачі. 819 00:39:57,960 --> 00:39:59,460 Що ви маєте на увазі під аудиторією? 820 00:39:59,460 --> 00:40:03,460 >> ГЛЯДАЧІ: Якщо це відбувається які будуть використовуватися користувачами 821 00:40:03,460 --> 00:40:09,050 які [нерозбірливо] користувачами [нерозбірливо]. 822 00:40:09,050 --> 00:40:11,232 Але якщо це щось ви просто робить для себе 823 00:40:11,232 --> 00:40:13,946 щоб полегшити завдання, [Нерозбірливо] швидше. 824 00:40:13,946 --> 00:40:16,820 DAVID Маланки: Так, це швидко і брудний це хороший спосіб, щоб описати це. 825 00:40:16,820 --> 00:40:18,695 Насправді, якщо ви описуючи велику частину мого часу 826 00:40:18,695 --> 00:40:23,630 в аспірантурі, в результаті чого часто часи, Я написав поганий код свідомо so-- 827 00:40:23,630 --> 00:40:26,490 по крайней мере, це те, як я раціоналізувати it-- свідомо так, 828 00:40:26,490 --> 00:40:30,670 тому що навіть якщо я пишу код що було відносно повільним, щоб виконати, 829 00:40:30,670 --> 00:40:33,750 Я був в змозі написати сам код досить швидко, витрати всього в декількох хвилинах 830 00:40:33,750 --> 00:40:35,107 або годин не днів. 831 00:40:35,107 --> 00:40:37,190 І виявилося, я іноді потрібно спати. 832 00:40:37,190 --> 00:40:41,270 Так що навіть якщо мій код потрібно 8 годин для роботи, так що це нормально, 833 00:40:41,270 --> 00:40:42,850 Я буду просто піти спати, поки він працює. 834 00:40:42,850 --> 00:40:46,350 >> Так що в той час, я думав, що це було дуже розумний, хоча я мабуть, 835 00:40:46,350 --> 00:40:48,990 працював через мій кандидат дуже повільно. 836 00:40:48,990 --> 00:40:52,270 Але зворотне, що є що, якби я писав програмне забезпечення 837 00:40:52,270 --> 00:40:55,930 для інших людей, які мала більше значення, ніж у мене, ну, 838 00:40:55,930 --> 00:40:59,580 маючи їх чекати 8 годин отримати назад свої результати пошуку 839 00:40:59,580 --> 00:41:01,350 не всі, що переконливими. 840 00:41:01,350 --> 00:41:04,090 І тому витрачати більше часу фронт, щоб написати програмне забезпечення 841 00:41:04,090 --> 00:41:07,300 що є більш ефективним, більш як нашого третього алгоритму, 842 00:41:07,300 --> 00:41:09,780 ймовірно, приносить користь користувачам протягом довгого часу. 843 00:41:09,780 --> 00:41:12,710 Так що це дійсно залежить від більш час, як ці витрати складаються. 844 00:41:12,710 --> 00:41:14,960 Якщо ви збираєтеся писати програмне забезпечення, щоб використовувати його один раз, 845 00:41:14,960 --> 00:41:17,240 ймовірно, могли б також зробити швидкий і брудний, як вони кажуть. 846 00:41:17,240 --> 00:41:18,198 Просто викинути його разом. 847 00:41:18,198 --> 00:41:20,560 Це код, який заганяють ви, це так погано, 848 00:41:20,560 --> 00:41:23,860 але вона виконує свою роботу правильно, незважаючи на те, що це не ефективно. 849 00:41:23,860 --> 00:41:27,200 З іншого боку, ви проводите більше часу на щось, отримати його в самий раз. 850 00:41:27,200 --> 00:41:30,730 А потім амортизується протягом довгого часу, що початкові витрати часу 851 00:41:30,730 --> 00:41:34,330 напевно варто, якщо ви тримаєте оптимізації для загального випадку. 852 00:41:34,330 --> 00:41:37,620 >> І справді, це тема програмування, інформатика або більше 853 00:41:37,620 --> 00:41:41,390 як правило, намагається оптимізувати не для незвичайного випадку 854 00:41:41,390 --> 00:41:44,390 але загальні case-- яка операція відбудеться знову і знову? 855 00:41:44,390 --> 00:41:47,730 Якщо ви збираєтеся мати мільярди користувачів пошуку на вашому сайті, 856 00:41:47,730 --> 00:41:52,030 Ви, ймовірно, слід провести додаткові тижнів фронт писати краще програмне забезпечення, 857 00:41:52,030 --> 00:41:53,670 так що всі ваші користувачі отримують вигоду. 858 00:41:53,670 --> 00:41:57,840 Тепер давайте спробуємо захопити це трохи зображально, але не так багато, 859 00:41:57,840 --> 00:41:58,610 чисельно. 860 00:41:58,610 --> 00:42:01,680 >> Так ось якраз стара школа діаграма. 861 00:42:01,680 --> 00:42:04,260 І дозвольте мені сказати, що цей час. 862 00:42:04,260 --> 00:42:06,660 І це не має значення что-- насправді, ні, не час. 863 00:42:06,660 --> 00:42:08,320 Давайте покладемо, що на іншій осі. 864 00:42:08,320 --> 00:42:15,700 Припустимо, що це час, і це розмір проблеми. 865 00:42:15,700 --> 00:42:17,830 >> І вчений може зателефонувати в цілому 866 00:42:17,830 --> 00:42:20,820 це просто п. п походить наш йти до змінної, де 867 00:42:20,820 --> 00:42:26,351 п є число, п число, і це кількість будь-яких входів у вас є. 868 00:42:26,351 --> 00:42:28,100 Так що в цьому випадку п кількість сторінок. 869 00:42:28,100 --> 00:42:30,150 Так що це може бути 1000 в випадок ми тільки що сказали. 870 00:42:30,150 --> 00:42:31,969 >> Так що час може бути будь-яка одиниця виміру. 871 00:42:31,969 --> 00:42:32,760 Може бути, це друге. 872 00:42:32,760 --> 00:42:33,410 Може бути, це дні. 873 00:42:33,410 --> 00:42:34,590 Може бути, це як поворотів сторінки. 874 00:42:34,590 --> 00:42:35,215 Не має значення. 875 00:42:35,215 --> 00:42:38,840 Що б ви хотіли розраховувати на, що буде час або стоїть що те ж саме. 876 00:42:38,840 --> 00:42:42,400 >> Так що з самого першого Алгоритм, якщо я, наприклад, 877 00:42:42,400 --> 00:42:45,920 мав телефонну книгу на 1000 сторінок, Я збираюся намалювати крапку там, 878 00:42:45,920 --> 00:42:51,450 тому що, якщо це 1000 сторінок, він взяв приблизно 1000 поворотів сторінки, дати або прийняти. 879 00:42:51,450 --> 00:42:54,100 А потім, якщо б я був 2000 сторінках телефонної книги, 880 00:42:54,100 --> 00:42:57,200 і я збираюся намалювати другу точка тут, тому що на 2000 сторінок, 881 00:42:57,200 --> 00:42:59,810 це як 2000 секунд або поворотів сторінки або будь-який інший. 882 00:42:59,810 --> 00:43:02,480 І ось, коли я вже говорив раніше, це вид лінійної залежності, 883 00:43:02,480 --> 00:43:06,020 що було навмисним, тому що я хотів пізніше on-- право now--, щоб намалювати лінію. 884 00:43:06,020 --> 00:43:07,770 Це свого роду прямий лінія відносини. 885 00:43:07,770 --> 00:43:10,180 Схил 1/1, якщо ви будете. 886 00:43:10,180 --> 00:43:14,630 >> У той же час, другий алгоритм сказав, що якщо у вас є 1000 сторінок 887 00:43:14,630 --> 00:43:17,680 і ви використовували другий алгоритм, де я нарахував на 2-х, повертаючись 888 00:43:17,680 --> 00:43:22,564 дві сторінки в той час, я повинен малювати точка вище або нижче моєї вихідною точкою? 889 00:43:22,564 --> 00:43:23,450 >> ГЛЯДАЧІ: Нижче. 890 00:43:23,450 --> 00:43:27,992 >> DAVID Маланки: Нижче, тому що, як ми бачили, це займає менше часу, в два рази менше часу. 891 00:43:27,992 --> 00:43:29,950 Таким чином, точка повинна бути наполовину настільки ж високо, як і інші. 892 00:43:29,950 --> 00:43:33,330 І та ж угода тут, це точка слід, ймовірно, приблизно там. 893 00:43:33,330 --> 00:43:39,666 І ось мій другий алгоритм, так само, має лінійну залежність з часом. 894 00:43:39,666 --> 00:43:41,990 І ми можемо зробити це як такої. 895 00:43:41,990 --> 00:43:45,950 >> Так що тепер, третій і останній Алгоритм трохи складніше зробити. 896 00:43:45,950 --> 00:43:49,530 Але інтуїтивно, якщо у мене 1000 сторінки з мого третього алгоритму, 897 00:43:49,530 --> 00:43:52,340 він повинен прийняти мене тільки як 10 кроків. 898 00:43:52,340 --> 00:43:57,500 І якщо у мене є 2000 сторінок з моїм третім алгоритмом, 899 00:43:57,500 --> 00:44:01,570 він повинен прийняти мене не 10 кроки, але 11, тільки ще один. 900 00:44:01,570 --> 00:44:03,610 Таким чином, ми ледь будемо бачити це. 901 00:44:03,610 --> 00:44:06,010 >> І виходить, якщо Я збільшити на це, я 902 00:44:06,010 --> 00:44:09,320 збирається перебільшувати для ефекту, форма цієї лінії, в кінцевому рахунку, 903 00:44:09,320 --> 00:44:11,990 не є прямою line-- тому що, справді, якби це було, 904 00:44:11,990 --> 00:44:15,390 це буде виглядати як others-- це насправді вигнуті лінії 905 00:44:15,390 --> 00:44:19,265 що, якщо ми наближати, збирається дивитися набагато більше, як це. 906 00:44:19,265 --> 00:44:21,670 It-- добре, добре, ігнорувати цю частину. 907 00:44:21,670 --> 00:44:25,330 Це було моє перо збирається кута. 908 00:44:25,330 --> 00:44:29,000 Це вигнута лінія, яка завжди росте, завжди, завжди, завжди 909 00:44:29,000 --> 00:44:32,100 росте, але тільки чуть-чуть. 910 00:44:32,100 --> 00:44:36,260 >> І так протягом довгого часу, у вас є Відносини, які більше схоже на це. 911 00:44:36,260 --> 00:44:37,540 Це виглядає майже прямо. 912 00:44:37,540 --> 00:44:40,330 Але це дуже повільно зростає. 913 00:44:40,330 --> 00:44:44,780 Але для багатьох точок уздовж ваша вісь х, горизонтальна вісь, 914 00:44:44,780 --> 00:44:46,550 це нижче, ніж ті, інші лінії. 915 00:44:46,550 --> 00:44:49,930 >> Так що це може бути відносини п, причому якщо у вас є п сторінок, 916 00:44:49,930 --> 00:44:51,100 приймає вас н секунд. 917 00:44:51,100 --> 00:44:53,320 Це може бути ставлення N / 2. 918 00:44:53,320 --> 00:44:56,710 У вас є п сторінок, він приймає Ви п / 2 секунди, вдвічі менше, ніж. 919 00:44:56,710 --> 00:45:00,590 І це логарифмічна відносини, які 920 00:45:00,590 --> 00:45:08,920 якщо згадати, логарифм 2 з п захопленнями таке зростання, так би мовити. 921 00:45:08,920 --> 00:45:12,000 Так що це свого роду святий Грааль серед трьох з них 922 00:45:12,000 --> 00:45:15,940 тут, тому що це просто так набагато більше ефективний, але, можливо, більш складний 923 00:45:15,940 --> 00:45:18,610 впровадити. 924 00:45:18,610 --> 00:45:20,510 Які-небудь питання? 925 00:45:20,510 --> 00:45:26,220 >> Ну дозвольте мені зробити це, нехай мені відкрити текстове вікно 926 00:45:26,220 --> 00:45:29,100 тільки так ми можемо спробувати формалізувати щось тут. 927 00:45:29,100 --> 00:45:32,410 Отже, дозвольте мені йти вперед зараз і реалізувати цей алгоритм 928 00:45:32,410 --> 00:45:35,170 для знаходження Майка Сміта в коді, якщо ви будете, псевдокод код. 929 00:45:35,170 --> 00:45:36,620 Я не збираюся використовувати Java або C ++. 930 00:45:36,620 --> 00:45:38,610 Я просто збираюся використовувати свого роду Англійська-подібний синтаксис, який ми 931 00:45:38,610 --> 00:45:40,151 як правило, викликати код псевдокоду. 932 00:45:40,151 --> 00:45:41,660 Ось, у мене є пусте вікно. 933 00:45:41,660 --> 00:45:48,180 І я крок 1 дуже кажучи Перший алгоритм підібрати телефонну книгу. 934 00:45:48,180 --> 00:45:51,740 Крок 2 відкрита книга для першої сторінки. 935 00:45:51,740 --> 00:45:58,080 Крок 3 дивитиметься на сторінка для Майка Сміта. 936 00:45:58,080 --> 00:46:02,740 Якщо на сторінці, викличте Майк. 937 00:46:02,740 --> 00:46:11,640 інший поворот сторінки і перейдіть до кроку 3. 938 00:46:11,640 --> 00:46:13,590 Готово, скажімо. 939 00:46:13,590 --> 00:46:18,110 >> І тому це не зовсім досконала, який ми побачимо в хвилину. 940 00:46:18,110 --> 00:46:21,050 Але давайте розглянемо, що Поняття я представив тут. 941 00:46:21,050 --> 00:46:24,450 Так кроки 1 і 2 і 3 досить багато дієслів. 942 00:46:24,450 --> 00:46:26,544 Вони заяви, actions-- зробити це. 943 00:46:26,544 --> 00:46:28,710 І так в програмуванні мова, ми, як правило, 944 00:46:28,710 --> 00:46:32,349 називати їх заяви або функції або процедури, 945 00:46:32,349 --> 00:46:33,640 називати їх будь-яку кількість речей. 946 00:46:33,640 --> 00:46:35,460 Але вони просто actions-- зробити це. 947 00:46:35,460 --> 00:46:40,370 >> Крок 4 принципово відрізняється, тому що це свого роду задає питання. 948 00:46:40,370 --> 00:46:42,400 Це говорить, що ми свого роду з на розвилці доріг. 949 00:46:42,400 --> 00:46:48,000 Якщо Майк на сторінці, викличте його, так що повернути ліворуч, якщо ви будете. 950 00:46:48,000 --> 00:46:52,170 А якщо ні, то повернутися до деяких інший page-- або, скоріше, вибачте, 951 00:46:52,170 --> 00:46:56,650 повернутися до будь-якої іншої крок, який індукує деякий вид циклів, в. 952 00:46:56,650 --> 00:46:59,530 І ми робимо це знову і знову і знову. 953 00:46:59,530 --> 00:47:01,300 >> І насправді, ви знаєте, що? 954 00:47:01,300 --> 00:47:01,800 Так. 955 00:47:01,800 --> 00:47:04,704 956 00:47:04,704 --> 00:47:09,010 інакше, якщо в кінці книги зупинки. 957 00:47:09,010 --> 00:47:11,624 Так що нам потрібно вид третього стан, тому що ви 958 00:47:11,624 --> 00:47:14,290 не може тримати перегорнути сторінку оголошення нудоти, тому що в кінці кінців, я буду 959 00:47:14,290 --> 00:47:15,320 потрапив в кінці книги. 960 00:47:15,320 --> 00:47:18,546 І помилка в програмі може бути без вичікування такого сценарію. 961 00:47:18,546 --> 00:47:21,420 А потім я просто зрозумів, ой, почекайте хвилину, мені потрібен третій сценарій. 962 00:47:21,420 --> 00:47:23,900 Якщо я зі сторінок, я повинні дійсно просто зупинити. 963 00:47:23,900 --> 00:47:25,330 В іншому випадку, це не визначено. 964 00:47:25,330 --> 00:47:29,260 Що станеться, якщо я тримаю кажучи перегорнути сторінку і повернутися, 965 00:47:29,260 --> 00:47:31,810 це коли комп'ютери заморозити або аварії, коли ви натиснете 966 00:47:31,810 --> 00:47:34,160 деякі непередбачені ситуації, як це. 967 00:47:34,160 --> 00:47:37,280 >> Тепер, що стосується Mike третій algorithm-- Сміта 968 00:47:37,280 --> 00:47:43,150 візьміть телефонну книгу, відкрита книга для first-- до 969 00:47:43,150 --> 00:47:48,640 ні, не перша сторінка на цей раз, до middle-- ой, ну, що б 970 00:47:48,640 --> 00:47:49,640 бути другий алгоритм. 971 00:47:49,640 --> 00:47:50,590 Давайте просто пропустити третій. 972 00:47:50,590 --> 00:47:50,930 >> ГЛЯДАЧІ: Ой, мені дуже шкода. 973 00:47:50,930 --> 00:47:51,971 >> DAVID Маланки: Це нормально. 974 00:47:51,971 --> 00:47:58,590 Давайте просто перейти до third-- відкритим до середини і тепер шукає Майк Сміт. 975 00:47:58,590 --> 00:48:02,300 якщо на сторінці, викличте Майк. 976 00:48:02,300 --> 00:48:04,910 І тоді те, що ми хочемо сказати? 977 00:48:04,910 --> 00:48:06,134 ще що? 978 00:48:06,134 --> 00:48:10,620 979 00:48:10,620 --> 00:48:12,370 Ми можемо висловити це в будь-якій кількості шляхів. 980 00:48:12,370 --> 00:48:13,369 Там немає правильної відповіді. 981 00:48:13,369 --> 00:48:20,819 982 00:48:20,819 --> 00:48:23,735 Добре, якщо не раз, але нам потрібно be-- ОК, ми хочемо розділити на дві частини, 983 00:48:23,735 --> 00:48:25,630 але ми хочемо, щоб піти наліво або йти прямо? 984 00:48:25,630 --> 00:48:29,560 Як ми висловлюємо це поняття? 985 00:48:29,560 --> 00:48:31,790 Ну, а в разі Майка, так, це справедливо. 986 00:48:31,790 --> 00:48:35,050 Але добре, так що це насправді хороша точка. 987 00:48:35,050 --> 00:48:35,550 Добре. 988 00:48:35,550 --> 00:48:36,924 Ми будемо продовжувати йти до цієї логіки. 989 00:48:36,924 --> 00:48:38,182 Так-- 990 00:48:38,182 --> 00:48:39,810 >> ГЛЯДАЧІ: менше половини. 991 00:48:39,810 --> 00:48:40,560 DAVID Маланки: Так. 992 00:48:40,560 --> 00:48:49,820 Так що інакше, якщо сторінка, ми скажемо, менше ніж Сміт, зліва від Сміта, 993 00:48:49,820 --> 00:48:52,220 then-- давайте подивимося, є це буде ускладнювати? 994 00:48:52,220 --> 00:49:01,885 інакше, якщо сторінка передує Сміт, сльозу навпіл, викинути якусь половину? 995 00:49:01,885 --> 00:49:05,643 996 00:49:05,643 --> 00:49:09,140 >> АУДИТОРІЯ: Я думав, це було [нерозбірливо]. 997 00:49:09,140 --> 00:49:11,650 >> DAVID Маланки: Я чую, як відповіді. 998 00:49:11,650 --> 00:49:12,431 >> ГЛЯДАЧІ: зліва. 999 00:49:12,431 --> 00:49:14,430 DAVID Маланки: OK, кинути геть ліва половина, а Lakisa 1000 00:49:14,430 --> 00:49:19,700 сказав раніше, лівий половина, то я як би 1001 00:49:19,700 --> 00:49:23,940 хочу просто йти я йду, метою яких вправо. 1002 00:49:23,940 --> 00:49:27,380 Або що те ж саме, і я зробив трохи трохи безлад початку тут, 1003 00:49:27,380 --> 00:49:30,760 Я хочу ефективно перейдіть до кроку 2 знову, 1004 00:49:30,760 --> 00:49:38,270 де відкритий для middle-- або open-- да, давайте просто скажемо, сторінки в середині. 1005 00:49:38,270 --> 00:49:39,020 І це фіксує це. 1006 00:49:39,020 --> 00:49:39,936 Це вже не книга. 1007 00:49:39,936 --> 00:49:42,210 Це всього лише половина книги, тому відкриті сторінки в середині. 1008 00:49:42,210 --> 00:49:44,010 >> else-- були майже там. 1009 00:49:44,010 --> 00:49:54,000 Крок 6, інакше, якщо сторінка приходить після того, як Сміт, розірвати навпіл, викинути праву половину, 1010 00:49:54,000 --> 00:49:55,680 Перейдіть до кроку 2. 1011 00:49:55,680 --> 00:49:58,920 1012 00:49:58,920 --> 00:50:05,230 ще кинути палити, четвертий сценарій, якщо у нас немає сторінок не залишилося, щоб повернути. 1013 00:50:05,230 --> 00:50:06,394 Таким чином, ми могли б очистити це. 1014 00:50:06,394 --> 00:50:07,560 І ми повинні очистити це. 1015 00:50:07,560 --> 00:50:10,656 Це дуже псевдокод код, якщо ви буде, опис дуже високий рівень. 1016 00:50:10,656 --> 00:50:12,280 Але це, як правило захопити цю ідею. 1017 00:50:12,280 --> 00:50:16,040 >> І, знову ж таки, в цьому сценарії, ми є поняття стану, 1018 00:50:16,040 --> 00:50:20,450 гілка, розвилка, що робить decision--, якщо це, йти цим шляхом, 1019 00:50:20,450 --> 00:50:23,082 інакше, якщо, йти цим шляхом, інакше, якщо, йти цим шляхом. 1020 00:50:23,082 --> 00:50:25,040 І це дуже поширена методика програмування 1021 00:50:25,040 --> 00:50:27,721 щоб вирішити, в якому напрямку йти, так би мовити. 1022 00:50:27,721 --> 00:50:29,970 І у нас також є якийсь пробігаємо структури, де 1023 00:50:29,970 --> 00:50:32,440 що ми робимо щось знову і знову. 1024 00:50:32,440 --> 00:50:34,820 >> Тепер, виявляється, набагато як в цьому прикладі, 1025 00:50:34,820 --> 00:50:37,660 бути супер точним важливо. 1026 00:50:37,660 --> 00:50:42,180 Але ми також бачили щось що ми продовжувати називати абстракції. 1027 00:50:42,180 --> 00:50:45,490 Що це означає, щоб підняти телефонну книгу? 1028 00:50:45,490 --> 00:50:47,740 Ми тільки частково приймаючи як само собою зрозуміле в цій кімнаті 1029 00:50:47,740 --> 00:50:49,340 що це має деякий смислове значення. 1030 00:50:49,340 --> 00:50:51,740 Всі ми тільки знаємо частинно, про, ну, підійміть телефонну книгу. 1031 00:50:51,740 --> 00:50:52,864 Що це насправді означає? 1032 00:50:52,864 --> 00:50:59,060 Ну, це насправді означає продовжити руки, нахилитися, розширте пальці, 1033 00:50:59,060 --> 00:51:03,890 затиснути книгу між пальцями, встати, тягнути руку до вас. 1034 00:51:03,890 --> 00:51:05,940 І ми могли б бути насправді педантичним про це, 1035 00:51:05,940 --> 00:51:08,640 насправді бути супер точним щодо того, що я роблю. 1036 00:51:08,640 --> 00:51:13,300 Але всі ці кроки колективно що це значить, щоб підняти телефонну книгу. 1037 00:51:13,300 --> 00:51:16,940 >> І ось раніше, коли я сказав, кожен з цих перших двох тверджень 1038 00:51:16,940 --> 00:51:20,830 можна розглядати як продовжити або функцію, 1039 00:51:20,830 --> 00:51:24,090 насправді вона являє собою те, що ми продовжують називати абстракції. 1040 00:51:24,090 --> 00:51:28,770 Це походить на високий рівень концептуальної Опис проблеми, яка 1041 00:51:28,770 --> 00:51:31,110 насправді включає в себе досить багато кроків. 1042 00:51:31,110 --> 00:51:34,190 І ось це теж є повторювані теми в програмуванні, 1043 00:51:34,190 --> 00:51:41,125 в результаті чого я міг би написати програму використовуючи синтаксис як 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 А потім синтаксично, я збирається вкрасти щось 1047 00:51:46,510 --> 00:51:48,090 від більшості мов програмування. 1048 00:51:48,090 --> 00:51:51,270 >> Тепер, крок 1 виглядає навіть більше як функції, 1049 00:51:51,270 --> 00:51:53,160 як програміст назвав би це. 1050 00:51:53,160 --> 00:51:58,650 Схоже, що хтось код дав ім'я і дав 1051 00:51:58,650 --> 00:52:03,300 мені використовувати somehow-- в інших словами, що лінія я виділив 1052 00:52:03,300 --> 00:52:07,050 представляє функціональні можливості, які, можливо, Я навіть не реалізувати себе. 1053 00:52:07,050 --> 00:52:10,410 Хтось старше, мудріше я вже розібрався 1054 00:52:10,410 --> 00:52:12,700 як ви висловлюєте поняття збирання телефонну книгу. 1055 00:52:12,700 --> 00:52:15,860 І це як п'ять кроків, які я просто відбарабанили, з верхньої частини моєї голови. 1056 00:52:15,860 --> 00:52:19,350 >> Але він або вона вже реалізована це, дав ті кілька кроків 1057 00:52:19,350 --> 00:52:22,339 ім'я, pick_up_phone_book. 1058 00:52:22,339 --> 00:52:24,380 І дужками тільки те, що більшість програмістів 1059 00:52:24,380 --> 00:52:27,100 робити в кінці заяв, як це. 1060 00:52:27,100 --> 00:52:30,190 Тепер я можу стояти на його або її плечі і ніколи, 1061 00:52:30,190 --> 00:52:32,465 думати про те, що це означає щоб підняти телефонну книгу. 1062 00:52:32,465 --> 00:52:34,090 Я можу просто сказати, візьміть телефонну книгу. 1063 00:52:34,090 --> 00:52:36,690 І це саме те, що всі ми люди робили тут. 1064 00:52:36,690 --> 00:52:38,940 >> Коли ми були, ймовірно, 1 річний, 2-х років, 1065 00:52:38,940 --> 00:52:41,690 хтось повинен навчити нас, що це мав на увазі, щоб підняти телефонну книгу. 1066 00:52:41,690 --> 00:52:43,810 І з тих пір, ми абстрагуємося 1067 00:52:43,810 --> 00:52:46,739 від дуже нецікаві механічні кроки. 1068 00:52:46,739 --> 00:52:48,530 І ми просто мати інтуїтивне розуміння 1069 00:52:48,530 --> 00:52:50,480 що це значить візьміть телефонну книгу. 1070 00:52:50,480 --> 00:52:55,730 >> І ви можете екстраполювати прямо зараз до більш складним things-- 1071 00:52:55,730 --> 00:52:57,640 побудувати будинок. 1072 00:52:57,640 --> 00:52:59,940 Мовляв, для деяких людей, що насправді має сенс. 1073 00:52:59,940 --> 00:53:03,080 Для підрядників, архітекторів, що має якесь значення. 1074 00:53:03,080 --> 00:53:06,400 І вони будуть знати, що робити, якщо Я сказав, йди побудувати будинок. 1075 00:53:06,400 --> 00:53:10,520 >> Але більшість з нас в кімнаті не міг мати справу з цим рівнем абстракції. 1076 00:53:10,520 --> 00:53:14,850 Ви повинні сказати нам як піти отримати лопату і піти отримати бетон 1077 00:53:14,850 --> 00:53:17,250 і цвях шматки дерева разом і все інше 1078 00:53:17,250 --> 00:53:18,830 бере участь в будівництві будівлі. 1079 00:53:18,830 --> 00:53:21,690 І це тому, що ми не маємо все ж був запрограмований, щоб зрозуміти, 1080 00:53:21,690 --> 00:53:23,629 що означає побудувати будинок. 1081 00:53:23,629 --> 00:53:24,920 У нас немає цієї абстракції. 1082 00:53:24,920 --> 00:53:26,570 У нас немає цієї функціональності. 1083 00:53:26,570 --> 00:53:29,930 >> І так, що ви будете бачити в мови програмування, в загальному, 1084 00:53:29,930 --> 00:53:34,570 особливо більш сучасні мови, як Java, PHP, Ruby і Python, 1085 00:53:34,570 --> 00:53:37,610 вони набагато більш зрілим ніж старіших мов, 1086 00:53:37,610 --> 00:53:40,140 як С і С ++, і все ж інші. 1087 00:53:40,140 --> 00:53:42,580 І тому вони приходять з більш Функціональність вбудовується. 1088 00:53:42,580 --> 00:53:45,640 Більше код був написаний люди в минулому 1089 00:53:45,640 --> 00:53:50,520 що тепер ми можемо назвати або закликати або використовувати, так як я натякав 1090 00:53:50,520 --> 00:53:52,231 при цьому з лінії маршруту тут. 1091 00:53:52,231 --> 00:53:55,230 І тому, навіть якщо ми не говоримо про мови програмування самих по собі, 1092 00:53:55,230 --> 00:54:00,230 просто псевдокод код, все з ідеї все ще в цій дискусії. 1093 00:54:00,230 --> 00:54:04,600 І виходить, точність супер важливо, як це абстракція. 1094 00:54:04,600 --> 00:54:06,570 І давайте спробуємо повідомити, що в такий спосіб. 1095 00:54:06,570 --> 00:54:11,000 >> Я випадково міг би зіпсований це миготінням слайд на екрані 1096 00:54:11,000 --> 00:54:12,260 передчасно. 1097 00:54:12,260 --> 00:54:16,550 Але дозвольте мені попросити хороброго добровольця, якщо ви не заперечуєте, підходячи. 1098 00:54:16,550 --> 00:54:19,040 Ви б в передній частині камери, якщо ви в порядку з цим. 1099 00:54:19,040 --> 00:54:24,950 хто хотів би, щоб придумати і дати інструкції для ваших колег тут? 1100 00:54:24,950 --> 00:54:29,540 Просто повинні прийти сюди і стояти тут і сказати кілька слів. 1101 00:54:29,540 --> 00:54:32,890 >> Вікторія посміхається самий і уникаючи очі найбільше. 1102 00:54:32,890 --> 00:54:34,740 Ви були б готові прийти на вгору? 1103 00:54:34,740 --> 00:54:35,240 ДОБРЕ. 1104 00:54:35,240 --> 00:54:38,480 І якщо всі інші на своїх місцях може вийняти шматок макулатури, 1105 00:54:38,480 --> 00:54:39,750 якщо ви будете. 1106 00:54:39,750 --> 00:54:40,760 Підкладка папір добре. 1107 00:54:40,760 --> 00:54:41,990 Приходьте таким чином. 1108 00:54:41,990 --> 00:54:44,580 Чи хтось із паперу, Вам дали вчора, 1109 00:54:44,580 --> 00:54:46,493 просто будь-який чистий аркуш паперу, якщо ви могли б. 1110 00:54:46,493 --> 00:54:52,240 1111 00:54:52,240 --> 00:54:54,870 І якщо у вас немає будь-якої, просто запитайте свого сусіда, якщо ви могли б. 1112 00:54:54,870 --> 00:55:04,220 1113 00:55:04,220 --> 00:55:07,580 >> Так що на даний момент, для У цьому прикладі, Вікторія 1114 00:55:07,580 --> 00:55:11,520 буде грати роль програміст, інженер, який 1115 00:55:11,520 --> 00:55:16,130 необхідно запрограмувати вам все, як і комп'ютери, щоб зробити щось. 1116 00:55:16,130 --> 00:55:19,570 І ми подивимося, які припущення Ви вирішили зробити. 1117 00:55:19,570 --> 00:55:22,700 Ми подивимося, наскільки точно вона хоче бути. 1118 00:55:22,700 --> 00:55:26,220 І якщо ця демонстрація йде педагогічно добре, багато помилок 1119 00:55:26,220 --> 00:55:29,220 буде зроблено, що ми будемо потім використовувати що в якості можливості для обговорення. 1120 00:55:29,220 --> 00:55:32,010 Але проблема для вас повинен бути, щоб уникнути цих помилок, 1121 00:55:32,010 --> 00:55:32,896 бути хорошим програмістом. 1122 00:55:32,896 --> 00:55:35,520 І тому завдання під рукою, якщо ви б любив гуляти тут, 1123 00:55:35,520 --> 00:55:38,799 знаходиться в передній частині Вікторії на екрані here-- і, сподіваюся, ніхто з вас 1124 00:55:38,799 --> 00:55:40,590 пам'ятайте про це, коли я миготять на екрані. 1125 00:55:40,590 --> 00:55:44,097 І не оглядайся взагалі, тому що є ще один екран в цій кімнаті 1126 00:55:44,097 --> 00:55:44,930 що я можу вимкнути. 1127 00:55:44,930 --> 00:55:46,620 Так що не обертатися. 1128 00:55:46,620 --> 00:55:49,090 >> У передній частині Вікторія це той же крик. 1129 00:55:49,090 --> 00:55:54,170 І її робота зараз розповісти вам все на вашому аркуші паперу, що малювати. 1130 00:55:54,170 --> 00:55:57,020 І ми побачимо, грунтуючись на усні інструкції поодинці, 1131 00:55:57,020 --> 00:56:00,020 комп'ютерний код, якщо ви будете, наскільки точні ваші малюнки 1132 00:56:00,020 --> 00:56:02,330 are-- ваші реалізацій. 1133 00:56:02,330 --> 00:56:02,980 Мати сенс? 1134 00:56:02,980 --> 00:56:03,604 >> ГЛЯДАЧІ: Так. 1135 00:56:03,604 --> 00:56:04,980 DAVID Маланки: OK, виконати. 1136 00:56:04,980 --> 00:56:06,030 >> ГЛЯДАЧІ: Намалюйте квадрат. 1137 00:56:06,030 --> 00:56:09,050 >> [Сміх] 1138 00:56:09,050 --> 00:56:12,310 >> DAVID Маланки: І немає можуть бути задані питання. 1139 00:56:12,310 --> 00:56:13,720 Можна тільки робити те, що ви сказали. 1140 00:56:13,720 --> 00:56:17,570 1141 00:56:17,570 --> 00:56:22,550 Так, і якщо у вас є сучасні гірки відкрити на вкладці, не дивіться на вкладці. 1142 00:56:22,550 --> 00:56:23,670 ДОБРЕ? 1143 00:56:23,670 --> 00:56:26,135 >> ГЛЯДАЧІ: ОК, намалюйте коло. 1144 00:56:26,135 --> 00:56:32,544 1145 00:56:32,544 --> 00:56:34,872 Slope-- я можу сказати, нахил? 1146 00:56:34,872 --> 00:56:35,830 DAVID Маланки: До вас. 1147 00:56:35,830 --> 00:56:38,230 1148 00:56:38,230 --> 00:56:38,980 ГЛЯДАЧІ: Схил. 1149 00:56:38,980 --> 00:56:46,330 1150 00:56:46,330 --> 00:56:49,795 І трикутник. 1151 00:56:49,795 --> 00:56:50,850 >> DAVID Маланки: Добре. 1152 00:56:50,850 --> 00:56:52,286 І залишитися тут на мить. 1153 00:56:52,286 --> 00:56:56,046 1154 00:56:56,046 --> 00:56:58,910 І я збираюся приїхати навколо всього декілька хвилин. 1155 00:56:58,910 --> 00:57:02,420 І не потрібно ставити свої імена на ньому. 1156 00:57:02,420 --> 00:57:05,030 Дозвольте мені навколо і зібрати свої малюнки, 1157 00:57:05,030 --> 00:57:08,330 якщо ви не заперечуєте, розриваючи їх. 1158 00:57:08,330 --> 00:57:12,110 >> Ось те, що ми повернулися. 1159 00:57:12,110 --> 00:57:14,770 Я буду проектувати його на екрані. 1160 00:57:14,770 --> 00:57:18,310 Я бачу, квадрат, коло, схил, і трикутник. 1161 00:57:18,310 --> 00:57:20,130 Так що була одна відповідь там. 1162 00:57:20,130 --> 00:57:23,640 І let's-- вигуки. 1163 00:57:23,640 --> 00:57:25,370 Дякую. 1164 00:57:25,370 --> 00:57:30,710 Ось інший асортимент, і один за ним. 1165 00:57:30,710 --> 00:57:34,130 1166 00:57:34,130 --> 00:57:37,120 >> Так що всі вони, здається, щоб захопити дух. 1167 00:57:37,120 --> 00:57:38,600 Дякую. 1168 00:57:38,600 --> 00:57:44,970 Там інша, і ось ще один. 1169 00:57:44,970 --> 00:57:51,590 Інтерпретація нахилу є трохи відрізняється, трохи спокуслива. 1170 00:57:51,590 --> 00:57:57,140 І ближче, або через чудова специфіка, з якою ви маєте 1171 00:57:57,140 --> 00:58:03,520 описано, або, може бути, ви начебто бачив його раніше, це дійсно 1172 00:58:03,520 --> 00:58:06,340 що Вікторія була насправді з описом. 1173 00:58:06,340 --> 00:58:09,190 >> Але тепер, ті з вас, хто не одержати його зовсім вірно, 1174 00:58:09,190 --> 00:58:11,140 давайте запропонувати деякі заперечення тут. 1175 00:58:11,140 --> 00:58:13,770 Так що Вікторія спочатку сказав намалювати квадрат. 1176 00:58:13,770 --> 00:58:15,830 І тепер, ми можемо припустити, заради сьогоднішнього дня 1177 00:58:15,830 --> 00:58:17,538 що все знають як малювати квадрат. 1178 00:58:17,538 --> 00:58:20,590 Але це не зовсім зрозуміло, правда? 1179 00:58:20,590 --> 00:58:23,220 Як ще ви могли б малюється квадрат, або де 1180 00:58:23,220 --> 00:58:27,114 можуть бути деякі неясності тут для комп'ютера? 1181 00:58:27,114 --> 00:58:28,280 ГЛЯДАЧІ: Розташування та розмір. 1182 00:58:28,280 --> 00:58:28,980 DAVID Маланки: Місцезнаходження, чи не так? 1183 00:58:28,980 --> 00:58:32,070 Всі ви мали папір якійсь формі, як правило, прямокутниками, але трохи 1184 00:58:32,070 --> 00:58:32,830 різні розміри. 1185 00:58:32,830 --> 00:58:36,250 Але ви, звичайно, могли б намальовані, якщо ви хочете, величезний квадрат, може бути, 1186 00:58:36,250 --> 00:58:37,220 крихітний квадрат. 1187 00:58:37,220 --> 00:58:38,417 Може бути, це був повернений. 1188 00:58:38,417 --> 00:58:39,500 Я не думаю, що ми побачили, що. 1189 00:58:39,500 --> 00:58:41,790 Але це могло б бути більш алмазів як, але до сих пір, проте, 1190 00:58:41,790 --> 00:58:42,900 математично квадрат. 1191 00:58:42,900 --> 00:58:44,850 Так що, можливо, було неоднозначним. 1192 00:58:44,850 --> 00:58:46,709 >> Потім вона сказала, намалюйте коло. 1193 00:58:46,709 --> 00:58:49,250 Деякі з вас зробив зробити його поруч з він, який не є необгрунтованим, 1194 00:58:49,250 --> 00:58:52,450 тому, що люди схильні думати, чи читати справа наліво в більшості мов, тому не 1195 00:58:52,450 --> 00:58:53,017 погане припущення. 1196 00:58:53,017 --> 00:58:55,100 Але це коло може мати був всередині квадрата, 1197 00:58:55,100 --> 00:58:57,600 могло бути навколо квадрат, міг би бути в іншому місці 1198 00:58:57,600 --> 00:58:59,480 на аркуші, так що, можливо, неоднозначний. 1199 00:58:59,480 --> 00:59:03,290 >> Нахил може бути, може бути, приймаючи свободи в усній формі 1200 00:59:03,290 --> 00:59:04,200 з тим, що це означає. 1201 00:59:04,200 --> 00:59:06,980 І деякі з вас інтерпретовані це як хвиляста лінія 1202 00:59:06,980 --> 00:59:08,560 або пряма лінія чи щось таке. 1203 00:59:08,560 --> 00:59:11,719 А потім трикутник, теж може мати був орієнтований в будь-якій кількості шляхів. 1204 00:59:11,719 --> 00:59:14,760 Коротше кажучи, навіть з чимось, що ви дивитеся і ви як, нічого собі, так 1205 00:59:14,760 --> 00:59:17,020 просто, дитина може намалювати, а не 1206 00:59:17,020 --> 00:59:19,640 насправді, якщо ви не супер, супер переконливими 1207 00:59:19,640 --> 00:59:22,045 і сказати комп'ютера точно, що робити. 1208 00:59:22,045 --> 00:59:24,420 Так що, якщо ми могли б, якщо у вас є інший аркуш паперу, давайте 1209 00:59:24,420 --> 00:59:26,710 спробуйте це ще раз. 1210 00:59:26,710 --> 00:59:29,880 І я збираюся дати Вікторії один Інший приклад на екрані тут. 1211 00:59:29,880 --> 00:59:34,060 І знову ж таки, не обертайся і не дивіться на слайдах. 1212 00:59:34,060 --> 00:59:37,304 І я дам їй на мить, щоб думати про те, як описати це. 1213 00:59:37,304 --> 00:59:39,012 Не дозволяйте їм бачити страх в ваших очах. 1214 00:59:39,012 --> 00:59:40,820 >> [Сміх] 1215 00:59:40,820 --> 00:59:43,710 >> І знову, на цей раз важелі деякі з цих страв додому 1216 00:59:43,710 --> 00:59:48,130 і спробувати отримати майже всіх по крайней мере, правильну відповідь. 1217 00:59:48,130 --> 00:59:52,260 >> АУДИТОРІЯ: Добре, візьміть шматок паперу, подивіться 1218 00:59:52,260 --> 00:59:54,500 в середині цього шматка паперу. 1219 00:59:54,500 --> 00:59:59,591 В середині цього шматка паперу, малювати куб. 1220 00:59:59,591 --> 01:00:01,244 >> [Сміх] 1221 01:00:01,244 --> 01:00:02,660 DAVID Маланки: Що ми дізналися? 1222 01:00:02,660 --> 01:00:03,540 Ми були так близькі. 1223 01:00:03,540 --> 01:00:06,320 1224 01:00:06,320 --> 01:00:09,045 Добре, повторіть, якщо ви могли б, для всіх. 1225 01:00:09,045 --> 01:00:13,210 >> ГЛЯДАЧІ: В середині аркуш паперу, намалюйте об'єкт, 1226 01:00:13,210 --> 01:00:14,842 який виглядає як куб. 1227 01:00:14,842 --> 01:00:17,332 >> DAVID Маланки: Добре, це все, що ви отримаєте, щоб працювати с. 1228 01:00:17,332 --> 01:00:20,010 1229 01:00:20,010 --> 01:00:23,080 Дозвольте мені бути аналітичним і не стільки критично, 1230 01:00:23,080 --> 01:00:25,720 але зробити заявку що Вікторія виразно 1231 01:00:25,720 --> 01:00:28,967 здається, думає в дуже абстракціями високого рівня, які 1232 01:00:28,967 --> 01:00:29,800 не є необгрунтованим. 1233 01:00:29,800 --> 01:00:32,160 Тому що в іншому випадку, ми б все бути досить дисфункціональним, 1234 01:00:32,160 --> 01:00:35,740 якщо ми повинні були бути дуже точним з усім, що ми робимо в світі. 1235 01:00:35,740 --> 01:00:38,890 >> Але сказати, перейти до middle-- I думали, що ми були на такій хорошій трасі 1236 01:00:38,890 --> 01:00:42,340 там, як перейти до самого центру сторінки, а потім намалюйте куб. 1237 01:00:42,340 --> 01:00:45,730 Таким чином, вона думає в абстракціях, тому що вона як і раніше перегляду 1238 01:00:45,730 --> 01:00:48,490 що на екрані, як насправді куб. 1239 01:00:48,490 --> 01:00:51,185 Але є дуже багато можливостей для інтерпретації там. 1240 01:00:51,185 --> 01:00:53,560 І справді, є так багато інші способи, якими Ви могли б висловити 1241 01:00:53,560 --> 01:00:55,101 що, що я пропоную в хвилину. 1242 01:00:55,101 --> 01:00:59,770 Так що тут у нас є одне втілення з picture-- whoops-- одного 1243 01:00:59,770 --> 01:01:02,830 втілення картини, так трохи тривимірності до нього, 1244 01:01:02,830 --> 01:01:04,160 що приємно. 1245 01:01:04,160 --> 01:01:08,470 >> Ось ще одна, де у вас є те ж саме, хоча це свого роду відкритий куб. 1246 01:01:08,470 --> 01:01:12,020 Деякі люди взяли його трохи більш плоским, двовимірним. 1247 01:01:12,020 --> 01:01:13,910 І це прекрасно. 1248 01:01:13,910 --> 01:01:17,380 Так що, насправді в центр паперу. 1249 01:01:17,380 --> 01:01:22,720 Це той, який я думаю, що ви будете як, тому що якщо ми йдемо сюди, 1250 01:01:22,720 --> 01:01:25,130 це те, що вона описувала. 1251 01:01:25,130 --> 01:01:29,570 Так що тепер, дозвольте мені запропонувати, як ще ми могли б описати цю ситуацію. 1252 01:01:29,570 --> 01:01:34,070 >> Назад в день, один з найбільш більш поширені способи навчитися програмуванню 1253 01:01:34,070 --> 01:01:38,900 повинен був написати код, пише лінії інструкцій, 1254 01:01:38,900 --> 01:01:42,640 яка управляла трохи черепаха на екрані. 1255 01:01:42,640 --> 01:01:45,660 Логотип і інші варіанти цього була назва мови. 1256 01:01:45,660 --> 01:01:47,550 І черепаха жила в світі. 1257 01:01:47,550 --> 01:01:49,970 >> Отже, нехай це прямокутний простір його світ. 1258 01:01:49,970 --> 01:01:53,340 А ви б почати з assuming-- I насправді не знаю, як малювати черепаху, 1259 01:01:53,340 --> 01:01:54,740 так що давайте робити це так. 1260 01:01:54,740 --> 01:01:57,340 А потім у нього снаряд а потім, можливо, деякі ноги. 1261 01:01:57,340 --> 01:01:59,840 Таким чином, ви могли б мати цей маленький символ на екрані. 1262 01:01:59,840 --> 01:02:02,270 >> І предмет цього мова програмування 1263 01:02:02,270 --> 01:02:06,070 повинен був змусити черепаху йти вгору, вниз, вліво, вправо 1264 01:02:06,070 --> 01:02:08,420 і покласти перо вниз або забрати його пера вгору, 1265 01:02:08,420 --> 01:02:12,720 так що він може насправді малювати на екрані в цьому дуже плоский прямокутний світ. 1266 01:02:12,720 --> 01:02:16,850 Так де я думав, що ти міг би йти, і де ви повинні розглянути дайвінг 1267 01:02:16,850 --> 01:02:19,520 вниз подумки при описі інструкції в більш загальному плані, 1268 01:02:19,520 --> 01:02:21,720 Я б стверджувати, це покласти ваші перо вниз в middle-- 1269 01:02:21,720 --> 01:02:23,100 і ми позбутися черепаха, тому що я не можу 1270 01:02:23,100 --> 01:02:24,680 зберегти малюнок його дуже добре. 1271 01:02:24,680 --> 01:02:27,170 >> А тепер, як ще міг Я говорю малювати куб? 1272 01:02:27,170 --> 01:02:32,830 Ну, ми могли б сказати щось на кшталт нічиєю діагональна лінія на північний схід, наприклад, 1273 01:02:32,830 --> 01:02:35,182 або під кутом 45 градусів вгору. 1274 01:02:35,182 --> 01:02:36,640 І це, можливо, отримали мене тут. 1275 01:02:36,640 --> 01:02:38,380 І я досить далеко від куба. 1276 01:02:38,380 --> 01:02:42,430 Але тепер, я міг би сказати щось як повернути на 90 градусів вліво 1277 01:02:42,430 --> 01:02:47,370 і намалювати лінію рівної довжини на північний захід. 1278 01:02:47,370 --> 01:02:49,470 І я міг би продовжити з аналогічними напрямками. 1279 01:02:49,470 --> 01:02:50,720 І це не буде легко. 1280 01:02:50,720 --> 01:02:53,345 І, чесно кажучи, ми, ймовірно, був тут протягом п'яти хвилин. 1281 01:02:53,345 --> 01:02:59,600 Але, можливо, ми отримали б, щоб то, що, врешті-решт, 1282 01:02:59,600 --> 01:03:04,280 закінчує тим, що куб, але ми пірнув всередині цієї абстракції 1283 01:03:04,280 --> 01:03:06,370 зробити це при такій низькій рівень, який ви не можете реально 1284 01:03:06,370 --> 01:03:09,795 побачити, що ви робите, поки все річ, насправді є на сторінці. 1285 01:03:09,795 --> 01:03:12,670 І так це загальний принцип, знову ж таки, programming-- цієї ідеї 1286 01:03:12,670 --> 01:03:13,320 абстракції. 1287 01:03:13,320 --> 01:03:15,920 Це так чудово потужний, тому що знову, 1288 01:03:15,920 --> 01:03:19,281 вона просто сказала, малювати куб, який все ми досить багато б звертав уваги дуже швидко. 1289 01:03:19,281 --> 01:03:21,030 Ми б просто зрозуміти, Добре, малювати куб. 1290 01:03:21,030 --> 01:03:24,030 Ми не могли б знати орієнтацію, таким чином, ми могли б бути трохи більш точним, 1291 01:03:24,030 --> 01:03:26,297 але ми можемо уявити собі, як правило або знаєте, що таке куб. 1292 01:03:26,297 --> 01:03:28,130 І це корисно, тому що якщо кожен раз, коли ви 1293 01:03:28,130 --> 01:03:31,540 сіл програмістом в клавіатура для написання коду, 1294 01:03:31,540 --> 01:03:33,912 якщо ви повинні були думати в таких низький рівень, ніхто з нас 1295 01:03:33,912 --> 01:03:35,120 буде коли-небудь що-небудь зробити. 1296 01:03:35,120 --> 01:03:38,259 І, звичайно ж, ніхто з нас не буде отримувати задоволення від процесу написання коду. 1297 01:03:38,259 --> 01:03:41,550 Було б, як писав в 0 і 1-х, який відверто не так давно 1298 01:03:41,550 --> 01:03:43,680 люди були написання коду в 0 і 1-х. 1299 01:03:43,680 --> 01:03:46,960 І ми дуже швидко придумали це вищий рівень languages-- 1300 01:03:46,960 --> 01:03:49,410 C ++ і Java, і інші. 1301 01:03:49,410 --> 01:03:52,500 >> Так давайте спробуємо це ще раз просто перевертати столи, так що все з нас 1302 01:03:52,500 --> 01:03:55,450 мають можливість подумати в досить таким же чином. 1303 01:03:55,450 --> 01:03:59,230 Чи можемо ми отримати ще один доброволець цей час, щоб підійти до дошки і малювати, 1304 01:03:59,230 --> 01:04:01,480 не читати? 1305 01:04:01,480 --> 01:04:02,070 Так, добре. 1306 01:04:02,070 --> 01:04:04,820 Бен, давай вгору. 1307 01:04:04,820 --> 01:04:08,510 І, Бен, в цьому випадку, як тільки ви особою до дошки, не дивитися вліво, 1308 01:04:08,510 --> 01:04:09,370 не дивитеся прямо. 1309 01:04:09,370 --> 01:04:12,367 Тільки зробіть те, що ваш колеги тут сказати вам. 1310 01:04:12,367 --> 01:04:14,950 А для всіх інших в кімнати, ви тепер програміст. 1311 01:04:14,950 --> 01:04:16,020 Він комп'ютер. 1312 01:04:16,020 --> 01:04:21,395 І картина, яку я вибрав тут Заздалегідь це один тут. 1313 01:04:21,395 --> 01:04:24,490 1314 01:04:24,490 --> 01:04:27,660 Вони просто-- вони думають смішні жарти все. 1315 01:04:27,660 --> 01:04:31,510 >> Так чи хтось хотів би добровольцем першу інструкцію 1316 01:04:31,510 --> 01:04:35,470 або твердження, що має перо командного Бен? 1317 01:04:35,470 --> 01:04:40,850 І ми зробимо це все разом, може бути, одна команда від кожної людини. 1318 01:04:40,850 --> 01:04:41,440 Мені дуже шкода? 1319 01:04:41,440 --> 01:04:42,440 >> ГЛЯДАЧІ: Намалюйте коло. 1320 01:04:42,440 --> 01:04:45,866 DAVID Маланки: Намалюйте коло це перше, що я почув. 1321 01:04:45,866 --> 01:04:47,100 >> ГЛЯДАЧІ: нагорі. 1322 01:04:47,100 --> 01:04:48,140 >> DAVID Маланки: нагорі. 1323 01:04:48,140 --> 01:04:52,504 Добре, ми можемо дозволити вам видалити, скасувати. 1324 01:04:52,504 --> 01:04:53,420 А тепер хтось інший. 1325 01:04:53,420 --> 01:04:55,994 Ден, ви були б зручними пропонуючи таку інструкцію? 1326 01:04:55,994 --> 01:05:02,070 >> АУДИТОРІЯ: Звичайно, малювати центр в нижній частині кола, 1327 01:05:02,070 --> 01:05:07,121 з small-- трохи невеликий простір від того, 1328 01:05:07,121 --> 01:05:15,420 намалювати пряму лінію вниз до трьох чверті шляху вниз дошки 1329 01:05:15,420 --> 01:05:17,845 під невеликим кутом до лівої сторони. 1330 01:05:17,845 --> 01:05:21,250 1331 01:05:21,250 --> 01:05:22,620 >> DAVID Маланки: Добре. 1332 01:05:22,620 --> 01:05:24,086 >> ГЛЯДАЧІ: невеликий кут. 1333 01:05:24,086 --> 01:05:32,807 >> DAVID Маланки: Undo, Control-Z. ДОБРЕ. 1334 01:05:32,807 --> 01:05:34,890 Андрій, ви хочете запропонувати до наступної інструкції? 1335 01:05:34,890 --> 01:05:35,515 >> АУДИТОРІЯ: Звичайно. 1336 01:05:35,515 --> 01:05:43,250 З нижньої частини цієї лінії, подальше незначне angle-- 1337 01:05:43,250 --> 01:05:49,024 whoops-- може бути близько третини довжини [нерозбірливо], 1338 01:05:49,024 --> 01:05:52,928 невеликий кут вниз і, як третину довжини [нерозбірливо]. 1339 01:05:52,928 --> 01:05:57,550 1340 01:05:57,550 --> 01:06:00,578 Так що так, з цього моменту, намалювати лінію на третину 1341 01:06:00,578 --> 01:06:04,150 довжини попереднього лінія далі вліво. 1342 01:06:04,150 --> 01:06:08,416 1343 01:06:08,416 --> 01:06:10,040 >> DAVID Маланки: Це добре? 1344 01:06:10,040 --> 01:06:12,330 Пряма лінія, це нормально? 1345 01:06:12,330 --> 01:06:14,900 Добре, Олів'є, ви хочете запропонувати на наступний? 1346 01:06:14,900 --> 01:06:28,564 >> ГЛЯДАЧІ: [нерозбірливо] з нижній частині кола, [нерозбірливо]. 1347 01:06:28,564 --> 01:06:32,000 1348 01:06:32,000 --> 01:06:45,126 Намалюйте на правій стороні з [нерозбірливо] сантиметрів. 1349 01:06:45,126 --> 01:06:46,560 >> [Сміх] 1350 01:06:46,560 --> 01:06:49,872 >> DAVID Маланки: Я думаю, що ви збираєтеся повинні перетворити це дюйма тут. 1351 01:06:49,872 --> 01:06:50,764 >> АУДИТОРІЯ: Стоп. 1352 01:06:50,764 --> 01:06:52,186 >> [Сміх] 1353 01:06:52,186 --> 01:06:54,570 >> DAVID Маланки: OK. 1354 01:06:54,570 --> 01:06:56,660 [? Ара ,?] Ви хочете запропонувати на наступний? 1355 01:06:56,660 --> 01:07:00,653 1356 01:07:00,653 --> 01:07:15,443 >> ГЛЯДАЧІ: малювати [нерозбірливо] верхня [нерозбірливо] те ж саме. 1357 01:07:15,443 --> 01:07:28,829 [Нерозбірливо] коло, залучити до [Нерозбірливо] і малювати [нерозбірливо]. 1358 01:07:28,829 --> 01:07:33,799 1359 01:07:33,799 --> 01:07:36,730 >> DAVID Маланки: Добре, більше не скасувати. 1360 01:07:36,730 --> 01:07:38,390 Давайте зробимо ще одну або дві команди. 1361 01:07:38,390 --> 01:07:40,825 Кріс, ви хочете запропонувати один? 1362 01:07:40,825 --> 01:07:46,182 >> ГЛЯДАЧІ: На дні окружності, [нерозбірливо] 1363 01:07:46,182 --> 01:07:51,528 намалювати лінію, рівну виносних вниз вліво [нерозбірливо]. 1364 01:07:51,528 --> 01:07:59,304 1365 01:07:59,304 --> 01:08:00,590 >> DAVID Маланки: OK. 1366 01:08:00,590 --> 01:08:01,170 Ендрю? 1367 01:08:01,170 --> 01:08:02,472 Ми did-- Karim? 1368 01:08:02,472 --> 01:08:06,891 1369 01:08:06,891 --> 01:08:13,765 >> ГЛЯДАЧІ: Починаючи з правої лінії, кінець лівої лінії, в нижній частині, 1370 01:08:13,765 --> 01:08:21,012 ви збираєтеся йти прямо про такої ж довжини, як лінії 1371 01:08:21,012 --> 01:08:27,680 ви на, залучаючи до правий [нерозбірливо]. 1372 01:08:27,680 --> 01:08:33,572 1373 01:08:33,572 --> 01:08:37,991 [Нерозбірливо] градусів, так що [нерозбірливо] градусів на правій стороні. 1374 01:08:37,991 --> 01:08:41,919 1375 01:08:41,919 --> 01:08:43,500 >> DAVID Маланки: Добре. 1376 01:08:43,500 --> 01:08:44,029 Давайте паузу. 1377 01:08:44,029 --> 01:08:44,950 Не оглядайся поки. 1378 01:08:44,950 --> 01:08:46,783 Давайте паузу, і давайте спробувати ще одну спробу 1379 01:08:46,783 --> 01:08:48,850 перш ніж відкрити Бен що він малював. 1380 01:08:48,850 --> 01:08:51,189 Чи можете ви перетасувати Бена right-- або насправді, 1381 01:08:51,189 --> 01:08:54,080 немає, давайте просто дати вам інша дошка, ще краще. 1382 01:08:54,080 --> 01:08:57,640 Так що б хтось зараз подобається прийняти більш підходу 1383 01:08:57,640 --> 01:09:02,149 що Вікторія прийняла раніше, де ми говоримо на більш високому рівні абстракції 1384 01:09:02,149 --> 01:09:05,149 і всього пропозиції або два опису Бен 1385 01:09:05,149 --> 01:09:07,229 що малювати без потрапляючи в бур'янах, 1386 01:09:07,229 --> 01:09:10,670 так би мовити, на цьому нижчому рівні? 1387 01:09:10,670 --> 01:09:11,206 Вікторія. 1388 01:09:11,206 --> 01:09:11,706 [Сміх] 1389 01:09:11,706 --> 01:09:14,249 ГЛЯДАЧІ: Намалюйте фігуру пішого людини. 1390 01:09:14,249 --> 01:09:18,866 І його ноги і руки повинні бути права сторона. 1391 01:09:18,866 --> 01:09:20,505 >> DAVID Маланки: Добре, це все, що ви отримаєте. 1392 01:09:20,505 --> 01:09:27,210 1393 01:09:27,210 --> 01:09:27,710 Добре. 1394 01:09:27,710 --> 01:09:31,609 Чому б нам не відкрити Бен, що він зробив. 1395 01:09:31,609 --> 01:09:32,890 Так оплесками. 1396 01:09:32,890 --> 01:09:35,700 Це було найважче, мабуть. 1397 01:09:35,700 --> 01:09:37,931 >> Так що навіть якщо ми говоримо в досить дурні терміни 1398 01:09:37,931 --> 01:09:39,680 про просто малюнок фотографії, сподіваюся, ви 1399 01:09:39,680 --> 01:09:44,226 може реально оцінити ступінь виразність, які можуть бути необхідні 1400 01:09:44,226 --> 01:09:45,850 для того, щоб повідомити комп'ютера, що робити. 1401 01:09:45,850 --> 01:09:50,370 І справді, той факт, що Бен був в змозі зробити це так швидко 1402 01:09:50,370 --> 01:09:54,227 є свого роду заповіт з використанням мова, може бути, більш високий рівень 1403 01:09:54,227 --> 01:09:57,060 версія англійської мови, що дозволяє йому просто використовувати слова або почути слова 1404 01:09:57,060 --> 01:09:59,990 від Вікторії, які дозволяють йому ці abstractions-- просто малювати 1405 01:09:59,990 --> 01:10:03,020 фігура ходити до right-- такого роду має 1406 01:10:03,020 --> 01:10:07,100 деякі смислове значення для нього цього не майже настільки ж очевидно, коли ви тільки 1407 01:10:07,100 --> 01:10:10,310 кажучи, покласти ручку вниз, малювати вправо, малювати вліво. 1408 01:10:10,310 --> 01:10:12,420 >> І ось це теж дуже поширені в програмуванні. 1409 01:10:12,420 --> 01:10:15,253 Це було б сказати, що подібно дуже низький рівень мови, програмування 1410 01:10:15,253 --> 01:10:16,730 в 0 і 1, якщо ви будете. 1411 01:10:16,730 --> 01:10:19,320 І це було б більш високий рівень Мова програмування в Java, 1412 01:10:19,320 --> 01:10:20,278 або щось в цьому роді. 1413 01:10:20,278 --> 01:10:22,050 трохи спрощенням, але це 1414 01:10:22,050 --> 01:10:24,310 свого роду як емоційний відчуття, що ви відчуваєте, коли 1415 01:10:24,310 --> 01:10:26,630 використовуючи один вид річ або інший. 1416 01:10:26,630 --> 01:10:32,650 Трохи розчарування тут необхідністю для такої точності, але можливість 1417 01:10:32,650 --> 01:10:34,930 щоб бути трохи вільніше з інтерпретація тут. 1418 01:10:34,930 --> 01:10:38,060 Але, звичайно, помилки може виникнути в результаті. 1419 01:10:38,060 --> 01:10:40,500 >> Якщо ви хочете на home-- ми не робитиме це одне в class-- 1420 01:10:40,500 --> 01:10:41,900 але якщо ви хочете довести цей один будинок, 1421 01:10:41,900 --> 01:10:43,387 Я думав, що ми зануримося в це. 1422 01:10:43,387 --> 01:10:45,970 Так що якщо ви хочете грати в цю гра з іншими значними 1423 01:10:45,970 --> 01:10:49,180 або діти чи щось таке, ви могли б насолоджуватися, що добре. 1424 01:10:49,180 --> 01:10:54,460 >> Так що давайте йти вперед і дивитися на один останній річ тут для обчислювального мислення. 1425 01:10:54,460 --> 01:10:57,010 І це підводить нас до Джону Олівер, а не для кліпу 1426 01:10:57,010 --> 01:11:00,070 Ви, можливо, бачили минулої ночі, але кілька недавніх випусків. 1427 01:11:00,070 --> 01:11:03,310 Кілька місяців тому, Volkswagen взяв зовсім небагато зенітної 1428 01:11:03,310 --> 01:11:05,651 з якої причини, якщо ви знаєте? 1429 01:11:05,651 --> 01:11:07,025 Що вони отримали неприємності через? 1430 01:11:07,025 --> 01:11:10,270 1431 01:11:10,270 --> 01:11:14,030 >> Так, так що вони emissions-- намагалися бити викидів 1432 01:11:14,030 --> 01:11:19,100 Тести по суті, маючи їх автомобілі забруднюють навколишнє середовище менше 1433 01:11:19,100 --> 01:11:23,620 коли їхні автомобілі випробовувалися і забруднюють навколишнє середовище більше 1434 01:11:23,620 --> 01:11:25,547 коли автомобілі не були випробувані. 1435 01:11:25,547 --> 01:11:28,630 І що все більше і більше цікавим в світі, так як ви можете припускаються 1436 01:11:28,630 --> 01:11:34,072 від обговорень like--, що it-- CarPlay, програмне забезпечення від Apple для автомобілів 1437 01:11:34,072 --> 01:11:35,780 а також той факт, що багато з нас все більше і більше 1438 01:11:35,780 --> 01:11:38,390 мають сенсорні екрани в наших автомобілях, є страшне кількість 1439 01:11:38,390 --> 01:11:41,250 програмного забезпечення в Народному автомобілі сьогодні, що 1440 01:11:41,250 --> 01:11:45,650 відверто відкриває цілу банку з хробаками, коли мова йде про безпеку і фізичної небезпеки. 1441 01:11:45,650 --> 01:11:48,070 Але на сьогоднішній день, давайте зосередитися тільки на те, що 1442 01:11:48,070 --> 01:11:52,170 участь в написанні програмного забезпечення що могло б маніпуляціям систему. 1443 01:11:52,170 --> 01:11:54,510 >> для визначення проблема, для тих, хто не знайомий, 1444 01:11:54,510 --> 01:11:55,740 давайте поглянемо на Джона Олівера. 1445 01:11:55,740 --> 01:11:58,115 А для тих, хто знайомий з проблема, давайте подивимося на нього 1446 01:11:58,115 --> 01:12:00,480 в цікавій ігровій лінзи через Джон Олівер, а також. 1447 01:12:00,480 --> 01:12:05,810 Отже, дозвольте мені вдарив грати на цьому, я думаю, трихвилинний введення. 1448 01:12:05,810 --> 01:12:07,074 Блін. 1449 01:12:07,074 --> 01:12:07,740 [Відеовідтворення] 1450 01:12:07,740 --> 01:12:08,170 -Cars-- 1451 01:12:08,170 --> 01:12:09,919 DAVID Маланки: Очевидно, на YouTube, it's-- 1452 01:12:09,919 --> 01:12:12,500 - --the Розумні персонажі Форсаж фільми. 1453 01:12:12,500 --> 01:12:16,080 На цьому тижні, німецький автовиробник Volkswagen виявився 1454 01:12:16,080 --> 01:12:19,430 в середині скандалу потенційно кримінальні пропорції. 1455 01:12:19,430 --> 01:12:23,020 >> -Volkswagen Готується мільярди штрафів, можливі кримінальні звинувачення 1456 01:12:23,020 --> 01:12:25,530 для її керівників, а компанія вибачається 1457 01:12:25,530 --> 01:12:28,790 за фальсифікацію 11 мільйонів автомобілів в допомогти йому перемогти випробування на викиди. 1458 01:12:28,790 --> 01:12:32,110 >> -Certain Дизельні моделі були розроблені зі складним програмним забезпеченням, 1459 01:12:32,110 --> 01:12:35,410 використовували інформацію, в тому числі положення рульового колеса і транспортного засобу 1460 01:12:35,410 --> 01:12:38,820 Швидкість, щоб визначити, що автомобіль був проходять випробування на викиди. 1461 01:12:38,820 --> 01:12:42,620 Відповідно з цією обставиною, двигун призведе до скорочення викидів токсичних речовин. 1462 01:12:42,620 --> 01:12:46,040 Але машина була оснащена обійти що, коли він був женуть. 1463 01:12:46,040 --> 01:12:51,370 Викиди збільшилися від 10 до 40 рази вище допустимих рівнів EPA. 1464 01:12:51,370 --> 01:12:55,920 >> -Wow, Від 10 до 40 раз більше, ніж EPA дозволяє. 1465 01:12:55,920 --> 01:12:59,570 Це найгірше, Volkswagen коли-небудь робив, 1466 01:12:59,570 --> 01:13:04,200 щось ви могли б сказати, якщо ви ніколи не чули про Другу світову війну. 1467 01:13:04,200 --> 01:13:09,710 Але, можливо, найвірніший ознака того, як багато клопоту Volkswagen перебуває, 1468 01:13:09,710 --> 01:13:12,730 є те, що люди на самому зверху зробили крок вниз. 1469 01:13:12,730 --> 01:13:16,320 Генеральний директор подав у відставку в середу після того, як підіймаються, щоб зробити ремонтно-відновлювальні роботи, 1470 01:13:16,320 --> 01:13:20,380 сказавши, що він нескінченно шкода, що звучали чудово, поки не вийшло 1471 01:13:20,380 --> 01:13:22,920 він був всього лише 10% шкода але підстроїв його рот 1472 01:13:22,920 --> 01:13:25,600 щоб штучно завищити його sorriness. 1473 01:13:25,600 --> 01:13:29,700 А між тим, Volkswagen в США головним було вибачення його власної. 1474 01:13:29,700 --> 01:13:33,580 >> -Давайте Бути ясно говорить про це, наша компанія була нечесним. 1475 01:13:33,580 --> 01:13:37,140 І в моїх німецьких слів, ми були повністю облажався. 1476 01:13:37,140 --> 01:13:41,360 >> Ага, Але повністю угвинчується до ненімецького роботи. 1477 01:13:41,360 --> 01:13:43,750 І німецьку мову має багато красивих фраз 1478 01:13:43,750 --> 01:13:50,070 описувати ситуації, так само, як це, таких, як [Німецька], що означає, грубо кажучи, 1479 01:13:50,070 --> 01:13:52,870 печаль, яка приходить від бізнесу, пов'язаних брехні, 1480 01:13:52,870 --> 01:13:59,060 або [НІМЕЦЬКИЙ], який переводить а соромити одні батька за участю 1481 01:13:59,060 --> 01:14:00,352 хмари бензину. 1482 01:14:00,352 --> 01:14:02,060 Це красиву мову. 1483 01:14:02,060 --> 01:14:04,660 Він просто відпливає мову. 1484 01:14:04,660 --> 01:14:07,920 І, до речі, в той час як чоловічий вибачення може звучати щира, 1485 01:14:07,920 --> 01:14:12,260 варто відзначити, що він говорив на офіційний запуск партія за 2016 рік 1486 01:14:12,260 --> 01:14:17,310 Volkswagen Passat, а це означає, що найближчим часом після того, як говорив шкода, що він сказав це. 1487 01:14:17,310 --> 01:14:18,850 >> -Спасибі Велике, що прийшли. 1488 01:14:18,850 --> 01:14:19,630 Насолоджуйтеся ввечері. 1489 01:14:19,630 --> 01:14:21,300 До наступного Ленні Кравіц. 1490 01:14:21,300 --> 01:14:24,640 >> [МУЗИКА] 1491 01:14:24,640 --> 01:14:28,230 >> -Добре, OK, закінчення вашого Вибачення з до наступного 1492 01:14:28,230 --> 01:14:31,940 Ленні Кравіц НЕ кричати тверезий каяття. 1493 01:14:31,940 --> 01:14:35,830 Він кричить, ми попросили Bon Jovi, і він сказав, що ні. 1494 01:14:35,830 --> 01:14:38,600 Марка Volkswagen має були сильно пошкоджені. 1495 01:14:38,600 --> 01:14:42,466 І, чесно кажучи, їх нове оголошення кампанія точно не допомагає. 1496 01:14:42,466 --> 01:14:47,289 >> - [НІМЕЦЬКИЙ], ми в Volkswagen хотів би вибачитися за обман вас 1497 01:14:47,289 --> 01:14:47,930 наші транспортні засоби. 1498 01:14:47,930 --> 01:14:48,513 >> [КІНЕЦЬ ВОСП] 1499 01:14:48,513 --> 01:14:54,090 DAVID Маланки: Так що це було манівці of-- sorry-- 1500 01:14:54,090 --> 01:14:58,730 це був манівці представляючи фундаментальну проблему 1501 01:14:58,730 --> 01:15:02,810 в програмному забезпеченні, яке є те, що вам необхідно виявити певні умови. 1502 01:15:02,810 --> 01:15:07,680 І тому питання тут під рукою це, як робить автомобіль потенційно, 1503 01:15:07,680 --> 01:15:09,870 як це реалізовано в програмному забезпеченні цими програмістами, 1504 01:15:09,870 --> 01:15:11,850 виявити, що це насправді проходить випробування? 1505 01:15:11,850 --> 01:15:14,150 Таким чином, щоб бути супер ясно, що вони роблять 1506 01:15:14,150 --> 01:15:17,940 був, в середовищах, де програмісти фігурний 1507 01:15:17,940 --> 01:15:20,460 автомобіль був бути випробувано, вони якимось чином зробив 1508 01:15:20,460 --> 01:15:24,840 автомобіль викидають менше викидів, менше викиди, тим менше токсичної пари 1509 01:15:24,840 --> 01:15:25,470 тощо. 1510 01:15:25,470 --> 01:15:27,261 Але коли це нормально водіння на дорозі, 1511 01:15:27,261 --> 01:15:30,350 було б просто випускати стільки забруднення навколишнього середовища, як вона хотіла. 1512 01:15:30,350 --> 01:15:33,870 >> Отже, як ми могли б написати псевдокод для цього алгоритму? 1513 01:15:33,870 --> 01:15:37,820 Як ми могли б написати псевдокод для програмного забезпечення, що працює в машині? 1514 01:15:37,820 --> 01:15:43,390 Я маю на увазі, в двох словах, він кипить вниз до чогось на кшталт цього. 1515 01:15:43,390 --> 01:15:48,000 якщо тестується, випромінюють менше. 1516 01:15:48,000 --> 01:15:50,750 ще випромінює більше. 1517 01:15:50,750 --> 01:15:52,630 Але це трохи Занадто високий рівень, чи не так? 1518 01:15:52,630 --> 01:15:58,580 >> Давайте спробуємо пірнути, як до чого це абстракція бути перевіреними засобами. 1519 01:15:58,580 --> 01:16:06,340 Іншими словами, навіть якщо ви нічого не знаєте про машинах, які питання 1520 01:16:06,340 --> 01:16:13,440 ви могли б попросити, щоб визначити, чи є ви випробовується, якщо ви автомобіль? 1521 01:16:13,440 --> 01:16:19,638 Які характеристики можуть бути уявити, якщо автомобіль проходить випробування? 1522 01:16:19,638 --> 01:16:21,026 >> ГЛЯДАЧІ: Випробувальне обладнання. 1523 01:16:21,026 --> 01:16:22,420 >> DAVID Маланки: Випробувальне обладнання. 1524 01:16:22,420 --> 01:16:26,060 Так що, якщо випробувальне обладнання поруч, а потім випромінюють менше. 1525 01:16:26,060 --> 01:16:28,669 Так що я міг собі уявити, реалізації що з якоїсь камер 1526 01:16:28,669 --> 01:16:29,960 або виявлення того, що навколо вас. 1527 01:16:29,960 --> 01:16:32,870 І дозвольте мені запропонувати, що просто відчуває себе занадто складно 1528 01:16:32,870 --> 01:16:37,914 насправді є додаткова апаратне забезпечення тільки для цієї мети. 1529 01:16:37,914 --> 01:16:44,830 >> ГЛЯДАЧІ: Якщо ви перебуваєте в парк, якщо ваш капот відкритий. 1530 01:16:44,830 --> 01:16:47,320 >> DAVID Маланки: У парку або капот відкритий, так що це добре. 1531 01:16:47,320 --> 01:16:47,420 >> ГЛЯДАЧІ: І машина працює. 1532 01:16:47,420 --> 01:16:50,480 >> DAVID Маланки: Так що це трохи більше concrete-- і машина працює. 1533 01:16:50,480 --> 01:16:55,690 Так що це було б збіг кілька різних умов, якщо ви будете. 1534 01:16:55,690 --> 01:16:59,227 Так що, якщо автомобіль знаходиться в парку, і навіть хоча це дуже механічна річ 1535 01:16:59,227 --> 01:17:01,060 як правило, я міг уявіть собі написання програмного забезпечення, 1536 01:17:01,060 --> 01:17:03,476 особливо тому, що є часто світло там в ці дні, 1537 01:17:03,476 --> 01:17:07,400 Я міг собі уявити, щоб там бути програмне забезпечення, яке може запросити важіль перемикання 1538 01:17:07,400 --> 01:17:10,634 або те, що немає, ти в парку, є Ви в приводі, ти в зворотному напрямку. 1539 01:17:10,634 --> 01:17:12,550 І я можу отримати назад відповісти на це або так 1540 01:17:12,550 --> 01:17:14,400 НЕ чи ні до тих видів питань. 1541 01:17:14,400 --> 01:17:17,630 >> І таким чином я міг би також, ймовірно, відповісти питання, як, є відкритим капотом. 1542 01:17:17,630 --> 01:17:21,860 Може бути, є якийсь датчик що або дає мені назад 1 або 0, 1543 01:17:21,860 --> 01:17:23,720 істинним або хибним, капот відкритий. 1544 01:17:23,720 --> 01:17:28,180 А потім машина працює, я міг би виявити щось за допомогою якого механізму? 1545 01:17:28,180 --> 01:17:30,430 Мовляв, автомобіль працює, я може виявити, що він включений, 1546 01:17:30,430 --> 01:17:32,127 я міг виявити якимось чином що автомобіль рухається? 1547 01:17:32,127 --> 01:17:32,881 >> АУДИТОРІЯ: РПМ. 1548 01:17:32,881 --> 01:17:35,190 >> DAVID Маланки: Так, так що є завжди, що голка, яка 1549 01:17:35,190 --> 01:17:38,034 говорить вам, скільки оборотів в хвилинні колеса відчувають. 1550 01:17:38,034 --> 01:17:39,200 І таким чином я міг дивитися на це. 1551 01:17:39,200 --> 01:17:43,090 І якщо це не 0, що, ймовірно, означає, що автомобіль рухається. 1552 01:17:43,090 --> 01:17:45,400 Але ми повинні бути трохи там обережно, 1553 01:17:45,400 --> 01:17:49,780 because-- давайте спростити this-- якщо ми тільки що сказали, якщо машина працює, 1554 01:17:49,780 --> 01:17:53,070 ми не хочемо, щоб просто викидають менше, ми хочемо, якщо автомобіль працює 1555 01:17:53,070 --> 01:17:54,310 і це перевіряється. 1556 01:17:54,310 --> 01:17:56,320 >> Таким чином, є кілька інших інгредієнти, які люди 1557 01:17:56,320 --> 01:18:00,550 припустили, що програмне забезпечення робить, бо відсутнього фактичного вихідного коду, 1558 01:18:00,550 --> 01:18:05,130 ви можете тільки свого роду виводимо з фізичні ефекти автомобіля щодо того, що 1559 01:18:05,130 --> 01:18:08,280 могло йти далі під капот в програмному забезпеченні. 1560 01:18:08,280 --> 01:18:17,090 Так що, якщо машина працює і, можливо, скажімо, задні колеса не рухаються, 1561 01:18:17,090 --> 01:18:19,420 чи може це бути показово якийсь тест? 1562 01:18:19,420 --> 01:18:22,830 Що я тут натякаєте? 1563 01:18:22,830 --> 01:18:24,830 Так, може бути, це на один з цих роликових речей, 1564 01:18:24,830 --> 01:18:28,340 де, як колеса повертаються в передній або в задній частині, 1565 01:18:28,340 --> 01:18:32,570 в залежності від того, чи є це переднє колесо або задній привід коліс, так що половина коліс 1566 01:18:32,570 --> 01:18:34,420 рухаються, але Два інших немає, що 1567 01:18:34,420 --> 01:18:36,320 це дивна ситуація в реальному світі. 1568 01:18:36,320 --> 01:18:38,110 Якщо ви за кермом на дороги, що не повинно статися. 1569 01:18:38,110 --> 01:18:40,568 Але якщо ви на складі на якийсь роликової системи, 1570 01:18:40,568 --> 01:18:41,630 що дійсно може статися. 1571 01:18:41,630 --> 01:18:46,980 >> Я думаю, що люди також запропонував, що, можливо, якщо автомобіль працює і рульове управління 1572 01:18:46,980 --> 01:18:51,300 Колесо не рухається, що теж може бути сигналом, 1573 01:18:51,300 --> 01:18:54,090 тому що це розумно як не відкладаючи на дорозі. 1574 01:18:54,090 --> 01:18:57,960 Але навіть тоді, людина, ймовірно, переміщаючи його трохи або, звичайно, 1575 01:18:57,960 --> 01:18:59,100 протягом декількох секунд. 1576 01:18:59,100 --> 01:19:01,030 або ході хвилина, шанси це не 1577 01:19:01,030 --> 01:19:03,510 фіксуватиметься в точно таке ж становище. 1578 01:19:03,510 --> 01:19:05,440 >> Отже, іншими словами, ми може взяти віднімання, 1579 01:19:05,440 --> 01:19:08,200 ви тестується, і зламати цю функціональність 1580 01:19:08,200 --> 01:19:10,420 в цих складових компонентів. 1581 01:19:10,420 --> 01:19:13,440 І це дійсно те, що Фольксваген інженери якось зробив. 1582 01:19:13,440 --> 01:19:17,070 Вони написали програмне забезпечення свідомо виявити, якщо автомобіль проходить випробування, 1583 01:19:17,070 --> 01:19:20,440 тому випромінюють менше, інше випускають звичайним способом. 1584 01:19:20,440 --> 01:19:22,690 >> І проблема тут теж, в тому, що програмне забезпечення не є 1585 01:19:22,690 --> 01:19:26,080 то, що ви не можете реально побачити, якщо у вас є так званий вихідний код. 1586 01:19:26,080 --> 01:19:29,060 Таким чином, є два різних типи code-- принаймні, два різних типи 1587 01:19:29,060 --> 01:19:30,130 коду в світі. 1588 01:19:30,130 --> 01:19:33,150 Там щось називається джерело код, який не є на відміну від того 1589 01:19:33,150 --> 01:19:37,240 ми писали, вихідний код. 1590 01:19:37,240 --> 01:19:40,099 >> Це вихідний код, написаний на мова називається псевдокод, 1591 01:19:40,099 --> 01:19:41,640 який тільки щось англійською, як. 1592 01:19:41,640 --> 01:19:43,140 Там немає офіційного визначення цього. 1593 01:19:43,140 --> 01:19:46,770 Але С і Java, C ++, ті, всі офіційні мови, які, 1594 01:19:46,770 --> 01:19:50,610 коли ви пишете в них, що у вас є являє собою текстовий файл, який містить вихідний код. 1595 01:19:50,610 --> 01:19:54,850 >> Але є і щось в світ називається машинний код. 1596 01:19:54,850 --> 01:20:00,579 І машинний код, на жаль, це тільки 0 і 1-х. 1597 01:20:00,579 --> 01:20:02,870 Так машинний код, що машини розуміють, звичайно. 1598 01:20:02,870 --> 01:20:04,470 Вихідний код це те, що люди розуміють. 1599 01:20:04,470 --> 01:20:08,390 >> І взагалі, але не завжди, є програма 1600 01:20:08,390 --> 01:20:14,090 що програміст використовує, який приймає джерело код і перетворює його в машинний код. 1601 01:20:14,090 --> 01:20:17,400 І ця програма зазвичай називають компілятор. 1602 01:20:17,400 --> 01:20:19,820 Таким чином, ваш внесок вихідний код, ваш вихід машинний код, 1603 01:20:19,820 --> 01:20:22,890 і компілятор є частиною програмне забезпечення, яке робить цей процес. 1604 01:20:22,890 --> 01:20:26,260 Так що це насправді карти красиво наші входи, алгоритми, виходи. 1605 01:20:26,260 --> 01:20:30,400 >> Але це дуже специфічне втілення про те, що сказати, що, 1606 01:20:30,400 --> 01:20:34,200 навіть якщо у вас є один з Фольксваген автомобілів, що винні в цьому, 1607 01:20:34,200 --> 01:20:38,390 це не так, як ви можете просто відкрити капот або відкрити керівництво користувача або подивитися 1608 01:20:38,390 --> 01:20:42,690 у вихідному коді, тому що на той час, він досягає вашого автомобіля в дорозі, 1609 01:20:42,690 --> 01:20:45,580 це вже було перетвориться в 0 і 1-х. 1610 01:20:45,580 --> 01:20:51,310 І це дуже важко, але не неможливо, але дуже важко почерпнути багато всього 1611 01:20:51,310 --> 01:20:53,710 від просто дивлячись на що лежить в основі 0 і 1-х. 1612 01:20:53,710 --> 01:20:57,150 Таким чином, ви можете зрозуміти це, в кінцевому рахунку, якщо ви розумієте, як машина operates-- 1613 01:20:57,150 --> 01:20:59,870 Intel inside--, якщо ви розумієте, архітектура Intel, 1614 01:20:59,870 --> 01:21:01,440 але це дуже багато часу. 1615 01:21:01,440 --> 01:21:05,010 І навіть там, ви могли б же не бути в змозі побачити всі 1616 01:21:05,010 --> 01:21:08,220 що код може реально зробити. 1617 01:21:08,220 --> 01:21:12,521 >> Є питання з цього приводу або це Такий процес в більш загальному плані? 1618 01:21:12,521 --> 01:21:15,134 1619 01:21:15,134 --> 01:21:18,300 І насправді, ми можемо пов'язати цю дискусію вчорашнього обговорення Apple. 1620 01:21:18,300 --> 01:21:22,500 Це теж, чому ФБР не може просто піти і подивитися в телефон підозрюваного 1621 01:21:22,500 --> 01:21:26,820 і знайти рядки коду, для наприклад, що дозволить код доступу 1622 01:21:26,820 --> 01:21:28,940 або включити цю затримку 80 мілісекунд. 1623 01:21:28,940 --> 01:21:31,630 Тому що на той час, це на iPhone стипендіата, 1624 01:21:31,630 --> 01:21:34,975 це вже було перетвориться в 0 і 1-х. 1625 01:21:34,975 --> 01:21:38,015 1626 01:21:38,015 --> 01:21:40,820 >> Що ж, давайте зупинимося тут для нашого дивитися на обчислювальної мислення. 1627 01:21:40,820 --> 01:21:42,320 Чому б нам не взяти 15-хвилинну перерву. 1628 01:21:42,320 --> 01:21:44,130 І коли ми повернемося, ми будемо поглянути на програмування 1629 01:21:44,130 --> 01:21:46,550 само по собі і почати карту деякі з цих концепцій високого рівня 1630 01:21:46,550 --> 01:21:49,780 до фактичного, якщо грайливий, мова програмування. 1631 01:21:49,780 --> 01:21:51,089