[MUSIC KUCHEZA] -Alright! -Hii Ni CS50. -Hii Ni CS50. -Hii Ni CS50. [MUSIC - Iggy AZALEA, "FANCY"] -My Kumbukumbu favorite kutoka CS50 ilikuwa wakati mimi akaenda puzzle Day. -Probably Tu wakati alitumia kazi katika seti tatizo na rafiki yangu na watu ambao Wold hatimaye kuwa blockmates yangu. -My Bora ya kumbukumbu kutoka kwa CS50 ni hackathon. -The CS50 hackathon. -Hackathon. -Hackathon. -Hackathon. -The Hackathon -Rob Bowden. Tu kila kitu juu yake. [MUSIC - Iggy AZALEA, "FANCY"] Favorite kumbukumbu -My ni wakati mimi nilikuwa juu ya hatua na mimi na jukumu kifahari ya nodi [? katika Wanaohusishwa?] [? Orodha. ?] -Wakati Sisi wote got bure Dropbox nafasi na Daudi alikuwa kama, angalia chini ya viti yako. Na ilikuwa kama, nafasi kwa kila mtu! [MUSIC - Iggy AZALEA, "FANCY"] Ushauri -My kwa yoyote mwanafunzi zinazoingia ingekuwa kuwa kwa kweli kazi juu ya P-seti na marafiki. Masaa -Office ni mengi sana rafiki yako. -Make Zaidi ya uzoefu wako na kukutana na watu kama wengi kama unaweza. -Don't Kuwa na hofu ya kuomba msaada. -Start P-seti mapema katika wiki. -I Kufikiri jambo kubwa ni kwa kuchukua faida ya rasilimali zote kwamba CS50 ina. -Go Kwa masaa ya ofisi mapema katika wiki. -Definitely Kuangalia kaptula. -Don't Akhiri juu yako P-seti. -Make Uhakika wewe kupata kundi kubwa ya watu kufanya kazi juu ya P-seti na. Unaweza kuwa na mengi ya furaha na kupata kazi kufanyika pamoja. -Don't Kuwa na hofu ya kushinikiza mwenyewe. Kwenda kwa hacker toleo wakati mwingine. Mambo -Andika juu ya karatasi kabla ya Je, umewahi kugusa kompyuta yako. -CS50 Ni kweli kubwa katika kutoa njia ya kupata msaada. -My Kipande moja ya ushauri ni usingizi. Ina mtu yeyote alisema kuwa? Usingizi, kwa uhakika. Ni rahisi si kufanya, lakini nimepata kufanya hivyo, nadhani. -I Kusema kweli kuwa tayari kiakili kwa sababu wewe ni kwenda kupenda. [MUSIC - Iggy AZALEA, "FANCY"] -Hii Ni CS50. -Hii Ni CS50. -Hii Ni CS50. [MUSIC - Iggy AZALEA, "FANCY"] -Hii Ni CS50. [Makofi] DAVID J. Malan: Hivyo hii ni CS50 na hii ni mwisho wa Wiki 0. Na kwamba alikuwa tu baadhi ya wafanyakazi CS50 ambao wakisubiri wewe si tu katika sehemu na masaa ya ofisi, lakini, pia, hii mwishoni mwa wiki ijayo katika CS50 Puzzle Day. Ambayo, tena, ni si wote kuhusu programu. Hakika, ni inatarajiwa kuwa wewe si kuwa na mpango chochote, lakini badala kutatua matatizo kwa kutumia wits na marafiki pamoja na wewe. Sisi ataungana na baadhi ya marafiki zetu katika Facebook-- kama kujiandikisha here-- ambao kwa miaka kadhaa iliyopita, na kweli imekuwa kuandika changamoto hizi na sisi. Na hivyo, watakuwa ndio hatimaye mbio Puzzle Day. Na hivyo, utakuwa changamoto kwa usahihi aina ya mambo na matatizo ambayo folks katika Facebook kama kufikiria. Hivyo kwamba ni kesho. Kujiandikisha katika cs50.harvard.edu/register. Sasa neno juu ya wanandoa ya wafanyakazi hasa. Hii hapa ni Ansel Duff, ambao ni kweli moja ya ushirikiano waandishi wa haya binary balbu kuwa tuliona juu ya Jumatano, katika Mbali na CS50 ya mwenyewe Dan Bradley. Ansel Duff pia ilikuwa zamani freshman advisee wa mgodi Miaka 3 iliyopita na yeye kweli hata kujengwa lectern huu. Yeye ni gone juu ya kufanya uhandisi sayansi na zaidi. Sasa, picha yake hapa ni kweli Ansel Miaka 3 iliyopita katika CS50 hackathon wakati yeye alikopa mmoja wetu balloons, kukwama kwa mbali yake, na, kwa ajili ya 12 baadhi ya isiyo ya kawaida masaa, ililenga katika mradi wake wa mwisho, kuchukua mapumziko tu kufungua mifuko ya pipi katika hackathon. Lakini huyo mtu akaenda juu ya hivi karibuni zaidi kwa kutumia huu majira zamani na sisi, tangu CS50 kwa wafanyakazi wake, na sasa wanafunzi muhula huu, ina yake mwenyewe printer 3D. Na kwa kifupi Printers 3D ni kifaa kwamba inaonekana kabisa kama hii. You kujaza kwa spool plastiki kwamba ni melted chini na kifaa na wewe kujenga mambo literally kutoka chochote. Mengi kama printer Inkjet, unaweza kuanza mate nje dots kidogo ya plastiki kwamba fomu pamoja na kuunda vitu kwa ujumla. Na hivyo Ansel kwa mfano, mapema huu majira ya joto, ina iPhone 5 na aliamua yeye kweli alitaka kumwongezea it up juu ya dawati lake. Lakini yeye hakutaka kwenda nje na kununua kitu kutoka duka Apple au kama, hivyo yeye alikaa chini na kuanza kuchora kitu fulani. Alichukua vipimo chache kama kwa jinsi nene na jinsi pana iPhone yake, alivuta picha hii hapa, aliamua kwamba alitaka kuwa na 75 shahada ya Tilt kama ilikuwa staring katika naye juu ya dawati lake huko. Yeye kisha akageuka hii, kwa kutumia programu, ndani ya 3D CAD mfano kwamba inaonekana kidogo kitu kama hiki. Na kisha aliendelea, hatimaye, kwa kweli kujenga yake. Hivyo kwa kweli, kama yoyote ya wewe hapa, labda katika mstari kwamba mimi unaweza kutupa kwa, na an-- kuna tuna folks na iPhone 5, na hapa tuna mbili zaidi. Sasa, si kwa kuwa outdone, CS50 ya mwenyewe Cheng Gong pia kuweka nje huu majira ya joto kujenga mambo wachache kabisa, na kwa kweli, kwa sababu ya kuwa ni bado wazi, imekuwa polepole uchapishaji jeshi la tembo na kufafanua mikono na vigogo. michache ya ambayo ni kweli hapa kama mtu yeyote bila sasa like-- tembo. Haki wote,. lakini kile Cheng pia alifanya kwa ajili yetu ni yeye kindly sana kuanzisha kamera kwa sababu kwamba tembo, amini au si, inachukua baadhi ya mbili na masaa nusu na magazeti. Hata kusimama iPhone alichukua saa moja na nusu na magazeti. Na nini Cheng alikwenda mbele na alifanya ilianzishwa nzuri kamera mbele ya printer hii 3D, zingine kwa ajili ya saa na nusu kama kubuni Ansel ya kuchapishwa. Sisi zinazoshikiliwa baadhi sexy muziki kwa hivyo ili kukupa hii kwa kuangalia jinsi ya uchapishaji 3D kazi. Na hata kama hii ni kweli katika plastiki, kutambua kwamba kama hili ni eneo ya riba na wewe kimasomo, kuna folks, kati ya yao Jennifer Lewis hapa katika Shule ya Engineering, ambao ni kweli kazi ya uchapishaji 3D malengo ya plastiki. Lakini hata, inazidi, vifaa vya kibiolojia kutatua matatizo ya kisaikolojia kwa binadamu. Lakini hapa ni kidogo kitu kutoka CS50. [LOUD mitambo noises] DAVID J. Malan: Ni haina sauti kitu kama hicho katika hali halisi, lakini ni baridi sana kwa kuangalia ni kwa kasi kwamba, na kwa kuwa sauti. Sasa, juu ya Jumatano, jinsi gani sisi kwanza kupata hapa? Sisi kuanza kuzungumza juu ya kompyuta sayansi na sisi aliuliza ni kitu gani. Na ni juu ya idadi ya mambo, na kuna maelekezo mengi tofauti katika ambayo unaweza kichwa baada ya kozi kama CS50. Kwa kweli, kama wewe ilichukua moja ya viongozi wale unofficial kwa CS nje, kijitabu kwamba tumekuwa zinazotolewa, kama wewe ni kufikiri ya kuchukua tu CS50, au labda kufanya sekondari, au labda hata kuzingatia katika CS, je, flip kupitia hiyo. Na utaona mchoro kuelekea mwisho kwamba inaonyesha wewe maelekezo mbalimbali katika CS kuwa unaweza kwenda mbali katika. Lakini kwa leo, tutaweza kuzingatia, tena, juu ya kweli moja ya maoni ya msingi, labda, ambapo una pembejeo kwa matatizo, una matokeo kutoka matatizo, na una algorithms ambayo kwa kujenga wale matokeo kutoka pembejeo hizo. Na mfano mmoja kama ulikuwa wa Bila shaka, hii kitabu cha simu hapa. Na sisi kutumika kama mfano kwenda njia ya algorithm kwamba ilikuwa sahihi. Na kisha mtu mwingine ilikuwa sahihi, lakini kasi kidogo. Na kisha mtu mwingine kwamba alikuwa kidogo makubwa zaidi, lakini kimsingi kasi zaidi. Right, hii ya simu kitabu sisi alidai alikuwa kuhusu 1,000 kurasa. Na mara ngapi alifanya nina na machozi kitabu cha simu katika nusu kupata mtu kama Mike Smith, maximally, katika 1000 ukurasa kitabu? Hivyo, 10 kutoa au kuchukua. Na hivyo mara moja mimi akararua jambo hili katika nusu, au tu, zaidi maturely, imegawanywa katika nusu, ni tu 10 kurasa kati ya 1,000. Na kama wewe extrapolate, kidogo kubadili pesa kwa kitabu cha simu, lakini kama hii kitabu ya simu na baadhi ya 4 bilioni kurasa ndani yake, hivyo kabisa unwieldy kimwili, jinsi wengi mara gani unaweza kugawanya bilioni 4 ukurasa simu kitabu katika nusu? Hivyo ni kweli 32, kutoa au kuchukua. Na hivyo mara 32 tu, nje ya kurasa bilioni 4, unaweza kupata mtu kama Mike Smith. Na kwamba ni ufanisi. Hiyo ni algorithm nzuri, daresay. Lakini basi sisi wakiongozwa kutoka kwamba kujaribu kurasimisha yake. Na mimi mapendekezo kanuni hii pseudocode. Pseudocode code ni si kitu chochote rasmi. Si jambo la kukariri. Ni kitu tu kueleza haki intuitively kutumia lugha ya Kiingereza, au lugha yoyote kwa kweli, kwamba zinaonyesha mawazo yako kwa ufupi. Lakini nini muhimu kuhusu pseudocode code ni kwamba kujaribu wanatarajia yote ya kesi inawezekana kwamba inaweza kutokea. Na hakika, katika pseudocode hii code, kulikuwa na kweli kesi tatu kila wakati mimi kugawanywa kitabu cha simu. Mike inaweza kuwa kwa upande wa kushoto. Mike inaweza kuwa na haki. Au huenda kuwa na haki juu ya ukurasa mimi nina juu ya. Au nne kona kesi, hivyo kusema. mazingira mbaya inaweza kuwa moja which-- kile kinachotokea? Mike si tu katika kitabu cha simu wakati wote. Na wakati mipango crash-- wakati Mac na PC programu kwamba guys kukimbia kwenye kompyuta yako wakati mwingine hangs au quits bila kutarajia, kwamba kwa ujumla ina maana kwamba baadhi programu, baadhi ya binadamu kama wewe hivi karibuni, tu Star up na alifanya baadhi ya makosa. Labda hakuwa wanatarajia kwamba labda kuna hakuna Mike Smith katika kitabu cha simu. Na kama wewe si kweli kuandika code kwa kushughulikia hali kama hiyo, kwa ujumla haitabiriki mambo yanaweza kutokea. Mashine yako inaweza kufungia. Ni inaweza reboot. mpango unaweza kuacha. Na hivyo yote haya stupidities kuwa unaweza kufanya hivyo kuwa wamekutana katika halisi yako maisha tu kwa kutumia kompyuta, itakuwa inazidi kuwa tu alielezea mbali na Intuition hii na ufahamu huu wa nini ni kweli kinachoendelea chini ya Hood. Sasa hebu jaribu kuangalia tatizo zaidi kwa ujumla. Badala ya kuchukua mahudhurio katika mahali kama hii, ambayo itakuwa polepole kabisa kufanya moja, mbili, tatu, nne. Au labda mbili, nne, sita, nane. Hebu kuzingatia, badala yake, juu ya jinsi sisi tupate kurasimisha algorithm ya mchakato na ambayo sisi inaweza kuchukua mahudhurio. Na njiani, hebu kuanza kutumia baadhi ya majina kwamba tutaweza kutumia leo wakati sisi kweli kuanza programu katika lugha. Kwa hiyo mimi kukupa sasa hivi, dakika nne video kwamba sisi kuweka pamoja na marafiki zetu kutoka TED, shirika. Ambapo sisi hutolewa script na wao kuletwa wahamasishaji yao kubeba, na kweli kuundwa P2 uhuishaji wa nini algorithm ni. Kama tunaweza dim taa. [MUSIC KUCHEZA] NARRATOR: Nini algorithm? Katika sayansi ya kompyuta, algorithm ni seti maelekezo ya kutatua baadhi ya tatizo hatua kwa hatua. Kwa kawaida, algorithms ni kunyongwa kwa kompyuta, lakini sisi binadamu kuwa algorithms kama vizuri. Kwa mfano, jinsi gani wewe kwenda juu ya kuhesabu idadi ya watu katika chumba? Naam, kama wewe ni kama mimi, wewe d pengine kumweka katika kila mtu mmoja kwa wakati na kuhesabu kutoka sifuri. Moja, mbili, tatu, nne, na kadhalika. Naam, hiyo ni algorithm. Kwa kweli, hebu jaribu kueleza ni kidogo zaidi rasmi katika pseudocode code. Kiingereza-kama syntax kwamba inafanana na lugha ya programu. Hebu n sawa 0. Kwa kila mtu katika chumba, kuweka n sawa na n plus 1. Jinsi ya kutafsiri pseudocode? Naam line moja anatangaza, hivyo kusema, variable kuitwa n na initializes thamani yake kwa 0 Hii tu ina maana kwamba katika mwanzo wa kompyuta yetu, jambo ambalo tuko kuhesabu ina thamani ya 0. Baada ya yote, kabla ya sisi kuanza kuhesabu sisi si kuhesabiwa chochote bado. Wito variable hii n ni tu mkataba. Mimi naweza kuwa na kuitwa ni zaidi ya kitu chochote. Sasa line demarks mbili mwanzo wa kitanzi, mlolongo wa hatua kwamba mapenzi kurudia baadhi ya idadi ya nyakati. Hivyo katika mfano wetu, sisi ni hatua kuchukua ni kuhesabu watu katika chumba. Chini ya line mbili ni line tatu ambayo inaeleza hasa jinsi tutaweza kwenda juu ya kuhesabu kura. indentation ina maana kwamba ni line tatu kwamba kurudia. Hivyo, pamoja na pseudocode code ni Usemi huu ni wa kwamba baada ya kuanzia saa 0 kwa kila mtu katika chumba tutaweza kuongeza n na 1 Sasa ni algorithm hii ni sahihi? Naam hebu bang juu yake kidogo. Je, ni kazi kama kuna watu wawili katika chumba? Hebu angalia. Katika mstari mmoja sisi initialize kwa 0 n. Kwa kila moja ya watu hawa wawili, sisi kisha increment n na 1. Hivyo katika safari ya kwanza kwa njia kitanzi, sisi update n 0-1. On safari ya pili kwa kuwa huo kitanzi, sisi update n 1-2. Na hivyo, na hii algorithm ya mwisho, n ni 2, ambayo kweli mechi ya simu ya watu katika chumba. Hadi sasa, hivyo nzuri. Vipi kuhusu kesi kona ingawa? Tuseme kwamba kuna watu 0 katika room-- zaidi ya mimi, ambaye ni kufanya kuhesabu kura. Katika mstari mmoja, sisi tena initialize kwa 0 n. Wakati huu ingawa, line tatu haina nitafanya wakati wote tangu kuna si mtu katika chumba hicho. Na hivyo n bado 0, ambayo kwa hakika mechi idadi ya watu katika chumba. Pretty rahisi, sawa? Lakini kuhesabu watu moja kwa wakati mmoja ni pretty ufanisi, pia, hakuna? Hakika tunaweza kufanya vizuri zaidi. Kwa nini si watu wawili kuhesabu wakati huo, badala ya kuhesabu moja, mbili, tatu, nne, tano, sita, saba, nane, na kadhalika. Kwa nini si kuhesabu mbili, nne, sita, nane, na kadhalika? Ni hata sauti kasi zaidi. Na hakika ni. Hebu kueleza optimization hii katika pseudocode code. Hebu n sawa 0. Kwa kila jozi ya watu katika chumba, kuweka n sawa na n plus 2. Pretty mabadiliko rahisi, sawa? Badala ya watu kuhesabu moja kwa wakati mmoja, sisi badala kuhesabu yao mbili kwa wakati. Algorithm huu, hivyo, mara mbili kwa haraka kama mwisho. Lakini ni sahihi? Hebu angalia. Je, ni kazi kama kuna watu wawili katika chumba? Katika mstari mmoja, sisi initialize kwa 0 n. Kwa maana hiyo jozi moja ya watu, sisi kisha increment n na 2. Na hivyo kwa algorithm hii ya mwisho n ni 2, ambayo kweli mechi ya simu ya watu katika chumba. Tuseme ya kwamba kuna watu zero katika chumba hicho. Katika mstari mmoja sisi initialize kwa 0 n. Kama kabla, line tatu haina nitafanya hivyo wote tangu kuna si jozi yoyote ya watu katika chumba, na hivyo n bado 0. Ambayo kwa hakika mechi idadi ya watu katika chumba. Lakini nini kama kuna watu watatu katika chumba? Ni kwa jinsi gani nauli hii algorithm? Hebu angalia, katika mstari mmoja, sisi initialize kwa 0 n. Kwa jozi wa watu hao, sisi kisha increment n na 2. Lakini basi nini? Kuna si mwingine full jozi ya watu katika chumba, hivyo line mbili tena inatumika. Na hivyo kwa mwisho algorithm hii, n bado ni ya 2 ambayo ni si sahihi. Hakika algorithm hii alisema kwa kuwa buggy kwa sababu ina makosa. Hebu kurekebisha pamoja na baadhi ya mpya pseudocode code. Hebu n sawa 0. Kwa kila jozi ya watu katika chumba, kuweka N sawa na n plus 2. Kama mtu mmoja bado unpaired, kuweka N sawa na n plus 1. Ili kutatua tatizo hili hasa, tumekuwa ilianzisha katika line nne hali, inayojulikana kama tawi, kwamba tu executes kama kuna mtu mmoja sisi hakuweza jozi na mwingine. Na hivyo sasa, kama kuna moja, au tatu, au idadi yoyote isiyo ya kawaida ya watu katika chumba, algorithm hii sasa hesabu yao. Je, tunaweza kufanya hata bora zaidi? Naam, tunaweza kuhesabu katika threes, au wane, au hata umri wa miaka mitano na mamia, lakini zaidi ya hapo, ni kwenda kupata kidogo vigumu kwa uhakika. Wakati wa mwisho wa siku, kama kunyongwa kwa kompyuta au binadamu, algorithms ni tu seti ya maelekezo ambayo kwa kutatua matatizo. Haya yalikuwa tatu tu. Ni tatizo gani ingekuwa wewe kutatua na algorithm? DAVID J. Malan: Hivyo kwa makusudi, mpango rahisi sana, algorithm rahisi sana, kwa ajili ya kufikia kitu rahisi sana, kuhesabu idadi ya watu katika chumba. Lakini hebu tease mbali baadhi ya mwakilishi makala hapa kwamba ni kweli kwenda kuwa na manufaa hata wakati kutekeleza zaidi tata wa programu. Hivyo kwa mfano, katika line hii ya kwanza, tuna nini sisi kuwaita variable, na kutoka algebra, wewe ni kwa ujumla familiar kwa kutumia x na y na z wakati mwingine, na kadhalika. Lakini katika programu, vigezo ni bado, mwisho wa siku, sawa na ile. Lakini ni rahisi labda kufikiri ya kutofautiana kama tu chombo. Na, kwa kweli, ni baadhi ya idadi ya bits kutekelezwa kwa namna fulani katika disk yako ngumu au katika kumbukumbu ya kompyuta yako, lakini zaidi juu ya kwamba katika siku zijazo. Ni tu chombo. Na kama wewe kusema kitu kama basi n sawa 0, vizuri kwamba ni kama wito kioo hii bakuli hapa n, tu jina holela, na kuweka kitu ndani yake ya awali. Hivyo thamani ya hii bakuli haki sasa ni sifuri. Na bila shaka kama wewe kujua katika line ya baadae, kwa kweli increment baadhi mstari wa code, kama katika line hii ya tatu hapa, na 1, hiyo ni kama kusema nini thamani ya sasa ya n, ni 0, plus 1, kuweka kitu kama Ping Pong mpira katika hapa. Sasa thamani ya hii variable ni rahisi kabisa 1. Na unaweza haraka sana extrapolate, lakini sasa ni 2, sasa ni 3, na kadhalika. Hivyo hiyo ni variable wote ni. Ni kipande cha kuhifadhi na kweli kuhifadhi baadhi ya data. Kwa sasa ni Ping Pong mpira. Kuna ni idadi. Lakini inaweza kuwa maneno katika dictionary, kama Spell kusahihisha Mimi alluded juu ya Jumatano kwa moja ya seti tatizo mwaka jana. Sasa mwingine wazo muhimu, kwamba vile vile ni pretty Intuitive napenda kudai, ni kwamba ya kitanzi. Na kitanzi katika mchakato ya kuhesabu kila mtu ni, bila shaka, kufanya hivyo jambo tena na moja ama again-- kwa wakati mmoja au mbili kwa wakati. Na unaweza kueleza hii katika lugha ya Kiingereza, au pseudocode code, katika idadi yoyote ya njia, lakini kwa kutumia preposition hii "kwa" ni njia ya kawaida sana ya kufanya hivyo. Kwa kila mtu katika chumba, kufanya hivyo. Tena na tena. Na ukweli kwamba ni indented, line tatu, tu ina maana kwamba nini wewe ni zinatakiwa kufanya ni mambo hiyo indented chini ya mstari wa mbili yenyewe. Tu mkataba binadamu, lakini moja ya kawaida kama tutaweza kuona katika juu halisi programu ngazi ya lugha. Sasa kidogo ya kuvutia zaidi ni wakati wewe kupata katika kesi kona. Kwa mfano, kona Kesi hiyo ilikuwa wakati kuna walikuwa watu watatu, au tano, au saba, au idadi yoyote isiyo ya kawaida ya watu katika chumba, kwa sababu kufanya hivyo wawili-wawili brakes hatimaye kwa sababu yako kwenda miss mtu, aidha katika sana mwanzo au mwisho sana kulingana na jinsi ya kufanya hivyo. Na hivyo, sasa, nina tawi hili, au hali, kama mtu mmoja bado, kisha kwenda mbele na kushughulikia kwamba moja mtu lonesome ambao hawakuwa kupata paired na mtu mwingine. Hivyo kwamba ni nini tunataka kuwaita hali, au tawi. Sasa pseudocode code zaidi kwa ujumla inaweza kuwa imeandikwa na kutatua idadi yoyote ya matatizo. Na nini Nilidhani tunatarajia kufanya hapa ni kuchukua muda kukaribisha tuseme CS50 ya wenyewe Rob Bowden juu ya hatua kwa kuwa alijiunga na wafanyakazi wa kujitolea mbili, ambao hawana wazo nini watapata. mkono akaenda chini kwa haraka kama mimi alisema kuwa. Vipi kuhusu wewe juu ya mwisho hapa, kuja juu up. Na vipi kuhusu kutoka mbali mbali, vipi kuhusu njia ya nyuma. Safu ya nyuma, kuja juu juu na mikono yako up. Alright, na ni nini jina lako? ANITA: Anita. DAVID J. Malan: Anita. Okay, nzuri ya kukutana na wewe. Hebu kuanzisha wewe kwa Rob Bowden. Hii ni Anita. Na jina lako ni nini? KIERSTEN: Kiersten DAVID J. Malan: Kiersten. Kiersten, kuja juu juu na kukutana Rob Bowden na Anita. Nice kukutana na wewe. KIERSTEN: Nice kukutana na wewe. DAVID J. Malan: Alright, Rob. Rob BOWDEN: Nice kukutana na wewe. DAVID J. Malan: Anita. KIERSTEN: Hi Anita. DAVID J. Malan: Na yako mia kadhaa classmates. Kwa hiyo, sasa napenda kwenda mbele na kuvuta up tu mpango rahisi hapa juu ya Mac OS kwamba kutakuwa na basi mimi kweli hata nukta maelezo ya baadhi ya chini. Na kama wewe guys wanataka kuchukua kila nafasi katika moja ya shule wale waliokuwa pale, basi mimi kwenda mbele na kuanza orodha ya pseudocode code, kama wewe. Na nini nataka kufanya hapa, hatimaye ni aina kwa ajili yenu baadhi ya maelekezo ya kwamba yetu wanachama watazamaji ni kweli kwenda soma kwa ajili yetu. Hebu kwenda mbele na tu kubadili hali hii kwa orodha kuhesabiwa kwa mechi nini sisi walikuwa wakifanya kuna up. Na kile Mimi naenda kufanya na msaada wako, ni kuandika mpango katika pseudocode, ambayo guys haya ni kwenda kutekeleza karanga siagi na jelly sandwich. Hivyo ni labda apropos kwa kuonyesha kitu baadhi yenu aliyoiona kwenye mtandao kwa kifupi tu annoying sasa. [MUSIC BUCKEWHEAT BOYS, "siagi ya karanga  JELLY TIME "] DAVID J. Malan: OK. Hiyo inatosha ya kwamba. Hivyo hapa wakati huo huo, nina jozi ya glasi Google ambayo tutaweza kuweka juu ya CS50 ya mwenyewe Rob Bowden kuona dunia kupitia macho yake. Na tutaweza kufanya kazi nzuri katika post uzalishaji kwa kweli weave Footage ya nini Rob ni kuona sasa, katika hotuba hii halisi video na mbili yetu kujitolea karibu naye. Basi nini mimi nina kwenda kufanya ni, mimi itakuwa typist. Tuna lengo hapa ya kweli kuandika mpango ambayo kwa kufanya, hatimaye, siagi ya karanga na jelly sandwich, lakini hizi tatu ni kwenda kuishi kana kwamba ni kompyuta. Na kompyuta, mwisho wa siku, ni kweli vifaa pretty bubu. Wao ni super haraka, lakini wanaweza tu kufanya, literally, nini wanaambiwa. Huwezi tu kusema kufanya karanga siagi na jelly sandwich. Una mpango nao kufanya hivyo. Una kuwaambia kwa usahihi nini cha kufanya, chini ya mambo kwenda horribly na hopefully, amusingly awry. Hivyo kwa kuwa alisema, tunahitaji moja wito-nje kutoka kwa watazamaji kwa kile lazima hatua moja kuwa, kama lengo hapa ni kufanya karanga siagi na jelly sandwich. Ndiyo? Watazamaji: [inaudible] mfuko wa mkate. DAVID J. Malan: Fungua mfuko wa mkate. Hivyo kama wagombea tatu ingekuwa kama kuendelea kufanya kwamba literally. Fungua mfuko wa mkate. [Watazamaji laughing] DAVID J. Malan: Hivyo hebu kazi juu ya hilo. Wote haki. Hivyo hatua mbili, how-- hebu kuchukua zaidi jambo hili. Yeah, mbele. Watazamaji: [inaudible] mkate. DAVID J. Malan: Nini hiyo? Watazamaji: Ondoa mkate. DAVID J. Malan: Ondoa mkate. Vile vile succinct. Asante. [Makofi] DAVID J. Malan: Hiyo ni? OK, hivyo hatua mbili ni kwenda kuwa kuondoa chakula. Alright, mtu unataka kuandika sisi hukumu kwa muda mrefu? Mtu mwingine? zaidi kidogo [inaudible]. Hakuna, hakuna kitu sasa. Ndiyo? Watazamaji: Nafasi mbili vipande karibu na kila mmoja. DAVID J. Malan: Nafasi mbili vipande karibu na kila mmoja. [Watazamaji laughing] DAVID J. Malan: Nafasi mbili vipande karibu na kila mmoja. Hatua ya nne. Ndiyo? Watazamaji: Chukua yako mkono na kuweka lightly juu ya siagi ya karanga mfuniko. [Watazamaji laughing] Watazamaji: [inaudible] karibu na siagi ya karanga. DAVID J. Malan: Nini? Kusema kwamba tena. Watazamaji: Unscrew kifuniko na kuweka hivyo kwa upole karibu na siagi ya karanga. DAVID J. Malan: Weka hivyo kwa upole karibu na siagi ya karanga. OK, maendeleo. Hatua ya tano. Excellent. Ndiyo? Pick up kisu. DAVID J. Malan: Pick up kisu. OK, hatua sita. Yeah? Watazamaji: Hold kisu na kushughulikia. DAVID J. Malan: Hold kisu na kushughulikia. Kushikilia kisu na kushughulikia. Hatua ya saba. Ndiyo? Watazamaji: [inaudible] kisu katika karanga siagi na kama kidogo nje [inaudible]. DAVID J. Malan: Weka kisu in-- mimi habari "kuweka kisu katika siagi ya karanga na kuchukua kama kidogo nje kama iwezekanavyo. " Kwa njia, kuondoa karatasi ya kwanza. Zote haki, hatua tisa. Hatua ya tisa. Hatua ya tisa. Sisi si kweli alifanya sandwich bado. Ndiyo? Watazamaji: Kwa kutumia kisu katika siagi ya karanga, kuomba siagi ya karanga juu ya mkate alisema. DAVID J. Malan: Kutumia kisu katika siagi ya karanga, kuomba siagi ya karanga juu ya alisema mkate. [Watazamaji laughing] DAVID J. Malan: All hatua haki 10. Hatua ya 10. Ndiyo? Watazamaji: Onjeni karanga siagi ili kuhakikisha ubora. [Watazamaji laughing] DAVID J. Malan: Hatua ya 11. Hatua ya 11. Hatua ya 11. Kuja juu. Yeah? Haki pale. Watazamaji: Makini kuchukua jelly. DAVID J. Malan: Makini kuchukua jelly. OK, na kisha mkono mwingine alikuwa up. Right nyuma yenu. Yeah, katika bluu. Watazamaji: All haki, kuondoa mfuniko kutoka [inaudible], yeah, kuondoa mfuniko kutoka jelly. [Watazamaji laughing] DAVID J. Malan: Kutoka jelly. Ha ha. [Watazamaji laughing] DAVID J. Malan: Na? Watazamaji: Na vigumu kufagia yoyote [inaudible]. [Watazamaji laughing] Watazamaji: Bila shaka, kabla ya [inaudible], kuondoa karatasi kutoka jelly. DAVID J. Malan: Ondoa karatasi kutoka jelly. Hatua ya 14. Sisi ni karibu na hapo. Ndiyo? Watazamaji: Geuza jelly chupa kabla ya kila kitu iko nje. DAVID J. Malan: Geuza jelly chupa kabla ya jelly iko nje. Hatua ya 15. Watazamaji: Replace cap. DAVID J. Malan: Replace cap. Hatua ya 16. Yeah? Watazamaji: [inaudible] DAVID J. Malan: Sema tena. Watazamaji: Chukua cap mbali ya jelly yako. DAVID J. Malan: Off jelly yako. Hivyo really-- Oops. Kuja juu. Nafasi cap. Weka cap-- Wewe alisema kuondoa cap kutoka jelly. Kujisikia kama tuko katika kidogo ya kitanzi. Hatua ya 17. Ndiyo? Watazamaji: [inaudible] DAVID J. Malan: Sema tena. Watazamaji: [inaudible] DAVID J. Malan: Nenda nyuma step-- Watazamaji: [inaudible] DAVID J. Malan: Ondoa cap kutoka siagi ya karanga. Ndiyo? Watazamaji: Tone wote jelly juu ya mkate. DAVID J. Malan: Tone wote jelly juu ya mkate. DAVID J. Malan: Tuko karibu na hapo. Hatua ya 19. Watazamaji: Ondoa jelly ziada. DAVID J. Malan: Haha, jelly. [Makofi] DAVID J. Malan: Kwa nini si we-- hatua moja zaidi kwa kuchukua hii nyumbani. Hatua moja zaidi na kisha tutaweza kumtumikia sandwiches. Ndiyo? Watazamaji: [inaudible] DAVID J. Malan: Wakati sandwich yoyote Indent remains-- hebu Haya kula. [Watazamaji Kicheko] DAVID J. Malan: zote haki, kuwashukuru wewe kujitolea yetu hapa. [Makofi} DAVID J. Malan: Tuna baadhi nzuri zimefunguliwa zawadi kwa ajili ya kila mmoja wenu. Yako mwenyewe siagi ya karanga, jelly, na mkate kuleta kurudi nyumbani. Asante. KIERSTEN: Asante. DAVID J. Malan: [inaudible] kuwakaribisha. [Makofi] DAVID J. Malan: Hivyo, hii ni, ya Bila shaka, mfano ridiculous. Haki? Lakini haina aina ya yanaonyesha jinsi sisi binadamu tu kuchukua uwazi kwa nafasi. Na ukweli nimekuwa kuzungumza na binadamu mwingine, yeye au yeye tu anajua nini maana. Kompyuta si kwenda kujua nini maana, hata wakati wa kutumia, kama sisi ni juu ya kufanya leo, programu kitu katika Scratch, Drag na kuacha, puzzle kipande style lugha. Hata iliyoundwa kwa ajili ya vijana watoto, una kuwa hivyo wazi na hivyo halisi na nini unataka mpango wako kufanya. Sasa hatimaye, sisi ni kwenda kuwa programu si katika pseudocode code, Kiingereza kama syntax, lakini kanuni au, vizuri zaidi, chanzo code. Chanzo code ni njia tu dhana kwa kuelezea code kwa kweli kuandika na keyboard hiyo ni si katika Kiingereza per se. Ni katika C au Java au C ++ au kitu kama kwamba, kama tutaweza hivi karibuni kuona. Na kwa kweli, tu scare wachache wenu, katika mtazamo wa kwanza, hii ni programu ya kuandikwa katika lugha kuitwa C. Lakini kwa un-scare wachache wenu, wewe kabisa kuelewa nini kinaendelea juu ya kuja Jumatatu ijayo wakati anakuja kitu kama hiki. Kwa kweli, hii ni lugha ya wakubwa. Ni haki arcane, lakini ni mwakilishi ya mengi ya lugha siku hizi kuwa kuwa na kura ya mabano na curly braces na alama quote na semicolons. Na mengi ya hii mambo Kiwango cha kisintaksia kwamba ni si wakati wote kielimu ya kuvutia. Hakika, ni ovyo kabisa kutokana na mawazo rahisi sana kwamba ni staring us uso kwa uso. Mpango huu, kama unaweza tu nadhani, prints kwa kompyuta screen ya mtu maneno "Hello comma dunia." Hiyo ni. Hivyo ni wazi, kuna mengi ya mambo ambayo ni ya kupata njia ya baadhi udhahiri huko, lakini ni kwenda kwa haraka sana kuingizwa mbali na kuwa angavu kabisa. Hakika, nini tunakwenda kufanya leo ni distill huu haki tata kuangalia mpango, ambayo tena utasikia kuja kuelewa haraka, lakini kwa kitu rahisi sana. Hebu tu kusema nini sisi maana. Hebu kuchora picha ya nini maana sisi, kwa njia ya vipande hayo puzzle hapa. Hivyo hii ni programu lugha inajulikana kama Scratch. Ni maendeleo na MIT Media Lab ya. Na nini utaona katika tatizo kuweka sifuri, ambayo itakuwa iliyotolewa baadaye usiku wa leo, sisi itabidi kwenda hii URL hapa scratch.mit.edu. Na wao wana mtandao msingi interface kupitia ambayo utakuwa kuandika mpango wako wa kwanza. Au wale wa wewe kwa kabla uzoefu, mipango yako ya pili, lakini katika mazingira ambayo ni pengine kidogo usio wa kawaida na kwamba kushinikiza wewe kujenga kitu kutumia mazingira haya Visual sana. Sasa, ni nini mimi nina kwenda kufanya hapa ni kufungua programu yenyewe. Ni lipo si tu kama mtandao browser, lakini pia kama mpango downloadable ili uweze kweli matumizi yake kama huna upatikanaji wa mtandao. Na mimi nina kwenda kufanya hivyo katika hapa, katika Sanders, tu katika kesi Wi-Fi haina kushirikiana super vizuri. Na kile Mimi naenda kufanya ni hatua makala chache ya mpango huu. Hivyo, kuwa wazi, mimi tu mara mbili clicked icon kwenye desktop yangu, au equivalently wamekwenda scratch.mit.edu, na ni vunjwa juu dirisha hili. Hii ni mazingira ya programu. Ni kipande cha programu kwamba baadhi ya marafiki zetu katika MIT aliandika kwamba hebu yetu na kuandika programu katika lugha inayoitwa Scratch. Sasa hii hutokea kwa kuwa paka ambaye ni pia jina lake Scratch na hii ni dunia yake anayoishi. Hii ni hatua, hivyo kusema, kwamba Mstatili juu kushoto kona. Na yeye hana kuangalia kama paka. Unaweza kufanya naye kuangalia kama kitu chochote na wewe unaweza kuwa na mengi sprites hiyo, au wahusika, katika mpango. Wakati huo huo, zaidi ya hapa juu ya mbali haki, ni kubwa tupu slate. Na hii ni mahali ambapo, katika wakati huu, sisi ni kwenda kuanza programu na akawatoa na kuacha hizi graphical puzzle vipande kwamba ni haki hapa katikati. Na kuna njia zaidi ya kwao kuliko tutaweza kutumia muda juu ya hapa katika darasa kwa sababu utapata kwamba wao uko wote haki Intuitive. Tena, ni iliyoundwa kwa watoto, lakini sisi matumizi yake kwa tease mbali baadhi ya wale mawazo ya msingi ya vigezo, loops, hali, na, hivi karibuni, mambo kama kazi na matukio na nyuzi na mambo mengine dhana tutaweza kupata kabla ya muda mrefu kwa kweli kujenga kitu kutoka Scratch. Pun yaliyokusudiwa. Sasa, ni nini mimi nina kwenda kufanya hapa ni bonyeza si mwendo, lakini kudhibiti. Na hii ni categorization ya here-- na mimi kuona mbalimbali rangi seti ya vitalu. Lakini taarifa maneno machache ukoo. "Kama" na "mwingine kama" na "tena." Na pengine unaweza nadhani hiyo ni kukumbusha ya tawi, au hali tuliona, na hata looping kujenga. Hivyo tuna vitalu sawa hapa. Lakini ya kuvutia zaidi moja ni hii moja hapa. Wakati hii bendera ya kijani ni clicked, huu, kwa wale wenye Programing kabla uzoefu, ni sawa kwa kazi kuu. Lakini kwa wale usio wa kawaida, hii ni puzzle kipande ambayo kick kuanza mpango wetu mzima. Ni maana yake halisi ni wakati mimi kwenda, katika hii mpango, na bonyeza flag-- kijani ambayo unaweza kuona hapa katika juu mkono wa kushoto kona ya UI, ili kuona bendera ya kijani karibu na nyekundu kuacha ishara? Wakati mimi bonyeza kwamba, yangu mpango ni kwenda kukimbia. Sasa, mimi nina kwenda kufanya kitu super rahisi na Scratch. Mimi nina kwenda mbele na kwenda inaonekana jopo hapa, ambapo mimi kuwa na rundo ya vipande zambarau puzzle, na mimi nina kwenda mbele na kufanya super kitu rahisi kama, kusema. Na taarifa then-- hii Nakala katika sanduku nyeupe ni editable-- mimi nina kwenda kusema "Hello dunia," tu kama sisi alifanya katika kwamba textual toleo wakati iliyopita. Na sasa kama mimi kwenda na bonyeza hii kijani bendera, Mimi sasa iliyowekwa. Ni si hasa kuvutia mpango, lakini mimi alifanya kompyuta kufanya kitu fulani. Mimi kuanza mpango na alifanya nini mimi aliiambia yake ya kufanya. Sasa, siwezi kuendelea Drag na kuacha zaidi na zaidi ya vipande hayo puzzle na wao wanaenda interlock, lakini hebu kofi juu ya baadhi ya istilahi hapa kwamba tutaweza kuona mara kwa mara katika shaka, na kwa kweli katika sayansi ya kompyuta na programu zaidi kwa ujumla. Hii "kusema" kuzuia, katika zambarau, hebu kuanza tu wito taarifa. Ni kama maelezo ya ukweli. Kufanya hivyo. Hivyo, ni jamii ya maelekezo ya kwamba wewe ili kulisha kompyuta kama sehemu ya mpango au algorithm. Na kwa kuwa wazi, wewe wameweza pengine kuchukuliwa kwa nafasi kwamba una mipango kwenye kompyuta yako. Na wao ni aina ya algorithms, lakini mpango huo ni kweli rundo la algorithms kwamba baadhi ya binadamu aliandika. Wao vifurushi it up na wao kuuzwa hivyo, au wao posted kwenye tovuti kwa ajili ya wewe download. Hivyo, mpango huo ni tu rundo zima la zeros na ndio kwamba, kwa namna fulani, binadamu kuundwa. Na mwelekeo wale wa zeros na wale kuwakilisha mambo, hatimaye, kama "kusema hello dunia" au "kucheza muziki hii "au" kucheza video hii " au "kutuma barua pepe." Lakini tutaweza kuja nyuma katika undani zaidi njia gani mpango huo ni wakati wewe, mwenyewe, kuandika yao. Hapa ni statement-- mwingine "Ngoja kwa ajili ya pili moja." Sikuweza kutumia hii bado, lakini kama nataka mpango wangu kwa pause kwa muda kufanya kitu, naweza kukuambia kwa kufanya hivyo. Kusubiri pili moja. Sasa mtu mwingine anaweza kuwa "kucheza sauti." Hivyo, hii ni ya kipekee kwa Scratch, ni ina uwezo wa kucheza sauti. Hivyo, kauli mimi ili matumizi ni, hapa, "kucheza sauti." Wakati huo huo, kujieleza Boolean, hivyo hii ni neno fancier jina lake baada ya tu guy aitwaye Mheshimiwa Bool, na hii yote ni kuhusu swali. Kweli au false-- ni panya chini? Kujieleza Boolean ni tu baadhi kujieleza katika lugha ya Kiingereza kwamba aidha ni kweli au uongo. Aidha juu au mbali. Aidha moja au sifuri. Unaweza kufikiria ni katika idadi yoyote ya njia, lakini ni kweli au hili la uongo, hatimaye. Hivyo "mouse chini swali alama," kwamba itakuwa kujieleza Boolean. Na unaweza kufikiria wengine, labda. Kwa mfano, "ni idadi kushoto chini ya idadi ya haki? " Kwamba, pia, itakuwa Kujieleza Boolean. "Chini ya" ni usemi Boolean. Hii moja, pia, "kugusa mouse pointer." Mimi nina uhakika kwa nini wao kuitwa ni panya pointer. Ni njia tu, ni mshale, ni arrow juu ya screen, kugusa paka, kwa mfano. Au baadhi nyanja nyingine ya screen. Na ni swali, tena, na inaashiria kwamba kujieleza Boolean. Kitu ambacho unaweza wanataka kutumia katika hali hiyo. Hivyo tutaweza kuja kuwa katika muda tu. Unaweza "na" mambo pamoja. Hivyo, kama unataka kuangalia kama hii ni kesi na kwamba ni kesi, unaweza kutumia "na" block kama hii. Na hapa ni kwamba hali hiyo. Taarifa sura ya ufunguzi kidogo katika juu ya hii njano puzzle kipande, ni kukumbusha ya sura kwamba sisi tu kuona wakati iliyopita. Kila moja ya maneno hayo Boolean na edges haya alisema juu ya kushoto na kulia. Na hiyo ni kwa sababu MIT folks aliamua kwamba kwa kuibua kuwasilisha maumbo, unaweza aina ya kusaidia watu, wanafunzi na watoto sawa, aina ya kujaza nafasi zilizoachwa wazi literally. Sasa kwa kuwa puzzle-- kwamba ufunguzi ni kidogo kidogo, na kama tutaweza kuona katika mpango, katika Scratch, itakua na kifafa. Itakuwa kudumisha sura yake, hatimaye. Kwa hiyo sharti hebu wewe kuamua "Inapaswa mimi kufanya kitu au si?" Kujieleza Boolean ni swali halisi unatumia kuamua gani mimi kwenda kwa kushoto AU gani mimi kwenda na haki wakati mimi kukutana hii kinachojulikana uma katika barabara? Unaweza kuwa na matawi mawili. IF kitu ni kweli, kuwa wanafanya hii, mwingine kwenda kwa njia hiyo, au unaweza tu kufanya chochote katika wote, kama block hii an alisema. Vile vile, tunaweza kiota mambo haya. Hivyo kama unataka kwa mara tatu uma katika barabara, ama kufanya hii au hii au kwamba, unaweza tu kiota mambo haya kwa pamoja. Na kuanza kupata kidogo ugly, hatimaye, kwa hakika, lakini mantiki bado ni sawa. Unaweza literally kusoma juu hii chini na inasema nini means-- kama hii ni kweli, kufanya hivyo, mwingine kama mwingine. kitanzi haina kupata rahisi katika Scratch. Forever kufanya yafuatayo. Sasa unaweza si unafikiri wanaweza kufanya mengi kwa sababu kuna si nafasi sana kati ya juu na chini ya hii puzzle kipande ya ufunguzi. Lakini utaona Scratch ni kwenda kukua kwa fit vipande kama wengi puzzle kama unataka cram katika huko. Kitanzi mwingine inaweza kuwa walionyesha na kurudia. Kama unajua mapema, "Mimi wanataka kufanya kitu mara 10, " unaweza tu kuwaambia Scratch kufanya kitu mara 10. Na, wakati huo huo, tunaweza kuwa na vigezo. Hivyo hapa ni moja kiholela, ni rangi ya machungwa katika kesi hii, na hii ni ziara ya kimbunga. Tena, utapata hii kupatikana sana mara moja kuanza akizungumzia na kubonyeza. Nimekuwa aitwaye n yangu variable, lakini mimi inaweza kuwa jina lake ni kitu chochote nataka, na mimi nina kuweka hapa, katika mfano huu kiholela, na sifuri. Sasa kuona mpango kama hodi dunia ni si wote kwamba kulazimisha, hivyo hebu kweli kufungua kitu kwamba mwanafunzi wa zamani alifanya. Hebu kwenda mbele na kufungua, kwa mfano, hii moja hapa, Kwa ajili hiyo mimi ingekuwa na upendo kuwa na kujitolea. Haki zote, jinsi about-- hebu kwenda mbali zaidi. Ndiyo, kuja juu up. Nini jina lako? ABBY: Abby. DAVID J. Malan: Abby, kuja juu up. Hivyo kuwa na wewe milele kucheza mchezo huu kabla? ABBY: Hapana DAVID J. Malan: All wa kulia. David, nzuri ya kukutana na wewe. Kuja juu juu. Na nini programu yako background, kama wapo. ABBY: nimejifunza baadhi C ++. DAVID J. Malan: You wameweza kujifunza baadhi C ++. Na nini ni mchezo wako kucheza background? ABBY: Si mengi. DAVID J. Malan: Sawa, hivyo tutaweza kuchukua hiyo. Hivyo hapa ni jinsi mchezo ni kwenda kufanya kazi. Mimi nina kwenda mbele na click bendera ya kijani, ambayo ni hapa hadi saa ya haki ya juu. Sasa mtangulizi wako katika darasa amewapa ninyi baadhi ya maelekezo hapa. Na katika muda tu, ni anasema "nafasi ya kuanza." Hivyo kwenda mbele na kugonga spacebar. Mchezo wa kompyuta: Pikachu. DAVID J. Malan: Na lengo ni kupata chakula, kama taswira huko upande wa kushoto. Na kwa [inaudible] [GAME MUSIC KUCHEZA] DAVID J. Malan: Aww, vizuri, asante kwa ajili ya kucheza. Tuna hapa kidogo zimefunguliwa zawadi kwa ajili yenu. Tuna CS50 stress mpira, kama Ningependa kuchagua. Haki zote, nzuri ya kukutana na wewe. Asante kwa kuja na changamoto. Hivyo tuna mipira zaidi stress, hivyo hebu kufanya moja zaidi mfano kuwahamasisha. kujitolea? Zote haki, vipi kuhusu haki hapa mbele. Nini jina lako? PHILLIP: Phillip. DAVID J. Malan: Phillip. Kuja juu juu, Phillip. Hivyo, Phillip ni kwenda kuwa changamoto kwa mchezo mwingine kuwa moja ya watangulizi wako aliandika kama sehemu ya tatizo kuweka sifuri, kuitwa Ivy ya Hardest Game. Na tutaweza kuona katika tu wakati nini maana ya hii. Phillip, nzuri ya kukutana na wewe. Ni background yako ni nini? PHILLIP: Done mengi ya coding. Done michezo ya kubahatisha kidogo, pia. DAVID J. Malan: OK. Got mengi ya michezo ya kubahatisha, pia. Na kuwa na wewe alicheza mchezo huu kabla? PHILLIP: No DAVID J. Malan: All haki, hivyo hapa sisi kwenda. Mimi nina kwenda mbele na bonyeza bendera ya kijani. [GAME MUSIC] [MUSIC MC HAMMER, "U hawezi kugusa HII"] PHILLIP: [inaudible] DAVID J. Malan: [inaudible] PHILLIP: [inaudible] [Laughing] [MUSIC MC HAMMER, "U hawezi kugusa HII"] DAVID J. Malan: [inaudible] Kulima kwa njia hiyo. PHILLIP: [inaudible] DAVID J. Malan: Nenda mbele. [MUSIC MC HAMMER, "U hawezi kugusa HII"] DAVID J. Malan: All wa kulia. Hongera. [Makofi] DAVID J. Malan: Sisi baada ya kuwa online baadaye ili kwamba unaweza akhiri na kama vizuri. Princeton anakuja juu ijayo, baada ya hapo. Hivyo sasa hebu kweli kuendelea na kuanza kutoka mwanzo, hivyo kusema, na kwa kweli kujenga mpaka tunaweza tease mbali baadhi ya mawazo haya na kupata kitu hata ngumu zaidi na mwisho. Mimi nina kwenda zaidi ya hapa na mimi nina kwenda kwenda mbele na kuunda faili mpya. Hivyo tena, kuweka tatizo tutakwenda wewe kupitia baadhi ya hatua hizi. Lakini, wote mimi alikuwa go Picha kwa menu na mimi alisema "mpya," sana kama Microsoft Neno, au mpango wowote kama hiyo. Na hebu kwenda mbele now-- na sisi kutekelezwa "Hello dunia" wakati iliyopita, lakini hebu kufanya kitu cuter kidogo. Mimi nina kwenda hadi matukio. Na mimi nina kwenda kufanya "wakati kijani bendera clicked. " Na kisha mimi nina kwenda kutumia, tuseme, tawi. Hivyo nina kwenda kutumia "kama" hali hiyo. Na taarifa ya jinsi haraka kama mimi kupata karibu kwa hiyo, ni anataka snap pamoja. Hivyo mimi basi kwenda na snaps pamoja. Na sasa siwezi kufanya kitu kuvutia. Kama mimi kitabu kupitia hapa, mimi nina kwenda kuona rundo zima la vitalu. Kama mimi kwenda na "data" - basi mimi zoom in-- kuna kitu kuhusu vigezo. Kama mimi kwenda na "mwendo," unaweza inaonekana kugeuka mambo kote. Kama mimi kwenda kwa "operators" - oh, hii ni ya kuvutia, Siwezi kuchukua idadi random. Hivyo basi mimi kufanya kitu kwa tu baadhi uwezekano, kwa sababu tu. Mimi nina kwenda mbele na Drag huu puzzle kipande, hii ni kwamba chini ya block, hivyo ni tu "Ni idadi hii chini ya kwamba moja?" Lakini sitaki code kwa bidii simu kwa sababu kwamba kuwa pretty pointless. Hivyo nina kwenda kwa Drag kipande hii hapa, na taarifa jinsi snaps katika, na sasa napenda kwenda mbele na kusema "kama idadi hiyo ilichukua nasibu ni chini ya sita, je, zifuatazo. " Sasa kwa nini chini ya miaka sita? Nini uwezekano ni hili kwa ufanisi anaenda kunipa, tu intuitively? Kuhusu 50%, right? Kama idadi hiyo ya nadhani nasibu kati ya 1 na 10 ni chini ya miaka sita, wazi ni moja, mbili, tatu, nne, au tano. Na ili kwenda kunipa 50% uwezekano wa nini kinatokea? Naam hebu kufanya kitu kama huu, "kucheza meow sauti." Pamoja na tangazo la, tena, puzzle kipande kukua fit, hivyo muda mrefu kama maumbo mechi. Hiyo ni nini muhimu. Hebu kwenda juu ya Scratch hapa na bonyeza "kucheza." Hakuna kinachotokea. Ni kwamba mdudu? No, si lazima. Ni inaweza tu kuwa a idadi kubwa alichaguliwa. Basi hebu kufanya hivyo tena. Hakuna. [Meow] DAVID J. Malan: Kuna ni. [Meow] DAVID J. Malan: Tena. Hapana [Meowing] DAVID J. Malan: Hivyo kama wewe wameweza milele kucheza mchezo, bila shaka, ambapo mambo yanayotokea nasibu, kama wabaya ni kuja au si kuja juu ya screen kwa, au mambo ni kuanguka au si kuanguka, hiyo ni kwa sababu tu kitu super rahisi kama hii inajitokeza. Kuchukua idadi random, na kama ni chini ya baadhi ya thamani, labda kufanya hivyo au labda kufanya hivyo. Tunaweza kuingiza kwamba katika hali hiyo. Hebu kufanya kitu tofauti. Hebu kutupa kwamba mbali. Unaweza kujikwamua ya mambo na tu dragging ni mbali na kushoto na kuruhusu go. Hebu kwenda mbele na kufanya milele block na kwa haraka sana kufanya kitu annoying. Hebu kwenda mbele na kusema "kucheza meow sauti." Lakini sitaki hii kuwa pia annoying, hivyo basi mimi kunyakua kuzuia hii, "Kusubiri pili moja," na tangazo la hakuna chumba zaidi kwa ajili yake. Lakini kama wewe kwenda karibu kutosha, anataka kwenda huko. Hivyo basi, mimi kwenda na itakuwa kukua kwa kujaza block. Hivyo sasa, hii ni kitanzi. [Meowing] DAVID J. Malan: Mimi nina literally kufanya hivyo milele. Tena na tena. Hiyo sio tu sounding asili. Hebu kwenda mbele na kubadili hali hii sekunde si moja ya pili, kwa mbili na hit Enter. Na nini ni nzuri kuhusu Scratch ni kwamba unaweza mpango interactively. Kufanya mabadiliko, labda hit Enter au kucheza tena, na itakuwa tu kuendelea. Naam, sasa kwa nini sio sisi kufanya kitu cuter kidogo? Badala ya kufanya kila kitu kutoka mwanzo, basi mimi kwenda mbele na kufungua mapema alifanya moja, kwamba mimi kabla ya Motoni, inayoitwa "Pet Cat." Na tutaweza baada ya yote ya files haya online, na tatizo kuweka zero atakuambia jinsi ya kuzipata na kufungua yao juu. Pamoja na tangazo la, hii ni pretty rahisi. Lakini mapema, mimi wanaonekana kuwa grabbed "Milele" block, hivyo mimi nimepata kitanzi. Na kisha mimi nimepata "kama" hali hiyo. Mimi nimepata kujieleza Boolean. Hivyo katika Kiingereza, tu glancing katika hii, hasa kama wewe sijawahi iliyowekwa kabla, tu intuitively, nini hii kwenda kufanya, mpango huu? [Watazamaji chatter] DAVID J. Malan: Kama wewe pet cat, paka ni kwenda meow, haki? Kwa sababu "milele unchecking" ni mouse pointer kugusa paka. Hivyo kuwa wazi, na mimi hakusema hii kabla, yote haya puzzle vipande vipande na script kwamba tuna pamoja nao katika, hivyo kusema, script ni sawa na mpango, kwa kweli, ni mali ya paka hii. Na sababu is-- kwa sababu ilani jinsi hii paka sawa hapa ni yalionyesha, chini hapa unaweza kuunda paka au mbwa pili au kweli kitu chochote unataka graphically. Unaweza kuingiza kitu kutoka Photoshop, au kama, na kuunganisha kitu kama wewe wanataka kufanya hivyo kwa ajili ya mradi. Na nini utapata, hatimaye, ni kwamba wewe Unaweza kuongeza scripts, kuongeza puzzle vipande vipande, kwa wahusika binafsi. Basi hao wote ni watu wa paka fulani. Hivyo sasa kama mimi kwenda mbele na kucheza mpango huu, hakuna kitu kinatokea. Lakini ni mbio. mpango huo ni katika hii milele kitanzi, aina ya kusubiri kwa nini kutokea? [Watazamaji chatter] DAVID J. Malan: Kwa pet cat. Hivyo kama mimi hoja ya panya wangu kuelekea him-- [Meowing] DAVID J. Malan: Hivyo sasa Mimi nina kufuga paka. Wakati huo huo, tunaweza kuwa mara mbili tawi. Hebu kwenda mbele na kufungua up si pet cat. Sisi itabidi baada ya hii online pia. Hii ni kidogo zaidi tata, lakini bila kusema unaweza nadhani labda nini kinaendelea kutokea. [Meowing] DAVID J. Malan: Cat ni meowing, grand zamani wakati. Lakini mpango huu ni ya kweli inayoitwa "Je, si Pet Cat," hivyo wazi, nataka pet cat. [ROARING] DAVID J. Malan: Je, si pet cat. Sasa, hebu tuangalie mfano mwingine hapa. Hii moja kuitwa "Hi, Hi, Hi," kwa sababu ambayo itakuwa wazi, kwa sababu haraka kama mimi kukimbia thing-- hii [SEAL Barking] DAVID J. Malan: rahisi sana kwa kuandika mipango annoying Scratch. [SEAL Barking] DAVID J. Malan: Sasa sisi si kwenda ndani ya kina kubwa na yote haya, lakini kuna taarifa michache ya makala mpya hapa. Kuna variable, inayoitwa "kimya," na kisha kuna rundo ya masharti. Na kwa sasa, napenda tu tease wewe kwa kusema kwamba kama guy hii anapata pia annoying, Mimi unaweza hit spacebar na yeye ataacha. Kwa sababu jukumu kuwa alicheza na scripts hizi mbili ni kama ifuatavyo. Mmoja wao ni kufanya barking kila sekunde chache. mtu mwingine ni kusubiri tu kwa ajili yangu na kugonga spacebar. Na kama mimi kufanya hit spacebar, ni kwenda na mabadiliko ya hali ya kutofautiana hii, thamani ya kutofautiana hii, hiyo ni inaonekana inayoitwa "kimya," Mimi hakuwa na wito ni kitu boring kama n, Mimi kuitwa ni neno la Kiingereza, "kimya." Kutoka 1 kwa 0 au 0 kwa 1. Kutoka kweli kwa uongo au za uongo kwa kweli. Na hivyo unaweza kweli kuona sasa, kwamba inaweza kuwa na scripts mbili, mipango mbio wakati huo huo, na wote wawili wanaweza kuwa wamekaa katika kitanzi kufanya kitu fulani. Kusubiri kwa ajili ya binadamu kufanya kitu kama kupiga spacebar. [SEAL Barking] DAVID J. Malan: Na sasa yeye ni juu ya njia yake tena. [SEAL Barking] DAVID J. Malan: Hivyo kile kingine ili sisi kufanya na mifano hii? Naam, hebu kwenda mbele na kufanya mfano kwa kuhesabu kondoo. Tutaweza kuendelea hii pamoja na mistari hapa of-- hebu kufungua mfano kondoo. Na taarifa, kiasi kama kabla, hii moja, nashiriki, ni kidogo kidogo annoying. Mara baada ya mimi hit kucheza here-- Oh no, hii ni annoying. Yeye anaenda baa pamoja na baadhi ya uwezekano. Hebu kucheza hii tena. [SHEEP BLEETING] DAVID J. Malan: Tofauti tu ni tumekuwa iliyopita Costume, hivyo kusema, na sisi ni hesabu za nusu na kusema nini kwamba idadi halisi ni. Naam hebu kwenda mbele na kuchukua hatua hii moja zaidi. Na napenda tease wewe kwa nyingine kipengele moja hapa. Hebu kwenda mbele na kufungua programu inayoitwa Threads. Sana kama unaweza kuwa na moja sprite, baada ya scripts nyingi, unaweza kuwa na sprites mbili, ndege katika paka, kila mmoja akiwa na script yao wenyewe. Na kila mmoja wao unaweza kazi wakati huo huo. Kama ve milele kusikia neno "multithreading" kompyuta ni "Multithreaded" maana yake inaweza kufanya mambo mbalimbali kwa mara moja, na kwa kweli, hivyo wanaweza Scratch. Na sasa taarifa ndege ni aina ya bubu. Ni tu kufanya mambo nasibu, bouncing mbali screen. Ni wazi paka imekuwa iliyowekwa aina ya kuwa na kutafuta uwezo nyumbani katika juu ya ndege kwa sababu yeye daima akionyesha yake. Hadi hatimaye, yeye upatikanaji wa samaki ndege halisi. Hivyo mimi si kukaa juu ya maelezo ya hapa, lakini unaweza aina ya glimpse maumbo huo, baadhi ya "Kama" hali, baadhi ya vigezo, labda baadhi loops, ni hatimaye kufanya kitu kimoja. Sasa basi mimi kwenda mbele na kufungua up kitu kingine kabisa, tease baadhi yenu, hasa wale vizuri zaidi, nini unaweza kweli kufanya na hii. Mimi nina kwenda mbele na kufungua Button hapa. Na hii ni super rahisi Wanajidai mpango, lakini kuangalia nini kinatokea wakati I-- Watch nini kinachotokea wakati mimi kufungua toleo hili yake, hapa katika browser, scratch.mit.edu. Na wakati mimi bonyeza nyekundu hii kubwa button, taarifa nini kinatokea. Hivyo nini kinaendelea hapa? Kuna kweli utata mengi zaidi kinachoendelea chini ya Hood, ingawa nimekuwa kutekelezwa hii, au kusema ukweli, Dan Bradley imetekeleza hii hivyo tu. Yeye iliyoundwa desturi Scratch puzzle kipande, unaojulikana kama Scratch ugani, yeye kuitwa ni kugeuza. Na nini Toggle gani ni inapeleka ujumbe juu ya mtandao. Na kwamba ujumbe yenyewe inaonekana kidogo cryptic. Lakini hii, pia, itabidi kuelewa na mwisho mrefu ya. ujumbe yeye kweli kutuma inaonekana kitu kidogo kama hii. Ni Nakala tu. Cryptic. Wewe utakuwa kuelewa kwa wakati sisi kupata tatizo kuweka saba. Ni tu kutuma ujumbe textual juu ya mtandao server. Na kwamba server ni, hatimaye, kuzungumza na bulb hii mwanga, ambayo ina moja ya wale dhana balbu mwanga katika ni kwamba, yenyewe, ni kuzungumza kwa Wi-Fi katika mtandao hapa, ambapo kifaa mitaa chini here-- na, hatimaye, ni kweli kugeuka kwamba mwanga juu na mbali. Lakini tunaweza kufanya zaidi mambo ya kuvutia bado. Taarifa ya nini Dan pia alifanya kwa ajili yetu. Yeye alifanya sprites nyingi, kila moja ya ambayo ina script kusubiri kwa ajili ya click. Na kama mimi click nyekundu, unaendelea nyekundu. Kama mimi kupata rangi ya bluu, unaendelea blueish. Kijani, njano, rangi ya machungwa. Na yote haya ni kinachotokea kwa kwenda njia nje kwenye internet, nyuma chini hapa kwa mwanga bulb, na mbali. Na kama unaweza kuamini it-- na hii ni labda ni moja ya Scratch ngumu zaidi miradi mtu ana implemented-- alifanya hivyo, katika haki, katika siku. Na kwamba ilikuwa ni changamoto sisi akatupa chini kwa Dan wakati tuliona na balbu binary, tuna Scratch, jinsi tunaweza kuchanganya yao? Na, kwa hakika, hii ni kabisa kitu mtu yeyote katika chumba hii inaweza kufanya kwa end-- muhula ya Je, yeye reimplemented balbu binary kutumia interface sawa kwamba alikuwa juu ya iPad yetu juu ya Jumatano. Hivyo kwamba sasa, kama mimi kwa kweli click pamoja na zaidi ya hapa, tuna moja, mbili, tatu. Mimi unaweza hit 16 na kugeuka kuwa moja juu ya. 128, na kadhalika. Sasa kama hiyo peke yake ina na barugumu akili yako, unaweza kufanya mambo mbali zaidi kupatikana, si kuwashirikisha vifaa yoyote bila ya shaka. Mambo tu juu ya screen yenyewe. Na, kwa hakika, nini wanafunzi wengi kuishia kufanya ni aina fulani ya mchezo, baadhi ya kipande cha kazi za sanaa, au baadhi ya aina ya maingiliano uhuishaji. Na nasema mmoja wetu favorites imekuwa hii moja. Na mimi mawazo kama sisi inaweza dim taa, tutaweza kuchukua glimpse katika hii ya mwisho Scratch mradi katika hitimisho. Lakini nini utasikia wanapaswa kuweka katika akili, kama Siwezi tease wewe kwa undani moja iliyopita, sectioning itaanza wiki ijayo. Ofisi ya masaa itaanza wiki ijayo. Tatizo kuweka zero itakuwa posted Baadaye CS50.harvard.edu leo. Na utakuwa akamsalimu katika tatizo kuweka zero kwa CS50 ya mwenyewe Zamyla Chan, ambaye viongozi wengi wa walkthroughs yetu. Hizi ni iliyoingia video katika seti tatizo kwamba itafanya mkono wako kwa njia ya kura ya awali ya kuweka juu na kwa watu wengi ya kubuni maamuzi iwezekanavyo. Hivyo kama wewe wameweza milele alikuwa na kwamba hisia wakati kuokota homework zoezi na wanashangaa, wapi mimi kuanza? Yeye atakuwa na kwamba jibu kwa wewe. Na sasa, mpango wa mwisho kutoka kwa mmoja wa watangulizi wako katika jibu la swali "Je, mbweha kusema?" [MUSIC YLVIS, "NINI FOX SAY?] YLVIS: (KUIMBA) Dog huenda lililosokotwa. Cat huenda meow. Ndege huenda tweet na panya huenda squeak. Ng'ombe huenda moo. Frog huenda croak. Na tembo huenda toot. Bata kusema matapeli na samaki kwenda blub. Na muhuri huenda asa asa asa, lakini kuna sauti moja kwamba hakuna mtu anajua, nini fox kusema? Na DAVID J. Malan: Hiyo ni kwa CS50. Sisi kuona wewe katika Puzzle Day na siku ya Jumatatu. [Makofi] [MUSIC YLVIS, "Je, FOX Sema?"] NARRATOR: Na sasa kina mawazo, na Daven Farnham. Leo kikagonga uso na kitabu cha simu. Utata, kama mimi nina katika nyumbani kuangalia online.