DAVID MALAN: Witamy z powrotem, wszyscy.
Tak jak wczoraj, będziesz pamiętać, że skupiliśmy się na tych tematów tutaj.
Więc mieliśmy cztery nadrzędne topics-- prywatności, bezpieczeństwa i społeczeństwa;
technologie internetowe; Chmura obliczeniowa; i ostatecznie, tworzenie stron internetowych.
>> Czy ktoś ma przepustowość lub czas
oglądać Mały John Oliver ostatniej nocy?
To rzeczywiście dość zabawne, jeśli nie trochę przerażające.
Wszelkie pytania na niczym zrobiliśmy wczoraj?
Ewentualne wyjaśnienia?
Wszelkie pytania, które chcesz zrobić pewność, że dotyka on dzisiaj w jakiejś formie?
Tak czyste łupków.
>> Więc co jest na porządku dziennym dzisiaj?
Więc pomyślałem, że zaczniemy dziś spojrzeniem na to, co zwykle
znany jako obliczeniowej thinking-- w ryzyko upraszczając, myślenie
jak komputer, może myśli jak inżynier,
i próbuje zacząć uporządkować myśli
lub daje lepsze poczucie co jest zaangażowany w rzeczywistości dowodził
komputer coś zrobić Tytułem programowania.
I będziemy trzymać go w dość Wysoki poziom, prawie angielskim,
ale starają się wykorzystać znajome Przykłady sformalizowanie jak
byś go o rozwiązywaniu problemów.
>> I będziemy ponownie trochę CS tematy, jak abstrakcji,
które pojawiły się kilka razy wczoraj
algorytmy, a następnie reprezentacji.
I to gdzie zaczniemy już za chwilę.
Potem spójrz na programowaniu.
Będziemy spojrzeć na niektóre podstawowe konstrukcje
z którymi mogą się zapoznać a może nawet znaleźć dość intuicyjne.
>> Przyjrzymy, w rzeczywistości, przy programowaniu próbki
Środowisko to jest bardzo łatwo dostępne, bardzo zabawny i rzeczywiście ukierunkowane
dla dzieci do 12 roku życia wzwyż.
Spędzimy tam kilka minut a następnie wziąć sprawy do niższego poziomu
i rzeczywiście mówić o niektórych Algorytmy i struktury danych,
by tak rzec, że programiści zazwyczaj korzystają
rozwiązywać problemy o wiele więcej skuteczniej niż to polubisz
być w stanie obejść się bez nich w ogóle.
Następnie po obiedzie, będziemy spojrzeć w stosy technologii, która jest po prostu
fantazyjny sposób na powiedzenie zbiory technologii
które można wykorzystać do rozwiązać jakiś problem.
A my mówimy o alfabecie zupa z języków, które istnieją today--
Java i Python i C ++ i PHP Ruby i wszelkiego rodzaju inne rzeczy.
>> Weźmiemy zerknąć na wzorcach projektowych.
Programiści z czasem przyjęły metodologii
które wydają się im pomóc rozwiązywać problemy łatwiej.
Kiedy zaczniesz widzieć siebie piśmie ten sam rodzaj kodu po raz kolejny,
osób sformalizowanie tych powtórzeń Nazwy i przypisywać im
a następnie wykorzystać je i promować je ostatecznie.
I porozmawiamy trochę o strategii mobilnych
jakby co to znaczy faktycznie zrobić aplikację mobilną lub mobilną stronę internetową.
Czy robisz to dla Androida?
Czy robisz to dla iOS?
Czy robisz to dla obu tych?
A jakie są kompromisy?
I wreszcie, weźmiemy do programowania WWW spojrzenie, które
to wspólne określenie Naprawdę opisywaniu każdej chwili
piszesz oprogramowanie, które jest przeznaczona do pracy w sieci,
czy na telefonach lub komputerów stacjonarnych lub laptopów.
Weźmiemy krótkie spojrzenie na bazy danych i projektowanie
nim, choćby dlatego, że prawie każdy ciekawa aplikacja web-based
te dni ma jakieś bazy danych.
W przeciwnym razie, że będzie po prostu być statyczny.
A baza danych pozwala na dokonywanie Zmiany w czasie, czy sam
lub od użytkowników.
I będziemy rozważyć, w jaki sposób pójdzie o projektowaniu
że baza danych i rodzaj żargonu które mogą pochodzić z inżyniera
Dyskusja na tablicy podczas gdy w rzeczywistości realizacji
aplikacja po raz pierwszy.
>> Porozmawiamy o krótko API, użyteczne usługi
które można użyć, aby stanąć na barki innych, czy firm
lub osoby i rozwiązać swoje własne problemy szybciej.
A potem być może będziemy babrać nieco z JavaScript,
język programowania, który jest używany Zarówno w przeglądarkach w dzisiejszych czasach, ale także
w serwerach.
I być może, będziemy ponownie, czas na to pozwala,
niektóre z hands-on web materiał my wczoraj i integrować dwa
razem zanim odroczyć.
>> Więc z that-- co ahead-- jest nie brakuje niczego, co
chciałby, aby upewnić się wstawiać i dotknąć w pewnym momencie.
Jeśli to do głowy, dostosowania go niebawem.
Ale dlaczego nie zaczniemy z spojrzeć na obliczeniowej myślenia.
>> I pozwól mi zaproponować, obliczeniowa myślenie jest, ponownie,
rodzaj opisu wysokiego poziomu co informatyk może zrobić.
I rzeczywiście, zacznijmy z trzech składników, które
Może wchodzić obliczeniowej myślenia.
To tylko jeden ze sposobów opisywania go.
Moglibyśmy oczywiście zdefiniować to na wiele sposobów.
>> Ale pozwól mi zaproponować, przez wzgląd na dziś
że światowych problemów, wszystkich problemów na świecie,
kiedy zbliżył przez informatyk mógł
uznać za co będziesz połączeń wejść, które
trzeba znudzisz się, co będziemy nazywać Algorytmy, które następnie dają wyjść.
Innymi słowy, całe Świat rozwiązywania problemów Żądam
można destylować pod Te trzy składniki.
Więc co mam na myśli wejść?
Wejścia jest tylko to, co masz przekazane w celu rozwiązania.
>> Na przykład, oto stary problem w szkole.
Jeśli mam książkę telefoniczną tu i Chcę wyglądać mniej więcej do niego,
to jest mój wkład.
Mam 1000 lub tak Strony w książce telefonicznej.
To jest wejście do mojego problemu.
I chcę, aby znaleźć coś jak Mike Smith, więc znajomego
którego nazwa i numer jest mam nadzieję, że w tej książce adresowej.
>> To przed dniami komórce telefony, więc nie mogę po prostu znajdź go.
Więc muszę zrobić to stare Szkoła i faktycznie wyszukiwania
te wejścia do jakiegoś odpowiedź.
I ta odpowiedź jest po prostu będzie na miano wyjście.
Więc wejście jest książka telefoniczna.
Algorytm jest cokolwiek zestaw Kroki używam znaleźć Mike Smith.
A wyjście jest, mam nadzieję, numer telefonu Mike'a Smitha.
I to wtedy byłoby po prostu przedstawiciel większości żadnego problemu
się ze jesteś praworęczny wejścia i chcą produkować wyjść.
>> Więc zanim weźmiemy pod uwagę proces dzięki którym możemy rozwiązać ten problem,
Mike Smith i znalezienie coś w tym stylu,
rozważmy pierwszy i z last-- wejścia i wyjścia.
Fizycznie, oczywiście, wejście tutaj jest cała masa papieru sklejone
w postaci książki telefonicznej.
Ale komputery, laptopy z course-- i stacjonarnych, a nawet telefony
Są one days-- tych urządzenia elektryczne.
>> I na koniec dnia, co jest jedyne wejście do komputera?
Dobrze, że to coś w rodzaju Ten kabel o mocy.
I podłączyć go do ściany, a Mam przepływ elektronów,
która pozwala mi uruchomić maszynę.
A może te elektrony są tworzone poprzez mego baterii.
A na koniec dnia, to jest jedyną rzeczą, wchodząc w moim laptopie.
I tak bardzo interesujące rzeczy jest ostatecznie
wychodzi, czy za pomocą drukarki
lub ekranu lub audially lub podobne.
>> Więc jeśli wszystko, co mamy w naszych podstawową wprowadzane do komputera
jest prąd, więc po prostu Elektrony wchodzili i lub na zewnątrz,
i tak jak możemy użyć tego wejścia faktycznie reprezentują informacje?
Innymi słowy, w jaki sposób uzyskać z prostej przepływ elektryczności
do reprezentowania rzeczywista numery lub litery rzeczywiste
lub rzeczywiste obrazy na ekranie lub rzeczywiste filmy lub wiadomości e-mail
lub dowolną liczbę z nich wyższego szczebla, koncepcje
jeśli będzie, że na Koniec dnia jakoś
muszą być przechowywane w tym Elektroniczne urządzenie mechaniczne
używając tylko tych prostych ingredients-- elektrony wchodzą i wychodzą?
>> Tak więc wydaje się, że w najprostszej formie
jedyny rodzaj stanów Mam w moim świecie, więc
do speak-- warunki w moim world-- jest albo
Mam elektrony przepływające, prąd płynących, lub zrobić not-- tak dalej, off.
I niech sformalizować i wyłączane, jako informatyk może,
tylko z 1 i 0.
Miejmy tylko opisują niektóre arbitralne ale spójny numer do niego.
1 oznacza, na 0 oznacza się.
Albo można też uznać to za Środki na prawdziwych i fałszywych środków.
Można również zrobić czarny białe lub czerwone i niebieskie.
Trzeba tylko dwa deskryptory.
A informatycy będzie zazwyczaj wystarczy użyć 0 do 1.
>> Więc jeśli tak jest, moim jedynym alfabetu jest składający się z 0 i 1-ki, jak
mógłbym dostać się do wyrównania liczby 2 w komputerze, nie mówiąc już numer 3
lub litera alfabetu lub zdjęcie lub film?
W jaki sposób sortowania bootstrap się od tej podstawowej zasady
od 0 i 1, a właściwie reprezentują coś bardziej interesującego?
>> Cóż, postawmy na to pytanie zawieszone na chwilę
i rozważyć coś mam nadzieję, że znajomy,
nawet jeśli tak naprawdę nie myślał o że w szczegóły na 10, 20, 30, 40, 50
więcej lat.
Co to jest?
Jak byś się wymawia to?
Nie jest to podchwytliwe pytanie.
Wiele, ale co to jest?
1, 2, 3, lub 123.
I podobało mi się, jak mówiłeś, 1, 2, 3, ponieważ jest to jeden ze sposobów oglądania go.
1, 2, 3, to sekwencją z trzech symboli.
To zdjęcia, które mamy Teraz mają słowa dla.
A jeśli rodzaj je wszystkie przeczytać razem, typowa ludzka w języku angielskim
powiedzieliby 123.
I to jest coś w rodzaju wyższym poziomie koncepcji,
czuje się jak rozsądnie dużej ilości.
>> Ale jak się tam dostać?
Cóż, to może być trochę czasu od już myślałem o tym w ten sposób,
ale w moim dzień, Nauczyłem się tego rodzaju
jak kolumnie 1, tym 10 na Kolumna i kolumna 100.
Tak jak mówi Lakisa, to 1, 2, 3, ale jest to również 123.
Ale w jaki sposób dostać się z Była do tego ostatniego?
>> Dobrze, byś typowo turystyczna kolumna 100, mam 1.
Więc to tak, jakby powiedzieć 1 100 razy.
A następnie w kolumnie 10 za, mam 2.
Więc to tak, jakby powiedzieć 10 razy 2.
W pozycji 1 w kolumnie, mam 3.
Więc to tak, jakby powiedzieć 1 razy 3.
>> A jeśli dodać te rzeczy Podsumowując, to oczywiście
100 plus 10 plus 3.
I och, to dlaczego mam tego wyższe pojęcie poziom 123.
To tylko podstawowe matematyki, przy czym te Symbole mają masę do nich, jeśli ciebie
Będzie placeholder lub wartości kolumny.
A kiedy pomnożyć wszystko się, że ten numer.
>> Tak jak wielu z was wie, jak mówić binary-- 0 i 1's-- jak komputer?
OK, doskonały, nikt, albo żaden z was myśli, że to zrobisz.
Ale chciałbym twierdzą ci właściwie już o tym wiedzą.
Musimy po prostu rodzajem dostrojenia Nasz model mentalny trochę.
Jednak proces ten jest dokładnie takie samo.
>> Pozwól mi zostawić ten jeden się tam i zamiast ciągnąć to w dół na chwilę.
W świecie komputerów, mamy tylko 0 i 1 roku.
A więc co to jest nie zmieni się, co?
Cóż, w moim ludzkim świecie, system dziesiętny, 10 grudnia znaczenie,
Mam ile cyfr do mojej dyspozycji?
10, prawda?
Od 0 do 9, oczywiście.
>> I dlatego mamy miejsce i miejsce 100 w 10-tych.
Gdzie jest to, że pochodzi z?
No, to jest 10 do potęgi 0.
Jest to 10 do potęgi 1, 10 do potęgi 2, i tak dalej.
Po prostu zachować pomnożenie kolumn przez 10, zaczynając od zaledwie 1
w pierwszej z prawej jak tutaj.
>> Tak więc w świecie komputery, jeśli masz tylko
mają znaczenie binary-- bi 2-- lub 0 i 1 na, po prostu
Naprawdę trzeba zmienić podstawą tej matematyki.
Tak więc, innymi słowy, obecnie musimy po prostu W 1 mają za kolumnę i the--
gdzie jest ten going-- kolumnę przez 2'S, kolumna 4, a może i poza nią.
Dlaczego?
Cóż, to jest 2 do 0-tej potęgi.
Jest to 2 +1.
To jest 2 do 2 i tak dalej.
>> Więc podczas gdy tutaj mamy 1, 10'S, 100, 1000, 10000 na użytkownika, 100000, w odległości 1
milionów, i tak dalej, tutaj mamy 1, 2, 4, 8, 16, 32, 64.
Po prostu zachować pomnożenie przez 2, zamiast trzymać pomnożenie przez 10.
Więc teraz, jeśli celem w ręka jest do reprezentowania
Liczby przy użyciu tylko 0 i 1-ki, rozważmy, jak się tam dostać.
>> To, oczywiście, jest wzór 0 0 0, ale jaki numer koncepcyjnie
ma ona reprezentować?
Dobrze, 4 razy 0 plus 2 razy 0 Plus 1 razy 0, dodajmy te razem.
4 razy 0 jest oczywiście 0, plus 2 Czasy 0 jest, oczywiście, plus 1 0 0
Jest, oczywiście, 0.
Tak ah, to reprezentuje Numer my ludzie znamy jako 0.
>> Cóż, teraz, niech to bardzo szybko do przodu.
Jeśli mam zamiast tego nie reprezentują 0 0 0, ale zróbmy 1 0 1
że może być jak Lakisa, wcześniej, po prostu wymawiać 1 0 1.
Ale teraz, w jaki sposób zabrać go do wyższej wyrównać liczbę my, ludzie mogą wiedzieć?
Więc co to za numer?
To 5, liczba znamy jako 5.
>> No, to dlaczego?
Cóż, możemy naprawdę rodzaj przejść przez to metodycznie
4 razy 1, 2 x 0, 1 1 razy.
Dodaj te razem, więc to 4 plus 0 oraz 1.
I to jest rzeczywiście 5.
Tak robi się trochę uciążliwe teraz robi arytmetycznych ponownie.
Jednak proces ten jest dokładnie takie samo.
>> Jedyną rzeczą, która ma zmieniło się w naszym świecie
jest to, że nasz kolumn 1, 2, 4, 8, 16, i tak dalej, zamiast 1, 10, 100,
1000.
A to tylko dlatego, że nasz alfabet ma skurczyła się od 0 do 9, aby po prostu 0 do 1.
>> Tak mały quiz, tutaj, w jaki sposób Państwo reprezentują liczbę 7 w binarnym?
0?
Dobrze, 0, to znaczy 0 0 0?
Powiedz to jeszcze raz, Karina.
Idealny.
Dlaczego?
To skutecznie 4 plus 2 plus 1.
Tak dobrze.
>> Jak reprezentujemy trochę another-- jak o numer 2?
Blisko, ale do tyłu.
Więc co to jest?
Czy 4 plus 1, więc to 5 raz.
>> Więc what's-- Przepraszam, Karina?
0 1 0.
0 1 0 byłoby 2, ponieważ ponownie, nawet jeżeli rodzaj nie wyskoczy na ciebie,
tylko do matematyki.
4 razy 0, 0, 2 razy 1 2 razy 1 0 0.
Więc jest to liczba znamy jako 2.
>> Jak o liczbie 8?
Hm?
Dobry.
Więc my niby potrzebujemy kolejnego zastępczy.
Musimy 1 0 0 0.
I to prawda naszego pokroju starego systemu szkolnego przecinku.
W jaki sposób reprezentują liczbę 1000?
>> Cóż, wydaje się być rodzaju w trudnym miejscu,
jeśli poprosi o reprezentacji numer 1000,
bo nawet jeśli dasz się jak 9 to 9 z nich, 0 z nich,
która jest największą liczbę ty masz, nie dość dostać się do 1,000.
Więc jeśli 1,000, wystarczy inna pozycji, dzięki czemu można zrobić 1 0 0 0,
ergo numer 1000.
>> Więc teraz, niech map tego rodzaju koncepcyjne dyskusja z powrotem do sprzętu,
gdzie znowu, wejście było tylko Ten mały przewód zasilający, prąd
najbliższych i wypływających.
A więc na tym, by być odwzorowywane stąd tam, dobrze, czego naprawdę potrzebujemy?
Cóż, można pomyśleć, że jest wewnątrz komputer, cała masa żarówek
Jeśli będziesz.
Oni naprawdę nazywa tranzystorów.
A tranzystory są tylko przełączniki które mogą być albo włączone lub wyłączone.
Więc można myśleć o Tranzystor to na
jest umożliwienie przepływu energii elektrycznej oraz tranzystor to zatrzymywanie się jako
prąd płynącej.
I zamiast podjąć tutaj świateł,
dlaczego nie zrobić tego rodzaju nowego stylu szkolnym.
Więc może to być 1, latarka będąc na, ledwie jednak.
I to może być 0, a teraz jest wyłączone.
>> Tak więc za pomocą tego urządzenia fizycznego, ja może teraz prezentują system binarny.
Muszę tylko dwa stany.
To nie ma znaczenia, co kolor jest lub co to jest.
Liczy się, że mam jedno państwo na i inny stan wyłączony.
Więc za pomocą mojego telefonu tutaj, jak mogę reprezentują liczbę znamy jako 0?
Lub umieścić równoważnie, co Numer jestem reprezentujących teraz?
0, ponieważ urządzenie jest wyłączone.
>> A jeśli mogę to zrobić?
A teraz, jak mogę reprezentują liczbę 2?
Mogę pożyczyć telefon tutaj, jak robiliśmy wczoraj?
Zobaczmy więc, więc jeśli chcę do reprezentowania numer 2, to jest numer 2?
Nie.
Jaki numer jestem przypadkowo reprezentujący tutaj?
Jest to rzeczywiście numer 3.
>> Więc który z nich chcę wyłączyć?
Czarny telefon or-- dobrze, jeśli they're-- czarny telefon komórkowy albo biały?
Biały telefon.
Więc jeśli mogę to wyłączyć, a my Linia go tutaj, mamy 1
na miejscu i na 2 0 w 1 miejsce.
A więc jestem teraz oznaczającą liczbę 2.
A to oczywiście będzie numer 3, ponieważ teraz oba te światła
są włączone.
>> A ja tu zatrzymać, ale to ma się rozumieć,
jeśli chcę do reprezentowania Numer 4 lub 8 lub wyższej,
Będę potrzebował więcej telefonów.
Ale to wszystko, co się dzieje.
Więc jeśli kiedykolwiek słyszał, że Wnętrze A-- dziękuję pan: komputer
Jest miliony tranzystorów, to zaledwie miliony maleńkich przełączników.
I nie są one lekkie żarówki, które włączają się i wyłączają,
ale oni albo pozwolić elektryczność płynąć gdzieś zatrzymać.
I tak tam swoje dwa states-- włączyć lub wyłączyć, włączyć lub wyłączyć.
>> Więc my teraz wydają mają tę zdolność
do reprezentowania tej koncepcji, że Chcielibyśmy w konkretnym sprzętem.
Ale wszystko, co mamy teraz, jest możliwość do reprezentowania liczb Wydawałoby się.
Więc jak go o reprezentowanie litery alfabetu, które
czuje się jak następnego rodzaju obiektu, który chciałby, aby dodać do nowoczesnego komputera
skoro masz numery?
>> I rzeczywiście, jeśli myślisz o Historycznie rzecz biorąc, IT, komputery
Wprowadzono naprawdę służyć kalkulatory numerycznie.
Ale oczywiście, to dzień, robią znacznie więcej.
Nawet wtedy, gdy uruchomi się, ty zazwyczaj zobaczyć jedno lub kilka słów.
Więc jak można reprezentować słowa, Jeśli wszystko co masz, to znowu,
energii elektrycznej na koniec dzień, lub równoważnie 0 i 1-ki?
>> Tak.
Tak, to znaczy, my niby zrobił to wczoraj w jakiejś formie,
gdzie w pewnym momencie, Chyba arbitralnie
Mówi się, że jeśli chcemy reprezentować Litera A może po prostu zadzwonić, że: 1.
To właśnie w związku z kryptografii gdzie po prostu potrzebny jakiś kod,
jakiś mapowania.
>> Może więc będą reprezentowane jako 1 i B są przedstawione jako A 2,
i Z będą reprezentowane jako 26, na przykład.
I wtedy jedynym zastrzeżeniem jest to, że jeśli jestem będzie kodować litery w moje e-maile
albo w moich wiadomości tekstowych jak numery, wszyscy
zgodzić się na stosowanie sam zestaw konwencji.
I rzeczywiście, świat zrobił dokładnie to.
>> System jest na świecie nazywany ASCII, American Standard
Kod dla Wymiany Informacji, który jest po prostu decyzja kilka lat
temu, że ludzie się, że zdecydował, że będzie się równać, a nie
1, 2 i 26, a więc jest to forth-- Trochę different-- ale 65, 66, 67.
A ja podciągnąć Wykres na chwilę.
Ale to jest arbitralne.
Ale to nie ma znaczenia że jest arbitralne.
Świat ma po prostu być spójne.
>> Teraz ostatnio jest coś hodowcy
nazywa Unicode, ponieważ rodzaju na świecie zrealizowanych po wynalezieniu komputerów
że chodzi o coś więcej niż dobrze 256 Symbole w świecie
które mogą chcemy reprezentować, zwłaszcza gdy wprowadzi
Języki azjatyckie i inne symbole które potrzebują większej wyrazistości niż ty
zmieści się w najwcześniejszej wersji Kod ten, którego nazwano ASCII.
Więc rzeczywiście pozwala Unicode można użyć więcej 0 i 2.
W szczególności zachować wysłuchaniu bajtów słowo w społeczeństwie, a nawet po prostu
wczoraj.
I bajt, co znowu?
>> Co znajduje się bajt?
To tylko 8 bitów.
Więc co to naprawdę oznacza?
Dobrze, to znaczy, wcześniej, gdy byliśmy mówisz binarny i używałem
arbitralnie trzy bity kiedy byliśmy mówisz binary-- dnia 1 za miejsce,
miejsce na 2'S, a 4 na place-- dobrze, bajt po prostu oznacza, że ​​mówisz
nie w jednostkach, ale trzy cztery, pięć, sześć, siedem osiem,
co daje nam miejsce 8, w 16'S, 32'S, 64, a 128 na.
>> Innymi słowy, nie wszystkie nieco że przydatna jednostka miary,
bo to po prostu jak jeden maleńki informacja, włączyć lub wyłączyć.
Tak kilka lat temu, świat po prostu postanowił
To nieco wygodniej mówić Warunki bajtów, osiem rzeczy naraz.
I tak więc urodził pojęcie bajt.
I tak mamy tu osiem bitów.
>> I okazuje się, też, bo podobna Powody, świat postanowił roku
temu, że do reprezentowania nas ASCII masz zamiar użyć jednostek z 8 bitów.
Więc nawet jeśli nie trzeba, że ​​wiele, jesteś
Zawsze będziemy używać 8 bitów reprezentuje literę alfabetu.
I to jest wygodne, bo wtedy, gdy ciebie
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
0 1, więc jeśli otrzyma 16 Bity, świat może po prostu
Zakładamy, że pierwsze 8 to jedna litera a drugi 8 to kolejna litera.
>> Nie ma znaczenia, ile ich jest.
To po prostu liczy, że wszyscy jesteśmy zgodne
gdy jesteśmy interpretacji tych bitów.
I ten właśnie sposób losowy.
Oznacza to, że coś, ale ja nie naprawdę myślisz o tym, co to znaczy.
>> Więc jest to małe białe kłamstwo.
Początkowo ASCII faktycznie wykorzystane tylko 7 bitów.
A ósmy bit jest nazywany rozszerzonym ASCII.
Ale chodzi o to, w ostatecznym rozrachunku, to samo.
Świat ogólnie standaryzowany na 8 bitów.
>> Więc byłoby to wydaje się być trochę ograniczenie, bo mogę tylko
reprezentują kapitału A, Kapitał B do Z. kapitałowym
Ale w rzeczywistości nie jest, jeśli pójdę to-- istnieje grono zasobów
on-line, na przykład asciitable.com ten
będzie trochę przytłaczająca.
Ale będę podkreślić co jest tutaj ważne.
>> To właśnie dzieje się być: i będę walk-- zobaczmy, jeśli pójdę tutaj.
Tutaj jest dziesiętną Kolumna, numer 65.
A na literę prawej kolumnie charakter, Chr, jest literą A.
I można zignorować, na razie, wszystko w środku.
To szesnastkowym, ósemkowy, oraz kod HTML.
W tym miejscu jest po prostu stara się rzucić wiele informacji na ciebie na raz.
Ale wszyscy dbamy o to dziesiętne Kolumna i kolumna znaków.
>> Więc od tej logiki, jaka jest liczba, że ​​świat
zdecydowała reprezentuje małe znak?
Tak, 97.
I tak mylić ewentualnie lekko
jaki numer ma świat postanowił stanowiłoby numer 1?
Racja, bo we-- 49, wydaje się, tutaj, w lewym dolnym rogu.
>> Teraz, co mam na myśli?
Tak więc okazuje się, że w systemach komputerowych
jest ogólnie Podstawowa różnica
pomiędzy liczby i charakteru.
Wiele jest rzeczą dowiedziałem się, gdy rośnie
byliśmy bardzo młodzi w szkole.
To rzeczy, które liczą się.
Ale postać jest tylko kształt, glif, że tak powiem, na ekranie.
>> Teraz my, ludzie, rodzaj patrz coś, co wygląda następująco.
I mówimy, och, to liczba 2.
Ale nie, to tylko symbol, który wygląda jak to, co znamy jako numer 2.
A więc jest to zasadnicza różnica
między faktycznymi cyfr i znaków.
Jest liczbą.
Ale ogólnie, w Kontekst komputera
jeśli zamiast zobaczyć coś takiego quoted--
i nie zawsze trzeba zobaczyć cytowany,
ale ze względu na discussion-- if widać cytaty wokół numeru,
teraz jest to znak.
Więc ten numer 2 pod spodem okap wewnątrz komputera
byłby reprezentowany wzorem bitów, które reprezentują liczby
50, zgodnie ze schematem w Internecie.
>> Jednakże, jeśli w komputerze po prostu widzi to, to
byłaby oznaczona z Wzór bit 0 0 0 0 0 0 1 0.
Zważywszy, że postać ta będzie faktycznie być reprezentowane as-- i teraz,
Muszę trochę pomyśleć harder-- więc ta postać byłaby reprezentowana 0
0 1-- co muszę tutaj?
0 0 1 1 0 0 1 0.
W jaki sposób mogę to zrobić?
Dobrze jest to numer 50, jeśli ciebie pomnożyć go za pomocą tych kolumn,
jest to numer 2, a więc dlatego nie jest to dychotomia.
>> I to jest właśnie Teaser teraz funkcje
które istnieją w języku programowania że będziemy dotykać na krótko później dzisiaj.
W językach programowania, masz ogólnie
ale nie zawsze, rzeczy zadzwoń różne typy danych.
Innymi słowy, programmer-- gdy on lub ona jest pisanie,
programista dostaje zdecydować, w jakim Format do przechowywania swoich danych.
możesz przechowywać dane jak numery surowce, takie jak numer 2.
Można też zapisać je jako ciągi, lub sekwencje znaków
że można na ogół wyrazić cytaty w języku programowania.
>> Można mieć rzeczy called-- Będę oversimplify i nazwać je
prawdziwe numbers-- więc liczb nie są liczbami całkowitymi, takie jak numer 2,
ale numery podoba 4,56.
Więc może również liczbami rzeczywistymi mają miejsc po przecinku,
tak to już zupełnie inna fundamentalna element danych w komputerze.
A potem można nawet mieć inne typy danych martwych.
Więc to tylko zapowiedź naprawdę od najprostszych decyzji projektowych
że programista może aby pod maską.
>> Więc jakieś pytania tylko jeszcze?
Więc spróbujmy zrobić to trochę bardziej realne.
Ten sprzęt nie jest tyle już w użyciu.
Ale przede wszystkim w tym pomieszczeniu prawdopodobnie dorastałem i nadal korzysta z dysków twardych
w pewnym sensie.
>> Mimo, że większość Nasze laptopy nie
mają urządzenia, które działają w ten sposób, zamiast laptopów dziś na ogół
mają dysków SSD bez ruchomych części.
I że są bardziej kosztowne niestety, ale trochę szybciej
i A-- dobrze, często o wiele szybciej, co jest jednym z powodów.
A także, że nie ma generować jak najwięcej ciepła.
może być mniejszy, więc generalnie netto pozytywne.
>> Ale to pozwala nam zmapować trochę bardziej konkretnie co
mówimy u 0 i Poziom 1 jest teraz do urządzenia fizycznego.
Jest jedna rzecz dla mnie, aby porozmawiać około 0 i 1 pod względem
mój telefon lub abstrakcyjnie w kategoriach zwrotnic i wyłączać.
Ale co z dysków twardych?
W swoich laptopów, jeśli masz starszą jednym lub w komputerze stacjonarnym,
czy na pewno w serwerach dzisiaj, gdzie trzeba
dyski twarde, które mają terabajt przestrzeni,
4 terabajtów przestrzeni, a co to znaczy?
>> Dysk twardy z 1 terabajt środków kosmicznych
jest 1 bilion bajtów wewnątrz niego jakoś,
lub równoważnie 8 bilionów bitów wewnątrz.
1 terabajt byłoby 8 Tb lub 1 biliona bitów, które
Oznacza jeśli masz ciężki jazdy, trzeba jakoś
lub inne bilion 0 na i 1 w jej wnętrzu.
A jeśli po prostu spojrzeć na dowolne zdjęcie z dysku twardego
reprezentatywne, to co z trudem Napęd może zazwyczaj wygląda w środku.
>> To też jest coś w rodzaju stary gramofon player
ale ogólnie z wiele rekordów wewnętrzne,
do wielokrotnego speak-- talerze, jak są one nazywane,
Dyski okrągłe metalowe, oraz potem trochę głowica odczytująca,
podobnie starego gramofonu.
I że głowica odczytująca porusza się do tyłu i naprzód i jakoś odczytuje bity.
A co na tych talerzach, a nawet Chociaż ludzie nie mogą ich zobaczyć,
albo w rzeczywistości lub w tym obrazie, tam maleńkie cząstki magnetyczne.
A nawet jeśli już dawno zapomniał jak działa prąd,
cząstka magnetyczna która jest pobierana z reguły
ma północną koniec i południe end-- tak, północ i południe.
I tak po prostu świat postanowił jakiś czas temu
że jeśli protokół zasadniczo magnetyczne jest wyrównana jak ten, z północy na południe,
nazwijmy, że: 1.
Jeśli to zamiast na południe-północ, niech po prostu zadzwonić, że 0.
A więc jeśli masz co Państwa dyspozycji bilion
malutkie magnetyczna particles-- i mam nadzieję,
pomysłowość sprzętu w Aby odwrócić te okolice
jak widać fit-- jeśli chcesz reprezentują całą masę 0 jest, no
Wystarczy 8 cząstki magnetyczne wszystko dostosowane w taki sposób.
A jeśli chcesz do reprezentowania Osiem 1-ki, po prostu
Potrzebują 8 cząstek magnetycznych wyrównane z powrotem z powrotem do tyłu w taki sposób.
>> Co mam na myśli przez Cząstki magnetyczne?
Szczerze mówiąc, wszystkie te lata później, rzecz, która wciąż przychodzi mi do głowy
jest ten facet, jeśli ciebie Dorastałem z tej rzeczy.
Jest to na little-- tych unfamiliar--
mała zabawka z dzieciństwa, że Nagi człowiek ma to tutaj
która posiada wszystkie te malutkie czarne cząstki magnetyczne, które pochodzą z nim.
I za pomocą tego czerwony kij, która jest po prostu jak magnes,
można rodzaj dać mu wąsy lub brwi i włosy czy coś na niego.
Tak więc w rzeczywistości, jeśli powiększyć w, na przykład, w tym
Jest to rodzaj grze Można grać z Wooly Willy.
>> A to tylko, że te są znacznie większe cząstki magnetyczne
niż są w rzeczywistości na dysku twardym, i znacznie mniej cząstek magnetycznych.
Ale niech rzeczywiście zobaczyć Następnie, jeśli masz
maleńkie cząstki magnetyczne w dysk twardy, jak można rzeczywiście
użyć do reprezentowania tych danych.
>> [ODTWARZANIE]
>> -The Dysk twardy jest, gdy komputer przechowuje większość swoich stałych danych.
Aby to zrobić, dane podróżuje wraz z RAM
z sygnałami oprogramowania, które powiedzieć dysk twardy, jak przechowywać te dane.
Twarde układy napędowe przetłumaczyć te sygnały do ​​wahań napięcia.
Te z kolei kontrolować dysku twardego przesuwając parts-- jedne z nielicznych poruszających
Części lewej nowoczesnego komputera.
>> Niektóre z sygnałów sterowania silnika która obraca talerzy metalowych powlekanych.
Twoje dane są w rzeczywistości przechowywane na tych talerzach.
Inne sygnały przenosić głowice odczytu / zapisu do odczytu lub zapisu danych na talerzach.
Maszyna ta jest tak precyzyjna że ludzki włos nie mógł nawet
przejść między głowami i przędzenie talerze.
Jednak to wszystko działa na wspaniałych prędkościach.
[KONIEC ODTWARZANIA]
I widać u Koniec ogona wideo
istnieje na ogół wiele talerze.
I tak, że czytanie głowy nie tylko czytanie szczyt.
To tak jakby trzy lub cztery lub więcej głowic odczytu
które poruszają się w ten sposób, jednoczesnego odczytu danych.
>> Więc nie jest dużo Złożoność i rodzaj terminów
który jest zaangażowany w twardym.
A co się kręci naprawdę cholernie szybko, więc nie ma dużo złożoności.
Ale bądźmy przybliżyć nieco głębiej i zobaczyć, gdzie są te cząstki magnetyczne
iw jaki sposób stajemy się na nich.
>> [ODTWARZANIE]
>> -Niech spojrzenie na to, co jest Właśnie widziałem w zwolnionym tempie.
Po krótki impuls prądu jest wysyłana do głowicy odczytu / zapisu
że trzepie na małej elektromagnetyczne na ułamek sekundy.
Magnes tworzy Pole, które zmienia
biegunowość maleńka, maleńka Część cząstek metalowych
które pokrywają powierzchnię każdego użytkownika Platter.
Seria wzór tych maleńkich naładowane obszary na dysku
reprezentuje pojedynczy bit danych w binarny system liczbowy używany przez komputery.
>> Teraz, jeżeli obecny jest jeden wysłany drogę głowicy odczytu / zapisu,
Obszar o polaryzacji w jednym kierunku.
Jeśli obecny jest wysyłane w przeciwnym kierunku,
polaryzacja zostaje odwrócona.
Jak uzyskać dane z dysku twardego?
Wystarczy odwrócić proces.
Więc to cząstki na Dysk, który uzyskać prąd
w głowicy odczytu / zapisu ruchu.
Ułożyła miliony namagnesowane te segmenty,
i masz plik.
>> Teraz kawałki jednego pliku może być rozrzucone po całym talerzy można dojechać za,
trochę jak bałagan papierów na biurku.
Więc specjalny dodatkowy plik utrzymuje tor, gdzie wszystko jest.
Czy nie chciałbyś mieć coś w tym stylu?
>> [KONIEC ODTWARZANIA]
>> Więc czym wspomniał tam, być może, że wątek z wczoraj z usunięciem.
Po usunięciu Plik, wczoraj mówiliśmy
że komputer faktycznie robi co, kiedy coś przeciągania
do kosza lub kosza?
To po prostu zapomina.
Ale 0 i 1-ki, Cząstki magnetyczne
które wyglądają jak czerwone i niebieskie rzeczy tutaj, albo tutaj, moja ręka
wciąż tam są na dysku twardym.
>> I tak istnieje software-- Norton Utilities i Yesteryear
i inne bardziej nowoczesne software-- że właśnie
skanuje cały dysk twardy szuka na te wszystkie 0 i 1, ponieważ jest
Okazuje się, że większość plików rodzaje-- dokumenty Word, Excel, obrazów,
wideo files-- wszystkie mają pewne wzory, które są powszechne wśród nich.
Każdy plik wideo może być innego wideo
ale pierwsze kilka Bity są zwykle takie same.
Lub ostatnie kilka bitów są zwykle takie same.
>> I tak z dużym prawdopodobieństwem, można szukać tych wzorców.
A nawet jeśli plik został zapomniany, można powiedzieć z dużym prawdopodobieństwem,
ale to wygląda jak dokument Word, lets go odzyskać i nie-zapomnij,
Jeśli będziesz.
I tak to w jaki sposób można odzyskać Dane, które jest albo przypadkowo
usunięte lub usunięta lub celowo skreśla się dla dowolnych celów.
>> Natomiast bezpieczne usuwanie co robi w związku z tym jak obraz?
Dokładnie, czyni z nich wszystkich losowo.
Więc to rodzaj przesuwa niektóre je w dół, niektóre z nich nawet,
niektóre z nich pozostawia bez zmian, a ogólnie sprawia szumy z niego,
lub po prostu może sprawia, że ​​wszystkie them 0-tych lub wszystkie z nich 1-ki.
I to też można na ogół szorować swoje dane dalej.
>> Więc wróćmy teraz do kwestii obliczeniowej myślenia, zgodnie z którym
mamy wejść formule.
I daje algorytmy Ci wyjść ostatecznie.
Skupiamy się teraz na wejściach i wyjścia, bo teraz,
Twierdzenie, że mamy sposób reprezentujący wejść i wyjść.
Jesteśmy po prostu zamiar użyć binarny.
>> I bez względu na to, co chcą reprezentować dziś
czy jest to numer lub litera lub ich tysiące w książce telefonicznej
lub obrazy lub filmy, na koniec w ciągu dnia, to wszystko jest 0 i 1 roku.
I twierdzą, że chociaż Jest to bardzo proste, świat z zaledwie 0-tych
i 1-ki, możemy budować się w górę.
I widzieliśmy jeden przykład że z listami do tej pory.
>> Więc skupmy się teraz na ten temat Składnik środkowa, algorytm.
I wróćmy do tego Przykładem Mike Smith.
Tak więc w tej książce telefonicznej, która wprawdzie nie używamy już tak dużo,
pojawia się problem, który należy rozwiązać.
Chcemy znaleźć kogoś takiego jak Mike Smith.
>> I co mogę zrobić, aby znaleźć Mike?
Cóż, może po prostu otworzyć tę Książka rozpoczyna się na pierwszej stronie,
i uświadomić sobie, och, jestem w punkcie a.
Mike nie ma.
Muszę sekcję S Smith.
Więc po prostu zachować obracając jedną stronę na raz.
Pozwól mi udawać, że to wszystko białych stronach, a nie żółte strony,
dlatego, że nie zamierzamy znaleźć Mike na żółtych stronach i tak.
Ale jestem w białych stron.
A teraz jestem w punkcie B.
I nadal nie znalazłem go.
Więc trzymam obracając jedną stronę na raz.
>> Jest to algorytm.
Jest to zestaw instrukcji dla rozwiązania jakiegoś problemu.
Innymi słowy, patrzeć Strona, jeśli Mike nie jest na nim,
obrócić stronę i powtórzenia znowu i znowu i znowu,
idealnie patrząc w dół, jak to robisz.
Więc to jest algorytm, Proces ten, prawda?
>> Przepraszam.
Nie, słyszę jakieś NOS.
OK, ale is-- tak, Z pewnością jest to uciążliwe.
Podobnie jak, będziemy tu cały dzień, gdybym utrzymać szukasz Mike z tą prędkością.
Ale pozwól, że twierdzą, że to poprawne.
To głupie, ale jest to poprawne.
>> Na koniec dnia, pod warunkiem, że może podjąć, znajdę Mike jeśli on jest w środku
i mam zwracać uwagę.
I w końcu dotrzeć do jego strony.
I jeśli się zbyt daleko, jeśli I dostać się do sekcji T,
wtedy mogę nieco zoptymalizować i po prostu powiedzieć, hm, wszystko zrobione.
I nawet nie trzeba tracić Czas idzie do Z jest.
Ale jest to bardzo Podejście liniowy, jeśli ciebie
Będzie to bardzo rodzaju lewej do prawej Podejście, linia prosta.
I jego poprawne, ale powoli.
>> Więc pamiętam z podstawówki, sortowanie z optymalizacją z pierwszego równiarka,
gdzie nauczył się nie liczy przez dzieci, ale przez twos-- więc 2, 4, 6.
To, dużo trudniej zrobić, ale teoretycznie jest to
faster-- 8, 10, 12, 14, i tak dalej.
Jak o tym algorytmie?
Czy jest bardziej efektywny?
Czy to szybciej?
>> PUBLICZNOŚCI: To wydajne.
>> DAVID MALAN: Tak, tak, to jest to def-- dosłownie dwa razy szybciej, przy założeniu, że
Nie zrozumcie potknął się palcami.
To dwa razy szybciej, ponieważ Ja obracam przez dwa
stron na raz, a nie jeden, ale to potencjalnie poprawne, bo po co?
>> PUBLICZNOŚCI: Ty pomijanie niektórych.
DAVID MALAN: Tak, co się dzieje, gdy Mike być sandwiched-- może kiedy jestem później
w książce telefonicznej, Mike bywa przekładkowo między tymi dwiema stronami
a ja po prostu ślepo przejść nad nim.
Więc potrzebujemy trochę naprawić tam.
Raz uderzyłem sekcję t, Nie można po prostu śmiało powiedzieć,
nie znaleźliśmy Mike Smith.
Pewnie musiał zawrócić.
A w rzeczywistości, gdy sięgam kogoś o nazwie S-N, zamiast S-M dla Smitha
natychmiast, mogę podwoić z powrotem, ponieważ może on
było na poprzedniej stronie.
>> Ale nie musiał zawrócić daleko.
Teoretycznie, jeśli mogę to zrobić po prawej Czas, po prostu wrócić jednej stronie.
Więc to dodając tylko jeden dodatkowy krok.
Więc ja już dwa razy szybciej, ale kosztowało mnie jedną dodatkową stronę.
Ale to jest jak wygrana netto.
>> Ale to nie jest, jak większość ludzi w Ten pokój będzie rozwiązać ten problem.
Co by typowa osoba, może Kilka lat temu zrobić, aby znaleźć Mike Smith?
Tak, nie znaleźliśmy Mike.
Co ja robię?
Więc trochę bliżej, ale ja know-- co jest prawdą o książce telefonicznej?
PUBLICZNOŚCI: To sekwencyjna.
DAVID MALAN: To sekwencyjna.
To alfabetycznej.
A więc jeśli jestem w punkcie M, Mikrofon jest wyraźnie na prawo
Mogę dosłownie oderwać Problem w half--
to zwykle łatwiejsze niż that-- rozdarcie problem na pół i wyrzucić,
tak że teraz mam problem, który jest już 1000 pages-- to było trudne,
bo myślę, że faktycznie zerwał książka telefoniczna nie time--
1000 stron, ale 500.
>> Tak więc problem jest dosłownie w połowie tak duże.
I to całkiem przekonujące, ponieważ z moich poprzednich algorytmów, wersja
1 i 2, byłem tylko co problem jedna strona, dwie strony mniejsze mniejsze
na czas.
Zważywszy, że teraz, ja zrobiłem to 500 stron mniejsze naraz.
>> OK, więc teraz Karim proponuje że pójdę do prawej połowie.
Więc mam zamiar iść z grubsza do połowy, lub dać.
A gdybym zrobił to matematycznie, Mogłem iść w prawo na środku.
Teraz zdaję sobie sprawę, oh, Jestem w punkcie T.
I rzeczywiście poszło za daleko.
>> Ale mogę znowu rozerwać Problem w połowie, należy go wyrzucić.
A moi bajtów nie jest tak duża.
To tylko, co, 256 lub 250 stron stron, lub dać w tej chwili.
Ale to wciąż o wiele bardziej niż jedną stronę lub dwie strony.
>> A więc teraz, idę mniej więcej pośrodku.
Och, nie poszedł dość daleko tyle teraz.
Więc powtarzam, powtarzać, powtarzać, Powtarzam, dopóki jestem z nadzieją
pozostaje tylko jedna strona.
>> Tak, że zaprasza na pytanie, gdybym Zaczęło się około 1000 stron,
ile kroków zajęło mi z wersji 1 mojego algorytmu?
Dobrze, jeśli Mike jest w S sekcji, w najgorszym przypadku,
to dość blisko Koniec alfabetu.
Więc jeśli książka telefoniczna ma 1000 stron, Znajdę Mike ciągu 1000 stron,
daj albo bierz.
Może to jest jak 800 lub tak, ale to całkiem blisko 1,000.
>> Natomiast w drugim Algorytm, ile
Strona okazuje maksymalnie mogę wymagają, aby znaleźć Mike Smith?
Jest 1000 stron, ale jestem robi je po dwa stopnie naraz.
Dobra, więc max jak 500ish, ponieważ gdybym przejść przez całą książkę telefoniczną,
w którym momencie mogę przestać.
Ale mogę zgolić przez kilka zatrzymując się tylko na odcinku T.
Ale to w najgorszym przypadku 500 stron.
>> Więc ile razy mogę podzielić ponownie 1,00o-stronicowa książka telefoniczna na pół
i znowu i again-- od 1000 do 500 do 250 do 125?
Jak długo przed I hit jedną stronę?
Tak, to jest około 10.
W zależności od zaokrągleń i takie, to około 10 stron sumie trzeba włączać
lub książki telefoniczne muszą być rozdarty.
>> Więc to jest dość silny.
Zaczęliśmy z problemem tysięcy stron we wszystkich tych trzech kondygnacji.
Jednak w pierwszym algorytmem, to zabrał mnie, w najgorszym przypadku, strona 1000
Okazuje się znaleźć Mike.
Drugi algorytm 500 stron, aby znaleźć Mike.
Trzeci algorytm, 10 stron, aby znaleźć Mike.
I to jest jeszcze bardziej potężny, kiedy myślisz
o rodzaju przeciwnego scenariusza.
Załóżmy, że w firmie telekomunikacyjnej następnego rok może dwa miasta łączy ze sobą,
a książka telefoniczna nagle Ta grubość, a nie to, że
2000 stron, więc zamiast 1000.
Cóż, mój pierwszy algorytm szuka Mike Smith w 2000-stronicowej książce telefonicznej,
gorsza sprawa, to zajmie ilu strona zamienia w przyszłym roku?
>> Książka telefoniczna jest 2000 stron, SO- dobrze, a nie jeden.
Jeśli książka telefoniczna jest dwukrotnie grubsza w pierwszy algorytm najpierw algorytmu,
2000, prawda?
W najgorszym przypadku, Mike jest naprawdę blisko końca książce
więc jest to 2.000 stron zakrętów.
Drugi algorytm będzie przez Dwójki, podobnie jak 1000 stron.
>> Ale co w mojej trzeciej oraz najnowszy algorytm?
Jeśli firma telefonu podwaja liczba stron od 1000 do 2000,
Ile jeszcze razy muszę oderwać ta książka w połowie znaleźć Mike?
>> PUBLICZNOŚCI: Tylko jeden.
>> DAVID MALAN: Jeszcze jeden, bo z jednej strony łza,
Mogę podzielić dosłownie i podbić, jeśli chcesz,
Problem, że w ciągu pół podejmowania ogromny zgryz z niego.
A więc jest przykładem Efektywność i zapewne algorytm
z których każdy z nas jakby intuicyjnie znajome.
Ale to tylko prawidłowe w moich innych algorytmów
z tym tweak dla drugi algorytm,
ale jest o wiele bardziej efektywne.
>> A w rzeczywistości to, co komputer naukowiec, albo z kolei programista,
typowo robić podczas pisania Kod jest spróbować dowiedzieć się,
Wszystko w porządku, nie chcę mojego Program po prostu za prawidłowe,
Ja też ma to być skuteczne i rozwiązywać także problemy.
Wyobraźmy sobie w realnym świecie, Google, podobnie jak indeksy wyszukiwań
jak miliardy stron, jeśli wyobrazić stosowany pierwszego algorytmu znaleźć koty
Wśród miliard pages-- patrząc na pierwsza strona w swojej bazie danych,
drugi, trzeci, po prostu patrząc dla kota, patrząc na kota.
To jest cholernie spowolnić wydaje.
Mogli zamiast użyć czegoś nazywa wyszukiwania binarnego, które
ma coincidence-- bi czyli dwa, możemy utrzymać podzielenie coś w 2, w half--
mogliby wykorzystać przeszukiwanie binarne a może jeszcze szybciej znaleźć koty,
czy cokolwiek to jest szukasz.
>> I szczerze mówiąc, nie ma nawet bardziej wyszukane algorytmy
to znacznie więcej niż tylko dzieląc na pół rzeczy
aby szybko znaleźć informacje.
I porozmawiamy trochę o tych, po obiedzie dzisiaj.
Więc pozwól mi po prostu spróbować do reprezentowania.
Nie musimy iść do matematyka lub jakiekolwiek rzeczywiste liczby.
Możemy mówić o tym w sposób abstrakcyjny.
>> Ale niech mi tylko zaproponować, jeśli ciebie były o dyskusji teraz
z inżynierami proponując tego algorytmu
a ty próbujesz zrobić obliczona decyzja
być może dlatego, inżynier mówi do ciebie,
Wiesz co, mogę zaimplementować przeszukiwanie liniowe w jak dwie minuty.
To takie proste.
Binary wyszukiwania nie jest wyszukany, ale to zajmie mi jakieś 10 minut,
tak 5 razy dłużej.
>> Jest kompromis tutaj, nawet w kategoriach decydowania, jakie oprogramowanie do pisania.
Czy piszesz prostszy algorytm, który właśnie bierze ci dwie minuty?
Czy może poświęcić więcej czasu, 10 minut, pisanie hodowcy algorytm?
Jak zdecydować, tego rodzaju pytania?
Albo można zrobić to trochę bardziej realne.
Powiem mojego szefa to zajmie mi albo jeden tydzień lub 10 tygodni
do wdrożenia Oprogramowanie to sposób, w jaki
zdecydować, które Algorytm zielonym światłem?
Karim?
>> PUBLICZNOŚCI: Publiczność, jak sądzę.
>> DAVID MALAN: Publiczność.
Co masz na myśli przez publiczność?
>> PUBLICZNOŚCI: Jeśli to się dzieje do stosowania przez użytkowników
którzy [INAUDIBLE] przez użytkowników [INAUDIBLE].
Ale jeśli to jest coś, że jesteś po prostu robi dla siebie
ułatwić wątpliwości [INAUDIBLE] szybciej.
DAVID MALAN: Tak, jest to szybki i brudne jest to dobry sposób, żeby to opisać.
W rzeczywistości, jeśli jesteś Opisując wiele czasu
grad w szkole, przy czym często razy, Pisałem zły kod świadomie SO-
przynajmniej tak właśnie zracjonalizować it-- świadomie tak,
bo choć byłem pisania kodu to było stosunkowo wolno wykonywać,
Udało mi się napisać sam kod dość szybko, zaledwie kilka minut wydatków
lub godzin a nie dni.
I okazało się, że czasami potrzebne do snu.
Więc nawet jeśli mój kod wymagane 8 godzin do pracy, dobrze, że jest w porządku,
Pójdę spać podczas działania.
>> Tak więc w momencie, myślałem, że to bardzo mądry, chociaż pozornie
pracował w moim doktoratem bardzo powoli.
Ale to jest odwrotne że gdybym pisanie oprogramowania
dla innych ludzi, którzy liczy więcej niż ja, dobrze,
o nich czekać 8 godzin odzyskać swoje wyniki wyszukiwania
nie jest wcale tak atrakcyjne.
I tak spędzać więcej czasu do przodu, aby napisać oprogramowanie
to jest bardziej efektywne, bardziej jak nasz trzeci algorytmu,
Prawdopodobnie korzyści użytkownikom w miarę upływu czasu.
Więc tak naprawdę zależy na Czas jaki sposób koszty te sumują się.
Jeśli masz zamiar pisać Oprogramowanie go użyć raz,
Prawdopodobnie równie dobrze może zrobić szybkie i brudne, jak mówią.
Po prostu wyrzucić go ze sobą.
Jest to kod, który zawstydza ty, że jest tak źle,
ale dostaje zadanie poprawnie, chociaż to nie jest wydajne.
Z drugiej strony, można poświęcić więcej czasu na coś, dostać to po prostu prawo.
A następnie amortyzowane w czasie, że z góry koszt czasu
to chyba warto, jeśli trzymać optymalizacja dla wspólnej sprawy.
>> I rzeczywiście, to jest tematem programowanie, informatyka lub więcej
Generalnie staramy się optymalizować nie dla niezwykłej przypadku
ale wspólne case-- jakie operacja wydarzy się znowu i znowu?
Jeśli masz zamiar mieć miliardy użytkowników szukają na swojej stronie internetowej,
powinieneś wydać dodatkowe tydzień up przodu pisanie lepszego oprogramowania,
tak aby wszyscy użytkownicy korzystają.
Teraz spróbujmy uchwycić to na trochę obrazowo, ale nie tak dużo
liczebnie.
>> Więc tutaj jest po prostu stary schemat szkoły.
I pozwól mi powiedzieć, że to jest czas.
I nie ma znaczenia, what-- faktycznie, nie, nie czas.
Postawmy że na drugiej osi.
Powiedzmy, że jest to czas, a jest to rozmiar problemu.
>> I informatykiem Może ogólnie nazwać
to po prostu brak. n jest jak nasz iść do zmiennej, gdzie
n jest liczbą, n liczba, i jest to liczba dowolnych wejść masz.
Tak więc w tym przypadku, n jest liczba stron.
Więc może to być w 1000 sprawa po prostu powiedział.
>> Więc czas może być dowolna jednostka miary.
Być może, że to drugie.
Być może, to jest dzień.
Być może, jak to jest stronie zakrętów.
Nie ma znaczenia.
Cokolwiek chcesz liczyć się, że będzie kosztować czas lub równoważnie.
>> Więc z tym pierwszym Algorytm, jeśli ja, na przykład,
miał 1000-stronicową książkę telefoniczną, Zamierzam wyciągnąć tam kropkę,
bo jeśli to 1000 stron, zajęło z grubsza 1000 strona okazuje, lub dać.
I wtedy, gdy miałem 2000-stronicowa książka telefoniczna,
i mam zamiar narysować sekundę dot tutaj, bo na 2000 stron,
jak to jest 2.000 sekund lub strona włącza lub cokolwiek.
A więc kiedy powiedziałem wcześniej, jest to rodzaj relacji liniowej,
to było celowe, ponieważ chciałem później on-- tuż now-- narysować linię.
To niby prosty relacja online.
Nachylenie wynosi 1/1, jeśli będzie.
>> W tym samym czasie, drugi algorytm Powiedział, że jeśli masz 1000 stron
a ty, korzystając z drugiego algorytmu, gdzie liczy się od 2'S, zamieniając
dwie strony na raz, mam narysować kropka poniżej lub powyżej mojego pierwotnego kropki?
>> PUBLICZNOŚCI: poniżej.
>> DAVID MALAN: Poniżej, ponieważ jak widzieliśmy, zajmuje mniej czasu, pół tyle czasu.
Więc kropka powinna być o połowę tak wysokie, jak innych.
A sama umowa tutaj ta kropka prawdopodobnie powinien być mniej więcej tam.
I tak mój drugi algorytm, podobnie, ma zależność liniową w czasie.
I możemy wyciągnąć go jako takiego.
>> Więc teraz, trzeci i ostatni Algorytm jest trochę trudniej wyciągnąć.
Ale intuicyjnie, jeśli mam 1000 Strony z moim trzecim algorytmu,
Należy tylko wziąć mnie jak 10 stopni.
A jeśli mam 2000 stron z moim trzecim algorytmu,
powinno zająć mi nie 10 kroki, ale 11, tylko jeden.
Więc my ledwo zamiar zobaczyć.
>> I okazuje się, jeśli Powiększać się na tym, że jestem
będziemy przesadzać do skutku, Kształt tej linii, a ostatecznie
Nie jest to proste line-- ponieważ w rzeczywistości, jeśli byli
to będzie wyglądać bardziej jak wiele innych, to faktycznie zakrzywiona linia
że jeśli powiększyć, będzie wyglądać bardziej jak ten.
It-- dobrze, OK, zignoruj ​​tę część.
To był mój długopis dzieje kąta.
To jest zakrzywiona linia, która jest zawsze wzrasta, zawsze, zawsze, zawsze
wzrasta, ale tylko ledwo.
>> I tak z biegiem czasu, masz związek, który jest bardziej jak ten.
To wygląda prawie prosto.
Ale to zawsze tak powoli rośnie.
Ale dla prawie wszystkich punktach Twój oś X, oś pozioma,
jest niższa niż tych innych liniach.
>> Więc może to być relacja n, przy czym jeśli n stron
przejście n sekund.
Może to być związek n / 2.
Masz stron n, to trwa Ci n / 2 sekundy, w połowie tak wiele.
I jest logarytmiczna związek, który
Jeśli pamiętacie, logarytm przy podstawie 2 z n zrzuty Ten rodzaj wzrostu, że tak powiem.
Jest to więc rodzaj święta Graalem wśród trzech z nich
tutaj, bo to jest po prostu tak dużo więcej skuteczny, ale prawdopodobnie bardziej złożona
do wykonania.
Jakieś pytania?
>> Więc pozwól mi to zrobić, niech mi otworzyć okno tekstowe
tak więc możemy spróbować sformalizować coś tutaj.
Więc pozwól mi iść do przodu i teraz realizacji tego algorytmu
za znalezienie Mike Smith w kodzie, jeśli chcesz, kod pseudokod.
Nie będę używać Java lub C ++.
Ja tylko zamiar użyć sortowania Angielsko-jak składnia, którą
będzie na ogół wywoływać kod pseudokod.
Tutaj mam puste okno.
A ja mówię, krok 1 z bardzo Pierwszy algorytm jest odebrać książkę telefoniczną.
Krok 2 jest otwarta książka pierwszej stronie.
Krok 3 będzie patrzeć Strona Mike Smith.
Jeśli na stronie, zadzwoń Mike.
else stronę zakrętu i przejdź do kroku 3.
Gotowe, powiedzmy.
>> A więc nie dość doskonałe, które zobaczymy za chwilę.
Ale rozważmy, co Koncepcje mam tu wprowadzić.
Więc kroki 1 i 2 oraz 3 są bardzo czasowniki.
Są wypowiedzi, dziaĹ,aĹ to zrobić.
I tak w programowaniu języka, my by ogół
zadzwoń do nich oświadczeń lub funkcje lub procedury,
Nazywamy je dowolną ilość rzeczy.
Ale oni tylko dziaĹ,aĹ to zrobić.
>> Krok 4 różni się zasadniczo, bo to rodzaj zadając pytanie.
To mówiąc, jesteśmy rodzajem co w rozwidleniu dróg.
Jeśli Mike znajduje się na stronie, zadzwoń go, więc w lewo, jeśli będzie.
A jeśli nie, wróć do niektórych Inny page-- albo raczej, przepraszam,
wróć do innego kroku, który wywołuje jakieś zapętlenie konstruktu.
I robimy to znowu i znowu i znowu.
>> I rzeczywiście, wiesz co?
Tak.
else if na koniec przystanku książki.
Więc musimy rodzaj trzeci Warunek, bo
Nie można przechowywać obracając reklamę strony nauseum, bo w końcu będę
hit koniec książki.
A to błąd w programie może być Nie przewidując taki scenariusz.
I wtedy zdałem sobie sprawę, oh, czekaj Chwileczkę, muszę trzeci scenariusz.
Jeśli jestem na stronach, ja Należy naprawdę tylko zatrzymać.
Inaczej, jest niezdefiniowane.
Co się wydarzy, jeśli trzymam mówiąc obrócić stronę i wróć,
To jest, gdy komputery zamrożenia lub awarii, po trafieniu
niektóre nieprzewidzianych sytuacji tak.
>> Teraz, co Mike Smitha trzecia algorithm--
odebrać książkę telefoniczną, otwarta książka first-- się
Nie, nie tym razem pierwsza strona, do middle-- oh, dobrze, że dalszy
jako drugi algorytm.
Niech po prostu przejść do trzeciego.
>> PUBLICZNOŚCI: Oh, przepraszam.
>> DAVID MALAN: To dobrze.
Niech po prostu przejść do third-- otwartym na środku, a teraz szukają Mike Smith.
jeśli na stronie, zadzwoń Mike.
A potem, co chcemy tu powiedzieć?
indziej, co?
Możemy to wyrazić na wiele sposobów.
Nie ma dobrej odpowiedzi.
OK, jeśli nie ponownie, ale musimy być: OK, chcemy podzielić na dwie części,
ale chcemy, aby przejść w lewo lub w prawo?
W jaki sposób możemy wyrazić to pojęcie?
Cóż, w przypadku Mike'a, tak, to jest sprawiedliwe.
Ale OK, więc to rzeczywiście dobry punkt.
W porządku.
Będziemy iść dalej z tym logiki.
Więc--
>> PUBLICZNOŚCI: Mniej niż połowa.
DAVID MALAN: Tak.
Więc indziej jeśli strona jest, powiemy, mniej od Smith, na lewo od Smith
then-- zobaczmy, jest to będzie komplikować?
else if strona jest przed Smith, łzą w połowie, wyrzucić czego połowa?
>> PUBLICZNOŚCI: Myślałem to było [INAUDIBLE].
>> DAVID MALAN: Słyszę obie odpowiedzi.
>> PUBLICZNOŚCI: z lewej.
DAVID MALAN: OK, rzucać Odległość lewej połowie, a Lakisa
powiedziałem wcześniej, w lewo pół, potem rodzaj
chce po prostu pójść to-- pójdę w prawo.
Lub równoważnie, i zrobiłem trochę trochę bałaganu rozpoczęcia tutaj
I skutecznie chcą przejdź do kroku 2 ponownie
gdzie otwarte na middle-- lub open-- Tak, powiedzmy, na środku strony.
I to rozwiązuje go.
To nie jest książka.
To tylko pół książki, więc otwieranie stron w środku.
>> else-- były prawie na miejscu.
Krok 6, else if Strona przychodzi po Smitha rozerwać na pół, wyrzucić prawą połowę,
następnie przejdź do kroku 2.
jeszcze rzucić, jeśli czwarty scenariusz mamy żadnych stron w lewo, aby włączyć.
Więc możemy to posprzątać.
I trzeba to posprzątać.
Jest to kod bardzo pseudokod, jeśli ciebie woli, opis bardzo wysoki poziom.
Ale to ma zazwyczaj uchwycić ideę.
>> I znowu, w tym scenariuszu mają pojęcie warunku,
oddział, widelec w drodze, dzięki czemu decision-- jeśli to, idź tą drogą,
else if przejść tę drogę, else if przejść tamtędy.
I to jest bardzo częste techniki programowania
zdecydować, w jakim kierunku iść, że tak powiem.
I mamy też jakieś z pętli strukturę, w której
robimy coś znowu i znowu.
>> Teraz, jak się okazuje, o wiele jak w tym przykładzie,
jest bardzo precyzyjna jest ważne.
Ale widziałem też coś że wzywasz abstrakcję.
Co to znaczy odebrać książkę telefoniczną?
Jesteśmy po prostu rodzaj biorąc za pewnik w tym pokoju
że ma pewne znaczenie semantyczne.
Każdy z nas po prostu rodzaj wiem, oh, dobrze, odebrać książkę telefoniczną.
Co to tak naprawdę oznacza?
Dobrze, że naprawdę oznacza przedłużenie Ręka, pochylić się nad przedłużyć palce,
pinch książkę między palcami, wstać, wyciągnąć rękę do siebie.
I możemy być naprawdę pedantyczny o tym,
Naprawdę jest bardzo precyzyjna co do tego, co robię.
Ale wszystkie te etapy są zbiorczo co to znaczy odebrać książkę telefoniczną.
>> I tak wcześniej, kiedy powiedziałem, każdy z tych dwóch pierwszych sprawozdań
można traktować jako kontynuować lub funkcją,
tak naprawdę to oznacza to, co wzywasz abstrakcję.
To tak wysokim poziomie koncepcyjnym Opis problemu, który
rzeczywiście wiąże się sporo kroki.
A więc to też jest powtarzających temat programowania,
przy czym mógłbym napisać program przy użyciu składni jak this--
pick_up_phone_book ().
A potem składniowo, jestem zamiar okraść
z większości języków programowania.
>> Teraz krok 1 wygląda jeszcze raczej funkcję,
jako programista byłoby to nazwać.
Wygląda na to, że ktoś kod dał nazwę i biorąc pod uwagę
mi używać somehow-- w innych Słowa, co linia mam podświetlone
oznacza funkcję, która może I nawet nie realizować siebie.
Ktoś starszy, mądrzejszy niż ja już zorientowali się,
jak określenie pojęcia zabierania książkę telefoniczną.
A jak to jest z pięciu krokach po prostu wyrecytował, przy mojej głowie.
>> Ale on już wdrożone Ten dał te kilka kroków
nazwę, pick_up_phone_book.
A nawiasach tylko to, co większość programistów
zrobić na końcu wypowiedzi jak ta.
Teraz może stanąć na jego lub jej ramiona i już nigdy,
myśleć o tym, co to znaczy odebrać książkę telefoniczną.
Mogę tylko powiedzieć, podnieś książkę telefoniczną.
I to właśnie wszyscy z nas ludzie nie tutaj.
>> Kiedy byliśmy prawdopodobnie 1 roku życia, 2 lat,
ktoś musiał nas nauczyć, co to Oznaczało odebrać książkę telefoniczną.
I od tamtej pory, mamy wydobywane z dala
od tych bardzo nieciekawe Kroki mechaniczne.
A my po prostu mieć intuicyjne rozumienie
co to znaczy odebrać książkę telefoniczną.
>> I teraz można ekstrapolować bardziej skomplikowany things--
wybudowanie budynku.
Jak, dla niektórych osób, że rzeczywiście ma sens.
Aby wykonawców, architektów, że ma pewne znaczenie.
A oni wiedzą, co robić, jeśli Powiedziałem, idź skonstruować budynek.
>> Jednak większość z nas w pokoju nie mógł radzić sobie z tym poziomie abstrakcji.
Musisz powiedzieć nam jak go dostać łopata i przejdź się beton
i paznokci kawałki drewna razem i co tam jeszcze
jest zaangażowany w budowę budynku.
A to dlatego, że nie mamy jeszcze zaprogramowane, aby zrozumieć
co to znaczy budować budynek.
Nie mamy tę abstrakcję.
Nie mamy tę funkcjonalność.
>> A więc to, co zobaczysz w językami programowania, na ogół
zwłaszcza bardziej nowoczesne języki, jak Java, PHP, Ruby i Python,
Są one znacznie bardziej dojrzały niż starsze językach
jak C i C ++, a jednak inne.
I tak się z więcej funkcjonalność wbudowany.
Więcej kod został napisany przez ludzi w przeszłości
że możemy zadzwonić lub wezwania lub użyć, jak jestem sugerując
co z tym podkreślono linię tutaj.
A więc nawet jeśli nie mówimy o językach programowania per se,
Kod prostu pseudokod, wszystkie z idee są nadal w tej dyskusji.
I okazuje się, precyzja jest bardzo ważne, ponieważ jest abstrakcją.
I spróbujmy komunikowania się, że w następujący sposób.
>> Przypadkowo mogło zepsute to poprzez miganie slajd na ekranie
przedwcześnie.
Ale pozwól mi zapytać o dzielnego ochotnika jeśli nie przeszkadza wymyślanie.
Byłbyś w przedniej części aparat fotograficzny, jeśli jesteś OK z tym.
Czy ktoś chciałby przyjść i dać Instrukcje tu swoimi kolegami?
Wystarczy przyjść tu i stanąć tutaj i powiedzieć kilka słów.
>> Victoria uśmiecha się najbardziej i unikanie oczy najbardziej.
Czy byłbyś skłonny przyjechać na górę?
OK.
A jeśli wszyscy na swoje miejsca może wykupić kawałek makulatury,
Jeśli będziesz.
Podszyciem papieru jest w porządku.
Przychodzić w ten sposób.
A niektóre z papieru Ci mieli wczoraj
byle pusty arkusz z papieru, jeśli można.
A jeśli nie masz w ogóle, po prostu zwrócić się do sąsiada, jeśli można.
>> Tak więc do chwili obecnej, na W tym przykładzie, Victoria
będzie odgrywać rolę programista, inżynier, który
potrzebuje program, który wszystko, co komputery, coś zrobić.
I zobaczymy co założeń Ci podjąć decyzję.
Zobaczymy jak precyzyjne ona zdecyduje się być.
A jeśli idzie demonstracja pedagogicznie dobrze, wiele błędów
będzie, że będziemy następnie użyj że jako okazję do dyskusji.
Ale wyzwaniem dla zalecana być, aby uniknąć tych błędów,
być dobrym programistą.
I tak oto wyzwanie na strony, jeśli którą lubił chodzić tutaj,
jest przed Victoria na ekranie here-- i miejmy nadzieję, że żaden z was
o tym pamiętać, kiedy powleczone na ekranie.
I nie zawrócić w ogóle, ponieważ W tym pokoju znajduje się kolejny ekran
że mogę wyłączyć.
Więc nie zawrócić.
>> W przedniej części Wiktorii jest to, że ten sam krzyk.
Jej zadaniem jest teraz powiedzieć wam wszystkim na kartce papieru, co rysować.
I widzimy, w oparciu o werbalne instrukcje sam,
kod komputerowy, jeśli chcesz, jak dokładne rysunki
are-- implementacje są twoje.
Ma sens?
>> PUBLICZNOŚCI: Tak.
DAVID MALAN: OK, wykonać.
>> PUBLICZNOŚCI: Narysuj kwadrat.
>> [ŚMIECH]
>> DAVID MALAN: I nie Pytania mogą być zadawane.
Może robić tylko to, co ci każą.
Aha, i jeśli masz dzisiejsze slajdy otworzy się w karcie, nie patrzeć na karcie.
OK?
>> PUBLICZNOŚCI: OK, narysować okrąg.
Slope-- mogę powiedzieć stoku?
DAVID MALAN: do ciebie.
PUBLICZNOŚCI: zboczu.
A trójkąt.
>> DAVID MALAN: W porządku.
I tu na chwilę.
I zamierzam przyjść wokół za chwilę.
I nie ma potrzeby, aby umieścić swoje nazwiska na niej.
Pozwól mi przyjść dookoła i zebrać swoje rysunki,
jeśli nie przeszkadza rozrywając je.
>> Oto co wróciliśmy.
Będę jej projekcji na ekranie.
Widzę, kwadrat, koło, stok i trójkąt.
Więc to była jedna odpowiedź istnieje.
I let's-- okrzyki.
Dziękuję Ci.
Oto kolejny asortyment, i jeden za nim.
>> Więc wszystkie one wydają się uchwycić ducha.
Dziękuję Ci.
Jest jeszcze jeden, a tu jeszcze jeden.
Interpretacja nachylenie jest trochę inaczej, trochę krzywego.
A najbliżej, albo ze względu na cudowne specyfiki z którymi masz
opisane, czy może rodzaj widziałem to wcześniej, to rzeczywiście
Co Victoria faktycznie opisywania.
>> Ale teraz, ci z was, którzy nie mieli go dość dobrze,
niech oferują pewne obiekcje tutaj.
Więc Victoria Pierwszy powiedział narysować kwadrat.
A teraz, możemy założyć, ze względu na obecnie
że każdy wie jak narysować kwadrat.
Ale to nie jest całkowicie jasne, prawda?
Jak inaczej można mieć rysowane kwadrat, lub gdy
może być kilka niejasności tu na komputerze?
PUBLICZNOŚCI: Lokalizacja i wielkość.
DAVID MALAN: Lokalizacja, prawda?
Wszyscy z was miał papier jakiegoś kształtu, ogólnie prostokąty, ale nieznacznie
różne rozmiary.
Ale na pewno mogło być sporządzone, jeśli chcesz, ogromny plac, może
mały kwadrat.
Może ono obracać.
Nie sądzę, że widzieliśmy.
Ale może to być bardziej diament jak, ale nadal, mimo wszystko,
Matematycznie kwadrat.
Więc to było zapewne niejednoznaczne.
>> Potem powiedziała, narysować okrąg.
Niektórzy z was nie wyciągnąć go obok to, co nie jest nierozsądne,
ponieważ ludzie mają tendencję do myślenia lub przeczytać od prawej do lewej w większości języków, więc nie
zły przypuszczenie.
Ale to może mieć koło było wewnątrz kwadratu,
można było wokół kwadratowe, mógłby być w innym miejscu
w arkuszu tak prawdopodobnie niejednoznaczne.
>> Nachylenie mogło być może biorąc najwięcej swobody werbalnie
z tego, co to znaczy.
A niektórzy z was interpretować że jako falowane linii
lub prostą lub podobne.
A potem trójkąt, też może mieć zorientowano na wiele sposobów.
Tak w skrócie, nawet z czymś, Ci spojrzenie i jesteś jak, wow, tak
proste, dziecko może wyciągnąć to nie dobrze
Naprawdę, chyba, że ​​jesteś super, super przekonujące
i powiedzieć komputerowi dokładnie, co ma robić.
Więc jeśli można, jeśli masz kolejny arkusz papieru, niech
spróbować jeszcze raz.
A ja zamierzam dać jeden Victoria Innym przykładem na ekranie tutaj.
I znowu, nie zawrócić i nie patrzeć na slajdach.
I dam po chwili zastanowić się, jak to opisać.
Nie pozwól im zobaczyć strach w twoich oczach.
>> [ŚMIECH]
>> I znowu, tym razem dźwigni niektóre z tych bram
i postarać się niemal wszyscy przynajmniej prawidłowa odpowiedź.
>> PUBLICZNOŚCI: OK, weź kawałek papieru, spójrz
W środku tego kawałka papieru.
W środku tego kawałka z papieru, narysować sześcian.
>> [ŚMIECH]
DAVID MALAN: Czego się nauczyliśmy?
Byliśmy tak blisko.
OK, jeśli można powtórzyć dla każdego.
>> PUBLICZNOŚCI: W środku malowniczego kawałek papieru, narysuj obiekt,
który wygląda jak kostka.
>> DAVID MALAN: OK, to wszystko można dostać się do pracy.
Pozwól mi być analityczna i nie tyle krytyczne
ale aby roszczenia że Victoria na pewno
Wydaje się, że myślenie w bardzo abstrakcje wysokim poziomie, co
nie jest nieuzasadnione.
Bo inaczej, to wszyscy być dość dysfunkcyjnych,
gdybyśmy mieli się kiedykolwiek tak precyzyjne ze wszystkim, co robimy w świecie.
>> Ale mówiąc przejść do middle-- I Myśleliśmy, że na takiej dobrej drodze
tam, jak jechać do samego środku strony, a następnie narysować sześcian.
Więc ona myślenia w abstrakcji, bo wciąż oglądania
co jest na ekranie, podobnie zresztą jak sześcian.
Ale jest tak wiele możliwości interpretacji tam.
I rzeczywiście, nie ma tak wielu innych sposobów można wyrazić
To, co ja proponuję w jednej chwili.
Więc tutaj mamy jedną inkarnację z picture-- whoops-- jednego
wcielenie obrazu, a więc Trochę trójwymiarowość do niego,
co jest miłe.
>> Oto jeszcze jeden, w którym masz sam, choć jest to rodzaj otwartej sześcianu.
Niektórzy ludzie trwało to trochę bardziej płaska, dwuwymiarowa.
I to jest w porządku.
Tak więc, w rzeczywistości Środek papieru.
To jeden myślę będziesz jak, bo jeśli mamy iść tutaj,
to jest to, co opisywał.
Więc teraz, pozwól mi zaproponować jak inaczej możemy opisać tę sytuację.
>> Powrót w dzień, jeden z najbardziej bardziej powszechne sposoby nauki programowania
było napisanie kodu, pisze linie instrukcji,
że kontrolowane trochę Żółw na ekranie.
Logo i inne warianty tego była nazwa języka.
A żółw żył w świecie.
>> Więc załóżmy tej prostokątnej Przestrzeń jest jego świat.
I byłoby zacząć od assuming-- I tak naprawdę nie wiem jak narysować żółwia,
więc zróbmy to w ten sposób.
I wtedy on ma powłokę a następnie być może niektóre stopy.
Więc może masz ten mały znaków na ekranie.
>> A celem tego język programowania
było zmusić żółwia iść w górę, w dół, w lewo, w prawo
i przyłożył pióro lub podnieść jego pióra w górę,
aby mógł właściwie narysować na ekranie w tym bardzo płaską prostokątną świecie.
Więc gdzie Myślałem, że może jechać, i gdzie należy rozważyć nurkowanie
w dół, aby psychicznie przy opisywaniu Instrukcje bardziej ogólnie,
Chciałbym twierdzą, jest umieszczania Pióro dół w middle--
a my się pozbyć żółwia, bo naprawdę nie mogę
zachować rysunek go bardzo dobrze.
>> A teraz, jak inaczej mógłby Mówię narysować sześcian?
Cóż, można powiedzieć coś takiego losowania Linia ukośna na północny wschód, na przykład,
lub pod kątem 45 ° do góry.
I że może zdobyć mnie tutaj.
I jestem dość daleko od sześcianu.
Ale teraz, mogę coś powiedzieć jak obrócić o 90 stopni w lewo
i narysować linię równej długości zachód.
I mogłem kontynuować w podobnych kierunkach.
I to nie będzie łatwe.
I szczerze mówiąc, prawdopodobnie byśmy zostały tu przez pięć minut.
Ale może byłoby nam się zdobyć coś, że na koniec dnia
kończy się kostka, ale zanurkował wewnątrz tej abstrakcji
to zrobić na tak niskim poziom, który tak naprawdę nie można
zobaczyć, co robisz, aż cała Chodzi o to faktycznie istnieje na stronie.
A więc jest to ogólna zasada, znowu z programming-- tego pomysłu
abstrakcji.
Jest tak cudownie potężne, bo znowu,
Powiedziała tylko, narysować sześcian, którego wszystkie nam dość dużo by grok bardzo szybko.
Chcemy po prostu zrozumieć, OK, narysować sześcian.
Możemy nie wiedzieć, orientację, więc możemy być trochę bardziej precyzyjny,
ale możemy generalnie obraz czy wiesz co to jest kostka.
I to jest przydatne, bo jeśli za każdym razem
usiadł jako programista w klawiatura do pisania kodu,
jeśli trzeba było myśleć w takich niski poziom, żaden z nas
nigdy się nic zrobić.
I z pewnością nikt z nas nie cieszyć się proces pisania kodu.
To byłoby jak pisanie w 0 i 1 roku, którego szczerze nie było tak dawno temu
ludzie pisali kod w 0 i 1 roku.
A my bardzo szybko wpadł Te wyższe languages-- poziom
C ++ i Java i inne.
>> Więc spróbujmy jeszcze raz po prostu odwróć tabele, tak że każdy z nas
mają szansę na przemyślenie raczej w ten sam sposób.
Czy możemy dostać jeszcze jeden wolontariusz to Czas do wystąpienia do zarządu i rysować,
Nie odmawiać?
Dobra.
Ben, chodź na górę.
I, Ben, w tym przypadku, po twarz planszę, nie patrzeć w lewo,
nie wyglądają dobrze.
Tylko rób, co się koledzy tutaj powiedzieć.
I dla wszystkich innych w Pokój, teraz są programista.
On jest komputer.
A obraz wybrałem tutaj z góry to jest jeden tutaj.
Oni just-- Myślą zabawny żart wszystko.
>> Więc ma ktoś chciał ochotnika pierwszej instrukcji
lub oświadczenie, że powinno Pióro dowodzenia Bena?
I zrobimy to wspólnie, może jedna instrukcja od każdej osoby.
Przepraszam?
>> PUBLICZNOŚCI: narysować okrąg.
DAVID MALAN: narysować okrąg Jest to pierwsza rzecz, jaką słyszałem.
>> PUBLICZNOŚCI: do góry.
>> DAVID MALAN: do góry.
OK, możemy pozwolić usunąć, cofnąć.
A teraz ktoś inny.
Dan, można byłoby wygodne oferuje następny rozkaz?
>> PUBLICZNOŚCI: Jasne, rysować centrum dna okręgu
z small-- trochę mała przestrzeń tym,
narysować linię prostą aż do trzech czwarte drogi na dół planszy
niewielki kąt w lewo.
>> DAVID MALAN: Dobrze.
>> PUBLICZNOŚCI: lekkim kątem.
>> DAVID MALAN: Cofnij, Control-Z. OK.
Andrew, chcesz zaoferować do następnej instrukcji?
>> PUBLICZNOŚCI: Jasne.
Z dołu tej linii dalsze niewielkie angle--
whoops-- może o jedną trzecią długości [INAUDIBLE]
niewielki kąt w dół i jak trzecia długości [INAUDIBLE].
Więc tak, od tego momentu, narysować linię trzeci
długości poprzedniego Linia bardziej na lewo.
>> DAVID MALAN: To OK?
Prosta, to jest OK?
OK, Olivier, chcesz oferuje się następnego?
>> PUBLICZNOŚCI: [INAUDIBLE] z Dno kręgu [INAUDIBLE].
Zwrócić na prawej z [INAUDIBLE] centymetrów.
>> [ŚMIECH]
>> DAVID MALAN: Myślę, że masz zamiar trzeba przekonwertować to cale tutaj.
>> PUBLICZNOŚCI: Stop.
>> [ŚMIECH]
>> DAVID MALAN: OK.
[? Ara,?] Chcesz oferuje się następnego?
>> PUBLICZNOŚCI: Narysuj [INAUDIBLE] górny [INAUDIBLE] samo.
[INAUDIBLE] koło, zwrócić się do [INAUDIBLE] i wyciągnąć [INAUDIBLE].
>> DAVID MALAN: OK, nie więcej cofnąć.
Zróbmy jedną lub dwie kolejne instrukcje.
Chris, chcesz zaoferować jeden?
>> PUBLICZNOŚCI: Na dole okręgu [INAUDIBLE]
narysować równej linii slopping w dół, w lewo [INAUDIBLE].
>> DAVID MALAN: OK.
Andrzej?
Mamy did-- Karim?
>> PUBLICZNOŚCI: Zaczynając od prawej linii, Koniec lewej linii, na dole,
masz zamiar iść rację tę samą długość, że linia
jesteś na, rysunek do prawo [INAUDIBLE].
[INAUDIBLE] stopni, więc [INAUDIBLE] stopni na prawo.
>> DAVID MALAN: W porządku.
Zatrzymajmy.
Nie odwracaj się jeszcze.
Zatrzymajmy i niech spróbuj jeszcze jedną próbę
zanim objawi Ben co on rysuje.
Można przetasować Bena prawy-- a właściwie,
No, po prostu dać kolejna płyta, nawet lepiej.
Więc jak ktoś miałby teraz do podjęcia bardziej podejścia
że Victoria wzięła wcześniej, gdzie mówimy w wyższym poziomie abstrakcji
i tylko w zdaniu lub dwa opisać Ben
co zwrócić bez dostania się chwastów,
by tak rzec, w tym niższy poziom?
Wiktoria.
[ŚMIECH]
PUBLICZNOŚCI: Narysuj figurę człowieka spaceru.
A jego ręce i nogi musi być po prawej stronie.
>> DAVID MALAN: OK, to wszystko można dostać.
W porządku.
Dlaczego nie możemy ujawnić Ben, co zrobił.
Więc brawa.
To była najtrudniejsza chyba.
>> Więc nawet jeśli mówimy w kategoriach dość głupie
o tym, rysunek zdjęcia, mam nadzieję,
można naprawdę docenić stopień ekspresja, które mogą być konieczne
aby powiedzieć komputer, co robić.
I w istocie fakt, że Ben był w stanie wyciągnąć to tak szybko
jest swego rodzaju testament, aby za pomocą język, może wyższy poziom
Wersja języka angielskiego, który pozwala mu po prostu używać słów, ani słyszeć słowa
od Wiktorii, które pozwalają mu te abstractions-- prostu wyciągnąć
figura chodzenie do prawy-- tego rodzaju ma
pewne znaczenie semantyczne do niego, który nie jest prawie tak oczywiste, gdy jesteś po prostu
mówiąc, połóż pióro, rysować do prawej, sporządza się w lewo.
>> A więc to też jest bardzo powszechne w programowaniu.
Byłoby to mówi się, że jak język bardzo niski poziom, programowanie
w 0 i 1, jeśli chcesz.
I to byłoby na wyższym poziomie język programowania w języku Java,
czy coś takiego.
Kawałkiem uproszczeniem, ale to
rodzaj jakby emocjonalne czując, że czujesz, gdy
zastosuje się jeden rodzaj rzeczy lub innego.
Trochę frustracji tutaj koniecznością za taką precyzją, ale szans
być trochę luźniejsze z interpretacja tutaj.
Ale oczywiście, błędy mogą powstać w wyniku.
>> Jeśli chcesz się home-- mamy Nie zrobi tego jeden w class--
ale jeśli chcesz wprowadzają na zdobycie gola,
Myślałem, że będziemy nurkować do tego.
Więc jeśli chcesz grać w tę gra z drugą połówką
lub dzieci lub tym podobne, to może cieszyć, że dobrze.
>> Więc chodźmy do przodu i spojrzeć na jeden ostatni rzeczą tutaj obliczeniowej myślenia.
A to prowadzi nas do Jana Oliver, a nie do zacisku
Może widzieliście ostatniej nocy, ale nieco ostatnim numerze.
Kilka miesięcy temu, Volkswagen zajęło sporo kuloodpornych
z jakiego powodu, jeśli wiesz?
Co oni mieć kłopoty za?
>> Tak, więc oni emissions-- starali się pokonać emisji
Testy zasadniczo mające swoją samochody zanieczyszczają środowisko mniej
kiedy ich samochody były testowane oraz zanieczyszczają środowisko bardziej
kiedy samochody nie były testowane.
I co jest coraz bardziej interesująca w świecie, a może masz implikowana
od dyskusji na temat tego, co jest like-- it-- CarPlay, oprogramowanie Apple dla samochodów
oraz fakt, że wiele z nas coraz częściej
mają ekrany dotykowe w naszych samochodach jest przerażająca kwota
oprogramowania u osób tych samochody dzisiaj, które
szczerze otwiera całą puszkę Pandory, gdy chodzi o bezpieczeństwo i ryzyko fizycznego.
Ale dzisiaj, niech skupić się na tylko to, co jest
zaangażowany w pisanie oprogramowania które mogłyby gamed systemu.
>> Dla definicji związku Problemem dla tych nieznanych,
rzućmy okiem na John Oliver.
A dla tych, którzy znają problem, spójrzmy na to
w soczewce zabawy poprzez John Oliver, jak również.
Więc pozwól mi hit grę na tym, że myślę, wprowadzenie trzech minut.
Cholera.
[ODTWARZANIE]
-Samochody--
DAVID MALAN: Oczywiście, YouTube, it's--
- --The najmądrzejszy znaków The Fast and Furious filmy.
W tym tygodniu, niemiecki producent samochodów Volkswagen znalazła się
w środku skandalu Proporcje potencjalnie przestępcze.
>> -Volkswagen Jest usztywnienie miliardy grzywny, ewentualne oskarżenia
dla swoich menedżerów, jak Firma przeprasza
dla olinowania 11 milionów samochodów do pomóc mu pokonać testy emisji.
>> -Certain Diesel wzory zostały zaprojektowane z wyrafinowanym oprogramowaniem
Używane informacje, w tym położeniu kierownicy i pojazdem
prędkość, aby określić samochód był w trakcie badania emisji.
Zgodnie z tym okoliczność, silnik zmniejszyłoby emisję toksycznych.
Ale samochód był uzbrojone obwodnicy że gdy był napędzany.
Emisje wzrosła od 10 do 40 Czasy powyżej dopuszczalnych poziomów EPA.
>> -Wow, 10 do 40 razy większa niż EPA pozwala.
To jest najgorsza rzecz Volkswagen nigdy nie robił,
Jest coś można powiedzieć, czy że nigdy nie słyszał o II wojnie światowej.
Ale może to najpewniejsza oznaka, jak Volkswagen wielkim problemem jest,
jest to, że ludzie w bardzo top nie ustąpił.
Prezes zrezygnował w środę po starają się zrobić damage control,
mówiąc był nieskończenie przykro, które brzmiało wspaniale, dopóki nie okazało się,
miał tylko 10% przykro ale miał sfałszowane usta
sztucznie zawyżać jego sorriness.
A tymczasem Volkswagen USA Szef miał przeprosiny z jego własnej.
>> -Niech Sprawę jasno na ten temat, nasza firma była nieuczciwa.
I w moich niemieckich słowy, zostały całkowicie spieprzył.
>> -Tak, Ale całkowicie wkręcony up nie są dzieła niemieckich.
A język niemiecki ma wiele pięknych fraz
opisać sytuacje jak ta, takie jak [niem], co oznacza, że ​​z grubsza
smutek, który przychodzi od kłamstw związanych z biznesem,
lub [GERMAN], co przekłada jak zawstydzanie jedynek ojca udziałem
chmury benzyny.
Jest to piękny język.
To po prostu pływa poza językiem.
A tak przy okazji, podczas gdy człowieka Przeprosiny może brzmieć szczerze,
warto zauważyć, że mówi się oficjalna strona Wprowadzenie do 2016 roku
Volkswagen Passat, co oznacza, że ​​na krótko Po mówiąc przykro, to powiedział.
>> Dziękuję bardzo za przybycie.
Ciesz się wieczorem.
W następnej kolejności jest Lenny Kravitz.
>> [MUZYKA]
>> -ok, OK, kończąc swoje Przeprosiny z góry obok
Lenny Kravitz nie scream trzeźwy skruchy.
To krzyczy, poprosiliśmy Bon Jovi, a on nie powiedział.
Marka Volkswagen ma został poważnie uszkodzony.
I szczerze mówiąc, ich nowa reklama Kampania nie jest dokładnie pomaga.
>> - [GERMAN], chcielibyśmy w Volkswagenie podoba przeprosić za oszukują cię
naszych pojazdów.
>> [KONIEC ODTWARZANIA]
DAVID MALAN: Więc to było okrężna droga of-- sorry--
był to okrężna droga wprowadzenie fundamentalnego problemu
w oprogramowaniu, które jest to, że trzeba wykryć pewne warunki.
A więc pytanie pod ręką tutaj to, w jaki sposób samochód potencjalnie
wprowadzone w oprogramowaniu tych programistów,
wykryć, że to faktycznie testowany?
Więc być bardzo jasne, co robią
było w środowiskach, w których programiści zorientowali
samochód był ewidentnie testowane, że w jakiś sposób
samochód emituje mniej zanieczyszczeń, mniej emisji, tak mniej toksyczne opary
i taki.
Ale kiedy jest normalnie jazdy na drodze,
byłoby to po prostu emitują tyle Zanieczyszczenie ponieważ chciała.
>> Więc jak możemy napisać pseudokod dla tego algorytmu?
Jak moglibyśmy napisać Pseudokod dla oprogramowania zainstalowanego w samochodzie?
Chodzi mi o to, w skrócie, sprowadza do czegoś takiego.
w przypadku testowanego emitują mniej.
else emituje więcej.
Ale to trochę zbyt wysoki poziom, prawda?
>> Spróbujmy zanurkować, co to abstrakcja testowanego środka.
Innymi słowy, nawet jeśli nic nie wiem o samochodach, jakiego rodzaju pytania
można zadać w celu określenia, czy jesteś w fazie testów, jeśli masz samochód?
Jakie cechy mogą być przedstawić jeśli samochód jest testowany?
>> PUBLICZNOŚCI: Testowanie sprzętu.
>> DAVID MALAN: Sprzęt badawczy.
Więc jeśli sprzęt kontrolujący w pobliżu, a następnie emitują mniej.
Więc można sobie wyobrazić realizację które z pewnego rodzaju kamery
lub wykrywania, co jest wokół ciebie.
I niech mi zaproponuje, że po prostu czuje się zbyt skomplikowane
faktycznie mają dodatkowe sprzętowe dla tego celu.
>> PUBLICZNOŚCI: Jeśli jesteś w park, jeżeli osłona jest otwarta.
>> DAVID MALAN: W parku lub Okap otwarty, więc to jest dobre.
>> PUBLICZNOŚCI: i prowadzenie samochodu.
>> DAVID MALAN: Więc to trochę więcej concrete-- i prowadzenie samochodu.
Więc byłoby to koniunkcja Kilka różne warunki, jeśli będzie.
Więc jeśli samochód jest w parku, a nawet choć jest to bardzo mechaniczne rzeczą
Zazwyczaj mogłem wyobrazić pisanie oprogramowania,
przede wszystkim dlatego, że nie ma Często światło tam w tych dniach,
Mogę sobie wyobrazić istnienia oprogramowanie, które może zapytać przesuwak
lub co nie, jesteś w parku, są Ty w napędzie, jesteś w odwrotnej kolejności.
I mogę wrócić Odpowiadamy, że jest albo tak
lub nie do tych rodzajów pytań.
>> I tak mógłbym prawdopodobnie również odpowiedzieć takie pytanie, to okap otwarte.
Może istnieje jakiś rodzaj czujnika że albo daje mi 1 lub 0,
prawda czy fałsz, osłona jest otwarta.
A następnie uruchomić samochód, może wykryć że w jakiś sposób za pośrednictwem jakiego mechanizmu?
Podobnie jak samochód jest uruchomiony, I może wykryć, że to on,
Mogę jakoś wykryć że samochód jest w ruchu?
>> WIDOWNI: RPM.
>> DAVID MALAN: Tak, więc nie że zawsze, że igła
informuje, ile obrotów na minute koła występują.
A więc mogłem patrzeć na to.
A jeśli to nie jest 0, chyba że oznacza, że ​​samochód jest w ruchu.
Ale musimy być Trochę tam uważać,
because-- niech uprościć this-- jeśli po prostu powiedział, że jeśli jazdy samochodem,
Nie chcemy, aby po prostu emitują mniej chcemy, jeśli samochód jest uruchomiony
i jest w fazie testów.
>> Tak więc istnieje kilka innych składników, które ludzie
wysunęli hipotezę, oprogramowanie robi, z powodu nieobecności rzeczywistego kodu źródłowego,
można tylko rodzaj wywnioskować z Fizyczne skutki samochodu co do tego, co
Może być dzieje pod spodem kaptur w oprogramowaniu.
Więc jeśli samochód działa i może, powiedzmy, tylne koła nie porusza,
może to być oznaką jakiegoś testu?
Co ja sugerując tutaj?
Tak, być może, to na jednego z tych rzeczy, rolkowych,
gdzie podobne koła obracają z przodu lub z tyłu,
w zależności od tego, czy jest to przednie koło lub napęd na tylne koła, więc połowa kół
są ruchome, ale dwa inne nie, co
Jest to dziwne, sytuacja w świecie rzeczywistym.
Jeśli jedziesz na Droga, która nie powinna się zdarzyć.
Ale jeśli jesteś w magazynie w pewnego rodzaju układ rolek,
które mogą rzeczywiście stało.
>> Myślę, że ludzie zaproponowali również, że może, jeśli samochód jest uruchomiony i układ kierowniczy
koło nie porusza się, że też może być sygnałem,
ponieważ jest to uzasadnione dla jak od razu na drodze.
Ale nawet wtedy, człowiek jest prawdopodobnie przesuwając go trochę czy na pewno
w ciągu kilku sekund.
Albo trakcie minuty, kursy są nie jest
będzie kojarzy się dokładnie takie samo stanowisko.
>> Tak więc, innymi słowy, że może odejmowanie,
jesteś w fazie testów, a rozbić tę funkcjonalność
do tych składowych składników.
I to jest naprawdę to, co Volkswagen inżynierowie jakoś tak.
Pisali oprogramowania świadomie wykryć, czy samochód jest w fazie testów,
Dlatego emitują mniej indziej wydzielać w zwykły sposób.
>> I tu problem, też, jest to, że oprogramowanie nie jest
coś można naprawdę zobaczyć, chyba trzeba tak zwany kod źródłowy.
Nie ma więc dwa różne typy code-- co najmniej dwa różne rodzaje
Kod na świecie.
Jest coś, co nazywa się źródłem Kod, którego nie jest w przeciwieństwie
byliśmy pisanie kodu źródłowego.
>> To jest kod źródłowy napisany w język zwany pseudokod,
który jest po prostu coś angielsko-podobnego.
Nie ma formalnej definicji tego.
Ale C i Java, C ++, te są wszystkie języki formalne, że
gdy piszesz w nich, co masz Jest to plik tekstowy zawierający kod źródłowy.
>> Ale jest też coś świat zwany kod maszynowy.
A kodu maszynowego, niestety, Jest tylko 0 i 1 roku.
Więc co to kod maszynowy Maszyny do zrozumienia, oczywiście.
Kod źródłowy jest to, co ludzie rozumieją.
>> I na ogół, ale nie Zawsze istnieje program
że programista używa tego bierze źródło Kod i zamienia ją w kodzie maszynowym.
I że program jest ogólnie nazywany kompilatorem.
Więc Twój wkład jest kod źródłowy, Twój wynik jest kod maszynowy,
a kompilator jest kawałek oprogramowanie, które robi ten proces.
Więc to naprawdę ładnie odwzorowuje nasze algorytmy, wejścia, wyjścia.
>> Ale to jest bardzo specyficzne wcielenia z tym, co znaczy, że
nawet jeśli jesteś właścicielem jednego z Volkswagen samochody, które jest winny tego,
to nie jest tak, jak można po prostu otworzyć kaptur lub otworzyć instrukcję obsługi lub szukać
w kodzie, ponieważ w momencie osiągnie swój samochód w podjazd,
to już było zamienione na 0 i 1 roku.
I to jest bardzo trudne, wręcz niemożliwe, ale bardzo trudno zebrać dużo niczego
od po prostu patrząc na bazowego 0 i 1-tych.
Więc można zrozumieć to, ostatecznie, jeśli Ci zrozumieć, w jaki sposób urządzenie operates--
Intel inside-- jeśli rozumiesz architektura Intel,
ale jest to bardzo czasochłonne.
I nawet tam, to polubisz nie być w stanie zobaczyć wszystko
że kod może faktycznie zrobić.
>> Wszelkie pytania dotyczące tego czy ta rodzaj procesu bardziej ogólnie?
I rzeczywiście, możemy powiązać tę dyskusję do wczorajszej dyskusji Apple.
To również dlatego, że FBI nie można po prostu iść i patrzeć w telefonie podejrzanego
i znaleźć linii kodu, na instancji, które umożliwiają hasło
lub umożliwiają temu opóźnienie 80 ms.
Ponieważ w chwili jego Facet na iPhone,
to już było zamienione na 0 i 1 roku.
>> Dobrze, zatrzymajmy się tutaj na naszą spojrzeć na obliczeniowej myślenia.
Dlaczego nie zrobić sobie przerwę 15 minut.
A kiedy wrócimy, będziemy przyjrzeć programowania
Sam i rozpocząć mapowanie niektórych tych pojęć wysokiego szczebla
do faktycznego, jeśli figlarny, język programowania.