DAVID Malan: Velkominn aftur, allir. Svo í gær, þú munt muna að við áherslu á þessi málefni hér. Þannig að við þurftum fjórar heildstæðu topics-- næði, öryggi og samfélag; Internet tækni; ský computing; og að lokum, vefur þróun. Did einhver hafa bandbreidd eða tíminn til að horfa smá John Oliver í gærkvöldi? Það er reyndar mjög skemmtilegur, ef ekki smá ógnvekjandi. Einhverjar spurningar um neitt við gerðum í gær? Hvaða skýringar? Einhverjar spurningar sem þú vilt gera viss um að við snerta á dag í einhvers konar? Svo hreint borð. Svo er það á dagskrá í dag? Þannig að ég hélt að við myndum byrja í dag með að líta á það sem er almennt þekktur sem computational thinking-- á hætta á oversimplifying, hugsa eins og tölva, kannski hugsa eins verkfræðingur, og reyna að byrja að að skipuleggja hugsanir þínar eða til að gefa þér betri tilfinningu hvað er að ræða í raun og veru valdmannslegur tölvu til að gera eitthvað með því að forritun. Og við munum halda henni á nokkuð mikil, nánast enska, en reyna að nota kunnuglega dæmi til að móta hvernig þú myndir fara um að leysa vandamál. Og við munum endurskoðun sumir CS efni, eins og abstrakt, sem kom upp nokkra sinnum í gær, reiknirit, og þá framsetning. Og það er þar sem við munum byrja í dag í bara smá stund. Þá munum við taka a líta á forritun. Við munum taka a líta á sumir grundvallaratriði býr sem þú gætir verið kunnugt og gæti jafnvel fundið alveg innsæi. Við munum líta, í raun, á sýnishorn forritun umhverfi sem er mjög aðgengileg, mjög fjörugur og örugglega miðaðar fyrir 12 ára og eldri. Við munum eyða nokkrum mínútum þar og síðan taka það til lægra og í raun tala um suma af reiknirit og gögn uppbygging, svo að segja, að forritarar nota venjulega til að leysa vandamál mun fleiri skilvirkari en þú gætir vera fær um að gera án þeirra að öllu leyti. Síðan eftir hádegi, munum við taka a líta á stafla tækni, sem er bara fínt leið til að segja söfn tækni sem þú gætir notað til að leysa nokkur vandamál. Og við munum tala um stafrófið súpa af tungumálum sem eru fyrir hendi today-- Java og Python og C ++ og PHP og Ruby og alls kyns öðrum hlutum. Við munum taka a líta stuttlega á hönnun mynstur. Forritari, með tímanum, hafa samþykkt aðferðafræði sem hafa tilhneigingu til að hjálpa þeim leysa vandamál meira fúslega. Þegar þú byrjar að sjá þig skrifa sams konar kóða aftur og aftur, fólk formlega þá endurtekning og Tjáið nöfn til þeirra og þá nota þá og stuðla að þeim, að lokum. Og við munum tala svolítið um hreyfanlegur aðferðir, eins og hvað þýðir það í raun gera hreyfanlegur app eða hreyfanlegur website. Ert þú að gera það fyrir Android? Gerir þú það fyrir iOS? Gerir þú það bæði af þeim? Og hvað eru trade-offs? Og svo að lokum, við munum taka líta vefur forritun, sem er samheiti virkilega lýsa hvenær þú skrifar hugbúnað sem er ætlað að keyra á vefnum, hvort sem er á símum eða skjáborð eða fartölvur. Við munum taka stutta líta á gagnagrunna og hönnun þar, ef aðeins vegna þess að næstum allir áhugavert vefur-undirstaða umsókn þessa dagana er einhvers konar gagnagrunn. Annars myndi það bara að vera kyrrstæð efni. Og gagnagrunni leyfir þér að gera breytist með tímanum, hvort þér eða frá notendum. Og við munum íhuga hvernig þú myndi fara að hanna að gagnagrunni og hvers konar hrognamál sem gætu komið upp í verkfræðingur er umræðu á hvítt borð þegar í raun framkvæmd app í fyrsta skipti. Við munum tala stuttlega um API, gagnlegar þjónustu sem þú getur notað til að standa á herðar annarra, hvort sem fyrirtæki eða einstaklingar, og leysa þinn eigin vandamál hraðar. Og þá munum við dabble kannski svolítið með JavaScript, forritunarmál sem er notað Bæði í vöfrum þessa dagana, en einnig í netþjónum. Og kannski, munum við endurskoðun, sem tími leyfir, sumir af the snertið ekki-á vefnum efni sem við gerði í gær og samþætta þetta tvennt saman áður en við adjourn. Svo með that-- hvað er ahead-- er eitthvað vantar að þú langar að tryggja að við að setja og snerta á á einhverjum tímapunkti. Ef það er lindir upp í hugann, koma með það upp áður en langt. En hvers vegna eigum við ekki að byrja með líta á computational hugsun. Og láta mig leggja til að computational hugsun er, aftur, tegund af háu stigi lýsingu hvað tölva vísindamaður gæti gert. Og reyndar, við skulum byrja með þremur innihaldsefni sem gæti farið í computational hugsun. Þetta er bara ein leið til að lýsa því. Við gætum vissulega skilgreina þetta í allir tala af lifnaðarhættir. En láta mig leggja, fyrir sakir dag, að vandamál heimsins, öll vandamál heimsins, þegar nálgast með tölva vísindamaður gat að skoða og það sem við munum kalla inntak, sem þurfa að fá nóg í það sem við munum kalla reiknirit, sem þá víkur framleiðsla. Með öðrum orðum, allt heimur leysa vandamál I kröfu er hægt að eima í þessir þrír innihaldsefni. Svo hvað ég meina með aðföngum? Inntak er bara það sem þú ert afhent í því skyni að leysa. Til dæmis, hér er gamla skólanum vandamál. Ef ég er með símaskrá hér og Ég vil líta eitthvað inn í það, þetta er inntak mitt. Ég hef 1.000 eða svo síður í símaskránni. Þetta er inntak til vandamáli mínu. Og ég vil finna eitthvað eins og Mike Smith, þannig vinar Hvers nafn og númer er vonandi í þessari vistfangaskránni. Þetta er fyrir daga klefi sími, þannig að ég get ekki bara að leita að því. Svo ég verð að gera það gamla skóli og í raun leit þessi inntak fyrir einhverju svari. Og það svar er bara að fara að kallast framleiðsla. Svo inntak er símaskrá. The reiknirit er hvað sett af skref sem ég nota til að finna Mike Smith. Og framleiðsla er, vonandi, Mike Smith símanúmer. Og þetta þá væri bara Fulltrúi flest allir vandamál að við að þú ert afhent inntak og vilja til að framleiða afurðir. Svo áður en við teljum ferlið sem við getum leyst þessi vandamál, finna Mike Smith og eitthvað svoleiðis, við skulum íhuga fyrst og að last-- inntak og framleiðsla. Líkamlega, auðvitað, inntak hér er a heild búnt af pappír límd saman í formi símaskránni. En tölvur, af course-- fartölvur og skjáborð og jafnvel símum þetta days-- þeir eru raftæki. Og í lok dagsins, hvað er eina inntak við tölvu? Jæja, það er eitthvað eins og þetta rafmagnsleiðsla hér. Ég stinga því inn í vegg, og Ég fæ flæði rafeinda, sem gerir mig að keyra vélina. Eða kannski þeir rafeindir eru búin með því að rafhlöðu minn. En í lok dagsins, það er það eina sem að fara inn í fartölvuna mína. Og svo margt áhugavert efni er á endanum að koma út, hvort með því að prentaranum eða skjár eða audially eða þess háttar. Þannig að ef allt sem við höfum sem okkar grundvallaratriði inntak við tölvu er rafmagn, svo bara rafeindir fara í og ​​eða út, og svo hvernig getum við notað það inntak að í raun tákna information? Með öðrum orðum, hvernig fáum við frá einföldum flæði raforku að fulltrúi raunverulegt tölur eða raunveruleg bókstafir eða raunveruleg myndir á skjánum eða raunveruleg bíó eða e-mail eða allir tala af þessum hærra stig hugtök, ef þú vilt, að á lok dagsins einhvern veginn verða að vera geymd á þessu rafræn vélrænni tæki nota aðeins einfaldur ingredients-- rafeindir koma inn og út? Svo virðist sem, Í einföldustu mynd, eina tegund af ríkjum Ég hef í mínum heimi, svo að speak-- skilyrði í world-- minn er annaðhvort Ég hef rafeindir flæða, rafmagn flýtur, eða ég not-- svo framvegis, burt. Og við skulum formlega á og burt, sem tölva vísindamaður gæti, með bara 1 og 0. Við skulum lýsa bara sumir handahófskennt en í samræmi númer við það. 1 þýðir á, 0 þýðir burt. Eða þú gætir líka skoðað þetta sem sannur aðferðir á og rangar leiðir. Þú gætir líka gert svart og hvítt eða rautt og blátt. Þú þarft bara tvo lýsingarramma. Og tölva vísindamenn myndu almennt bara nota 0 og 1. Þannig að ef það er málið, aðeins stafrófið minn er samanstendur af 0 og 1 er, hvernig gæti ég fengið hugsanlega að jafna fjölda 2 í tölvu, hvað þá númer 3 eða bréf í stafrófinu eða mynd eða bíómynd? Hvernig eigum við að svoleiðis bootstrap okkur frá þessari grundvallarreglu af 0 og 1 er og í raun tákna eitthvað meira áhugavert? Jæja, við skulum setja þessi spurning á bið fyrir réttlátur a augnablik og íhuga eitthvað vonandi þekki, jafnvel ef þú hefur í raun ekki hugsað um það í öllum smáatriðum fyrir 10, 20, 30, 40, 50 fleiri ár. Þetta er það? Hvernig myndir þú dæma það? Ekki bragð spurning. A tala, en hvað er það? 1, 2, 3, eða 123. Og mér fannst hvernig þú segir 1, 2, 3, því það er ein leið til að skoða það. 1, 2, 3, það er runa af þremur táknum. Það er myndir sem við nú hafa orð fyrir. Og ef þú lest svona þá alla saman, dæmigerðri manneskju sem á ensku myndi segja 123. Og það er tegund af a hærra stigi hugtak, líður eins og nokkuð stór númer. En hvernig var við þangað? Jæja, það gæti verið smá stund síðan þú hefur hugsað um það eins og þetta, en aftur í dag minn, ég konar lært þetta sem dálki 1, The 10 er dálki, og 100 er dálkur. Svo sem Lakisa segir, það er 1, 2, 3, en það er líka 123. En hvernig eigum við að fá frá fyrrum að seinni? Jæja, viltu yfirleitt gert í dálki The 100 er, ég er með 1. Svo það er eins og að segja 100 sinnum 1. Og þá í dálki 10 er, ég hef 2. Svo það er eins og að segja 10 sinnum 2. Í dálki 1 er, ég hef 3. Svo það er eins og að segja 1 sinni 3. Og ef ég bæti við þetta saman, þetta, að sjálfsögðu, er 100 auk 10 plús 3. Og ó, það er hvers vegna ég fæ þetta hærra stigi hugmyndin um 123. Það er bara undirstöðu stærðfræði, þar þessir tákn hafa lóð til þeirra, ef þú mun, STAÐGENGILL eða dálk gildi. Og þegar ég margfalda allt út, ég fæ þetta númer. Svo hvernig margir af þú veist hvernig á að tala binary-- 0 og 1's-- eins og tölva? OK, fullkominn, enginn, eða enginn yðar held þú gerir. En ég myndi halda þig reyndar vita þetta nú þegar. Við þurfum bara að svona klip andlega fyrirmynd okkar svolítið. En ferlið er nákvæmlega sú sama. Leyfðu mér að fara þennan þarna upp og í stað rífa þetta niður í smástund. Í heimi tölvur, við höfum aðeins 0 og 1 er. Og svo hlutur sem er að fara að breyta er það? Jæja, í mannheimum minn, tugakerfið fækkað merkingu 10, Ég hef hversu margir tölustafir ráða mín? 10, ekki satt? 0 til 9, auðvitað. Og það er hvers vegna við höfum 10 er staðurinn og 100 er staðurinn. Hvar er það, sem kemur úr? Jæja, þetta er 10 í veldinu 0. Þetta er 10 í veldinu 1, 10 í krafti 2, og svo framvegis. Þú halda bara margfalda dálka um 10, byrja burt með bara 1 í rightmost einu hér. Svo í heimi tölvur, ef þú aðeins hafa binary-- bi merkingu 2-- eða 0 og 1 er, við bara þarf virkilega að breyta undirstaða þess stærðfræði. Svo í öðrum orðum, nú munum við bara hafa dálk The 1 og the-- hvar er þetta going-- dálk sem 2 er, dálki The 4, og kannski víðar. Afhverju er það? Jæja, þetta er 2 í 0-ta orku. Þetta er 2 í 1. Þetta er 2 til 2, og svo framvegis. Svo en hér höfum við 1, 10 er, 100 er, 1.000 's, 10.000 er, 100.000 er, 1 milljónir, og svo framvegis, hér Við höfum 1, 2, 4, 8, 16, 32, 64. Þú heldur bara að margfalda með 2, í stað þess að halda því að margfalda með 10. Svo nú, ef markmiðið á vegar er að tákna tölur með aðeins 0 og 1 er, skulum íhuga hvernig við komum þangað. Þetta, auðvitað, er að venju 0 0 0, en hvaða tala eðli er það tákna? Jæja, 4 sinnum 0 plús 2 sinnum 0 plús 1 sinnum 0, við skulum bæta þeim saman. 4 sinnum 0 er, að sjálfsögðu, 0, auk 2 sinnum 0 er, að sjálfsögðu, 0 plús 1 sinnum 0 er, að sjálfsögðu, 0. Svo Ah, þetta táknar númer Við mennirnir vita sem 0. Jæja, nú skulum mjög fljótt hratt áfram. Ef ég er í staðinn ekki fulltrúi 0 0 0, en við skulum gera 1 0 1, sem gæti verið hvernig Lakisa, fyrr, myndi bara dæma það 1 0 1. En nú, hvernig eigum við að taka það til hærri jafna fjölda við mennirnir gætu vita? Svo er það þessi tala? Það er 5, fjöldi sem við vitum sem 5. Ja, hvers vegna er það? Jæja, við getum virkilega svona ganga í gegnum það skipulega 4 sinnum 1, 2 sinnum 0, 1 sinnum 1. Bæta þeim saman, svo þetta er 4 plús 0 plús 1. Og það er reyndar 5. Svo það er að fá smá leiðinlegur núna gera tölur aftur og aftur. En ferlið er nákvæmlega sú sama. Það eina sem hefur breytt í okkar heimi er að dálkar okkar eru 1, 2, 4, 8, 16, og svo framvegis, í stað þess að 1, 10, 100, 1.000. Og það er bara vegna þess að stafrófið okkar hefur minnkað frá 0 til 9 bara 0 til 1. Svo sem lítið quiz hérna, hvernig væri þú tákna fjölda 7 í tvöfaldur? 0? Jæja, 0, þú átt 0 0 0? Segja það aftur, Karina. Perfect. Afhverju er það? Það er í raun 4 plús 2 plús 1. Svo gott. Hvernig eigum við að tákna smá another-- hvernig um númer 2? Close, en aftur á bak. Svo er það þetta? Er 4 plús 1, þannig að það er 5 aftur. Svo what's-- Fyrirgefðu, Karina? 0 1 0. 0 1 0 væri 2, því aftur, jafnvel ef það svoleiðis ekki hoppa út á þig, bara gera stærðfræði. 4 sinnum 0, 0, 2 sinnum 1 er 2, 1 sinnum 0 0. Svo er þetta númer sem við vitum sem 2. Hvernig óður í the númer 8? Hm? Góður. Þannig að við þurfum konar aðra tákn. Við þurfum 1 0 0 0. Og það er satt af tagi okkar af gamla skólann tugakerfið. Hvernig heldur þú að tákna fjölda 1000? Jæja, vildi þú virðist vera konar í harðri stað, ef biðja þig að tákna fjöldi 1.000, því jafnvel ef þú gefur þér eins 9 af þeim, 9 af þeim, 0 af þessu, sem er stærsta númerið sem hefur þú ekki alveg fá að 1.000. Svo ef þú 1.000, þú þarft bara annað stöðu, svo að þú getur gert 1 0 0 0, Ergo númerið 1000. Svo nú skulum kortleggja þessa tegund af huglæg umræðu aftur vélbúnaði, þar aftur, inntak var bara þetta litla máttur kaðall, rafmagn koma í og ​​flýtur út. Og svo fyrir það að vera varpað héðan að það, vel, hvað við þurfum í raun? Jæja, getur þú hugsa um að vera inni a tölva, a heild búnt af ljósaperur, ef þú vilt. Þeir eru mjög heitir smári. Og smári eru bara skiptir sem getur annað hvort verið á eða burt. Svo er hægt að hugsa um smári sem er á er að leyfa rafmagn að renna og a smári sem er burt eins hætt rafmagn frá flæða. Og frekar en að taka yfir ljósin hér, hví get ég ekki gert svona af nýja skólanum stíl. Þannig að þetta gæti verið 1, vasaljós vera á, aðeins varla þó. Og þetta gæti verið 0, og nú er það burt. Svo nota þetta líkamlegt tæki, ég geta nú tákna tvöfaldur kerfi. Ég þarf bara tvö ríki. Það skiptir ekki máli hvað lita það er eða hvað það er. Allt sem skiptir máli er að ég hef eitt ríki á og annað ríki burt. Svo nota símann minn hér, hvernig get ég tákna fjölda sem við þekkjum sem 0? Eða setja equivalently, hvað Fjölda Er ég fulltrúi núna? 0, þar sem tækið er slökkt. Og ef ég geri þetta? Og nú, hvernig ég tákna fjölda 2? Get ég fengið lánað símann hér, eins og við gerðum í gær? Svo skulum sjá, þannig að ef ég vil að tákna númer 2, er þetta númer 2? Nei Hvað fjölda er ég óvart fulltrúi hér? Þetta er í raun númer 3. Svo sem einn vil ég að slökkva? The Black síma or-- vel, ef they're-- Black síma eða hvíta síma? Hvíti síma. Þannig að ef ég slökkva á þessu og við lína upp hérna, við höfum 1 Í 2 er til staðar og a 0 í 1 sæti. Og svo er ég núna alþingismaður númer 2. Og þetta, Að sjálfsögðu væri númer 3, vegna þess að nú báðir þessara ljósa eru á. Og ég ætla að hætta hér, en það stendur til ástæðu ef ég vil að tákna númer 4 eða 8 eða hærra, Ég ætla að fara að þurfa fleiri símum. En það er allt sem er að gerast. Svo ef þú hefur einhvern tíma heyrt að inni -A- þakka you-- tölvu er milljónir smára, það er bara milljónir litla rofa. Og þeir eru ekki ljós perur sem kveikja og slökkva, en þeir leyfa annaðhvort rafmagn að renna einhvers staðar eða stöðva það. Og svo er það tveir þína states-- á eða burt, eða slökkva á. Þannig að við virðist nú að hafa þessa getu til að tákna þetta hugtak sem okkur langar í raun vélbúnaði. En allt sem við höfum nú er hæfni til að tákna tölur og það virðist. Svo hvernig eigum við að fara um hönd bókstafir, sem finnst eins og næsta tegund af lögun sem þú myndi vilja bæta við nútíma tölvu þegar þú ert númer? Og reyndar, ef þú hugsa um það sögulega, tölvur voru kynnt í raun að þjóna eins reiknivélar tölulega. En auðvitað, þessir daga, þeir gera miklu meira. Jafnvel þegar þeir ræsa upp, yfirleitt sjá eitt eða fleiri orð. Svo hvernig gera þú tákna orð, ef allt sem þú þarft er, aftur, rafmagn í lok af the dag, eða equivalently 0 og 1 er? Já. Já, ég meina, við gerðum eins konar þetta í gær í einhverju formi, þar á einhverjum tímapunkti, Ég held að ég geðþótta sagði að ef við viljum að tákna bréf A, gætum við bara kalla að 1. Það var í tengslum við dulmál, þar sem við þurftum bara einhvers konar kóða, einhvers konar kortlagning. Svo kannski verður fulltrúi sem 1, og B verður fulltrúa sem hlutföllunum 2, og Z verður fulltrúi sem 26, til dæmis. Og þá er eina hellir að ef ég er að fara að umrita stafina í tölvupósti mínum eða í textaskilaboð mínum eins og tölur, þið öll að samþykkja að nota sama mengi samninga. Og reyndar heimurinn hefur gert nákvæmlega það. Það er kerfi í heimi kallaði ASCII, American Standard Kóði fyrir upplýsingar skipti, sem er einfaldlega ákvörðun fyrir nokkrum árum síðan að menn, sem til ákveðið að A er að fara að jafna, ekki 1, 2, og 26, og svo forth-- það er lítið different-- en 65, 66, 67. Og ég draga upp graf í bara smá stund. En það er handahófskennt. En það skiptir ekki máli að það er handahófskennt. Heimurinn hefur bara að vera stöðug. Nú, nú nýverið, eitthvað áhugamaður heitir Unicode, því tagi heimsins um veruleika, eftir að finna upp tölvur, að það er meira en vel 256 tákn í heiminum að við gætum vilja til að tákna, sérstaklega þegar þú kynna Asian tungumál og aðrar symbologies sem þurfa meira svipmikil en þú passar í fyrsta útgáfa af þetta númer, sem var kallaður ASCII. Svo Unicode gerir í raun og veru þér að nota fleiri 0 og 2. Einkum halda þér að heyra Orðið bæti í samfélaginu og jafnvel bara í gær. Og bæti er það aftur? Hvað er bæti? Það er bara 8 bita. Svo hvað þýðir það í raun þýtt? Jæja, það þýðir, fyrr, þegar við vorum að tala um tvöfaldur og ég var að nota geðþótta þriggja bita þegar við vorum að tala um binary-- The 1 er stað, The 2 er staðurinn og er 4 place-- vel, bæti þýðir bara að þú ert að tala ekki í einingum af þremur en fjórir, fimm, sex, sjö átta, sem gefur okkur 8 er fram, 16 er, 32 er, 64 er, og 128 er. Með öðrum orðum, sem er hluti er ekki allt að gagni mælieiningu, vegna þess að það er bara eins og einn pínulítill lítill stykki af upplýsingar, eða slökkva á. Svo fyrir nokkrum árum, heimurinn ákvað bara það er örlítið þægilegra að tala í skilmálar bæti, átta hluti í einu. Og svo svona fæddist hugmyndin um bæti. Og svo við höfum átta bita hér. Og það kemur í ljós, líka fyrir svipað ástæður, heimurinn ákvað ára síðan að til þess að tákna ASCII staf, þú ert að fara að nota einingar af 8 bitum. Svo jafnvel ef þú gera ekki þarf að margir, þú ert alltaf að fara að nota 8 bita tákna bréf í stafrófinu. Og þetta er þægilegt, því þá ef þú fá skilaboð sem hefur 0 0 0 1 1 1 1 0 fylgt eftir af öðru 1 1 1 0 1 0 0 1, þannig að ef þú færð 16 bitar, heimurinn getur bara gera ráð fyrir að fyrsti 8 eru eitt bréf og seinni 8 eru enn eitt bréf. Skiptir ekki máli hversu margir eru. Það skiptir máli bara að við erum öll í samræmi þegar við erum að túlka þessar bita. Og þetta var bara af handahófi. Það þýðir eitthvað, en ég gerði það ekki raunverulega hugsa um hvað það þýðir. Svo er það lítil hvít lygi. Upphaflega, ASCII raunverulega notað aðeins 7 bita. Og áttunda hluti er kallað útbreiddur ASCII. En punkturinn er, að lokum, sama. Heimurinn almennt stöðluð á 8 bita. Þannig að þetta virðist vera svolítið takmarkandi, af því að ég get bara tákna fjármagni, fjármagn B í gegnum höfuðborg Z. En reyndar ekki, ef ég fer to-- það er fullt af auðlindum á netinu, til dæmis, asciitable.com þetta er að fara til vera a lítill yfirþyrmandi í fyrstu. En ég ætla að benda á hvað er mikilvægt hér. Þetta bara gerist be-- og ég ætla walk-- skulum sjá, ef ég fer hérna. Hér er á aukastaf dálki, fjölda 65. Og á dálki á hægri bréfi eðli, Chr, er bókstafurinn A. Og þú getur hunsa, fyrir nú, allt í miðjunni. Þetta er sextánskur, octal og HTML kóða. Til þessa síðu er bara að reyna að henda a einhver fjöldi af upplýsingar á þig í einu. En allt sem við þykir vænt um er aukastafurinn dálki og eðli dálki. Svo með því að þessum reglum, það er sú tala sem heimurinn hefur ákveðið táknar lágstafir a? Já, 97. Og bara til að rugla hugsanlega örlítið, hvað fjölda hefur heimurinn ákveðið myndi tákna fjölda 1? Rétt, vegna þess we-- 49, virðist það hér niður í botn til vinstri. Nú, hvað ég meina með því? Svo kemur í ljós að í tölvukerfum, það er yfirleitt a grundvallarmunur milli fjölda og eðli. A tala er hlutur sem við lært að vaxa upp þegar við vorum frábær ung í grunnskóla. Það er hluti sem þú telja með. En eðli er bara form, a stafbrigði, svo að segja, á skjánum. Nú, menn sem við svoleiðis að sjá eitthvað sem lítur út eins og þetta. Og við segjum, ó, það er númer 2. En nei, það er bara tákn sem lítur eins og það sem við vitum sem númer 2. Og svo er það þetta grundvallaraðgreiningar milli raunverulegum tölum og stöfum. Þetta er tala. En almennt, í Samhengi tölvu, ef þú sérð í staðinn eitthvað eins og þetta quoted-- og þú þarft ekki alltaf verða að sjá það vitna, en fyrir sakir discussion-- ef þú sérð vitna um fjölda, þetta er nú eðli. Þannig að þetta númer 2 undir hetta inni í tölvu yrði fulltrúi með mynstri bita sem tákna fjölda 50 í samræmi við töfluna netinu. Hins vegar, ef tölvu bara sér þetta, þetta yrði fulltrúi með mynstur smá 0 0 0 0 0 0 1 0. En þetta eðli myndi í raun verið fulltrúi as-- og nú, Ég fékk að hugsa smá harder-- þannig að þetta eðli yrði fulltrúi með 0 0 1-- hvað þarf ég hér? 0 0 1 1 0 0 1 0. Hvernig gerði ég þetta? Jæja þetta er númer 50, ef þú margfalda það út með því að nota þessa dálka, Þetta er fjöldi 2, og svo það er hvers vegna það er þetta dichotomy. Og þetta er bara beitu nú fyrir aðgerðir sem eru fyrir hendi í forritunarmálum sem við munum minnast á í stutta stund seinna í dag. Í forritunarmálum, þú ert yfirleitt, en ekki alltaf, það kalla mismunandi gerðir gagna. Með öðrum orðum, a programmer-- þegar hann eða hún er að skrifa, forritari fær að ákveða í hvaða snið til að geyma gögn hans eða hennar. Þú getur annaðhvort geyma gögn sem hrár tölur, eins og númer 2. Eða þú getur geymt þá eins strengi, eða röð af stöfum að þú myndir venjulega tjá með vitna í tungumáli forritun. Hægt er að hafa hlutina called-- Ég málin og kalla þá Real Numbers svo tölum sem eru ekki heiltölur eins og númer 2, en tölur eins 4.56. Svo rauntölur getur einnig hafa aukastafa, svo það er öðruvísi grundvallaratriði stykki af gögnum í tölvu. Og þá getur þú jafnvel hafa aðrar gerðir gagna enn. Svo er það bara stríðnispúki í raun af einföldustu ákvarðanir hönnun að forritari gæti gera undir hetta. Svo einhverjar spurningar bara ennþá? Svo skulum reyna að gera þetta aðeins meira alvöru. Þessi vélbúnaður er ekki svo mikið í notkun lengur. En flest allir í þessu herbergi sennilega ólst upp með og enn notar harða diska á einhvern hátt. Jafnvel þótt flest fartölvur okkar ekki lengur hafa tæki sem starfa svona, í staðinn fartölvur í dag almennt hafa solid ástand ökuferð með enga hreyfanlega hluti. Og það hefur tilhneigingu til að vera dýrari, Því miður, en svolítið hraðar og -A- vel, oft, mikið hraðar, sem er ein af ástæðunum. Og einnig er það ekki mynda eins mikið hita. Það getur verið minni, þannig að það er almennt jákvæða. En þetta gerir okkur kleift að kortleggja a Smá meira concretely hvað við erum að tala um á 0 og 1 er stigi núna að líkamlegt tæki. Það er einn hlutur fyrir mig að tala um 0 og 1 er í skilmálum á símanum mínum eða abstractly varðar af skiptir að vera á og burt. En hvað um harða diska? Í fartölvur, ef þú ert með eldri einn, eða í tölvunni þinni, eða örugglega í netþjónum í dag, þar sem þú hefur harða diska sem hafa a terabæti af plássi, 4 terabytes plássi, vel hvað þýðir það? A harður ökuferð með 1 terabæti af plássi hætti það er 1 trilljón bæti inni í honum einhvern veginn, eða equivalently 8 trilljón bitar inni. 1 Terabyte væri 8 terabits eða 1 trilljón bitar, sem þýðir að ef þú ert a harður drif, hefur þú einhvern veginn eða önnur trilljón 0 er og 1 er inni af því. Og ef við tökum bara líta á handahófskennt mynd af disknum fulltrúi, þetta er það er erfitt drif gæti venjulega út eins og inni. Það líka, er góður af eins og gömul phonograph leikmaður en almennt með margar skrár inni, svo að speak-- margar fat, eins og þeir eru kallaðir, málm hringlaga diskur, og þá smá lestur höfuð, mikið eins og gamla met leikmaður. Og að lestur höfuð færist aftur og fram og einhvern veginn les bita. Og hvað er á þessum fat, jafnvel Þó að við mennirnir getum ekki séð þá, annaðhvort í raun eða í þessari mynd, það er litla segulmagnaðir agnir. Og jafnvel ef þú hefur lengi gleymt hvernig rafmagn virkar, a segulmagnaðir ögn það er innheimt almennt hefur norður enda og suður end-- svo norður og suður. Og svo heimurinn bara ákvað fyrir nokkru síðan að ef segulmagnaðir samskiptareglur meginatriðum lítur svona, norður-suður, við skulum kalla það í 1. Ef það er í staðinn suður-norður, við skulum kalla bara að a 0. Og svo ef þú ert á ráðstöfunar trilljón pínulítill lítill segulmagnaðir particles-- og vonandi, vélbúnaður hugvitssemi í Til að fletta þeim í kringum eins og þú sérð fit-- ef þú vilt tákna a heild búnt af 0 áratugnum, þér þarf bara 8 segulmagnaðir agnir allt lítur svona. Og ef þú vilt að tákna átta 1 er, þú bara þarf 8 segulmagnaðir agnir takt aftur til baka til baka eins og þetta. Hvað geri ég meina með því að segulmagnaðir agnir? Frankly, öll þessi ár síðar, hlutur sem enn kemur upp í huga minn er þetta strákur, ef þú ólst upp með þetta. Þetta er little-- fyrir þá unfamiliar-- a lítið barnæsku leikfang sem hefur þetta hárlausa maður hér sem hefur allar þessar litla svartur segulmagnaðir agnir sem koma með það. Og nota þessi rauða stafur, sem er bara segull, þú getur konar gefa honum yfirvaraskegg eða augabrúnir eða hár eða neitt á honum. Svo í raun, ef við zoom í, til dæmis, þetta er eins konar leikur sem þú getur spilað með wooly Willy. Og þetta er aðeins að segja, þessir eru miklu stærri segulmagnaðir agnir en eru í raun á harða diskinum, og mun færri segulmagnaðir agnir. En við skulum í raun að sjá þá ef þú ert smá segulmagnaðir agnir í a harður ökuferð, hvernig þú getur raunverulega nota þá til að tákna gögnin. [Vídeó spilun] -The Disknum er þar tölvan verslanir flestir varanleg gögn. Til að gera það, gögn fer frá RAM meðfram með merki hugbúnaður sem segja að disknum hvernig á að geyma þessi gögn. Harður hringrás ökuferð þýða þær merki í spennu sveiflur. Þetta, aftur á móti, stjórna á disknum er flytja parts-- sumir af fáum hræringar hlutar til vinstri í nútíma tölva. Sumir af the merki til stýringar á mótor, sem spænir málm-húðuð fat. Gögnin þín er í raun geymd á þessum fat. Önnur merki færa lesa / skrifa höfuð til að lesa eða skrifa gögn á fat. Þessar vélar eru svo nákvæmar að mannshári gæti ekki einu sinni líða á milli höfuð og snúast fat. Samt það virkar allt á frábær hraða. [END spilun] Og þú getur séð á því hala lok the vídeó, það eru yfirleitt margar fat. Og svo að lesa höfuð er ekki bara að lesa á toppinn. Það er góður af eins og þremur eða fjórar eða fleiri lestur höfuð að færa svona, lesa gögn samtímis. Svo er það a einhver fjöldi af flókið og svoleiðis tímasetningu sem er að taka þátt í harða diskinum. Og málið er að snúast í raun fjári hratt, þannig að það er mikið af flókið. En við skulum stækka svolítið dýpra og sjá hvar eru þessir segulmagnaðir agnir og hvernig eigum við að erum að fá á þá. [Vídeó spilun] líta -Let er það sem við bara sá í hægur hreyfing. Þegar stutt púls raforku er sent til lesa / skrifa höfuð, það selbiti á pínulitlum raf fyrir brot af sekúndu. Segullinn skapar reit, sem breytir Andstæðan á örlítið, örlítið Hluti af málmi agnir sem frakki yfirborð hvers fati er. A mynstur röð af þessum pínulitlum hlaðnar upp svæði á disknum táknar einn hluti af gögnum í tvöfaldur fjöldi kerfi notuð af tölvum. Nú, ef núverandi er sendi einn leið í gegnum lesa / skrifa höfuð, svæðið er skautað í eina átt. Ef núverandi er sendur í gagnstæða átt, pólun er snúið. Hvernig gera þú fá gögn af harða disknum? Bara snúa ferlinu. Svo er það agnir á diskur sem fá straum í lesa / skrifa höfuð að flytja. Setja saman milljónir þessi magnetized hluti, og þú hefur fengið skrá. Nú er að baeta f eina skrá kann að vera dreifðir um allan fat drif er, svona eins óreiðu af fyrirlestrum á borðinu. Svo sérstakt auka skrá heldur utan um hvar allt er. Ert þú ekki vilt þú hefðir eitthvað svoleiðis? [END spilun] Svo að einu kennd við það, kannski er að umræða frá í gær um eyðingu. Þegar þú eyðir a skrá, í gær og ég sagði sem tölvan raun gerir hvað, þegar þú dregur eitthvað ruslakörfuna eða ruslið? Það gleymir bara það. En 0 og 1 er, segulmagnaðir agnir sem líta út eins og rauður og blár hlutir hér, eða handlegg minn hérna, eru enn til staðar á harða diskinum. Og svo það er til software-- Norton Utilities og Í fyrra og öðrum nútímalegri software-- það bara mun skanna allt disknum leita á öllum þeim 0 og 1 er, vegna þess að það kemur í ljós að flestir skrá formats-- Word skjöl, Excel skrár, myndir, video files-- allir hafa víst mynstur sem eru algeng meðal þeirra. Sérhver vídeó skrá gæti verið með mismunandi vídeó, en fyrsta nokkrir bitar eru yfirleitt þau sömu. Eða síðasta nokkrir bitar eru yfirleitt þau sömu. Og svo með miklum líkum, þú getur leita að þeim mynstrum. Og jafnvel ef skráin hefur verið gleymt, þú getur sagt með miklum líkum, en þetta lítur út eins og Word skjal, lets endurheimta það og un-gleyma því, ef þú vilt. Og svo er það hvernig þú getur batna gögn sem er annaðhvort verið tilviljun eytt eða eytt eða vísvitandi eytt fyrir hvað tilgangi. Með því móti, örugg eyða gerir hvað í tengslum við mynd eins og þetta? Einmitt, gerir þá alla handahófi. Svo það færist konar sumum þá niður, sumir af þeim upp, skilur sumir þeirra óbreytt, og almennt gerir handahófi hávaða út af því, eða bara kannski gerir allt them 0 eða þær allar 1 er. Og það líka hægt almennt skrúbba gögn burtu. Svo skulum fara aftur núna til útgáfu computational hugsun, þar sem Við höfum Formúlan inntak. Og reiknirit gefur þú framleiðsla á endanum. Við leggjum áherslu núna á aðföngum og framleiðsla, því nú, að ég Krafa við hafa a vegur af alþingismaður inntak og framleiðsla. Við erum bara að fara að nota tvöfaldur. Og það er sama hvað við langar að tákna í dag, hvort sem það er númer eða bréf eða þúsundir þeirra í símaskránni eða myndir eða kvikmyndir, í lok dagsins, það er allt 0 og 1 er. Og ég halda því fram að jafnvel þótt það er frábær einfalt heimur með aðeins 0 áratugnum og 1 er, getum við að byggja okkur upp. Og við höfum séð eitt dæmi um sem með bókstöfum svona langt. Svo skulum einbeita nú á þetta miðja efnisþátt, algrím. Og við skulum fara aftur til þessa Dæmi um Mike Smith. Þannig að í þessu símaskránni, sem vísu, við notum ekki svo mikið lengur, það er vandamál til að leysa. Við viljum finna einhvern eins Mike Smith. Og hvað gæti ég gert til að finna Mike? Jæja, ég gæti bara opna þetta bók, byrja á fyrstu síðu, og átta sig á, ó, ég er í A hlutanum. Mike er ekki þar. Ég þarf S kafla fyrir Smith. Svo bara halda að snúa eina síðu í einu. Leyfðu mér að láta sem þetta er allt hvítar síður og ekki gulu síðurnar, vegna þess að við erum ekki að fara að finna Mike í gulu síðunum samt. En ég er í hvítum síðum. Og nú, er ég í B-deild. Ég samt hef ekki fundið hann. Svo ég halda að snúa eina síðu í einu. Þetta er reiknirit. Það er safn skipana til að leysa nokkur vandamál. Með öðrum orðum, að líta á síðu, ef Mike er ekki á það, snúa síðuna, og endurtekur aftur og aftur og aftur, helst að leita niður eins og þú ert að gera það. Svo er þetta reiknirit, þetta ferli, rétt? Því miður. Nei, ég heyri sum nr. OK, en það is-- já, það er vissulega leiðinlegur. Eins munum við vera hér í allan dag ef ég halda að leita að Mike á þessum hraða. En láttu mig halda það er rétt. Það er heimskulegt, en það er rétt. Í lok dags, lengi sem það gæti taka, ég mun finna Mike ef hann er þarna og ég er að borga eftirtekt. Og ég ná að lokum síðuna sína. Og ef ég fæ of langt, ef Ég fá að T kafla, þá get ég aðeins hagrætt og bara segja, HM, allt gert. Ég er ekki einu sinni að eyða skipti að fara til Z er. En þetta er mjög línuleg nálgun, ef þú mun, mjög konar vinstri til hægri nálgun, bein lína. Og þess réttar en hægur. Svo ég man úr grunnskóla, flokka af hámörkunar frá fyrstu Röð, þar sem ég lærði hvernig á að telja ekki af þeim sem hafa en með því að twos-- það 2, 4, 6. Það er A, mikið erfiðara að gera, en í orði, það er faster-- 8, 10, 12, 14, og svo framvegis. Hvernig væri að reiknirit? Er það skilvirkara? Er það hraðar? Áhorfendur: Það er duglegur. DAVID Malan: Já, þannig að það er def-- það er bókstaflega tvöfalt hraðar, að því gefnu að ég ekki fá skemmtiferðamaður upp með fingrum mínum. Það er tvisvar sinnum eins hratt, vegna þess að Ég ætla að snúa í gegnum tvo síður í einu í staðinn fyrir eitt, en það er hugsanlega í rétt, því hvers vegna? Áhorfendur: Þú ert skipstjóri sumir. DAVID Malan: Hægri, hvað ef Mike gerist að sandwiched-- kannski þegar ég er síðar í símaskránni, Mike gerist að vera samloka milli þessara tveggja síðna, og ég bara í blindni sleppa yfir það. Þannig að við þurfum smá festa þar. Þegar ég lenti í T kafla, I getur ekki bara öryggi segja, við höfum ekki fundið Mike Smith. Ég hef líklega að tvöfalda aftur. Eða í reynd, þegar ég ná einhverjum stafinn S-N, í stað þess að S-M til Smith, strax, gæti ég tvöfalda aftur, vegna þess að kannski hann var á fyrri síðu. En ég þarf ekki að tvöfalda aftur langt. Í orði, ef ég geri það á hægri tími, ég fer bara aftur einni síðu. Svo það er að bæta við aðeins eitt auka skref. Þannig að ég hef farið tvisvar eins hratt, en það kostar mig einn auka síðu. En það er eins og nettó vinna. En þetta er ekki hvernig flestir í þetta herbergi myndi leysa þetta vandamál. Hvað myndi dæmigerður einstaklingur, kannski Fyrir nokkrum árum síðan að gera, til að finna Mike Smith? Já, ekki að finna Mike. Hvað geri ég? Svo fá smá nær, en ég know-- hvað er satt um símaskránni? Áhorfendur: Það er myndaröð. DAVID Malan: Það er myndaröð. Það er stafrófsröð. Og svo ef ég er í M kafla, Mike er greinilega til hægri, Ég get bókstaflega rífa vandamálið í half-- það er yfirleitt auðveldara en that-- tár vandamálið í tvennt og henda henni, svo að nú, ég er með vandamál sem er ekki lengur 1.000 pages-- það var erfitt, vegna þess að ég held að ég reif reyndar símaskrá þetta time-- ekki 1.000 síður, en 500. Svo er vandamálið bókstaflega helmingi stór. Og það er nokkuð sannfærandi, því með fyrri reiknirit mínum, útgáfa 1 og 2, ég var bara að gera vandann Einn Page minni, tvær síður minni í einu. En nú, gerði ég það 500 síður minni allt í einu. OK, svo nú, Karim leggur sem ég fer til hægri helming. Þannig að ég ætla að fara gróflega í miðju, gefa eða taka. Og ef ég gerði þetta stærðfræðilega, Ég gæti farið rétt að miðju. Og nú, við gerum ég, ó, Ég er í T kafla. Ég reyndar vissi að fara of langt. En ég get aftur, rífa Vandamálið í tvennt, kasta það burt. Og bæti mínar ekki eins stór. Það er bara, hvað, 256 síður eða 250 síður, gefa eða taka núna. En það er samt vegur meira en eina síðu eða tvær síður. Og svo nú fer ég u.þ.b. við miðju. Ó, ég vissi ekki að fara alveg nógu langt núna. Svo ég endurtek, endurtaka, endurtaka, endurtaka, þangað til ég er vonandi fór með bara eina síðu. Svo sem býður spurningu, ef ég byrjaði með u.þ.b. 1.000 síður, hversu mörg skref var það tekið mig með útgáfu 1 af reiknirit mína? Jæja, ef Mike er í S kafla, í versta tilfelli, það er ansi nálægt því að enda stafrófinu. Svo ef síminn bókin hefur 1.000 síður, Ég finn Mike innan 1.000 síður, gefa eða taka. Kannski er það eins 800 eða svo, en það er ansi nálægt því að 1.000. En, í öðru reiknirit, hversu margir síðu snýr hámarks gæti ég þurfa að finna Mike Smith? Það er 1.000 síður, en ég er gera þá tvo í einu. Rétt, svo max eins 500ish, því ef ég fer í gegnum allt símaskránni, á hver benda, get ég hætt. En ég get raka nokkrar af bara stífla á T hlutanum. En það er á versta 500 síður. Svo hversu oft get ég skipta a 1,00o-síðu símaskrá í tvennt aftur og aftur og again-- frá 1.000 til 500 til 250 til 125? Hversu lengi áður en ég lenti eina síðu? Já, það er um 10. Það fer eftir námundun og svo, það er um 10 síður alls þarf að vera kveikt eða Símaskrár þarf að vera rifið. Svo er það ansi öflugur. Við byrjuðum með 1.000 blaðsíðna vandamál í öllum þremur þessara sögum. En í fyrsta reiknirit, það tók mig, versta tilfelli, 1.000 síðu snýr að finna Mike. Í öðru lagi reiknirit, 500 síður til að finna Mike. Þriðja reiknirit, 10 síður að finna Mike. Og það er jafnvel meira öflugur þegar þú heldur um einhverskonar gagnstæða atburðarás. Gerum ráð fyrir að við símafyrirtækið næsta ári sameinast kannski tveimur bæjum saman, og símaskrá er skyndilega þetta þykkur, í stað þess þetta, sem, svo 2.000 síður í stað 1.000. Jæja, fyrst reiknirit minn að leita að Mike Smith í 2.000 blaðsíðna símaskrá, verri tilfelli, það er að fara að taka hversu margir síðu snýr á næsta ári? Síminn er bókin 2.000 blaðsíður, so-- vel, ekki einn. Ef símaskrá er tvisvar sinnum eins þykkur í fyrsta reiknirit, fyrst reiknirit, 2.000, ekki satt? Í versta tilfelli, Mike er mjög loka að loka bókinni, svo er það 2.000 blaðsíða beygjur. Second reiknirit fara eftir twos, eins 1.000 síður. En hvernig væri í þriðja mína og nýjustu reiknirit? Ef símafyrirtækið tvöfaldar sem fjöldi síðna frá 1.000 til 2.000, hversu margir fleiri sinnum þarf ég að rífa þessi bók í tvennt til að finna Mike? Áhorfendur: Bara einn. DAVID Malan: Bara eitt, vegna þess að með eina síðu tár, Ég get bókstaflega skipta og sigra, ef þú vilt, að vandamál í hálfa taka a gegnheill bit út af því. Og svo er þetta dæmi um skilvirkni og að öllum líkindum reiknirit sem allir af okkur eru konar innsæi þekki. En það er bara eins rétt eins og önnur reiknirit mínum með því klip fyrir seinni reiknirit, en það er svo miklu skilvirkari. Og í raun, hvað tölva vísindamaður, eða á móti forritari, myndi venjulega gera þegar þú skrifar númerið er að reyna að reikna út, allt í lagi, ég vil ekki minn program bara að vera rétt, Ég vil líka að það að vera duglegur og leysa vandamál vel. Ímyndaðu í hinum raunverulega heimi í dag, eins og Google Vísitölur, leit eins milljörðum síðna, ímynda sér ef þeir notaði fyrsta reiknirit til að finna ketti meðal milljarð pages-- horfa á fyrstu síðu í gagnagrunni sínum, annað, þriðja, bara að leita fyrir kött, leita kött. Það er laglegur fjári hægur það virðist. Þeir gætu í staðinn nota eitthvað kallað tvöfaldur leit, sem er engin coincidence-- báðar þýðir tvö, við halda að deila eitthvað í 2, í half-- þeir gætu notað tvöfaldur leit og kannski finna ketti jafnvel hraðar, eða hvað sem það er sem þú ert að leita að. Og hreinskilnislega, það er jafnvel áhugamaður reiknirit sem gera miklu meira en bara skipta hlutum í tvennt í því skyni að finna upplýsingar fljótt. Og við munum tala svolítið um þá eftir hádegi í dag. Svo láta mig reyna bara að tákna þetta. Við þurfum ekki að fara inn í hvaða stærðfræði eða raunveruleg númer. Við getum talað um þetta í ágripi. En láta mig leggja bara, ef þú voru með umræðu núna með verkfræðingum leggja þetta reiknirit og þú ert að reyna að gera útreiknaður ákvörðun, því kannski verkfræðingur segir við þig, þú vita hvað ég get innleiða línuleg leit í eins tvær mínútur. Það er svona auðvelt. Tvöfaldur leit er ekki að ímynda sér, en það er að fara að taka mig eins og 10 mínútur, svo 5 sinnum eins lengi. Það er verslun hér, jafnvel í skilmálum að ákveða hvaða hugbúnað á að skrifa. Ert þú skrifar einfaldari reiknirit, sem vilja bara taka þig tvær mínútur? Eða þú eyðir meiri tíma, 10 mínútur, skrifa áhugamaður reiknirit? Hvernig heldur þú að ákveða svona spurningu? Eða þú gætir gert það raunverulegt svolítið meira. Ég segi yfirmann minn það er að fara að taka mig annaðhvort viku eða 10 vikur að innleiða Hugbúnaðurinn á þennan hátt, hvernig heldur þú að ákveða hvaða algrím til græna ljósi? Karim? Áhorfendur: Áhorfendur, held ég. DAVID Malan: The áhorfendur. Hvað meinarðu með áhorfendum? Áhorfendur: Ef það er að fara að vera notuð af notendum sem [inaudible] af notendum [inaudible]. En ef það er eitthvað sem þú ert bara að gera fyrir sjálfan þig til að auðvelda vandamál, [Inaudible] hraða. DAVID Malan: Já, það er fljótlegt og óhreinum er góð leið til að lýsa því. Í staðreynd, ef þú ert lýsa mikið af tíma mínum í Grad skóla, þar oftar, Ég skrifaði slæma kóða meðvitað so-- að minnsta kosti, það er hvernig ég rationalized it-- meðvitað svo, því jafnvel þó ég var að skrifa kóða sem var tiltölulega hægt að framkvæma, ÉG var fær til að skrifa kóðann sjálft nokkuð hratt, eyða bara mínútur eða klukkustundir ekki dagar. Og það reyndist ég stundum þarf að sofa. Svo jafnvel ef númerið mitt þarf 8 klst að keyra, vel það er fínt, Ég ætla bara að fara að sofa á meðan það keyrir. Svo á þeim tíma, ég hélt þetta væri mjög snjall, jafnvel þó að ég virðist vann með doktorsverkefninu mjög hægt. En spjallað um það er að ef ég væri að skrifa hugbúnað fyrir aðra sem máli meira en ég, vel, hafa þá bíða 8 klukkustundir til fá aftur leitarniðurstöður þeirra er ekki allt sem sannfærandi. Og svo að eyða meiri tíma upp að framan til að skrifa hugbúnað það er skilvirkari, eins þriðja reiknirit okkar, líklega hagur notendum tímanum. Svo fer það í raun yfir tími hvernig sá kostnaður bæta upp. Ef þú ert að fara að skrifa hugbúnaður til að nota það einu sinni, sennilega might eins og heilbrigður gera fljótur og óhreinn, eins og þeir segja. Bara henda því saman. Það er númer sem Embarrasses þú, það er svo slæmt, en það fær starf á réttan hátt, jafnvel þó að það er ekki duglegur. Hins, þú eyðir meiri tíma á eitthvað, fá það bara rétt. Og þá afskrifaður með tímanum, að upfront kostnaður við tíma er sennilega þess virði, ef þú halda hagræða fyrir sameiginlegum ræða. Og reyndar, það er þema í forritun, eða tölvunarfræði meira almennt, að reyna að hagræða ekki fyrir óalgengt að ræða en algengar case-- hvað rekstur er að fara að gerast aftur og aftur? Ef þú ert að fara að hafa milljarða notenda að leita á vefsvæðið þitt, þú ættir sennilega eyða auka vikur upp að framan skrifa betri hugbúnað, þannig að allir notendur njóta. Nú, við skulum reyna að fanga þetta lítið á myndrænan, en ekki svo mikið tölulega. Svo er hér bara gamall skóli graf. Og láta mig segja að þetta er tími. Og það skiptir ekki máli what-- reyndar, nei, ekki tími. Við skulum setja það á hinum ásnum. Við skulum segja að þetta er rétti tíminn, og þetta er stærð vandans. Og tölvu vísindamaður gæti almennt kalla þetta bara n. n er eins okkar fara til breytu, þar n er fjöldi, n númer og það er Fjöldi hvað sem aðföng sem þú hefur. Þannig að í þessu tilfelli, n er fjöldi síðna. Svo það gæti verið 1.000 í málið við sagt bara. Svo tími getur verið hvaða Mælieiningin. Kannski er það annað. Kannski er það dagar. Kannski, það er eins og blaðsíða víxl. Skiptir ekki máli. Hvað sem þú vilt að telja í, sem verður tími eða kostnaður equivalently. Svo með því að fyrsta reiknirit, ef ég, til dæmis, átti 1.000 blaðsíðna símaskrá, Ég ætla að draga punktur þar, því ef það er 1.000 síður, það tók gróflega 1.000 síðu snýr, gefa eða taka. Og svo ef ég hafði 2000 blaðsíðna símaskrá, og ég ætla að draga annað punktur hér, vegna þess að fyrir 2.000 síður, það er eins og 2.000 sekúndur eða síðu snýr eða hvað. Og svo þegar ég sagði áðan, það er konar línuleg tengsl, það var viljandi, því ég vildi síðar skráin rétt now-- að draga línu. Það er góður af a beinn lína sambandið. Halli er 1/1, ef þú vilt. Á sama tíma, annar reiknirit sagði, ef þú hefur fengið 1.000 síður og þú varst að nota annað reiknirit, þar sem ég taldi um 2, beygja tvær síður í einu, ætti ég teikna undirdepli eða yfir upprunalegu punktur minn? Áhorfendur: Below. DAVID Malan: Neðan, því eins og við sáum, það tekur minni tíma, helmingur eins miklum tíma. Svo punktur ætti að vera helmingur eins hátt og hinn. Og sami samningur hérna, þetta punktur ætti sennilega að vera u.þ.b. þarna. Og svo annað reiknirit minn, á sama hátt, hefur línulegt samband með tímanum. Og við getum dregið það sem slíkt. Svo nú, þriðja og síðasta reiknirit er svolítið erfiðara að teikna. En innsæi, ef ég hef 1.000 síður með þriðja reiknirit mína, það ætti ekki að taka mig eins og 10 skrefum. Og ef ég hef 2.000 síður með þriðja reiknirit mínum, það ætti að taka mér ekki 10 skref, en 11, bara einn. Þannig að við erum bara varla að fara að sjá þetta. Og það kemur í ljós, ef Ég súmma inn á þetta, ég fara að ýkja fyrir áhrif, lögun þessi lína, að lokum, er ekki beint line-- því, reyndar ef það væri, það myndi líta meira út eins og others-- það er í raun sveigð lína að ef við zoom í, er að fara að líta miklu meira svona. It-- vel, OK, hunsa þessa hluti. Það var penni minn að fara á horn. Það er sveigð lína sem er alltaf auka, alltaf, alltaf, alltaf auka, en aðeins bara varla. Og svo með tímanum, hefur þú a samband sem er svona meira. Það lítur næstum beint. En það er alltaf svo hægt vaxandi. En fyrir næstum öllum stöðum meðfram x-ás þinn, lárétt ás, það er lægri en aðrar línur. Þannig að þetta gæti verið tengsl n, þar ef þú ert n síður, tekur þig n sekúndur. Þetta gæti verið tengsl n / 2. Þú ert n síður, það tekur þú n / 2 sekúndur, hálf eins og margir. Og þetta er Logarythmiskur tengsl, sem ef þú manst, log stöð 2 á n grip af þessu tagi vexti, svo að segja. Svo er þetta tegund af heilaga Grail meðal þremur þessara hér, því það er bara svo miklu meira duglegur, en að öllum líkindum flóknari að framkvæma. Einhverjar spurningar? Jæja látið mig gera þetta, láta mig opna texta glugga bara svo við getum reynt að formlega eitthvað hér. Svo láta mig fara á undan núna og framkvæma þessa reiknirit að finna Mike Smith í kóða, ef þú vilt, sauðakóðanum kóða. Ég ætla ekki að nota Java eða C ++. Ég ætla bara að fara að nota svoleiðis English-eins setningafræði, sem við myndi almennt kalla sauðakóðanum kóða. Hér hef ég tóman glugga. Og ég er að segja skref 1 af mjög Fyrsta reiknirit er að taka upp símaskrá. Skref 2 er opin bók að fyrstu síðu. Skref 3 verður að líta á síðu fyrir Mike Smith. Ef á síðunni, hringja Mike. annars snúa síðu og fara að stíga 3. Gert, við skulum segja. Og svo er það ekki alveg fullkominn, sem við munum sjá í smá stund. En við skulum íhuga hvað Hugtökin Ég hef kynnt hér. Svo skref 1 og 2 og 3 eru ansi mikið sagnir. Þeir eru yfirlýsingar, actions-- gera þetta. Og svo í forritun tungumál, myndi við almennt kalla þá yfirlýsingar eða virka eða málsmeðferð, kalla þá allir tala af hlutur. En þeir eru bara að actions-- gera þetta. Skref 4 er í grundvallaratriðum öðruvísi, vegna þess að það er góður af að spyrja spurningu. Það er að segja að við erum góður að minnsta gaffli í veginum. Ef Mike er á síðunni, hringja hann, svo beygt til vinstri, ef þú vilt. Og ef ekki, fara til baka að einhverju annað page-- eða öllu heldur, því miður, fara aftur að einhverju öðru þrepi, sem veldur einhvers konar lykkja reisa. Og við gerum það aftur og aftur og aftur. Og í raun, þú veist hvað? Já. annars ef í lok bókarinnar stöðva. Þannig að við þurfum konar þriðja ástand, vegna þess að þú ekki hægt að halda að snúa síðu auglýsingu nauseum, því að lokum, ég ætla högg enda bókarinnar. Og galla í forriti gæti verið Ekki að sjá að atburðarás. Og þá er ég að átta mig á, ó, bíddu mínútu, ég þarf þriðja atburðarás. Ef ég er út af síðum, ég ætti í raun bara að hætta. Annars er það óskilgreindur. Hvað er að fara að gerast ef ég halda segja snúa síðunni og fara til baka, Þetta er þegar tölvur frysta eða hrun, þegar þú högg sumir ófyrirsjáanlega ástandið svona. Nú, hvað um Mike Þriðja algorithm-- Smith taka upp í símaskránni, opin bók að first-- til nei, ekki á fyrstu síðu í þetta sinn, að middle-- ó vel, sem myndi vera annað reiknirit. Við skulum bara sleppa að þriðja. Áhorfendur: Ó, ég er hryggur. DAVID Malan: Það er í lagi. Við skulum bara sleppa að third-- opinn til miðju og nú leita að Mike Smith. ef á síðu, kalla Mike. Og þá hvað við viljum að segja hér? annars hvað? Við getum tjáð þetta í allir tala af lifnaðarhættir. Það er ekkert rétt svar. OK, ef ekki aftur, en við þurfum að be-- OK, við viljum að skipta í tvennt, en viljum við fara til vinstri eða fara ekki satt? Hvernig látum við þessi hugmynd? Jæja, ef Mike, já, það er sanngjarnt. En OK, þannig er það í raun gott lið. Það er í lagi. Við munum halda áfram með þessum reglum. So-- Áhorfendur: Minna en helmingur. DAVID Malan: Já. Svo annað ef síða er, munum við segja, minna en Smith, til vinstri við Smith, then-- skulum sjá, er þetta að fara að flækja? annars ef síða kemur fyrir Smith, rífa í tvennt, henda sem helmingur? Áhorfendur: Ég hélt það var [inaudible]. DAVID Malan: Ég er að heyra bæði svör. Áhorfendur: Vinstri. DAVID Malan: Allt í lagi, kasta burt til vinstri helming, eins og Lakisa sagði áðan, vinstri helmingur, þá er ég svona langar að fara bara to-- ég fer til hægri. Eða equivalently, og ég gerði smá hluti af óreiðu í upphafi hér, Ég vil í raun að fara að stíga 2 aftur, hvar opnir middle-- eða open-- já, við skulum bara segja, síður til miðju. Og þetta fastur það. Það er ekki lengur bók. Það er bara helmingur af bók, svo opna síður til miðju. else-- voru næstum þar. Skref 6, annars ef síða kemur á eftir Smith, rífa í tvennt, henda hægri helminginn, þá fara í skrefi 2. annars hætta, fjórða atburðarás ef Við höfum enga síður eftir að snúa. Þannig að við gætum hreinsa þetta upp. Og við ættum að hreinsa þetta upp. Þetta er mjög sauðakóðanum númer, ef þú verður mjög mikil lýsing. En það þýðir yfirleitt að fanga hugmyndina. Og aftur, í þessari atburðarás, við hafa hugmynd um ástand, útibú, gaffal í veginum, sem gerir a decision-- ef þetta, fara þessa leið, annars ef, að fara þessa leið, annars ef fara þannig. Og þetta er mjög algengt forritun tækni að ákveða hvaða átt að fara, svo að segja. Og við höfum líka einhvers konar lykkja uppbyggingu, þar sem við erum að gera eitthvað aftur og aftur. Nú kemur í ljós, mikið eins og í þessu dæmi, vera frábær nákvæm er mikilvægt. En við höfum líka séð eitthvað að við höldum að kalla abstrakt. Hvað þýðir það að taka upp símaskránni? Við erum bara svona að taka sjálfsagðan hlut í þessu herbergi sem að hefur einhverja merkingartækni merkingu. Allar okkar bara svona vita, ó, vel, taka upp símaskrána. Hvað þýðir það í raun þýtt? Jæja, það raunverulega þýðir lengja hönd, halla yfir, lengja fingur, klípa bók á milli fingranna, standa upp, draga höndina að þér. Og við gætum verið mjög smámunasamur um þetta, raunverulega vera frábær nákvæmur um hvað ég er að gera. En allt af þeim skrefum sameiginlega eru hvað það þýðir að taka upp símaskránni. Og svo áðan, þegar ég sagði, hver þessara fyrstu tveimur yfirlýsingum getur verið hugsun af eins og a áfram eða virka, raunverulega táknar það sem við halda hringja abstrakt. Það er eins háu stigi huglægu lýsingu á vandamáli sem reyndar felur alveg nokkrum skrefum. Og svo þetta líka, er endurteknar efni í forritun, þar sem ég gæti skrifað forrit nota setningafræði eins this-- pick_up_phone_book (). Og þá setningafræðilega, ég er að fara að stela einhverju frá flestum forritunarmál. Nú, skref 1 lítur enn meira eins og virka, sem forritari myndi kalla það. Það lítur út eins kóðann sem einhver hefur gefið nafn til og gefið mér að nota somehow-- í annað orð, sem línan sem ég hef hápunktur táknar virkni að kannski Ég vissi ekki einu sinni að framkvæma sjálfur. Einhver eldri, vitrari en mér mynstrağur þegar út hvernig þú tjá hugmynd að tína upp símaskránni. Og það er eins og fimm skrefum ég bara skrölt burt, burt the toppur af minn höfuð. En hann eða hún framkvæmd þegar þetta gaf þeim nokkur skref nafn, pick_up_phone_book. Og svigarnir er bara hvað flestir forritarar gera í lok yfirlýsingar eins og þetta. Ég nú geta staðið á hans eða hennar axlir og aldrei aftur, hugsa um hvað það þýðir að taka upp símaskránni. Ég get bara sagt, taka upp símaskrána. Og það er einmitt það allt af okkur menn gerðu hér. Þegar við vorum líklega 1 ára, 2 ára, einhver þurfti að kenna okkur hvað það ætlað að ná sér í símaskránni. Og síðan þá, við höfum horfir í burtu frá þeim mjög uninteresting vélrænni skref. Og við höfum bara innsæi skilning um hvað það þýðir að taka upp símaskránni. Og þú getur framreikna nú til flóknari things-- reisa byggingu. Eins og að sumt fólk, sem í raun hefur merkingu. Til verktaka, arkitekta, sem hefur einhverja merkingu. Og þeir myndu vita hvað á að gera, ef Ég sagði, fara reisa byggingu. En flest okkar í herberginu gat ekki takast á við þessi stig abstrakt. Þú þarft að segja okkur eins og fara að fá skófla og fara að fá steypu og nagli viðarbúta saman og hvað annað er þátt í að byggja upp húsið. Og það er vegna þess að við höfum ekki enn verið forrituð til að skilja hvað það þýðir að reisa byggingu. Við höfum ekki þessi abstrakt. Við höfum ekki þessi virkni. Og svo það sem þú munt sjá í forritunarmál, almennt, sérstaklega meira nútíma tungumál, eins og Java, PHP, Ruby og Python, þeir eru miklu meira þroskaður en eldri tungumálum eins og C og C ++ og enn aðra. Og svo þeir koma með fleiri virkni byggð á. Meira númer hefur verið skrifað af fólki í fortíðinni að við getum nú hringt eða stefna eða nota, eins og ég er vísbending á við þetta hápunktur línu hér. Og svo jafnvel þó að við erum ekki að tala um forritunarmál í sjálfu sér, bara sauðakóðanum kóða, allt í hugmyndir eru enn í þeirri umræðu. Og það kemur í ljós nákvæmni er frábær mikilvægt, eins og er abstrakt. Og við skulum reyna að miðla sem eins og hér segir. Ég óvart gæti hafa spillt þetta með blikkandi renna á skjánum snemma. En látið mig spyrja fyrir hraustur sjálfboðaliða, ef þú dont 'hugur ekki að koma upp. Þú vilt vera í framan myndavél, ef þú ert í lagi með það. Myndi einhver vilja til að koma upp og gefa Leiðbeiningar til samstarfsmönnum þínum hér? Bara að koma hingað og standa hérna og segja nokkur orð. Victoria er brosandi mest og forðast augun mest. Vilt þú að vera tilbúnir til að koma á upp? OK. Og ef allir aðrir á fætur gæti tekið út stykki af pappír rusl, ef þú vilt. Lína pappír er fínn. Koma í kring með þessum hætti. Eða sumir af the pappír sem þú varst að gefa í gær, bara allir autt blað pappír, ef þú gætir. Og ef þú ert ekki með neina, bara spyrja náunga þinn ef þú gætir. Svo fyrir stundu, til þetta dæmi, Victoria er að fara að leika hlutverk forritari, verkfræðingur, sem þarf að forrita þér allt, sem tölvur, til að gera eitthvað. Og við munum sjá hvað forsendur þú ákveður að gera. Við munum sjá hvernig nákvæm hún kýs að vera. Og ef þetta sýning fer pedagogically vel, hellingur af mistökum verður, að við munum þá nota að sem tækifæri til umræðu. En áskorunin fyrir þig tekinn að vera að koma í veg fyrir þau mistök, vera góður forritari. Og svo áskorun á hendi, ef þú vilt viljað ganga hérna, er fyrir framan Victoria á skjánum here-- og vonandi, enginn yðar muna þetta þegar ég blikkljós á skjánum. Og snú ekki í kring á öllum, því það er annar skjár í þessu herbergi sem ég get slökkt. Svo snú ekki í kring. Í framan Victoria er það sama öskur. Og starf hennar er nú að segja þér allt á stykki þinn pappír hvað á að teikna. Og við munum sjá, miðað við munnleg fyrirmæli alone, tölva kóða, ef þú vilt, hversu nákvæm teikningar are-- gerð eru. Meikar sens? Áhorfendur: Já. DAVID Malan: Allt í lagi, framkvæma. Áhorfendur: Teiknaðu ferning. [Hlátur] DAVID Malan: Og enginn má spurningarnar. Getur aðeins gert það sem þú ert að segja. Ó, og ef þú ert skyggnur dag opna í flipa, ekki horfa á flipanum. OK? Áhorfendur: OK, teikna hring. A slope-- get ég sagt hlíðina? DAVID Malan: Upp til þín. Áhorfendur: A halla. Og þríhyrning. DAVID Malan: Allt í lagi. Og vera hér fyrir réttlátur a augnablik. Og ég ætla að koma um í bara smá stund. Og engin þörf á að setja nöfn á það. Leyfðu mér að koma í kring og safna teikningar, ef þú dont 'hugur ekki rífa þá út. Hér er það sem við fengum til baka. Ég verkefni það á skjánum. Ég sé ferningur, hringur, brekku, og þríhyrningur. Svo sem var eitt svar þar. Og let's-- Úpps. Þakka þér. Hér er önnur úrval, og einn á bak við það. Þannig að þeir virðast allir að fanga anda. Þakka þér. Það er annað, og hér er annað. Halli túlkun er svolítið öðruvísi, svolítið curvy. Og næst, annaðhvort vegna þess að dásamlegt sérhæfni sem þú hefur lýst, eða kannski þú eins konar sá það áður, þetta er örugglega hvað Victoria var í raun að lýsa. En nú, þá sem ekki fá það alveg rétt, við skulum bjóða sumir andmæli hér. Svo Victoria sagði fyrst teikna ferning. Og nú getum við gert ráð fyrir sakir dag sem allir vita hvernig á að teikna ferning. En það er ekki að öllu leyti ljóst, ekki satt? Hvernig annars gæti þú hefur dregið ferningur, eða þar gæti verið sumum af tvíræðni hér fyrir tölvuna? Áhorfendur: Staðsetning og stærð. DAVID Malan: Location, ekki satt? Öll ykkar hafði pappír af einhverju laginu, almennt ferhyrningar, en örlítið mismunandi stærðum. En þú vissulega getað dregið, ef þú vildir, mikið veldi, kannski örlítið ferningur. Kannski, það var snúið. Ég held ekki að við sáum að. En það gæti verið meira demantur eins en samt, engu að síður, stærðfræðilega ferning. Svo sem var að öllum líkindum óljós. Þá sagði hún, teikna hring. Sumir af þú vildi draga það við hliðina á það, sem er ekki óraunhæft, vegna þess að menn hafa tilhneigingu til að hugsa eða lesa hægri til vinstri í flestum tungumálum, svo ekki slæmt giska. En það hring gæti hafa verið inni í torginu, gæti hafa verið í kringum veldi, gæti hafa verið annars staðar á blaði, svo að öllum líkindum óljós. Halli gæti hafa verið kannski taka mest frelsi munnlega með hvað það þýðir. Og sumir af þú túlkað það sem hlykkjóttu línu eða beinni línu eða þess háttar. Og þá þríhyrningur líka, gæti hafa verið stilla í allir tala af lifnaðarhættir. Svo í stuttu máli, jafnvel með eitthvað sem þú litið og þú ert eins og, vá, svo einfalt, barn gæti draga þetta, vel ekki í raun, nema þú sért frábær, frábær sannfærandi og segja tölva nákvæmlega hvað á að gera. Þannig að ef við gætum, ef þú hefur annar lak af pappír, við skulum reyna þetta einu sinni enn. Og ég ætla að gefa Victoria eitt önnur dæmi á skjánum hér. Og aftur, snú ekki í kring og ekki horfa á glæranna þinna. Og ég ætla að gefa henni smá stund til hugsa um hvernig á að lýsa þessu. Ekki láta þá sjá ótti í augum þínum. [Hlátur] Og aftur, í þetta sinn skiptimynt sumir af þeim Takeaways og reyna að fá næstum allir að minnsta kosti rétt svar. Áhorfendur: OK, taka stykki af pappír, líta í miðri þessi stykki af pappír. Í miðju því stykki af pappír, teikna tening. [Hlátur] DAVID Malan: Hvað höfum við lært? Við vorum svo nálægt. OK, endurtaka ef þú gætir, fyrir alla. Áhorfendur: Í the miðja af the stykki af pappír, teikna hlut, sem lítur út eins og teningur. DAVID Malan: Allt í lagi, það er allt sem þú færð að vinna með. Leyfa mér að vera greiningu og ekki svo mikið mikilvægt, en til að gera kröfu sem Victoria örugglega virðist vera að hugsa í mjög háu stigi Huglægt, sem er ekki óraunhæft. Vegna annars, viljum við öll vera ansi dysfunctional, ef við þurftum að vera alltaf svo nákvæm með öllu sem við gerum í heiminum. En að segja að fara á middle-- I hélt að við værum á svona góða lag þar, eins og að fara í mjög miðju á síðunni, og þá draga teningur. Svo hún er að hugsa í vatnstaka, vegna þess að hún er enn að lesa hvað er á skjánum eins og reyndar teningur. En það er svo mörg tækifæri fyrir túlkun þar. Og í raun, það er svo margir aðrar leiðir sem þú gætir að tjá það, sem ég mun leggja í smá stund. Svo hér höfum við eitt holdgun af picture-- whoops-- einn holdgun af myndinni, þannig að lítið þriggja dimensionality við það, sem er gott. Hér er annað þar sem þú þarft að Sama þó að það er góður af opnu teningur. Sumir gott fólk tók það svolítið meira flatt, tvívítt. Og það er fínt. Þannig að það, örugglega í miðju pappír. Þetta eina sem ég held að þú munt eins, vegna þess að ef við förum hér, þetta er það sem hún var að lýsa. Svo nú, láta mig leggja hvernig annars við gætum lýsa þessu ástandi. Til baka í dag, einn af the meira algengar leiðir til að læra forritun var að skrifa kóðann, skrifar línur leiðbeiningar, að stjórn svolítið skjaldbaka á skjánum. Logo og önnur afbrigði af þessu hét tungumálinu. Og skjaldbakan bjó í heimi. Svo býst þessa rétthyrndum pláss er heimurinn hans. Og þú myndir byrja á því assuming-- I í raun ekki vita hvernig á að teikna skjaldbaka, þannig að við skulum gera það svona. Og þá er hann fékk skel og þá kannski nokkur fet. Svo þú gætir hafa þetta litla staf á skjánum. Og tilgangur þessa forritunarmál var að neyða skjaldbaka að fara upp, niður, vinstri, hægri og til að setja penna niður eða velja penna hans upp, svo hann gæti í raun dregið á skjánum í þessu mjög flatt rétthyrnd heiminum. Svo þar sem ég hélt að þú gætir verið að fara, og þar sem þú ættir að íhuga köfun niður á andlega þegar lýsa Leiðbeiningar almennt, Ég myndi halda, er sett þinn penni niður í middle-- og við munum losna við skjaldbaka, því ég get í raun ekki halda teikna hann mjög vel. Og nú, hvernig annars gæti Ég segi teikna tening? Jæja, gætum við sagt eitthvað eins jafntefli ská línu norðaustur, til dæmis, eða í 45 gráðu horn uppleið. Og það gæti hafa komið mér hingað. Og ég er ansi langt frá teningi. En nú, ég gæti sagt eitthvað eins snúa 90 gráður til vinstri og draga línu af jafnlangar norðvestur. Og ég gæti haldið áfram með svipuðum áttir. Og það er ekki að fara að vera auðvelt. Og hreinskilnislega, myndum við líklega hafa verið hér í fimm mínútur. En kannski við hefðum fengið að eitthvað sem, í lok dags, endar að vera teningur, en við kafa innan þess abstrakt að gera það á svo lágt stigi að þú getur í raun ekki sjá hvað þú ert að gera þar til allt Málið er í raun það á síðunni. Og svo er þetta almenn regla, aftur, programming-- þessa hugmynd abstrakt. Það er svo frábærlega öflugur, því aftur, Hún sagði bara, teikna tening, sem allir okkur ansi mikið myndi grok mjög fljótt. Við viljum bara að skilja, OK, teikna tening. Við gætum ekki vita stefnumörkun, þannig að við gætum verið svolítið nákvæmari, en við getum yfirleitt mynd eða vita hvað teningur er. Og það er gagnlegt, því ef hvert skipti sem þú settist sem forritari hjá lyklaborðinu til að skrifa kóðann, Ef þú þurftir að hugsa á svo lágt, enginn af okkur vildi alltaf fá nokkuð að gert. Og vissulega enginn af okkur vildi njóta því ferli að skrifa kóða. Það væri eins og að skrifa í 0 og 1 er, sem hreinskilnislega var ekki allt sem löngu menn voru að skrifa kóða í 0 og 1 er. Og við komum mjög fljótt upp með þessir hærra stigi languages-- C ++ og Java og aðrir. Svo skulum reyna þetta einu sinni enn bara að Flip borðum, þannig að allir af okkur hafa tækifæri til að hugsa í frekar á sama hátt. Gætum við fengið eitt sjálfboðaliða þessa tími til að koma upp á borð og draga, Ekki lesa? Já, allt í lagi. Ben, koma á upp. Og, Ben, í þessu tilfelli, flugleit getur andlit stjórn, ekki líta til vinstri, ekki horfa rétt. Bara að gera það þinn Samstarfsmenn hér að segja þér. Og fyrir og allir aðrir í herbergi, þú ert nú forritari. Hann er tölva. Og myndin sem ég hef valið hér fyrirfram er þetta einn hér. Þeir eru just-- þeir eru að hugsa á fyndið brandari er allt. Svo myndi hjartarskinn einhver áhuga á að sjálfboðaliði í fyrsta kennsla eða yfirlýsingu sem ætti penni Command Ben er? Og við munum gera þetta sameiginlega, kannski einn kennsla frá hverjum einstaklingi. Fyrirgefðu? Áhorfendur: Teiknaðu hring. DAVID Malan: Teiknaðu hring er það fyrsta sem ég heyrði. Áhorfendur: Up efst. DAVID Malan: Allt efst. OK, við getum látið þig eyða, losa. Og nú, einhver annar. Dan, þú vildi vera notalega bjóða upp á næstu kennsla? Áhorfendur: Jú, teikna á miðju af the botn hringsins, með small-- smá Lítið pláss frá því, draga beina línu niður að þremur fjórðu af leiðinni niður á borð örlítil horn til vinstri. DAVID Malan: Good. Áhorfendur: Lítilsháttar horn. DAVID Malan: Undo, Control-Z. OK. Andrew, þú vilt bjóða upp næsta kennsla? Áhorfendur: Jú. Frá botni þessi lína, enn minniháttar angle-- whoops-- kannski um þriðjungur á lengd [inaudible], smá horn niður og eins og þriðji af lengd [inaudible]. Svo já, frá þeim tímapunkti, Teikna línu þriðja af lengd fyrri lína lengra til vinstri. DAVID Malan: Það lagi? Bein lína, það er allt í lagi? OK, Olivier, sem þú vilt að bjóða upp á næst? Áhorfendur: [inaudible] frá neðst á hringnum, [inaudible]. Draga á the réttur hönd hlið af [inaudible] sm. [Hlátur] DAVID Malan: Ég held að þú ert að fara að þarf að breyta sem er tommur hér. Áhorfendur: Hættu. [Hlátur] DAVID Malan: Allt í lagi. [? Ara,?] Þú vilt að bjóða upp á næst? Áhorfendur: Draw a [inaudible] efri [inaudible] sama. [Inaudible] hring, draga til [Inaudible] og draga [inaudible]. DAVID Malan: Allt í lagi, ekki fleiri losa. Við skulum gera eitt eða tvö fleiri leiðbeiningar. Chris, þú vilt bjóða einn? Áhorfendur: Neðst af hring, [inaudible] draga jafnan línu slopping niður til vinstri [inaudible]. DAVID Malan: Allt í lagi. Andrew? Við did-- Karim? Áhorfendur: Byrjun frá hægri línu, the endir af the vinstri línu, botn, þú ert að fara að fara rétt um sama lengd og þeirri línu þú ert á, teikna á rétt [inaudible]. [Inaudible] gráður, svo [inaudible] gráður á hægri hlið. DAVID Malan: Allt í lagi. Skulum hlé. Ekki kveikja í kring ennþá. Við skulum staldra við, og við skulum reyna eitt annað tilraun áður en við sýna Ben hvað hann hefur verið að teikna. Getur þú uppstokkun Ben að sem right-- eða í raun, nei, við skulum bara gefa þér annað borð, jafnvel betra. Svo myndi einhver nú eins að breyta skammtinum af nálgun sem Victoria tók fyrr á, þar sem við tölum í hærri stigi abstrakt og í aðeins setningu eða tveir lýsa Ben hvað á að teikna án fá inn illgresið svo að segja, á þessu lægra stigi? Victoria. [Hlátur] Áhorfendur: Teiknaðu mynd um gangandi manni. Og fætur hans og hendur að vera á hægri hlið. DAVID Malan: Allt í lagi, það er allt sem þú færð. Allt í lagi. Hvers vegna eigum við ekki sýna Ben það sem hann gerði. Svo umferð lófaklapp. Það var það erfiðasta kannski. Svo jafnvel þótt við erum að tala í nokkuð kjánalegt skilmálar um bara að teikna myndir, vonandi þú getur raunverulega þakka hve tjáningarkrafturinn sem gæti verið nauðsynleg í því skyni að segja tölvu hvað á að gera. Og í raun, sú staðreynd að Ben var fær um að draga þetta svo fljótt er tegund af testamentisins til með tungumál, kannski hærra stigi útgáfa af ensku, sem gerir hann bara að nota orð eða heyra orð frá Victoria, sem leyfa honum þetta abstractions-- bara draga tala ganga til right-- þessi tegund af hefur sumir merkingartækni merkingu til þess að ekki næstum eins og augljóst þegar þú ert bara segja, setja penna niður, draga til hægri, draga til vinstri. Og svo þetta líka, er mjög algengt í forritun. Þetta myndi segja að vera eins og mjög lágt tungumál, forritun í 0 og 1 er ef þú vilt. Og þetta væri hærra stigi forritunarmál í Java, eða eitthvað svoleiðis. A hluti af að einföldun, en það er tegund af eins og tilfinningaleg tilfinning sem þú finnur þegar nota eina tegund af hlutur eða annað. A hluti af gremju hér um þörf fyrir slíka nákvæmni, en tækifæri að vera svolítið looser með túlkun hér. En auðvitað, bugs geta komið í kjölfarið. Ef þú vilt að home-- við mun ekki gera þetta einn í class-- en ef þú vilt koma þessum eitt heimili, Ég hélt að við myndum kafa inn í þetta. Svo ef þú vilt að spila þetta leikur með Maki þinn eða börn eða þess háttar, að gæti notið það sem vel. Svo skulum fara á undan og horfa á einn síðasta hlutur hér fyrir computational hugsun. Og það leiðir okkur að John Oliver, ekki fyrir bút þú gætir hafa séð í gærkvöldi, en nokkuð nýlegri útgáfu. Nokkrum mánuðum aftur, Volkswagen tók töluvert af Flak fyrir hvað sem ástæða, ef þú veist? Hvað gerðu þeir fá í vandræðum fyrir? Já, svo emissions-- þeir voru að reyna að berja losun próf frá meginatriðum hafa þeirra bílar menga umhverfið minna þegar bílar þeirra voru að prófa og menga umhverfið meira þegar bílar voru ekki að prófa. Og hvað er sífellt áhugaverðari í heiminum, eins og þú gætir hafa álykta frá umræðum um like-- hvað er it-- CarPlay, hugbúnaður Apple fyrir bíla og sú staðreynd að margir af okkur æ hafa snerta skjár í bílum okkar, það er hræðileg upphæð hugbúnaðar í Alþýðubankans bíla í dag, þar sem hreinskilnislega opnar heild dós af ormum þegar þær það kemur að öryggi og líkamlega áhættu. En í dag, við skulum leggja áherslu á það sem er þátt í skriftir hugbúnaður sem gæti hafa gamed kerfið. Um skilgreiningu á Vandamálið, fyrir þá sem ókunnur, við skulum taka a líta á John Oliver. Og fyrir þá sem þekkja vandamálið, við skulum líta á það í skemmtilegum linsu gegnum John Oliver eins og heilbrigður. Svo láta mig högg leika á þessu, ég held, þriggja mínútna kynning. Fari það. [Vídeó spilun] -Cars-- DAVID Malan: Vitanlega, á YouTube, it's-- - --The smartest stafir í Fljótur og Trylltur kvikmyndir. Í þessari viku, þýska bílaframleiðandans Volkswagen fann sig í miðju hneyksli hugsanlega glæpamaður hlutföllum. -Volkswagen Er spelkum fyrir milljarða í sektir, hugsanlegar glæpsamlegt gjöld fyrir stjórnendur þess, sem fyrirtækið afsökunar fyrir rigging 11 milljónir bíla á hjálpa því að slá losun próf. -Certain Dísel módel voru hönnuð með háþróaður hugbúnaður sem Notaðar voru upplýsingar, þar á meðal stöðu stýrishjóls og ökutæki hraði, til að ákvarða bíllinn var gangast losun próf. Samkvæmt þeim aðstæðum, vélin myndi draga úr eitruðum útblæstri. En bíllinn var rigged að framhjá að þegar það var verið ekið. Útstreymi jókst 10 til 40 sinnum yfir ásættanlegum EPA stigum. -Wow, 10 til 40 sinnum meiri en EPA leyfir. Það er það versta Volkswagen hefur alltaf gert, er eitthvað sem þú gætir sagt ef þú vilt aldrei heyrt um World War II. En kannski öruggasta merkið um hvernig mikið vandræði Volkswagen er í, er að fólk á mjög toppur hafa stigið niður. Forstjóri sagði af sér á miðvikudag eftir spæna til að gera við skemmdir, sagði hann endalaust því miður, sem hljómaði vel þangað til það kom í ljós Hann var aðeins 10% hryggur en hafði rigged munninn að tilbúnar blása sorriness hans. Og á meðan, Volkswagen US Æðstu hafði afsökunarbeiðni hans eigin. -Let Vera skýr um þetta, Fyrirtækið okkar var óheiðarlegur. Og í þýsku orðum mínum, við hafa algerlega ruglaður upp. -Já, En algerlega ruglaður upp eru ekki þýska verk. Og þýsku hefur marga fallega þýða til að lýsa aðstæðum bara svona, svo sem [þýsku], sem þýðir um það bil, sorg sem kemur frá fyrirtæki sem tengjast lygum, eða [GERMAN], sem þýðir eins shaming sjálfur faðir felur ský af bensíni. Það er fallegt tungumál. Það siglir bara af tungu. Og við á leiðinni, en sá maður er afsökunarbeiðni kann að hafa hljómað einlæg, það er athyglisvert að hann var að tala á opinber sjósetja aðila fyrir 2016 Volkswagen Passat, sem þýðir að innan skamms eftir að segja því miður, sagði hann þetta. -Þakka Þér kærlega fyrir komuna. Njóttu kvöldsins. Næst er Lenny Kravitz. [TÓNLIST] -OK, OK, enda þinn afsökunarbeiðni með næst Lenny Kravitz ekki öskra edrú hafta. Það screams, spurði við Bon Jovi og hann sagði nei. vörumerki Volkswagen hefur verið illa skemmd. Og hreinskilnislega, nýja auglýsingin þeirra Herferðin er ekki nákvæmlega að hjálpa. - [GERMAN], viljum við að Volkswagen líkar að biðjast afsökunar á að blekkja þig með ökutæki okkar. [END spilun] DAVID Malan: Þannig að þetta var hringtorgi leiðin of-- sorry-- þetta var hringtorgi leið kynna grundvallar vandamál í hugbúnaði, sem er að þú þarf að greina ákveðin skilyrði. Og svo er spurning á hönd hér er, hvernig virkar bíl hugsanlega, eins framkvæmda í hugbúnaði af þessum forriturum, uppgötva að það er í raun verið að prófa? Svo til að vera frábær skýr, hvað þeir voru að gera var í umhverfi þar sem forritarar mynstrağur bíllinn var að prófa, þeir gerðu á einhvern hátt bíllinn losa minna losun, færri losun, svo minna eitraðar gufur og þess háttar. En þegar það er venjulega akstur á veginum, það myndi bara senda frá sér eins mikið mengun eins og það vildi. Svo hvernig getum við skrifað í sauðakóðanum fyrir þetta reiknirit? Hvernig gætum við skrifað sauðakóðanum fyrir hugbúnað í gangi í bílnum? Ég meina, í hnotskurn, sýður það niður á eitthvað eins og þetta. ef verið er að prófa, senda frá sér minna. annars gefur frá sér meira. En það er svolítið of mikil, ekki satt? Við skulum reyna að kafa í því hvað það abstrakt að vera prófað aðferðir. Með öðrum orðum, jafnvel ef þú veist ekkert um bíla, hvaða tegund af spurningum gætir þú spurt í því skyni að ákvarða hvort þú ert að prófa, ef þú ert bíllinn? Hvaða einkenni gæti verið kynna ef bíllinn er verið að prófa? Áhorfendur: mælitæki. DAVID Malan: mælitæki. Svo ef mælitæki nálægt, þá gefa frá sér minna. Svo ég gæti ímyndað framkvæmd að með einhvers konar myndavél eða greina hvað er í kringum þig. Og láta mig leggja, sem bara finnst of flókið að í raun hafa fleiri vélbúnaður bara í þeim tilgangi. Áhorfendur: Ef þú ert í Park, ef hetta er opinn. DAVID Malan: Í garðinum eða hetta opinn, þannig er það gott. Áhorfendur: Og bíllinn gangi. DAVID Malan: Svo það er svolítið meira concrete-- og bíll gangi. Þannig að þetta væri samtenging af a nokkrar mismunandi aðstæður, ef þú vilt. Þannig að ef bíllinn er í garðinum, og jafnvel þó að þetta er mjög vélrænn hlutur yfirleitt, ég gat ímynda skrifa hugbúnað, sérstaklega vegna þess að það er oft létt þar þessa dagana, Ég gæti ímyndað það að vera hugbúnaður sem geta fyrirspurn Shifter eða hvað ekki, þú ert í garðinum, eru þú í ökuferð, þú ert með öfugum formerkjum. Og ég get aftur að svara sem er annað hvort já eða nei við þessum tegundum af spurningum. Og svo ég gæti líka sennilega svarað spurning út, er hetta opinn. Kannski, það er einhvers konar skynjara sem annaðhvort gefur mér aftur 1 eða 0, satt eða ósatt, hetta er opinn. Og þá bílinn í gangi, gæti ég uppgötva sem á einhvern hátt í gegnum hvaða kerfi? Eins bíllinn er í gangi, ég gæti uppgötva að það er á, gæti ég uppgötva einhvern veginn að bíllinn er á hreyfingu? Áhorfendur: RPMs. DAVID Malan: Já, þannig að það er alltaf að nálin sem segir þér hversu margar snúninga á þema hjólin eru að upplifa. Og svo ég gæti litið á það. Og ef það er ekki 0, sem líklega þýðir að bíllinn er á hreyfingu. En við verðum að vera svolítið varkár þar, because-- skulum einfalda this-- ef við sögðum bara, ef bíll í gangi, við viljum ekki bara gefa frá sér minna, við viljum ef bíllinn er í gangi og það er verið að prófa. Þannig að það eru nokkrar aðrar efni sem fólk hafa leitt líkum hugbúnaður er að gera, því fjarverandi í raun uppspretta merkjamál, þú getur aðeins konar álykta frá því líkamleg áhrif bílnum um hvað gæti verið að fara á undir hlífin myndi við hugbúnaði. Þannig að ef bíll að keyra og kannski, segja, afturhjólin ekki að flytja, gæti þetta verið vísbending einhvers konar próf? Hvað er ég vísbending um hér? Já, kannski, það er á einn af þeim Roller hlutum, þar eins og hjól eru að snúa í framan eða í bakið, eftir því hvort það er framan hjól eða aftan fjórhjóladrif, svo helmingur hjólanna eru áhrifamikill, en Hinar tvær eru ekki, sem er undarlegt ástand í hinum raunverulega heimi. Ef þú ert að aka á Vegurinn, sem ætti ekki að gerast. En ef þú ert í vöruhúsi á einhvers konar kerfi Roller, sem gæti örugglega gerst. Ég held fólk einnig lagt til að ef til vill, ef bíllinn er í gangi og stýri WHEEL ekki að flytja, það of might vera merki, vegna þess að það er sanngjarnt fyrir eins og strax á veginum. En jafnvel þá, mönnum er líklega færa það svolítið eða Örugglega á nokkrum sekúndum. Eða að sjálfsögðu a mínútu, líkurnar eru að það er ekki að fara að athyglinni í nákvæmlega sömu stöðu. Svo í öðrum orðum, við getur tekið substraction, ertu að prófa, og brjóta niður þessi virkni í þessum hluti hráefni. Og það er sannarlega hvað Volkswagen er verkfræðingar gerðu einhvern veginn. Þeir skrifuðu hugbúnað meðvitað að greina ef bíllinn er verið að prófa, Því losa minna, annað gefa frá sér á venjubundinn hátt. Og vandamálið hér líka, er þessi hugbúnaður er ekki eitthvað sem þú getur raunverulega sjá nema þú þarft svokallaða kóðann. Svo er tvær mismunandi gerðir af þar code-- að minnsta kosti tvær mismunandi gerðir af kóða í heiminum. Það er eitthvað sem kallast uppspretta kóða, sem er ekki ólíkt því sem við höfum verið að skrifa, uppspretta merkjamál. Þetta er kóðann skrifað í tungumál sem heitir sauðakóðanum, sem er bara eitthvað English-eins. Það er engin formleg skilgreining á því. En C og Java, C ++, þá eru formlegar tungumálum sem, þegar þú skrifar í þeim, hvað þú hefur er textaskrá sem inniheldur kóðann. En það er líka eitthvað í heimurinn kallaði vél númer. Og vél númer, því miður, er bara 0 og 1 er. Svo vél númer er það vélar skilja, að sjálfsögðu. Kóðinn er hvað menn skilja. Og almennt, en ekki alltaf, það er forrit sem forritari notar sem tekur uppspretta númer og snýr það inn í kóða vél. Og þessi áætlun er almennt kallað þýðanda. Svo inntak er uppspretta merkjamál, framleiðsla er vél númer, og þýðandinn er a stykki af hugbúnaður sem gerir það ferli. Þannig að þetta reyndar kort fallega til inntak okkar, reiknirit, framleiðsla. En þetta er mjög sérstakur holdgun um það, sem er að segja að, jafnvel ef þú átt einn af Volkswagen er bílar sem er sekur um þetta, það er ekki eins og þú getur bara opna hetta eða opna handbók notandans eða líta á the uppspretta merkjamál, því við þann tíma það nær bílnum í innkeyrslunni þinni, það er nú þegar verið breytt í 0 og 1 er. Og það er mjög erfitt, ekki ómögulegt, en mjög erfitt að tína mikið af neinu frá bara að horfa á undirliggjandi 0 og 1 er. Svo er hægt að reikna það út, að lokum, ef þú skiljir hvernig vél operates-- Intel inside-- ef þú skilur Intel arkitektúr, en það er mjög tímafrekt. Og jafnvel þar, gætir þú ekki vera fær um að sjá allt að kóðinn getur raunverulega gert. Einhverjar spurningar um þetta eða þetta konar ferli almennt? Og í raun, við getum lagst þessa umræðu til umræðu í gær Apple. Þetta líka, er ástæða þess að FBI getur ekki bara fara og líta í síma grunaður er og finna línur af kóða, til dæmi, sem gerir lykilorðið eða virkja þann 80 millisekúndu töf. Því við þann tíma er það á iPhone náungi er, það er nú þegar verið breytt til 0 og 1 er. Jæja, við skulum staldra hér fyrir okkar líta á computational hugsun. Hvers vegna eigum við ekki að taka 15 mínútna hlé. Og þegar við komum aftur, munum við taka a líta á forritun sig og byrja að kortleggja nokkrar þessara háu stigi hugmynda að raunveruleg, ef fjörugur, forritunarmál.