1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:01,790 DAVID MALAN: Witamy z powrotem, wszyscy. 3 00:00:01,790 --> 00:00:05,030 Tak jak wczoraj, będziesz pamiętać, że skupiliśmy się na tych tematów tutaj. 4 00:00:05,030 --> 00:00:08,380 Więc mieliśmy cztery nadrzędne topics-- prywatności, bezpieczeństwa i społeczeństwa; 5 00:00:08,380 --> 00:00:11,960 technologie internetowe; Chmura obliczeniowa; i ostatecznie, tworzenie stron internetowych. 6 00:00:11,960 --> 00:00:14,170 >> Czy ktoś ma przepustowość lub czas 7 00:00:14,170 --> 00:00:16,900 oglądać Mały John Oliver ostatniej nocy? 8 00:00:16,900 --> 00:00:20,120 To rzeczywiście dość zabawne, jeśli nie trochę przerażające. 9 00:00:20,120 --> 00:00:24,700 Wszelkie pytania na niczym zrobiliśmy wczoraj? 10 00:00:24,700 --> 00:00:27,600 Ewentualne wyjaśnienia? 11 00:00:27,600 --> 00:00:35,580 Wszelkie pytania, które chcesz zrobić pewność, że dotyka on dzisiaj w jakiejś formie? 12 00:00:35,580 --> 00:00:37,300 Tak czyste łupków. 13 00:00:37,300 --> 00:00:38,760 >> Więc co jest na porządku dziennym dzisiaj? 14 00:00:38,760 --> 00:00:41,301 Więc pomyślałem, że zaczniemy dziś spojrzeniem na to, co zwykle 15 00:00:41,301 --> 00:00:44,460 znany jako obliczeniowej thinking-- w ryzyko upraszczając, myślenie 16 00:00:44,460 --> 00:00:46,636 jak komputer, może myśli jak inżynier, 17 00:00:46,636 --> 00:00:48,510 i próbuje zacząć uporządkować myśli 18 00:00:48,510 --> 00:00:52,039 lub daje lepsze poczucie co jest zaangażowany w rzeczywistości dowodził 19 00:00:52,039 --> 00:00:54,080 komputer coś zrobić Tytułem programowania. 20 00:00:54,080 --> 00:00:56,663 I będziemy trzymać go w dość Wysoki poziom, prawie angielskim, 21 00:00:56,663 --> 00:00:59,850 ale starają się wykorzystać znajome Przykłady sformalizowanie jak 22 00:00:59,850 --> 00:01:01,450 byś go o rozwiązywaniu problemów. 23 00:01:01,450 --> 00:01:04,080 >> I będziemy ponownie trochę CS tematy, jak abstrakcji, 24 00:01:04,080 --> 00:01:06,040 które pojawiły się kilka razy wczoraj 25 00:01:06,040 --> 00:01:07,554 algorytmy, a następnie reprezentacji. 26 00:01:07,554 --> 00:01:09,720 I to gdzie zaczniemy już za chwilę. 27 00:01:09,720 --> 00:01:11,481 Potem spójrz na programowaniu. 28 00:01:11,481 --> 00:01:13,480 Będziemy spojrzeć na niektóre podstawowe konstrukcje 29 00:01:13,480 --> 00:01:16,450 z którymi mogą się zapoznać a może nawet znaleźć dość intuicyjne. 30 00:01:16,450 --> 00:01:18,370 >> Przyjrzymy, w rzeczywistości, przy programowaniu próbki 31 00:01:18,370 --> 00:01:21,244 Środowisko to jest bardzo łatwo dostępne, bardzo zabawny i rzeczywiście ukierunkowane 32 00:01:21,244 --> 00:01:22,555 dla dzieci do 12 roku życia wzwyż. 33 00:01:22,555 --> 00:01:25,930 Spędzimy tam kilka minut a następnie wziąć sprawy do niższego poziomu 34 00:01:25,930 --> 00:01:30,360 i rzeczywiście mówić o niektórych Algorytmy i struktury danych, 35 00:01:30,360 --> 00:01:32,360 by tak rzec, że programiści zazwyczaj korzystają 36 00:01:32,360 --> 00:01:35,040 rozwiązywać problemy o wiele więcej skuteczniej niż to polubisz 37 00:01:35,040 --> 00:01:37,322 być w stanie obejść się bez nich w ogóle. 38 00:01:37,322 --> 00:01:40,280 Następnie po obiedzie, będziemy spojrzeć w stosy technologii, która jest po prostu 39 00:01:40,280 --> 00:01:42,240 fantazyjny sposób na powiedzenie zbiory technologii 40 00:01:42,240 --> 00:01:43,690 które można wykorzystać do rozwiązać jakiś problem. 41 00:01:43,690 --> 00:01:46,670 A my mówimy o alfabecie zupa z języków, które istnieją today-- 42 00:01:46,670 --> 00:01:50,930 Java i Python i C ++ i PHP Ruby i wszelkiego rodzaju inne rzeczy. 43 00:01:50,930 --> 00:01:53,740 >> Weźmiemy zerknąć na wzorcach projektowych. 44 00:01:53,740 --> 00:01:57,730 Programiści z czasem przyjęły metodologii 45 00:01:57,730 --> 00:02:00,690 które wydają się im pomóc rozwiązywać problemy łatwiej. 46 00:02:00,690 --> 00:02:04,390 Kiedy zaczniesz widzieć siebie piśmie ten sam rodzaj kodu po raz kolejny, 47 00:02:04,390 --> 00:02:08,080 osób sformalizowanie tych powtórzeń Nazwy i przypisywać im 48 00:02:08,080 --> 00:02:10,084 a następnie wykorzystać je i promować je ostatecznie. 49 00:02:10,084 --> 00:02:12,250 I porozmawiamy trochę o strategii mobilnych 50 00:02:12,250 --> 00:02:16,099 jakby co to znaczy faktycznie zrobić aplikację mobilną lub mobilną stronę internetową. 51 00:02:16,099 --> 00:02:17,140 Czy robisz to dla Androida? 52 00:02:17,140 --> 00:02:17,730 Czy robisz to dla iOS? 53 00:02:17,730 --> 00:02:19,160 Czy robisz to dla obu tych? 54 00:02:19,160 --> 00:02:20,326 A jakie są kompromisy? 55 00:02:20,326 --> 00:02:23,180 I wreszcie, weźmiemy do programowania WWW spojrzenie, które 56 00:02:23,180 --> 00:02:25,380 to wspólne określenie Naprawdę opisywaniu każdej chwili 57 00:02:25,380 --> 00:02:28,410 piszesz oprogramowanie, które jest przeznaczona do pracy w sieci, 58 00:02:28,410 --> 00:02:30,430 czy na telefonach lub komputerów stacjonarnych lub laptopów. 59 00:02:30,430 --> 00:02:33,490 Weźmiemy krótkie spojrzenie na bazy danych i projektowanie 60 00:02:33,490 --> 00:02:39,049 nim, choćby dlatego, że prawie każdy ciekawa aplikacja web-based 61 00:02:39,049 --> 00:02:40,590 te dni ma jakieś bazy danych. 62 00:02:40,590 --> 00:02:42,380 W przeciwnym razie, że będzie po prostu być statyczny. 63 00:02:42,380 --> 00:02:45,254 A baza danych pozwala na dokonywanie Zmiany w czasie, czy sam 64 00:02:45,254 --> 00:02:45,960 lub od użytkowników. 65 00:02:45,960 --> 00:02:47,820 I będziemy rozważyć, w jaki sposób pójdzie o projektowaniu 66 00:02:47,820 --> 00:02:50,510 że baza danych i rodzaj żargonu które mogą pochodzić z inżyniera 67 00:02:50,510 --> 00:02:52,790 Dyskusja na tablicy podczas gdy w rzeczywistości realizacji 68 00:02:52,790 --> 00:02:53,900 aplikacja po raz pierwszy. 69 00:02:53,900 --> 00:02:57,002 >> Porozmawiamy o krótko API, użyteczne usługi 70 00:02:57,002 --> 00:02:59,960 które można użyć, aby stanąć na barki innych, czy firm 71 00:02:59,960 --> 00:03:02,619 lub osoby i rozwiązać swoje własne problemy szybciej. 72 00:03:02,619 --> 00:03:04,785 A potem być może będziemy babrać nieco z JavaScript, 73 00:03:04,785 --> 00:03:08,900 język programowania, który jest używany Zarówno w przeglądarkach w dzisiejszych czasach, ale także 74 00:03:08,900 --> 00:03:09,820 w serwerach. 75 00:03:09,820 --> 00:03:11,890 I być może, będziemy ponownie, czas na to pozwala, 76 00:03:11,890 --> 00:03:15,670 niektóre z hands-on web materiał my wczoraj i integrować dwa 77 00:03:15,670 --> 00:03:17,630 razem zanim odroczyć. 78 00:03:17,630 --> 00:03:22,380 >> Więc z that-- co ahead-- jest nie brakuje niczego, co 79 00:03:22,380 --> 00:03:26,289 chciałby, aby upewnić się wstawiać i dotknąć w pewnym momencie. 80 00:03:26,289 --> 00:03:28,330 Jeśli to do głowy, dostosowania go niebawem. 81 00:03:28,330 --> 00:03:32,010 Ale dlaczego nie zaczniemy z spojrzeć na obliczeniowej myślenia. 82 00:03:32,010 --> 00:03:35,420 >> I pozwól mi zaproponować, obliczeniowa myślenie jest, ponownie, 83 00:03:35,420 --> 00:03:38,830 rodzaj opisu wysokiego poziomu co informatyk może zrobić. 84 00:03:38,830 --> 00:03:42,470 I rzeczywiście, zacznijmy z trzech składników, które 85 00:03:42,470 --> 00:03:44,207 Może wchodzić obliczeniowej myślenia. 86 00:03:44,207 --> 00:03:45,790 To tylko jeden ze sposobów opisywania go. 87 00:03:45,790 --> 00:03:48,490 Moglibyśmy oczywiście zdefiniować to na wiele sposobów. 88 00:03:48,490 --> 00:03:50,630 >> Ale pozwól mi zaproponować, przez wzgląd na dziś 89 00:03:50,630 --> 00:03:53,910 że światowych problemów, wszystkich problemów na świecie, 90 00:03:53,910 --> 00:03:56,730 kiedy zbliżył przez informatyk mógł 91 00:03:56,730 --> 00:04:00,990 uznać za co będziesz połączeń wejść, które 92 00:04:00,990 --> 00:04:08,142 trzeba znudzisz się, co będziemy nazywać Algorytmy, które następnie dają wyjść. 93 00:04:08,142 --> 00:04:10,600 Innymi słowy, całe Świat rozwiązywania problemów Żądam 94 00:04:10,600 --> 00:04:13,140 można destylować pod Te trzy składniki. 95 00:04:13,140 --> 00:04:14,450 Więc co mam na myśli wejść? 96 00:04:14,450 --> 00:04:17,060 Wejścia jest tylko to, co masz przekazane w celu rozwiązania. 97 00:04:17,060 --> 00:04:20,052 >> Na przykład, oto stary problem w szkole. 98 00:04:20,052 --> 00:04:22,760 Jeśli mam książkę telefoniczną tu i Chcę wyglądać mniej więcej do niego, 99 00:04:22,760 --> 00:04:23,760 to jest mój wkład. 100 00:04:23,760 --> 00:04:26,260 Mam 1000 lub tak Strony w książce telefonicznej. 101 00:04:26,260 --> 00:04:27,780 To jest wejście do mojego problemu. 102 00:04:27,780 --> 00:04:31,507 I chcę, aby znaleźć coś jak Mike Smith, więc znajomego 103 00:04:31,507 --> 00:04:33,840 którego nazwa i numer jest mam nadzieję, że w tej książce adresowej. 104 00:04:33,840 --> 00:04:36,430 >> To przed dniami komórce telefony, więc nie mogę po prostu znajdź go. 105 00:04:36,430 --> 00:04:38,540 Więc muszę zrobić to stare Szkoła i faktycznie wyszukiwania 106 00:04:38,540 --> 00:04:41,331 te wejścia do jakiegoś odpowiedź. 107 00:04:41,331 --> 00:04:43,580 I ta odpowiedź jest po prostu będzie na miano wyjście. 108 00:04:43,580 --> 00:04:44,871 Więc wejście jest książka telefoniczna. 109 00:04:44,871 --> 00:04:47,787 Algorytm jest cokolwiek zestaw Kroki używam znaleźć Mike Smith. 110 00:04:47,787 --> 00:04:50,120 A wyjście jest, mam nadzieję, numer telefonu Mike'a Smitha. 111 00:04:50,120 --> 00:04:52,703 I to wtedy byłoby po prostu przedstawiciel większości żadnego problemu 112 00:04:52,703 --> 00:04:55,210 się ze jesteś praworęczny wejścia i chcą produkować wyjść. 113 00:04:55,210 --> 00:04:59,459 >> Więc zanim weźmiemy pod uwagę proces dzięki którym możemy rozwiązać ten problem, 114 00:04:59,459 --> 00:05:01,250 Mike Smith i znalezienie coś w tym stylu, 115 00:05:01,250 --> 00:05:04,090 rozważmy pierwszy i z last-- wejścia i wyjścia. 116 00:05:04,090 --> 00:05:08,060 Fizycznie, oczywiście, wejście tutaj jest cała masa papieru sklejone 117 00:05:08,060 --> 00:05:09,400 w postaci książki telefonicznej. 118 00:05:09,400 --> 00:05:13,660 Ale komputery, laptopy z course-- i stacjonarnych, a nawet telefony 119 00:05:13,660 --> 00:05:16,430 Są one days-- tych urządzenia elektryczne. 120 00:05:16,430 --> 00:05:20,920 >> I na koniec dnia, co jest jedyne wejście do komputera? 121 00:05:20,920 --> 00:05:23,299 Dobrze, że to coś w rodzaju Ten kabel o mocy. 122 00:05:23,299 --> 00:05:25,590 I podłączyć go do ściany, a Mam przepływ elektronów, 123 00:05:25,590 --> 00:05:27,048 która pozwala mi uruchomić maszynę. 124 00:05:27,048 --> 00:05:30,420 A może te elektrony są tworzone poprzez mego baterii. 125 00:05:30,420 --> 00:05:33,790 A na koniec dnia, to jest jedyną rzeczą, wchodząc w moim laptopie. 126 00:05:33,790 --> 00:05:35,772 I tak bardzo interesujące rzeczy jest ostatecznie 127 00:05:35,772 --> 00:05:37,480 wychodzi, czy za pomocą drukarki 128 00:05:37,480 --> 00:05:40,320 lub ekranu lub audially lub podobne. 129 00:05:40,320 --> 00:05:45,320 >> Więc jeśli wszystko, co mamy w naszych podstawową wprowadzane do komputera 130 00:05:45,320 --> 00:05:49,160 jest prąd, więc po prostu Elektrony wchodzili i lub na zewnątrz, 131 00:05:49,160 --> 00:05:54,465 i tak jak możemy użyć tego wejścia faktycznie reprezentują informacje? 132 00:05:54,465 --> 00:05:57,090 Innymi słowy, w jaki sposób uzyskać z prostej przepływ elektryczności 133 00:05:57,090 --> 00:06:00,350 do reprezentowania rzeczywista numery lub litery rzeczywiste 134 00:06:00,350 --> 00:06:03,620 lub rzeczywiste obrazy na ekranie lub rzeczywiste filmy lub wiadomości e-mail 135 00:06:03,620 --> 00:06:05,690 lub dowolną liczbę z nich wyższego szczebla, koncepcje 136 00:06:05,690 --> 00:06:07,680 jeśli będzie, że na Koniec dnia jakoś 137 00:06:07,680 --> 00:06:11,950 muszą być przechowywane w tym Elektroniczne urządzenie mechaniczne 138 00:06:11,950 --> 00:06:16,260 używając tylko tych prostych ingredients-- elektrony wchodzą i wychodzą? 139 00:06:16,260 --> 00:06:19,530 >> Tak więc wydaje się, że w najprostszej formie 140 00:06:19,530 --> 00:06:23,260 jedyny rodzaj stanów Mam w moim świecie, więc 141 00:06:23,260 --> 00:06:25,350 do speak-- warunki w moim world-- jest albo 142 00:06:25,350 --> 00:06:33,020 Mam elektrony przepływające, prąd płynących, lub zrobić not-- tak dalej, off. 143 00:06:33,020 --> 00:06:35,850 I niech sformalizować i wyłączane, jako informatyk może, 144 00:06:35,850 --> 00:06:37,255 tylko z 1 i 0. 145 00:06:37,255 --> 00:06:39,880 Miejmy tylko opisują niektóre arbitralne ale spójny numer do niego. 146 00:06:39,880 --> 00:06:41,970 1 oznacza, na 0 oznacza się. 147 00:06:41,970 --> 00:06:45,427 Albo można też uznać to za Środki na prawdziwych i fałszywych środków. 148 00:06:45,427 --> 00:06:47,510 Można również zrobić czarny białe lub czerwone i niebieskie. 149 00:06:47,510 --> 00:06:48,759 Trzeba tylko dwa deskryptory. 150 00:06:48,759 --> 00:06:52,240 A informatycy będzie zazwyczaj wystarczy użyć 0 do 1. 151 00:06:52,240 --> 00:06:58,980 >> Więc jeśli tak jest, moim jedynym alfabetu jest składający się z 0 i 1-ki, jak 152 00:06:58,980 --> 00:07:03,360 mógłbym dostać się do wyrównania liczby 2 w komputerze, nie mówiąc już numer 3 153 00:07:03,360 --> 00:07:06,140 lub litera alfabetu lub zdjęcie lub film? 154 00:07:06,140 --> 00:07:08,910 W jaki sposób sortowania bootstrap się od tej podstawowej zasady 155 00:07:08,910 --> 00:07:12,080 od 0 i 1, a właściwie reprezentują coś bardziej interesującego? 156 00:07:12,080 --> 00:07:14,430 >> Cóż, postawmy na to pytanie zawieszone na chwilę 157 00:07:14,430 --> 00:07:17,520 i rozważyć coś mam nadzieję, że znajomy, 158 00:07:17,520 --> 00:07:21,150 nawet jeśli tak naprawdę nie myślał o że w szczegóły na 10, 20, 30, 40, 50 159 00:07:21,150 --> 00:07:22,520 więcej lat. 160 00:07:22,520 --> 00:07:24,780 Co to jest? 161 00:07:24,780 --> 00:07:28,050 Jak byś się wymawia to? 162 00:07:28,050 --> 00:07:30,770 Nie jest to podchwytliwe pytanie. 163 00:07:30,770 --> 00:07:32,950 Wiele, ale co to jest? 164 00:07:32,950 --> 00:07:34,842 1, 2, 3, lub 123. 165 00:07:34,842 --> 00:07:37,800 I podobało mi się, jak mówiłeś, 1, 2, 3, ponieważ jest to jeden ze sposobów oglądania go. 166 00:07:37,800 --> 00:07:39,870 1, 2, 3, to sekwencją z trzech symboli. 167 00:07:39,870 --> 00:07:42,005 To zdjęcia, które mamy Teraz mają słowa dla. 168 00:07:42,005 --> 00:07:44,880 A jeśli rodzaj je wszystkie przeczytać razem, typowa ludzka w języku angielskim 169 00:07:44,880 --> 00:07:46,600 powiedzieliby 123. 170 00:07:46,600 --> 00:07:48,350 I to jest coś w rodzaju wyższym poziomie koncepcji, 171 00:07:48,350 --> 00:07:50,340 czuje się jak rozsądnie dużej ilości. 172 00:07:50,340 --> 00:07:51,490 >> Ale jak się tam dostać? 173 00:07:51,490 --> 00:07:54,640 Cóż, to może być trochę czasu od już myślałem o tym w ten sposób, 174 00:07:54,640 --> 00:07:56,680 ale w moim dzień, Nauczyłem się tego rodzaju 175 00:07:56,680 --> 00:08:01,030 jak kolumnie 1, tym 10 na Kolumna i kolumna 100. 176 00:08:01,030 --> 00:08:06,400 Tak jak mówi Lakisa, to 1, 2, 3, ale jest to również 123. 177 00:08:06,400 --> 00:08:08,700 Ale w jaki sposób dostać się z Była do tego ostatniego? 178 00:08:08,700 --> 00:08:12,340 >> Dobrze, byś typowo turystyczna kolumna 100, mam 1. 179 00:08:12,340 --> 00:08:14,794 Więc to tak, jakby powiedzieć 1 100 razy. 180 00:08:14,794 --> 00:08:16,210 A następnie w kolumnie 10 za, mam 2. 181 00:08:16,210 --> 00:08:18,464 Więc to tak, jakby powiedzieć 10 razy 2. 182 00:08:18,464 --> 00:08:19,630 W pozycji 1 w kolumnie, mam 3. 183 00:08:19,630 --> 00:08:21,720 Więc to tak, jakby powiedzieć 1 razy 3. 184 00:08:21,720 --> 00:08:24,290 >> A jeśli dodać te rzeczy Podsumowując, to oczywiście 185 00:08:24,290 --> 00:08:27,470 100 plus 10 plus 3. 186 00:08:27,470 --> 00:08:31,750 I och, to dlaczego mam tego wyższe pojęcie poziom 123. 187 00:08:31,750 --> 00:08:37,220 To tylko podstawowe matematyki, przy czym te Symbole mają masę do nich, jeśli ciebie 188 00:08:37,220 --> 00:08:39,620 Będzie placeholder lub wartości kolumny. 189 00:08:39,620 --> 00:08:42,090 A kiedy pomnożyć wszystko się, że ten numer. 190 00:08:42,090 --> 00:08:47,840 >> Tak jak wielu z was wie, jak mówić binary-- 0 i 1's-- jak komputer? 191 00:08:47,840 --> 00:08:50,410 OK, doskonały, nikt, albo żaden z was myśli, że to zrobisz. 192 00:08:50,410 --> 00:08:52,550 Ale chciałbym twierdzą ci właściwie już o tym wiedzą. 193 00:08:52,550 --> 00:08:55,330 Musimy po prostu rodzajem dostrojenia Nasz model mentalny trochę. 194 00:08:55,330 --> 00:08:57,250 Jednak proces ten jest dokładnie takie samo. 195 00:08:57,250 --> 00:09:01,460 >> Pozwól mi zostawić ten jeden się tam i zamiast ciągnąć to w dół na chwilę. 196 00:09:01,460 --> 00:09:05,060 W świecie komputerów, mamy tylko 0 i 1 roku. 197 00:09:05,060 --> 00:09:07,240 A więc co to jest nie zmieni się, co? 198 00:09:07,240 --> 00:09:10,920 Cóż, w moim ludzkim świecie, system dziesiętny, 10 grudnia znaczenie, 199 00:09:10,920 --> 00:09:12,740 Mam ile cyfr do mojej dyspozycji? 200 00:09:12,740 --> 00:09:15,270 201 00:09:15,270 --> 00:09:16,540 10, prawda? 202 00:09:16,540 --> 00:09:17,880 Od 0 do 9, oczywiście. 203 00:09:17,880 --> 00:09:21,210 >> I dlatego mamy miejsce i miejsce 100 w 10-tych. 204 00:09:21,210 --> 00:09:22,380 Gdzie jest to, że pochodzi z? 205 00:09:22,380 --> 00:09:24,430 No, to jest 10 do potęgi 0. 206 00:09:24,430 --> 00:09:28,440 Jest to 10 do potęgi 1, 10 do potęgi 2, i tak dalej. 207 00:09:28,440 --> 00:09:32,110 Po prostu zachować pomnożenie kolumn przez 10, zaczynając od zaledwie 1 208 00:09:32,110 --> 00:09:33,700 w pierwszej z prawej jak tutaj. 209 00:09:33,700 --> 00:09:35,490 >> Tak więc w świecie komputery, jeśli masz tylko 210 00:09:35,490 --> 00:09:39,600 mają znaczenie binary-- bi 2-- lub 0 i 1 na, po prostu 211 00:09:39,600 --> 00:09:42,420 Naprawdę trzeba zmienić podstawą tej matematyki. 212 00:09:42,420 --> 00:09:46,410 Tak więc, innymi słowy, obecnie musimy po prostu W 1 mają za kolumnę i the-- 213 00:09:46,410 --> 00:09:51,270 gdzie jest ten going-- kolumnę przez 2'S, kolumna 4, a może i poza nią. 214 00:09:51,270 --> 00:09:52,250 Dlaczego? 215 00:09:52,250 --> 00:09:55,650 Cóż, to jest 2 do 0-tej potęgi. 216 00:09:55,650 --> 00:09:57,270 Jest to 2 +1. 217 00:09:57,270 --> 00:09:59,610 To jest 2 do 2 i tak dalej. 218 00:09:59,610 --> 00:10:04,910 >> Więc podczas gdy tutaj mamy 1, 10'S, 100, 1000, 10000 na użytkownika, 100000, w odległości 1 219 00:10:04,910 --> 00:10:10,560 milionów, i tak dalej, tutaj mamy 1, 2, 4, 8, 16, 32, 64. 220 00:10:10,560 --> 00:10:13,950 Po prostu zachować pomnożenie przez 2, zamiast trzymać pomnożenie przez 10. 221 00:10:13,950 --> 00:10:16,780 Więc teraz, jeśli celem w ręka jest do reprezentowania 222 00:10:16,780 --> 00:10:20,240 Liczby przy użyciu tylko 0 i 1-ki, rozważmy, jak się tam dostać. 223 00:10:20,240 --> 00:10:26,540 >> To, oczywiście, jest wzór 0 0 0, ale jaki numer koncepcyjnie 224 00:10:26,540 --> 00:10:27,490 ma ona reprezentować? 225 00:10:27,490 --> 00:10:35,430 Dobrze, 4 razy 0 plus 2 razy 0 Plus 1 razy 0, dodajmy te razem. 226 00:10:35,430 --> 00:10:40,030 4 razy 0 jest oczywiście 0, plus 2 Czasy 0 jest, oczywiście, plus 1 0 0 227 00:10:40,030 --> 00:10:40,850 Jest, oczywiście, 0. 228 00:10:40,850 --> 00:10:44,910 Tak ah, to reprezentuje Numer my ludzie znamy jako 0. 229 00:10:44,910 --> 00:10:47,810 >> Cóż, teraz, niech to bardzo szybko do przodu. 230 00:10:47,810 --> 00:10:53,600 Jeśli mam zamiast tego nie reprezentują 0 0 0, ale zróbmy 1 0 1 231 00:10:53,600 --> 00:10:57,010 że może być jak Lakisa, wcześniej, po prostu wymawiać 1 0 1. 232 00:10:57,010 --> 00:11:01,020 Ale teraz, w jaki sposób zabrać go do wyższej wyrównać liczbę my, ludzie mogą wiedzieć? 233 00:11:01,020 --> 00:11:04,220 Więc co to za numer? 234 00:11:04,220 --> 00:11:06,060 To 5, liczba znamy jako 5. 235 00:11:06,060 --> 00:11:06,870 >> No, to dlaczego? 236 00:11:06,870 --> 00:11:09,620 Cóż, możemy naprawdę rodzaj przejść przez to metodycznie 237 00:11:09,620 --> 00:11:14,880 4 razy 1, 2 x 0, 1 1 razy. 238 00:11:14,880 --> 00:11:19,880 Dodaj te razem, więc to 4 plus 0 oraz 1. 239 00:11:19,880 --> 00:11:21,577 I to jest rzeczywiście 5. 240 00:11:21,577 --> 00:11:24,660 Tak robi się trochę uciążliwe teraz robi arytmetycznych ponownie. 241 00:11:24,660 --> 00:11:26,300 Jednak proces ten jest dokładnie takie samo. 242 00:11:26,300 --> 00:11:28,380 >> Jedyną rzeczą, która ma zmieniło się w naszym świecie 243 00:11:28,380 --> 00:11:32,740 jest to, że nasz kolumn 1, 2, 4, 8, 16, i tak dalej, zamiast 1, 10, 100, 244 00:11:32,740 --> 00:11:33,740 1000. 245 00:11:33,740 --> 00:11:40,000 A to tylko dlatego, że nasz alfabet ma skurczyła się od 0 do 9, aby po prostu 0 do 1. 246 00:11:40,000 --> 00:11:50,851 >> Tak mały quiz, tutaj, w jaki sposób Państwo reprezentują liczbę 7 w binarnym? 247 00:11:50,851 --> 00:11:51,350 0? 248 00:11:51,350 --> 00:11:53,490 Dobrze, 0, to znaczy 0 0 0? 249 00:11:53,490 --> 00:11:58,140 250 00:11:58,140 --> 00:11:59,693 Powiedz to jeszcze raz, Karina. 251 00:11:59,693 --> 00:12:03,010 252 00:12:03,010 --> 00:12:03,550 Idealny. 253 00:12:03,550 --> 00:12:04,370 Dlaczego? 254 00:12:04,370 --> 00:12:08,530 To skutecznie 4 plus 2 plus 1. 255 00:12:08,530 --> 00:12:09,580 Tak dobrze. 256 00:12:09,580 --> 00:12:14,364 >> Jak reprezentujemy trochę another-- jak o numer 2? 257 00:12:14,364 --> 00:12:18,360 258 00:12:18,360 --> 00:12:20,690 Blisko, ale do tyłu. 259 00:12:20,690 --> 00:12:21,660 Więc co to jest? 260 00:12:21,660 --> 00:12:26,290 Czy 4 plus 1, więc to 5 raz. 261 00:12:26,290 --> 00:12:28,310 >> Więc what's-- Przepraszam, Karina? 262 00:12:28,310 --> 00:12:29,220 0 1 0. 263 00:12:29,220 --> 00:12:34,762 0 1 0 byłoby 2, ponieważ ponownie, nawet jeżeli rodzaj nie wyskoczy na ciebie, 264 00:12:34,762 --> 00:12:35,470 tylko do matematyki. 265 00:12:35,470 --> 00:12:40,390 4 razy 0, 0, 2 razy 1 2 razy 1 0 0. 266 00:12:40,390 --> 00:12:42,830 Więc jest to liczba znamy jako 2. 267 00:12:42,830 --> 00:12:44,030 >> Jak o liczbie 8? 268 00:12:44,030 --> 00:12:51,240 269 00:12:51,240 --> 00:12:52,730 Hm? 270 00:12:52,730 --> 00:12:53,330 Dobry. 271 00:12:53,330 --> 00:12:56,130 Więc my niby potrzebujemy kolejnego zastępczy. 272 00:12:56,130 --> 00:12:59,570 Musimy 1 0 0 0. 273 00:12:59,570 --> 00:13:02,280 I to prawda naszego pokroju starego systemu szkolnego przecinku. 274 00:13:02,280 --> 00:13:05,280 W jaki sposób reprezentują liczbę 1000? 275 00:13:05,280 --> 00:13:08,480 >> Cóż, wydaje się być rodzaju w trudnym miejscu, 276 00:13:08,480 --> 00:13:10,390 jeśli poprosi o reprezentacji numer 1000, 277 00:13:10,390 --> 00:13:14,960 bo nawet jeśli dasz się jak 9 to 9 z nich, 0 z nich, 278 00:13:14,960 --> 00:13:18,730 która jest największą liczbę ty masz, nie dość dostać się do 1,000. 279 00:13:18,730 --> 00:13:26,920 Więc jeśli 1,000, wystarczy inna pozycji, dzięki czemu można zrobić 1 0 0 0, 280 00:13:26,920 --> 00:13:29,460 ergo numer 1000. 281 00:13:29,460 --> 00:13:34,200 >> Więc teraz, niech map tego rodzaju koncepcyjne dyskusja z powrotem do sprzętu, 282 00:13:34,200 --> 00:13:37,470 gdzie znowu, wejście było tylko Ten mały przewód zasilający, prąd 283 00:13:37,470 --> 00:13:39,300 najbliższych i wypływających. 284 00:13:39,300 --> 00:13:44,740 A więc na tym, by być odwzorowywane stąd tam, dobrze, czego naprawdę potrzebujemy? 285 00:13:44,740 --> 00:13:49,460 Cóż, można pomyśleć, że jest wewnątrz komputer, cała masa żarówek 286 00:13:49,460 --> 00:13:50,450 Jeśli będziesz. 287 00:13:50,450 --> 00:13:52,040 Oni naprawdę nazywa tranzystorów. 288 00:13:52,040 --> 00:13:55,121 A tranzystory są tylko przełączniki które mogą być albo włączone lub wyłączone. 289 00:13:55,121 --> 00:13:56,870 Więc można myśleć o Tranzystor to na 290 00:13:56,870 --> 00:14:00,730 jest umożliwienie przepływu energii elektrycznej oraz tranzystor to zatrzymywanie się jako 291 00:14:00,730 --> 00:14:02,170 prąd płynącej. 292 00:14:02,170 --> 00:14:04,130 I zamiast podjąć tutaj świateł, 293 00:14:04,130 --> 00:14:06,450 dlaczego nie zrobić tego rodzaju nowego stylu szkolnym. 294 00:14:06,450 --> 00:14:11,360 Więc może to być 1, latarka będąc na, ledwie jednak. 295 00:14:11,360 --> 00:14:14,050 I to może być 0, a teraz jest wyłączone. 296 00:14:14,050 --> 00:14:18,277 >> Tak więc za pomocą tego urządzenia fizycznego, ja może teraz prezentują system binarny. 297 00:14:18,277 --> 00:14:19,235 Muszę tylko dwa stany. 298 00:14:19,235 --> 00:14:21,660 To nie ma znaczenia, co kolor jest lub co to jest. 299 00:14:21,660 --> 00:14:25,920 Liczy się, że mam jedno państwo na i inny stan wyłączony. 300 00:14:25,920 --> 00:14:30,605 Więc za pomocą mojego telefonu tutaj, jak mogę reprezentują liczbę znamy jako 0? 301 00:14:30,605 --> 00:14:34,490 302 00:14:34,490 --> 00:14:38,550 Lub umieścić równoważnie, co Numer jestem reprezentujących teraz? 303 00:14:38,550 --> 00:14:39,810 0, ponieważ urządzenie jest wyłączone. 304 00:14:39,810 --> 00:14:41,560 >> A jeśli mogę to zrobić? 305 00:14:41,560 --> 00:14:43,583 A teraz, jak mogę reprezentują liczbę 2? 306 00:14:43,583 --> 00:14:46,380 307 00:14:46,380 --> 00:14:50,930 Mogę pożyczyć telefon tutaj, jak robiliśmy wczoraj? 308 00:14:50,930 --> 00:14:58,490 Zobaczmy więc, więc jeśli chcę do reprezentowania numer 2, to jest numer 2? 309 00:14:58,490 --> 00:14:59,050 Nie. 310 00:14:59,050 --> 00:15:02,250 Jaki numer jestem przypadkowo reprezentujący tutaj? 311 00:15:02,250 --> 00:15:03,550 Jest to rzeczywiście numer 3. 312 00:15:03,550 --> 00:15:05,008 >> Więc który z nich chcę wyłączyć? 313 00:15:05,008 --> 00:15:09,634 Czarny telefon or-- dobrze, jeśli they're-- czarny telefon komórkowy albo biały? 314 00:15:09,634 --> 00:15:10,300 Biały telefon. 315 00:15:10,300 --> 00:15:17,020 Więc jeśli mogę to wyłączyć, a my Linia go tutaj, mamy 1 316 00:15:17,020 --> 00:15:19,487 na miejscu i na 2 0 w 1 miejsce. 317 00:15:19,487 --> 00:15:21,195 A więc jestem teraz oznaczającą liczbę 2. 318 00:15:21,195 --> 00:15:24,680 A to oczywiście będzie numer 3, ponieważ teraz oba te światła 319 00:15:24,680 --> 00:15:25,350 są włączone. 320 00:15:25,350 --> 00:15:27,480 >> A ja tu zatrzymać, ale to ma się rozumieć, 321 00:15:27,480 --> 00:15:31,100 jeśli chcę do reprezentowania Numer 4 lub 8 lub wyższej, 322 00:15:31,100 --> 00:15:32,529 Będę potrzebował więcej telefonów. 323 00:15:32,529 --> 00:15:33,820 Ale to wszystko, co się dzieje. 324 00:15:33,820 --> 00:15:37,800 Więc jeśli kiedykolwiek słyszał, że Wnętrze A-- dziękuję pan: komputer 325 00:15:37,800 --> 00:15:42,269 Jest miliony tranzystorów, to zaledwie miliony maleńkich przełączników. 326 00:15:42,269 --> 00:15:44,310 I nie są one lekkie żarówki, które włączają się i wyłączają, 327 00:15:44,310 --> 00:15:48,340 ale oni albo pozwolić elektryczność płynąć gdzieś zatrzymać. 328 00:15:48,340 --> 00:15:52,140 I tak tam swoje dwa states-- włączyć lub wyłączyć, włączyć lub wyłączyć. 329 00:15:52,140 --> 00:15:55,730 >> Więc my teraz wydają mają tę zdolność 330 00:15:55,730 --> 00:16:00,590 do reprezentowania tej koncepcji, że Chcielibyśmy w konkretnym sprzętem. 331 00:16:00,590 --> 00:16:05,520 Ale wszystko, co mamy teraz, jest możliwość do reprezentowania liczb Wydawałoby się. 332 00:16:05,520 --> 00:16:08,580 Więc jak go o reprezentowanie litery alfabetu, które 333 00:16:08,580 --> 00:16:12,310 czuje się jak następnego rodzaju obiektu, który chciałby, aby dodać do nowoczesnego komputera 334 00:16:12,310 --> 00:16:14,280 skoro masz numery? 335 00:16:14,280 --> 00:16:16,930 >> I rzeczywiście, jeśli myślisz o Historycznie rzecz biorąc, IT, komputery 336 00:16:16,930 --> 00:16:19,426 Wprowadzono naprawdę służyć kalkulatory numerycznie. 337 00:16:19,426 --> 00:16:21,300 Ale oczywiście, to dzień, robią znacznie więcej. 338 00:16:21,300 --> 00:16:23,799 Nawet wtedy, gdy uruchomi się, ty zazwyczaj zobaczyć jedno lub kilka słów. 339 00:16:23,799 --> 00:16:27,420 Więc jak można reprezentować słowa, Jeśli wszystko co masz, to znowu, 340 00:16:27,420 --> 00:16:31,054 energii elektrycznej na koniec dzień, lub równoważnie 0 i 1-ki? 341 00:16:31,054 --> 00:16:34,430 342 00:16:34,430 --> 00:16:35,690 >> Tak. 343 00:16:35,690 --> 00:16:38,320 Tak, to znaczy, my niby zrobił to wczoraj w jakiejś formie, 344 00:16:38,320 --> 00:16:40,200 gdzie w pewnym momencie, Chyba arbitralnie 345 00:16:40,200 --> 00:16:46,741 Mówi się, że jeśli chcemy reprezentować Litera A może po prostu zadzwonić, że: 1. 346 00:16:46,741 --> 00:16:49,990 To właśnie w związku z kryptografii gdzie po prostu potrzebny jakiś kod, 347 00:16:49,990 --> 00:16:51,160 jakiś mapowania. 348 00:16:51,160 --> 00:16:56,680 >> Może więc będą reprezentowane jako 1 i B są przedstawione jako A 2, 349 00:16:56,680 --> 00:17:01,560 i Z będą reprezentowane jako 26, na przykład. 350 00:17:01,560 --> 00:17:07,430 I wtedy jedynym zastrzeżeniem jest to, że jeśli jestem będzie kodować litery w moje e-maile 351 00:17:07,430 --> 00:17:10,430 albo w moich wiadomości tekstowych jak numery, wszyscy 352 00:17:10,430 --> 00:17:12,640 zgodzić się na stosowanie sam zestaw konwencji. 353 00:17:12,640 --> 00:17:14,619 I rzeczywiście, świat zrobił dokładnie to. 354 00:17:14,619 --> 00:17:18,040 >> System jest na świecie nazywany ASCII, American Standard 355 00:17:18,040 --> 00:17:21,640 Kod dla Wymiany Informacji, który jest po prostu decyzja kilka lat 356 00:17:21,640 --> 00:17:25,720 temu, że ludzie się, że zdecydował, że będzie się równać, a nie 357 00:17:25,720 --> 00:17:32,260 1, 2 i 26, a więc jest to forth-- Trochę different-- ale 65, 66, 67. 358 00:17:32,260 --> 00:17:34,010 A ja podciągnąć Wykres na chwilę. 359 00:17:34,010 --> 00:17:34,580 Ale to jest arbitralne. 360 00:17:34,580 --> 00:17:36,329 Ale to nie ma znaczenia że jest arbitralne. 361 00:17:36,329 --> 00:17:38,620 Świat ma po prostu być spójne. 362 00:17:38,620 --> 00:17:40,540 >> Teraz ostatnio jest coś hodowcy 363 00:17:40,540 --> 00:17:45,430 nazywa Unicode, ponieważ rodzaju na świecie zrealizowanych po wynalezieniu komputerów 364 00:17:45,430 --> 00:17:50,977 że chodzi o coś więcej niż dobrze 256 Symbole w świecie 365 00:17:50,977 --> 00:17:53,560 które mogą chcemy reprezentować, zwłaszcza gdy wprowadzi 366 00:17:53,560 --> 00:17:58,420 Języki azjatyckie i inne symbole które potrzebują większej wyrazistości niż ty 367 00:17:58,420 --> 00:18:02,150 zmieści się w najwcześniejszej wersji Kod ten, którego nazwano ASCII. 368 00:18:02,150 --> 00:18:05,250 Więc rzeczywiście pozwala Unicode można użyć więcej 0 i 2. 369 00:18:05,250 --> 00:18:08,830 W szczególności zachować wysłuchaniu bajtów słowo w społeczeństwie, a nawet po prostu 370 00:18:08,830 --> 00:18:09,400 wczoraj. 371 00:18:09,400 --> 00:18:12,040 I bajt, co znowu? 372 00:18:12,040 --> 00:18:14,840 >> Co znajduje się bajt? 373 00:18:14,840 --> 00:18:15,700 To tylko 8 bitów. 374 00:18:15,700 --> 00:18:17,150 Więc co to naprawdę oznacza? 375 00:18:17,150 --> 00:18:22,400 Dobrze, to znaczy, wcześniej, gdy byliśmy mówisz binarny i używałem 376 00:18:22,400 --> 00:18:28,010 arbitralnie trzy bity kiedy byliśmy mówisz binary-- dnia 1 za miejsce, 377 00:18:28,010 --> 00:18:33,600 miejsce na 2'S, a 4 na place-- dobrze, bajt po prostu oznacza, że ​​mówisz 378 00:18:33,600 --> 00:18:38,730 nie w jednostkach, ale trzy cztery, pięć, sześć, siedem osiem, 379 00:18:38,730 --> 00:18:46,910 co daje nam miejsce 8, w 16'S, 32'S, 64, a 128 na. 380 00:18:46,910 --> 00:18:50,010 >> Innymi słowy, nie wszystkie nieco że przydatna jednostka miary, 381 00:18:50,010 --> 00:18:53,132 bo to po prostu jak jeden maleńki informacja, włączyć lub wyłączyć. 382 00:18:53,132 --> 00:18:54,840 Tak kilka lat temu, świat po prostu postanowił 383 00:18:54,840 --> 00:18:59,060 To nieco wygodniej mówić Warunki bajtów, osiem rzeczy naraz. 384 00:18:59,060 --> 00:19:01,670 I tak więc urodził pojęcie bajt. 385 00:19:01,670 --> 00:19:03,640 I tak mamy tu osiem bitów. 386 00:19:03,640 --> 00:19:06,810 >> I okazuje się, też, bo podobna Powody, świat postanowił roku 387 00:19:06,810 --> 00:19:12,439 temu, że do reprezentowania nas ASCII masz zamiar użyć jednostek z 8 bitów. 388 00:19:12,439 --> 00:19:14,230 Więc nawet jeśli nie trzeba, że ​​wiele, jesteś 389 00:19:14,230 --> 00:19:18,130 Zawsze będziemy używać 8 bitów reprezentuje literę alfabetu. 390 00:19:18,130 --> 00:19:20,950 I to jest wygodne, bo wtedy, gdy ciebie 391 00:19:20,950 --> 00:19:28,720 pojawia się komunikat, który ma 0 0 0 1 1 1 1 0, a następnie przez kolejne 1 1 1 0 1 0 392 00:19:28,720 --> 00:19:33,320 0 1, więc jeśli otrzyma 16 Bity, świat może po prostu 393 00:19:33,320 --> 00:19:37,460 Zakładamy, że pierwsze 8 to jedna litera a drugi 8 to kolejna litera. 394 00:19:37,460 --> 00:19:39,240 >> Nie ma znaczenia, ile ich jest. 395 00:19:39,240 --> 00:19:41,460 To po prostu liczy, że wszyscy jesteśmy zgodne 396 00:19:41,460 --> 00:19:42,950 gdy jesteśmy interpretacji tych bitów. 397 00:19:42,950 --> 00:19:44,377 I ten właśnie sposób losowy. 398 00:19:44,377 --> 00:19:47,210 Oznacza to, że coś, ale ja nie naprawdę myślisz o tym, co to znaczy. 399 00:19:47,210 --> 00:19:49,620 >> Więc jest to małe białe kłamstwo. 400 00:19:49,620 --> 00:19:51,990 Początkowo ASCII faktycznie wykorzystane tylko 7 bitów. 401 00:19:51,990 --> 00:19:54,180 A ósmy bit jest nazywany rozszerzonym ASCII. 402 00:19:54,180 --> 00:19:56,290 Ale chodzi o to, w ostatecznym rozrachunku, to samo. 403 00:19:56,290 --> 00:19:58,850 Świat ogólnie standaryzowany na 8 bitów. 404 00:19:58,850 --> 00:20:04,290 >> Więc byłoby to wydaje się być trochę ograniczenie, bo mogę tylko 405 00:20:04,290 --> 00:20:07,970 reprezentują kapitału A, Kapitał B do Z. kapitałowym 406 00:20:07,970 --> 00:20:10,940 Ale w rzeczywistości nie jest, jeśli pójdę to-- istnieje grono zasobów 407 00:20:10,940 --> 00:20:13,695 on-line, na przykład asciitable.com ten 408 00:20:13,695 --> 00:20:16,310 będzie trochę przytłaczająca. 409 00:20:16,310 --> 00:20:18,910 Ale będę podkreślić co jest tutaj ważne. 410 00:20:18,910 --> 00:20:24,090 >> To właśnie dzieje się być: i będę walk-- zobaczmy, jeśli pójdę tutaj. 411 00:20:24,090 --> 00:20:27,990 Tutaj jest dziesiętną Kolumna, numer 65. 412 00:20:27,990 --> 00:20:32,201 A na literę prawej kolumnie charakter, Chr, jest literą A. 413 00:20:32,201 --> 00:20:34,450 I można zignorować, na razie, wszystko w środku. 414 00:20:34,450 --> 00:20:36,769 To szesnastkowym, ósemkowy, oraz kod HTML. 415 00:20:36,769 --> 00:20:39,810 W tym miejscu jest po prostu stara się rzucić wiele informacji na ciebie na raz. 416 00:20:39,810 --> 00:20:42,970 Ale wszyscy dbamy o to dziesiętne Kolumna i kolumna znaków. 417 00:20:42,970 --> 00:20:46,190 >> Więc od tej logiki, jaka jest liczba, że ​​świat 418 00:20:46,190 --> 00:20:50,510 zdecydowała reprezentuje małe znak? 419 00:20:50,510 --> 00:20:52,230 Tak, 97. 420 00:20:52,230 --> 00:20:55,850 I tak mylić ewentualnie lekko 421 00:20:55,850 --> 00:21:03,715 jaki numer ma świat postanowił stanowiłoby numer 1? 422 00:21:03,715 --> 00:21:06,900 423 00:21:06,900 --> 00:21:10,910 Racja, bo we-- 49, wydaje się, tutaj, w lewym dolnym rogu. 424 00:21:10,910 --> 00:21:12,320 >> Teraz, co mam na myśli? 425 00:21:12,320 --> 00:21:14,830 Tak więc okazuje się, że w systemach komputerowych 426 00:21:14,830 --> 00:21:16,840 jest ogólnie Podstawowa różnica 427 00:21:16,840 --> 00:21:19,920 pomiędzy liczby i charakteru. 428 00:21:19,920 --> 00:21:22,330 Wiele jest rzeczą dowiedziałem się, gdy rośnie 429 00:21:22,330 --> 00:21:23,830 byliśmy bardzo młodzi w szkole. 430 00:21:23,830 --> 00:21:25,110 To rzeczy, które liczą się. 431 00:21:25,110 --> 00:21:30,220 Ale postać jest tylko kształt, glif, że tak powiem, na ekranie. 432 00:21:30,220 --> 00:21:36,200 >> Teraz my, ludzie, rodzaj patrz coś, co wygląda następująco. 433 00:21:36,200 --> 00:21:39,060 I mówimy, och, to liczba 2. 434 00:21:39,060 --> 00:21:44,999 Ale nie, to tylko symbol, który wygląda jak to, co znamy jako numer 2. 435 00:21:44,999 --> 00:21:46,790 A więc jest to zasadnicza różnica 436 00:21:46,790 --> 00:21:50,340 między faktycznymi cyfr i znaków. 437 00:21:50,340 --> 00:21:52,130 Jest liczbą. 438 00:21:52,130 --> 00:21:54,420 Ale ogólnie, w Kontekst komputera 439 00:21:54,420 --> 00:21:56,809 jeśli zamiast zobaczyć coś takiego quoted-- 440 00:21:56,809 --> 00:21:58,600 i nie zawsze trzeba zobaczyć cytowany, 441 00:21:58,600 --> 00:22:01,474 ale ze względu na discussion-- if widać cytaty wokół numeru, 442 00:22:01,474 --> 00:22:02,730 teraz jest to znak. 443 00:22:02,730 --> 00:22:06,330 Więc ten numer 2 pod spodem okap wewnątrz komputera 444 00:22:06,330 --> 00:22:12,220 byłby reprezentowany wzorem bitów, które reprezentują liczby 445 00:22:12,220 --> 00:22:14,850 50, zgodnie ze schematem w Internecie. 446 00:22:14,850 --> 00:22:18,300 >> Jednakże, jeśli w komputerze po prostu widzi to, to 447 00:22:18,300 --> 00:22:24,580 byłaby oznaczona z Wzór bit 0 0 0 0 0 0 1 0. 448 00:22:24,580 --> 00:22:29,595 Zważywszy, że postać ta będzie faktycznie być reprezentowane as-- i teraz, 449 00:22:29,595 --> 00:22:34,710 Muszę trochę pomyśleć harder-- więc ta postać byłaby reprezentowana 0 450 00:22:34,710 --> 00:22:39,080 0 1-- co muszę tutaj? 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 W jaki sposób mogę to zrobić? 453 00:22:45,480 --> 00:22:49,580 Dobrze jest to numer 50, jeśli ciebie pomnożyć go za pomocą tych kolumn, 454 00:22:49,580 --> 00:22:53,530 jest to numer 2, a więc dlatego nie jest to dychotomia. 455 00:22:53,530 --> 00:22:55,850 >> I to jest właśnie Teaser teraz funkcje 456 00:22:55,850 --> 00:22:59,710 które istnieją w języku programowania że będziemy dotykać na krótko później dzisiaj. 457 00:22:59,710 --> 00:23:01,950 W językach programowania, masz ogólnie 458 00:23:01,950 --> 00:23:04,495 ale nie zawsze, rzeczy zadzwoń różne typy danych. 459 00:23:04,495 --> 00:23:06,870 Innymi słowy, programmer-- gdy on lub ona jest pisanie, 460 00:23:06,870 --> 00:23:11,150 programista dostaje zdecydować, w jakim Format do przechowywania swoich danych. 461 00:23:11,150 --> 00:23:14,120 możesz przechowywać dane jak numery surowce, takie jak numer 2. 462 00:23:14,120 --> 00:23:17,940 Można też zapisać je jako ciągi, lub sekwencje znaków 463 00:23:17,940 --> 00:23:21,550 że można na ogół wyrazić cytaty w języku programowania. 464 00:23:21,550 --> 00:23:25,230 >> Można mieć rzeczy called-- Będę oversimplify i nazwać je 465 00:23:25,230 --> 00:23:28,870 prawdziwe numbers-- więc liczb nie są liczbami całkowitymi, takie jak numer 2, 466 00:23:28,870 --> 00:23:31,310 ale numery podoba 4,56. 467 00:23:31,310 --> 00:23:33,490 Więc może również liczbami rzeczywistymi mają miejsc po przecinku, 468 00:23:33,490 --> 00:23:36,340 tak to już zupełnie inna fundamentalna element danych w komputerze. 469 00:23:36,340 --> 00:23:41,920 A potem można nawet mieć inne typy danych martwych. 470 00:23:41,920 --> 00:23:45,810 Więc to tylko zapowiedź naprawdę od najprostszych decyzji projektowych 471 00:23:45,810 --> 00:23:50,960 że programista może aby pod maską. 472 00:23:50,960 --> 00:23:52,925 >> Więc jakieś pytania tylko jeszcze? 473 00:23:52,925 --> 00:23:57,320 474 00:23:57,320 --> 00:23:59,860 Więc spróbujmy zrobić to trochę bardziej realne. 475 00:23:59,860 --> 00:24:02,120 Ten sprzęt nie jest tyle już w użyciu. 476 00:24:02,120 --> 00:24:07,420 Ale przede wszystkim w tym pomieszczeniu prawdopodobnie dorastałem i nadal korzysta z dysków twardych 477 00:24:07,420 --> 00:24:08,010 w pewnym sensie. 478 00:24:08,010 --> 00:24:10,100 >> Mimo, że większość Nasze laptopy nie 479 00:24:10,100 --> 00:24:15,900 mają urządzenia, które działają w ten sposób, zamiast laptopów dziś na ogół 480 00:24:15,900 --> 00:24:18,590 mają dysków SSD bez ruchomych części. 481 00:24:18,590 --> 00:24:22,840 I że są bardziej kosztowne niestety, ale trochę szybciej 482 00:24:22,840 --> 00:24:27,230 i A-- dobrze, często o wiele szybciej, co jest jednym z powodów. 483 00:24:27,230 --> 00:24:28,980 A także, że nie ma generować jak najwięcej ciepła. 484 00:24:28,980 --> 00:24:31,680 może być mniejszy, więc generalnie netto pozytywne. 485 00:24:31,680 --> 00:24:35,030 >> Ale to pozwala nam zmapować trochę bardziej konkretnie co 486 00:24:35,030 --> 00:24:38,460 mówimy u 0 i Poziom 1 jest teraz do urządzenia fizycznego. 487 00:24:38,460 --> 00:24:40,810 Jest jedna rzecz dla mnie, aby porozmawiać około 0 i 1 pod względem 488 00:24:40,810 --> 00:24:43,990 mój telefon lub abstrakcyjnie w kategoriach zwrotnic i wyłączać. 489 00:24:43,990 --> 00:24:45,340 Ale co z dysków twardych? 490 00:24:45,340 --> 00:24:48,495 W swoich laptopów, jeśli masz starszą jednym lub w komputerze stacjonarnym, 491 00:24:48,495 --> 00:24:51,200 czy na pewno w serwerach dzisiaj, gdzie trzeba 492 00:24:51,200 --> 00:24:53,070 dyski twarde, które mają terabajt przestrzeni, 493 00:24:53,070 --> 00:24:55,560 4 terabajtów przestrzeni, a co to znaczy? 494 00:24:55,560 --> 00:24:59,560 >> Dysk twardy z 1 terabajt środków kosmicznych 495 00:24:59,560 --> 00:25:03,890 jest 1 bilion bajtów wewnątrz niego jakoś, 496 00:25:03,890 --> 00:25:10,450 lub równoważnie 8 bilionów bitów wewnątrz. 497 00:25:10,450 --> 00:25:16,240 1 terabajt byłoby 8 Tb lub 1 biliona bitów, które 498 00:25:16,240 --> 00:25:19,330 Oznacza jeśli masz ciężki jazdy, trzeba jakoś 499 00:25:19,330 --> 00:25:22,400 lub inne bilion 0 na i 1 w jej wnętrzu. 500 00:25:22,400 --> 00:25:25,360 A jeśli po prostu spojrzeć na dowolne zdjęcie z dysku twardego 501 00:25:25,360 --> 00:25:30,110 reprezentatywne, to co z trudem Napęd może zazwyczaj wygląda w środku. 502 00:25:30,110 --> 00:25:32,600 >> To też jest coś w rodzaju stary gramofon player 503 00:25:32,600 --> 00:25:35,350 ale ogólnie z wiele rekordów wewnętrzne, 504 00:25:35,350 --> 00:25:38,270 do wielokrotnego speak-- talerze, jak są one nazywane, 505 00:25:38,270 --> 00:25:42,259 Dyski okrągłe metalowe, oraz potem trochę głowica odczytująca, 506 00:25:42,259 --> 00:25:43,550 podobnie starego gramofonu. 507 00:25:43,550 --> 00:25:46,589 I że głowica odczytująca porusza się do tyłu i naprzód i jakoś odczytuje bity. 508 00:25:46,589 --> 00:25:49,380 A co na tych talerzach, a nawet Chociaż ludzie nie mogą ich zobaczyć, 509 00:25:49,380 --> 00:25:52,757 albo w rzeczywistości lub w tym obrazie, tam maleńkie cząstki magnetyczne. 510 00:25:52,757 --> 00:25:55,090 A nawet jeśli już dawno zapomniał jak działa prąd, 511 00:25:55,090 --> 00:25:57,550 cząstka magnetyczna która jest pobierana z reguły 512 00:25:57,550 --> 00:26:00,570 ma północną koniec i południe end-- tak, północ i południe. 513 00:26:00,570 --> 00:26:03,000 I tak po prostu świat postanowił jakiś czas temu 514 00:26:03,000 --> 00:26:06,570 że jeśli protokół zasadniczo magnetyczne jest wyrównana jak ten, z północy na południe, 515 00:26:06,570 --> 00:26:07,610 nazwijmy, że: 1. 516 00:26:07,610 --> 00:26:10,470 Jeśli to zamiast na południe-północ, niech po prostu zadzwonić, że 0. 517 00:26:10,470 --> 00:26:13,350 A więc jeśli masz co Państwa dyspozycji bilion 518 00:26:13,350 --> 00:26:16,300 malutkie magnetyczna particles-- i mam nadzieję, 519 00:26:16,300 --> 00:26:18,740 pomysłowość sprzętu w Aby odwrócić te okolice 520 00:26:18,740 --> 00:26:24,450 jak widać fit-- jeśli chcesz reprezentują całą masę 0 jest, no 521 00:26:24,450 --> 00:26:28,120 Wystarczy 8 cząstki magnetyczne wszystko dostosowane w taki sposób. 522 00:26:28,120 --> 00:26:30,330 A jeśli chcesz do reprezentowania Osiem 1-ki, po prostu 523 00:26:30,330 --> 00:26:33,170 Potrzebują 8 cząstek magnetycznych wyrównane z powrotem z powrotem do tyłu w taki sposób. 524 00:26:33,170 --> 00:26:35,515 >> Co mam na myśli przez Cząstki magnetyczne? 525 00:26:35,515 --> 00:26:38,390 Szczerze mówiąc, wszystkie te lata później, rzecz, która wciąż przychodzi mi do głowy 526 00:26:38,390 --> 00:26:42,139 jest ten facet, jeśli ciebie Dorastałem z tej rzeczy. 527 00:26:42,139 --> 00:26:43,930 Jest to na little-- tych unfamiliar-- 528 00:26:43,930 --> 00:26:47,810 mała zabawka z dzieciństwa, że Nagi człowiek ma to tutaj 529 00:26:47,810 --> 00:26:51,690 która posiada wszystkie te malutkie czarne cząstki magnetyczne, które pochodzą z nim. 530 00:26:51,690 --> 00:26:53,930 I za pomocą tego czerwony kij, która jest po prostu jak magnes, 531 00:26:53,930 --> 00:26:58,460 można rodzaj dać mu wąsy lub brwi i włosy czy coś na niego. 532 00:26:58,460 --> 00:27:00,710 Tak więc w rzeczywistości, jeśli powiększyć w, na przykład, w tym 533 00:27:00,710 --> 00:27:02,950 Jest to rodzaj grze Można grać z Wooly Willy. 534 00:27:02,950 --> 00:27:06,570 >> A to tylko, że te są znacznie większe cząstki magnetyczne 535 00:27:06,570 --> 00:27:09,890 niż są w rzeczywistości na dysku twardym, i znacznie mniej cząstek magnetycznych. 536 00:27:09,890 --> 00:27:11,640 Ale niech rzeczywiście zobaczyć Następnie, jeśli masz 537 00:27:11,640 --> 00:27:14,720 maleńkie cząstki magnetyczne w dysk twardy, jak można rzeczywiście 538 00:27:14,720 --> 00:27:19,090 użyć do reprezentowania tych danych. 539 00:27:19,090 --> 00:27:20,070 >> [ODTWARZANIE] 540 00:27:20,070 --> 00:27:24,190 >> -The Dysk twardy jest, gdy komputer przechowuje większość swoich stałych danych. 541 00:27:24,190 --> 00:27:27,170 Aby to zrobić, dane podróżuje wraz z RAM 542 00:27:27,170 --> 00:27:31,720 z sygnałami oprogramowania, które powiedzieć dysk twardy, jak przechowywać te dane. 543 00:27:31,720 --> 00:27:36,570 Twarde układy napędowe przetłumaczyć te sygnały do ​​wahań napięcia. 544 00:27:36,570 --> 00:27:40,880 Te z kolei kontrolować dysku twardego przesuwając parts-- jedne z nielicznych poruszających 545 00:27:40,880 --> 00:27:43,440 Części lewej nowoczesnego komputera. 546 00:27:43,440 --> 00:27:47,650 >> Niektóre z sygnałów sterowania silnika która obraca talerzy metalowych powlekanych. 547 00:27:47,650 --> 00:27:50,980 Twoje dane są w rzeczywistości przechowywane na tych talerzach. 548 00:27:50,980 --> 00:27:56,250 Inne sygnały przenosić głowice odczytu / zapisu do odczytu lub zapisu danych na talerzach. 549 00:27:56,250 --> 00:28:00,100 Maszyna ta jest tak precyzyjna że ludzki włos nie mógł nawet 550 00:28:00,100 --> 00:28:02,800 przejść między głowami i przędzenie talerze. 551 00:28:02,800 --> 00:28:04,887 Jednak to wszystko działa na wspaniałych prędkościach. 552 00:28:04,887 --> 00:28:05,470 [KONIEC ODTWARZANIA] 553 00:28:05,470 --> 00:28:06,780 I widać u Koniec ogona wideo 554 00:28:06,780 --> 00:28:08,340 istnieje na ogół wiele talerze. 555 00:28:08,340 --> 00:28:10,250 I tak, że czytanie głowy nie tylko czytanie szczyt. 556 00:28:10,250 --> 00:28:12,458 To tak jakby trzy lub cztery lub więcej głowic odczytu 557 00:28:12,458 --> 00:28:14,920 które poruszają się w ten sposób, jednoczesnego odczytu danych. 558 00:28:14,920 --> 00:28:17,407 >> Więc nie jest dużo Złożoność i rodzaj terminów 559 00:28:17,407 --> 00:28:18,740 który jest zaangażowany w twardym. 560 00:28:18,740 --> 00:28:21,920 A co się kręci naprawdę cholernie szybko, więc nie ma dużo złożoności. 561 00:28:21,920 --> 00:28:25,220 Ale bądźmy przybliżyć nieco głębiej i zobaczyć, gdzie są te cząstki magnetyczne 562 00:28:25,220 --> 00:28:27,370 iw jaki sposób stajemy się na nich. 563 00:28:27,370 --> 00:28:28,750 >> [ODTWARZANIE] 564 00:28:28,750 --> 00:28:31,830 >> -Niech spojrzenie na to, co jest Właśnie widziałem w zwolnionym tempie. 565 00:28:31,830 --> 00:28:35,230 Po krótki impuls prądu jest wysyłana do głowicy odczytu / zapisu 566 00:28:35,230 --> 00:28:39,000 że trzepie na małej elektromagnetyczne na ułamek sekundy. 567 00:28:39,000 --> 00:28:41,390 Magnes tworzy Pole, które zmienia 568 00:28:41,390 --> 00:28:44,600 biegunowość maleńka, maleńka Część cząstek metalowych 569 00:28:44,600 --> 00:28:46,960 które pokrywają powierzchnię każdego użytkownika Platter. 570 00:28:46,960 --> 00:28:50,020 Seria wzór tych maleńkich naładowane obszary na dysku 571 00:28:50,020 --> 00:28:54,590 reprezentuje pojedynczy bit danych w binarny system liczbowy używany przez komputery. 572 00:28:54,590 --> 00:28:57,510 >> Teraz, jeżeli obecny jest jeden wysłany drogę głowicy odczytu / zapisu, 573 00:28:57,510 --> 00:28:59,899 Obszar o polaryzacji w jednym kierunku. 574 00:28:59,899 --> 00:29:01,940 Jeśli obecny jest wysyłane w przeciwnym kierunku, 575 00:29:01,940 --> 00:29:04,020 polaryzacja zostaje odwrócona. 576 00:29:04,020 --> 00:29:06,440 Jak uzyskać dane z dysku twardego? 577 00:29:06,440 --> 00:29:08,190 Wystarczy odwrócić proces. 578 00:29:08,190 --> 00:29:10,440 Więc to cząstki na Dysk, który uzyskać prąd 579 00:29:10,440 --> 00:29:12,260 w głowicy odczytu / zapisu ruchu. 580 00:29:12,260 --> 00:29:14,580 Ułożyła miliony namagnesowane te segmenty, 581 00:29:14,580 --> 00:29:16,220 i masz plik. 582 00:29:16,220 --> 00:29:21,030 >> Teraz kawałki jednego pliku może być rozrzucone po całym talerzy można dojechać za, 583 00:29:21,030 --> 00:29:24,060 trochę jak bałagan papierów na biurku. 584 00:29:24,060 --> 00:29:27,590 Więc specjalny dodatkowy plik utrzymuje tor, gdzie wszystko jest. 585 00:29:27,590 --> 00:29:30,440 Czy nie chciałbyś mieć coś w tym stylu? 586 00:29:30,440 --> 00:29:31,290 >> [KONIEC ODTWARZANIA] 587 00:29:31,290 --> 00:29:36,260 >> Więc czym wspomniał tam, być może, że wątek z wczoraj z usunięciem. 588 00:29:36,260 --> 00:29:38,380 Po usunięciu Plik, wczoraj mówiliśmy 589 00:29:38,380 --> 00:29:41,020 że komputer faktycznie robi co, kiedy coś przeciągania 590 00:29:41,020 --> 00:29:44,110 do kosza lub kosza? 591 00:29:44,110 --> 00:29:45,150 To po prostu zapomina. 592 00:29:45,150 --> 00:29:47,540 Ale 0 i 1-ki, Cząstki magnetyczne 593 00:29:47,540 --> 00:29:50,640 które wyglądają jak czerwone i niebieskie rzeczy tutaj, albo tutaj, moja ręka 594 00:29:50,640 --> 00:29:52,350 wciąż tam są na dysku twardym. 595 00:29:52,350 --> 00:29:56,090 >> I tak istnieje software-- Norton Utilities i Yesteryear 596 00:29:56,090 --> 00:29:58,159 i inne bardziej nowoczesne software-- że właśnie 597 00:29:58,159 --> 00:30:01,200 skanuje cały dysk twardy szuka na te wszystkie 0 i 1, ponieważ jest 598 00:30:01,200 --> 00:30:06,890 Okazuje się, że większość plików rodzaje-- dokumenty Word, Excel, obrazów, 599 00:30:06,890 --> 00:30:10,380 wideo files-- wszystkie mają pewne wzory, które są powszechne wśród nich. 600 00:30:10,380 --> 00:30:12,550 Każdy plik wideo może być innego wideo 601 00:30:12,550 --> 00:30:14,870 ale pierwsze kilka Bity są zwykle takie same. 602 00:30:14,870 --> 00:30:16,790 Lub ostatnie kilka bitów są zwykle takie same. 603 00:30:16,790 --> 00:30:19,910 >> I tak z dużym prawdopodobieństwem, można szukać tych wzorców. 604 00:30:19,910 --> 00:30:23,700 A nawet jeśli plik został zapomniany, można powiedzieć z dużym prawdopodobieństwem, 605 00:30:23,700 --> 00:30:28,460 ale to wygląda jak dokument Word, lets go odzyskać i nie-zapomnij, 606 00:30:28,460 --> 00:30:28,990 Jeśli będziesz. 607 00:30:28,990 --> 00:30:32,330 I tak to w jaki sposób można odzyskać Dane, które jest albo przypadkowo 608 00:30:32,330 --> 00:30:36,560 usunięte lub usunięta lub celowo skreśla się dla dowolnych celów. 609 00:30:36,560 --> 00:30:42,530 >> Natomiast bezpieczne usuwanie co robi w związku z tym jak obraz? 610 00:30:42,530 --> 00:30:44,059 Dokładnie, czyni z nich wszystkich losowo. 611 00:30:44,059 --> 00:30:46,350 Więc to rodzaj przesuwa niektóre je w dół, niektóre z nich nawet, 612 00:30:46,350 --> 00:30:49,433 niektóre z nich pozostawia bez zmian, a ogólnie sprawia szumy z niego, 613 00:30:49,433 --> 00:30:52,960 lub po prostu może sprawia, że ​​wszystkie them 0-tych lub wszystkie z nich 1-ki. 614 00:30:52,960 --> 00:30:56,350 I to też można na ogół szorować swoje dane dalej. 615 00:30:56,350 --> 00:31:00,160 >> Więc wróćmy teraz do kwestii obliczeniowej myślenia, zgodnie z którym 616 00:31:00,160 --> 00:31:03,270 mamy wejść formule. 617 00:31:03,270 --> 00:31:06,390 I daje algorytmy Ci wyjść ostatecznie. 618 00:31:06,390 --> 00:31:09,270 Skupiamy się teraz na wejściach i wyjścia, bo teraz, 619 00:31:09,270 --> 00:31:12,159 Twierdzenie, że mamy sposób reprezentujący wejść i wyjść. 620 00:31:12,159 --> 00:31:13,450 Jesteśmy po prostu zamiar użyć binarny. 621 00:31:13,450 --> 00:31:15,910 >> I bez względu na to, co chcą reprezentować dziś 622 00:31:15,910 --> 00:31:20,230 czy jest to numer lub litera lub ich tysiące w książce telefonicznej 623 00:31:20,230 --> 00:31:23,210 lub obrazy lub filmy, na koniec w ciągu dnia, to wszystko jest 0 i 1 roku. 624 00:31:23,210 --> 00:31:26,640 I twierdzą, że chociaż Jest to bardzo proste, świat z zaledwie 0-tych 625 00:31:26,640 --> 00:31:28,240 i 1-ki, możemy budować się w górę. 626 00:31:28,240 --> 00:31:32,210 I widzieliśmy jeden przykład że z listami do tej pory. 627 00:31:32,210 --> 00:31:35,615 >> Więc skupmy się teraz na ten temat Składnik środkowa, algorytm. 628 00:31:35,615 --> 00:31:38,190 I wróćmy do tego Przykładem Mike Smith. 629 00:31:38,190 --> 00:31:41,689 Tak więc w tej książce telefonicznej, która wprawdzie nie używamy już tak dużo, 630 00:31:41,689 --> 00:31:42,980 pojawia się problem, który należy rozwiązać. 631 00:31:42,980 --> 00:31:45,040 Chcemy znaleźć kogoś takiego jak Mike Smith. 632 00:31:45,040 --> 00:31:47,520 >> I co mogę zrobić, aby znaleźć Mike? 633 00:31:47,520 --> 00:31:51,197 Cóż, może po prostu otworzyć tę Książka rozpoczyna się na pierwszej stronie, 634 00:31:51,197 --> 00:31:52,780 i uświadomić sobie, och, jestem w punkcie a. 635 00:31:52,780 --> 00:31:53,510 Mike nie ma. 636 00:31:53,510 --> 00:31:55,510 Muszę sekcję S Smith. 637 00:31:55,510 --> 00:31:58,192 Więc po prostu zachować obracając jedną stronę na raz. 638 00:31:58,192 --> 00:32:00,900 Pozwól mi udawać, że to wszystko białych stronach, a nie żółte strony, 639 00:32:00,900 --> 00:32:02,910 dlatego, że nie zamierzamy znaleźć Mike na żółtych stronach i tak. 640 00:32:02,910 --> 00:32:04,034 Ale jestem w białych stron. 641 00:32:04,034 --> 00:32:05,340 A teraz jestem w punkcie B. 642 00:32:05,340 --> 00:32:06,810 I nadal nie znalazłem go. 643 00:32:06,810 --> 00:32:08,890 Więc trzymam obracając jedną stronę na raz. 644 00:32:08,890 --> 00:32:10,130 >> Jest to algorytm. 645 00:32:10,130 --> 00:32:12,440 Jest to zestaw instrukcji dla rozwiązania jakiegoś problemu. 646 00:32:12,440 --> 00:32:16,480 Innymi słowy, patrzeć Strona, jeśli Mike nie jest na nim, 647 00:32:16,480 --> 00:32:20,020 obrócić stronę i powtórzenia znowu i znowu i znowu, 648 00:32:20,020 --> 00:32:21,760 idealnie patrząc w dół, jak to robisz. 649 00:32:21,760 --> 00:32:24,120 Więc to jest algorytm, Proces ten, prawda? 650 00:32:24,120 --> 00:32:27,400 651 00:32:27,400 --> 00:32:28,830 >> Przepraszam. 652 00:32:28,830 --> 00:32:30,056 Nie, słyszę jakieś NOS. 653 00:32:30,056 --> 00:32:33,250 654 00:32:33,250 --> 00:32:36,125 OK, ale is-- tak, Z pewnością jest to uciążliwe. 655 00:32:36,125 --> 00:32:39,000 Podobnie jak, będziemy tu cały dzień, gdybym utrzymać szukasz Mike z tą prędkością. 656 00:32:39,000 --> 00:32:41,430 Ale pozwól, że twierdzą, że to poprawne. 657 00:32:41,430 --> 00:32:43,850 To głupie, ale jest to poprawne. 658 00:32:43,850 --> 00:32:47,209 >> Na koniec dnia, pod warunkiem, że może podjąć, znajdę Mike jeśli on jest w środku 659 00:32:47,209 --> 00:32:48,250 i mam zwracać uwagę. 660 00:32:48,250 --> 00:32:50,230 I w końcu dotrzeć do jego strony. 661 00:32:50,230 --> 00:32:52,890 I jeśli się zbyt daleko, jeśli I dostać się do sekcji T, 662 00:32:52,890 --> 00:32:55,900 wtedy mogę nieco zoptymalizować i po prostu powiedzieć, hm, wszystko zrobione. 663 00:32:55,900 --> 00:32:57,980 I nawet nie trzeba tracić Czas idzie do Z jest. 664 00:32:57,980 --> 00:33:00,010 Ale jest to bardzo Podejście liniowy, jeśli ciebie 665 00:33:00,010 --> 00:33:03,370 Będzie to bardzo rodzaju lewej do prawej Podejście, linia prosta. 666 00:33:03,370 --> 00:33:05,560 I jego poprawne, ale powoli. 667 00:33:05,560 --> 00:33:09,250 >> Więc pamiętam z podstawówki, sortowanie z optymalizacją z pierwszego równiarka, 668 00:33:09,250 --> 00:33:13,756 gdzie nauczył się nie liczy przez dzieci, ale przez twos-- więc 2, 4, 6. 669 00:33:13,756 --> 00:33:15,630 To, dużo trudniej zrobić, ale teoretycznie jest to 670 00:33:15,630 --> 00:33:20,149 faster-- 8, 10, 12, 14, i tak dalej. 671 00:33:20,149 --> 00:33:21,190 Jak o tym algorytmie? 672 00:33:21,190 --> 00:33:23,150 Czy jest bardziej efektywny? 673 00:33:23,150 --> 00:33:23,880 Czy to szybciej? 674 00:33:23,880 --> 00:33:25,365 >> PUBLICZNOŚCI: To wydajne. 675 00:33:25,365 --> 00:33:28,560 >> DAVID MALAN: Tak, tak, to jest to def-- dosłownie dwa razy szybciej, przy założeniu, że 676 00:33:28,560 --> 00:33:30,170 Nie zrozumcie potknął się palcami. 677 00:33:30,170 --> 00:33:32,294 To dwa razy szybciej, ponieważ Ja obracam przez dwa 678 00:33:32,294 --> 00:33:36,560 stron na raz, a nie jeden, ale to potencjalnie poprawne, bo po co? 679 00:33:36,560 --> 00:33:37,852 >> PUBLICZNOŚCI: Ty pomijanie niektórych. 680 00:33:37,852 --> 00:33:41,185 DAVID MALAN: Tak, co się dzieje, gdy Mike być sandwiched-- może kiedy jestem później 681 00:33:41,185 --> 00:33:44,370 w książce telefonicznej, Mike bywa przekładkowo między tymi dwiema stronami 682 00:33:44,370 --> 00:33:46,720 a ja po prostu ślepo przejść nad nim. 683 00:33:46,720 --> 00:33:48,490 Więc potrzebujemy trochę naprawić tam. 684 00:33:48,490 --> 00:33:51,290 Raz uderzyłem sekcję t, Nie można po prostu śmiało powiedzieć, 685 00:33:51,290 --> 00:33:52,420 nie znaleźliśmy Mike Smith. 686 00:33:52,420 --> 00:33:53,770 Pewnie musiał zawrócić. 687 00:33:53,770 --> 00:34:00,210 A w rzeczywistości, gdy sięgam kogoś o nazwie S-N, zamiast S-M dla Smitha 688 00:34:00,210 --> 00:34:02,790 natychmiast, mogę podwoić z powrotem, ponieważ może on 689 00:34:02,790 --> 00:34:03,900 było na poprzedniej stronie. 690 00:34:03,900 --> 00:34:05,070 >> Ale nie musiał zawrócić daleko. 691 00:34:05,070 --> 00:34:08,030 Teoretycznie, jeśli mogę to zrobić po prawej Czas, po prostu wrócić jednej stronie. 692 00:34:08,030 --> 00:34:10,139 Więc to dodając tylko jeden dodatkowy krok. 693 00:34:10,139 --> 00:34:13,070 Więc ja już dwa razy szybciej, ale kosztowało mnie jedną dodatkową stronę. 694 00:34:13,070 --> 00:34:14,699 Ale to jest jak wygrana netto. 695 00:34:14,699 --> 00:34:17,230 >> Ale to nie jest, jak większość ludzi w Ten pokój będzie rozwiązać ten problem. 696 00:34:17,230 --> 00:34:20,313 Co by typowa osoba, może Kilka lat temu zrobić, aby znaleźć Mike Smith? 697 00:34:20,313 --> 00:34:22,900 698 00:34:22,900 --> 00:34:24,800 Tak, nie znaleźliśmy Mike. 699 00:34:24,800 --> 00:34:27,190 Co ja robię? 700 00:34:27,190 --> 00:34:31,027 Więc trochę bliżej, ale ja know-- co jest prawdą o książce telefonicznej? 701 00:34:31,027 --> 00:34:32,110 PUBLICZNOŚCI: To sekwencyjna. 702 00:34:32,110 --> 00:34:32,760 DAVID MALAN: To sekwencyjna. 703 00:34:32,760 --> 00:34:33,750 To alfabetycznej. 704 00:34:33,750 --> 00:34:36,540 A więc jeśli jestem w punkcie M, Mikrofon jest wyraźnie na prawo 705 00:34:36,540 --> 00:34:39,949 Mogę dosłownie oderwać Problem w half-- 706 00:34:39,949 --> 00:34:44,360 to zwykle łatwiejsze niż that-- rozdarcie problem na pół i wyrzucić, 707 00:34:44,360 --> 00:34:47,627 tak że teraz mam problem, który jest już 1000 pages-- to było trudne, 708 00:34:47,627 --> 00:34:50,210 bo myślę, że faktycznie zerwał książka telefoniczna nie time-- 709 00:34:50,210 --> 00:34:52,219 1000 stron, ale 500. 710 00:34:52,219 --> 00:34:54,750 >> Tak więc problem jest dosłownie w połowie tak duże. 711 00:34:54,750 --> 00:34:58,170 I to całkiem przekonujące, ponieważ z moich poprzednich algorytmów, wersja 712 00:34:58,170 --> 00:35:02,870 1 i 2, byłem tylko co problem jedna strona, dwie strony mniejsze mniejsze 713 00:35:02,870 --> 00:35:03,470 na czas. 714 00:35:03,470 --> 00:35:07,230 Zważywszy, że teraz, ja zrobiłem to 500 stron mniejsze naraz. 715 00:35:07,230 --> 00:35:10,089 >> OK, więc teraz Karim proponuje że pójdę do prawej połowie. 716 00:35:10,089 --> 00:35:12,380 Więc mam zamiar iść z grubsza do połowy, lub dać. 717 00:35:12,380 --> 00:35:15,185 A gdybym zrobił to matematycznie, Mogłem iść w prawo na środku. 718 00:35:15,185 --> 00:35:17,060 Teraz zdaję sobie sprawę, oh, Jestem w punkcie T. 719 00:35:17,060 --> 00:35:18,280 I rzeczywiście poszło za daleko. 720 00:35:18,280 --> 00:35:21,670 >> Ale mogę znowu rozerwać Problem w połowie, należy go wyrzucić. 721 00:35:21,670 --> 00:35:23,330 A moi bajtów nie jest tak duża. 722 00:35:23,330 --> 00:35:28,780 To tylko, co, 256 lub 250 stron stron, lub dać w tej chwili. 723 00:35:28,780 --> 00:35:31,570 Ale to wciąż o wiele bardziej niż jedną stronę lub dwie strony. 724 00:35:31,570 --> 00:35:33,345 >> A więc teraz, idę mniej więcej pośrodku. 725 00:35:33,345 --> 00:35:35,330 Och, nie poszedł dość daleko tyle teraz. 726 00:35:35,330 --> 00:35:37,880 Więc powtarzam, powtarzać, powtarzać, Powtarzam, dopóki jestem z nadzieją 727 00:35:37,880 --> 00:35:40,360 pozostaje tylko jedna strona. 728 00:35:40,360 --> 00:35:44,000 >> Tak, że zaprasza na pytanie, gdybym Zaczęło się około 1000 stron, 729 00:35:44,000 --> 00:35:47,340 ile kroków zajęło mi z wersji 1 mojego algorytmu? 730 00:35:47,340 --> 00:35:50,420 Dobrze, jeśli Mike jest w S sekcji, w najgorszym przypadku, 731 00:35:50,420 --> 00:35:52,630 to dość blisko Koniec alfabetu. 732 00:35:52,630 --> 00:35:56,559 Więc jeśli książka telefoniczna ma 1000 stron, Znajdę Mike ciągu 1000 stron, 733 00:35:56,559 --> 00:35:57,100 daj albo bierz. 734 00:35:57,100 --> 00:35:59,750 Może to jest jak 800 lub tak, ale to całkiem blisko 1,000. 735 00:35:59,750 --> 00:36:01,680 >> Natomiast w drugim Algorytm, ile 736 00:36:01,680 --> 00:36:06,840 Strona okazuje maksymalnie mogę wymagają, aby znaleźć Mike Smith? 737 00:36:06,840 --> 00:36:09,970 Jest 1000 stron, ale jestem robi je po dwa stopnie naraz. 738 00:36:09,970 --> 00:36:13,045 Dobra, więc max jak 500ish, ponieważ gdybym przejść przez całą książkę telefoniczną, 739 00:36:13,045 --> 00:36:14,170 w którym momencie mogę przestać. 740 00:36:14,170 --> 00:36:16,669 Ale mogę zgolić przez kilka zatrzymując się tylko na odcinku T. 741 00:36:16,669 --> 00:36:19,880 Ale to w najgorszym przypadku 500 stron. 742 00:36:19,880 --> 00:36:24,710 >> Więc ile razy mogę podzielić ponownie 1,00o-stronicowa książka telefoniczna na pół 743 00:36:24,710 --> 00:36:30,450 i znowu i again-- od 1000 do 500 do 250 do 125? 744 00:36:30,450 --> 00:36:32,250 Jak długo przed I hit jedną stronę? 745 00:36:32,250 --> 00:36:35,510 746 00:36:35,510 --> 00:36:36,370 Tak, to jest około 10. 747 00:36:36,370 --> 00:36:40,780 W zależności od zaokrągleń i takie, to około 10 stron sumie trzeba włączać 748 00:36:40,780 --> 00:36:43,290 lub książki telefoniczne muszą być rozdarty. 749 00:36:43,290 --> 00:36:44,710 >> Więc to jest dość silny. 750 00:36:44,710 --> 00:36:48,170 Zaczęliśmy z problemem tysięcy stron we wszystkich tych trzech kondygnacji. 751 00:36:48,170 --> 00:36:51,850 Jednak w pierwszym algorytmem, to zabrał mnie, w najgorszym przypadku, strona 1000 752 00:36:51,850 --> 00:36:52,740 Okazuje się znaleźć Mike. 753 00:36:52,740 --> 00:36:55,590 Drugi algorytm 500 stron, aby znaleźć Mike. 754 00:36:55,590 --> 00:36:58,480 Trzeci algorytm, 10 stron, aby znaleźć Mike. 755 00:36:58,480 --> 00:37:00,230 I to jest jeszcze bardziej potężny, kiedy myślisz 756 00:37:00,230 --> 00:37:01,860 o rodzaju przeciwnego scenariusza. 757 00:37:01,860 --> 00:37:05,680 Załóżmy, że w firmie telekomunikacyjnej następnego rok może dwa miasta łączy ze sobą, 758 00:37:05,680 --> 00:37:08,550 a książka telefoniczna nagle Ta grubość, a nie to, że 759 00:37:08,550 --> 00:37:12,470 2000 stron, więc zamiast 1000. 760 00:37:12,470 --> 00:37:15,640 Cóż, mój pierwszy algorytm szuka Mike Smith w 2000-stronicowej książce telefonicznej, 761 00:37:15,640 --> 00:37:21,460 gorsza sprawa, to zajmie ilu strona zamienia w przyszłym roku? 762 00:37:21,460 --> 00:37:24,800 >> Książka telefoniczna jest 2000 stron, SO- dobrze, a nie jeden. 763 00:37:24,800 --> 00:37:29,540 Jeśli książka telefoniczna jest dwukrotnie grubsza w pierwszy algorytm najpierw algorytmu, 764 00:37:29,540 --> 00:37:30,380 2000, prawda? 765 00:37:30,380 --> 00:37:33,005 W najgorszym przypadku, Mike jest naprawdę blisko końca książce 766 00:37:33,005 --> 00:37:34,110 więc jest to 2.000 stron zakrętów. 767 00:37:34,110 --> 00:37:38,070 Drugi algorytm będzie przez Dwójki, podobnie jak 1000 stron. 768 00:37:38,070 --> 00:37:41,490 >> Ale co w mojej trzeciej oraz najnowszy algorytm? 769 00:37:41,490 --> 00:37:44,950 Jeśli firma telefonu podwaja liczba stron od 1000 do 2000, 770 00:37:44,950 --> 00:37:47,770 Ile jeszcze razy muszę oderwać ta książka w połowie znaleźć Mike? 771 00:37:47,770 --> 00:37:48,710 >> PUBLICZNOŚCI: Tylko jeden. 772 00:37:48,710 --> 00:37:51,001 >> DAVID MALAN: Jeszcze jeden, bo z jednej strony łza, 773 00:37:51,001 --> 00:37:53,270 Mogę podzielić dosłownie i podbić, jeśli chcesz, 774 00:37:53,270 --> 00:37:57,410 Problem, że w ciągu pół podejmowania ogromny zgryz z niego. 775 00:37:57,410 --> 00:38:01,420 A więc jest przykładem Efektywność i zapewne algorytm 776 00:38:01,420 --> 00:38:04,100 z których każdy z nas jakby intuicyjnie znajome. 777 00:38:04,100 --> 00:38:07,780 Ale to tylko prawidłowe w moich innych algorytmów 778 00:38:07,780 --> 00:38:09,630 z tym tweak dla drugi algorytm, 779 00:38:09,630 --> 00:38:11,290 ale jest o wiele bardziej efektywne. 780 00:38:11,290 --> 00:38:14,030 >> A w rzeczywistości to, co komputer naukowiec, albo z kolei programista, 781 00:38:14,030 --> 00:38:17,580 typowo robić podczas pisania Kod jest spróbować dowiedzieć się, 782 00:38:17,580 --> 00:38:19,960 Wszystko w porządku, nie chcę mojego Program po prostu za prawidłowe, 783 00:38:19,960 --> 00:38:23,220 Ja też ma to być skuteczne i rozwiązywać także problemy. 784 00:38:23,220 --> 00:38:26,450 Wyobraźmy sobie w realnym świecie, Google, podobnie jak indeksy wyszukiwań 785 00:38:26,450 --> 00:38:31,580 jak miliardy stron, jeśli wyobrazić stosowany pierwszego algorytmu znaleźć koty 786 00:38:31,580 --> 00:38:34,620 Wśród miliard pages-- patrząc na pierwsza strona w swojej bazie danych, 787 00:38:34,620 --> 00:38:37,700 drugi, trzeci, po prostu patrząc dla kota, patrząc na kota. 788 00:38:37,700 --> 00:38:40,350 To jest cholernie spowolnić wydaje. 789 00:38:40,350 --> 00:38:43,170 Mogli zamiast użyć czegoś nazywa wyszukiwania binarnego, które 790 00:38:43,170 --> 00:38:47,420 ma coincidence-- bi czyli dwa, możemy utrzymać podzielenie coś w 2, w half-- 791 00:38:47,420 --> 00:38:50,205 mogliby wykorzystać przeszukiwanie binarne a może jeszcze szybciej znaleźć koty, 792 00:38:50,205 --> 00:38:51,830 czy cokolwiek to jest szukasz. 793 00:38:51,830 --> 00:38:54,125 >> I szczerze mówiąc, nie ma nawet bardziej wyszukane algorytmy 794 00:38:54,125 --> 00:38:56,250 to znacznie więcej niż tylko dzieląc na pół rzeczy 795 00:38:56,250 --> 00:38:58,180 aby szybko znaleźć informacje. 796 00:38:58,180 --> 00:39:00,880 I porozmawiamy trochę o tych, po obiedzie dzisiaj. 797 00:39:00,880 --> 00:39:02,640 Więc pozwól mi po prostu spróbować do reprezentowania. 798 00:39:02,640 --> 00:39:05,380 Nie musimy iść do matematyka lub jakiekolwiek rzeczywiste liczby. 799 00:39:05,380 --> 00:39:07,070 Możemy mówić o tym w sposób abstrakcyjny. 800 00:39:07,070 --> 00:39:11,580 >> Ale niech mi tylko zaproponować, jeśli ciebie były o dyskusji teraz 801 00:39:11,580 --> 00:39:13,491 z inżynierami proponując tego algorytmu 802 00:39:13,491 --> 00:39:15,490 a ty próbujesz zrobić obliczona decyzja 803 00:39:15,490 --> 00:39:17,285 być może dlatego, inżynier mówi do ciebie, 804 00:39:17,285 --> 00:39:19,910 Wiesz co, mogę zaimplementować przeszukiwanie liniowe w jak dwie minuty. 805 00:39:19,910 --> 00:39:21,150 To takie proste. 806 00:39:21,150 --> 00:39:24,790 Binary wyszukiwania nie jest wyszukany, ale to zajmie mi jakieś 10 minut, 807 00:39:24,790 --> 00:39:26,650 tak 5 razy dłużej. 808 00:39:26,650 --> 00:39:30,900 >> Jest kompromis tutaj, nawet w kategoriach decydowania, jakie oprogramowanie do pisania. 809 00:39:30,900 --> 00:39:34,760 Czy piszesz prostszy algorytm, który właśnie bierze ci dwie minuty? 810 00:39:34,760 --> 00:39:39,880 Czy może poświęcić więcej czasu, 10 minut, pisanie hodowcy algorytm? 811 00:39:39,880 --> 00:39:43,540 Jak zdecydować, tego rodzaju pytania? 812 00:39:43,540 --> 00:39:46,710 Albo można zrobić to trochę bardziej realne. 813 00:39:46,710 --> 00:39:50,610 Powiem mojego szefa to zajmie mi albo jeden tydzień lub 10 tygodni 814 00:39:50,610 --> 00:39:52,490 do wdrożenia Oprogramowanie to sposób, w jaki 815 00:39:52,490 --> 00:39:56,103 zdecydować, które Algorytm zielonym światłem? 816 00:39:56,103 --> 00:39:56,603 Karim? 817 00:39:56,603 --> 00:39:57,550 >> PUBLICZNOŚCI: Publiczność, jak sądzę. 818 00:39:57,550 --> 00:39:57,960 >> DAVID MALAN: Publiczność. 819 00:39:57,960 --> 00:39:59,460 Co masz na myśli przez publiczność? 820 00:39:59,460 --> 00:40:03,460 >> PUBLICZNOŚCI: Jeśli to się dzieje do stosowania przez użytkowników 821 00:40:03,460 --> 00:40:09,050 którzy [INAUDIBLE] przez użytkowników [INAUDIBLE]. 822 00:40:09,050 --> 00:40:11,232 Ale jeśli to jest coś, że jesteś po prostu robi dla siebie 823 00:40:11,232 --> 00:40:13,946 ułatwić wątpliwości [INAUDIBLE] szybciej. 824 00:40:13,946 --> 00:40:16,820 DAVID MALAN: Tak, jest to szybki i brudne jest to dobry sposób, żeby to opisać. 825 00:40:16,820 --> 00:40:18,695 W rzeczywistości, jeśli jesteś Opisując wiele czasu 826 00:40:18,695 --> 00:40:23,630 grad w szkole, przy czym często razy, Pisałem zły kod świadomie SO- 827 00:40:23,630 --> 00:40:26,490 przynajmniej tak właśnie zracjonalizować it-- świadomie tak, 828 00:40:26,490 --> 00:40:30,670 bo choć byłem pisania kodu to było stosunkowo wolno wykonywać, 829 00:40:30,670 --> 00:40:33,750 Udało mi się napisać sam kod dość szybko, zaledwie kilka minut wydatków 830 00:40:33,750 --> 00:40:35,107 lub godzin a nie dni. 831 00:40:35,107 --> 00:40:37,190 I okazało się, że czasami potrzebne do snu. 832 00:40:37,190 --> 00:40:41,270 Więc nawet jeśli mój kod wymagane 8 godzin do pracy, dobrze, że jest w porządku, 833 00:40:41,270 --> 00:40:42,850 Pójdę spać podczas działania. 834 00:40:42,850 --> 00:40:46,350 >> Tak więc w momencie, myślałem, że to bardzo mądry, chociaż pozornie 835 00:40:46,350 --> 00:40:48,990 pracował w moim doktoratem bardzo powoli. 836 00:40:48,990 --> 00:40:52,270 Ale to jest odwrotne że gdybym pisanie oprogramowania 837 00:40:52,270 --> 00:40:55,930 dla innych ludzi, którzy liczy więcej niż ja, dobrze, 838 00:40:55,930 --> 00:40:59,580 o nich czekać 8 godzin odzyskać swoje wyniki wyszukiwania 839 00:40:59,580 --> 00:41:01,350 nie jest wcale tak atrakcyjne. 840 00:41:01,350 --> 00:41:04,090 I tak spędzać więcej czasu do przodu, aby napisać oprogramowanie 841 00:41:04,090 --> 00:41:07,300 to jest bardziej efektywne, bardziej jak nasz trzeci algorytmu, 842 00:41:07,300 --> 00:41:09,780 Prawdopodobnie korzyści użytkownikom w miarę upływu czasu. 843 00:41:09,780 --> 00:41:12,710 Więc tak naprawdę zależy na Czas jaki sposób koszty te sumują się. 844 00:41:12,710 --> 00:41:14,960 Jeśli masz zamiar pisać Oprogramowanie go użyć raz, 845 00:41:14,960 --> 00:41:17,240 Prawdopodobnie równie dobrze może zrobić szybkie i brudne, jak mówią. 846 00:41:17,240 --> 00:41:18,198 Po prostu wyrzucić go ze sobą. 847 00:41:18,198 --> 00:41:20,560 Jest to kod, który zawstydza ty, że jest tak źle, 848 00:41:20,560 --> 00:41:23,860 ale dostaje zadanie poprawnie, chociaż to nie jest wydajne. 849 00:41:23,860 --> 00:41:27,200 Z drugiej strony, można poświęcić więcej czasu na coś, dostać to po prostu prawo. 850 00:41:27,200 --> 00:41:30,730 A następnie amortyzowane w czasie, że z góry koszt czasu 851 00:41:30,730 --> 00:41:34,330 to chyba warto, jeśli trzymać optymalizacja dla wspólnej sprawy. 852 00:41:34,330 --> 00:41:37,620 >> I rzeczywiście, to jest tematem programowanie, informatyka lub więcej 853 00:41:37,620 --> 00:41:41,390 Generalnie staramy się optymalizować nie dla niezwykłej przypadku 854 00:41:41,390 --> 00:41:44,390 ale wspólne case-- jakie operacja wydarzy się znowu i znowu? 855 00:41:44,390 --> 00:41:47,730 Jeśli masz zamiar mieć miliardy użytkowników szukają na swojej stronie internetowej, 856 00:41:47,730 --> 00:41:52,030 powinieneś wydać dodatkowe tydzień up przodu pisanie lepszego oprogramowania, 857 00:41:52,030 --> 00:41:53,670 tak aby wszyscy użytkownicy korzystają. 858 00:41:53,670 --> 00:41:57,840 Teraz spróbujmy uchwycić to na trochę obrazowo, ale nie tak dużo 859 00:41:57,840 --> 00:41:58,610 liczebnie. 860 00:41:58,610 --> 00:42:01,680 >> Więc tutaj jest po prostu stary schemat szkoły. 861 00:42:01,680 --> 00:42:04,260 I pozwól mi powiedzieć, że to jest czas. 862 00:42:04,260 --> 00:42:06,660 I nie ma znaczenia, what-- faktycznie, nie, nie czas. 863 00:42:06,660 --> 00:42:08,320 Postawmy że na drugiej osi. 864 00:42:08,320 --> 00:42:15,700 Powiedzmy, że jest to czas, a jest to rozmiar problemu. 865 00:42:15,700 --> 00:42:17,830 >> I informatykiem Może ogólnie nazwać 866 00:42:17,830 --> 00:42:20,820 to po prostu brak. n jest jak nasz iść do zmiennej, gdzie 867 00:42:20,820 --> 00:42:26,351 n jest liczbą, n liczba, i jest to liczba dowolnych wejść masz. 868 00:42:26,351 --> 00:42:28,100 Tak więc w tym przypadku, n jest liczba stron. 869 00:42:28,100 --> 00:42:30,150 Więc może to być w 1000 sprawa po prostu powiedział. 870 00:42:30,150 --> 00:42:31,969 >> Więc czas może być dowolna jednostka miary. 871 00:42:31,969 --> 00:42:32,760 Być może, że to drugie. 872 00:42:32,760 --> 00:42:33,410 Być może, to jest dzień. 873 00:42:33,410 --> 00:42:34,590 Być może, jak to jest stronie zakrętów. 874 00:42:34,590 --> 00:42:35,215 Nie ma znaczenia. 875 00:42:35,215 --> 00:42:38,840 Cokolwiek chcesz liczyć się, że będzie kosztować czas lub równoważnie. 876 00:42:38,840 --> 00:42:42,400 >> Więc z tym pierwszym Algorytm, jeśli ja, na przykład, 877 00:42:42,400 --> 00:42:45,920 miał 1000-stronicową książkę telefoniczną, Zamierzam wyciągnąć tam kropkę, 878 00:42:45,920 --> 00:42:51,450 bo jeśli to 1000 stron, zajęło z grubsza 1000 strona okazuje, lub dać. 879 00:42:51,450 --> 00:42:54,100 I wtedy, gdy miałem 2000-stronicowa książka telefoniczna, 880 00:42:54,100 --> 00:42:57,200 i mam zamiar narysować sekundę dot tutaj, bo na 2000 stron, 881 00:42:57,200 --> 00:42:59,810 jak to jest 2.000 sekund lub strona włącza lub cokolwiek. 882 00:42:59,810 --> 00:43:02,480 A więc kiedy powiedziałem wcześniej, jest to rodzaj relacji liniowej, 883 00:43:02,480 --> 00:43:06,020 to było celowe, ponieważ chciałem później on-- tuż now-- narysować linię. 884 00:43:06,020 --> 00:43:07,770 To niby prosty relacja online. 885 00:43:07,770 --> 00:43:10,180 Nachylenie wynosi 1/1, jeśli będzie. 886 00:43:10,180 --> 00:43:14,630 >> W tym samym czasie, drugi algorytm Powiedział, że jeśli masz 1000 stron 887 00:43:14,630 --> 00:43:17,680 a ty, korzystając z drugiego algorytmu, gdzie liczy się od 2'S, zamieniając 888 00:43:17,680 --> 00:43:22,564 dwie strony na raz, mam narysować kropka poniżej lub powyżej mojego pierwotnego kropki? 889 00:43:22,564 --> 00:43:23,450 >> PUBLICZNOŚCI: poniżej. 890 00:43:23,450 --> 00:43:27,992 >> DAVID MALAN: Poniżej, ponieważ jak widzieliśmy, zajmuje mniej czasu, pół tyle czasu. 891 00:43:27,992 --> 00:43:29,950 Więc kropka powinna być o połowę tak wysokie, jak innych. 892 00:43:29,950 --> 00:43:33,330 A sama umowa tutaj ta kropka prawdopodobnie powinien być mniej więcej tam. 893 00:43:33,330 --> 00:43:39,666 I tak mój drugi algorytm, podobnie, ma zależność liniową w czasie. 894 00:43:39,666 --> 00:43:41,990 I możemy wyciągnąć go jako takiego. 895 00:43:41,990 --> 00:43:45,950 >> Więc teraz, trzeci i ostatni Algorytm jest trochę trudniej wyciągnąć. 896 00:43:45,950 --> 00:43:49,530 Ale intuicyjnie, jeśli mam 1000 Strony z moim trzecim algorytmu, 897 00:43:49,530 --> 00:43:52,340 Należy tylko wziąć mnie jak 10 stopni. 898 00:43:52,340 --> 00:43:57,500 A jeśli mam 2000 stron z moim trzecim algorytmu, 899 00:43:57,500 --> 00:44:01,570 powinno zająć mi nie 10 kroki, ale 11, tylko jeden. 900 00:44:01,570 --> 00:44:03,610 Więc my ledwo zamiar zobaczyć. 901 00:44:03,610 --> 00:44:06,010 >> I okazuje się, jeśli Powiększać się na tym, że jestem 902 00:44:06,010 --> 00:44:09,320 będziemy przesadzać do skutku, Kształt tej linii, a ostatecznie 903 00:44:09,320 --> 00:44:11,990 Nie jest to proste line-- ponieważ w rzeczywistości, jeśli byli 904 00:44:11,990 --> 00:44:15,390 to będzie wyglądać bardziej jak wiele innych, to faktycznie zakrzywiona linia 905 00:44:15,390 --> 00:44:19,265 że jeśli powiększyć, będzie wyglądać bardziej jak ten. 906 00:44:19,265 --> 00:44:21,670 It-- dobrze, OK, zignoruj ​​tę część. 907 00:44:21,670 --> 00:44:25,330 To był mój długopis dzieje kąta. 908 00:44:25,330 --> 00:44:29,000 To jest zakrzywiona linia, która jest zawsze wzrasta, zawsze, zawsze, zawsze 909 00:44:29,000 --> 00:44:32,100 wzrasta, ale tylko ledwo. 910 00:44:32,100 --> 00:44:36,260 >> I tak z biegiem czasu, masz związek, który jest bardziej jak ten. 911 00:44:36,260 --> 00:44:37,540 To wygląda prawie prosto. 912 00:44:37,540 --> 00:44:40,330 Ale to zawsze tak powoli rośnie. 913 00:44:40,330 --> 00:44:44,780 Ale dla prawie wszystkich punktach Twój oś X, oś pozioma, 914 00:44:44,780 --> 00:44:46,550 jest niższa niż tych innych liniach. 915 00:44:46,550 --> 00:44:49,930 >> Więc może to być relacja n, przy czym jeśli n stron 916 00:44:49,930 --> 00:44:51,100 przejście n sekund. 917 00:44:51,100 --> 00:44:53,320 Może to być związek n / 2. 918 00:44:53,320 --> 00:44:56,710 Masz stron n, to trwa Ci n / 2 sekundy, w połowie tak wiele. 919 00:44:56,710 --> 00:45:00,590 I jest logarytmiczna związek, który 920 00:45:00,590 --> 00:45:08,920 Jeśli pamiętacie, logarytm przy podstawie 2 z n zrzuty Ten rodzaj wzrostu, że tak powiem. 921 00:45:08,920 --> 00:45:12,000 Jest to więc rodzaj święta Graalem wśród trzech z nich 922 00:45:12,000 --> 00:45:15,940 tutaj, bo to jest po prostu tak dużo więcej skuteczny, ale prawdopodobnie bardziej złożona 923 00:45:15,940 --> 00:45:18,610 do wykonania. 924 00:45:18,610 --> 00:45:20,510 Jakieś pytania? 925 00:45:20,510 --> 00:45:26,220 >> Więc pozwól mi to zrobić, niech mi otworzyć okno tekstowe 926 00:45:26,220 --> 00:45:29,100 tak więc możemy spróbować sformalizować coś tutaj. 927 00:45:29,100 --> 00:45:32,410 Więc pozwól mi iść do przodu i teraz realizacji tego algorytmu 928 00:45:32,410 --> 00:45:35,170 za znalezienie Mike Smith w kodzie, jeśli chcesz, kod pseudokod. 929 00:45:35,170 --> 00:45:36,620 Nie będę używać Java lub C ++. 930 00:45:36,620 --> 00:45:38,610 Ja tylko zamiar użyć sortowania Angielsko-jak składnia, którą 931 00:45:38,610 --> 00:45:40,151 będzie na ogół wywoływać kod pseudokod. 932 00:45:40,151 --> 00:45:41,660 Tutaj mam puste okno. 933 00:45:41,660 --> 00:45:48,180 A ja mówię, krok 1 z bardzo Pierwszy algorytm jest odebrać książkę telefoniczną. 934 00:45:48,180 --> 00:45:51,740 Krok 2 jest otwarta książka pierwszej stronie. 935 00:45:51,740 --> 00:45:58,080 Krok 3 będzie patrzeć Strona Mike Smith. 936 00:45:58,080 --> 00:46:02,740 Jeśli na stronie, zadzwoń Mike. 937 00:46:02,740 --> 00:46:11,640 else stronę zakrętu i przejdź do kroku 3. 938 00:46:11,640 --> 00:46:13,590 Gotowe, powiedzmy. 939 00:46:13,590 --> 00:46:18,110 >> A więc nie dość doskonałe, które zobaczymy za chwilę. 940 00:46:18,110 --> 00:46:21,050 Ale rozważmy, co Koncepcje mam tu wprowadzić. 941 00:46:21,050 --> 00:46:24,450 Więc kroki 1 i 2 oraz 3 są bardzo czasowniki. 942 00:46:24,450 --> 00:46:26,544 Są wypowiedzi, dziaĹ,aĹ to zrobić. 943 00:46:26,544 --> 00:46:28,710 I tak w programowaniu języka, my by ogół 944 00:46:28,710 --> 00:46:32,349 zadzwoń do nich oświadczeń lub funkcje lub procedury, 945 00:46:32,349 --> 00:46:33,640 Nazywamy je dowolną ilość rzeczy. 946 00:46:33,640 --> 00:46:35,460 Ale oni tylko dziaĹ,aĹ to zrobić. 947 00:46:35,460 --> 00:46:40,370 >> Krok 4 różni się zasadniczo, bo to rodzaj zadając pytanie. 948 00:46:40,370 --> 00:46:42,400 To mówiąc, jesteśmy rodzajem co w rozwidleniu dróg. 949 00:46:42,400 --> 00:46:48,000 Jeśli Mike znajduje się na stronie, zadzwoń go, więc w lewo, jeśli będzie. 950 00:46:48,000 --> 00:46:52,170 A jeśli nie, wróć do niektórych Inny page-- albo raczej, przepraszam, 951 00:46:52,170 --> 00:46:56,650 wróć do innego kroku, który wywołuje jakieś zapętlenie konstruktu. 952 00:46:56,650 --> 00:46:59,530 I robimy to znowu i znowu i znowu. 953 00:46:59,530 --> 00:47:01,300 >> I rzeczywiście, wiesz co? 954 00:47:01,300 --> 00:47:01,800 Tak. 955 00:47:01,800 --> 00:47:04,704 956 00:47:04,704 --> 00:47:09,010 else if na koniec przystanku książki. 957 00:47:09,010 --> 00:47:11,624 Więc musimy rodzaj trzeci Warunek, bo 958 00:47:11,624 --> 00:47:14,290 Nie można przechowywać obracając reklamę strony nauseum, bo w końcu będę 959 00:47:14,290 --> 00:47:15,320 hit koniec książki. 960 00:47:15,320 --> 00:47:18,546 A to błąd w programie może być Nie przewidując taki scenariusz. 961 00:47:18,546 --> 00:47:21,420 I wtedy zdałem sobie sprawę, oh, czekaj Chwileczkę, muszę trzeci scenariusz. 962 00:47:21,420 --> 00:47:23,900 Jeśli jestem na stronach, ja Należy naprawdę tylko zatrzymać. 963 00:47:23,900 --> 00:47:25,330 Inaczej, jest niezdefiniowane. 964 00:47:25,330 --> 00:47:29,260 Co się wydarzy, jeśli trzymam mówiąc obrócić stronę i wróć, 965 00:47:29,260 --> 00:47:31,810 To jest, gdy komputery zamrożenia lub awarii, po trafieniu 966 00:47:31,810 --> 00:47:34,160 niektóre nieprzewidzianych sytuacji tak. 967 00:47:34,160 --> 00:47:37,280 >> Teraz, co Mike Smitha trzecia algorithm-- 968 00:47:37,280 --> 00:47:43,150 odebrać książkę telefoniczną, otwarta książka first-- się 969 00:47:43,150 --> 00:47:48,640 Nie, nie tym razem pierwsza strona, do middle-- oh, dobrze, że dalszy 970 00:47:48,640 --> 00:47:49,640 jako drugi algorytm. 971 00:47:49,640 --> 00:47:50,590 Niech po prostu przejść do trzeciego. 972 00:47:50,590 --> 00:47:50,930 >> PUBLICZNOŚCI: Oh, przepraszam. 973 00:47:50,930 --> 00:47:51,971 >> DAVID MALAN: To dobrze. 974 00:47:51,971 --> 00:47:58,590 Niech po prostu przejść do third-- otwartym na środku, a teraz szukają Mike Smith. 975 00:47:58,590 --> 00:48:02,300 jeśli na stronie, zadzwoń Mike. 976 00:48:02,300 --> 00:48:04,910 A potem, co chcemy tu powiedzieć? 977 00:48:04,910 --> 00:48:06,134 indziej, co? 978 00:48:06,134 --> 00:48:10,620 979 00:48:10,620 --> 00:48:12,370 Możemy to wyrazić na wiele sposobów. 980 00:48:12,370 --> 00:48:13,369 Nie ma dobrej odpowiedzi. 981 00:48:13,369 --> 00:48:20,819 982 00:48:20,819 --> 00:48:23,735 OK, jeśli nie ponownie, ale musimy być: OK, chcemy podzielić na dwie części, 983 00:48:23,735 --> 00:48:25,630 ale chcemy, aby przejść w lewo lub w prawo? 984 00:48:25,630 --> 00:48:29,560 W jaki sposób możemy wyrazić to pojęcie? 985 00:48:29,560 --> 00:48:31,790 Cóż, w przypadku Mike'a, tak, to jest sprawiedliwe. 986 00:48:31,790 --> 00:48:35,050 Ale OK, więc to rzeczywiście dobry punkt. 987 00:48:35,050 --> 00:48:35,550 W porządku. 988 00:48:35,550 --> 00:48:36,924 Będziemy iść dalej z tym logiki. 989 00:48:36,924 --> 00:48:38,182 Więc-- 990 00:48:38,182 --> 00:48:39,810 >> PUBLICZNOŚCI: Mniej niż połowa. 991 00:48:39,810 --> 00:48:40,560 DAVID MALAN: Tak. 992 00:48:40,560 --> 00:48:49,820 Więc indziej jeśli strona jest, powiemy, mniej od Smith, na lewo od Smith 993 00:48:49,820 --> 00:48:52,220 then-- zobaczmy, jest to będzie komplikować? 994 00:48:52,220 --> 00:49:01,885 else if strona jest przed Smith, łzą w połowie, wyrzucić czego połowa? 995 00:49:01,885 --> 00:49:05,643 996 00:49:05,643 --> 00:49:09,140 >> PUBLICZNOŚCI: Myślałem to było [INAUDIBLE]. 997 00:49:09,140 --> 00:49:11,650 >> DAVID MALAN: Słyszę obie odpowiedzi. 998 00:49:11,650 --> 00:49:12,431 >> PUBLICZNOŚCI: z lewej. 999 00:49:12,431 --> 00:49:14,430 DAVID MALAN: OK, rzucać Odległość lewej połowie, a Lakisa 1000 00:49:14,430 --> 00:49:19,700 powiedziałem wcześniej, w lewo pół, potem rodzaj 1001 00:49:19,700 --> 00:49:23,940 chce po prostu pójść to-- pójdę w prawo. 1002 00:49:23,940 --> 00:49:27,380 Lub równoważnie, i zrobiłem trochę trochę bałaganu rozpoczęcia tutaj 1003 00:49:27,380 --> 00:49:30,760 I skutecznie chcą przejdź do kroku 2 ponownie 1004 00:49:30,760 --> 00:49:38,270 gdzie otwarte na middle-- lub open-- Tak, powiedzmy, na środku strony. 1005 00:49:38,270 --> 00:49:39,020 I to rozwiązuje go. 1006 00:49:39,020 --> 00:49:39,936 To nie jest książka. 1007 00:49:39,936 --> 00:49:42,210 To tylko pół książki, więc otwieranie stron w środku. 1008 00:49:42,210 --> 00:49:44,010 >> else-- były prawie na miejscu. 1009 00:49:44,010 --> 00:49:54,000 Krok 6, else if Strona przychodzi po Smitha rozerwać na pół, wyrzucić prawą połowę, 1010 00:49:54,000 --> 00:49:55,680 następnie przejdź do kroku 2. 1011 00:49:55,680 --> 00:49:58,920 1012 00:49:58,920 --> 00:50:05,230 jeszcze rzucić, jeśli czwarty scenariusz mamy żadnych stron w lewo, aby włączyć. 1013 00:50:05,230 --> 00:50:06,394 Więc możemy to posprzątać. 1014 00:50:06,394 --> 00:50:07,560 I trzeba to posprzątać. 1015 00:50:07,560 --> 00:50:10,656 Jest to kod bardzo pseudokod, jeśli ciebie woli, opis bardzo wysoki poziom. 1016 00:50:10,656 --> 00:50:12,280 Ale to ma zazwyczaj uchwycić ideę. 1017 00:50:12,280 --> 00:50:16,040 >> I znowu, w tym scenariuszu mają pojęcie warunku, 1018 00:50:16,040 --> 00:50:20,450 oddział, widelec w drodze, dzięki czemu decision-- jeśli to, idź tą drogą, 1019 00:50:20,450 --> 00:50:23,082 else if przejść tę drogę, else if przejść tamtędy. 1020 00:50:23,082 --> 00:50:25,040 I to jest bardzo częste techniki programowania 1021 00:50:25,040 --> 00:50:27,721 zdecydować, w jakim kierunku iść, że tak powiem. 1022 00:50:27,721 --> 00:50:29,970 I mamy też jakieś z pętli strukturę, w której 1023 00:50:29,970 --> 00:50:32,440 robimy coś znowu i znowu. 1024 00:50:32,440 --> 00:50:34,820 >> Teraz, jak się okazuje, o wiele jak w tym przykładzie, 1025 00:50:34,820 --> 00:50:37,660 jest bardzo precyzyjna jest ważne. 1026 00:50:37,660 --> 00:50:42,180 Ale widziałem też coś że wzywasz abstrakcję. 1027 00:50:42,180 --> 00:50:45,490 Co to znaczy odebrać książkę telefoniczną? 1028 00:50:45,490 --> 00:50:47,740 Jesteśmy po prostu rodzaj biorąc za pewnik w tym pokoju 1029 00:50:47,740 --> 00:50:49,340 że ma pewne znaczenie semantyczne. 1030 00:50:49,340 --> 00:50:51,740 Każdy z nas po prostu rodzaj wiem, oh, dobrze, odebrać książkę telefoniczną. 1031 00:50:51,740 --> 00:50:52,864 Co to tak naprawdę oznacza? 1032 00:50:52,864 --> 00:50:59,060 Dobrze, że naprawdę oznacza przedłużenie Ręka, pochylić się nad przedłużyć palce, 1033 00:50:59,060 --> 00:51:03,890 pinch książkę między palcami, wstać, wyciągnąć rękę do siebie. 1034 00:51:03,890 --> 00:51:05,940 I możemy być naprawdę pedantyczny o tym, 1035 00:51:05,940 --> 00:51:08,640 Naprawdę jest bardzo precyzyjna co do tego, co robię. 1036 00:51:08,640 --> 00:51:13,300 Ale wszystkie te etapy są zbiorczo co to znaczy odebrać książkę telefoniczną. 1037 00:51:13,300 --> 00:51:16,940 >> I tak wcześniej, kiedy powiedziałem, każdy z tych dwóch pierwszych sprawozdań 1038 00:51:16,940 --> 00:51:20,830 można traktować jako kontynuować lub funkcją, 1039 00:51:20,830 --> 00:51:24,090 tak naprawdę to oznacza to, co wzywasz abstrakcję. 1040 00:51:24,090 --> 00:51:28,770 To tak wysokim poziomie koncepcyjnym Opis problemu, który 1041 00:51:28,770 --> 00:51:31,110 rzeczywiście wiąże się sporo kroki. 1042 00:51:31,110 --> 00:51:34,190 A więc to też jest powtarzających temat programowania, 1043 00:51:34,190 --> 00:51:41,125 przy czym mógłbym napisać program przy użyciu składni jak 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 A potem składniowo, jestem zamiar okraść 1047 00:51:46,510 --> 00:51:48,090 z większości języków programowania. 1048 00:51:48,090 --> 00:51:51,270 >> Teraz krok 1 wygląda jeszcze raczej funkcję, 1049 00:51:51,270 --> 00:51:53,160 jako programista byłoby to nazwać. 1050 00:51:53,160 --> 00:51:58,650 Wygląda na to, że ktoś kod dał nazwę i biorąc pod uwagę 1051 00:51:58,650 --> 00:52:03,300 mi używać somehow-- w innych Słowa, co linia mam podświetlone 1052 00:52:03,300 --> 00:52:07,050 oznacza funkcję, która może I nawet nie realizować siebie. 1053 00:52:07,050 --> 00:52:10,410 Ktoś starszy, mądrzejszy niż ja już zorientowali się, 1054 00:52:10,410 --> 00:52:12,700 jak określenie pojęcia zabierania książkę telefoniczną. 1055 00:52:12,700 --> 00:52:15,860 A jak to jest z pięciu krokach po prostu wyrecytował, przy mojej głowie. 1056 00:52:15,860 --> 00:52:19,350 >> Ale on już wdrożone Ten dał te kilka kroków 1057 00:52:19,350 --> 00:52:22,339 nazwę, pick_up_phone_book. 1058 00:52:22,339 --> 00:52:24,380 A nawiasach tylko to, co większość programistów 1059 00:52:24,380 --> 00:52:27,100 zrobić na końcu wypowiedzi jak ta. 1060 00:52:27,100 --> 00:52:30,190 Teraz może stanąć na jego lub jej ramiona i już nigdy, 1061 00:52:30,190 --> 00:52:32,465 myśleć o tym, co to znaczy odebrać książkę telefoniczną. 1062 00:52:32,465 --> 00:52:34,090 Mogę tylko powiedzieć, podnieś książkę telefoniczną. 1063 00:52:34,090 --> 00:52:36,690 I to właśnie wszyscy z nas ludzie nie tutaj. 1064 00:52:36,690 --> 00:52:38,940 >> Kiedy byliśmy prawdopodobnie 1 roku życia, 2 lat, 1065 00:52:38,940 --> 00:52:41,690 ktoś musiał nas nauczyć, co to Oznaczało odebrać książkę telefoniczną. 1066 00:52:41,690 --> 00:52:43,810 I od tamtej pory, mamy wydobywane z dala 1067 00:52:43,810 --> 00:52:46,739 od tych bardzo nieciekawe Kroki mechaniczne. 1068 00:52:46,739 --> 00:52:48,530 A my po prostu mieć intuicyjne rozumienie 1069 00:52:48,530 --> 00:52:50,480 co to znaczy odebrać książkę telefoniczną. 1070 00:52:50,480 --> 00:52:55,730 >> I teraz można ekstrapolować bardziej skomplikowany things-- 1071 00:52:55,730 --> 00:52:57,640 wybudowanie budynku. 1072 00:52:57,640 --> 00:52:59,940 Jak, dla niektórych osób, że rzeczywiście ma sens. 1073 00:52:59,940 --> 00:53:03,080 Aby wykonawców, architektów, że ma pewne znaczenie. 1074 00:53:03,080 --> 00:53:06,400 A oni wiedzą, co robić, jeśli Powiedziałem, idź skonstruować budynek. 1075 00:53:06,400 --> 00:53:10,520 >> Jednak większość z nas w pokoju nie mógł radzić sobie z tym poziomie abstrakcji. 1076 00:53:10,520 --> 00:53:14,850 Musisz powiedzieć nam jak go dostać łopata i przejdź się beton 1077 00:53:14,850 --> 00:53:17,250 i paznokci kawałki drewna razem i co tam jeszcze 1078 00:53:17,250 --> 00:53:18,830 jest zaangażowany w budowę budynku. 1079 00:53:18,830 --> 00:53:21,690 A to dlatego, że nie mamy jeszcze zaprogramowane, aby zrozumieć 1080 00:53:21,690 --> 00:53:23,629 co to znaczy budować budynek. 1081 00:53:23,629 --> 00:53:24,920 Nie mamy tę abstrakcję. 1082 00:53:24,920 --> 00:53:26,570 Nie mamy tę funkcjonalność. 1083 00:53:26,570 --> 00:53:29,930 >> A więc to, co zobaczysz w językami programowania, na ogół 1084 00:53:29,930 --> 00:53:34,570 zwłaszcza bardziej nowoczesne języki, jak Java, PHP, Ruby i Python, 1085 00:53:34,570 --> 00:53:37,610 Są one znacznie bardziej dojrzały niż starsze językach 1086 00:53:37,610 --> 00:53:40,140 jak C i C ++, a jednak inne. 1087 00:53:40,140 --> 00:53:42,580 I tak się z więcej funkcjonalność wbudowany. 1088 00:53:42,580 --> 00:53:45,640 Więcej kod został napisany przez ludzi w przeszłości 1089 00:53:45,640 --> 00:53:50,520 że możemy zadzwonić lub wezwania lub użyć, jak jestem sugerując 1090 00:53:50,520 --> 00:53:52,231 co z tym podkreślono linię tutaj. 1091 00:53:52,231 --> 00:53:55,230 A więc nawet jeśli nie mówimy o językach programowania per se, 1092 00:53:55,230 --> 00:54:00,230 Kod prostu pseudokod, wszystkie z idee są nadal w tej dyskusji. 1093 00:54:00,230 --> 00:54:04,600 I okazuje się, precyzja jest bardzo ważne, ponieważ jest abstrakcją. 1094 00:54:04,600 --> 00:54:06,570 I spróbujmy komunikowania się, że w następujący sposób. 1095 00:54:06,570 --> 00:54:11,000 >> Przypadkowo mogło zepsute to poprzez miganie slajd na ekranie 1096 00:54:11,000 --> 00:54:12,260 przedwcześnie. 1097 00:54:12,260 --> 00:54:16,550 Ale pozwól mi zapytać o dzielnego ochotnika jeśli nie przeszkadza wymyślanie. 1098 00:54:16,550 --> 00:54:19,040 Byłbyś w przedniej części aparat fotograficzny, jeśli jesteś OK z tym. 1099 00:54:19,040 --> 00:54:24,950 Czy ktoś chciałby przyjść i dać Instrukcje tu swoimi kolegami? 1100 00:54:24,950 --> 00:54:29,540 Wystarczy przyjść tu i stanąć tutaj i powiedzieć kilka słów. 1101 00:54:29,540 --> 00:54:32,890 >> Victoria uśmiecha się najbardziej i unikanie oczy najbardziej. 1102 00:54:32,890 --> 00:54:34,740 Czy byłbyś skłonny przyjechać na górę? 1103 00:54:34,740 --> 00:54:35,240 OK. 1104 00:54:35,240 --> 00:54:38,480 A jeśli wszyscy na swoje miejsca może wykupić kawałek makulatury, 1105 00:54:38,480 --> 00:54:39,750 Jeśli będziesz. 1106 00:54:39,750 --> 00:54:40,760 Podszyciem papieru jest w porządku. 1107 00:54:40,760 --> 00:54:41,990 Przychodzić w ten sposób. 1108 00:54:41,990 --> 00:54:44,580 A niektóre z papieru Ci mieli wczoraj 1109 00:54:44,580 --> 00:54:46,493 byle pusty arkusz z papieru, jeśli można. 1110 00:54:46,493 --> 00:54:52,240 1111 00:54:52,240 --> 00:54:54,870 A jeśli nie masz w ogóle, po prostu zwrócić się do sąsiada, jeśli można. 1112 00:54:54,870 --> 00:55:04,220 1113 00:55:04,220 --> 00:55:07,580 >> Tak więc do chwili obecnej, na W tym przykładzie, Victoria 1114 00:55:07,580 --> 00:55:11,520 będzie odgrywać rolę programista, inżynier, który 1115 00:55:11,520 --> 00:55:16,130 potrzebuje program, który wszystko, co komputery, coś zrobić. 1116 00:55:16,130 --> 00:55:19,570 I zobaczymy co założeń Ci podjąć decyzję. 1117 00:55:19,570 --> 00:55:22,700 Zobaczymy jak precyzyjne ona zdecyduje się być. 1118 00:55:22,700 --> 00:55:26,220 A jeśli idzie demonstracja pedagogicznie dobrze, wiele błędów 1119 00:55:26,220 --> 00:55:29,220 będzie, że będziemy następnie użyj że jako okazję do dyskusji. 1120 00:55:29,220 --> 00:55:32,010 Ale wyzwaniem dla zalecana być, aby uniknąć tych błędów, 1121 00:55:32,010 --> 00:55:32,896 być dobrym programistą. 1122 00:55:32,896 --> 00:55:35,520 I tak oto wyzwanie na strony, jeśli którą lubił chodzić tutaj, 1123 00:55:35,520 --> 00:55:38,799 jest przed Victoria na ekranie here-- i miejmy nadzieję, że żaden z was 1124 00:55:38,799 --> 00:55:40,590 o tym pamiętać, kiedy powleczone na ekranie. 1125 00:55:40,590 --> 00:55:44,097 I nie zawrócić w ogóle, ponieważ W tym pokoju znajduje się kolejny ekran 1126 00:55:44,097 --> 00:55:44,930 że mogę wyłączyć. 1127 00:55:44,930 --> 00:55:46,620 Więc nie zawrócić. 1128 00:55:46,620 --> 00:55:49,090 >> W przedniej części Wiktorii jest to, że ten sam krzyk. 1129 00:55:49,090 --> 00:55:54,170 Jej zadaniem jest teraz powiedzieć wam wszystkim na kartce papieru, co rysować. 1130 00:55:54,170 --> 00:55:57,020 I widzimy, w oparciu o werbalne instrukcje sam, 1131 00:55:57,020 --> 00:56:00,020 kod komputerowy, jeśli chcesz, jak dokładne rysunki 1132 00:56:00,020 --> 00:56:02,330 are-- implementacje są twoje. 1133 00:56:02,330 --> 00:56:02,980 Ma sens? 1134 00:56:02,980 --> 00:56:03,604 >> PUBLICZNOŚCI: Tak. 1135 00:56:03,604 --> 00:56:04,980 DAVID MALAN: OK, wykonać. 1136 00:56:04,980 --> 00:56:06,030 >> PUBLICZNOŚCI: Narysuj kwadrat. 1137 00:56:06,030 --> 00:56:09,050 >> [ŚMIECH] 1138 00:56:09,050 --> 00:56:12,310 >> DAVID MALAN: I nie Pytania mogą być zadawane. 1139 00:56:12,310 --> 00:56:13,720 Może robić tylko to, co ci każą. 1140 00:56:13,720 --> 00:56:17,570 1141 00:56:17,570 --> 00:56:22,550 Aha, i jeśli masz dzisiejsze slajdy otworzy się w karcie, nie patrzeć na karcie. 1142 00:56:22,550 --> 00:56:23,670 OK? 1143 00:56:23,670 --> 00:56:26,135 >> PUBLICZNOŚCI: OK, narysować okrąg. 1144 00:56:26,135 --> 00:56:32,544 1145 00:56:32,544 --> 00:56:34,872 Slope-- mogę powiedzieć stoku? 1146 00:56:34,872 --> 00:56:35,830 DAVID MALAN: do ciebie. 1147 00:56:35,830 --> 00:56:38,230 1148 00:56:38,230 --> 00:56:38,980 PUBLICZNOŚCI: zboczu. 1149 00:56:38,980 --> 00:56:46,330 1150 00:56:46,330 --> 00:56:49,795 A trójkąt. 1151 00:56:49,795 --> 00:56:50,850 >> DAVID MALAN: W porządku. 1152 00:56:50,850 --> 00:56:52,286 I tu na chwilę. 1153 00:56:52,286 --> 00:56:56,046 1154 00:56:56,046 --> 00:56:58,910 I zamierzam przyjść wokół za chwilę. 1155 00:56:58,910 --> 00:57:02,420 I nie ma potrzeby, aby umieścić swoje nazwiska na niej. 1156 00:57:02,420 --> 00:57:05,030 Pozwól mi przyjść dookoła i zebrać swoje rysunki, 1157 00:57:05,030 --> 00:57:08,330 jeśli nie przeszkadza rozrywając je. 1158 00:57:08,330 --> 00:57:12,110 >> Oto co wróciliśmy. 1159 00:57:12,110 --> 00:57:14,770 Będę jej projekcji na ekranie. 1160 00:57:14,770 --> 00:57:18,310 Widzę, kwadrat, koło, stok i trójkąt. 1161 00:57:18,310 --> 00:57:20,130 Więc to była jedna odpowiedź istnieje. 1162 00:57:20,130 --> 00:57:23,640 I let's-- okrzyki. 1163 00:57:23,640 --> 00:57:25,370 Dziękuję Ci. 1164 00:57:25,370 --> 00:57:30,710 Oto kolejny asortyment, i jeden za nim. 1165 00:57:30,710 --> 00:57:34,130 1166 00:57:34,130 --> 00:57:37,120 >> Więc wszystkie one wydają się uchwycić ducha. 1167 00:57:37,120 --> 00:57:38,600 Dziękuję Ci. 1168 00:57:38,600 --> 00:57:44,970 Jest jeszcze jeden, a tu jeszcze jeden. 1169 00:57:44,970 --> 00:57:51,590 Interpretacja nachylenie jest trochę inaczej, trochę krzywego. 1170 00:57:51,590 --> 00:57:57,140 A najbliżej, albo ze względu na cudowne specyfiki z którymi masz 1171 00:57:57,140 --> 00:58:03,520 opisane, czy może rodzaj widziałem to wcześniej, to rzeczywiście 1172 00:58:03,520 --> 00:58:06,340 Co Victoria faktycznie opisywania. 1173 00:58:06,340 --> 00:58:09,190 >> Ale teraz, ci z was, którzy nie mieli go dość dobrze, 1174 00:58:09,190 --> 00:58:11,140 niech oferują pewne obiekcje tutaj. 1175 00:58:11,140 --> 00:58:13,770 Więc Victoria Pierwszy powiedział narysować kwadrat. 1176 00:58:13,770 --> 00:58:15,830 A teraz, możemy założyć, ze względu na obecnie 1177 00:58:15,830 --> 00:58:17,538 że każdy wie jak narysować kwadrat. 1178 00:58:17,538 --> 00:58:20,590 Ale to nie jest całkowicie jasne, prawda? 1179 00:58:20,590 --> 00:58:23,220 Jak inaczej można mieć rysowane kwadrat, lub gdy 1180 00:58:23,220 --> 00:58:27,114 może być kilka niejasności tu na komputerze? 1181 00:58:27,114 --> 00:58:28,280 PUBLICZNOŚCI: Lokalizacja i wielkość. 1182 00:58:28,280 --> 00:58:28,980 DAVID MALAN: Lokalizacja, prawda? 1183 00:58:28,980 --> 00:58:32,070 Wszyscy z was miał papier jakiegoś kształtu, ogólnie prostokąty, ale nieznacznie 1184 00:58:32,070 --> 00:58:32,830 różne rozmiary. 1185 00:58:32,830 --> 00:58:36,250 Ale na pewno mogło być sporządzone, jeśli chcesz, ogromny plac, może 1186 00:58:36,250 --> 00:58:37,220 mały kwadrat. 1187 00:58:37,220 --> 00:58:38,417 Może ono obracać. 1188 00:58:38,417 --> 00:58:39,500 Nie sądzę, że widzieliśmy. 1189 00:58:39,500 --> 00:58:41,790 Ale może to być bardziej diament jak, ale nadal, mimo wszystko, 1190 00:58:41,790 --> 00:58:42,900 Matematycznie kwadrat. 1191 00:58:42,900 --> 00:58:44,850 Więc to było zapewne niejednoznaczne. 1192 00:58:44,850 --> 00:58:46,709 >> Potem powiedziała, narysować okrąg. 1193 00:58:46,709 --> 00:58:49,250 Niektórzy z was nie wyciągnąć go obok to, co nie jest nierozsądne, 1194 00:58:49,250 --> 00:58:52,450 ponieważ ludzie mają tendencję do myślenia lub przeczytać od prawej do lewej w większości języków, więc nie 1195 00:58:52,450 --> 00:58:53,017 zły przypuszczenie. 1196 00:58:53,017 --> 00:58:55,100 Ale to może mieć koło było wewnątrz kwadratu, 1197 00:58:55,100 --> 00:58:57,600 można było wokół kwadratowe, mógłby być w innym miejscu 1198 00:58:57,600 --> 00:58:59,480 w arkuszu tak prawdopodobnie niejednoznaczne. 1199 00:58:59,480 --> 00:59:03,290 >> Nachylenie mogło być może biorąc najwięcej swobody werbalnie 1200 00:59:03,290 --> 00:59:04,200 z tego, co to znaczy. 1201 00:59:04,200 --> 00:59:06,980 A niektórzy z was interpretować że jako falowane linii 1202 00:59:06,980 --> 00:59:08,560 lub prostą lub podobne. 1203 00:59:08,560 --> 00:59:11,719 A potem trójkąt, też może mieć zorientowano na wiele sposobów. 1204 00:59:11,719 --> 00:59:14,760 Tak w skrócie, nawet z czymś, Ci spojrzenie i jesteś jak, wow, tak 1205 00:59:14,760 --> 00:59:17,020 proste, dziecko może wyciągnąć to nie dobrze 1206 00:59:17,020 --> 00:59:19,640 Naprawdę, chyba, że ​​jesteś super, super przekonujące 1207 00:59:19,640 --> 00:59:22,045 i powiedzieć komputerowi dokładnie, co ma robić. 1208 00:59:22,045 --> 00:59:24,420 Więc jeśli można, jeśli masz kolejny arkusz papieru, niech 1209 00:59:24,420 --> 00:59:26,710 spróbować jeszcze raz. 1210 00:59:26,710 --> 00:59:29,880 A ja zamierzam dać jeden Victoria Innym przykładem na ekranie tutaj. 1211 00:59:29,880 --> 00:59:34,060 I znowu, nie zawrócić i nie patrzeć na slajdach. 1212 00:59:34,060 --> 00:59:37,304 I dam po chwili zastanowić się, jak to opisać. 1213 00:59:37,304 --> 00:59:39,012 Nie pozwól im zobaczyć strach w twoich oczach. 1214 00:59:39,012 --> 00:59:40,820 >> [ŚMIECH] 1215 00:59:40,820 --> 00:59:43,710 >> I znowu, tym razem dźwigni niektóre z tych bram 1216 00:59:43,710 --> 00:59:48,130 i postarać się niemal wszyscy przynajmniej prawidłowa odpowiedź. 1217 00:59:48,130 --> 00:59:52,260 >> PUBLICZNOŚCI: OK, weź kawałek papieru, spójrz 1218 00:59:52,260 --> 00:59:54,500 W środku tego kawałka papieru. 1219 00:59:54,500 --> 00:59:59,591 W środku tego kawałka z papieru, narysować sześcian. 1220 00:59:59,591 --> 01:00:01,244 >> [ŚMIECH] 1221 01:00:01,244 --> 01:00:02,660 DAVID MALAN: Czego się nauczyliśmy? 1222 01:00:02,660 --> 01:00:03,540 Byliśmy tak blisko. 1223 01:00:03,540 --> 01:00:06,320 1224 01:00:06,320 --> 01:00:09,045 OK, jeśli można powtórzyć dla każdego. 1225 01:00:09,045 --> 01:00:13,210 >> PUBLICZNOŚCI: W środku malowniczego kawałek papieru, narysuj obiekt, 1226 01:00:13,210 --> 01:00:14,842 który wygląda jak kostka. 1227 01:00:14,842 --> 01:00:17,332 >> DAVID MALAN: OK, to wszystko można dostać się do pracy. 1228 01:00:17,332 --> 01:00:20,010 1229 01:00:20,010 --> 01:00:23,080 Pozwól mi być analityczna i nie tyle krytyczne 1230 01:00:23,080 --> 01:00:25,720 ale aby roszczenia że Victoria na pewno 1231 01:00:25,720 --> 01:00:28,967 Wydaje się, że myślenie w bardzo abstrakcje wysokim poziomie, co 1232 01:00:28,967 --> 01:00:29,800 nie jest nieuzasadnione. 1233 01:00:29,800 --> 01:00:32,160 Bo inaczej, to wszyscy być dość dysfunkcyjnych, 1234 01:00:32,160 --> 01:00:35,740 gdybyśmy mieli się kiedykolwiek tak precyzyjne ze wszystkim, co robimy w świecie. 1235 01:00:35,740 --> 01:00:38,890 >> Ale mówiąc przejść do middle-- I Myśleliśmy, że na takiej dobrej drodze 1236 01:00:38,890 --> 01:00:42,340 tam, jak jechać do samego środku strony, a następnie narysować sześcian. 1237 01:00:42,340 --> 01:00:45,730 Więc ona myślenia w abstrakcji, bo wciąż oglądania 1238 01:00:45,730 --> 01:00:48,490 co jest na ekranie, podobnie zresztą jak sześcian. 1239 01:00:48,490 --> 01:00:51,185 Ale jest tak wiele możliwości interpretacji tam. 1240 01:00:51,185 --> 01:00:53,560 I rzeczywiście, nie ma tak wielu innych sposobów można wyrazić 1241 01:00:53,560 --> 01:00:55,101 To, co ja proponuję w jednej chwili. 1242 01:00:55,101 --> 01:00:59,770 Więc tutaj mamy jedną inkarnację z picture-- whoops-- jednego 1243 01:00:59,770 --> 01:01:02,830 wcielenie obrazu, a więc Trochę trójwymiarowość do niego, 1244 01:01:02,830 --> 01:01:04,160 co jest miłe. 1245 01:01:04,160 --> 01:01:08,470 >> Oto jeszcze jeden, w którym masz sam, choć jest to rodzaj otwartej sześcianu. 1246 01:01:08,470 --> 01:01:12,020 Niektórzy ludzie trwało to trochę bardziej płaska, dwuwymiarowa. 1247 01:01:12,020 --> 01:01:13,910 I to jest w porządku. 1248 01:01:13,910 --> 01:01:17,380 Tak więc, w rzeczywistości Środek papieru. 1249 01:01:17,380 --> 01:01:22,720 To jeden myślę będziesz jak, bo jeśli mamy iść tutaj, 1250 01:01:22,720 --> 01:01:25,130 to jest to, co opisywał. 1251 01:01:25,130 --> 01:01:29,570 Więc teraz, pozwól mi zaproponować jak inaczej możemy opisać tę sytuację. 1252 01:01:29,570 --> 01:01:34,070 >> Powrót w dzień, jeden z najbardziej bardziej powszechne sposoby nauki programowania 1253 01:01:34,070 --> 01:01:38,900 było napisanie kodu, pisze linie instrukcji, 1254 01:01:38,900 --> 01:01:42,640 że kontrolowane trochę Żółw na ekranie. 1255 01:01:42,640 --> 01:01:45,660 Logo i inne warianty tego była nazwa języka. 1256 01:01:45,660 --> 01:01:47,550 A żółw żył w świecie. 1257 01:01:47,550 --> 01:01:49,970 >> Więc załóżmy tej prostokątnej Przestrzeń jest jego świat. 1258 01:01:49,970 --> 01:01:53,340 I byłoby zacząć od assuming-- I tak naprawdę nie wiem jak narysować żółwia, 1259 01:01:53,340 --> 01:01:54,740 więc zróbmy to w ten sposób. 1260 01:01:54,740 --> 01:01:57,340 I wtedy on ma powłokę a następnie być może niektóre stopy. 1261 01:01:57,340 --> 01:01:59,840 Więc może masz ten mały znaków na ekranie. 1262 01:01:59,840 --> 01:02:02,270 >> A celem tego język programowania 1263 01:02:02,270 --> 01:02:06,070 było zmusić żółwia iść w górę, w dół, w lewo, w prawo 1264 01:02:06,070 --> 01:02:08,420 i przyłożył pióro lub podnieść jego pióra w górę, 1265 01:02:08,420 --> 01:02:12,720 aby mógł właściwie narysować na ekranie w tym bardzo płaską prostokątną świecie. 1266 01:02:12,720 --> 01:02:16,850 Więc gdzie Myślałem, że może jechać, i gdzie należy rozważyć nurkowanie 1267 01:02:16,850 --> 01:02:19,520 w dół, aby psychicznie przy opisywaniu Instrukcje bardziej ogólnie, 1268 01:02:19,520 --> 01:02:21,720 Chciałbym twierdzą, jest umieszczania Pióro dół w middle-- 1269 01:02:21,720 --> 01:02:23,100 a my się pozbyć żółwia, bo naprawdę nie mogę 1270 01:02:23,100 --> 01:02:24,680 zachować rysunek go bardzo dobrze. 1271 01:02:24,680 --> 01:02:27,170 >> A teraz, jak inaczej mógłby Mówię narysować sześcian? 1272 01:02:27,170 --> 01:02:32,830 Cóż, można powiedzieć coś takiego losowania Linia ukośna na północny wschód, na przykład, 1273 01:02:32,830 --> 01:02:35,182 lub pod kątem 45 ° do góry. 1274 01:02:35,182 --> 01:02:36,640 I że może zdobyć mnie tutaj. 1275 01:02:36,640 --> 01:02:38,380 I jestem dość daleko od sześcianu. 1276 01:02:38,380 --> 01:02:42,430 Ale teraz, mogę coś powiedzieć jak obrócić o 90 stopni w lewo 1277 01:02:42,430 --> 01:02:47,370 i narysować linię równej długości zachód. 1278 01:02:47,370 --> 01:02:49,470 I mogłem kontynuować w podobnych kierunkach. 1279 01:02:49,470 --> 01:02:50,720 I to nie będzie łatwe. 1280 01:02:50,720 --> 01:02:53,345 I szczerze mówiąc, prawdopodobnie byśmy zostały tu przez pięć minut. 1281 01:02:53,345 --> 01:02:59,600 Ale może byłoby nam się zdobyć coś, że na koniec dnia 1282 01:02:59,600 --> 01:03:04,280 kończy się kostka, ale zanurkował wewnątrz tej abstrakcji 1283 01:03:04,280 --> 01:03:06,370 to zrobić na tak niskim poziom, który tak naprawdę nie można 1284 01:03:06,370 --> 01:03:09,795 zobaczyć, co robisz, aż cała Chodzi o to faktycznie istnieje na stronie. 1285 01:03:09,795 --> 01:03:12,670 A więc jest to ogólna zasada, znowu z programming-- tego pomysłu 1286 01:03:12,670 --> 01:03:13,320 abstrakcji. 1287 01:03:13,320 --> 01:03:15,920 Jest tak cudownie potężne, bo znowu, 1288 01:03:15,920 --> 01:03:19,281 Powiedziała tylko, narysować sześcian, którego wszystkie nam dość dużo by grok bardzo szybko. 1289 01:03:19,281 --> 01:03:21,030 Chcemy po prostu zrozumieć, OK, narysować sześcian. 1290 01:03:21,030 --> 01:03:24,030 Możemy nie wiedzieć, orientację, więc możemy być trochę bardziej precyzyjny, 1291 01:03:24,030 --> 01:03:26,297 ale możemy generalnie obraz czy wiesz co to jest kostka. 1292 01:03:26,297 --> 01:03:28,130 I to jest przydatne, bo jeśli za każdym razem 1293 01:03:28,130 --> 01:03:31,540 usiadł jako programista w klawiatura do pisania kodu, 1294 01:03:31,540 --> 01:03:33,912 jeśli trzeba było myśleć w takich niski poziom, żaden z nas 1295 01:03:33,912 --> 01:03:35,120 nigdy się nic zrobić. 1296 01:03:35,120 --> 01:03:38,259 I z pewnością nikt z nas nie cieszyć się proces pisania kodu. 1297 01:03:38,259 --> 01:03:41,550 To byłoby jak pisanie w 0 i 1 roku, którego szczerze nie było tak dawno temu 1298 01:03:41,550 --> 01:03:43,680 ludzie pisali kod w 0 i 1 roku. 1299 01:03:43,680 --> 01:03:46,960 A my bardzo szybko wpadł Te wyższe languages-- poziom 1300 01:03:46,960 --> 01:03:49,410 C ++ i Java i inne. 1301 01:03:49,410 --> 01:03:52,500 >> Więc spróbujmy jeszcze raz po prostu odwróć tabele, tak że każdy z nas 1302 01:03:52,500 --> 01:03:55,450 mają szansę na przemyślenie raczej w ten sam sposób. 1303 01:03:55,450 --> 01:03:59,230 Czy możemy dostać jeszcze jeden wolontariusz to Czas do wystąpienia do zarządu i rysować, 1304 01:03:59,230 --> 01:04:01,480 Nie odmawiać? 1305 01:04:01,480 --> 01:04:02,070 Dobra. 1306 01:04:02,070 --> 01:04:04,820 Ben, chodź na górę. 1307 01:04:04,820 --> 01:04:08,510 I, Ben, w tym przypadku, po twarz planszę, nie patrzeć w lewo, 1308 01:04:08,510 --> 01:04:09,370 nie wyglądają dobrze. 1309 01:04:09,370 --> 01:04:12,367 Tylko rób, co się koledzy tutaj powiedzieć. 1310 01:04:12,367 --> 01:04:14,950 I dla wszystkich innych w Pokój, teraz są programista. 1311 01:04:14,950 --> 01:04:16,020 On jest komputer. 1312 01:04:16,020 --> 01:04:21,395 A obraz wybrałem tutaj z góry to jest jeden tutaj. 1313 01:04:21,395 --> 01:04:24,490 1314 01:04:24,490 --> 01:04:27,660 Oni just-- Myślą zabawny żart wszystko. 1315 01:04:27,660 --> 01:04:31,510 >> Więc ma ktoś chciał ochotnika pierwszej instrukcji 1316 01:04:31,510 --> 01:04:35,470 lub oświadczenie, że powinno Pióro dowodzenia Bena? 1317 01:04:35,470 --> 01:04:40,850 I zrobimy to wspólnie, może jedna instrukcja od każdej osoby. 1318 01:04:40,850 --> 01:04:41,440 Przepraszam? 1319 01:04:41,440 --> 01:04:42,440 >> PUBLICZNOŚCI: narysować okrąg. 1320 01:04:42,440 --> 01:04:45,866 DAVID MALAN: narysować okrąg Jest to pierwsza rzecz, jaką słyszałem. 1321 01:04:45,866 --> 01:04:47,100 >> PUBLICZNOŚCI: do góry. 1322 01:04:47,100 --> 01:04:48,140 >> DAVID MALAN: do góry. 1323 01:04:48,140 --> 01:04:52,504 OK, możemy pozwolić usunąć, cofnąć. 1324 01:04:52,504 --> 01:04:53,420 A teraz ktoś inny. 1325 01:04:53,420 --> 01:04:55,994 Dan, można byłoby wygodne oferuje następny rozkaz? 1326 01:04:55,994 --> 01:05:02,070 >> PUBLICZNOŚCI: Jasne, rysować centrum dna okręgu 1327 01:05:02,070 --> 01:05:07,121 z small-- trochę mała przestrzeń tym, 1328 01:05:07,121 --> 01:05:15,420 narysować linię prostą aż do trzech czwarte drogi na dół planszy 1329 01:05:15,420 --> 01:05:17,845 niewielki kąt w lewo. 1330 01:05:17,845 --> 01:05:21,250 1331 01:05:21,250 --> 01:05:22,620 >> DAVID MALAN: Dobrze. 1332 01:05:22,620 --> 01:05:24,086 >> PUBLICZNOŚCI: lekkim kątem. 1333 01:05:24,086 --> 01:05:32,807 >> DAVID MALAN: Cofnij, Control-Z. OK. 1334 01:05:32,807 --> 01:05:34,890 Andrew, chcesz zaoferować do następnej instrukcji? 1335 01:05:34,890 --> 01:05:35,515 >> PUBLICZNOŚCI: Jasne. 1336 01:05:35,515 --> 01:05:43,250 Z dołu tej linii dalsze niewielkie angle-- 1337 01:05:43,250 --> 01:05:49,024 whoops-- może o jedną trzecią długości [INAUDIBLE] 1338 01:05:49,024 --> 01:05:52,928 niewielki kąt w dół i jak trzecia długości [INAUDIBLE]. 1339 01:05:52,928 --> 01:05:57,550 1340 01:05:57,550 --> 01:06:00,578 Więc tak, od tego momentu, narysować linię trzeci 1341 01:06:00,578 --> 01:06:04,150 długości poprzedniego Linia bardziej na lewo. 1342 01:06:04,150 --> 01:06:08,416 1343 01:06:08,416 --> 01:06:10,040 >> DAVID MALAN: To OK? 1344 01:06:10,040 --> 01:06:12,330 Prosta, to jest OK? 1345 01:06:12,330 --> 01:06:14,900 OK, Olivier, chcesz oferuje się następnego? 1346 01:06:14,900 --> 01:06:28,564 >> PUBLICZNOŚCI: [INAUDIBLE] z Dno kręgu [INAUDIBLE]. 1347 01:06:28,564 --> 01:06:32,000 1348 01:06:32,000 --> 01:06:45,126 Zwrócić na prawej z [INAUDIBLE] centymetrów. 1349 01:06:45,126 --> 01:06:46,560 >> [ŚMIECH] 1350 01:06:46,560 --> 01:06:49,872 >> DAVID MALAN: Myślę, że masz zamiar trzeba przekonwertować to cale tutaj. 1351 01:06:49,872 --> 01:06:50,764 >> PUBLICZNOŚCI: Stop. 1352 01:06:50,764 --> 01:06:52,186 >> [ŚMIECH] 1353 01:06:52,186 --> 01:06:54,570 >> DAVID MALAN: OK. 1354 01:06:54,570 --> 01:06:56,660 [? Ara,?] Chcesz oferuje się następnego? 1355 01:06:56,660 --> 01:07:00,653 1356 01:07:00,653 --> 01:07:15,443 >> PUBLICZNOŚCI: Narysuj [INAUDIBLE] górny [INAUDIBLE] samo. 1357 01:07:15,443 --> 01:07:28,829 [INAUDIBLE] koło, zwrócić się do [INAUDIBLE] i wyciągnąć [INAUDIBLE]. 1358 01:07:28,829 --> 01:07:33,799 1359 01:07:33,799 --> 01:07:36,730 >> DAVID MALAN: OK, nie więcej cofnąć. 1360 01:07:36,730 --> 01:07:38,390 Zróbmy jedną lub dwie kolejne instrukcje. 1361 01:07:38,390 --> 01:07:40,825 Chris, chcesz zaoferować jeden? 1362 01:07:40,825 --> 01:07:46,182 >> PUBLICZNOŚCI: Na dole okręgu [INAUDIBLE] 1363 01:07:46,182 --> 01:07:51,528 narysować równej linii slopping w dół, w lewo [INAUDIBLE]. 1364 01:07:51,528 --> 01:07:59,304 1365 01:07:59,304 --> 01:08:00,590 >> DAVID MALAN: OK. 1366 01:08:00,590 --> 01:08:01,170 Andrzej? 1367 01:08:01,170 --> 01:08:02,472 Mamy did-- Karim? 1368 01:08:02,472 --> 01:08:06,891 1369 01:08:06,891 --> 01:08:13,765 >> PUBLICZNOŚCI: Zaczynając od prawej linii, Koniec lewej linii, na dole, 1370 01:08:13,765 --> 01:08:21,012 masz zamiar iść rację tę samą długość, że linia 1371 01:08:21,012 --> 01:08:27,680 jesteś na, rysunek do prawo [INAUDIBLE]. 1372 01:08:27,680 --> 01:08:33,572 1373 01:08:33,572 --> 01:08:37,991 [INAUDIBLE] stopni, więc [INAUDIBLE] stopni na prawo. 1374 01:08:37,991 --> 01:08:41,919 1375 01:08:41,919 --> 01:08:43,500 >> DAVID MALAN: W porządku. 1376 01:08:43,500 --> 01:08:44,029 Zatrzymajmy. 1377 01:08:44,029 --> 01:08:44,950 Nie odwracaj się jeszcze. 1378 01:08:44,950 --> 01:08:46,783 Zatrzymajmy i niech spróbuj jeszcze jedną próbę 1379 01:08:46,783 --> 01:08:48,850 zanim objawi Ben co on rysuje. 1380 01:08:48,850 --> 01:08:51,189 Można przetasować Bena prawy-- a właściwie, 1381 01:08:51,189 --> 01:08:54,080 No, po prostu dać kolejna płyta, nawet lepiej. 1382 01:08:54,080 --> 01:08:57,640 Więc jak ktoś miałby teraz do podjęcia bardziej podejścia 1383 01:08:57,640 --> 01:09:02,149 że Victoria wzięła wcześniej, gdzie mówimy w wyższym poziomie abstrakcji 1384 01:09:02,149 --> 01:09:05,149 i tylko w zdaniu lub dwa opisać Ben 1385 01:09:05,149 --> 01:09:07,229 co zwrócić bez dostania się chwastów, 1386 01:09:07,229 --> 01:09:10,670 by tak rzec, w tym niższy poziom? 1387 01:09:10,670 --> 01:09:11,206 Wiktoria. 1388 01:09:11,206 --> 01:09:11,706 [ŚMIECH] 1389 01:09:11,706 --> 01:09:14,249 PUBLICZNOŚCI: Narysuj figurę człowieka spaceru. 1390 01:09:14,249 --> 01:09:18,866 A jego ręce i nogi musi być po prawej stronie. 1391 01:09:18,866 --> 01:09:20,505 >> DAVID MALAN: OK, to wszystko można dostać. 1392 01:09:20,505 --> 01:09:27,210 1393 01:09:27,210 --> 01:09:27,710 W porządku. 1394 01:09:27,710 --> 01:09:31,609 Dlaczego nie możemy ujawnić Ben, co zrobił. 1395 01:09:31,609 --> 01:09:32,890 Więc brawa. 1396 01:09:32,890 --> 01:09:35,700 To była najtrudniejsza chyba. 1397 01:09:35,700 --> 01:09:37,931 >> Więc nawet jeśli mówimy w kategoriach dość głupie 1398 01:09:37,931 --> 01:09:39,680 o tym, rysunek zdjęcia, mam nadzieję, 1399 01:09:39,680 --> 01:09:44,226 można naprawdę docenić stopień ekspresja, które mogą być konieczne 1400 01:09:44,226 --> 01:09:45,850 aby powiedzieć komputer, co robić. 1401 01:09:45,850 --> 01:09:50,370 I w istocie fakt, że Ben był w stanie wyciągnąć to tak szybko 1402 01:09:50,370 --> 01:09:54,227 jest swego rodzaju testament, aby za pomocą język, może wyższy poziom 1403 01:09:54,227 --> 01:09:57,060 Wersja języka angielskiego, który pozwala mu po prostu używać słów, ani słyszeć słowa 1404 01:09:57,060 --> 01:09:59,990 od Wiktorii, które pozwalają mu te abstractions-- prostu wyciągnąć 1405 01:09:59,990 --> 01:10:03,020 figura chodzenie do prawy-- tego rodzaju ma 1406 01:10:03,020 --> 01:10:07,100 pewne znaczenie semantyczne do niego, który nie jest prawie tak oczywiste, gdy jesteś po prostu 1407 01:10:07,100 --> 01:10:10,310 mówiąc, połóż pióro, rysować do prawej, sporządza się w lewo. 1408 01:10:10,310 --> 01:10:12,420 >> A więc to też jest bardzo powszechne w programowaniu. 1409 01:10:12,420 --> 01:10:15,253 Byłoby to mówi się, że jak język bardzo niski poziom, programowanie 1410 01:10:15,253 --> 01:10:16,730 w 0 i 1, jeśli chcesz. 1411 01:10:16,730 --> 01:10:19,320 I to byłoby na wyższym poziomie język programowania w języku Java, 1412 01:10:19,320 --> 01:10:20,278 czy coś takiego. 1413 01:10:20,278 --> 01:10:22,050 Kawałkiem uproszczeniem, ale to 1414 01:10:22,050 --> 01:10:24,310 rodzaj jakby emocjonalne czując, że czujesz, gdy 1415 01:10:24,310 --> 01:10:26,630 zastosuje się jeden rodzaj rzeczy lub innego. 1416 01:10:26,630 --> 01:10:32,650 Trochę frustracji tutaj koniecznością za taką precyzją, ale szans 1417 01:10:32,650 --> 01:10:34,930 być trochę luźniejsze z interpretacja tutaj. 1418 01:10:34,930 --> 01:10:38,060 Ale oczywiście, błędy mogą powstać w wyniku. 1419 01:10:38,060 --> 01:10:40,500 >> Jeśli chcesz się home-- mamy Nie zrobi tego jeden w class-- 1420 01:10:40,500 --> 01:10:41,900 ale jeśli chcesz wprowadzają na zdobycie gola, 1421 01:10:41,900 --> 01:10:43,387 Myślałem, że będziemy nurkować do tego. 1422 01:10:43,387 --> 01:10:45,970 Więc jeśli chcesz grać w tę gra z drugą połówką 1423 01:10:45,970 --> 01:10:49,180 lub dzieci lub tym podobne, to może cieszyć, że dobrze. 1424 01:10:49,180 --> 01:10:54,460 >> Więc chodźmy do przodu i spojrzeć na jeden ostatni rzeczą tutaj obliczeniowej myślenia. 1425 01:10:54,460 --> 01:10:57,010 A to prowadzi nas do Jana Oliver, a nie do zacisku 1426 01:10:57,010 --> 01:11:00,070 Może widzieliście ostatniej nocy, ale nieco ostatnim numerze. 1427 01:11:00,070 --> 01:11:03,310 Kilka miesięcy temu, Volkswagen zajęło sporo kuloodpornych 1428 01:11:03,310 --> 01:11:05,651 z jakiego powodu, jeśli wiesz? 1429 01:11:05,651 --> 01:11:07,025 Co oni mieć kłopoty za? 1430 01:11:07,025 --> 01:11:10,270 1431 01:11:10,270 --> 01:11:14,030 >> Tak, więc oni emissions-- starali się pokonać emisji 1432 01:11:14,030 --> 01:11:19,100 Testy zasadniczo mające swoją samochody zanieczyszczają środowisko mniej 1433 01:11:19,100 --> 01:11:23,620 kiedy ich samochody były testowane oraz zanieczyszczają środowisko bardziej 1434 01:11:23,620 --> 01:11:25,547 kiedy samochody nie były testowane. 1435 01:11:25,547 --> 01:11:28,630 I co jest coraz bardziej interesująca w świecie, a może masz implikowana 1436 01:11:28,630 --> 01:11:34,072 od dyskusji na temat tego, co jest like-- it-- CarPlay, oprogramowanie Apple dla samochodów 1437 01:11:34,072 --> 01:11:35,780 oraz fakt, że wiele z nas coraz częściej 1438 01:11:35,780 --> 01:11:38,390 mają ekrany dotykowe w naszych samochodach jest przerażająca kwota 1439 01:11:38,390 --> 01:11:41,250 oprogramowania u osób tych samochody dzisiaj, które 1440 01:11:41,250 --> 01:11:45,650 szczerze otwiera całą puszkę Pandory, gdy chodzi o bezpieczeństwo i ryzyko fizycznego. 1441 01:11:45,650 --> 01:11:48,070 Ale dzisiaj, niech skupić się na tylko to, co jest 1442 01:11:48,070 --> 01:11:52,170 zaangażowany w pisanie oprogramowania które mogłyby gamed systemu. 1443 01:11:52,170 --> 01:11:54,510 >> Dla definicji związku Problemem dla tych nieznanych, 1444 01:11:54,510 --> 01:11:55,740 rzućmy okiem na John Oliver. 1445 01:11:55,740 --> 01:11:58,115 A dla tych, którzy znają problem, spójrzmy na to 1446 01:11:58,115 --> 01:12:00,480 w soczewce zabawy poprzez John Oliver, jak również. 1447 01:12:00,480 --> 01:12:05,810 Więc pozwól mi hit grę na tym, że myślę, wprowadzenie trzech minut. 1448 01:12:05,810 --> 01:12:07,074 Cholera. 1449 01:12:07,074 --> 01:12:07,740 [ODTWARZANIE] 1450 01:12:07,740 --> 01:12:08,170 -Samochody-- 1451 01:12:08,170 --> 01:12:09,919 DAVID MALAN: Oczywiście, YouTube, it's-- 1452 01:12:09,919 --> 01:12:12,500 - --The najmądrzejszy znaków The Fast and Furious filmy. 1453 01:12:12,500 --> 01:12:16,080 W tym tygodniu, niemiecki producent samochodów Volkswagen znalazła się 1454 01:12:16,080 --> 01:12:19,430 w środku skandalu Proporcje potencjalnie przestępcze. 1455 01:12:19,430 --> 01:12:23,020 >> -Volkswagen Jest usztywnienie miliardy grzywny, ewentualne oskarżenia 1456 01:12:23,020 --> 01:12:25,530 dla swoich menedżerów, jak Firma przeprasza 1457 01:12:25,530 --> 01:12:28,790 dla olinowania 11 milionów samochodów do pomóc mu pokonać testy emisji. 1458 01:12:28,790 --> 01:12:32,110 >> -Certain Diesel wzory zostały zaprojektowane z wyrafinowanym oprogramowaniem 1459 01:12:32,110 --> 01:12:35,410 Używane informacje, w tym położeniu kierownicy i pojazdem 1460 01:12:35,410 --> 01:12:38,820 prędkość, aby określić samochód był w trakcie badania emisji. 1461 01:12:38,820 --> 01:12:42,620 Zgodnie z tym okoliczność, silnik zmniejszyłoby emisję toksycznych. 1462 01:12:42,620 --> 01:12:46,040 Ale samochód był uzbrojone obwodnicy że gdy był napędzany. 1463 01:12:46,040 --> 01:12:51,370 Emisje wzrosła od 10 do 40 Czasy powyżej dopuszczalnych poziomów EPA. 1464 01:12:51,370 --> 01:12:55,920 >> -Wow, 10 do 40 razy większa niż EPA pozwala. 1465 01:12:55,920 --> 01:12:59,570 To jest najgorsza rzecz Volkswagen nigdy nie robił, 1466 01:12:59,570 --> 01:13:04,200 Jest coś można powiedzieć, czy że nigdy nie słyszał o II wojnie światowej. 1467 01:13:04,200 --> 01:13:09,710 Ale może to najpewniejsza oznaka, jak Volkswagen wielkim problemem jest, 1468 01:13:09,710 --> 01:13:12,730 jest to, że ludzie w bardzo top nie ustąpił. 1469 01:13:12,730 --> 01:13:16,320 Prezes zrezygnował w środę po starają się zrobić damage control, 1470 01:13:16,320 --> 01:13:20,380 mówiąc był nieskończenie przykro, które brzmiało wspaniale, dopóki nie okazało się, 1471 01:13:20,380 --> 01:13:22,920 miał tylko 10% przykro ale miał sfałszowane usta 1472 01:13:22,920 --> 01:13:25,600 sztucznie zawyżać jego sorriness. 1473 01:13:25,600 --> 01:13:29,700 A tymczasem Volkswagen USA Szef miał przeprosiny z jego własnej. 1474 01:13:29,700 --> 01:13:33,580 >> -Niech Sprawę jasno na ten temat, nasza firma była nieuczciwa. 1475 01:13:33,580 --> 01:13:37,140 I w moich niemieckich słowy, zostały całkowicie spieprzył. 1476 01:13:37,140 --> 01:13:41,360 >> -Tak, Ale całkowicie wkręcony up nie są dzieła niemieckich. 1477 01:13:41,360 --> 01:13:43,750 A język niemiecki ma wiele pięknych fraz 1478 01:13:43,750 --> 01:13:50,070 opisać sytuacje jak ta, takie jak [niem], co oznacza, że ​​z grubsza 1479 01:13:50,070 --> 01:13:52,870 smutek, który przychodzi od kłamstw związanych z biznesem, 1480 01:13:52,870 --> 01:13:59,060 lub [GERMAN], co przekłada jak zawstydzanie jedynek ojca udziałem 1481 01:13:59,060 --> 01:14:00,352 chmury benzyny. 1482 01:14:00,352 --> 01:14:02,060 Jest to piękny język. 1483 01:14:02,060 --> 01:14:04,660 To po prostu pływa poza językiem. 1484 01:14:04,660 --> 01:14:07,920 A tak przy okazji, podczas gdy człowieka Przeprosiny może brzmieć szczerze, 1485 01:14:07,920 --> 01:14:12,260 warto zauważyć, że mówi się oficjalna strona Wprowadzenie do 2016 roku 1486 01:14:12,260 --> 01:14:17,310 Volkswagen Passat, co oznacza, że ​​na krótko Po mówiąc przykro, to powiedział. 1487 01:14:17,310 --> 01:14:18,850 >> Dziękuję bardzo za przybycie. 1488 01:14:18,850 --> 01:14:19,630 Ciesz się wieczorem. 1489 01:14:19,630 --> 01:14:21,300 W następnej kolejności jest Lenny Kravitz. 1490 01:14:21,300 --> 01:14:24,640 >> [MUZYKA] 1491 01:14:24,640 --> 01:14:28,230 >> -ok, OK, kończąc swoje Przeprosiny z góry obok 1492 01:14:28,230 --> 01:14:31,940 Lenny Kravitz nie scream trzeźwy skruchy. 1493 01:14:31,940 --> 01:14:35,830 To krzyczy, poprosiliśmy Bon Jovi, a on nie powiedział. 1494 01:14:35,830 --> 01:14:38,600 Marka Volkswagen ma został poważnie uszkodzony. 1495 01:14:38,600 --> 01:14:42,466 I szczerze mówiąc, ich nowa reklama Kampania nie jest dokładnie pomaga. 1496 01:14:42,466 --> 01:14:47,289 >> - [GERMAN], chcielibyśmy w Volkswagenie podoba przeprosić za oszukują cię 1497 01:14:47,289 --> 01:14:47,930 naszych pojazdów. 1498 01:14:47,930 --> 01:14:48,513 >> [KONIEC ODTWARZANIA] 1499 01:14:48,513 --> 01:14:54,090 DAVID MALAN: Więc to było okrężna droga of-- sorry-- 1500 01:14:54,090 --> 01:14:58,730 był to okrężna droga wprowadzenie fundamentalnego problemu 1501 01:14:58,730 --> 01:15:02,810 w oprogramowaniu, które jest to, że trzeba wykryć pewne warunki. 1502 01:15:02,810 --> 01:15:07,680 A więc pytanie pod ręką tutaj to, w jaki sposób samochód potencjalnie 1503 01:15:07,680 --> 01:15:09,870 wprowadzone w oprogramowaniu tych programistów, 1504 01:15:09,870 --> 01:15:11,850 wykryć, że to faktycznie testowany? 1505 01:15:11,850 --> 01:15:14,150 Więc być bardzo jasne, co robią 1506 01:15:14,150 --> 01:15:17,940 było w środowiskach, w których programiści zorientowali 1507 01:15:17,940 --> 01:15:20,460 samochód był ewidentnie testowane, że w jakiś sposób 1508 01:15:20,460 --> 01:15:24,840 samochód emituje mniej zanieczyszczeń, mniej emisji, tak mniej toksyczne opary 1509 01:15:24,840 --> 01:15:25,470 i taki. 1510 01:15:25,470 --> 01:15:27,261 Ale kiedy jest normalnie jazdy na drodze, 1511 01:15:27,261 --> 01:15:30,350 byłoby to po prostu emitują tyle Zanieczyszczenie ponieważ chciała. 1512 01:15:30,350 --> 01:15:33,870 >> Więc jak możemy napisać pseudokod dla tego algorytmu? 1513 01:15:33,870 --> 01:15:37,820 Jak moglibyśmy napisać Pseudokod dla oprogramowania zainstalowanego w samochodzie? 1514 01:15:37,820 --> 01:15:43,390 Chodzi mi o to, w skrócie, sprowadza do czegoś takiego. 1515 01:15:43,390 --> 01:15:48,000 w przypadku testowanego emitują mniej. 1516 01:15:48,000 --> 01:15:50,750 else emituje więcej. 1517 01:15:50,750 --> 01:15:52,630 Ale to trochę zbyt wysoki poziom, prawda? 1518 01:15:52,630 --> 01:15:58,580 >> Spróbujmy zanurkować, co to abstrakcja testowanego środka. 1519 01:15:58,580 --> 01:16:06,340 Innymi słowy, nawet jeśli nic nie wiem o samochodach, jakiego rodzaju pytania 1520 01:16:06,340 --> 01:16:13,440 można zadać w celu określenia, czy jesteś w fazie testów, jeśli masz samochód? 1521 01:16:13,440 --> 01:16:19,638 Jakie cechy mogą być przedstawić jeśli samochód jest testowany? 1522 01:16:19,638 --> 01:16:21,026 >> PUBLICZNOŚCI: Testowanie sprzętu. 1523 01:16:21,026 --> 01:16:22,420 >> DAVID MALAN: Sprzęt badawczy. 1524 01:16:22,420 --> 01:16:26,060 Więc jeśli sprzęt kontrolujący w pobliżu, a następnie emitują mniej. 1525 01:16:26,060 --> 01:16:28,669 Więc można sobie wyobrazić realizację które z pewnego rodzaju kamery 1526 01:16:28,669 --> 01:16:29,960 lub wykrywania, co jest wokół ciebie. 1527 01:16:29,960 --> 01:16:32,870 I niech mi zaproponuje, że po prostu czuje się zbyt skomplikowane 1528 01:16:32,870 --> 01:16:37,914 faktycznie mają dodatkowe sprzętowe dla tego celu. 1529 01:16:37,914 --> 01:16:44,830 >> PUBLICZNOŚCI: Jeśli jesteś w park, jeżeli osłona jest otwarta. 1530 01:16:44,830 --> 01:16:47,320 >> DAVID MALAN: W parku lub Okap otwarty, więc to jest dobre. 1531 01:16:47,320 --> 01:16:47,420 >> PUBLICZNOŚCI: i prowadzenie samochodu. 1532 01:16:47,420 --> 01:16:50,480 >> DAVID MALAN: Więc to trochę więcej concrete-- i prowadzenie samochodu. 1533 01:16:50,480 --> 01:16:55,690 Więc byłoby to koniunkcja Kilka różne warunki, jeśli będzie. 1534 01:16:55,690 --> 01:16:59,227 Więc jeśli samochód jest w parku, a nawet choć jest to bardzo mechaniczne rzeczą 1535 01:16:59,227 --> 01:17:01,060 Zazwyczaj mogłem wyobrazić pisanie oprogramowania, 1536 01:17:01,060 --> 01:17:03,476 przede wszystkim dlatego, że nie ma Często światło tam w tych dniach, 1537 01:17:03,476 --> 01:17:07,400 Mogę sobie wyobrazić istnienia oprogramowanie, które może zapytać przesuwak 1538 01:17:07,400 --> 01:17:10,634 lub co nie, jesteś w parku, są Ty w napędzie, jesteś w odwrotnej kolejności. 1539 01:17:10,634 --> 01:17:12,550 I mogę wrócić Odpowiadamy, że jest albo tak 1540 01:17:12,550 --> 01:17:14,400 lub nie do tych rodzajów pytań. 1541 01:17:14,400 --> 01:17:17,630 >> I tak mógłbym prawdopodobnie również odpowiedzieć takie pytanie, to okap otwarte. 1542 01:17:17,630 --> 01:17:21,860 Może istnieje jakiś rodzaj czujnika że albo daje mi 1 lub 0, 1543 01:17:21,860 --> 01:17:23,720 prawda czy fałsz, osłona jest otwarta. 1544 01:17:23,720 --> 01:17:28,180 A następnie uruchomić samochód, może wykryć że w jakiś sposób za pośrednictwem jakiego mechanizmu? 1545 01:17:28,180 --> 01:17:30,430 Podobnie jak samochód jest uruchomiony, I może wykryć, że to on, 1546 01:17:30,430 --> 01:17:32,127 Mogę jakoś wykryć że samochód jest w ruchu? 1547 01:17:32,127 --> 01:17:32,881 >> WIDOWNI: RPM. 1548 01:17:32,881 --> 01:17:35,190 >> DAVID MALAN: Tak, więc nie że zawsze, że igła 1549 01:17:35,190 --> 01:17:38,034 informuje, ile obrotów na minute koła występują. 1550 01:17:38,034 --> 01:17:39,200 A więc mogłem patrzeć na to. 1551 01:17:39,200 --> 01:17:43,090 A jeśli to nie jest 0, chyba że oznacza, że ​​samochód jest w ruchu. 1552 01:17:43,090 --> 01:17:45,400 Ale musimy być Trochę tam uważać, 1553 01:17:45,400 --> 01:17:49,780 because-- niech uprościć this-- jeśli po prostu powiedział, że jeśli jazdy samochodem, 1554 01:17:49,780 --> 01:17:53,070 Nie chcemy, aby po prostu emitują mniej chcemy, jeśli samochód jest uruchomiony 1555 01:17:53,070 --> 01:17:54,310 i jest w fazie testów. 1556 01:17:54,310 --> 01:17:56,320 >> Tak więc istnieje kilka innych składników, które ludzie 1557 01:17:56,320 --> 01:18:00,550 wysunęli hipotezę, oprogramowanie robi, z powodu nieobecności rzeczywistego kodu źródłowego, 1558 01:18:00,550 --> 01:18:05,130 można tylko rodzaj wywnioskować z Fizyczne skutki samochodu co do tego, co 1559 01:18:05,130 --> 01:18:08,280 Może być dzieje pod spodem kaptur w oprogramowaniu. 1560 01:18:08,280 --> 01:18:17,090 Więc jeśli samochód działa i może, powiedzmy, tylne koła nie porusza, 1561 01:18:17,090 --> 01:18:19,420 może to być oznaką jakiegoś testu? 1562 01:18:19,420 --> 01:18:22,830 Co ja sugerując tutaj? 1563 01:18:22,830 --> 01:18:24,830 Tak, być może, to na jednego z tych rzeczy, rolkowych, 1564 01:18:24,830 --> 01:18:28,340 gdzie podobne koła obracają z przodu lub z tyłu, 1565 01:18:28,340 --> 01:18:32,570 w zależności od tego, czy jest to przednie koło lub napęd na tylne koła, więc połowa kół 1566 01:18:32,570 --> 01:18:34,420 są ruchome, ale dwa inne nie, co 1567 01:18:34,420 --> 01:18:36,320 Jest to dziwne, sytuacja w świecie rzeczywistym. 1568 01:18:36,320 --> 01:18:38,110 Jeśli jedziesz na Droga, która nie powinna się zdarzyć. 1569 01:18:38,110 --> 01:18:40,568 Ale jeśli jesteś w magazynie w pewnego rodzaju układ rolek, 1570 01:18:40,568 --> 01:18:41,630 które mogą rzeczywiście stało. 1571 01:18:41,630 --> 01:18:46,980 >> Myślę, że ludzie zaproponowali również, że może, jeśli samochód jest uruchomiony i układ kierowniczy 1572 01:18:46,980 --> 01:18:51,300 koło nie porusza się, że też może być sygnałem, 1573 01:18:51,300 --> 01:18:54,090 ponieważ jest to uzasadnione dla jak od razu na drodze. 1574 01:18:54,090 --> 01:18:57,960 Ale nawet wtedy, człowiek jest prawdopodobnie przesuwając go trochę czy na pewno 1575 01:18:57,960 --> 01:18:59,100 w ciągu kilku sekund. 1576 01:18:59,100 --> 01:19:01,030 Albo trakcie minuty, kursy są nie jest 1577 01:19:01,030 --> 01:19:03,510 będzie kojarzy się dokładnie takie samo stanowisko. 1578 01:19:03,510 --> 01:19:05,440 >> Tak więc, innymi słowy, że może odejmowanie, 1579 01:19:05,440 --> 01:19:08,200 jesteś w fazie testów, a rozbić tę funkcjonalność 1580 01:19:08,200 --> 01:19:10,420 do tych składowych składników. 1581 01:19:10,420 --> 01:19:13,440 I to jest naprawdę to, co Volkswagen inżynierowie jakoś tak. 1582 01:19:13,440 --> 01:19:17,070 Pisali oprogramowania świadomie wykryć, czy samochód jest w fazie testów, 1583 01:19:17,070 --> 01:19:20,440 Dlatego emitują mniej indziej wydzielać w zwykły sposób. 1584 01:19:20,440 --> 01:19:22,690 >> I tu problem, też, jest to, że oprogramowanie nie jest 1585 01:19:22,690 --> 01:19:26,080 coś można naprawdę zobaczyć, chyba trzeba tak zwany kod źródłowy. 1586 01:19:26,080 --> 01:19:29,060 Nie ma więc dwa różne typy code-- co najmniej dwa różne rodzaje 1587 01:19:29,060 --> 01:19:30,130 Kod na świecie. 1588 01:19:30,130 --> 01:19:33,150 Jest coś, co nazywa się źródłem Kod, którego nie jest w przeciwieństwie 1589 01:19:33,150 --> 01:19:37,240 byliśmy pisanie kodu źródłowego. 1590 01:19:37,240 --> 01:19:40,099 >> To jest kod źródłowy napisany w język zwany pseudokod, 1591 01:19:40,099 --> 01:19:41,640 który jest po prostu coś angielsko-podobnego. 1592 01:19:41,640 --> 01:19:43,140 Nie ma formalnej definicji tego. 1593 01:19:43,140 --> 01:19:46,770 Ale C i Java, C ++, te są wszystkie języki formalne, że 1594 01:19:46,770 --> 01:19:50,610 gdy piszesz w nich, co masz Jest to plik tekstowy zawierający kod źródłowy. 1595 01:19:50,610 --> 01:19:54,850 >> Ale jest też coś świat zwany kod maszynowy. 1596 01:19:54,850 --> 01:20:00,579 A kodu maszynowego, niestety, Jest tylko 0 i 1 roku. 1597 01:20:00,579 --> 01:20:02,870 Więc co to kod maszynowy Maszyny do zrozumienia, oczywiście. 1598 01:20:02,870 --> 01:20:04,470 Kod źródłowy jest to, co ludzie rozumieją. 1599 01:20:04,470 --> 01:20:08,390 >> I na ogół, ale nie Zawsze istnieje program 1600 01:20:08,390 --> 01:20:14,090 że programista używa tego bierze źródło Kod i zamienia ją w kodzie maszynowym. 1601 01:20:14,090 --> 01:20:17,400 I że program jest ogólnie nazywany kompilatorem. 1602 01:20:17,400 --> 01:20:19,820 Więc Twój wkład jest kod źródłowy, Twój wynik jest kod maszynowy, 1603 01:20:19,820 --> 01:20:22,890 a kompilator jest kawałek oprogramowanie, które robi ten proces. 1604 01:20:22,890 --> 01:20:26,260 Więc to naprawdę ładnie odwzorowuje nasze algorytmy, wejścia, wyjścia. 1605 01:20:26,260 --> 01:20:30,400 >> Ale to jest bardzo specyficzne wcielenia z tym, co znaczy, że 1606 01:20:30,400 --> 01:20:34,200 nawet jeśli jesteś właścicielem jednego z Volkswagen samochody, które jest winny tego, 1607 01:20:34,200 --> 01:20:38,390 to nie jest tak, jak można po prostu otworzyć kaptur lub otworzyć instrukcję obsługi lub szukać 1608 01:20:38,390 --> 01:20:42,690 w kodzie, ponieważ w momencie osiągnie swój samochód w podjazd, 1609 01:20:42,690 --> 01:20:45,580 to już było zamienione na 0 i 1 roku. 1610 01:20:45,580 --> 01:20:51,310 I to jest bardzo trudne, wręcz niemożliwe, ale bardzo trudno zebrać dużo niczego 1611 01:20:51,310 --> 01:20:53,710 od po prostu patrząc na bazowego 0 i 1-tych. 1612 01:20:53,710 --> 01:20:57,150 Więc można zrozumieć to, ostatecznie, jeśli Ci zrozumieć, w jaki sposób urządzenie operates-- 1613 01:20:57,150 --> 01:20:59,870 Intel inside-- jeśli rozumiesz architektura Intel, 1614 01:20:59,870 --> 01:21:01,440 ale jest to bardzo czasochłonne. 1615 01:21:01,440 --> 01:21:05,010 I nawet tam, to polubisz nie być w stanie zobaczyć wszystko 1616 01:21:05,010 --> 01:21:08,220 że kod może faktycznie zrobić. 1617 01:21:08,220 --> 01:21:12,521 >> Wszelkie pytania dotyczące tego czy ta rodzaj procesu bardziej ogólnie? 1618 01:21:12,521 --> 01:21:15,134 1619 01:21:15,134 --> 01:21:18,300 I rzeczywiście, możemy powiązać tę dyskusję do wczorajszej dyskusji Apple. 1620 01:21:18,300 --> 01:21:22,500 To również dlatego, że FBI nie można po prostu iść i patrzeć w telefonie podejrzanego 1621 01:21:22,500 --> 01:21:26,820 i znaleźć linii kodu, na instancji, które umożliwiają hasło 1622 01:21:26,820 --> 01:21:28,940 lub umożliwiają temu opóźnienie 80 ms. 1623 01:21:28,940 --> 01:21:31,630 Ponieważ w chwili jego Facet na iPhone, 1624 01:21:31,630 --> 01:21:34,975 to już było zamienione na 0 i 1 roku. 1625 01:21:34,975 --> 01:21:38,015 1626 01:21:38,015 --> 01:21:40,820 >> Dobrze, zatrzymajmy się tutaj na naszą spojrzeć na obliczeniowej myślenia. 1627 01:21:40,820 --> 01:21:42,320 Dlaczego nie zrobić sobie przerwę 15 minut. 1628 01:21:42,320 --> 01:21:44,130 A kiedy wrócimy, będziemy przyjrzeć programowania 1629 01:21:44,130 --> 01:21:46,550 Sam i rozpocząć mapowanie niektórych tych pojęć wysokiego szczebla 1630 01:21:46,550 --> 01:21:49,780 do faktycznego, jeśli figlarny, język programowania. 1631 01:21:49,780 --> 01:21:51,089