DAVID Malan: Karibu tena, kila mtu. Basi jana, itabidi kukumbuka kuwa sisi ililenga katika mada hizi hapa. Hivyo tulikuwa wanne kuu topics-- faragha, usalama, na jamii; teknolojia biashara; wingu kompyuta; na hatimaye, maendeleo ya mtandao. Je, mtu yeyote kuwa na Bandwidth au wakati kuangalia John kidogo Oliver jana usiku? Ni kweli pretty amusing, kama si kidogo ya kutisha. Maswali yoyote juu ya jambo lolote tulivyofanya jana? ufafanuzi yoyote? Maswali yoyote kwamba unataka kufanya hakika sisi kugusa juu ya leo katika baadhi ya fomu? Hivyo safi slate. Basi nini juu ya ajenda ya leo? Hivyo Nilidhani tunatarajia kuanza leo na kuangalia nini kwa ujumla inayojulikana kama computational thinking-- katika hatari ya oversimplifying, kufikiri kama kompyuta, labda kufikiri kama mhandisi, na kujaribu kuanza kwa kupanga mawazo yako au kukupa hali nzuri zaidi ya nini wanaohusika katika kweli jeshi kompyuta kufanya kitu kwa njia ya programu. Na tutaweza kuifanya pretty ngazi ya juu, pretty much Kiingereza, lakini kujaribu kutumia wa ukoo mifano kurasimisha jinsi ungependa kwenda kuhusu utatuzi wa matatizo. Na sisi kupitia upya baadhi CS mada, kama uchukuaji, waliokuja juu ya wanandoa ya nyakati jana, algorithms, na kisha uwakilishi. Na hapo ndipo tutaweza kuanza leo katika muda tu. Kisha tutaweza kuchukua kuangalia programu. Tutaweza kuchukua kuangalia baadhi constructs msingi na ambayo unaweza kuwa na mazoea na hata kupata angavu kabisa. Tutaangalia, kwa kweli, katika programu sampuli mazingira ambayo ni kupatikana sana, playful sana, na kwa kweli walengwa kwa miaka 12 na up. Sisi kutumia dakika chache huko na kisha kuchukua mambo kwa kiwango cha chini na kwa kweli majadiliano kuhusu baadhi ya algorithms na data miundo, hivyo kusema, kwamba programmers kawaida kutumia kutatua matatizo mbali zaidi ufanisi zaidi kuliko unavyoweza kuwa na uwezo wa kufanya bila wao kabisa. Kisha baada ya chakula cha mchana, tutaweza kuangalia katika mwingi teknolojia, ambayo ni tu njia dhana ya kusema makusanyo ya teknolojia kwamba unaweza kutumia ili kutatua tatizo fulani. Na tutaweza majadiliano juu ya alfabeti supu ya lugha ambazo zipo today-- Java na chatu na C ++ na PHP na Ruby na kila aina ya mambo mengine. Tutaweza kuangalia kwa ufupi katika chati ya kubuni. Programmers, baada ya muda, na mbinu iliyopitishwa kwamba huwa na kuwasaidia kutatua matatizo kwa urahisi zaidi. Baada ya kuanza kuona mwenyewe kuandika aina hiyo ya kificho tena na tena, watu kurasimisha marudio wale na majina wanampa yao na kisha kuzitumia na kukuza yao, hatimaye. Na tutaweza kuzungumza kidogo kuhusu mikakati ya mkononi, kama ni nini maana ya kweli kufanya programu ya simu au tovuti ya mkononi. Je, kufanya hivyo kwa Android? Je, kufanya hivyo kwa ajili iOS? Je, kufanya hivyo kwa wote wa wale? Na nini biashara awamu ya pili? Na kisha hatimaye, tutaweza kuchukua kuangalia programu ya mtandao, ambayo ni neno ya pamoja kweli kuelezea wakati wowote wewe kuandika programu hiyo ni maana ya kukimbia kwenye mtandao, iwapo kwenye simu au kopyuta au Laptops. Tutaweza kuchukua kuangalia kifupi katika database na kubuni ndani yake, kama tu kwa sababu karibu yoyote kuvutia maombi mtandao msingi siku hizi ina aina fulani ya database. Vinginevyo, ingekuwa tu kuwa maudhui tuli. Na database inaruhusu kufanya mabadiliko ya muda, ikiwa wewe mwenyewe au kutoka kwa watumiaji. Na tutaweza kufikiria jinsi gani aliamua kwenda juu ya kubuni kwamba database na aina ya jargon ambayo inaweza kuja katika mhandisi majadiliano katika bodi nyeupe wakati kweli kutekeleza programu kwa mara ya kwanza. Tutaweza majadiliano kwa ufupi juu APIs, huduma muhimu kwamba unaweza kutumia kusimama juu mabega ya wengine, iwe makampuni au watu binafsi, na kutatua yako matatizo mwenyewe kwa haraka zaidi. Na kisha tutaweza dabble labda kidogo na JavaScript, lugha ya programu hiyo ni kutumika katika browsers siku zote mbili hizi, lakini pia katika servrar. Na pengine, tutaweza kupitia upya, wakati kuruhusu, baadhi ya mikono juu ya mtandao mambo sisi alivyofanya jana na kuunganisha mbili pamoja kabla ya sisi kuahirisha. Hivyo, pamoja na that-- nini ahead-- ni kuna kitu kukosa kuwa wewe wangependa kuhakikisha sisi kuingiza na kugusa juu wakati fulani. Kama ni chemchem akilini, kuleta hadi kabla ya muda mrefu. Lakini kwa nini sio sisi kuanza na kuangalia kufikiri computational. Na napenda kupendekeza kwamba kufikiri computational ni, tena, aina ya maelezo ya kiwango cha juu ya nini kompyuta mwanasayansi anaweza kufanya. Na hakika, hebu kuanza na viungo tatu kwamba wanaweza kwenda katika kufikiri computational. Hii ni njia moja tu ya kuelezea yake. Tunaweza hakika kufafanua hii katika idadi yoyote ya njia. Lakini napenda kupendekeza, kwa ajili ya leo, kwamba matatizo duniani, matatizo yote ya dunia, wakati akakaribia na kompyuta mwanasayansi naweza kutazamwa kama nini tutaweza wito pembejeo, ambayo haja ya kupata kulishwa ndani ya kile Tutamwita algorithms, ambayo kisha mavuno mazao. Kwa maneno mengine, nzima ulimwengu wa kutatua matatizo mimi madai inaweza kuwa distilled katika viungo hizi tatu. Basi je, ina maana na pembejeo? Pembejeo ni yale tu uko mitupu ili kutatua. Kwa mfano, hapa ni Tatizo umri wa shule. Kama mimi na kitabu cha simu hapa na Nataka kuangalia kitu ndani yake, hii ni mchango wangu. Nina 1,000 au hivyo kurasa katika kitabu cha simu. Hii ni pembejeo kwa tatizo langu. Na mimi nataka kupata kitu kama Mike Smith, hivyo rafiki jina lake na idadi ni hopefully katika kitabu hiki mahali. Hii ni kabla ya siku za kiini simu, hivyo siwezi tu kutafuta kwa ajili yake. Hivyo nina kufanya hivyo umri shule na kwa kweli search pembejeo hizi kwa baadhi jibu. Na jibu kwamba ni kwenda tu kuitwa pato. Hivyo pembejeo ni kitabu cha simu. algorithm ni chochote seti ya hatua mimi kutumia ili kupata Mike Smith. Na pato ni, hopefully, Mike Smith namba ya simu. Na hii basi itakuwa tu mwakilishi wa zaidi tatizo lolote kwa pamoja na wewe ni pembejeo mitupu na wanataka kuzalisha mazao. Hivyo kabla ya sisi kufikiria mchakato ambayo tunaweza kutatua tatizo hilo, kutafuta Mike Smith na kitu kama hicho, hebu fikiria kwanza na last-- pembejeo na mazao. Kimwili, bila shaka, pembejeo hapa ni rundo zima la karatasi glued pamoja katika mfumo wa kitabu cha simu. Lakini kompyuta, Laptops kozi hii na kopyuta na hata simu hizi days-- hizo ni vifaa vya umeme. Na mwisho wa siku, nini pembejeo tu kwa kompyuta? Naam, ni kitu kama hii kamba ya nguvu hapa. Mimi kuziba ndani ya ukuta, na Mimi kupata mtiririko wa elektroni, ambayo inaruhusu mimi kuendesha mashine. Au labda elektroni hizo ni kuundwa kwa njia ya betri yangu. Lakini mwisho wa siku, hiyo ni Kitu pekee kwenda katika laptop yangu. Na hivyo mengi ya kuvutia mambo ni hatimaye kuja nje, iwe kwa njia ya printer au screen au audially au kama. Hivyo kama wote tuna kama yetu msingi pembejeo kwa kompyuta ni umeme, hivyo tu elektroni kwenda katika na au nje, na hivyo ni jinsi gani tunaweza kutumia kwamba pembejeo kwa kweli kuwakilisha habari? Kwa maneno mengine, jinsi gani sisi kupata kutoka kati yake rahisi ya umeme kwa anayewakilisha halisi idadi au barua halisi au picha halisi juu ya screen au sinema halisi au e-mails au idadi yoyote ya hizi kiwango cha dhana ya juu, kama wewe, kwamba katika mwisho wa siku kwa namna fulani kuwa na kuhifadhiwa katika hili umeme mitambo kifaa kutumia wale tu ingredients-- rahisi elektroni akiingia ndani na nje? Hivyo inaweza kuonekana kuwa, katika fomu rahisi, aina tu ya majimbo Nina katika dunia yangu, hivyo kwa speak-- hali katika world-- yangu ni ama Nina elektroni inapita, umeme inapita, au nifanye nini not-- kadhalika, mbali. Na hebu kurasimisha na mbali, kama kompyuta mwanasayansi ili, na tu 1 na 0. Hebu tu kuelezea baadhi holela lakini thabiti idadi yake. 1 ina maana juu, 0 ina maana mbali. Au unaweza pia kuona hii kama njia ya kweli juu ya njia na uongo. Pia unaweza kufanya nyeusi na nyeupe au nyekundu na bluu. Wewe tu haja descriptors mbili. Na wanasayansi wa kompyuta ingekuwa ujumla tu kutumia 0 na 1. Hivyo kama hiyo kesi, alfabeti yangu tu ni yenye 0 na 1 ya, jinsi nitaweza uwezekano wa kupata na hata idadi 2 katika kompyuta, achilia namba 3 au barua ya alfabeti au picha au movie? Jinsi gani sisi aina ya bootstrap wenyewe kutoka kanuni hii ya msingi ya 0 na 1 ya kweli na kuwakilisha kitu zaidi ya kuvutia? Naam, hebu kuweka swali kwamba juu ya umiliki kwa muda tu na kufikiria kitu hopefully utambuzi, hata kama wewe si kweli mawazo kuhusu ni kwa undani yoyote kwa 10, 20, 30, 40, 50 Miaka zaidi. Hii ni nini? Jinsi gani unaweza kutamka kwamba? Si swali hila. idadi, lakini ni nini? 1, 2, 3, au 123. Na mimi walipenda jinsi alisema 1, 2, 3, sababu hiyo ndiyo njia moja ya kuangalia hilo. 1, 2, 3, ni mlolongo ya alama tatu. Ni picha kwamba sisi sasa wana maneno kwa. Na kama wewe aina ya kuyasoma yote pamoja, kawaida ya binadamu katika Kiingereza kusema 123. Na hiyo ni aina ya kiwango cha juu dhana, anahisi kama idadi ya sababu kubwa. Lakini jinsi gani sisi kupata huko? Naam, inaweza kuwa wakati tangu umefanya mawazo kuhusu hilo kama hii, lakini nyuma katika siku yangu, mimi aina ya kujifunza hii kama safu ya 1, 10 ya safu, na safu 100. Hivyo kama Lakisa anasema, ni 1, 2, 3, lakini pia ni 123. Lakini jinsi gani sisi kupata kutoka zamani na mwisho? Naam, ungependa kawaida kufanya katika safu 100, nina 1. Hivyo hiyo ni kama kusema mara 100 1. Na kisha katika safu 10, mimi kuwa na 2. Hivyo hiyo ni kama kusema 10 mara 2. Katika safu ya 1 ya, nina 3. Hivyo hiyo ni kama kusema 1 mara 3. Na kama mimi kuongeza mambo haya pamoja, hii, bila shaka, ni 100 plus 10 plus 3. Na oh, kwamba ni kwa nini mimi kupata hii kiwango cha juu dhana ya 123. Ni haki ya msingi math, ambapo hivi alama na uzito kwao, kama wewe itakuwa, placeholder au maadili safu. Na mara moja mimi kuzidisha kila kitu nje, mimi kupata idadi hii. Hivyo ni jinsi wengi wenu kujua jinsi ya kuzungumza binary-- 0 na 1's-- kama kompyuta? OK, kamili, hakuna mtu, au hakuna hata mmoja unafikiri kufanya. Lakini napenda kudai wewe kweli kujua hii tayari. Sisi tu haja ya aina ya tweak mtindo wetu wa akili kidogo. Lakini mchakato ni sawa. Basi mimi kuondoka hii moja hadi pale na badala kuvuta hii chini kwa muda. Katika dunia ya kompyuta, sisi tu 0 na 1 ya. Na hivyo hiyo ni jambo la kwenda na mabadiliko ni nini? Naam, katika dunia yangu binadamu, mfumo decimal, Desemba maana 10, Nina tarakimu wangapi ovyo yangu? 10, sawa? 0 kupitia 9, bila shaka. Na kwamba ni kwa nini tuna 10 ya nafasi na mahali 100. Ambapo ni kwamba kuja kutoka? Naam, hii ni 10 kwa nguvu ya 0. Hii ni 10 kwa nguvu ya 1, 10 kwa nguvu ya 2, na kadhalika. Wewe tu kuweka kuzidisha nguzo yako na 10, kuanzia mbali na tu 1 katika moja rightmost hapa. Hivyo katika ulimwengu wa kompyuta, kama wewe tu na binary-- bi maana 2-- au 0 na 1 ya, sisi tu kweli haja ya kubadili msingi wa hisabati hiyo. Hivyo kwa maneno mengine, sasa tutaweza tu na safu ya 1 na the-- ambapo ni hii going-- safu ya 2 ya, 4 ya safu, na labda zaidi. Kwanini hivyo? Naam, hii ni 2 nguvu 0-th. Hii ni 2 1. Hii ni 2 hadi 2, na kadhalika. Hivyo ambapo hapa, tuna 1, 10 ya, 100, 1,000 ', 10,000 wa, 100,000 ya, 1 mamilioni, na kadhalika, hapa tuna 1, 2, 4, 8, 16, 32, 64. Wewe tu kuweka kuzidisha na 2, badala ya kuweka kuzidisha na 10. Hivyo sasa, kama lengo katika mkono ni kuwakilisha idadi kwa kutumia tu 0 na 1 ya, hebu fikiria jinsi sisi kupata huko. Hii, bila shaka, ni mfano 0 0 0, lakini nini idadi conceptually gani kuwakilisha? Naam, mara 4 0 plus 2 mara 0 plus 1 mara 0, hebu kuongeza wale pamoja. Mara 4 0 ni, bila shaka, 0, plus 2 mara 0 ni, bila shaka, 0 plus 1 mara 0 Ni, bila shaka, 0. Hivyo ah, hii inawakilisha idadi sisi binadamu kujua kama 0. Naam, sasa, hebu sana haraka kufunga mbele. Kama mimi nina badala si anayewakilisha 0 0 0, lakini hebu kufanya 1 0 1, hiyo inaweza kuwa ni jinsi Lakisa, awali, ingekuwa tu kutamka hivyo 1 0 1. Lakini sasa, ni jinsi gani sisi kuchukua kwa juu ngazi idadi sisi wanadamu wapate kujua? Kwa hiyo kile ni idadi hii? Ni 5, idadi tunajua kama 5. Naam, kwa nini ni kwamba? Naam, tunaweza kweli ni aina ya kutembea kwa njia hiyo methodically Mara 4 1, 2 mara 0, 1 mara 1. Kuongeza wale pamoja, hivyo hii ni 4 pamoja 0 plus 1. Na kwamba ni, kwa kweli, 5. Hivyo ni kupata kidogo tedious sasa kufanya hesabu tena na tena. Lakini mchakato ni sawa. Kitu pekee ambayo ina iliyopita katika dunia yetu ni kwamba nguzo zetu ni 1, 2, 4, 8, 16, na kadhalika, badala ya 1, 10, 100, 1,000. Na kwamba tu kwa sababu alfabeti yetu ina imepungua kutoka 0 kupitia 9 ili tu 0 kwa 1. Hivyo kama jaribio kidogo hapa, jinsi gani wewe kuwakilisha namba 7 katika binary? 0? Naam, 0, maana 0 0 0? Sema tena, Karina. Perfect. Kwanini hivyo? Ni kwa ufanisi 4 plus 2 plus 1. Mzuru sana. Jinsi gani sisi kuwakilisha kidogo another-- vipi kuhusu idadi 2? Karibu, lakini nyuma. Hivyo ni nini hii? Ni 4 pamoja na 1, hivyo hiyo ni 5 tena. Hivyo what's-- Samahani, Karina? 0 1 0. 0 1 0 itakuwa 2, kwa sababu tena, hata kama ni aina ya haina kuruka nje saa wewe, tu kufanya math. Mara 4 0, 0, 2 mara 1 ni 2, 1 mara 0 ni 0. Hivyo hii ni idadi tunajua kama 2. Jinsi kuhusu idadi 8? Hm? Nzuri. Hivyo sisi aina ya haja placeholder mwingine. Tunahitaji 1 0 0 0. Na kwamba ni kweli ya aina yetu ya mfumo wa zamani shule decimal. Jinsi gani unaweza kuwakilisha idadi 1000? Naam, ninyi bila ya kuonekana kuwa aina ya katika doa mgumu, kama kuuliza wewe kuwakilisha idadi 1000, kwa sababu hata kama wewe kutoa mwenyewe kama 9 ya haya, 9 kati ya hawa, 0 cha vitu hivi, ambayo ni idadi kubwa wewe kuwa, hakuwa na kabisa kupata 1,000. Hivyo kama wewe 1,000, wewe tu haja mwingine msimamo, ili uweze kufanya 1 0 0 0, ergo idadi 1,000. Hivyo sasa, hebu map aina hii ya mjadala wa dhana nyuma ya vifaa, ambapo tena, pembejeo mara tu hii kidogo nguvu cable, umeme akiingia ndani na inapita nje. Na hivyo kwa kuwa mapped kutoka hapa uende pale, vizuri, je, sisi kweli wanahitaji? Naam, unaweza kufikiria kuwa ndani ya kompyuta, rundo zima la balbu mwanga, kama wewe. Wao ni kweli aitwaye transistors. Na transistors ni swichi tu ambayo yanaweza ama kuwa juu au mbali. Hivyo unaweza kufikiria transistor hiyo ni juu ya ni kuruhusu umeme kati yake na transistor hiyo ni mbali kama kuacha umeme kutoka inapita. Na badala ya kuchukua juu ya taa hapa, kwa nini sio mimi kufanya aina hii ya mtindo mpya shule. Hivyo hii inaweza kuwa 1, tochi kuwa juu, vigumu tu ingawa. Na hii inaweza kuwa 0, na sasa ni mbali. Hivyo kwa kutumia kifaa hiki kimwili, mimi sasa wanaweza kuwakilisha mfumo binary. Mimi tu haja ya nchi mbili. Haijalishi nini rangi yake ni au ni nini. Ya muhimu ni kwamba nina hali moja juu ya hali na nyingine mbali. Hivyo kwa kutumia simu yangu hapa, jinsi gani mimi kuwakilisha idadi tunajua kama 0? Au kuweka equivalently, nini idadi mimi anayewakilisha sasa? 0, kwa sababu kifaa ni mbali. Na kama mimi kufanya hili? Na sasa, jinsi gani mimi kuwakilisha idadi 2? Naweza kukopa simu yako hapa, kama tulivyofanya jana? Basi hebu angalia, hivyo kama nataka kuwakilisha namba 2, hii ni idadi 2? Hakuna Nini idadi am Mimi ajali anayewakilisha hapa? Hii ni kweli namba 3. Hivyo ambayo moja mimi nataka kuzima? simu mweusi or-- vizuri, kama they're-- simu mweusi au simu nyeupe? simu nyeupe. Hivyo kama mimi kugeuka mbali hii na sisi line it up juu hapa, tuna 1 mahali 2 na 0 katika mahali 1 ya. Na hivyo mimi nina sasa anayewakilisha namba 2. Na hii, Bila shaka, itakuwa ni idadi 3, kwa sababu sasa wote wawili wa taa haya ni juu. Na mimi itabidi kuacha hapa, lakini anasimama kwa sababu kama nataka kuwakilisha namba 4 au 8 au ya juu, Mimi nina kwenda haja simu zaidi. Lakini hiyo ni yote kinaendelea. Hivyo kama umefanya umewahi kusikia kwamba ndani ya a-- kuwashukuru kompyuta you-- ni mamilioni ya transistors, hiyo ni tu mamilioni ya swichi kidogo kidogo. Na wao siyo mwanga balbu kwamba kugeuka na mbali, lakini hawana ama kuruhusu umeme kati yake mahali fulani au kuacha ni. Na hivyo kuna mbili yako states-- juu au mbali, juu au mbali. Hivyo tunataka kuonekana sasa kuwa na uwezo huu kuiwakilisha dhana hii kwamba tunatarajia katika vifaa halisi. Lakini yote sisi sasa ni uwezo kwa kuwakilisha idadi inaweza kuonekana. Hivyo ni jinsi gani sisi kwenda juu anayewakilisha herufi za alfabeti, ambayo anahisi kama aina ya pili ya kipengele wanataka kuongeza kwa kompyuta za kisasa mara moja una namba? Na hakika, kama wewe kufikiri juu hivyo, kihistoria, kompyuta walikuwa kuletwa kweli ya kuwatumikia kama calculators numerically. Lakini bila shaka, hizi siku, wao kufanya mengi zaidi. Hata wakati wao Boot juu, wewe kawaida kuona maneno moja au zaidi. Hivyo ni jinsi gani kuwakilisha maneno, kama wote una ni, tena, umeme mwishoni mwa siku, au equivalently 0 na 1 ya? Yeah. Yeah, I mean, sisi aina ya alifanya jana huu kwa namna fulani, ambapo wakati fulani, Nadhani kiholela Alisema kuwa, kama tunataka kuwakilisha barua A, tunaweza tu wito kwamba 1. Ilikuwa katika mazingira ya cryptography, ambapo sisi tu inahitajika aina fulani ya kanuni, aina fulani ya ramani. Hivyo labda A itawakilishwa kama 1, na B itawakilishwa kama 2, na Z itawakilishwa kama 26, kwa mfano. Na kisha caveat tu ni kwamba kama mimi nina kwenda encode barua katika barua pepe yangu au katika ujumbe wangu Nakala kama namba, nyote na kukubaliana kutumia sawa seti ya mikataba. Na hakika, dunia amefanya hasa kwamba. Kuna mfumo katika dunia aitwaye ASCII, American Standard Kanuni Mabadilishano ya Habari, ambayo ni tu uamuzi baadhi ya miaka iliyopita kwamba binadamu alifanya kwamba aliamua kwamba A ni kwenda sawa, si 1, 2, na 26, na hivyo sana aliye mzaa ni kidogo different-- lakini 65, 66, 67. Na mimi itabidi kuvuta up chati katika muda tu. Lakini ni holela. Lakini haijalishi kwamba ni holela. dunia ina kuwa tu thabiti. Sasa, hivi karibuni zaidi, kuna kitu fancier aitwaye Unicode, kwa sababu aina duniani ya barabara, baada ya kubuni kompyuta, kwamba kuna zaidi ya vizuri 256 alama katika dunia kwamba sisi kutaka kuwakilisha, hasa wakati wewe kuanzisha lugha za Asia na symbologies mengine kwamba haja expressiveness zaidi kuliko wewe inaweza kufaa katika toleo mwanzo wa kanuni hii, ambayo ilikuwa inaitwa ASCII. Hivyo Unicode kweli inaruhusu wewe kutumia zaidi ya 0 na 2. Hasa, wewe kushika kusikia neno ka katika jamii na hata tu jana. Na byte ni nini tena? Nini Byte? Ni bits 8 tu. Basi ni nini kwamba kweli maana? Naam, hiyo ina maana, awali, tulipokuwa kuzungumza juu ya binary na nilikuwa kutumia kiholela bits tatu tulipokuwa kuzungumza juu ya binary-- mahali 1 ya, 2 ya mahali, na 4 ya place-- vizuri, Byte tu ina maana kwamba wewe ni kuzungumza si katika vitengo ya tatu lakini nne, tano, sita, saba na nane, ambayo inatupa nafasi ya 8 ya, 16 ya, 32 ya, 64, na 128 ya. Kwa maneno mengine, kidogo si wote kwamba manufaa kitengo cha kipimo, kwa sababu ni kama tu kidogo moja vidogo kipande cha habari, juu au mbali. Hivyo baadhi ya miaka iliyopita, dunia tu aliamua ni kidogo rahisi zaidi kuzungumza katika suala la ka, mambo nane wakati huo. Na hivyo hivyo alizaliwa dhana ya Byte. Na hivyo tuna bits nane hapa. Na zinageuka, pia, kwa hiyo Sababu dunia aliamua miaka iliyopita kwamba kuwakilisha barua ASCII, wewe ni kwenda kutumia vitengo ya 8 bits. Hivyo hata kama huna haja ya kuwa mengi, uko daima kwenda kutumia bits 8 kwa kuwakilisha barua ya alfabeti. Na hii ni rahisi, kwa sababu kisha kama wewe kupokea ujumbe kwamba ina 0 0 0 1 1 1 1 0 kufuatiwa na mwingine 1 1 1 0 1 0 0 1, hivyo kama wewe kupokea 16 bits, dunia Unaweza tu kudhani kuwa kwanza 8 ni barua moja na ya pili 8 ni barua nyingine. Haijalishi jinsi kuna. Ni tu mambo kwamba wote tuko thabiti wakati sisi ni kutafsiri bits hizi. Na hii ilikuwa tu random. Hiyo ina maana kitu, lakini mimi si kweli kufikiri kuhusu nini maana yake. Hivyo ni ndogo nyeupe uongo. Awali, ASCII kweli kutumika bits 7 tu. Na bit nane ni aitwaye ASCII kupanuliwa. Lakini uhakika ni, hatimaye, sawa. dunia kwa ujumla sanifu juu ya 8 bits. Hivyo hii inaweza kuonekana kuwa ni kidogo kikwazo, kwa sababu siwezi tu kuwakilisha mji mkuu wa A, mji mkuu B kupitia mji mkuu Z. Lakini kwa kweli si, kama mimi kwenda to-- kuna kundi la rasilimali online, kwa mfano, asciitable.com, hii ni kwenda kuwa kidogo balaa kwa mara ya kwanza. Lakini mimi itabidi kumweka nje nini muhimu hapa. Hii hutokea tu be-- na mimi itabidi walk-- hebu angalia, kama mimi kwenda zaidi ya hapa. Hapa ni, katika decimal safu, idadi 65. Na upande wa kulia safu barua tabia, Chr, ni barua A. Na unaweza kupuuza, kwa sasa, kila kitu katikati. Hii ni hexadecimal, octal, na HTML code. Kwa tovuti hii ni kujaribu tu kutupa mengi ya habari saa wewe mara moja. Lakini yote sisi huduma ya juu ni decimal safu na safu tabia. Hivyo kwa mantiki hii, ni nini idadi hiyo dunia imeamua inawakilisha lowercase? Yeah, 97. Na tu kuwavurugia uwezekano kidogo, nini idadi ina dunia aliamua kitawakilisha namba 1? Haki, kwa sababu we-- 49, inaonekana hapa, chini katika chini kushoto. Sasa, je, mimi maana na kwamba? Hivyo zinageuka kuwa katika mifumo ya kompyuta, kuna ujumla tofauti ya msingi kati ya idadi na tabia. idadi ni jambo sisi kujifunza kupanda juu wakati tulikuwa super vijana katika shule daraja. Ni mambo kuhesabu na. Lakini tabia ni tu sura, glyph, hivyo kusema, juu ya screen. Sasa, sisi binadamu aina ya kuona kitu ambacho inaonekana kama hii. Na sisi kusema, oh, kwamba ni idadi 2. Lakini hakuna, hiyo ni ishara kwamba inaonekana kama kile sisi kujua kama namba 2. Na hivyo kuna hii tofauti bayana kati ya idadi halisi na wahusika. Hii ni idadi. Lakini kwa ujumla, katika mazingira ya kompyuta, kama wewe badala yake kuona kitu kama quoted-- hii na wewe wala daima na kuona ni alinukuliwa, lakini kwa ajili ya discussion-- kama unaona quotes kuzunguka posta, hii sasa ni tabia. Hivyo idadi hii 2 chini kofia ndani ya kompyuta itakuwa kuwakilishwa na muundo ya bits kwamba kuwakilisha idadi 50 kwa mujibu wa chati online. Hata hivyo, kama kompyuta tu anaona hili, hii itakuwa kuwakilishwa na mfano wa bit 0 0 0 0 0 0 1 0. Wakati ambapo, tabia hii ingekuwa kweli kuwa kuwakilishwa as-- na sasa, I got kufikiri harder-- kidogo hivyo hii tabia itakuwa kuwakilishwa na 0 0 1-- je, mimi haja hapa? 0 0 1 1 0 0 1 0. Jinsi gani mimi kufanya hili? Naam hii ni idadi 50, kama wewe kuzidisha ni kwa kutumia nguzo hizi, hii ni idadi 2, na hivyo kwamba ni kwa nini kuna mgawanyiko huu. Na hii ni teaser sasa kwa ajili ya makala ambazo zipo katika lugha ya programu kwamba tutaweza kugusa juu kwa ufupi baadaye leo. Katika lugha ya programu, una ujumla, lakini si mara zote, mambo kuwaita aina mbalimbali data. Kwa maneno mengine, programmer-- wakati yeye au yeye ni kuandika, programu anapata kuamua katika kile format kuhifadhi data yake. Unaweza ama kuhifadhi data kama idadi mbichi, kama namba 2. Au unaweza kuhifadhi yao kama masharti, au Utaratibu wa wahusika kwamba ingekuwa ujumla kueleza kwa quotes katika lugha yako programu. Unaweza kuwa na mambo called-- Mimi itabidi oversimplify na kuwaita halisi numbers-- hivyo idadi ambayo si integers kama namba 2, lakini idadi kama 4.56. Hivyo idadi halisi Unaweza pia kuwa na pointi decimal, hivyo hiyo ni tofauti kimsingi kipande cha data katika kompyuta. Na kisha unaweza hata kuwa na aina nyingine data bado. Hivyo hiyo ni teaser kweli ya rahisi ya kubuni maamuzi kwamba programu nguvu kufanya chini ya Hood. Hivyo maswali yoyote tu bado? Basi hebu jaribu kufanya hii kidogo zaidi halisi. vifaa hii si sana katika matumizi tena. Lakini wengi kila mtu katika chumba hiki pengine ikakua na na bado anatumia anatoa ngumu kwa namna fulani. Hata ingawa wengi Laptops wetu tena na vifaa kwamba kazi kama hii, badala Laptops leo kwa ujumla na anatoa hali ngumu na sehemu hakuna kusonga mbele. Na kwamba huelekea kuwa ghali zaidi, kwa bahati mbaya, lakini kidogo kidogo kwa kasi na a-- vizuri, mara nyingi, mengi kwa kasi, ambayo ni moja ya sababu. Na pia hana kuzalisha joto kama mengi. Ni inaweza kuwa ndogo, hivyo ni ujumla wavu chanya. Lakini hii inaruhusu sisi map kidogo zaidi praktiken nini tunazungumzia saa 0 na ngazi ya 1 ya sasa kwa kifaa kimwili. Ni jambo moja kwa ajili yangu na kuzungumza kuhusu 0 na 1 ya katika suala ya simu yangu au abstractly katika suala ya swichi kuwa na mbali. Lakini nini kuhusu anatoa ngumu? Katika Laptops yako, kama una wakubwa moja, au katika kompyuta yako desktop, au bila ya shaka katika seva leo, ambapo una anatoa ngumu kwamba kuwa terabyte ya nafasi, 4 terabytes ya nafasi, vizuri hiyo ina maana gani? kuendesha gari kwa bidii na 1 terabyte ya njia nafasi kuna trilioni 1 ka ndani yake kwa namna fulani, au equivalently trilioni 8 bits ndani. 1 terabyte itakuwa 8 terabits au trilioni 1 bits, ambayo ina maana kama una ngumu gari, una namna fulani au nyingine trilioni 0 ya na 1 ya ndani yake. Na kama sisi tu kuangalia holela picha ya gari ngumu mwakilishi, hii ni nini ngumu gari inaweza kawaida kuangalia kama ndani. Ni, pia, ni aina ya kama umri wa mchezaji santuri lakini kwa ujumla na rekodi nyingi ndani, hivyo kwa speak-- nyingi platters, kama wao ni kuitwa, chuma mviringo disks, na kisha mdogo wa kusoma kichwa, kiasi kama mchezaji wa zamani rekodi. Na kwamba kusoma kichwa hatua nyuma na nje na kwa namna fulani anasoma bits. Na nini juu ya sahani hizi, hata ingawa sisi binadamu huwezi kuwaona, ama katika hali halisi au katika picha hii, kuna kidogo kidogo magnetic chembe. Na hata kama wameweza muda mrefu wamesahau jinsi ya umeme kazi, chembe magnetic hiyo kushtakiwa kwa ujumla ina mwisho kaskazini na kusini end-- hivyo kaskazini na kusini. Na hivyo dunia tu aliamua baadhi ya wakati uliopita kwamba, kama magnetic itifaki kimsingi ni kompyuta kama hii, kaskazini na kusini, hebu simu kwamba 1. Kama ni badala ya kusini-kaskazini, hebu tu wito kwamba 0. Na hivyo kama una ovyo wako trilioni kidogo kidogo magnetic particles-- na hopefully, vifaa ingenuity katika Ili flip wale walio karibu kama unaweza kuona fit-- kama unataka kuwakilisha rundo zima la 0, wewe tu haja 8 chembe magnetic zote na kompyuta kama hii. Na kama unataka kuwakilisha nane 1, wewe tu haja 8 chembe magnetic kompyuta nyuma kwa nyuma kwa nyuma kama hii. Je, ina maana na chembe magnetic? Kwa kweli, miaka yote hii baadaye, Jambo kwamba bado anakuja kwa mawazo yangu ni guy hii, kama wewe ikakua na jambo hili. Hii ni little-- kwa wale a unfamiliar-- kidogo utoto toy kwamba ina mtu huyu hairless hapa ambayo ina hizi vidogo nyeusi wote kidogo chembe magnetic kuwa kuja na hilo. Na kutumia kwamba fimbo nyekundu, ambayo ni tu sumaku, unaweza aina ya kumpa masharubu au eyebrows au nywele au kitu chochote juu yake. Hivyo kwa kweli, kama sisi zoom katika, kwa mfano, hii ni aina ya mchezo wewe Unaweza kucheza na Wooly Willy. Na hii ni tu kusema, hizi ni kubwa chembe magnetic kuliko ni kweli kwenye gari ngumu, na magnetic chembe mbali wachache. Lakini hebu kweli kuona kisha kama huna kuwa na vidogo chembe magnetic katika gari ngumu, jinsi gani unaweza kweli kutumia hizo kuiwakilisha data. [VIDEO avspelning] -The Gari ngumu ni ambapo PC yako Maduka ya zaidi ya data wake wa kudumu. Ili kufanya hivyo, data anasafiri kutoka RAM pamoja na ishara programu ambayo kuwaambia ngumu kuendesha jinsi ya kuhifadhi kwamba data. ngumu kuendesha nyaya kutafsiri wale ishara katika kushuka kwa thamani voltage. Hizi, kwa upande wake, kudhibiti kuendesha gari kwa bidii ya kusonga parts-- baadhi ya wachache kusonga sehemu kushoto katika kompyuta ya kisasa. Baadhi ya dalili za kudhibiti motor, ambayo spins chuma-coated platters. data yako ni kweli kuhifadhiwa kwenye platters hizi. ishara nyingine kusonga kusoma / kuandika vichwa kusoma wala kuandika data kwenye sahani. mashine hii ni hivyo sahihi kwamba nywele za binadamu hakuweza hata kupita kati ya wakuu na inazunguka platters. Hata hivyo, yote kazi kwa kasi kali. [MWISHO avspelning] Na unaweza kuona katika mwisho wa mkia wa video, kwa ujumla kuna platters mbalimbali. Na ili kichwa kusoma si kusoma tu juu. Ni aina ya kama tatu au nne vichwa kusoma au zaidi kwamba hoja kama hii, kusoma data wakati huo huo. Hivyo kuna mengi ya utata na aina ya majira hiyo kushiriki katika gari ngumu. Na jambo ni inazunguka kweli darn haraka, hivyo kuna mengi ya utata. Lakini hebu kuvuta undani kidogo na kuona ambapo ni chembe hizi magnetic na jinsi ni sisi ni kupata katika wao. [VIDEO avspelning] kuangalia -Let ya nini sisi niliona tu katika mwendo wa polepole. Wakati mapigo mafupi ya umeme ni alimtuma kusoma / kuandika kichwa, flips juu ya umeme vidogo kwa sehemu ya pili. sumaku inajenga uwanja, ambayo mabadiliko polarity wa vidogo, vidogo sehemu ya chembe chuma ambayo kanzu uso kila sahani ya. mfululizo mfano wa hayo vidogo kushtakiwa up maeneo kwenye disk inawakilisha kidogo moja ya data katika binary mfumo idadi kutumiwa na kompyuta. Sasa, kama sasa ni alimtuma moja njia ya kupitia kusoma / kuandika kichwa, Eneo hilo ni polarized katika mwelekeo mmoja. Kama sasa ni alimtuma katika mwelekeo kinyume, ubaguzi ni kuachwa. Jinsi gani unaweza kupata data mbali disk ngumu? Tu kubadili mchakato. Hivyo ni chembe juu ya disk kwamba kupata sasa katika kusoma / kuandika kichwa kusonga mbele. Kuweka pamoja mamilioni ya hizi makundi sumaku, na nimepata file. Sasa, vipande vya faili moja inaweza kuwa na kutawanyika kila platters gari ya, aina ya kama fujo ya magazeti juu ya dawati yako. Hivyo maalum ziada file anaendelea wimbo wa ambapo kila kitu. Je, si wewe unataka alikuwa kitu kama hicho? [MWISHO avspelning] Hivyo kuwa alidokeza huko, pengine, ni kwamba mada kuanzia jana ya kufutwa. Wakati kufuta file, jana tulisema kwamba kompyuta kweli anafanya nini, wakati Drag kitu kwa Recycle bin au bin takataka? Ni tu anasahau yake. Lakini 0 na 1 ya, chembe magnetic kwamba kuangalia kama nyekundu na bluu mambo hapa, au mkono wangu hapa, bado kuna kwenye gari ngumu. Na hivyo kuna software-- Norton Utilities na Yesteryear na wengine zaidi ya kisasa software-- kwamba tu mapenzi Scan nzima gari ngumu kuangalia katika wale wote 0 na 1 ya, kwa sababu zinageuka kuwa zaidi file miundo tofauti-- Neno hati, files Excel, picha, video files-- wote wana fulani chati ambayo ni ya kawaida kati yao. Kila faili video wapate kuwa ya video tofauti, lakini kwanza kadhaa bits ni kawaida sawa. Au mwisho bits kadhaa ni kawaida sawa. Na hivyo pamoja na uwezekano mkubwa, unaweza kuangalia kwa chati hizo. Na hata kama faili imekuwa wamesahau, unaweza kusema na uwezekano mkubwa, lakini hii inaonekana kama hati Neno, lets kuokoa yake na un-kusahau hayo, kama wewe. Na hivyo kwamba ni jinsi gani anaweza kupona data hiyo ama wamekuwa ajali kufutwa au kufutwa au kwa makusudi ilifutwa kwa madhumuni chochote. Kwa upande mwingine, salama deletion anafanya nini katika mazingira ya picha kama hii? Hasa, inawafanya zote random. Hivyo ni aina ya hatua baadhi ya yao chini, baadhi yao juu, majani baadhi yao bila kubadilika, na ujumla hufanya kelele random nje ya hayo, au labda tu hufanya wote wa nao 0 au wote 1 ya. Na kwamba pia unaweza ujumla scrub data yako mbali. Basi hebu kurudi sasa kwa suala ya kufikiri computational, ambapo tuna pembejeo formula. Na algorithms inatoa wewe matokeo hatimaye. Sisi kulenga sasa katika pembejeo na matokeo, kwa sababu sasa, mimi Madai tuna njia ya anayewakilisha pembejeo na mazao. Sisi ni kwenda tu kutumia binary. Na bila kujali sisi unataka kuwakilisha leo, kama ni idadi au barua au maelfu vyake katika kitabu cha simu au picha au sinema, mwishoni ya siku, ni wote 0 na 1 ya. Na mimi kudai kwamba, ingawa hii ni dunia super rahisi na ya 0 tu na 1, tunaweza kujenga wenyewe up. Na tumeona mfano mmoja wa kwamba pamoja na barua hivi sasa. Basi hebu kulenga sasa katika hii katikati kingo, algorithm. Na hebu kurudi huu mfano wa Mike Smith. Hivyo katika kitabu hiki simu, ambayo admittedly, hatuwezi kutumia kiasi tena, kuna tatizo kutatuliwa. Tunataka kupata mtu kama Mike Smith. Na nini inaweza nifanye nini ili kupata Mike? Naam, mimi naweza tu kufungua hii kitabu, kuanza saa ukurasa wa kwanza, na kutambua, oh, mimi niko katika A sehemu. Mike si huko. Nahitaji S sehemu kwa ajili ya Smith. Hivyo tu kuweka kugeuka ukurasa mmoja kwa wakati. Napenda kujifanya kuwa hii yote ni kurasa nyeupe na kurasa si njano, kwa sababu sisi siyo kwenda kupata Mike katika kurasa njano anyway. Lakini mimi nina katika kurasa nyeupe. Na sasa, mimi niko katika B sehemu. Mimi bado hakuonekana yake. Hivyo mimi kuweka kugeuka ukurasa mmoja kwa wakati. Hii ni algorithm. Ni seti ya maelekezo kwa ajili ya kutatua tatizo fulani. Kwa maneno mengine, tuangalie ukurasa, kama Mike siyo juu yake, kugeuka ukurasa, na kurudia tena na tena na tena, walau kuangalia chini kama wewe kufanya hivyo. Hivyo ni algorithm hii, mchakato huu, ni sahihi? Sorry. Hapana, mimi kusikia baadhi nos. OK, lakini is-- yeah, ni hakika tedious. Kama, tutaweza kuwa hapa siku zote kama mimi kuendelea kutafuta Mike kwa kasi hii. Lakini ngoja kudai ni sahihi. Ni kijinga, lakini ni sahihi. Mwisho wa siku, kwa muda mrefu kama nguvu kuchukua, nami kupata Mike kama yeye ni katika huko na mimi nina kulipa kipaumbele. Na mimi hatimaye kufikia ukurasa wake. Na kama mimi kupata mbali mno, kama Mimi kupata T sehemu, basi naweza kidogo kuongeza na kusema tu, hm, kila kosa. Mimi wala hata haja ya kupoteza wakati kwenda Z. Lakini hii ni sana linear mbinu, kama wewe itakuwa, sana aina ya kushoto-to-haki mbinu, line moja kwa moja. Na yake sahihi lakini polepole. Hivyo mimi kukumbuka kutoka shule ya daraja, aina ya optimization kutoka grader kwanza, ambapo mimi kujifunza jinsi ya kuhesabu si na ndio lakini kwa twos-- hivyo 2, 4, 6. Ni, vigumu sana kufanya, lakini katika nadharia, ni faster-- 8, 10, 12, 14, na kadhalika. Jinsi kuhusu algorithm kwamba? Je, ni ufanisi zaidi? Je, ni kwa kasi? Watazamaji: Ni ufanisi. DAVID Malan: Yeah, hivyo ni def-- ni literally mara mbili kwa haraka, kuchukua mimi hawana kupata tripped up kwa vidole yangu. Ni mara mbili kwa haraka, kwa sababu Mimi nina kugeuka kwa njia mbili kurasa mara moja badala ya moja, lakini ni uwezekano katika sahihi, kwa sababu kwa nini? Watazamaji: Wewe ni kuruka baadhi. DAVID Malan: Right, nini kama Mike hutokea kuwa sandwiched-- labda wakati mimi nina baadaye katika kitabu cha simu, Mike hutokea kwa kuwa ipo kati ya kurasa hizi mbili, na mimi tu upofu ruka juu yake. Kwa hiyo, tunahitaji kurekebisha kidogo huko. Mara baada ya mimi kugonga T sehemu, mimi Huwezi tu kusema hivi kwa uhakika, hatukuona Mike Smith. Mimi pengine mara mbili nyuma. Au kwa kweli, mara moja mimi kufikia mtu aitwaye S-N, badala ya S-M kwa Smith, mara moja, mimi inaweza mara mbili nyuma, kwa sababu labda yeye Ilikuwa juu ya ukurasa uliopita. Lakini sina mara mbili nyuma mbali. Katika nadharia, kama mimi kufanya hivyo katika haki muda, mimi tu kwenda nyuma ukurasa mmoja. Hivyo ni kuongeza hatua moja tu ya ziada. Hivyo nimekuwa wamekwenda mara mbili kwa haraka, lakini ni gharama mimi ukurasa moja ya ziada. Lakini kwamba anahisi kama kushinda wavu. Lakini hii si jinsi watu wengi katika chumba hii itakuwa kutatua tatizo hili. Gani mtu wa kawaida, labda miaka michache iliyopita kufanya, ili kupata Mike Smith? Yeah, hawakuona Mike. Nifanyeje? Hivyo kupata kidogo karibu, lakini mimi kufanya know-- yaliyo ya kweli kuhusu kitabu cha simu? Watazamaji: Ni utaratibu wa kudumu. DAVID Malan: Ni utaratibu wa kudumu. Ni herufi. Na hivyo kama mimi niko katika M sehemu, Mike ni wazi na haki, Siwezi literally machozi tatizo katika half-- ni kawaida rahisi zaidi kuliko machozi that-- tatizo katika nusu na kutupa mbali, ili sasa, nina tatizo hilo tena 1000 pages-- hiyo ilikuwa ngumu, kwa sababu mimi nadhani kwa kweli akararua kitabu cha simu hii time-- si 1,000 kurasa, lakini 500. Hivyo tatizo ni literally nusu kama kubwa. Na kwamba ni pretty kulazimisha, kwa sababu na algorithms yangu ya awali, ubora 1 na 2, nilikuwa tu kufanya tatizo ukurasa mmoja ndogo, kurasa mbili ndogo kwa wakati. Ambapo sasa, mimi alifanya hivyo 500 kurasa ndogo yote kwa mara moja. OK, hivyo sasa, Karim inapendekeza kwamba mimi kwenda nusu ya haki. Hivyo mimi nina kwenda takribani katikati, kutoa au kuchukua. Na kama Nilifanya hivyo mathematically, Mimi naweza kwenda haki ya katikati. Na sasa, mimi kutambua, loo, Mimi niko katika T sehemu. Mimi kwa kweli hakuwa kwenda mbali mno. Lakini siwezi, tena, machozi tatizo katika nusu, kutupa mbali. Na ka yangu si kubwa. Ni tu, je, 256 kurasa au 250 kurasa, kutoa au kuchukua hivi sasa. Lakini bado ni njia zaidi kuliko ukurasa mmoja au kurasa mbili. Na hivyo kwa sasa nakwenda takribani katikati. Oh, sikuweza kwenda kabisa mbali kutosha sasa. Hivyo mimi kurudia, kurudia, kurudia, kurudia, mpaka mimi nina hopefully kushoto na ukurasa mmoja tu. Hivyo kwamba inakaribisha swali, kama mimi ilianza na takribani 1,000 kurasa, jinsi hatua nyingi alifanya hivyo kuchukua me na toleo 1 ya algorithm wangu? Naam, kama Mike ni katika S sehemu, katika kesi mbaya, hiyo ni pretty karibu na mwisho wa alfabeti. Hivyo kama kitabu cha simu ina kurasa 1,000, Mimi itabidi kupata Mike ndani ya kurasa 1,000, kutoa au kuchukua. Labda ni kama 800 au hivyo, lakini ni pretty karibu na 1,000. Wakati ambapo, katika pili algorithm, jinsi wengi ukurasa anarudi maximally nguvu mimi zinahitaji kupata Mike Smith? Kuna kurasa 1,000, lakini mimi nina kufanya nao mbili kwa wakati. Haki, hivyo max kama 500ish, kwa sababu kama mimi kwenda kupitia kitabu nzima ya simu, ambapo kiwango, siwezi kuacha. Lakini siwezi kunyoa chache na tu kuacha saa T sehemu. Lakini ni katika hali mbaya zaidi ya 500 kurasa. Hivyo mara ngapi ninaweza kugawanya 1,00o-ukurasa kitabu cha simu katika nusu tena na tena na again-- kutoka 1,000 hadi 500 kwa 250-125? Muda gani kabla ya mimi kugonga ukurasa mmoja? Yeah, ni kuhusu 10. Kutegemea rounding na vile, ni kuhusu 10 kurasa jumla ya haja ya kuwa akageuka au vitabu simu haja ya kuwa na lenye. Hivyo hiyo ni pretty nguvu. Sisi ilianza na tatizo 1,000 ukurasa katika yote matatu ya hadithi hizi. Lakini katika algorithm ya kwanza, alichukua yangu, hali mbaya zaidi, 1,000 ukurasa anarudi kwa kupata Mike. Pili algorithm, 500 kurasa kupata Mike. Tatu algorithm, 10 kurasa kupata Mike. Na ni hata zaidi nguvu wakati unafikiri kuhusu aina ya mazingira kinyume. Tuseme kwamba kampuni ya simu ijayo mwaka labda huingiza miji miwili kwa pamoja, na kitabu cha simu ni ghafla hii nene, badala ya hii kwamba, hivyo 2,000 kurasa badala ya 1,000. Naam, algorithm yangu ya kwanza kuangalia kwa Mike Smith katika 2000-ukurasa kitabu cha simu, mbaya kesi, ni kwenda kuchukua wangapi ukurasa anarudi mwaka ujao? Simu kitabu ni 2,000 kurasa, so-- vizuri, si moja zaidi. Kama kitabu cha simu ni mara mbili nene katika algorithm kwanza, kwanza algorithm, 2,000, sawa? Katika hali mbaya zaidi, Mike ni kweli karibu na mwisho wa kitabu, hivyo ni 2,000 ukurasa zamu. Pili algorithm kwenda na wawili-wawili, kama kurasa 1,000. Lakini vipi kuhusu mwaka wa tatu wangu na hivi karibuni algorithm? Kama kampuni ya simu mara mbili idadi ya kurasa 1,000 hadi 2,000, jinsi wengi zaidi nyakati haja nitazirarua kwamba kitabu katika nusu kupata Mike? Watazamaji: Moja tu. DAVID Malan: Moja zaidi, kwa sababu pamoja na ukurasa mmoja machozi, Siwezi literally kugawanya na kushinda, kama wewe, kuwa tatizo katika nusu kuchukua bite mkubwa nje ya hiyo. Na hivyo hii ni mfano wa ufanisi na arguably algorithm na ambayo sisi sote ni aina ya intuitively ukoo. Lakini ni tu kama sahihi kama algorithms yangu nyingine na kwamba tweak kwa algorithm pili, lakini ni hivyo ufanisi zaidi. Na kwa kweli, nini kompyuta mwanasayansi, au kwa upande programu, ingekuwa kawaida kufanya wakati wa kuandika code ni kujaribu kufikiri, yote ya haki, Sitaki yangu mpango tu kuwa sahihi, Mimi pia unataka kuwa ni ufanisi na kutatua matatizo pia. Fikiria katika ulimwengu wa kweli leo, kama bahati Google, utafutaji kama mabilioni ya kurasa, kufikiria kama wao kutumika algorithm kwanza kupata paka miongoni mwa bilioni pages-- kuangalia ukurasa wa kwanza katika orodha yao, pili, tatu, kuangalia tu kwa ajili ya paka, kuangalia kwa paka. Hiyo pretty darn kupunguza inaweza kuonekana. Wangeweza badala yake kutumia kitu aitwaye search binary, ambayo hakuna bi coincidence-- maana mbili, sisi kuweka kugawa kitu katika 2, katika half-- wangeweza kutumia search binary na labda kupata paka hata kwa kasi, au chochote ni wewe ni kutafuta kwa. Na kusema ukweli, kuna hata algorithms fancier kwamba kufanya mengi zaidi kuliko tu kugawa mambo katika nusu ili kupata taarifa haraka. Na tutaweza kuzungumza kidogo kuhusu wale baada ya chakula cha mchana leo. Hivyo basi mimi tu kujaribu kuwakilisha huu. Hatuna haja ya kwenda katika math yoyote au idadi halisi. Tunaweza kuzungumza kuhusu suala hili katika abstract. Lakini ngoja tu kupendekeza, kama wewe walikuwa kuwa na mjadala sasa na wahandisi kupendekeza algorithm hii na wewe ni kujaribu kufanya mahesabu uamuzi, kwa sababu labda mhandisi akiwaambia, wewe kujua nini, siwezi kutekeleza tafuta linear katika kama dakika mbili. Ni rahisi. tafuta binary si kwamba dhana tu, lakini ni kwenda kuchukua mimi kama dakika 10, hivyo mara 5 kwa muda mrefu. Kuna biashara hapa, hata katika suala wa kuamua nini programu kuandika. Je, kuandika rahisi algorithm, ambayo itakuwa tu kuchukua wewe dakika mbili? Au wewe kutumia muda zaidi, dakika 10, kuandika fancier algorithm? Jinsi gani unaweza kuamua aina hiyo ya swali? Au unaweza kufanya ni kidogo zaidi halisi. Nawaambia bosi wangu ni kwenda kuchukua me ama wiki moja au wiki 10 kutekeleza programu kwa njia hii, jinsi gani unaweza kuamua ambayo algorithm kwa kijani-mwanga? Karim? Watazamaji: watazamaji, mimi nadhani. DAVID Malan: watazamaji. Ni nini maana na watazamaji? Watazamaji: Kama ni kwenda kutumiwa na watumiaji ambao [inaudible] na watumiaji [inaudible]. Lakini kama ni kitu wewe ni tu kufanya kwa ajili yako mwenyewe kuwezesha tatizo, [Inaudible] wepesi. DAVID Malan: Yeah, ni haraka na chafu ni njia nzuri ya kuelezea. Kwa kweli, kama wewe ni kuelezea mengi ya muda wangu katika shule grad, ambapo mara nyingi, Niliandika kificho mbaya kwa uangalifu so-- angalau, hiyo ni jinsi mimi kuongezwa ufanisi it-- uangalifu ili, kwa sababu hata mimi nilikuwa kuandika kificho hiyo ilikuwa kiasi polepole kutekeleza, Nilikuwa na uwezo wa kuandika kanuni yenyewe pretty haraka, matumizi dakika tu au masaa siku si. Na aligeuka, mimi mara kwa mara unahitajika kulala. Hivyo hata kama kanuni yangu required 8 masaa ya kuendesha, vizuri hiyo ni nzuri, Mimi itabidi kwenda kulala wakati anaendesha. Hivyo wakati huo, Nilidhani hii ilikuwa wajanja sana, hata mimi inaonekana kazi kwa njia ya PhD yangu pole pole sana. Lakini kinyume cha ule ni kwamba, kama ningekuwa kuandika programu kwa watu wengine ambao cha muhimu zaidi kuliko mimi, vizuri, kuwa nao kusubiri masaa 8 kwa kupata nyuma tafuta matokeo yao si yote ya kulazimisha. Na hivyo kutumia muda zaidi hadi mbele kuandika programu kwamba ni ufanisi zaidi, zaidi kama kompyuta yetu ya tatu, pengine faida watumiaji juu ya muda. Hivyo ni kweli inategemea zaidi muda gani gharama hizo kuongeza up. Kama wewe ni kwenda kuwa kuandika programu ya matumizi yake mara moja, pengine pia kufanya haraka na chafu, kama wanasema. Tu kutupa pamoja. Ni kificho kwamba embarrasses wewe, ni mbaya mno, lakini anapata kazi kufanyika kwa usahihi, hata kama ni si ufanisi. Kinyume chake, wewe kutumia muda zaidi juu ya kitu, kupata haki tu. Na kisha amortized baada ya muda, kwamba upfront gharama ya muda pengine ni worthwhile, kama wewe kuweka optimizing kwa ajili ya kesi ya kawaida. Na hakika, hiyo ni mada katika programu, au sayansi ya kompyuta zaidi ujumla, kujaribu optimize si kwa ajili ya kesi kawaida lakini case-- kawaida nini operesheni kinaenda kutokea tena na tena? Kama wewe ni kwenda kuwa na mabilioni ya watumiaji wa kutafuta kwenye tovuti yako, unapaswa pengine kutumia ziada wiki hadi mbele kuandika programu bora, hivyo kwamba wote wa watumiaji yako kunufaika. Sasa, hebu kujaribu kukamata a huu kidogo pictorially, lakini si sana numerically. Hivyo hapa ni tu umri wa shule chati. Na napenda kusema kwamba hii ni mara. Na haijalishi what-- kweli, hakuna hata wakati mmoja. Hebu kuweka kwamba kwenye mhimili mmoja. Hebu kusema kwamba hii ni mara ya, na hii ni ukubwa wa tatizo. Na mwanasayansi wa kompyuta inaweza ujumla kuwaita hii tu n. n ni kama yetu go-kwa kutofautiana, ambapo n ni idadi, n idadi, na ni idadi ya pembejeo chochote una. Hivyo katika kesi hii, n ni idadi ya kurasa. Hivyo inaweza kuwa 1,000 mwaka kesi sisi tu aliiambia. Hivyo wakati unaweza kuwa kitengo chochote cha kipimo. Labda, ni ya pili. Labda, ni siku. Labda, ni kama ukurasa zamu. Haijalishi. Chochote unataka kuhesabu katika, kwamba itakuwa ni mara au gharama equivalently. Hivyo kwa kuwa kwanza kabisa algorithm, kama mimi, kwa mfano, alikuwa 1,000 ukurasa simu kitabu, Mimi nina kwenda kuteka dot huko, kwa sababu kama ni kurasa 1,000, ilichukua takribani 1,000 ukurasa anarudi, kutoa au kuchukua. Na kisha kama ningekuwa na 2000-ukurasa kitabu cha simu, na mimi nina kwenda kuteka pili dot hapa, kwa sababu kwa kurasa 2,000, ni kama sekunde 2,000 au ukurasa anarudi au chochote. Na hivyo wakati nilivyosema awali, ni aina ya uhusiano linear, hiyo ilikuwa makusudi, kwa sababu nilitaka baadaye on-- haki now-- kwa kuchora mstari. Ni aina ya moja kwa moja line uhusiano. mteremko ni 1/1, kama wewe. Wakati huo huo, algorithm pili Alisema, kama nimepata kurasa 1,000 na wewe walikuwa kutumia algorithm pili, ambapo mimi kuhesabiwa na 2, na kugeuka kurasa mbili kwa wakati mmoja, anatakiwa kuteka dot chini au juu ya dot yangu ya awali? Watazamaji: Chini. DAVID Malan: Chini, kwa sababu kama tuliona, huchukua muda mfupi, nusu kama muda kiasi. Hivyo dot lazima nusu kama juu kama wengine. Na huo mpango zaidi ya hapa, hii dot lazima pengine kuwa takribani huko. Na hivyo algorithm yangu ya pili, vile vile, ana uhusiano linear na wakati. Na tunaweza kuteka ni kama vile. Hivyo sasa, tatu na ya mwisho algorithm ni vigumu kidogo kuteka. Lakini intuitively, kama mimi nimepata 1,000 kurasa na algorithm yangu ya tatu, ni lazima tu kuchukua mimi kama hatua 10. Na kama mimi nimepata kurasa 2,000 na algorithm yangu ya tatu, ni lazima kuchukua mimi si 10 hatua, lakini 11, moja tu zaidi. Hivyo sisi ni vigumu tu kwenda kuona hii. Na zinageuka, kama Mimi kuvuta hii, mimi nina kwenda kwa chumvi kwa ajili ya athari, sura ya mstari kwamba, hatimaye, si line-- moja kwa moja kwa sababu, kwa hakika kama ilivyokuwa, bila kuangalia zaidi kama others-- ni kweli mstari ikiwa kwamba, kama sisi kuvuta, ni kwenda kuangalia mengi zaidi kama hii. It-- vizuri, OK, kupuuza sehemu hii. Hiyo ilikuwa ni kalamu yangu kwenda ya pembeni. Ni mzingo line kwamba daima ni kuongeza, daima, daima, siku zote kuongezeka, lakini tu vigumu tu. Na hivyo baada ya muda, una uhusiano kwamba ni zaidi kama hii. Ni karibu inaonekana moja kwa moja. Lakini ni milele hivyo polepole kuongezeka. Lakini kwa karibu pointi wote pamoja x-mhimili yako, usawa mhimili, ni chini zaidi kuliko wale mistari mingine. Hivyo hii inaweza kuwa uhusiano n, ambapo kama una kurasa n, inachukua wewe n sekunde. Hii inaweza kuwa uhusiano n / 2. Una kurasa n, inachukua wewe n / sekunde 2, nusu kama wengi. Na hii ni logarithmic Uhusiano, ambayo kama unakumbuka, kuingia msingi 2 ya captures n aina hii ya ukuaji, hivyo kusema. Hivyo hii ni aina ya takatifu grail kati ya wale watatu wa haya hapa, kwa sababu ni tu hivyo zaidi ufanisi, lakini arguably zaidi tata kutekeleza. Maswali yoyote? Naam napenda kufanya hivyo, basi mimi kufungua dirisha maandishi tu ili tuweze kujaribu kurasimisha kitu hapa. Hivyo basi mimi kwenda mbele sasa na kutekeleza algorithm hii kwa ajili ya kutafuta Mike Smith katika kanuni, kama wewe, pseudocode kificho. Sitakuja kutumia Java au C ++. Mimi tu kwenda kutumia aina ya Kiingereza-kama syntax, ambayo sisi ingekuwa ujumla kuwaita pseudocode kificho. Lakini hapa nina dirisha tupu. Na mimi kusema hatua ya 1 ya sana algorithm kwanza ni kuchukua kitabu cha simu. Hatua ya 2 ni wazi kitabu kwa ukurasa wa kwanza. Hatua ya 3 itakuwa kuangalia ukurasa kwa Mike Smith. Kama juu ya ukurasa, piga Mike. mwingine upande ukurasa na kwenda hatua 3. Kufanyika, hebu sema. Na hivyo si kabisa kamilifu, ambayo tutaweza kuona katika wakati huu. Lakini hebu fikiria nini dhana nimekuwa kuletwa hapa. Hivyo hatua ya 1 na 2 na 3 ni vitenzi pretty much. Wao ni kauli, actions-- kufanya hivyo. Na hivyo katika programu lugha, tunataka ujumla kuwaita kauli au kazi au taratibu, kuwaita idadi yoyote ya mambo. Lakini wao uko actions-- tu kufanya hivyo. Hatua ya 4 ni tofauti kimsingi, kwa sababu ni aina ya kuuliza swali. Ni kusema tuko aina ya kwenye mgawanyiko katika barabara. Kama Mike ni juu ya ukurasa, piga naye, hivyo upande wa kushoto, kama wewe. Na kama siyo, kwenda nyuma ya baadhi wengine page-- au tuseme, sorry, kwenda nyuma ya baadhi ya hatua nyingine, ambayo induces aina fulani ya looping kujenga. Na sisi kufanya hivyo tena na tena na tena. Na kwa kweli, unajua nini? Yeah. mwingine kama mwishoni mwa kitabu stop. Kwa hiyo, tunahitaji aina ya tatu hali, kwa sababu wewe hawezi kuweka kugeuka ukurasa tangazo nauseum, kwa sababu hatimaye, mimi itabidi kugonga mwisho wa kitabu. Na mdudu katika mpango inaweza kuwa si unatarajia kuwa mazingira. Na kisha mimi tu barabara, oh, kusubiri dakika, nahitaji mazingira ya tatu. Kama mimi nina nje ya kurasa, mimi lazima kweli tu kuacha. Vinginevyo, ni kisichojulikana. Nini kitatokea kama mimi kuendelea akisema kugeuka ukurasa na kurudi nyuma, huu ni wakati kompyuta kufungia au ajali, wakati kugonga baadhi ya hali unanticipated kama hiyo. Sasa, nini kuhusu Mike Smith algorithm tatu kuchukua kitabu cha simu, kitabu wazi kwa first-- kwa hakuna, si kwanza ukurasa wakati huu, kwa middle-- oh, vizuri, kwamba d kuwa algorithm pili. Hebu tu ruka kwa tatu. Watazamaji: Oh, samahani. DAVID Malan: Hiyo ni sawa. Hebu tu ruka kwa wazi third-- katikati na sasa kuangalia kwa Mike Smith. kama juu ya ukurasa, piga Mike. Na kisha nini tunataka kusema hapa? mwingine nini? Tunaweza kueleza hii katika idadi yoyote ya njia. Hakuna jibu sahihi. OK, kama si tena, lakini tunahitaji be-- OK, hatuwezi unataka kugawanya katika mbili, lakini kufanya tunataka kwenda kushoto au kwenda kulia? Jinsi gani sisi kueleza kwamba wazo? Naam, katika kesi Mike, ndiyo, hiyo ni haki. Lakini OK, hivyo hiyo ni kweli hatua nzuri. Ni sawa. Tutaweza kuendelea na mantiki hii. So-- Watazamaji: Chini ya nusu. DAVID Malan: Yeah. Hivyo mwingine kama ukurasa ni, tutaweza kusema, chini kuliko Smith, upande wa kushoto wa Smith, then-- hebu angalia, ni hii kwenda magumu? mwingine kama ukurasa huja kabla Smith, machozi katika nusu, kutupa mbali ambayo nusu? Watazamaji: Nilidhani hiyo ilikuwa [inaudible]. DAVID Malan: Mimi kusikia wote wawili majibu. Watazamaji: Kushoto. DAVID Malan: Sawa, kutupa mbali kushoto nusu, kama Lakisa alisema mapema, kushoto nusu, basi mimi aina ya wanataka kwenda tu to-- mimi kwenda kulia. Au equivalently, na mimi alifanya kidogo kidogo ya fujo ya mwanzo hapa, Mimi kwa ufanisi wanataka kwenda hatua 2 tena, ambapo wazi kwa middle-- au open-- yeah, hebu tu kusema, kurasa kwa katikati. Na hii kunasa yake. Ni tena kitabu. Ni tu nusu ya kitabu, kurasa hivyo wazi kwa katikati. else-- walikuwa karibu na hapo. Hatua ya 6, mwingine kama ukurasa inakuja baada Smith, machozi katika nusu, kutupa nusu mbali haki, kisha kwenda hatua 2. mwingine kujiondoa, mazingira ya nne ikiwa hatuna kurasa kushoto na kurejea. Hivyo tunaweza safi hii up. Na tunapaswa safi hii up. Hii ni pseudocode sana kificho, kama wewe mapenzi, juu sana kiwango cha maelezo. Lakini haina ujumla kukamata wazo. Na tena, katika hali hii, sisi na dhana ya hali, tawi, uma katika barabara, na kufanya decision-- kama hii, kwenda kwa njia hii, mwingine kama, kwenda kwa njia hii, mwingine kama, kwenda kwa njia hiyo. Na hii ni kawaida sana mbinu ya programu kuamua ambayo mwelekeo kwenda, hivyo kusema. Na sisi pia kuwa baadhi ya aina ya looping muundo, ambapo sisi ni kufanya kitu tena na tena. Sasa, ni zamu nje, mengi kama katika mfano huu, kuwa super sahihi ni muhimu. Lakini tumekuwa pia kuonekana kitu kwamba sisi kuweka wito kufikirika tu. Ina maana gani kuchukua kitabu cha simu? Sisi ni tu aina ya kuchukua kwa nafasi katika chumba hiki kwamba ambayo ina baadhi maana semantic. Sisi sote tu aina ya kujua, loo, vizuri, pick up kitabu cha simu. Je, hiyo kweli maana? Naam, hiyo kwa kweli ina maana kupanua mkono, konda juu, kupanua vidole, Bana kitabu kati ya vidole, kusimama, kuvuta mkono kuelekea wewe. Na tunaweza kuwa kweli pedantic kuhusu hili, kweli kuwa super sahihi kama kwa nini mimi kufanya. Lakini hatua hizo zote kwa pamoja ni nini maana ya kuchukua kitabu cha simu. Na hivyo awali, wakati mimi alisema, kila ya kauli hizi mbili za kwanza inaweza kuchukuliwa kama kuendelea au kazi, kweli inawakilisha nini sisi kuweka wito kufikirika tu. Ni kama kiwango cha juu dhana maelezo ya tatizo kwamba kweli inahusisha hatua chache kabisa. Na hivyo hii, pia, ni mara kwa mara mada katika programu, ambapo mimi ili kuandika mpango kutumia syntax kama hii pick_up_phone_book (). Na kisha syntactically, mimi nina kwenda kuiba kitu kutoka lugha nyingi programu. Sasa, hatua ya 1 inaonekana hata zaidi kama kazi, kama programu kuita yake. Inaonekana kama kificho kwamba mtu amewapa jina kwa na kupewa kwangu kutumia somehow-- katika nyingine maneno, nini mstari nimekuwa yalionyesha inawakilisha utendaji kwamba labda Sikuweza hata kutekeleza mwenyewe. Mtu wakubwa, hekima kuliko me tayari figured nje jinsi gani kueleza dhana ya kuokota kitabu cha simu. Na ni kama hatua tano I just rattled mbali, mbali juu ya kichwa yangu. Lakini yeye au yeye tayari kutekelezwa huu, alitoa hatua hizo kadhaa jina, pick_up_phone_book. Na mabano ni kile tu programmers zaidi kufanya mwishoni mwa kauli kama hii. Mimi sasa wanaweza kusimama juu yake mabega na kamwe tena, kufikiri juu ya nini maana kuchukua kitabu cha simu. Naweza kusema tu, pick up kitabu cha simu. Na kwamba ni nini hasa sisi sote binadamu alivyofanya hapa. Tulipokuwa pengine 1 umri wa miaka, umri wa miaka 2, mtu alikuwa na kutufundisha nini maana ya kuchukua kitabu cha simu. Na tangu wakati huo, tumekuwa yanayotumika mbali kutoka kwa wale uninteresting sana mitambo hatua. Na sisi tu na uelewa Intuitive ya nini maana ya kuchukua kitabu cha simu. Na unaweza extrapolate sasa kwa things-- ngumu zaidi kujenga jengo. Kama, kwa baadhi ya watu, kwamba kweli ina maana. Kwa ujumla, kwa wasanifu, ambayo ina baadhi ya maana. Na wangeweza kujua nini cha kufanya, kama Nilisema, kwenda kujenga jengo. Lakini wengi wetu katika chumba hawakuweza kukabiliana na kwamba kiwango cha ujumla. Unahitaji kutuambia kama go kupata koleo na kwenda kupata thabiti na msumari vipande vya mbao pamoja na kingine chochote ni kushiriki katika ujenzi wa jengo hilo. Na kwamba kwa sababu tuna si bado wamekuwa iliyowekwa kuelewa nini maana ya kujenga jengo. Hatuna kwamba uchukuaji. Hatuna kwamba utendaji. Na hivyo kile utaona katika lugha za, kwa ujumla, Lugha hasa zaidi ya kisasa, kama Java, PHP, Ruby, na chatu, wao uko mengi zaidi kukomaa kuliko lugha wakubwa, kama C na C ++ na bado wengine. Na hivyo wao kuja na zaidi utendaji kujengwa katika. Zaidi kificho kimeandikwa na watu katika siku za nyuma kwamba sisi sasa wanaweza kupiga au kumwita au kutumia, kama mimi nina hinting katika na hii yalionyesha line hapa. Na hivyo hata kama sisi siyo kuzungumza kuhusu lugha ya programu per se, tu pseudocode kificho, wote wa mawazo bado katika mazungumzo hayo. Na zinageuka usahihi ni super muhimu, kama ni ya kufikirika tu. Na hebu jaribu kuwasiliana kwamba kama ifuatavyo. Mimi ajali inaweza kuwa na kuharibiwa huu kwa flashing slide juu ya screen mapema. Lakini napenda kuuliza kwa kujitolea jasiri, kama huna akili kuja juu. Wewe d kuwa mbele ya kamera, ikiwa ni sawa na kwamba. Je, mtu yeyote kama kuja na kutoa maelekezo kwa wenzako hapa? Tu na kuja juu hapa na kusimama hapa na kusema baadhi ya maneno. Victoria is smiling zaidi na kuepukana na macho yangu zaidi. Je, unaweza kuwa na nia ya kuja juu juu? SAWA. Na kama kila mtu mwingine katika viti yako inaweza kuchukua kipande cha karatasi chakavu, kama wewe. Lined karatasi ni faini. Kuja karibu kwa njia hii. Au baadhi ya karatasi ambayo wewe walipewa jana, tu yoyote karatasi tupu cha karatasi, kama unaweza. Na kama huna yoyote, tu kuuliza jirani yako kama unaweza. Hivyo kwa sasa, kwa mfano huu, Victoria ni kwenda kucheza nafasi ya programu, mhandisi, ambaye mahitaji ya mpango nyinyi nyote, kompyuta, kufanya kitu fulani. Na tutaweza kuona nini mawazo wewe kuamua kufanya. Tutaweza kuona jinsi sahihi yeye akiamua kuwa. Na kama maandamano hili linakwenda pedagogically vizuri, kura ya makosa zitafanywa, kwamba tutaweza kisha kutumia kwamba kama fursa kwa ajili ya majadiliano. Lakini changamoto kwa unapaswa kuwa ili kuepuka makosa hayo, kuwa na programu nzuri. Na hivyo changamoto katika mkono, kama d walipenda kutembea zaidi ya hapa, ni mbele ya Victoria kwenye screen here-- na hopefully, hakuna hata mmoja wenu kumbuka hii wakati mimi ulimwangazia kwenye screen. Na wala kugeuka wakati wote, kwa sababu kuna screen mwingine katika chumba hiki niweze kugeuka mbali. Hivyo si kugeuka. Mbele ya Victoria ni kwamba scream huo. Na kazi yake sasa ni kukuambia yote juu ya karatasi yako nini kuteka. Na tutaona, kwa kuzingatia maelekezo matusi peke yake, kompyuta code, kama wewe, jinsi sahihi michoro yako are-- utekelezaji wako ni. Mantiki? Watazamaji: Yeah. DAVID Malan: Sawa, nitafanya. Watazamaji: Draw mraba. [Kicheko] DAVID Malan: Na hakuna maswali kuulizwa. Anaweza tu kufanya kile wewe ni aliiambia. Oh, na kama una slides leo kufungua katika tabo, si kuangalia tab yako. SAWA? Watazamaji: OK, kuchora mduara. slope-- Naweza kusema mteremko? DAVID Malan: Up na wewe. Watazamaji: mteremko. Na pembetatu. DAVID Malan: zote haki. Na kukaa hapa kwa muda tu. Na mimi nina kwenda kuja karibu katika muda tu. Na hakuna haja ya kuweka majina yako juu yake. Hebu kuja karibu na kukusanya michoro yako, kama huna akili kuchanika yao nje. Hapa ni nini sisi got nyuma. Mimi itabidi mradi kwenye screen. Mimi naona mraba, mduara, mteremko, na pembetatu. Ili kwamba ilikuwa jibu moja huko. Na let's-- whoops. Asante. Hapa ni urval mwingine, na moja ya nyuma yake. Kwa hiyo wote wanaonekana kukamata roho. Asante. Kuna mwingine, na hapa ni mwingine mmoja. mteremko tafsiri ni tofauti kidogo, kidogo krokiga. Na wa karibu, ama kwa sababu ya ajabu maalum na ambayo wameweza ilivyoelezwa, au labda wewe aina ya walipoona hayo kabla, hii ni kweli nini Victoria kwa kweli kueleza. Lakini sasa, wale ambao hakuwa na kupata haki kabisa, hebu kutoa baadhi ya pingamizi hapa. Hivyo Victoria kwanza alisema kuteka mraba. Na sasa, tunaweza kudhani kwa ajili ya leo kwamba kila mtu anajua jinsi ya kuteka mraba. Lakini si kwamba kabisa wazi, haki? Jinsi mwingine inaweza una inayotolewa mraba, au ambapo inaweza kuwa baadhi ya utata hapa kwa kompyuta? Watazamaji: Eneo na ukubwa. DAVID Malan: Location, haki? Nyote alikuwa karatasi ya baadhi sura, ujumla mistatili, lakini kidogo ukubwa tofauti. Lakini wewe hakika anaweza kuwa inayotolewa, kama alitaka, mraba kubwa, labda mraba vidogo. Labda, ilikuwa kuzungushwa. Sidhani tuliona kuwa. Lakini inaweza kuwa zaidi diamond kama lakini bado, hata hivyo, kimahesabu mraba. Ili kwamba ilikuwa arguably utata. Ndipo akasema, kuchora mduara. Wengine wenu hawakuwa kuteka ni karibu na yake, ambayo si maana, kwa sababu binadamu huwa na kufikiri au kusoma kulia na kushoto katika lugha nyingi, hivyo si nadhani mbaya. Lakini mduara ambayo inaweza kuwa na wamekuwa ndani ya mraba, inaweza wamekuwa karibu mraba, wangeweza mahali pengine kwenye karatasi, hivyo arguably utata. Mteremko anaweza kuwa labda kuchukua uhuru zaidi kwa maneno na nini maana. Na baadhi yenu kutafsiriwa kama line squiggly au line moja kwa moja au kama. Na kisha pembetatu, pia, inaweza kuwa wamekuwa oriented katika idadi yoyote ya njia. Hivyo katika muda mfupi, hata kwa kitu ambacho mtazamo na wewe ni kama, wow, hivyo rahisi, mtoto anaweza kuteka hii, vizuri si kweli, kama wewe ni super, super kuvutia na kuwaambia kompyuta hasa nini cha kufanya. Hivyo kama tunaweza, kama una mwingine karatasi, hebu jaribu hii mara moja zaidi. Na mimi nina kwenda kutoa Victoria moja mfano mmoja juu ya screen hapa. Na tena, wala kugeuka na si kuangalia slides yako. Na mimi itabidi ampe muda wa kufikiri kuhusu jinsi ya kuelezea hili. Je, si waache kuona hofu katika macho yako. [Kicheko] Na tena, hii kujiinua wakati baadhi ya takeaways wale na kujaribu kupata karibu kila mtu angalau jibu sahihi. Watazamaji: OK, kuchukua kipande cha karatasi, kuangalia katikati ya kwamba kipande cha karatasi. Katikati ya kipande kwamba cha karatasi, kuteka mchemraba. [Kicheko] DAVID Malan: Nini kuwa tumejifunza? Sisi walikuwa karibu. OK, kurudia kama unaweza, kwa kila mtu. Watazamaji: Katikati ya kipande cha karatasi, kuteka kitu, ambayo inaonekana kama mchemraba. DAVID Malan: OK, hiyo ni wote kupata kufanya kazi pamoja. Naomba kuwa uchambuzi na si sana muhimu, lakini kufanya kudai kwamba Victoria dhahiri inaonekana kuwa kufikiri katika sana ngazi ya juu uchukuaji, ambayo si maana. Kwa sababu vinginevyo, nasi sote kuwa pretty haifanyi kazi, kama tulikuwa na kuwa milele hivyo sahihi na kila kitu sisi kufanya katika dunia. Lakini kusema kwenda mimi middle-- walidhani tulikuwa kwenye hizo kufuatilia nzuri huko, kama kwenda katikati sana ya ukurasa, na kisha kuteka mchemraba. Hivyo yeye ni kufikiri katika uchukuaji, kwa sababu yeye bado kuangalia nini juu ya screen kama kweli mchemraba. Lakini kuna fursa nyingi kwa tafsiri huko. Na kwa kweli, kuna wengi njia nyingine unaweza kueleza kwamba, ambayo mimi itabidi kupendekeza katika wakati huu. Hivyo hapa tuna mwili mmoja ya picture-- whoops-- moja mwili wa picha, hivyo kidogo tatu dimensionality kwa hiyo, ambayo ni nzuri. Hapa ni mtu mwingine, ambapo una huo huo, ingawa ni aina ya cube wazi. Baadhi ya folks alichukua ni kidogo zaidi gorofa, pande mbili. Na hiyo ni faini. Kwa hiyo, kuna, kwa kweli katika katikati ya karatasi. Hii moja nadhani itabidi kama, kwa sababu kama sisi kwenda hapa, hii ni nini yeye alikuwa akieleza. Hivyo sasa, napenda kupendekeza jinsi mwingine tupate kuelezea hali hii. Nyuma katika siku, mmoja wa watu wengi njia ya kawaida zaidi kwa kujifunza programu ilikuwa ni kuandika code, anaandika mistari ya maelekezo, kwamba kudhibitiwa kidogo kobe ​​juu ya screen. Rangi na lahaja nyingine ya hii ilikuwa jina la lugha. Na kobe aliishi duniani. Hivyo tuseme rectangular hii nafasi ni ulimwengu wake. Na ungependa kuanza kwa assuming-- mimi si kweli kujua jinsi ya kuteka kobe, hivyo hebu kufanya hivyo kama hii. Na kisha yeye got shell na kisha labda baadhi miguu. Hivyo unaweza kuwa na hii kidogo tabia kwenye screen. Na kitu cha hii lugha ya programu ilikuwa kumlazimisha kobe kwenda juu, chini, kushoto, kulia na kuweka kalamu yake chini au kuchukua kalamu yake juu, ili aweze kweli kuteka juu ya screen katika dunia hii gorofa sana mstatili. Hivyo ambapo Nilidhani unaweza kuwa kwenda, na ambapo unapaswa kufikiria mbizi chini ya kiakili wakati wa kuelezea maelekezo zaidi kwa ujumla, Napenda kudai, ni kuweka yako kalamu chini katika middle-- na tutaweza kujikwamua kobe, kwa sababu siwezi kweli kuweka kuchora yake vizuri sana. Na sasa, jinsi mwingine angeweza Nasema kuteka mchemraba? Naam, tunaweza kusema kitu kama sare diagonal line kaskazini, kwa mfano, au 45 nyuzi zaidi. Na kwamba inaweza kuwa na kujipatia mimi hapa. Na mimi nina pretty mbali na mchemraba. Lakini sasa, mimi naweza kusema kitu kama kugeuka nyuzi 90 kwa upande wa kushoto na kuchora mstari wa urefu sawa kaskazini magharibi. Na mimi naweza kuendelea na maelekezo hayo. Na si kwenda kuwa rahisi. Na kusema ukweli, sisi pengine ingekuwa wamekuwa hapa kwa dakika tano. Lakini labda tunataka kuwa wamezipata kwa kitu ambacho, mwisho wa siku, kuishia kuwa mchemraba, lakini sisi dived ndani ya ujumla kwamba ya kufanya hivyo wakati kama Asili ngazi ambayo unaweza si kweli kuona nini unafanya mpaka nzima jambo ni kweli kuna juu ya ukurasa. Na hivyo hii ni kanuni ya jumla, tena, wazo hili programming-- kwa ujumla. Ni hivyo ajabu nguvu, kwa sababu tena, yeye tu alisema, kuteka mchemraba, ambayo yote ya sisi pretty kiasi gani grok kwa haraka sana. Tunataka tu kuelewa, OK, kuteka mchemraba. Tupate kujua mwelekeo, hivyo tunaweza kuwa ni kidogo sahihi zaidi, lakini tunaweza ujumla picha au kujua nini mchemraba ni. Na kwamba ni muhimu, kwa sababu kama kila wakati waliketi kama programu katika keyboard yako ya kuandika kanuni, kama alikuwa na kufikiri katika vile ngazi ya chini, hakuna hata mmoja wetu ingekuwa milele kupata kitu chochote kufanyika. Na hakika, hakuna hata mmoja wetu ingekuwa kufurahia mchakato wa kuandika code. Itakuwa kama kuandika katika 0 na 1 ya, ambayo kusema ukweli ilikuwa si wote kwamba zamani binadamu walikuwa kuandika kanuni katika 0 na 1 ya. Na sisi haraka sana alikuja na hizi ngazi za juu languages-- C ++ na Java na wengine. Basi hebu jaribu hii mara moja zaidi tu ya flip meza, ili sisi sote kuwa na nafasi ya kufikiri katika badala njia hiyo hiyo. Je, tunaweza kupata moja zaidi kujitolea hii muda wa kuja kwa bodi na kuteka, si wanasoma? Yeah, OK. Ben, kuja juu juu. Na, Ben, katika kesi hii, mara moja uso bodi, si kuangalia kushoto, si kuangalia haki. Tu kufanya kile yako wenzake hapa kukuambia. Na kwa kila mtu mwingine katika chumba, sasa ni programu. Yeye ni kompyuta. Na picha nimekuwa waliochaguliwa hapa mapema ni hii moja hapa. Wao ni just-- wao ni kufikiri ya funny utani ni wote. Hivyo ingekuwa haina mtu kama kujitolea mafundisho ya kwanza au kauli kwamba lazima kalamu amri Ben? Na tutaweza kufanya hivyo kwa pamoja, labda mafundisho mmoja kutoka kila mtu. Samahani? Watazamaji: Chora mzunguko. DAVID Malan: Chora mzunguko ni jambo la kwanza mimi kusikia. Watazamaji: Up juu. DAVID Malan: Up juu. OK, tunaweza basi wewe kufuta, tengua. Na sasa, mtu mwingine. Dan, ungeweza kuwa comfy sadaka mafundisho ya hapo? Watazamaji: Ni kweli, kuteka kituo cha ya chini ya mduara, na small-- kidogo nafasi ndogo na kwamba, kuchora mstari moja kwa moja chini ya tatu robo ya njia ya chini bodi pembeni kidogo kwa upande wa kushoto yako. DAVID Malan: Good. Watazamaji: Kidogo pembeni. DAVID Malan: Undo, Control-Z. SAWA. Andrew, unataka kutoa up mafundisho ya hapo? Watazamaji: Sure. Kutoka chini ya mstari huo, zaidi kidogo angle-- whoops-- labda theluthi urefu wa [inaudible], pembeni kidogo kushuka na kama tatu ya urefu wa [inaudible]. Hivyo yeah, kutokana na hatua hiyo, kuchora mstari wa tatu ya urefu wa awali line zaidi kwa upande wa kushoto. DAVID Malan: Hiyo OK? Moja kwa moja line, hiyo ni sawa? OK, Olivier, unataka mtoe ijayo? Watazamaji: [inaudible] kutoka chini ya mduara, [inaudible]. Kuteka upande wa kulia ya [inaudible] sentimita. [Kicheko] DAVID Malan: Nadhani wewe ni kwenda na kubadili hiyo ni inches hapa. Watazamaji: Acheni. [Kicheko] DAVID Malan: Sawa. [? Ara,?] Unataka mtoe ijayo? Watazamaji: Draw [inaudible] juu [inaudible] hiyo. [Inaudible] mduara, kuteka kwa [Inaudible] na kuteka [inaudible]. DAVID Malan: OK, hakuna zaidi tengua. Hebu kufanya maelekezo moja au mbili zaidi. Chris, unataka kutoa moja? Watazamaji: Chini ya mduara, [inaudible] kuteka sawa line slopping kushuka kwa upande wa kushoto [inaudible]. DAVID Malan: Sawa. Andrew? Sisi did-- Karim? Watazamaji: Kuanzia mstari wa kulia, mwisho wa mstari wa kushoto, chini, wewe ni kwenda haki juu urefu sawa na line kwamba uko juu, kuchora kwa haki [inaudible]. [Inaudible] digrii, hivyo [inaudible] digrii upande wa kulia. DAVID Malan: zote haki. Hebu pause. Je, si kugeuka bado. Hebu pause, na hebu kujaribu jaribio moja nyingine kabla ya sisi yatangaza Ben nini amekuwa kuchora. Je, unaweza changa Ben kwa right-- au kweli, hakuna, hebu tu kukupa ubao mwingine, hata bora. Hivyo ingekuwa mtu sasa kama kuchukua zaidi ya mfumo wa kwamba Victoria alichukua hapo awali, ambapo sisi kusema katika ngazi uchukuaji juu na katika tu adhabu au mbili kuelezea kwa Ben nini kuteka bila kuingia katika magugu, hivyo kusema, kwa kiwango hiki cha chini? Victoria. [Kicheko] Watazamaji: Draw takwimu ya kutembea mtu. Na miguu na mikono yake kuwa upande wa kulia. DAVID Malan: OK, hiyo ni wote kupata. Sawa. Mbona sisi yatangaza Ben aliyoyafanya. Hivyo raundi ya applause. Hiyo ilikuwa ni gumu labda. Hivyo hata kama tunazungumzia katika suala uungwana silly kuhusu kuchora tu picha, hopefully wewe unaweza kweli kufahamu shahada ya expressiveness hiyo inaweza kuwa ni muhimu ili kuwaambia kompyuta nini cha kufanya. Na kwa kweli, ukweli kwamba Ben alikuwa na uwezo wa kuteka hii hivyo haraka ni aina ya ushahidi wa kutumia lugha, labda kiwango cha juu toleo la Kiingereza, kwamba inaruhusu yake tu kutumia maneno, au kusikia maneno kutoka Victoria, kwamba kumruhusu hizi abstractions-- kuteka tu takwimu kutembea kwa right-- kwamba aina ya ina baadhi maana semantic hiyo ambayo si karibu kama dhahiri wakati uko tu akisema, kuweka kalamu yako chini, kuteka na haki, kuteka upande wa kushoto. Na hivyo hii, pia, ni sana kawaida katika programu. Hii itakuwa alisema kuwa kama chini sana lugha ngazi, programu katika 0 na 1 ya kama wewe. Na hii itakuwa kiwango cha juu programu lugha katika Java, au kitu kama hicho. kidogo ya kurahisisha, lakini hiyo ni aina ya kama hisia hisia kwamba wewe kujisikia wakati kutumia aina moja ya jambo au nyingine. kidogo ya kuchanganyikiwa hapa na haja kwa usahihi kama, lakini fursa kuwa looser kidogo na tafsiri hapa. Lakini bila shaka, mende yanaweza kutokea kama matokeo. Kama Ningependa katika home-- sisi si kufanya hii moja katika class-- lakini kama Ningependa kuleta hii nyumbani moja, Nilidhani tunataka kupiga mbizi katika hili. Hivyo kama wewe Ningependa kucheza hii mchezo na nyingine muhimu yako au watoto au kama, wewe anaweza kufurahia kuwa vilevile. Basi hebu kwenda mbele na kuangalia moja ya mwisho Jambo hapa kwa kufikiri computational. Na kwamba inatuleta John Oliver, si kwa kipande cha unaweza kuwa na kuonekana jana usiku, lakini kwa suala fulani hivi karibuni. miezi michache nyuma, Volkswagen alichukua kidogo kabisa ya flak kwa sababu gani, kama nyinyi mnajua? Je, wao kupata shida kwa? Yeah, hivyo emissions-- wao walikuwa wakijaribu kuwapiga uzalishaji vipimo na kimsingi kuwa wao magari kuchafua mazingira chini wakati magari yao walikuwa kuwa majaribio na kuchafua mazingira zaidi wakati magari walikuwa si kuwa majaribio. Na nini inazidi kuvutia katika dunia, kama unaweza kuwa inferred kutoka kwa majadiliano ya like-- nini it-- CarPlay, programu Apple kwa ajili ya magari na ukweli kwamba wengi mmoja wetu inazidi na skrini ya kugusa katika magari yetu, kuna kiasi kutisha cha programu katika watu magari leo, ambayo kusema ukweli kufungua can nzima ya minyoo wakati suala la usalama na hatari za kimwili. Lakini kwa leo, hebu kuzingatia tu nini kushiriki katika kuandika programu kwamba wanaweza kuwa na gamed mfumo. Kwa ufafanuzi wa tatizo, kwa wale usio wa kawaida, hebu tuangalie John Oliver. Na kwa wale jamaa na tatizo, hebu tuangalie ni katika Lens furaha kupitia John Oliver vilevile. Hivyo basi mimi hit kucheza juu ya hili, mimi kufikiri, dakika tatu utangulizi. Jamani. [VIDEO avspelning] -Cars-- DAVID Malan: Ni wazi, kwenye YouTube, it's-- - --the Wahusika smartest katika Haraka na hasira sinema. Wiki hii, German automaker Volkswagen kupatikana yenyewe katikati ya kashfa ya proportions uwezekano jinai. -Volkswagen Ni bracing kwa mabilioni katika faini, inawezekana mashtaka ya jinai kwa watendaji wake, kama kampuni msamaha kwa wizi wa magari milioni 11 kwa kusaidia kuwapiga vipimo uzalishaji. mifano -Certain dizeli walikuwa iliyoundwa na programu ya kisasa kwamba kutumika maelezo, ikiwa ni pamoja nafasi ya usukani na gari kasi, na kuamua gari ilikuwa kufanyiwa uzalishaji kupima. Chini ya hali hiyo, injini itakuwa kupunguza uzalishaji wa sumu. Lakini gari ziliibwa kwa bypass kwamba wakati ilikuwa likiendeshwa. Uzalishaji kuongezeka 10 hadi 40 mara juu ya viwango vya kukubalika EPA. -Wow, 10 na mara 40 kubwa kuliko EPA inaruhusu. Ni jambo baya Volkswagen kuwahi kufanyika, ni kitu unaweza kusema kama d sijawahi kusikia Vita Kuu ya II. Lakini labda ishara ya uhakika ya jinsi matatizo mengi Volkswagen ni katika, ni kwamba watu katika sana juu kuwa na kupitiwa chini. Mkurugenzi Mtendaji alijiuzulu siku ya Jumatano baada ya scrambling kufanya kudhibiti uharibifu, akisema yeye alikuwa ukomo pole, ambayo akapiga kubwa mpaka aligeuka alikuwa tu 10% pole lakini alikuwa wizi wa kura kinywa chake artificially puliza sorriness yake. Na wakati huo huo, Volkswagen ya Marekani mkuu alikuwa msamaha yake mwenyewe. -Let Kuwa wazi kuhusu hili, kampuni yetu alikuwa mwaminifu. Na katika maneno yangu German, sisi kuwa kabisa Star up. -Yeah, Lakini kabisa Star up si kazi ya Ujerumani. Na lugha ya Kijerumani ina maneno mengi mazuri waeleze hali kama hii, kama vile [GERMAN], ambayo ina maana takribani, huzuni kwamba linatokana kutoka uongo biashara kuhusiana, au [GERMAN], ambayo inasababisha kama shaming ndio baba kuwashirikisha mawingu ya petroli. Ni lugha nzuri. Ni tu sails mbali ulimi. Na kwa njia, wakati kwamba mtu kuomba msamaha inaweza kuwa na akapiga kweli, ni thamani kubainisha yeye alikuwa akiongea katika uzinduzi rasmi wa chama kwa ajili ya 2016 Volkswagen Passat, kwa maana ya kwamba muda mfupi baada ya kusema pole, alisema huu. -Thank Sana kwa ijayo. Kufurahia jioni. Up ijayo ni Lenny Kravitz. [Music kucheza] -OK, OK, na kuishia yako kuomba msamaha na hadi ijayo Lenny Kravitz hana kupiga kelele kiasi toba. Ni mayowe, sisi aliuliza Bon Jovi, naye alisema hakuna. brand Volkswagen ina wamekuwa kuharibiwa vibaya. Na kusema ukweli, tangazo yao mpya kampeni ni si hasa kusaidia. - [GERMAN], sisi katika Volkswagen wangependa kuomba msamaha kwa kuwadanganya kwa magari yetu. [MWISHO avspelning] DAVID Malan: Hivyo hii ilikuwa mzunguko njia of-- sorry-- hii ilikuwa njia mzunguko wa kuanzisha tatizo la msingi katika programu, ambayo ni kuwa wewe haja ya kuchunguza hali fulani. Na hivyo swali katika mkono hapa ni jinsi gani gari uwezekano, kama kutekelezwa katika programu na programmers hizi, kuchunguza kwamba ni kweli kuwa majaribio? Hivyo kuwa super wazi, kile walichokuwa wakifanya Ilikuwa, katika mazingira ambapo programmers figured gari mara kuwa kupimwa, wao kwa namna fulani alifanya gari emit chini uzalishaji, wachache uzalishaji, mafusho hivyo chini ya sumu na vile. Lakini wakati ni kawaida kuendesha gari juu ya barabara, ingekuwa tu emit kama kiasi uchafuzi wa mazingira kama alitaka. Hivyo ni jinsi gani sisi kuandika pseudocode kwa algorithm hii? Inakuwaje sisi kuandika pseudocode kwa programu mbio katika gari? I mean, kwa kifupi, majipu chini ya kitu kama hiki. kama kupimwa, emit chini. mwingine hutoa zaidi. Lakini hiyo ni kidogo pia ngazi ya juu, haki? Hebu jaribu kupiga mbizi katika kama yale hii uchukuaji wa kuwa njia kupimwa. Kwa maneno mengine, hata kama unajua chochote kuhusu magari, aina gani ya maswali inaweza kuuliza ili kujua kama wewe ni kupimwa, kama wewe ni gari? Nini sifa inaweza kuwa kuwasilisha kama gari ni kuwa majaribio? Watazamaji: Upimaji vifaa. DAVID Malan: Upimaji vifaa. Hivyo kama vifaa vya kupima jirani, kisha emit chini. Hivyo mimi naweza kufikiria utekelezaji kwamba pamoja na baadhi ya aina ya kamera au kuchunguza nini karibu na wewe. Na napenda kupendekeza, kwamba tu anahisi pia ngumu kwa kweli kuwa na ziada vifaa tu kwa ajili hiyo. Watazamaji: Kama uko katika park, ikiwa kofia yako ni wazi. DAVID Malan: Katika Hifadhi au kofia wazi, hivyo hiyo ni nzuri. Watazamaji: Na gari mbio. DAVID Malan: Hivyo hiyo ni kidogo zaidi concrete-- na gari mbio. Hivyo hii itakuwa ni kushirikiana ya hali ya wachache tofauti, kama wewe. Hivyo kama gari ni katika mbuga, na hata ingawa hili ni jambo la mitambo sana kawaida, mimi naweza kufikiria kuandika programu, hasa kwa sababu kuna mara nyingi mwanga huko siku hizi, Mimi naweza kufikiria kuwa kuna programu ambayo inaweza swala shifter au kile si, ni wewe katika mbuga, ni wewe katika gari, ni wewe katika reverse. Na siwezi kupata nyuma kujibu hiyo ni ama ndiyo au hakuna kwa wale aina ya maswali. Na ili niweze pia pengine kujibu swali kama, ni kofia wazi. Labda, kuna baadhi ya aina ya chombo hicho kuwa ama anitiaye nyuma 1 au 0, kweli au uongo, kofia ni wazi. Na kisha gari mbio, mimi inaweza kuchunguza kwamba kwa namna fulani kupitia utaratibu gani? Kama, gari ni mbio, I inaweza kuchunguza kwamba ni juu ya, nitaweza kuchunguza namna fulani kwamba gari ni kuhamia? Watazamaji: RPMs. DAVID Malan: Yeah, hivyo kuna daima kuwa sindano kwamba atakwambia mizunguko wangapi per dakika magurudumu ni zinaendelea. Na ili niweze kuangalia kwamba. Na kama siyo 0, kwamba pengine ina maana gari ni kusonga mbele. Lakini tuna kuwa kidogo makini huko, because-- hebu kurahisisha Haya kama sisi tu alisema, kama gari mbio, hatutaki emit tu chini, tunataka kama gari ni mbio na ni kuwa kupimwa. Hivyo kuna wengine wachache viungo kwamba folks kuwa kinadharia programu ni kufanya, kwa sababu hayupo chanzo kanuni halisi, unaweza tu aina ya infer kutoka madhara ya kimwili ya gari kama yale yapate kinachoendelea chini kofia katika programu. Hivyo kama gari mbio na labda, kusema, magurudumu ya nyuma si kusonga, inaweza huu ni dalili baadhi ya aina ya mtihani? Hivi mimi hinting katika hapa? Yeah, labda, ni juu ya moja mambo hayo roller, ambapo kama magurudumu ni kugeuka mbele au nyuma, kutegemea kama ni mbele gurudumu au nyuma ya gari gurudumu, hivyo nusu ya magurudumu ni kusonga, lakini wengine wawili si, ambayo ni hali weird katika ulimwengu wa kweli. Kama wewe ni kuendesha gari juu ya barabara, kwamba haipaswi kutokea. Lakini kama wewe ni katika ghala juu ya aina fulani ya mfumo wa roller, ambayo inaweza kweli kutokea. Nadhani folks pia mapendekezo kwamba labda, kama gari ni mbio na uendeshaji gurudumu si kusonga, kwamba pia inaweza kuwa ishara, kwa sababu hiyo ni busara kwa kama mara moja juu ya barabara. Lakini hata hivyo, binadamu pengine kusonga ni kidogo au bila ya shaka zaidi ya sekunde chache. Au mwendo wa dakika, ni tabia mbaya siyo kwenda kuwa kushikilia katika sawa nafasi. Hivyo kwa maneno mengine, sisi inaweza kuchukua substraction, ni wewe kuwa majaribio, na kuvunja kwamba utendaji katika viungo hivi sehemu. Na kwamba ni kweli nini Volkswagen ya wahandisi namna fulani alifanya. Waliandika programu uangalifu ili kuchunguza kama gari ni kupimwa, Kwa hiyo emit chini, mwingine emit katika njia ya kawaida. Na tatizo hapa, pia, ni kwamba programu si kitu unaweza kweli kuona isipokuwa una kinachojulikana chanzo kanuni. Hivyo kuna aina mbili tofauti ya aina code-- angalau mbili tofauti wa kanuni katika dunia. Kuna kitu kinachoitwa chanzo kanuni, ambayo si tofauti na kile sisi tumekuwa kuandika, chanzo kanuni. Hii ni chanzo kanuni zilizoandikwa katika lugha inayoitwa pseudocode, ambayo ni tu kitu English-kama. Hakuna ufafanuzi rasmi wa hayo. Lakini C, na Java, C ++, wale ni lugha zote rasmi kwamba, wakati wewe kuandika katika wao, nini una ni faili Nakala zenye chanzo kanuni. Lakini pia kuna kitu katika dunia aitwaye mashine kanuni. Na mashine kificho kwa bahati mbaya, ni ya 0 tu na 1 ya. Hivyo mashine kificho ndicho mashine kuelewa, bila shaka. Chanzo kanuni ni yale ambayo wanadamu kuelewa. Na kwa ujumla, lakini si siku zote, kuna mpango kwamba programu anatumia kwamba inachukua chanzo kanuni na anarudi kwenye mashine kanuni. Na mpango kwamba ni ujumla aitwaye compiler. Hivyo mchango wako ni chanzo kanuni, pato yako ni mashine kanuni, na compiler ni kipande cha programu hiyo haina utaratibu huo. Hivyo hii kweli ramani nicely kwa pembejeo zetu, algorithms, mazao. Lakini hii ni mwili maalum sana ya kwamba, ambayo ni kusema kwamba, hata kama wewe mwenyewe moja ya Volkswagen ya magari ambayo ni hatia ya hii, si kama unaweza kufungua tu kofia au kufungua mwongozo wa mtumiaji au kuangalia katika kanuni chanzo, kwa sababu kwa wakati inafikia gari yako katika driveway yako, ni tayari waongofu katika 0 na 1 ya. Na ni vigumu sana, siyo haiwezekani, lakini ngumu sana na kuokota, mengi ya kitu chochote kutoka tu kuangalia msingi 0 na 1 ya. Hivyo unaweza ukafikirie, hatimaye, kama wewe kuelewa jinsi mashine operates-- Intel inside-- kama wewe kuelewa Intel usanifu, lakini ni mara ya kuteketeza. Na hata huko, waweza kuwa na uwezo wa kuona kila kitu kwamba kanuni kweli anaweza kufanya. maswali yoyote kuhusu hili au huu aina ya mchakato kwa ujumla zaidi? Na kwa kweli, tunaweza kufunga mjadala huu kwa majadiliano ya jana ya Apple. Hii pia, ni kwa nini FBI hawawezi tu kwenda na kuangalia katika simu mtuhumiwa na kupata mstari wa kanuni, kwa mfano, ili kuwawezesha nenosiri au kuwawezesha kuwa 80-millisecond kuchelewa. Sababu kwa wakati ni juu ya iPhone wenzake, ni tayari kubadilishwa kwa 0 na 1 ya. Naam, hebu pause hapa kwa ajili yetu kuangalia kufikiri computational. Mbona sisi kuchukua mapumziko ya dakika 15. Na wakati sisi kurudi, tutaweza tuangalie programu yenyewe na kuanza map baadhi wa dhana hizi ngazi ya juu na halisi, kama playful, lugha ya programu.