DAVID Malan: Sveiki sugrįžę, visiems.
Taigi vakar, jums priminti, kad mes sutelktas į šių temų čia.
Taigi mes turėjome keturis bene topics-- privatumas, saugumas ir visuomenė;
interneto technologijų kūrimas; Debesis kompiuterija; ir galiausiai, interneto svetainių kūrimas.
>> Ar kas nors turėti pralaidumo arba laikas
žiūrėti šiek tiek Joną Oliveris praeitą naktį?
Tai tikrai gana juokingas, jei ne šiek tiek bauginantis.
Turite klausimų dėl nieko mes padarėme vakar?
Bet paaiškinimai?
Turite klausimų, kad norite, kad kad mes paliesti šiandien tam tikra forma?
Taigi tabula rasa.
>> Taigi, kas dėl šiandien darbotvarkę?
Taigi, aš maniau, mes norime pradėti šiandien su tuo, kas paprastai atrodo
žinomas kaip skaičiavimo thinking-- ne iš oversimplifying rizika, galvoju
kaip kompiuteris, galbūt galvoju kaip inžinierius,
ir bando pradėti organizuoti savo mintis
ar jums geriau jausmą kas dalyvauja iš tikrųjų verti
kompiuteris kažką daryti būdu programavimą.
Ir mes laikyti jį gana aukšto lygio, gana daug anglų,
bet pabandykite naudoti susipažinę pavyzdžiai formalizuoti kaip
eitum apie sprendžiant problemas.
>> Ir mes grįš šiek tiek CS temos, kaip imti,
kurie atėjo pora kartų vakar
algoritmai, tada atstovavimas.
Ir tai, kai pradėsime šiandien vos akimirką.
Tada mes priimsime programavimo išvaizdą.
Mes priimsime kai išvaizdą pagrindinės konstruktai
su kuriais jums gali būti susipažinę ir gali net rasti gana intuityvus.
>> Mes pažvelgti, iš tiesų, ne Mėginio programavimo
aplinka, kuri labai prieinama, labai žaismingas, ir iš tiesų skirta
12 metų ir daugiau.
Mes praleisti keletą minučių ten ir tada imtis dalykų į žemesnio lygio
ir iš tikrųjų kalbėti apie kai kurių algoritmai ir duomenų struktūros,
taip sakant, kad programuotojai paprastai naudoja
išspręsti kur kas daugiau problemų efektyviau nei jums gali
galės apsieiti be jų apskritai.
Tada po pietų, mes pažvelgti ne technologijų kaminai, kuri yra tik
išgalvotas būdas pasakyti kolekcijos technologijas
kad jūs galite naudoti norėdami išspręsti kai kurių problemų.
Ir mes kalbame apie abėcėlė sriuba kalbų, kad egzistuoja today--
Java ir Python ir C ++ ir PHP ir Rubinas ir visų kitų dalykų rūšių.
>> Mes pažvelgti trumpai projektavimo modelius.
Programuotojai, laikui bėgant, įsivedusių metodologijas
kad yra linkę jiems padėti spręsti problemas lengviau.
Kai jūs pradedate matyti save raštu tos pačios rūšies kodas, vėl ir vėl,
žmonių oficialiai tas pakartojimų ir priskirti vardus į juos
ir tada juos naudoti ir skatinti juos, galiausiai.
Ir mes kalbame šiek tiek apie mobilius strategijas,
Patinka tai, ką tai reiškia, kad iš tikrųjų padaryti mobiliąją programą arba mobiliojo interneto svetainėje.
Ar jums tai padaryti už Android?
Ar jums tai padaryti už "iOS"?
Ar jums tai padaryti tiek iš tų?
Ir kas yra kompromisai?
Ir tada, pagaliau, mes priimsime žiūrėti Web programavimas, kuris
yra bendras terminas tikrai aprašant bet kuriuo metu
rašote programinę įrangą, kuri manimi reiškė paleisti internete,
ar ant telefonų arba Staliniai kompiuteriai ir nešiojamieji kompiuteriai.
Mes priimsime trumpai pažvelgti duomenų bazės ir dizainas
joje, jei tik dėl to beveik bet Įdomu žiniatinklio programa
šių dienų turi tam tikrą duomenų bazę natūra.
Priešingu atveju, tai būtų tiesiog statinis turinys.
Ir duomenų leidžia jums padaryti pokyčiai laikui bėgant, ar sau
arba iš vartotojų.
Ir mes, kaip tu būtų eiti apie projektavimo
kad duomenų bazė ir žargono natūra kad gali sugalvoti inžinieriaus
diskusija baltos lentos kai realiai įgyvendinti
programa pirmą kartą.
>> Mes trumpai pakalbėsime apie API, naudingas paslaugas
kad jūs galite naudoti norėdami stovėti ant pečiai kitiems, ar įmonių
arba asmenys, ir išspręsti savo problemas greičiau.
Ir tada mes taškytis galbūt šiek tiek su JavaScript
programavimo kalba, kuri naudojama Abi naršyklės šių dienų, tačiau taip pat
serveriuose.
Ir galbūt, mes peržiūrėti, jei leis laikas,
kai hands-on Web Daiktai Mes darė vakar ir integruoti du
kartu, kol mes atidėti.
>> Taigi su that-- kas ahead-- yra ten nieko nėra, kad jūs
norėtų įsitikinti, kad mes įterpti ir paliesti tam tikru momentu.
Jei tai spyruoklės į galvą, jį iki prieš ilgas.
Bet kodėl ne mes pradėsime su pažvelgti skaičiavimo mąstymo.
>> Ir leiskite man pasiūlyti, kad skaičiavimo mąstymas yra, vėlgi,
rūšiuoti aukšto lygio aprašymas ką kompiuteris mokslininkas gali padaryti.
Ir iš tiesų, pradėkime su trijų sudedamųjų dalių, kad
gali eiti į skaičiavimo mąstymo.
Tai tik vienas iš būdų ją apibūdinti.
Mes, žinoma, gali nustatyti tai bet įvairiais būdais.
>> Bet leiskite man pasiūlyti, už šiandien sumetimais,
kad pasaulio problemas, visi pasaulio problemas,
kai kreipėsi kompiuterių mokslininkas galėtų
būti vertinama kaip ką mes Skambučių įėjimai, kuri
reikia gauti paduodama į ką mes paskambinsime algoritmai, kurie tada derlius rezultatus.
Kitaip tariant, visa pasaulis problemų sprendimo I reikalavimo
gali būti distiliuojamas šie trys ingredientai.
Taigi, ką aš turiu galvoje sąnaudų?
Įėjimai yra tai, ką jūs įteikė siekiant išspręsti.
>> Pavyzdžiui, čia senosios mokyklos problema.
Jei turiu telefonų knygą čia ir Noriu atrodyti į jį,
tai yra mano indėlis.
Turiu 1000 ar taip Puslapiai telefonų knygoje.
Tai yra įvesties į savo problemą.
Ir aš noriu, kad rasti kažką kaip Mike Smith, todėl draugui
kurio pavardė ir numeris tikiuosi šiame adresų knygą.
>> Tai yra prieš ląstelių dienų telefonai, todėl aš negaliu tiesiog jo ieškoti.
Taigi turiu tai padaryti metai mokyklos ir iš tikrųjų paieška
Šie įėjimai nors atsakyti.
Ir atsakymas yra tik ketina būti vadinamas išėjimo.
Taigi indėlis yra telefonų knyga.
Algoritmas yra kokia rinkinys žingsniai aš naudoju rasti Mike Smith.
Ir produkcija yra, tikiuosi, Mike Smith telefono numerį.
Ir tai tada būtų tiesiog atstovas labiausiai jokių problemų
SU esate handed įėjimai ir nori gaminti produkciją.
>> Taigi prieš manome procesas pagal kurį mes galime išspręsti šią problemą,
rasti Mike Smith ir kažkas panašaus,
aptarkime pirmoji ir kad last-- įėjimai ir išėjimai.
Fiziškai, aišku, įvesties čia yra visa krūva popieriaus suklijuoti
atsižvelgiant į telefono knygos forma.
Bet Kompiuteriai, iš course-- nešiojamieji kompiuteriai ir staliniai ir net telefonai
tai days-- tie, kurie Elektroniniai prietaisai.
>> Ir nuo tos dienos pabaigos, kas vienintelis įvesties į kompiuterį?
Na, tai kažkas panašaus tai maitinimo laidas čia.
Aš prijunkite jį į sieną, ir Gaunu elektronų srautą,
kuri leidžia man paleisti mašiną.
O gal tie elektronai sukurtas taip, savo baterija.
Bet dienos pabaigoje, tai vienintelis dalykas vyksta į mano nešiojamas.
Ir taip daug įdomiau Daiktai galiausiai
išeina, ar būdu spausdintuvo
arba ekranas arba audially ar pan.
>> Taigi, jei visi mes turime, kaip mūsų pagrindinė įvesties į kompiuterį
yra elektra, todėl tiesiog elektronai eina ir ar iš,
ir taip, kaip mes galime naudoti šią įvestį realiai atstovauti informacija?
Kitaip tariant, kaip mes iš paprasto elektros energijos srautas
atstovavimu faktinis numeriai arba faktinio raidės
arba faktinio vaizdai ekrane arba faktinio filmus ar e-mail
arba bet kuris iš šių numeris aukštesnio lygio sąvokas,
jei norite, kad ne pabaigos dienos kažkaip
turi būti saugomi šis elektroninis mechaninis įtaisas
naudojant tik jų paprastą ingredients-- elektronai ateina ir išeina?
>> Taigi atrodytų, kad paprasčiausiu būdu,
tik rūšies narių Turiu savo pasaulyje, todėl
į speak-- sąlygos į mano world-- yra arba
Turiu elektronai teka, elektra teka, ar aš not-- tt, ne.
Ir tegul formalizuoti ir išjungti, kaip kompiuteris mokslininkas gali,
tik su 1 ir 0.
Tegul tik aprašyti kai savavališkai bet atitinka numeris į jį.
1 reiškia įjungtas, 0 reiškia išjungtas.
Arba jūs taip pat gali peržiūrėti tai kaip tiesa įtaisai ir netikri priemonėmis.
Jūs taip pat gali tai padaryti juoda ir baltos arba raudonos ir mėlynos spalvos.
Jums tereikia du aprašai.
Ir kompiuterio mokslininkai būtų paprastai tiesiog naudokite 0 iki 1.
>> Taigi, jei tai toks atvejis, mano tik abėcėlės yra sudaryta iš 0 "ir 1-ųjų, kaip
galėčiau galbūt gauti net skaičių 2 iš kompiuterio, jau nekalbant skaičius 3
arba abėcėlės raidė arba vaizdas ar filmas?
Kaip mes tarsi bootstrap save nuo šio pagrindinio principo
nuo 0 "ir 1" ir iš tikrųjų atstovauti kažką įdomaus?
>> Na, tegul įdėti į šį klausimą sulaikytas vos akimirką
ir apsvarstyti kažką tikiuosi pažįstamas,
net jei jūs ne iš tikrųjų galvojo apie ji bet kuriuo išsamiau nustatyti 10, 20, 30, 40, 50
daugiau metų.
Štai kas?
Kaip jūs tariate, kad?
Ne triukas klausimas.
Skaičius, bet kas tai yra?
1, 2, 3, arba 123.
Ir man patiko, kaip jūs sakėte, 1, 2, 3, nes tai vienas iš būdų žiūrint.
1, 2, 3, tai seka iš trijų simbolių.
Tai nuotraukas, kad mes dabar turi žodžius.
Ir jei jūs tarsi juos visus skaityti kartu, tipiškas žmogaus anglų kalba
sakyčiau 123.
Ir tai tarsi aukštesnio lygio koncepcija,
jaučiasi pakankamai didelis skaičius.
>> Bet kaip mes ten patekti?
Na, tai gali būti kartu, nes jūs minties apie tai, kaip šis,
Bet atgal į mano dieną, aš rūšies išmoko tai
1-anketa skilties 10 s stulpelis, o 100 skiltis.
Taigi, kaip sako Lakisa, tai 1, 2, 3, tačiau jis taip pat 123.
Bet kaip mes gauti iš buvęs pastaroji?
>> Na, jūs paprastai padaryti 100 skiltis, turiu 1 d.
Štai tarsi sakydamas 100 kartų 1 d.
Ir tada iš 10 savo skiltyje, turiu 2.
Štai tarsi sakydamas 10 kartų 2.
Nuo 1 anketa stulpelyje Turiu 3.
Štai tarsi sakydamas 1 kartus 3.
>> Ir jei aš dedu šiuos dalykus kartu, tai, žinoma,
yra 100 plius 10 plius 3.
Ir oh, tai kodėl man tai aukštesnio lygio sąvoka 123.
Tai tiesiog pagrindinė matematikos, kuriuo jie simboliai turi svorius jiems, jeigu jūs
bus, vietos ar stulpelių reikšmės.
Ir kai aš daugintis viską , aš gauti šį skaičių.
>> Taigi kiek jūs žinote, kaip kalbėti binary-- 0 "ir 1's-- kaip kompiuteris?
Gerai, tobula, niekas, arba niekas iš jūsų manote jūs darote.
Bet aš norėčiau teigti jus iš tikrųjų žino, tai jau.
Mes tiesiog reikia rūšiuoti įgnybti mūsų psichikos modelis truputį.
Tačiau šis procesas yra lygiai taip pat.
>> Leiskite palikti šį vieną ten ir o traukti tai žemyn akimirką.
Į kompiuterių pasaulyje, turime tik 0 "ir 1-aisiais.
Ir taip dalykas, kad ketina keisti yra kas?
Na, mano žmogaus pasaulyje, Dešimtainė sistema, Dec reikšmė 10,
Turiu, kiek skaitmenų mano žinioje?
10, tiesa?
0 iki 9, žinoma.
>> Ir štai kodėl mes turime 10 vieta ir 100 vieta.
Kur yra ta, kad ateina?
Gerai, tai yra 10 į nuo 0 galios.
Tai yra nuo 10 iki nuo 1 galia, 10 siekti 2 jėgą, ir taip toliau.
Jūs tiesiog laikyti dauginant savo stulpelius 10, pradedant išjungti su tik 1
į dešiniausias čia.
>> Taigi į pasaulio Kompiuteriai, jei jūs tik
turi binary-- bi prasmę 2-- arba 0 drabužiai ir 1 s, mes tiesiog
tikrai reikia keisti tos matematikos bazę.
Taigi, kitaip tariant, dabar mes tiesiog turėti 1 kolona ir padirbėti
kur tai going-- 2 kolona, 4 skiltis, o gal už jos ribų.
Kodėl taip yra?
Na, tai yra 2: 0-osios galia.
Tai yra 2 1.
Tai yra nuo 2 iki 2, ir taip toliau.
>> Taigi o čia mes turime 1, 10 s, 100-ųjų 1000-ųjų 10.000 ųjų, 100,000 s, 1
milijonai, ir taip toliau, čia rasta 1, 2, 4, 8, 16, 32, 64.
Jūs tiesiog laikyti dauginant iš 2, vietoj nuolat dauginant iš 10.
Todėl dabar, tuo atveju, tikslas ranka yra atstovauti
numeriai, naudojant tik 0 "ir 1-ųjų aptarkime, kaip mes ten.
>> Tai, žinoma, yra modelis 0 0 0, bet ką numeris konceptualiai
jis atstovauja?
Na, 4 kartus 0 plius 2 kartus 0 plius 1 kartų 0, Pridėkime tie kartu.
4 kartus 0, žinoma, 0, plius 2 kartų 0, žinoma, 0 plius 1 kartų 0
yra, žinoma, 0.
Taigi Ah, tai atstovauja numeris mes, žmonės žino, kaip 0.
>> Na, dabar, tegul labai greitai pirmyn.
Jei aš vietoj neatstovauja 0 0 0, bet darykime 1 0 1,
kad gali būti kaip Lakisa, anksčiau, tiesiog ištarti 1 0 1.
Bet dabar, kaip mes jį, kad kuo didesnis lygis numerį mes, žmonės gali žinoti?
Taigi, kas yra šis skaičius?
Tai 5, numeris žinome kaip 5.
>> Na, kodėl taip yra?
Na, mes galime tikrai tarsi vaikščioti per ją metodiškai
4 kartus 1, 2 kartus 0, 1 kartus 1.
Pridėti tie kartu, todėl tai 4 plius 0 ir 1.
Ir tai, tiesą sakant, 5.
Taigi, tai truputį nuobodus dabar daro aritmetines vėl ir vėl.
Tačiau šis procesas yra lygiai taip pat.
>> Vienintelis dalykas, kuris turi pasikeitė mūsų pasaulis
yra tai, kad mūsų stulpeliai yra 1, 2, 4, 8, 16, ir taip toliau, o ne 1, 10, 100,
1,000.
Ir tai tik todėl, kad mūsų abėcėlė turi sumažėjo nuo 0 iki 9, kad tik 0-1.
>> Taigi, kaip šiek tiek viktorina čia Kaip jūs atstovaujate numeris 7 dvejetainiu?
0?
Na, 0, jūs turite galvoje 0 0 0?
Pasakykite ją vėl, Karina.
Puikus.
Kodėl taip yra?
Tai efektyviai 4 plius 2 plius 1.
Labai gerai.
>> Kaip mes atstovaujame šiek tiek another-- kaip apie numeris 2?
Arti, bet atgal.
Taigi, kas tai yra?
Yra 4 plius 1, taip, kad yra 5 dar kartą.
>> Taigi what's-- aš atsiprašau, Karina?
0 1 0.
0 1 0 būtų 2, nes vėl, net jei jis tarsi neturi iššokti į tave,
tik matematikos.
4 kartus 0, 0, 2 kartus 1 yra 2, 1 kartus 0 yra 0.
Todėl tai yra numeris žinome kaip 2.
>> Kaip apie šį numerį 8?
Hm?
Geras.
Taigi, mes rūšies reikia dar vietos rezervavimo ženklą.
Mes turime 1 0 0 0.
Ir tai pasakytina apie mūsų rūšies senosios mokyklos dešimtainiai sistema.
Kaip jūs atstovauti skaičių 1000?
>> Na, jūs, atrodo, rūšies ir kietas vietoje,
jei paprašys atstovauti numeris 1000,
nes net jei jūs suteikiate sau kaip 9 iš jų, 9 iš jų, 0 iš jų,
kuri yra didžiausia numerį, kurį turi, tu ne visiškai gauti iki 1000.
Taigi, jei jūs 1000, jums tiesiog reikia dar pozicija, todėl, kad jūs galite padaryti 1 0 0 0,
ERGO skaičius 1000.
>> Taigi dabar, tegul žemėlapį šį rūšiuoti konceptuali diskusija atgal į aparatūros,
kur vėl, įvesties buvo tik ši maža maitinimo kabelis, elektros
ateina ir teka iš.
Ir taip už tai turi būti išvesti iš čia ten gerai, ką mes iš tikrųjų reikia?
Na, jūs galite galvoti yra viduje kompiuteris, visa krūva lempučių,
jei bus.
Jie tikrai vadinamas tranzistorių.
Ir tranzistoriai yra tik persijungia kad gali būti būti įjungta arba išjungta.
Taigi jūs galite galvoti apie tranzistorius tai ant
yra leisti elektros srauto ir tranzistorius tai ne kaip sustabdyti
Elektra iš teka.
Ir, o ne imtis per šviesas čia
kodėl ne aš šios rūšies naujos mokyklos stiliaus.
Taigi tai gali būti 1, žibintuvėlis yra įjungtas, tik vos nors.
Ir tai gali būti 0, o dabar tai ne.
>> Taigi, naudojant šį fizinį įtaisą, aš dabar gali atstovauti dvejetainis sistemą.
Aš tiesiog reikia dviejų valstybių.
Nesvarbu, ką spalva jis yra, arba kas tai yra.
Visa tai svarbu tai, kad turiu viena narė, ir kitos valstybės išjungtas.
Taigi, naudojant savo telefoną čia kaip man atstovauti skaičių mes žinome kaip 0?
Arba įdėti analogiškai, kas Taškų aš atstovaujanti dabar?
0, nes prietaisas yra išjungtas.
>> Ir jei aš tai padaryti?
Ir dabar, kaip man atstovauti skaičių 2?
Ar galiu pasiskolinti telefoną čia, kaip mes padarėme vakar?
Taigi pažiūrėkime, todėl, jei aš noriu atstovauti numeris 2, tai šis skaičius 2?
Ne.
Kas skaičius esu aš netyčia atstovaujanti čia?
Tai iš tikrųjų numeris 3.
>> Taigi, kuris iš jų aš noriu išjungti?
Juodas telefonas or-- gerai, jei they're-- juodas telefonas ar baltas telefonas?
Baltas telefonas.
Taigi, jei aš išjungti šią funkciją ir mes linija jį per čia, mes turime 1
nuo 2 vietą ir taikomas 0 iš 1 vietą.
Ir todėl aš dabar atstovaujanti skaičių 2.
Ir tai, žinoma, būtų numeris 3, nes dabar tiek iš šių žiburių
yra.
>> Ir aš čia sustoti, bet tai suprantama,
jei noriu atstovauti numeris 4 arba 8 arba didesnis,
Aš ruošiuosi reikia daugiau telefonų.
Bet kad viskas, kas vyksta.
Taigi, jei jūs kada nors girdėjote, kad viduje a-- padėkoti you-- kompiuterį
yra milijonai tranzistorių, tai vos milijonai mažyčių mažai jungikliai.
Ir jie nėra šviesos lemputės, kad įjungti ir išjungti,
bet jie arba leidžia elektrą tekėti kažkur ar jį sustabdyti.
Ir taip ten tavo du states-- įjungti arba išjungti, įjungti arba išjungti.
>> Taigi, mes atrodytų dabar turėti šią galimybę
atstovauti šią sąvoką, kad mes norėtume faktinio įrangos.
Bet visi mes turime dabar yra galimybė atstovauti numerius Atrodytų.
Taigi, kaip mes einame apie atstovaujanti abėcėlės raides, kurios
jaučiasi kitą rūšies funkcija galite norėtų pridėti prie modernaus kompiuterio
kai jūs turite numerius?
>> Ir iš tiesų, jei jūs manote apie IT istoriškai kompiuteriai
buvo įvestos tikrai tarnauti kaip Skaičiuoklės skaitmeniniu.
Bet žinoma, tai dienų, jie daug daugiau.
Net tada, kai jie paleisti, jums paprastai matyti vieną ar daugiau žodžių.
Taigi, kaip jums atstovauti žodžius, jei viskas, ką turite, vėlgi,
elektros ne galutinio dieną, arba analogiškai 0 "ir 1 s?
>> Taip.
Taip, aš turiu galvoje, mes natūra padarė tai vakar tam tikra forma,
kur tam tikru momentu, Manau, kad savavališkai
sakė, kad, jei norime atstovauti raidė, galėtume tiesiog paskambinkite, kad per 1 d.
Tai buvo slaptaraščio kontekste, kur mes tiesiog reikia šiek tiek kodo natūra,
kai fiksuoti natūra.
>> Taigi gal bus atstovaujama kaip 1, ir B bus atstovaujama kaip 2,
ir Z bus atstovaujama kaip 26, pavyzdžiui.
Ir tada tik įspėjimas, kad jei aš ketina koduoti raides mano laiškus
ar mano tekstinius prane ¹ imus kaip skaičiai, jūs visi
turi susitarti naudotis Tas pats rinkinys konvencijas.
Ir iš tiesų, pasaulis padarė būtent tai.
>> Yra pasaulyje sistema vadinama ASCII, Amerikos standartinis
Informacinių mainų kodas, kuris yra tiesiog sprendimą keletą metų
prieš, kad žmonės padarė, kad nusprendė, kad ketina lygus, o ne
1, 2, ir 26, ir taip forth-- tai mažai different-- bet 65, 66, 67.
Ir aš atsigriebti diagrama vos akimirką.
Bet tai savavališkas.
Bet tai nesvarbu kad tai savavališkas.
Pasaulis turi būti tiesiog nuoseklus.
>> Dabar, visai neseniai, kažkas mėgėjas
vadinamas "Unicode", nes pasaulyje rūšies Realizuotos po išrasti kompiuteriai,
kad yra daugiau nei gerai 256 simboliai pasaulyje
kad mes norime atstovauti, ypač kai jūs įdiegti
Azijos kalbos ir kitų simbolikomis kad reikia daugiau išraiškingumą, nei jūs
gali tilpti kuo versiją tai kodas, kuris buvo vadinamas ASCII.
Taigi "Unicode" iš tikrųjų leidžia naudoti daugiau 0 "ir 2.
Visų pirma, jūs nuolat išklausius žodis baitų visuomenės ir net tik
vakar.
Ir baitas vėl ką?
>> Kas yra baitų?
Tai tik 8 bitai.
Taigi, ką tai iš tikrųjų reiškia?
Na, tai reiškia, kad anksčiau, kai mes buvome kalbame apie dviejų ir aš naudoju
savavališkai trys bitai, kai mes buvome kalbame apie binary-- 1 vietą,
2 vieta, o 4 s place-- gerai, baitas tiesiog reiškia, kad jūs kalbate
ne vienetais, o po tris, bet keturi, penki, šeši, septyni aštuoni,
kuris suteikia mums 8 vietą, 16 s, 32 s, 64 s, o 128-aisiais.
>> Kitaip tariant, šiek tiek yra ne visi kad naudinga matavimo vienetas,
nes tai tik kaip viena maža maža informacijos dalis, įjungti arba išjungti.
Taigi prieš keletą metų, pasaulis tiesiog nusprendžiau
tai šiek tiek patogesnė kalbėti sąlygos baitų, aštuoni dalykai vienu metu.
Ir taip ir taip gimė A baitas sąvoka.
Ir todėl mes turime aštuonis bitus čia.
>> Ir it turns out, taip pat už panašus priežastys, pasaulis nusprendė metai
prieš, kad atstovauti ASCII laišką, jūs ketinate naudoti vienetų 8 bitai.
Taigi, net jei jūs neturite reikia, kad daugelis, jūs
visada ketinate naudoti 8 bitai sudaro abėcėlės raidė.
Ir tai yra patogu, nes tada, jei jus
gauti pranešimą, kuris turi 0 0 0 1 1 1 1 0 po to dar 1 1 1 0 1 0
0 1, todėl, jei jūs gaunate 16 bitai, pasaulis gali tiesiog
manyti, kad pirmasis 8 yra viena raidė ir antra 8 yra dar vienas raidžių.
>> Nesvarbu, kiek yra.
Tai tiesiog klausimai, kurie mes visi nuosekliai
kai mes interpretuoti šiuos bitus.
Ir tai buvo tik atsitiktinai.
Tai reiškia, kad kažką, bet aš ne tikrai manau, kad apie tai, ką jis reiškia.
>> Taigi tai yra mažas baltas melas.
Iš pradžių ascii faktiškai naudojami tik 7 bitai.
Ir aštuntas bit vadinama ASCII.
Bet esmė yra, galiausiai, ta pati.
Pasaulyje visuotinai standartizuotas 8 bitai.
>> Todėl tai, atrodo, būti šiek tiek riboti, nes tik aš galiu
atstovauti kapitalu, kapitalas B per kapitalo Z.
Bet iš tikrųjų ne, jei aš einu to-- ten išteklių krūva
internete, pavyzdžiui, asciitable.com, tai
bus šiek tiek didžioji ne pirmas.
Bet aš atkreipti dėmesį kas svarbu čia.
>> Tai tiesiog nutinka be-- ir aš walk-- pažiūrėkime, jei aš einu čia.
Čia yra dešimtainio kolona, ​​numeris 65.
Ir dešiniajame stulpelyje laišką charakteris, "Chr, yra raidė A.
Ir jūs galite ignoruoti, dabar, viskas per vidurį.
Tai šešioliktainis, aštuntainė ir HTML kodą.
Šioje svetainėje, tiesiog bando mesti daug informacijos ne jums iškart.
Bet visi mes rūpinamės yra dešimtainė stulpelis ir simbolis stulpelis.
>> Taigi pagal šią logiką, kas yra skaičius, kad pasaulis
nusprendė reiškia mažosios raidės a?
Taip, 97.
Ir tik painioja potencialiai šiek tiek,
ką skaičius pasaulyje nusprendė reikštų skaičių 1?
Teisė, nes we-- 49, atrodo, čia žemyn apačioje, kairėje.
>> Dabar, ką aš turiu galvoje, kad?
Todėl Pasirodo, kad kompiuterinėse sistemose,
ten paprastai yra esminis skirtumas
tarp skaičiaus ir pobūdžio.
Skaičius yra dalykas, kurį mes išmoko auga, kai
mes buvome itin jauna pradinėje mokykloje.
Tai, ką jums suskaičiuoti su.
Bet charakteris yra tik forma A glifas, taip sakant, ant ekrano.
>> Dabar mes, žmonės tarsi pamatyti kažkas, kad atrodo taip.
Ir mes pasakyti, OH, kad yra numeris 2.
Bet ne, tai tik simbolis, kuris atrodo patinka tai, ką mes žinome, kaip numeris 2.
Ir taip ten tai esminis skirtumas
tarp faktinių skaičių ir simbolių.
Tai yra skaičius.
Bet paprastai, į kontekstas kompiuterio,
jei vietoj pamatyti kažkas panašaus į šį quoted--
ir jūs ne visada turite pamatyti tai kotiruojamos biržoje,
bet už discussion-- sumetimais, jei matote kabutes skaičius,
tai dabar personažas.
Taigi šis skaičius 2 po viduje iš kompiuterio gaubtas
būtų atstovaujama su modelio Bitų, kurios atstovauja numerį
50 pagal diagramą internete.
>> Tačiau, jei kompiuterio tiesiog mano, kad šis, ši
būtų atstovaujama su modelis šiek tiek 0 0 0 0 0 0 1 0.
Kadangi šio pobūdžio būtų iš tikrųjų atstovauja as-- ir dabar
Aš turiu galvoti šiek tiek harder-- todėl šis charakteris būtų atstovaujama su 0
0 1-- Ką reikia čia?
0 0 1 1 0 0 1 0.
Kaip man tai padaryti?
Na tai yra numeris 50, ar jums padauginkite jį naudojant šiuos stulpelius,
tai yra skaičius 2, ir taip Štai kodėl yra tai dichotomija.
>> Ir tai tik kibinimas dabar funkcijų
kad egzistuoja programavimo kalbų kad mes paliesti trumpai vėliau šiandien.
Programavimo kalbų, turite apskritai
bet ne visada, viskas skambinti skirtingus duomenų tipus.
Į Kitaip tariant, programmer-- kai jis arba ji yra raštu,
programuotojas gauna nuspręsti, ką formatas saugoti savo asmens duomenimis.
Galite saugoti duomenis, kaip žaliavos numeriai, pavyzdžiui, numeris 2.
Arba galite juos laikyti stygos, arba sekos simbolių
kad jums būtų paprastai išreikšti su citatos Jūsų programavimo kalba.
>> Jūs galite turėti dalykų called-- Aš per daug supaprastinti ir jiems skambinti
nekilnojamojo numbers-- taip numerių, nėra sveikieji skaičiai, pavyzdžiui, skaičių 2,
bet skaičiai patinka 4.56.
Taigi realieji skaičiai taip pat gali turi dešimtainės taškų,
taip, kad visai kitas esminis gabalas duomenų į kompiuterį.
Ir tada jūs netgi galite turėti kitų duomenų tipų ramiai.
Taigi tai tik erzina tikrai, paprasčiausias dizaino sprendimus
kad programuotojas galėtų kad po gaubtu.
>> Taigi visi klausimai tik dar?
Taigi pabandykime padaryti Tai šiek tiek daugiau reali.
Ši įranga yra ne tiek daug naudoti nebėra.
Bet labiausiai visi šiame kambaryje tikriausiai užaugau su ir vis dar naudoja kietuosius diskus
kažkuriuo būdu.
>> Nors dauguma mūsų nešiojamieji kompiuteriai nebėra
turi prietaisus, kurie veikia kaip šis, vietoj nešiojamieji šiandien apskritai
turi kietojo kūno diskai be judančių dalių.
Ir kad yra linkęs būti daugiau brangus, deja, bet šiek tiek greičiau
ir a-- gerai, dažnai daug greičiau, kuris yra vienas iš priežasčių.
Ir taip pat jis nėra generuoti kaip daug šilumos.
Jis gali būti mažesnis, todėl apskritai grynasis teigiamas.
>> Bet tai mums leidžia susieti tiek konkrečiau ką
mes kalbame apie ne 0 "ir 1 lygis dabar į fizinį įtaisą.
Tai vienas dalykas man kalbėti apie 0 "ir 1 s požiūriu
mano telefonu arba abstrakčiai kalbant jungiklių yra įjungti ir išjungti.
Bet ką apie kietuosius diskus?
Jūsų nešiojamieji kompiuteriai, jei turite seną vienas arba kompiuterį,
ar tikrai serveriuose Šiandien, kur jūs turite
kietieji diskai, kurie iš vietos terabaito,
4 terabaitų talpos, gerai, ką tai reiškia?
>> Standusis diskas su 1 terabaito kosmoso priemonėmis
ten 1 trilijoną baitų viduje ji kažkaip,
arba analogiškai 8 trilijonų bitų viduje.
1 terabaito būtų 8 terabits arba 1 trilijoną bitų, kurie
reiškia, kad jei turite sunku diską, jūs turite kažkaip
ar kitų trilijono 0 s ir 1 viduje ji.
Ir jei mes tiesiog imtis už išvaizdą savavališkai nuotrauka kietąjį diską
atstovas, tai yra tai, ką sunku diskas gali paprastai atrodo viduje.
>> Tai, taip pat, yra lyg senas patefonas grotuvas
bet paprastai su keli įrašai viduje, todėl
į speak-- kelių plokšteles, kaip jie vadinami,
metalo apskritos diskai, ir tada šiek tiek nuskaitymo galvutė,
panašiai kaip sename įrašų grotuvą.
Ir tai nuskaitymo galvutė juda pirmyn ir pirmyn ir kažkaip skaito bitai.
Ir kas šiais plokšteles, net nors mes, žmonės negali matyti juos,
arba iš tikrųjų ar šiame paveikslėlyje, ten mažyčiai maži magnetiniai dalelės.
Ir net jei jūs ilgai pamiršote, kaip elektros darbai,
magnetiniu dalelių kad manimi paprastai imamas
turi North End ir pietus end-- todėl Šiaurės ir Pietų.
Ir taip pasaulis tiesiog nusprendė prieš kurį laiką
kad, jei magnetinis protokolas iš esmės yra suderinta, kaip tai, iš šiaurės į pietus,
tegul pavadinkime ta 1 d.
Jei tai vietoj pietų-šiaurės, tegul tiesiog skambinti, kad su 0.
Ir todėl, jei turite ne savo žinioje trln
maža maža magnetinė particles-- ir tikiuosi,
aparatūros išradingumas į Siekiant apversti aplinkiniams
kaip matote fit-- jei norite atstovauti visa krūva 0 aisiais, jums
tiesiog reikia 8 magnetines daleles visi suderinta, kaip šis.
Ir jei norite atstovauti Aštuoni 1 s, jūs tiesiog
reikia 8 magnetines daleles suderintas atgal atgal atgal, kaip šis.
>> Ką reiškia, padarytais magnetiniai dalelės?
Atvirai kalbant, visus šiuos metus vėliau, dalykas, kad vis dar ateina į mano protas
tai vaikinas, jei jums užaugau su šio dalyko.
Tai little-- už tie unfamiliar--
mažai vaikystės žaislas, kad turi šią plikasis vyro čia
kad turi visą šių mažų Little Black magnetiniai dalelės, kurie ateina su juo.
Ir naudojant tą raudoną kortelę, kuri yra tik magnetas,
galite rūšiuoti duoti jam ūsus arba antakiai ar plaukai ar kas jam.
Taigi iš tiesų, jei mes padidinti į, pavyzdžiui, tai
yra žaidimo rūšies jūs galite žaisti su vilnonis Willy.
>> Ir tai yra tik pasakyti, tai yra daug didesni magnetinės dalelės
nei yra iš tikrųjų kietajame diske, ir daug mažiau magnetinės dalelės.
Bet tegul realiai pamatyti Tada, jei jūs turite
mažyčiai magnetiniai dalelėmis kietasis diskas, kaip jūs galite iš tikrųjų
naudoti tiems duomenims atvaizduoti.
>> [Vaizdo įrašų atkuriamų]
>> -The Kietąjį diską, kur jūsų asmeninis kompiuteris parduotuvės dauguma jos nuolatinių duomenis.
Norėdami tai padaryti, duomenis keliauja iš RAM kartu
su programinės įrangos signalus, kad pasakyti kietąjį diską, kaip saugoti tuos duomenis.
Hard Drive plokštės išversti tiems signalus į įtampos svyravimus.
Tai, savo ruožtu, kontroliuoti kietojo disko juda parts-- kai iš nedaugelio juda
dalys paliktas modernių kompiuterių.
>> Kai kurie iš signalų kontroliuoti variklį, kuris sukasi metalo dengtos plokšteles.
Jūsų duomenys yra iš tikrųjų saugomi šių plokšteles.
Kitos signalai perkelti skaitymo / rašymo galvutės skaityti arba rašyti duomenis apie plokšteles.
Ši technika yra tokie tikslūs, kad žmogaus plaukų net negalėjo
praeiti tarp vadovų ir verpimo plokšteles.
Tačiau, visa tai dirba siaubingas greičiu.
[PABAIGA PLAYBACK]
Ir jūs galite pamatyti ne galine vaizdo,
paprastai būna daug plokšteles.
Ir taip, kad skaitant galva yra ne tik skaityti viršuje.
Tai lyg trys ar Keturi ar daugiau skaitymo galvutės
kad Perkelti kaip šis, skaityti duomenis tuo pačiu metu.
>> Taigi ten yra daug sudėtingumas ir tarsi laiko
kad manimi dalyvauja kietąjį diską.
Ir ką sukasi tikrai adyti greitai, todėl ten sudėtingumo daug.
Bet tegul padidinti šiek tiek giliau ir pamatyti, kur yra šie magnetiniai dalelės
ir kaip mes vis į juos.
>> [Vaizdo įrašų atkuriamų]
>> -ėlis Pažvelgti, ką mes tik pamačiau sulėtintai.
Kai trumpas impulsas Elektros siunčiamas į skaitymo / rašymo galvutės,
tai salto ant mažyčio elektromagnetines dėl per sekundės dalį.
Magnetas sukuria laukas, kuris keičia
iš mažytė, mažytė poliškumas dalis metalo dalelių
kuri kailis kiekvieno patiekalas paviršių.
Raštas serijos Šios mažytės įkrauti iki plotai diską
reiškia viengubą tiek duomenis į dvejetainis skaičius sistema, kurią naudoja kompiuterius.
>> Dabar, jei srovė yra siunčiami vieną kelią per skaitymo / rašymo galvutės,
plotas yra poliarizuota viena kryptimi.
Jei srovė yra siunčiami priešinga kryptimi,
poliarizacija yra atstatomas.
Kaip jūs gaunate duomenis išjungti kietąjį diską?
Tiesiog pakeisti procesą.
Taigi, tai daleles ant diskas, gauti srovę
į skaitymo / rašymo galvutės juda.
Sudėti milijonus Šie įmagnetintų segmentai,
ir jūs turite failą.
>> Šiol viename faile dalys gali būti išsibarsčiusios visame disko anketa plokšteles,
lyg netvarka Straipsnių ant jūsų stalo.
Taigi ypatingas papildomų failų išlaiko takelis, kur viskas yra.
Ar ne jūs norite jūs turėjote kažkas panašaus?
>> [PABAIGA PLAYBACK]
>> Taigi yra užsiminė, kad ten, ko gero, yra kad tema nuo vakar iš ištrynimo.
Kai panaikinate failą, vakar sakėme
kad kompiuteris iš tiesų ką, kai jūs vilkite kažką
į šiukšlinę ar šiukšlių dėžę?
Jis tiesiog pamiršta ją.
Bet 0 "ir 1-ųjų magnetiniai dalelės
kad atrodo kaip raudona ir mėlyna viskas čia, arba mano rankos čia,
vis dar ten į kietąjį diską.
>> Ir taip egzistuoja software-- "Norton Utilities ir pasekėjai
ir kita modernėja software--, kad tik
bus nuskaityti visą kietąjį diską ieško visuose tuose 0 ųjų ir 1-ųjų, nes tai
Pasirodo, kad dauguma failą skirtingus formatus "Word" dokumentus, "Excel" failus, nuotraukas,
vaizdo files-- visi turi tam tikras modeliai, kurie yra bendri tarp jų.
Kiekvienas vaizdo failas gali būti skirtingos vaizdo,
bet pirmas kelias bitai yra paprastai yra tokia pati.
Arba paskutinės kelios bitai paprastai yra tie patys.
>> Ir taip su didele tikimybe, galite ieškoti tų modelių.
Ir net jei failas buvo pamiršta, galite pasakyti, didelė tikimybė,
bet tai atrodo "Word" dokumentą, lets susigrąžinti ir JT pamiršti,
jei bus.
Ir taip tai kaip jūs galite atgauti duomenys, kurie manimi arba buvo atsitiktinai
ištrinti arba ištrinti arba sąmoningai ištrinta dėl kokių nors tikslais.
>> Priešingai, saugus išbraukta ką daro į panašaus šią nuotrauką kontekste?
Būtent, todėl juos visus atsitiktinai.
Taigi tarsi juda kai juos žemyn, kai kurie iš jų iki,
palieka kai kurie iš jų nepakito, o paprastai atlieka atsitiktine tvarka triukšmo iš jo,
arba tiesiog gal daro visi Them 0 s ar visi iš jų 1-aisiais.
Ir tai taip pat gali paprastai nušveiskite savo duomenis toli.
>> Tad dabar sugrįžimą į klausimą skaičiavimo mąstymo, kuriuo
turime formulę įėjimai.
Ir algoritmai suteikia Jūs išveda galiausiai.
Mes orientuojamės dabar sąnaudų ir išėjimai, nes dabar aš
pretenzija mes turime būdą įvesties ir išvesties atstovaujanti.
Mes tiesiog ketiname naudoti dvejetainis.
>> Ir nesvarbu, ką mes nori atstovauti šiandien
ar tai numeris arba raidė ar jų tūkstančiai telefonų knygoje
ar nuotraukas ar filmus, o pabaigoje dienos, tai visi 0 "ir 1-aisiais.
Ir aš teigia, kad, nors tai yra super paprasta pasaulis su tik 0 aisiais
ir 1 s, mes galime sukurti save iki.
Ir mes matėme vieną pavyzdį kad su raidėmis šiol.
>> Taigi leiskite dėmesio dabar apie tai viduryje ingredientas, algoritmas.
Ir tegul grįžkite į šį pavyzdys Mike Smith.
Taigi šiuo telefonų knygoje, kuri Tiesa, mes nenaudojame tiek daug daugiau,
yra problema, kurią reikia išspręsti.
Mes norime, kad rasti ką nors panašaus Mike Smith.
>> Ir kas gali man padaryti rasti Mike?
Na, aš galėčiau tik atverti tai knyga, pradėkite nuo pirmo puslapio,
ir suvokti, oi, aš A skyriuje.
Mike ten nėra.
Man reikia S skyrių Smith.
Taigi tiesiog laikyti tekinimo vieną puslapį vienu metu.
Leiskite apsimesti, kad visa tai baltuosiuose puslapiuose, o ne įmonių katalogas,
nes mes neketiname rasti Mike geltonieji puslapiai vistiek.
Bet aš baltuosiuose puslapiuose.
Ir dabar, aš B skyriuje.
Aš vis dar neradau jam.
Taigi aš nuolat sukant vieną puslapį vienu metu.
>> Tai yra algoritmas,.
Tai skirtų instrukcijų rinkinys sprendžiant tam tikrą problemą.
Kitaip tariant, pažvelgti puslapis, jei Mike'as ne apie tai,
pasukite puslapį ir kartojasi vėl ir vėl ir vėl,
idealiai žiūri, kaip jūs darote.
Taigi tai algoritmas, Šis procesas, teisingai?
>> Atsiprašau.
Ne, girdžiu kai numeriai.
Gerai, tačiau ji is-- taip, tai tikrai varginantis.
Kaip mes čia visą dieną, jei aš nuolat ieško Mike šiuo greičiu.
Bet leiskite man teigia, kad tai teisinga.
Tai kvaila, bet tai teisinga.
>> Tuo dienos pabaigoje, tol, kol ji gali imtis, aš rasite Mike, jei jis ten
ir aš atkreipti dėmesį.
Ir aš galų gale pasiekti savo puslapį.
Ir jeigu aš gauti per toli, jei Gaunu T skyriuje
tada galiu šiek tiek optimizuoti ir tiesiog pasakyti, HM, viskas padaryta.
Aš net nereikia gaišti laikas eiti į Z-aisiais.
Bet tai yra labai tiesinis metodas, jei jums
bus, labai tarsi iš kairės į dešinę požiūris, tiesi linija.
Ir jos teisinga, tačiau lėtai.
>> Taigi aš atsimenu iš pradinėje mokykloje, tarsi apie optimizaciją iš pirmojo rūšiuotojas,
kur aš sužinojau, kaip skaičiuoti ne pagal tuos bet twos-- taip 2, 4, 6.
Tai, daug sunkiau padaryti, bet teoriškai, tai
faster-- 8, 10, 12, 14, ir taip toliau.
Kaip apie šio algoritmo?
Ar tai efektyviau?
Ar tai greičiau?
>> AUDITORIJA: Tai veiksminga.
>> DAVID Malan: Taip, taip, tai def-- tai tiesiog du kartus taip greitai, darant prielaidą, aš
Nesupraskite suveikė su mano pirštais.
Tai du kartus taip greitai, nes Aš tekinimo per du
puslapiai iš karto, o ne vienas, bet tai potencialiai teisingas, nes kodėl?
>> Auditorija: Jūs praleidžiant kai.
DAVID Malan: Teisė, ką daryti, jei Mike'as atsitinka būti sandwiched-- gal kai aš vėliau
telefonų knygoje Mike atsitinka būti įtvirtinta tarp šių dviejų puslapių,
ir aš tiesiog aklai praleisti jį.
Taigi mums reikia šiek tiek fix ten.
Kai aš paspauskite T skyrių, aš galite ne tik užtikrintai pasakyti,
neradome Mike Smith.
Aš tikriausiai dvigubai atgal.
Arba iš tikrųjų, kai aš pasiekti ką nors pavadintas S-N, o ne S-M Smith,
iš karto, galėjau dvigubai atgal, nes gal jis
buvo ankstesniame puslapyje.
>> Bet aš neturiu dvigubai atgal šiol.
Teoriškai, jei aš tai padaryti dešinėje kartą, aš tiesiog grįžti viename puslapyje.
Todėl pridedant tik vieną papildomą žingsnį.
Taigi aš atvyko du kartus taip greitai, bet jis man kainavo vieną papildomą puslapį.
Bet kad jaučiasi neto laimėti.
>> Bet tai ne kaip dauguma žmonių Šis kambarys būtų išspręsti šią problemą.
Kas būtų tipiškas asmuo, o gal prieš keletą metų padaryti, rasti Mike Smith?
Taip, nepavyko rasti Mike.
Ka aš darau?
Taigi gauti šiek tiek arčiau, bet aš know-- kas yra tiesa apie telefonų knygą?
AUDITORIJA: Tai nuoseklus.
DAVID Malan: Tai nuoseklus.
Tai abėcėlės tvarka.
Ir todėl, jei aš M skyriuje Mike aiškiai į dešinę,
Galiu tiesiog suplėšyti Į half-- problema
tai paprastai lengviau nei that-- ašara per pusę problema ir jį išmeskite,
taip, kad dabar aš turiu problemą, kad anketa nebėra 1000 pages--, kad buvo sunku,
nes manau, kad aš iš tikrųjų sudraskė telefonų knyga tai LAIKĄ_ nėra
1000 puslapiai, bet 500.
>> Taigi problema yra tiesiog perpus didelis.
Ir tai gana įtikinama, nes su mano ankstesniais algoritmų versija
1 ir 2, aš buvo padaryti tik šią problemą vienas puslapis mažesni, du puslapiai mažesni
tuo metu.
Kadangi dabar, aš padariau tai 500 puslapiai mažesnis visus iš karto.
>> Gerai, kad dabar, Karim siūlo kad aš einu į dešinę pusę.
Taigi, aš ruošiuosi eiti maždaug į vidurį, suteikti arba užtrukti.
Ir jei aš tai matematiškai, Galėčiau eiti tiesiai į vidurį.
Ir dabar, aš suprantu, OH, Aš T skyriuje.
Aš iš tikrųjų nebuvo per toli.
>> Bet aš galiu, vėlgi, ašara problema pusę, jį išmeskite.
Ir mano baitų nėra tokie dideli.
Tai tik, ką, 256 puslapių arba 250 puslapiai, suteikti arba užtrukti dabar.
Bet jis vis dar taip daugiau nei vieno puslapio ar dviejų puslapių.
>> Ir taip dabar Aš einu maždaug į vidurį.
Ech, man nėjo gana toli pakankamai dabar.
Taigi kartoju, kartoju, kartoju, pakartoti, kol aš tikiuosi
liko tik vienas puslapis.
>> Taigi, kad kviečia į klausimą, jei aš prasidėjo maždaug 1000 puslapių,
kiek žingsnių padarė tai mane su mano 1-ojo algoritmo versija?
Na, jei Mike'as yra S skyriuje, blogiausiu atveju,
tai gana arti abėcėlės pabaiga.
Taigi, jei telefonas knyga turi 1000 puslapių, Aš rasite Mike per 1000 puslapių,
suteikti arba užtrukti.
Gal tai kaip 800, arba tiek, bet tai gana arti 1,000.
>> Kadangi tais atvejais, sekundę algoritmas, kiek
puslapis virsta maksimaliai galėčiau reikalauja rasti Mike Smith?
Yra 1000 puslapiai, bet aš daro juos du vienu metu.
Teisė, todėl max kaip 500ish, nes jei aš einu per visą telefonų knygą,
nuo tada, galiu sustoti.
Bet galiu nusiskusti keletas iki tiesiog sustoti T skyriuje.
Bet tai ne blogiausiu atveju 500 puslapiai.
>> Taigi, kiek kartų galiu padalinti 1,00o puslapis telefonų knyga per pusę vėl
ir vėl ir again-- nuo 1000 iki 500 iki 250 iki 125?
Prieš kiek laiko aš paspauskite vieną puslapį?
Taip, tai yra apie 10.
Priklausomai nuo apvalinimo ir tokių, tai apie 10 puslapių bendra turi būti pasuktas
arba telefonu knygos reikia suplėšyti.
>> Taigi tai gana galingas.
Mes pradėjome su 1000 puslapių problemos visų šių istorijų trijų.
Bet pirmoje algoritmą, jį paėmė mane, blogiausiu atveju, 1000 puslapis
Pasirodo rasti Mike.
Antra algoritmas, 500 puslapiai rasti Mike.
Trečia algoritmas, 10 puslapių rasti Mike.
Ir tai dar labiau galingas, kai jūs manote
apie tarsi priešinga scenarijų.
Tarkime, kad telefono kompanijos kitą metus gal susilieja du miestus kartu,
ir telefonų knyga staiga Šis storas, vietoje to, kad,
taip 2000 1000 puslapiai vietoj.
Na, mano pirmasis algoritmas ieško Mike'as Smithas į 2000 puslapių telefonų knygoje,
Blogiau atveju, jis ketina imtis kiek puslapis virsta kitais metais?
>> Telefonų knyga yra 2000 puslapių, so-- gerai, o ne dar viena.
Jei telefonas knyga yra dvigubai storio pirmas algoritmas, pirmas algoritmas,
2000, tiesa?
Blogiausiu atveju, Mike'as yra tikrai uždaryti į knygos pabaigoje,
todėl 2000 puslapis posūkius.
Antra algoritmas vyksta pagal poromis, pavyzdžiui, 1000 puslapių.
>> Bet kaip apie mano trečdaliu ir naujausias algoritmas?
Jei telefonas įmonė padvigubina puslapių skaičius nuo 1000 iki 2000,
kiek daugiau kartų reikia man ašara kad knyga per pusę rasti Mike?
>> Auditorija: Tik vienas.
>> DAVID Malan: Dar vienas, nes su vienu puslapio ašara,
Galiu tiesiog padalinti ir užkariauti, jei norite,
kad problema per pusę paėmimo masyvi sukandimas iš jo.
Ir todėl tai yra pavyzdys efektyvumas ir tikriausiai algoritmas
su kuria visi mes esame tarsi intuityviai pažįstami.
Bet tai kaip teisingai kaip mano kiti algoritmai
su tuo įgnybti už antra algoritmas,
bet tai tiek daug efektyviau.
>> Ir iš tikrųjų, koks kompiuteris mokslininkas, ar, savo ruožtu, programuotojas,
būtų paprastai darote, kai raštu kodas yra pabandyti išsiaiškinti,
viskas gerai, aš nenoriu, kad mano Programa tiesiog turi būti teisinga,
Taip pat noriu, kad jis būtų efektyvus ir spręsti problemas taip pat.
Įsivaizduokite, realiame pasaulyje šiandien kaip Google indeksuoja, paieškų
kaip milijardus puslapių, įsivaizduokite, jei jie naudoti pirmąjį algoritmą rasti katinus
tarp milijardo pages-- žiūri pirmas puslapis į jų duomenų bazę,
antra, trečia, tiesiog ieško už katės, ieško katė.
Štai pretty darn sulėtinti atrodytų.
Jie gali vietoj naudoti kažką vadinamas dvejetainis paieškos, kuri
nėra coincidence-- dviejų reiškia du, mes išlaikyti dalijant kažką 2, į half--
jie galėtų naudotis dvejetainis paiešką o gal Rasti katę net greičiau,
ar kokia ji yra jūs ieškote.
>> Ir tiesą sakant, ten net mėgėjas algoritmai
kad padaryti daug daugiau nei tik dalijant dalykų pusę
tam, kad greitai rasti informaciją.
Ir mes kalbame šiek tiek apie tuos, po pietų šiandien.
Taigi leiskite man tiesiog pabandykite atstovauti tai.
Mums nereikia eiti į bet matematikos ar faktiniai skaičiai.
Mes galime kalbėti apie tai abstrakčiai.
>> Bet leiskite man tiesiog pasiūlyti, jeigu jūs buvo turintys diskusiją dabar
su inžinieriai pasiūlyti šį algoritmą
ir bandote padaryti apskaičiuotoji sprendimas,
nes gal inžinierius sako jums,
žinoti, ką aš galiu įgyvendinti linijinis paiešką kaip dvi minutes.
Tai taip paprasta.
Dvejetainiai paieškos nėra, kad išgalvotas, bet ji ketina imtis man kaip 10 minučių,
taip 5 kartus tol, kol.
>> Yra prekyba čia, net kalbant nuspręsti, kokią programinę įrangą rašyti.
Ar rašote paprastesnį algoritmą, kuri bus tiesiog jums dvi minutes?
Arba praleidi daugiau laiko, 10 min, raštu mėgėjas algoritmą?
Kaip jūs nusprendžiate, kad klausimą natūra?
Arba galite padaryti jį šiek tiek daugiau reali.
Sakau mano bosas ji ketina imtis man nei viena savaitė ar 10 savaites
į įgyvendinti programinė įranga tokiu būdu, kaip
Ar jums nuspręsti, kuris algoritmas žalia šviesa?
Karimas?
>> Auditorija: auditorija, I guess.
>> DAVID Malan: auditorijai.
Ką reiškia auditorijos?
>> Auditorija: Jei tai vyksta kurios turi būti vartojamos vartotojų
kas [NESIGIRDI] vartotojų [NESIGIRDI].
Bet jei tai, ką jūs esate tiesiog daro sau
palengvinti problemos [NESIGIRDI] greičiau.
DAVID Malan: Taip, tai greitai ir purvinas yra geras būdas apibūdinti jį.
Iš tiesų, jei esate apibūdinti daug mano laiko
į grad mokykloje, kur Dažnai Parašiau blogą kodą sąmoningai so--
bent jau kaip aš racionalizuotos it-- sąmoningai taip,
nes nors man buvo raštu kodą kad buvo santykinai lėtas vykdyti,
Galėjau parašyti pati kodą gana greitai, išlaidų vos kelios minutės
ar valandos ne dienos.
Ir paaiškėjo, aš kartais reikia miegoti.
Taigi, net jei mano kodas reikalingas 8 valandos paleisti, gerai, kad viskas gerai,
Aš tiesiog eiti miegoti, o ji veikia.
>> Taigi tuo metu, aš pagalvojau, kad tai buvo labai protingas, nors aš, matyt,
dirbo per savo doktorantūros labai lėtai.
Bet, kad Converse yra , kad jei aš būčiau rašymo programinės įrangos
kitiems žmonėms, kurie nerūpėjo daugiau nei man, gerai,
turintys juos laukti 8 valandas, kad grįžti savo paieškos rezultatus
yra ne visi, kad įtikinamos.
Ir taip praleidžia daugiau laiko priekyje rašyti programinę įrangą
kad yra efektyvesnis, labiau kaip mūsų trečiosios algoritmas,
tikriausiai naudos vartotojams laikui bėgant.
Taigi tai tikrai priklauso nuo per laikas, kaip šios išlaidos pridėti.
Jei jūs ketinate rašyti programinė įranga, kad jį naudoti vieną kartą,
tikriausiai gali taip pat daryti greitas ir purvinas, kaip jie sako.
Tiesiog mesti jį kartu.
Tai kodas, trikdo tu, tai taip blogai,
bet ji gauna darbą teisingai, nors tai nėra veiksminga.
Ir atvirkščiai, praleisti daugiau laiko kažką, gauti jį teisingai.
Ir amortizuojamos per laiką, kad iš anksto kaštai metu
tikriausiai verta, jei norite išsaugoti optimizuoti bendrai atveju.
>> Ir iš tiesų, tai yra į temą programavimas, arba kompiuterių mokslas daugiau
Apskritai, bando optimizuoti ne nedažni atveju
bet bendri case-- ką operacija ketina vėl ir vėl vyksta?
Jei jūs ketinate turėti milijardus vartotojų ieško jūsų svetainėje,
jūs tikriausiai turėtų išleisti papildomų savaičių iki priekyje rašymo geriau programinę įrangą,
taip, kad visi jūsų vartotojų naudai.
Dabar pabandykime užfiksuoti tai mažai pavaizduotomis piktogramo-, bet ne tiek daug
Skaitmeninio.
>> Taigi čia tik senosios mokyklos diagrama.
Ir leiskite man pasakyti, kad tai yra laikas.
Ir nesvarbu what-- iš tikrųjų, ne, ne laikas.
Galime įdėti, kad ant kitos ašies atžvilgiu.
Tarkime, kad tai yra laikas, ir tai yra dydis problemą.
>> Ir kompiuteris mokslininkas paprastai galėtų skambinti
tai tik n. n yra kaip Mūsų eiti į kintamasis, kur
n yra skaičius, n numeris, ir tai skaičius kokiomis įėjimai turite.
Šiuo atveju taip, n yra puslapių skaičius.
Taigi tai gali būti 1000. atveju mes tiesiog pasakyta.
>> Taip laikas gali būti bet kuris iš matavimo vienetas.
Galbūt, tai antra.
Galbūt, tai dienas.
Gal tai kaip puslapio posūkiais.
Nesvarbu.
Whatever norite skaičiuoti, kad bus laiko ir kainuos analogiškai.
>> Taigi su tuo pats pirmas algoritmas, jei I, pavyzdžiui,
turėjo 1000 puslapių telefono knyga, Aš ruošiuosi padaryti tašką ten,
nes jei tai 1000 puslapių, jis paėmė maždaug 1000 puslapis Pasirodo, suteikti arba užtrukti.
Ir tada, jei aš buvo 2000-puslapis telefonų knyga,
ir aš ruošiuosi daryti sekundę dot čia, nes už 2000 puslapių,
tai kaip 2.000 sekundžių arba puslapis paverčia ar kas.
Ir todėl, kai aš sakiau anksčiau, tai rūšies tiesinė priklausomybė,
tai buvo tyčinis, nes norėjau vėliau on-- teisę now-- atkreipti liniją.
Tai tipo tiesus linija santykiai.
Nuolydis yra 1/1, jei bus.
>> Tuo tarpu, antra algoritmas Beje, jei turite 1000 puslapių
ir jums buvo naudojant antrą algoritmą, kur aš skaičiuojamas 2 ", tekinimo
du puslapiai vienu metu, turėčiau piešti dot žemiau arba aukščiau mano originalus tašku?
>> Auditorija: žemiau.
>> DAVID Malan: Žemiau, nes, kaip matėme, ji užima mažiau laiko, pusė tiek laiko.
Taigi taškas turėtų būti pusė toks didelis, kaip ir kita.
Ir pati spręsti per čia, tai taškas tikriausiai turėtų būti maždaug ten.
Ir taip mano antras algoritmas, panašiai, yra tiesinė santykius su laiku.
Ir mes galime padaryti ją tokia.
>> Todėl dabar, trečiasis ir paskutinis algoritmas yra šiek tiek sunkiau piešti.
Bet intuityviai, jei aš turiu 1000 Puslapiai su mano trečią algoritmas,
jis turėtų būti tik man kaip 10 žingsnių.
O jei aš turiu 2000 puslapių su mano trečią algoritmas,
jis turėtų būti man ne 10 žingsniai, bet 11, tiesiog dar viena.
Taigi mes tik vos ketiname pamatyti tai.
>> Ir it turns out, jei Aš Padidinti šį, aš
ketina perdėti dėl poveikio, tos linijos formos, galiausiai,
nėra tiesus line-- nes, iš tikrųjų, jei jis buvo,
ji atrodytų daugiau kaip ir others-- tai tikrai lenkta linija
, kad jei mes padidinti, vyksta ieškoti daug daugiau, kaip šis.
It-- gerai, gerai, ignoruoti šią dalį.
Tai buvo mano parkeris vyksta kampas.
Tai lenkta linija, kuri visada didėja, visada, visada, visada
didėja, tačiau tik vos vos.
>> Ir taip, laikui bėgant, jūs turite santykiai, kad daugiau, kaip šis.
Tai beveik atrodo tiesi.
Bet tai vis tiek lėtai auga.
Tačiau beveik visuose taškuose išilgai Jūsų X ašis horizontali ašis,
tai mažesnis nei tų kitų linijų.
>> Taip, tai gali būti santykiai N, kuriuo, jei turite n puslapių,
pateksite n sekundžių.
Tai gali būti santykiai n / 2.
Turite n puslapių, užtrunka Jums n / 2 sekundes, pusė kaip daugelis.
Ir tai yra logaritminė santykiai, kurie
Jei prisimenate, prisijunkite bazę 2 iš n fiksuoja šis augimo natūra, taip sakant.
Taigi tai yra šventas rūšiuoti Gralis tarp šių trijų
čia, nes tai tik dar daugiau efektyvus, bet, be abejo, vis sudėtingesni
įgyvendinti.
Turite klausimų?
>> Na leiskite tai padaryti, leiskite man atverti teksto langą
tiesiog taip mes galime pabandyti formalizuoti kažką čia.
Taigi leiskite man eiti į priekį ir dabar įgyvendinti šį algoritmą
rasti Mike Smith kodas, jei bus, Pseudocode kodas.
Nesiruošiu naudoti Java arba C ++.
Aš tiesiog ketinate naudoti rūšiuoti Anglų-kaip sintaksė, kurį mes
būtų paprastai vadiname Pseudocode kodą.
Čia turiu tuščią langą.
Ir aš sakau iš labai 1 žingsnį Pirmasis algoritmas yra pasiimti telefono knyga.
2 žingsnis yra atversta knyga pirmame puslapyje.
3 žingsnis bus pažvelgti puslapis Mike Smith.
Jei puslapyje, skambinkite Mike.
kitas posūkis puslapis ir pereikite prie 3 veiksmo.
Priimta, tarkim.
>> Ir taip tai ne visai tobulas, kuri matysime iškart.
Bet tegul mano ką sąvokos Aš čia įvesta.
Taigi 1 ir 2 veiksmus ir 3 yra gana daug veiksmažodžiai.
Jie pareiškimus, actions-- tai padaryti.
Ir taip į programavimo kalba, mes paprastai būtų
skambinti jiems ataskaitas arba funkcijos ar procedūros,
jiems skambinti bet daug dalykų.
Bet jie tiesiog actions-- tai padaryti.
>> 4 žingsnis iš esmės skiriasi, nes tai tipo užduodami klausimą.
Tai sakydamas mes natūra ne A kelio šakute.
Jei Mike puslapyje, skambinkite jam, todėl pasukite į kairę, jei bus.
O jei ne, grįžkite į kai kita page-- ar veikiau, atsiprašau,
grįžti į kitą žingsnį, kuris skatina tam tikrą kilpų konstruktą natūra.
Ir mes tai darome vėl ir vėl ir vėl.
>> Ir iš tikrųjų, jūs žinote, ką?
Taip.
else if pabaigoje knygų stotelėje.
Taigi, mes turime rūšies trečioji būklę, nes jūs
negali išlaikyti tekinimo puslapio skelbimą nauseum, nes, galų gale, aš
pateko į knygos pabaigą.
Ir programoje klaidą gali būti nėra numatyti, kad scenarijus.
Ir tada aš tiesiog supratau, oi, palauk minutę, man reikia trečią scenarijų.
Jei aš iš puslapių, aš tikrai turėtų tiesiog sustoti.
Priešingu atveju, tai neapibrėžta.
Kas nutiks, jei aš nuolat sakydamas įjungtumėte puslapį ir grįžti,
Tai yra, kai kompiuteriai užšaldyti arba avarijos, kai paspausite
tam tikrų nenumatytų situacija, kaip kad.
>> Dabar, ką apie Mike Smith trečioji algorithm--
pasiimti telefono knyga, atversta knyga first-- į
ne, ne pirmas puslapis šį kartą, į middle-- oh, gerai, kad būčiau
antrasis algoritmas.
Tegul tik pereiti prie trečiojo.
>> AUDITORIJA: Oi, aš atsiprašau.
>> DAVID Malan: Tai gerai.
Tegul tik pereiti prie third-- Open į viduryje ir dabar atrodo Mike Smith.
jei puslapyje, skambinkite Mike.
Ir tada ką mes norime pasakyti čia?
dar kas?
Mes galime išreikšti tai bet įvairiais būdais.
Nėra teisingas atsakymas.
Gerai, jei ne vėl, bet turime be-- Gerai, mes norime padalinti į dvi dalis,
bet mes norime eiti į kairę arba eiti tiesiai?
Kaip mes išreiškiame ši sąvoka?
Na, Mike atveju, taip, kad tai teisinga.
Bet gerai, kad tikrai geras taškas.
Tai gerai.
Mes nuolat vyksta su šia logika.
So--
>> AUDITORIJA: Mažiau nei pusė.
DAVID Malan: Taip.
Taigi kitas, jei puslapis yra, mes pasakyti, mažiau nei Smith, prie Smith kairėje,
then-- pažiūrėkime, yra tai vyksta komplikuoti?
kitas, jei puslapis yra prieš Smith, ašara per pusę, išmesti kurių pusė?
>> Auditorija: Maniau kad buvo [NESIGIRDI].
>> DAVID Malan: aš klausos ir atsakymus.
>> AUDITORIJA: kairėje.
DAVID Malan: Gerai, mesti toli į kairę pusę, kaip Lakisa
minėjau, į kairę pusę, tada aš rūšies
noriu tiesiog eiti to-- aš einu į dešinę.
Arba analogiškai, ir aš padariau šiek tiek bitų iš pradžių netvarka čia,
Aš iš tikrųjų nori eiti vėl 2 veiksmo,
kur atvira middle-- arba open-- Taip, tegul tiesiog pasakyti, puslapių viduryje.
Ir tai nustato jį.
Tai nebėra knyga.
Tai tiesiog pusė knygos, taip atidaryti puslapius į viduryje.
>> else-- buvo beveik ten.
6 žingsnis, kitas, jei puslapis ateina po Smith, ašara per pusę, išmesti dešinę pusę,
tada pereikite prie 2 veiksmo.
dar mesti, ketvirtas scenarijus, jei Mes neturime puslapiai kairėje pasukti.
Taigi, mes galime valyti tai padaryti.
Ir turėtume valyti tai padaryti.
Tai labai Pseudocode kodas, jei jums bus labai aukšto lygio aprašymas.
Bet tai paprastai užfiksuoti idėja.
>> Ir dar kartą, šis scenarijus, mes turėti būklės sąvoką,
filialas, šakutė kelyje, todėl decision-- jeigu tai, eiti šiuo keliu,
kitur, jei eiti šiuo keliu, kitur, jei eiti, kad taip.
Ir tai yra labai dažnas programavimas technika
nuspręsti, kuria kryptimi eiti, taip sakant.
Ir mes taip pat turi tam tikrą rūšį iš kilpų struktūra, kurioje
mes darome kažką vėl ir vėl.
>> Dabar, it turns out, daug kaip šiame pavyzdyje,
yra itin tikslūs yra labai svarbi.
Bet mes taip pat matė kažką kad mes nuolat skambina abstrakciją.
Ką tai reiškia pasiimti telefono knygą?
Mes tiesiog rūšies atsižvelgiant už suteiktas Šiame kambaryje
kad turi semantinę prasmę.
Visi mes tiesiog rūšies žinoti, OH, Na, pasiimti telefono knyga.
Ką tai iš tikrųjų reiškia?
Na, tai iš tikrųjų reiškia pratęsti vertus, liesos virš išplėsti pirštus,
žiupsnelis knyga tarp pirštų, atsistoti, traukti ranką į save.
Ir mes galime būti tikrai pedantiškas apie tai,
tikrai yra super tikslūs , ką aš darau.
Tačiau visus šiuos žingsnius kartu yra ką tai reiškia pasiimti telefono knyga.
>> Ir taip anksčiau, kai pasakiau, kiekvienas Šių dviejų pirmųjų teiginių
gali būti suvokiami kaip tęsti ar funkcija,
tikrai jis parodo, ką mes nuolat skambina abstrakcija.
Tai kaip aukšto lygio konceptualaus aprašymas problema, kad
iš tikrųjų apima gana keletą žingsnių.
Ir todėl tai, taip pat, yra pasikartojanti tema programavimo,
kuriuo galėčiau parašyti programą naudojant sintaksę kaip this--
pick_up_phone_book ().
Ir tada sintaksiškai, aš ketina pavogti kažką
iš daugelio programavimo kalbų.
>> Dabar, 1 žingsnis atrodo dar daugiau kaip funkcija,
kaip programuotojas būtų jį pavadinti.
Atrodo, kad kažkas kodas davė pavadinimą ir atsižvelgiant į
man naudoti somehow-- kitose tariant, linija aš paryškinti
atstovauja funkcionalumą, kad gal Aš net įgyvendinti save.
Kažkas vyresni, išmintingesnis už man jau suprato,
kaip išreikšti mintį, skinti telefono knyga.
Ir tai kaip penkių etapų aš tiesiog ramybę off, nuo mano galvos viršaus.
>> Tačiau jis jau įgyvendintas tai, davė tuos kelis žingsnius
pavadinimas, pick_up_phone_book.
Ir Skliaustuose ką dauguma programuotojų
padaryti pareiškimų, pavyzdžiui, tai pabaigoje.
Dabar galiu atsistoti ant jo ar jos pečių ir niekada,
galvoti apie tai, ką reiškia pasiimti telefono knyga.
Galiu tik pasakyti, pasiimti telefono knyga.
Ir tai būtent tai, ką Visi mūsų žmonės čia padarė.
>> Kai mes buvome turbūt 1 metų, 2 metai,
kažkas turėjo mus moko, ką jis reiškė pasiimti telefono knyga.
Ir nuo tada, mes išgaunamo toli
nuo labai neįdomu mechaninės žingsniai.
Ir mes tiesiog turėti intuityvus supratimas
ką tai reiškia pasiimti telefono knyga.
>> Ir jūs galite ekstrapoliuoti dabar daugiau sudėtingas Quake
statyti pastatą.
Kaip, kad kai kurie žmonės, kad iš tikrųjų turi reikšmę.
Rangovams, architektams, kad turi prasmę.
Ir jie žino, ką daryti, jei Aš pasakiau, eikite statyti pastatą.
>> Bet dauguma iš mūsų į kambarį negalėjau spręsti, kad abstrakcijos lygiu.
Jūs turite pasakyti mums patinka eikite gauti kastuvas ir eikite gauti betoną
ir nagų medienos gabalus kartu ir kas nors
dalyvauja kuriant pastatą.
Ir tai todėl, kad mes ne dar buvo užprogramuotas suprasti
ką tai reiškia statyti pastatą.
Neturime kad abstrakciją.
Neturime kad funkcionalumą.
>> Ir taip, ką jūs pamatysite programavimo kalbų, apskritai,
ypač daugiau šiuolaikinių kalbų, kaip Java, PHP, Ruby ir Python,
jie daug labiau subrendusios nei vyresnio amžiaus kalbomis,
kaip C ir C ++ ir dar kiti.
Ir taip jie ateina su daugiau funkcionalumas pastatytas.
Daugiau kodas buvo parašyta žmonių, praeityje
kad dabar mes galime skambinti arba pakviesti arba naudoti, kaip aš užuomina
ne su šiuo pabrėžė liniją čia.
Ir todėl, nors mes kalbame ne apie programavimo kalbas per se,
tiesiog Pseudocode kodas, visas idėjos vis dar toje diskusijoje.
Ir paaiškėja, tikslumas yra Super svarbu, nes yra abstrakcija.
Ir pabandykime bendrauti, kad taip.
>> Aš netyčia galėjo sugadinti tai mirksi skaidrę ekrane
per anksti.
Bet leiskite man paklausti drąsus savanoris, jei jūs neprieštaraujate artėja.
Jūs norite būti priešais kamera, jei esate gerai su tuo.
Ar kas nors patinka sugalvoti ir pateikti nurodymai savo kolegomis čia?
Tiesiog turi ateiti čia ir stovėti čia ir sakyti, keletą žodžių.
>> Viktorija šypsosi labiausiai ir išvengti mano akis labiausiai.
Ar esate pasirengę ateiti iki?
GERAI.
Ir jei visi kiti ne savo vietas gali imti laužo popieriaus lapą,
jei bus.
Liniuotas popierius yra gerai.
Ateik aplink šį kelią.
Arba kai kurie iš popieriaus Jums buvo suteikta vakar
bet koks tuščias lapas popieriaus, jei galėtų.
Ir jei jūs neturite, tiesiog kreipkitės į kaimyną, jei galėtų.
>> Taigi, šiuo metu, už Šis pavyzdys, Viktorija
ketina vaidinti vaidmenį programuotojas, inžinierius, kuris
turi programą, kurią visi, kaip kompiuteriai, kažką daryti.
Ir mes pamatyti, ką prielaidas Jums nuspręsti.
Pamatysime, kaip tiksliai ji pasirenka būti.
Ir jei tai demonstravimo eina pedagogiškai gerai, daug klaidų
bus, kad mes tada naudokite kad kaip diskusijų galimybe.
Bet jums iššūkis turėtų būti išvengti šių klaidų,
būti geras programuotojas.
Ir taip po ranka iššūkis, jei norite patiko vaikščioti per čia
yra priešais Victoria ekrane here-- ir tikiuosi, niekas iš jūsų
prisiminti tai, kai aš uždėtinį ekrane.
Ir ne apsisukti ne visi, nes yra dar vienas ekranas šiame kambaryje
kad aš galiu išjungti.
Taigi nereikia apsisukti.
>> Priešais Victoria yra tai, kad tas pats rėkti.
Ir jos darbas dabar yra pasakyti jums visiems Jūsų popieriaus lapo, ką piešti.
Ir mes matome, remiantis žodiniai nurodymai atskirai,
kompiuterinis kodas, jei norite, kaip tiksliai Jūsų piešiniai
are-- savo realizacijos yra.
Logiška?
>> AUDITORIJA: Taip.
DAVID Malan: Gerai, vykdyti.
>> Auditorija: nubrėžti kvadratą.
>> [Juokas]
>> DAVID Malan: Ir ne klausimai gali būti paprašyta.
Gali padaryti tik tai, ką jums sako.
Oh, ir, jei turite šiandien skaidres atidaryti skirtuką, nereikia ieškoti savo kortelę.
GERAI?
>> Auditorija: Gerai, nubrėžti apskritimą.
Slope-- galiu pasakyti nuolydis?
DAVID Malan: Iki jus.
Auditorija: šlaito.
Ir trikampis.
>> DAVID Malan: Gerai.
Ir likti čia tik akimirkai.
Ir aš ruošiuosi ateiti aplink tik akimirkai.
Ir nereikia įdėti savo vardus ant jo.
Leiskite man ateiti aplink ir rinkti savo brėžinius,
jei jūs neprieštaraujate, ašarojimas juos.
>> Štai ką grįžome.
Aš projektuoti jį ekrane.
Matau kvadratas, apskritimas, nuolydis, ir trikampis.
Taigi, tai buvo vienas atsakymas ten.
Ir let's-- oi.
Ačiū.
Štai dar vienas asortimentas, ir vienas už jį.
>> Taigi jie visi atrodo užfiksuoti dvasią.
Ačiū.
Yra dar vienas, o čia dar vienas.
Nuolydis aiškinimas yra šiek tiek kitoks, mažai vingiuota.
Ir arčiausiai, bet dėl ​​to, kad nuostabus specifiškumas, su kuria jūs
aprašyta, o gal natūra mačiau tai anksčiau, tai iš tiesų
Ką Viktorija buvo realiai apibūdinti.
>> Bet dabar, tie iš jūsų, kurie negavau tai teisus,
tegul pasiūlyti keletą prieštaravimų čia.
Taigi Viktorija pirmoji sakė nubrėžti kvadratą.
Ir dabar, mes galime manyti, dėl šiandien labui
kad visi žino, Kaip nubrėžti kvadratą.
Bet tai dar ne visiškai aišku, ar ne?
Kaip dar jums galėtų turėti sudarytas aikštė, arba kai
gali būti kai kurių dviprasmybes čia kompiuterio?
Auditorija: padėtis ir dydis.
DAVID Malan: kur, tiesa?
Visi jūs turėjo tam tikros formos dokumentą, paprastai stačiakampio formos, tačiau šiek tiek
įvairių dydžių.
Bet jūs tikrai galėjo parengti, jei norite, didžiulis kvadratas, gal
mažytis kvadratinis.
Gal, ji buvo pasukti.
Aš nemanau, kad mes pamatėme, kad.
Bet tai galėjo būti daugiau deimantų patinka, bet vis tiek, nepaisant to,
Matematiškai kvadratą.
Taigi, tai buvo, be abejo, dviprasmiškas.
>> Tada ji pasakė, nubrėžti apskritimą.
Kai tu ją nupieškite šalia ji, kuris yra ne pernelyg didele,
nes žmonės linkę galvoti ar skaityti iš dešinės į kairę daugeliu kalbomis, todėl nėra
blogas spėjimas.
Bet, kad ratas gali turėti buvo viduje aikštėje,
galėjo aplink aikštė, galėjo būti kitur
lape, todėl, be abejo, dviprasmiškas.
>> Nuolydis galėjo gal atsižvelgiant daugiausia laisves žodžiu
ką tai reiškia.
Ir kai kurie iš jūsų aiškinama tai kaip deformuoti linija
arba tiesi linija, arba panašiai.
Ir tada trikampis, taip pat gali turėti buvo orientuota bet įvairiais būdais.
Taigi trumpai tariant, net su kažkuo, kad Jūs pažiūrėjus ir jūs kaip, Wow, todėl
paprastas, vaikas galėtų atkreipia į tai, gerai ne
tikrai, nebent esate Super, Super įtikinantys
ir pasakykite kompiuterį ką daryti.
Taigi, jei mes galime, jei turite kitą popieriaus lapas, tegul
bandykite dar kartą.
Ir aš ruošiuosi duoti Victoria vieną kitas pavyzdys ekrane čia.
Ir vėl, nereikia apsisukti ir nežiūri savo skaidres.
Ir aš duosiu jai metas galvoti apie tai, kaip apibūdinti tai.
Neleisk jiems pamatyti Į jūsų akyse baimė.
>> [Juokas]
>> Ir vėl, šį kartą sverto kai kurie iš šių takeaways
ir bandyti gauti beveik visi bent teisingas atsakymas.
>> Auditorija: Gerai, imtis gabalas popieriaus, ieškoti
tos popieriaus lapo viduryje.
Tos gabalas viduryje popieriaus, piešti kubą.
>> [Juokas]
DAVID Malan: Ką mes išmokome?
Mes buvome taip arti.
Gerai, pakartokite, jei galėtų, visiems.
>> Auditorija: Atsižvelgiant į tai, viduryje gabalas popieriaus, piešti objektą,
kuri atrodo kaip kubą.
>> DAVID Malan: Gerai, tai visi jums dirbti.
Leiskite man būti analitinė ir ne tiek daug kritinė,
bet kad pretenziją kad Viktorija tikrai
Atrodo, kad būti mąstymas labai aukšto lygio abstrakcijos, kurios
nėra nepagrįsta.
Nes kitaip, mes visi būti gana asocialių,
jei mes turėjo būti vis tiek tikslūs su ką mes darome pasaulyje.
>> Bet sakydamas eiti į middle-- I maniau, kad mes buvome tokį gerą kelio
ten, kaip eiti į patį vidurį Puslapio, tada atkreipti kubą.
Taigi ji galvoti abstrakcijų, nes ji vis dar peržiūrėti
kas ekrane, kaip iš tiesų yra kubas.
Bet ten tiek daug galimybių aiškinimo ten.
Ir iš tiesų, ten tiek daug kitų būdų galima išreikšti
kad kuri aš pasiūlyti akimirką.
Taigi čia mes turime vieną įsikūnijimą iš picture-- whoops-- vieną
įsikūnijimas paveikslėlyje, todėl mažai erdvinį į jį,
kuris yra gražus.
>> Štai dar vienas, kur jūs turite Tas pats, nors tai tipo atvirą kubo.
Kai kurie žmonės jį paėmė šiek tiek daugiau butas, dviejų matmenų.
Ir tai gerai.
Taigi, iš tiesų į centras popieriaus.
Tai vienas manau, kad jūs patinka, nes jei mes einame čia
Tai yra tai, ką ji buvo aprašyti.
Taigi dabar leiskite man pasiūlyti, kaip kitur galime apibūdinti šią situaciją.
>> Atgal per dieną, vienas iš labiausiai labiausiai paplitusių būdų, kaip išmokti programuoti
buvo parašyti kodą, rašo linijų instrukcijas,
kad kontroliuojama šiek tiek vėžlys ant ekrano.
Logotipas ir kiti variantai tai buvo kalbos pavadinimas.
Ir vėžlys gyveno pasaulyje.
>> Taigi tarkime, šį Stačiakampio erdvė yra jo pasaulis.
Ir jūs pradėti assuming-- I tikrai nežino, kaip padaryti vėžlys,
tad tai padaryti, kaip šis.
Ir tada jis atšoko lukštais ir tada gal kai kojos.
Taigi jums gali tekti tai tiek simbolis ekrane.
>> Ir šis objektas programavimo kalba
buvo priversti vėžlys eiti aukštyn, žemyn, į kairę, dešinę
ir įdėti savo rašiklį arba pasiimti savo užpildytą švirkštimo priemonę aukštyn,
todėl jis iš tikrųjų galėtų piešti ant ekrano tai labai lygaus stačiakampio pasaulyje.
Taigi, kur aš maniau, kad galbūt dalyvausite, ir kur jums reikia apsvarstyti, nardymas
iki psichiškai apibūdinant instrukcijos apskritai,
Norėčiau teigti, yra įdėti savo tušinukas žemyn middle--
ir mes Atsikratykite vėžlys, nes aš tikrai negali
laikyti piešimo jį labai gerai.
>> Ir dabar, kaip kitaip galėtų Sakau nupiešti kubą?
Na, galima sakyti kažką panašaus lygiosiomis įstrižainės linija šiaurės rytus, pavyzdžiui,
arba ne 45 laipsnių kampu į viršų.
Ir tai galėjo Dotarłeś mane čia.
Ir aš esu gana toli nuo kubo.
Bet dabar, galėčiau pasakyti kažką kaip pasukti 90 laipsnių kampu į kairę
ir nupiešti liniją vienodo ilgio šiaurės vakarus.
Ir aš galėčiau toliau su panašiomis kryptimis.
Ir ji nesiruošia būti lengva.
Ir tiesą sakant, mes tikriausiai būtų čia buvo penkias minutes.
Bet gal mes Dotarłeś į kažkas, kad ne dienos pabaigoje
galų gale buvo kubas, bet mes nėrė į vidų tos abstrakcijos
daryti ne tokia maža lygio, kad jūs tikrai negali
pamatyti, ką jūs darote, kol visa dalykas yra iš tikrųjų ten puslapyje.
Ir taip, tai yra bendrasis teisės principas, vėl iš programming-- šią idėją
abstrakcijos.
Tai taip nuostabiai galingas, nes vėl,
ji tik pasakė, piešti kubą, kuris visus mums gana daug būtų Grok labai greitai.
Mes tiesiog suprasti, Gerai, piešti kubą.
Mes gali nežinoti orientaciją, kad galėtume būti šiek tiek tikslesnis,
bet mes paprastai gali įsivaizduoti ar žinote, kas yra kubas.
Ir tai naudinga, nes jei kiekvieną kartą, kai
atsisėdo kaip ne programuotojas Jūsų klaviatūra rašyti kodą,
jei turėjo galvoti ne toks žemo lygio, nė vienas iš mūsų
kada nors gauti ką nors padaryti.
Ir, žinoma, nė vienas iš mūsų mėgautis rašyti kodą procesą.
Tai būtų panašu raštu 0 "ir 1-ųjų, kuri atvirai buvo ne visi, kad seniai
žmonės buvo raštu kodą 0 "ir 1-aisiais.
Ir mes labai greitai atėjo su tai aukštesnio lygio languages--
C ++ ir Java ir kt.
>> Taigi pabandykime tai dar kartą tik apversti lenteles, kad mums visiems
turi galimybę mąstyti gana tuo pačiu būdu.
Ar mes dar vieną savanorį šį laikas sugalvoti lentos ir piešti,
ne deklamuoti?
Taip, gerai.
Benas, nagi iki.
Ir, Benas, šiuo atveju, kai jūs susiduria su lenta, nereikia ieškoti į kairę,
nežiūrėk į dešinę.
Tik tai, ką jūsų kolegos čia jums pasakyti.
Ir visi kiti kambarys, dabar jūs esate programuotojas.
Jis kompiuteris.
Ir vaizdas aš pasirinko čia iš anksto tai vienas čia.
Jie just-- jie galvoja iš juokinga anekdotą yra viskas.
>> Taigi būtų ar kažkas panašaus į savanoriu pirmąjį instrukcija
ar teiginys, kad turėtų komandą Ben rašiklis?
Ir mes tai padaryti kartu, gal vienas nurodymą kiekvienam asmeniui.
Aš atsiprašau?
>> Auditorija: Lygiosios ratą.
DAVID Malan: Lygiosios ratą yra pirmas dalykas, aš girdėjau.
>> AUDITORIJA: Iki viršuje.
>> DAVID Malan: Iki viršuje.
Gerai, mes galime jums ištrinti, anuliuoti.
Ir dabar, nors kitur.
Danas, tu būti patogūs siūlo kitą nurodymą?
>> Auditorija: Žinoma, atkreipti centrą iš apskritimo apačioje,
su small-- šiek tiek Mažoje erdvėje to,
nubrėžti tiesią liniją iki trijų ketvirtadaliai kelią žemyn lentos
šiek tiek kampu į kairę.
>> DAVID Malan: Geras.
>> Auditorija: šiek tiek kampu.
>> DAVID Malan: Atšaukti, valdymo-Z ". GERAI.
Andriejus, norite pasiūlyti iki kitą nurodymą?
>> Auditorija: Žinoma.
Iš šios linijos apačioje, dar šiek tiek angle--
whoops-- gal maždaug trečdaliu ilgio [NESIGIRDI],
nedideliu kampu žemyn ir tarsi trečdalį [NESIGIRDI] ilgio.
Taigi, taip, nuo to momento, nubrėžti liniją trečioji
iš ankstesnės ilgio linija toliau į kairę.
>> DAVID Malan: Tai gerai?
Tiesi linija, tai gerai?
Gerai Olivier, norite pasiūlyti iki kito?
>> Auditorija: [NESIGIRDI] iš apačioje apskritimo [NESIGIRDI].
Lygiosios dešinėje pusėje apie [NESIGIRDI] centimetrų.
>> [Juokas]
>> DAVID Malan: Manau, kad jūs ketinate turi konvertuoti tai colių čia.
>> AUDITORIJA: Stop.
>> [Juokas]
>> DAVID Malan: Gerai.
[? Ara,?] Norite pasiūlyti iki kito?
>> Auditorija: Lygiosios [NESIGIRDI] viršutinė [NESIGIRDI] tą patį.
[NESIGIRDI] ratas, atkreipti į [NESIGIRDI] ir atkreipti [NESIGIRDI].
>> DAVID Malan: Gerai, ne daugiau atšaukti.
Darom dar vieną ar du instrukcijas.
Chrisas, norite pasiūlyti vieną?
>> Auditorija: Apačioje apskritimo, [NESIGIRDI]
atkreipti vienodą linija slopping žemyn į kairę [NESIGIRDI].
>> DAVID Malan: Gerai.
Andriejus?
Mes did-- Karim?
>> AUDITORIJA: Nuo iš dešinės linijos, kairiojo linijos gale, iš apačios,
jūs ketinate eiti tiesiai apie tokio pat ilgio kaip tos linijos
esate, piešimo teisė [NESIGIRDI].
[NESIGIRDI] laipsnių, todėl [NESIGIRDI] laipsniais dešinėje pusėje.
>> DAVID Malan: Gerai.
Leiskite pristabdyti.
Negalima apsisukti dar.
Leiskite pristabdyti, ir tegul išbandyti vieną kitą bandymą
kol mes atskleisti Ben ką jis buvo piešti.
Ar galite shuffle Benas į right-- ar iš tikrųjų,
Ne, tegul tiesiog duoti jums kita lenta, dar geriau.
Taigi būtų kažkas dabar patinka imtis daugiau metodą
kad Viktorija paėmė anksčiau, kur kalbame aukštesnio lygio abstrakcijos
ir tik sakinyje ar du apibūdinti Ben
ką atkreipti be gauti į piktžoles,
taip sakant, ne tai žemesnio lygio?
Viktorija.
[Juokas]
Auditorija: Lygiosios figūrą iš pėsčiųjų žmogus.
Ir jo kojos ir rankos turi būti dešinėje pusėje.
>> DAVID Malan: Gerai, kad viskas jums.
Gerai.
Kodėl mes atskleisti Ben ką jis padarė.
Taigi plojimų.
Tai buvo sunkiausia turbūt.
>> Taigi, nors mes kalbame gana kvailas sąlygomis
apie tiesiog piešimo nuotraukos, tikiuosi jums
tikrai gali vertiname laipsnį ekspresyvumas, kad gali prireikti
siekiant papasakoti kompiuterį, ką daryti.
Ir iš tiesų, tai, kad Benas galėjo taip greitai atkreipia į tai
yra tarsi testamentą, kad naudojant kalba, o gal aukštesnio lygio
versija anglų kalba, kuri leidžia jį tiesiog naudokite žodžius, ar išgirsti žodžiai
nuo Viktorija, kad jį būtų galima tai abstractions-- tiesiog atkreipti
figūra vaikščioti į right-- kad tarsi turi
kai semantinė prasmė jai tai nėra beveik kaip akivaizdus, ​​kai jūs tiesiog
sakydamas, įdėti švirkštimo žemyn, atkreipti į dešinę, atkreipti į kairę.
>> Ir todėl tai, taip pat yra labai bendro programavimo.
Tai galima sakyti, bus kaip labai žemo lygio kalba, programavimas
į 0 "ir 1-ųjų, jei bus.
Ir tai būtų didesnis lygis Kalba programavimas Java,
arba kažkas panašaus.
Turto tiek supaprastinimas, bet tai
apie kaip emocinis rūšiuoti jausmas, kad jūs jaučiatės, kai
naudojant vienos rūšies dalykas ar kitą.
Nusivylimas tiek čia poreikiu tokio tikslumo, bet galimybė
būti šiek tiek laisvesnės su čia aiškinimas.
Bet, žinoma, klaidų gali kilti, kaip rezultatas.
>> Jei norite ne home-- mes nebus padaryti vieną class--
bet jei norite pareikšti šį vieną namuose,
Maniau mes neria į tai.
Taigi, jei jūs norite, kad žaisti šį žaidimas su jūsų kitų svarbių
arba vaikai arba panašūs, galite gali džiaugtis, kad taip pat.
>> Taigi eikime į priekį ir pažvelgti į vieną paskutinio dalykas čia skaičiavimo mąstymo.
Ir tai mus atveda prie Jono Oliver ne klipo
galbūt matėme praeitą naktį, bet šiek tiek neseniai klausimu.
Po kelių mėnesių atgal Volkswagen paėmė gana neperšaunamas tiek
dėl kokios priežasties, jei žinote?
Ką jie gauna į bėdą ieškote?
>> Taip, taip, emissions-- jie buvo bando įveikti emisijas
testai pagal iš esmės turinčios savo Automobiliai teršia aplinką mažiau
kai jų automobiliai buvo bandomi ir teršia aplinką daugiau
kai automobiliai nebuvo bandoma.
Ir kas vis įdomiau pasaulyje, kaip jums gali turėti numanomas
nuo diskusijų like-- kas it-- CarPlay, Apple programinė įranga automobiliams
ir tai, kad daugelis mums vis
turi sensoriniu ekranu mūsų automobilių, ten bauginantis suma
programinė įranga Liaudies Automobiliai šiandien, kuris
atvirai atidaro visą skardinę kirminų kai bus kalbama apie saugumą ir fizinį pavojų.
Tačiau šiandien, tegul sutelkti dėmesį į tai, ką yra
dalyvauja rašymo programinės įrangos kad galėjo gamed sistemą.
>> Dėl apibrėžimo problema, tiems, nepažįstamas,
tegul John Oliver išvaizdą.
Ir tiems, susipažinę su problema, pažvelkime į jį
smagus objektyvas per John Oliver taip pat.
Taigi leiskite man nukentėjo žaisti, aš manau, trijų minučių Įvadas.
Velnias.
[Vaizdo įrašų atkuriamų]
-Cars--
DAVID Malan: Akivaizdu, kad "YouTube", it's--
- --Draugai Protingiausias simbolių Greiti ir įsiutę filmus.
Šią savaitę vokiečių automobilių gamintojas "Volkswagen" atsidūrė
esant skandalo viduryje potencialiai baudžiamosios proporcijas.
>> -Volkswagen Yra ruošiasi milijardus baudų, galimi kriminaliniai kaltinimai
savo vadovų, kaip bendrovė atsiprašo
už takelažas 11 milijonų automobilius padėti jai įveikti išmetamų teršalų bandymai.
>> -apibrėžimai Dyzeliniai modeliai buvo sukurta su sudėtinga programinė įranga, kad
informaciją, kuri naudojama, įskaitant pozicijos vairaračio ir transporto priemonės
greitis, siekiant nustatyti, ar automobilis buvo vyksta išmetamųjų teršalų bandymo.
Pagal šią aplinkybę, variklis būtų sumažinti toksinių kiekį.
Tačiau automobilis buvo suklastoti apeiti kad kai ji buvo išstumti.
Išmetamųjų teršalų kiekis padidėjo nuo 10 iki 40 kartų virš priimtino EPS lygių.
>> -Wow, Nuo 10 iki 40 kartų didesnė negu AAA leidžia.
Tai pats blogiausias dalykas Volkswagen kada nors padaryta,
yra kažkas, ką gali pasakyti, jei Jūs niekada girdėjote apie Antrojo pasaulinio karo.
Bet gal patikimiausias ženklas, kaip daug problemų "Volkswagen" yra,
yra tai, kad žmonės bent Top jau atsistatydino.
Generalinis direktorius atsistatydino trečiadienį, kai stengiamasi padaryti žalos kontrolę,
sakydamas jis buvo be galo gaila, kuris skambėjo puikiai, kol paaiškėjo,
jis buvo tik 10% atsiprašau bet buvo suklastoti savo burną
dirbtinai išpūsti savo sorriness.
O tuo tarpu, Volkswagen JAV vyriausiasis turėjo savo paties atsiprašymo.
>> -ėlis S būti aišku, apie tai, Mūsų įmonė buvo nesąžiningas.
Ir mano Vokietijos tariant, mes jau visiškai įsukus.
>> -Yeah, Bet visiškai prisukamas iki nesate Vokietijos darbai.
Ir vokiečių kalba yra daug gražių frazių
apibūdinti situacijas kaip tai, pavyzdžiui, [VOKIEČIŲ], o tai reiškia, maždaug,
liūdesys, kuris ateina iš verslo susiję melo,
arba [VOKIEČIŲ], o tai reiškia kaip sugėdinti tuos tėvą dalyvauja
debesys benzino.
Tai gražus kalba.
Jis tiesiog plaukia ne liežuvį.
Ir beje, o to žmogaus atsiprašymas gali skambėjo nuoširdus,
verta pažymėti, jis kalbėjo ne oficialiai paleista šalis 2016
Volkswagen Passat, o tai reiškia, kad netrukus po sakydamas Atsiprašome, jis pasakė tai.
>> -Ačiū Jums labai už atėjimą.
Mėgaukitės vakarą.
Toliau yra Lenny Kravitz.
>> [GROJA MUZIKA]
>> Ok, gerai, baigiant savo atsiprašymas su iki kito
Lenny Kravitz nėra rėkti blaivus atgailos.
Ji rėkia, mes paprašėme Bon Jovi ", ir jis sakė, kad ne.
Volkswagen markės buvo suniokotas.
Ir tiesą sakant, jų naujas skelbimas kampanija nėra tiksliai padėti.
>> - [VOKIEČIŲ], mes Volkswagen norėtų atsiprašyti už apgaudinėja jus
Mūsų transporto priemonės.
>> [PABAIGA PLAYBACK]
DAVID Malan: Taigi tai buvo apylanka of-- sorry--
tai buvo žiedinė būdas įvedant pagrindinę problemą
programinės įrangos, kuri yra, kad jūs reikia nustatyti tam tikras sąlygas.
Ir taip po ranka klausimas čia yra, kaip veikia automobilis potencialiai
kaip įgyvendinama programa Šių programuotojų,
aptikti, kad jis iš tikrųjų bandoma?
Taip, kad būtų super skaidrus, ką jie daro
buvo, aplinkoje, kurioje programuotojai raštuotas
automobilis buvo yra išbandyti, jie kažkaip padarė
automobilis išmeta mažiau teršalų kiekį, mažiau emisijos, taigi mažiau toksiški garai
ir tokių.
Bet kai tai paprastai vairavimo kelyje,
jis tiesiog išmeta kiek taršos, kaip ji norėjo.
>> Taigi, kaip mes galėtume parašyti Pseudocode šiam algoritmas?
Kaip mes galime parašyti Pseudocode už programinės įrangos, veikiančios automobilį?
Aš turiu galvoje, trumpai tariant, jis verda žemyn į kažką panašaus į tai.
jei bandomos, išmeta mažiau.
dar skleidžia daugiau.
Bet tai šiek tiek per aukšto lygio, tiesa?
>> Pabandykime pasinerti, ką tai paimamo bandomos priemones.
Kitaip tariant, net jei nieko žinoti apie automobilius, kokios klausimus
gali jums užduoti siekiant nustatyti, ar Jūs esate išbandomas, jei esate automobilyje?
Kas charakteristikos gali būti pateikti, jei automobilis yra išbandyta?
>> Auditorija: Tikrinimo įranga.
>> DAVID Malan: Tikrinimo įranga.
Taigi, jei testavimo įranga netoliese, tada išmeta mažiau.
Taigi galėjau įsivaizduoti įgyvendinant kad su kai fotoaparatų rūšies
arba aptikti, kas vyksta aplink jus.
Ir leiskite man pasiūlyti, kad tiesiog jaučiasi pernelyg sudėtinga
iš tikrųjų turi papildomų aparatūros tik šiam tikslui.
>> Auditorija: Jei esate parkas, jei jūsų dangtis yra atidarytas.
>> DAVID Malan: parke ar dangtis atidarytas, kad tai gerai.
>> Auditorija: Ir automobilis veikia.
>> DAVID Malan: Taigi, kad šiek tiek daugiau concrete-- ir automobilių veikia.
Taigi tai būtų Kurių konjunkcija keletas skirtingų sąlygų, jei bus.
Taigi, jei automobilis yra parke, ir net nors tai yra labai mechaninis dalykas
paprastai, galėjau įsivaizduoti rašymo programinės įrangos,
ypač, nes ten dažnai šviesos ten šių dienų,
Galėčiau įsivaizduoti ten yra programinę įrangą, kuri gali užklausti shifter
ar kas ne, tu parke, yra jums vairuoti, tu atvirkščiai.
Ir aš galiu grįžti atsakyti, kad tai arba taip
arba ne tiems klausimus rūšių.
>> Ir todėl aš taip pat galėtų atsakyti klausimas kaip, yra dangtis atidarytas.
Gal ten kai jutiklio natūra kad arba man duoda atgal 1 arba 0,
true arba false, dangtis yra atidarytas.
Ir tada automobilis veikia, galėčiau aptikti kad kažkaip per koks mechanizmas?
Kaip, automobilis veikia, aš gali aptikti, kad jis įjungtas,
galėčiau aptikti kažkaip kad automobilis juda?
>> Auditorija: RPM.
>> DAVID Malan: Taip, taip, ten visada, kad adata, kad
pasakys, kiek apsisukimų per minutės ratai patiria.
Ir, kad galėčiau pažvelgti į tai.
Ir jei tai ne 0, tai tikriausiai reiškia, kad automobilis juda.
Bet turime būti tiek ten gerai,
because-- tegul supaprastinti this-- jei mes ką tik pasakė, jei automobilis veikia,
mes nenorime tiesiog išmeta mažiau, mes norime, jei automobilis veikia
ir tai yra patikrinta.
>> Taigi yra keletas kitų ingredientų, kurie žmonės
jau iškėlė hipotezę, programinė įranga daro, nes nesant faktinio kodą,
galite tik tarsi numanyti iš fiziniai poveikiai automobilio kaip kas
gali būti vyksta po Į programinę įrangą gaubtu.
Taigi, jei automobilis veikia ir gal tarkim, galiniai ratai juda ne,
gali tai orientacinio pobūdžio kai kurių bandymo natūra?
Ką aš užuomina čia?
Taip, galbūt, tai ant vieno tų ritininių dalykų,
kur kaip ratai sukasi priekyje arba gale,
priklausomai nuo to, ar tai priekinis ratas arba galiniai varantys ratai, todėl pusė ratų
yra juda, bet kiti du ne,
yra keista situacija realiame pasaulyje.
Jei važiuojant kelių, kad neturėtų atsitikti.
Bet jei jūs esate į sandėlį ant kai kurių ritinių sistemoje natūra
kad iš tiesų gali atsitikti.
>> Manau, žmonės taip pat pasiūlė, kad gal jei automobilis veikia ir vairo
Rato ne juda, kad per gali būti signalas,
nes tai pagrįsta kaip iš karto ant kelių.
Bet net ir tada, žmogaus tikriausiai perkelti jį šiek tiek ar tikrai
per kelias sekundes.
Arba kursas minučių, šansai yra tai ne
bus fiksuojami lygiai tas pats pozicija.
>> Taigi, kitaip tariant, mes gali imtis substraction,
tu buvo išbandyta, ir suskaidyti tą funkciją
į šių komponentų ingredientų.
Ir tai tikrai ką Volkswagen inžinieriai kažkaip padarė.
Jie rašė programinę įrangą sąmoningai nustatyti, ar automobilis yra išbandyta,
Todėl išmeta mažiau, kitur nespinduliuoja įprastu būdu.
>> Ir problema čia taip pat yra tai, kad programinė įranga yra ne
kažkas tikrai galima pamatyti nebent turite vadinamąjį kodą.
Taigi ten dvi skirtingų tipų code-- bent dviejų skirtingų tipų
kodo pasaulyje.
Yra kažkas vadinamas šaltinis kodas, kuris yra ne kitaip nei
mes jau raštu, kodą.
>> Tai kodo parašyta kalba vadinama Pseudocode,
kuris yra tiesiog kažkas anglų-patinka.
Nėra formalus apibrėžimas jį.
Bet C, ir Java, C ++, tie, yra visi formalūs kalbos, kad
kai rašote į juos, ką turite yra tekstinis failas, kuriame yra šaltinio kodą.
>> Bet yra taip pat kažkas pasaulis vadinamas mašininį kodą.
Ir mašina kodas, deja, yra tik 0 "ir 1-aisiais.
Taigi mašina kodas yra kas mašinos suprasti, žinoma.
Šaltinis kodas yra tai, ką žmonės supranta.
>> Ir paprastai, bet ne visada, yra programa,
kad programuotojas naudoja, kad mano šaltinis kodas ir paverčia jį į mašininį kodą.
Ir kad programa yra paprastai vadinamas sudarytojas.
Taigi jūsų indėlis yra kodo, Jūsų produkcija yra mašina kodas,
ir sudarytojas yra gabalas programinę įrangą, kuri daro šį procesą.
Taigi tai iš tiesų žemėlapiai gražiai Mūsų įėjimai, algoritmai, išėjimai.
>> Bet tai yra labai specifinė įsikūnijimas iš, kad, kuris yra pasakyti, kad,
net jei turite viena Volkswagen Automobiliai kad yra kaltas dėl to,
tai nepatinka, galite tiesiog atidaryti gaubtas arba atidaryti vartotojo vadovą arba ieškoti
tuo kodo, nes iki to laiko, jis pasiekia savo automobilį jūsų Driveway,
jis jau buvo paverčiamas 0 "ir 1-aisiais.
Ir tai labai sunku, netgi neįmanoma, bet labai sunku rankioti daug kas
nuo tiesiog ieško ne pagrindinės 0 "ir 1-ųjų.
Taigi jūs galite suprasti jį, galiausiai, jei jums suprasti, kaip mašina operates--
"Intel inside-- jei jums suprasti Intel architektūra,
bet tai labai daug laiko.
Ir net ten, galbūt negalės pamatyti viską
kad kodas tikrai gali padaryti.
>> Turite klausimų apie šį ar tai rūšies procese apskritai?
Ir iš tikrųjų, mes galime susieti šią diskusiją į vakarykštį diskusijoje "Apple".
Tai, taip pat, kodėl FTB galite ne tik eiti ir ieškoti įtariamojo telefoną
ir rasti kodo linijų, pavyzdžiui, kad leistų kodą
arba įjungti, kad 80-milisekundės uždelsimą.
Nes iki to laiko, tai nuo kolegų iPhone,
jis jau buvo konvertuojami į 0 "ir 1-aisiais.
>> Na, tegul pristabdyti čia mūsų pažvelgti skaičiavimo mąstymo.
Kodėl mes imtis 15 minučių pertrauką.
Ir kai mes grįžti, mes pažvelgti programavimo išvaizdą
pati ir pradėti map kai Šių aukšto lygio sąvokų
realų, jei žaismingas, programavimo kalba.