SPIKA: Mimi nina [inaudible]. Na mimi nina mwandamizi katika LEVERETT House. Mimi kujifunza sayansi ya kompyuta, na mimi nina TF kwa CS50. Kama Freshman, sikuweza hata kuwa mbali au smartphone. Sikuwa na uzoefu wa programu. CS50 mara shaka wengi kukumbukwa kwamba Mimi alichukua katika Harvard kwa sababu ilikuwa ni mapambano, lakini ilikuwa ni ya kweli furaha mapambano kwa wakati mmoja. Na mimi alifanya mengi ya ajabu, ya kudumu marafiki, na mimi kujifunza mengi ya kweli husika ujuzi. Mimi tu nimefurahi kwamba sikuwa basi yangu ukosefu wa historia kuwa kisingizio kwa ajili yangu si kuchukua CS50. Mimi nina [inaudible]. Mimi nina mwandamizi katika LEVERETT Nyumba, darasa la 2014. Na mimi alichukua CS50. DAVID Malan: Hivyo hii ni CS50. Hii ni mwisho wa wiki sifuri. Na kukumbuka ambapo tulianza mara ya mwisho, alikuwa pamoja na taa hizi, ambao walikuwa hivyo maarufu kuwa sisi akaenda na kununuliwa baadhi zaidi leo. Hivyo nadhani hii itakuwa kitu wetu mwaka huu - dawati taa kama wewe kuja juu ya hatua, angalau mpaka sisi kukimbia nje. Lakini sisi kutumika haya wanakumbuka, kuanzisha misingi ya uwakilishi wa data. Sisi zinahitajika njia ya kuanza anayewakilisha habari ndani ya kompyuta. Na njia rahisi ya kufanya hivyo mara na moja kingo, umeme. Na kitu rahisi unaweza kufanya na umeme ni rudi juu na ni mbali. Hebu mtiririko elektroni au la. Na kutumia wale majimbo mawili ya msingi, mbali na juu, au ya uongo na ya kweli, au na sifuri moja, tulianza kuona kwamba tunaweza kujenga juu, katika kesi hii, na mwanga balbu, idadi zaidi kuliko tu sifuri na moja. Sisi kuhesabiwa kama juu kama saba, kwa mfano, mara ya mwisho. Lakini wote sisi kufanya ni kuweka kutupa zaidi na zaidi mwanga balbu saa kwamba tatizo na, kwa kweli, tunaweza kuwakilisha idadi yoyote kwamba sisi ili uwezekano wanataka. Naam, sisi transitioned haraka basi juu ya Jumatano hii Byte ya kujitolea. 8 bits ni nini sisi ujumla kuwaita Byte, hivyo hapa tulikuwa kujitolea nane Jumatano ambao kwa pamoja walikuwa anayewakilisha bits nane. Na wakati mikono yao walikwenda juu, wao walikuwa moja. Na wakati mikono yao yalikuwa chini, kulikuwa na sifuri. Na tulikuwa na folks hizi kuja juu ya kwa nini hatua? Nini sisi ni uwezo wa kufanya na mlolongo huu wa bits? Kujenga alfabeti. Tulikuwa na uwezo wa kujenga juu ya kwamba somo uliopita kujifunza na kwa kweli kuanza kufanya zaidi ya kuvutia habari kwamba angalau zaidi ukoo kwa binadamu yetu. Na hii ni kwenda kuwa mara kwa mara mandhari katika 50, lakini pia kompyuta sayansi kwa ujumla zaidi, hili wazo la layering, ambapo, katika mwisho wa siku, kama kweli ilianza misingi na kompyuta, ndiyo, ni zeros na ndio. Na chini ya kwamba ni tu umeme. Lakini sisi haraka sana kuanza kuchukua wale kiwango cha chini maelezo kwa nafasi na kuanza safu ya juu ya zamani kazi kufanyika ili sisi, hatimaye, kwa mwisho wa muhula na, kwa kweli, ujumla zaidi kama kompyuta wanasayansi na programmers, unaweza kufanya baadhi ya kweli nguvu mambo kwa leveraging kazi kwamba sisi wenyewe wamefanya na pia amesimama juu ya mabega ya wengine. Sasa sisi haraka transitioned Jumatano kutoka tu wanaohitaji kuwakilisha taarifa kwa kutaka kufanya kitu kwa hayo. Hivyo nini sisi kufafanua algorithm kama? mfululizo wa maelekezo. Hivyo ni mfululizo wa maelekezo, Idadi ya hatua kwamba wewe, mwanadamu, au kompyuta kwa kawaida zaidi, ingekuwa kutekeleza moja baada ya nyingine ili kufikia lengo. Na tulikuwa na malengo chache mara ya mwisho, mmoja ulikuwa wa kuhesabu watu katika chumba. Na mfano mwingine vile ilikuwa kupata Mike Smith katika kitabu cha simu. Hivyo unaweza kukumbuka kwamba mimi akararua simu kitabu katika nusu ya kuelekea mwisho huu hadi kutafuta Mike Smith. Madhumuni ya Visual kwamba ilikuwa kuonyesha, tena, kwamba tulikuwa literally akamtikisatikisa tatizo hili katika nusu, katika nusu, katika nusu, na sana haraka kwenda kama kurasa 1000 kwa moja tu ukurasa mmoja. Wale ambao amekosa juu ya hii Jumatano, Nilidhani tunatarajia kucheza nyuma baadhi Footage ya nini amekosa. Hebu tuangalie. [Video avspelning] -Kuna sisi kwenda. 1500 kurasa, Nice safi mstari, halali ya machozi. [MWISHO video avspelning] DAVID Malan: Basi hiyo ilikuwa Jumatano. Sisi mpito, ingawa, Jumatano sasa kwa kutaka kuwakilisha algorithms katika baadhi ya njia fulani ya kiwango, si tu wakielezea maneno, lakini kujaribu kueleza yao kwa maandishi au juu ya screen kompyuta hivyo kwamba tunaweza kuanza kuboresha juu, na kurekebisha yao, na hatimaye, kwa kweli kuchambua jinsi tu sahihi au jinsi ya kufunga walikuwa. Hivyo sisi ilianzisha wazo hili ya pseudocode, ambayo, kwa layman suala, ni nini? OK, maneno. Hebu kwenda undani kidogo kuliko hiyo. Kiingereza, hakika, lakini ni kuelekea nini mwisho? Maneno ambayo kwa kujenga au kuwakilisha algorithms. Hivyo hakuna lugha moja inayojulikana kama pseudocode katika dunia. Ni kwamba tu wewe, kwa Kiingereza, au chochote lugha yako amesema ni, kutumia aina ya nukuu haraka haraka kufikisha wazo sana ufupi. Lakini tutaweza kuona kwamba, bila ya shaka na Kiingereza pseudocode, na zinageuka wengi programu lugha wenyewe ni derivative ya Kiingereza yenyewe, tutaweza kupata kwamba kuna baadhi ya kiwango njia ya anayewakilisha pseudocode na pia programu ya kanuni. Hivyo kama unaweza kuanza kuona hata rahisi mifano ya leo, kutambua haya chati huo chamka wiki ijayo. Hivyo pseudocode ilikuwa aina fulani wa lugha ya yanafanana lugha ya programu. Na mfano wa kwanza tuliona kuibua kuandikwa mara hii moja. Ni mara tatu tu hatua ya mpango, lengo la ambayo ilikuwa kuhesabu idadi ya watu katika chumba Dorm kwa kwamba video ya Jumatano. Lakini kulikuwa na wachache mambo ya kuvutia ya mpango huu rahisi. Na hii itakuwa mara kwa mara mandhari. Hivyo kwa wale walio usio wa kawaida na hii, moja, sisi ilianzisha kutofautiana. Na pengine kila mtu katika chumba hiki ni ukoo na kutofautiana katika mazingira ya algebra. Lakini hapa katika programu, vigezo ni, moja, unaweza kuwa kuitwa kitu tunataka. Tumekuwa kutumia n kama kukabiliana. Lakini tunaweza kutumia kukabiliana neno, au, kama utaona, yoyote zaidi maneno ya kwamba unaweza kama hivyo muda mrefu kama ni maelezo, lakini ni kweli tu kuhifadhi kontena. Ni chunk ya kumbukumbu, baadhi ya simu ya bits, na inatofautiana na kompyuta, jinsi wengi bits kwamba kuna kutunga kwamba kutofautiana. Lakini tunaweza kuweka maadili katika hilo. Hivi sasa, tumekuwa tu kuweka namba. Lakini tunaweza kuweka maneno halisi. Tunaweza kuweka aya. Tunaweza kuweka picha - kitu, kwa kweli, tunaweza kuwakilisha na zeros na ndio, tunaweza kuweka katika hii dhana ya ngazi ya juu ya kutofautiana. Hivyo pretty moja kwa moja mbele huko. Na kwamba ni mstari mmoja. Lakini sisi haraka sana wakiongozwa juu kutoka mstari mmoja kwa kweli kufanya kitu na variable kwamba. Na katika mstari wa tatu, sisi updated tabia Sisi incremented tabia Na tunaweza kuandika hii idadi yoyote ya njia. Lakini labda dhahiri zaidi ni tu kusema, kuweka N sawa kwa chochote N ni pamoja na 1. Ili kwamba ilikuwa nyongeza yetu. Wakati huo huo, kulikuwa na kitanzi. Na hii moja, pia, pengine ni pretty angavu. kitanzi ni tu kitu katika mpango kinachotokea tena na tena, baadhi ya aina ya mzunguko. Na hii maneno muhimu hapa, kwa kila mmoja, ni kweli ya kawaida sana katika zaidi programu lugha, ikiwa ni pamoja na ndio tutaweza kuona katika shaka. Wakati wowote unaweza kuona neno kwa ajili ya, ni kawaida zinaonyesha wazo kwamba kitanzi, kitu mzunguko, ni kuhusu kutokea. Lakini ni muhimu kuzingatiya moja nyingine kisintaksia undani. ukweli kwamba mstari wa tatu kuna kweli indented na baada ya kugonga nafasi bar mara chache ni makusudi. Kwa sababu mkataba binadamu ni kuwa, wakati wewe ni kufanya kitu tena na tena, katika kitanzi, kama imeanza kwenye line mbili, wewe Indent chochote ambacho ni mali ya kwa kitanzi kwamba tu kufanya wazi kwamba ni mstari tatu na si, kwa mfano, line nne au tano, kama kulikuwa na mistari kwa ajili ya au tano, ambazo ni sehemu ya mizunguko hiyo. Hivyo hii anatengeneza rahisi zinaonyesha kwamba wazo msingi. Hivyo sisi kutumika hii algorithm, sasa, kwa mifano michache. Na hii, pia, mfano rahisi katika ulimwengu halisi. Lakini inaenda kuwa mwakilishi wa jinsi gani kwenda juu ya kupima yako wenyewe mipango inazidi tata. Wewe kujaribu matukio machache, baadhi ya wawakilishi pembejeo, na kuona kama kupata matokeo ya taka. Hivyo mfano huu alikuwa na watu wawili ameketi katika chumba Dorm. Upande wa kushoto ni kwamba huo kanuni Pseudo. Na hii ni risasi screen ya sana mwisho hatua ya matumizi ya hii algorithm wa pembejeo hizo, ambapo kuna walikuwa watu wawili katika chumba na, kukumbuka, kama sisi hatua kupitia mistari moja, na mbili, na tatu, na wawili na tatu na kufanyika - na mwisho wa algorithm kwamba, tulikuwa kweli kuhesabiwa wenzake wawili ambao ni katika chumba hicho. Hivyo basi sisi walijaribu mfano mwingine. Na sisi alisema nini kama kuna sifuri watu katika chumba? Ni kanuni hii bado sahihi? Na kwa kweli ilikuwa. Ni hivyo tu hutokea kwamba line mbili na, hivyo, mstari wa tatu au si kwenda kutekeleza. Wao siyo kwenda kutokea wakati wote kwa sababu wao ni tu si husika kama kuna sifuri watu katika chumba. Lakini si kubwa mpango huo. Mstari mmoja initialized N na sifuri, hivyo ingawa tu mstari mmoja wa hii mpango wa kweli kuishia kuwa muhimu, bado mavuno jibu sahihi, kama unahitajika kwa rangi ya machungwa sifuri chini. Lakini basi sisi aliamua kwamba ilikuwa aina ya algorithm kijinga. Ni pretty polepole. Hakika, siwezi kufanya mbili, nne, sita, nane, kumi, wakati kuhesabu watu katika chumba. Hivyo sisi tweaked algorithm, pseudocode, na kusema, sasa katika line mbili, kwa kila jozi ya watu katika chumba, kuendelea, katika mstari wa tatu, nyongeza ya katika na mbili juu ya kila iteration. Hivyo kwamba ingekuwa kazi hapa kwa ajili ya hii jozi ya watu katika chumba. Lakini basi, kama wewe kuanza kufikiri juu ya hii, na haina kuchukua muda mrefu kutambua, kusubiri dakika hii ni kwenda kuvunja, inavunja saa nini rahisi kesi? Kama kuna watu watatu katika chumba au, ujumla zaidi, wakati kuna isiyo ya kawaida idadi ya watu katika chumba, ikiwa ni pamoja na moja. Tunataka miss kwamba mtu hapa kwa sababu hakuna jozi hizo. Hivyo sisi haraka kushughulikiwa na badala yake kuanzisha kile ziada programu constructs kwa kificho Pseudo. Hivyo hali, sisi kuitwa yake, au tawi. Na ni maana ya kufikisha, kuibua, wazo la tawi, uma katika barabara ambapo unaweza ama kufanya hii au, labda, kitu kingine. Na hakika, sisi kushughulikia suala hilo na kuongeza line 4, kwa kusema, kweli, katika mwisho kabisa, kama mtu mmoja bado, kisha kwenda mbele na kuhesabu yao maalum. Hivyo aina ya kesi maalum yao, hivyo kuzungumza, hivyo kwamba sasa tunaweza kushughulikia wote wawili hata idadi ya watu na idadi isiyo ya kawaida ya watu. Sasa kuna idadi ya njia sisi inaweza kuwa walionyesha hii. Na kusema ukweli, mimi naweza tumekuwa hata zaidi NIT picky wakati alikuja uchaguzi wangu wa Kiingereza kwa pseudocode. Lakini angalau roho ya wazo ni ilifikia. Kama wewe mitupu kanuni hii kwa rafiki ambao si katika CS, au hajawahi kuchukuliwa CS, ni tabia mbaya hawakuweza kufikiri, kupewa watu watatu katika chumba, jinsi ya kuhesabu watu wale msingi juu ya maelekezo haya. Na kwamba wote kweli tunataka kufikia na pseudocode, kwa namna fulani standardize jinsi sisi ni kwenda juu anayewakilisha mawazo ili tuweze kuanza kufanya ngumu zaidi kitu bado. Hivyo kwamba inaongoza sisi basi, leo, na kanuni halisi. Sisi kuanza kwa mpango leo, angalau katika mazingira ya kirafiki. Na kisha sisi mpito kwa haraka sana kwa syntax zaidi arcane, lakini moja ambayo utaona kimsingi ni sawa na mawazo itakuwa kuona wazi na hii lugha nyingine leo. Ni tu kwenda kuangalia tofauti kidogo. Hivyo badala ya kuwaita tu kanuni hii, mimi nina kwenda kuwa zaidi kidogo sahihi na kusema, tangu sasa, wakati wa kuandika mpango, wewe kuandika chanzo code. Ni aina ya pseudocode kama. Lakini tutaweza kuona siyo aina ya huru linapokuja kuchagua maneno kwamba matumizi. Wakati Programing katika lugha, una kutumia maneno, misemo, syntax, kwamba watu wengine wameamua kuwakilisha kwamba lugha fulani. Hivyo pseudocodes ni juu yako. halisi programu lugha kama C, kama tutaweza hatimaye kuona, ni sanifu na watu wengine. Hivyo ni jinsi gani sisi kwenda juu ya kuandika baadhi ya kanuni chanzo? Naam, mimi nina kwenda mbele na kufanya hii. Mimi nina kwenda mbele na kufungua dirisha hapa. Zaidi juu ya wiki hii ijayo. Lakini hii ni chombo kinachoitwa Appliance CS50. Mimi mbio juu ya kipande cha programu yangu Mac, ingawa unaweza kufanya kitu kimoja kwenye kompyuta ya Windows, kwamba ni kutoa mimi udanganyifu mbio mbalimbali mfumo wa uendeshaji wa kulia kabisa hapa katika dirisha kwenye Mac yangu. Nimekuwa tu kamili kupimwa hivyo huna kweli kuona Mac OS hivi sasa. Hii ni mfumo wa uendeshaji kuitwa Linux. Ni maarufu sana. Ni haraka sana. Ni sana bure, ambayo imefanya ni sana kulazimisha, hasa katika kibiashara duniani. Na zaidi juu ya kwamba mwishoni mwa muhula wakati sisi kutumia Linux kidogo kabisa kwa ajili ya mtandao wa programu na mwenyeji halisi ya Nje na miradi. Hivyo sasa, tu kujua kwamba hii ni desktop kwamba maana ya kuangalia bila kufafanua ukoo kwa Windows na Mac OS. Ni tu ina baadhi ya majina tofauti na icons kwa ajili ya mambo. Lakini hii ni CS50 kinachojulikana appliance, mashine virtual kwamba, kuanzia wiki ijayo, you guys mapenzi kukimbia ndani ya dirisha juu ya Mac yako mwenyewe au PC. Kwa leo, mimi nina kwenda kufungua rahisi ya mipango. Ni wito gedit. Na hii ni mhariri graphical. Ni aina ya kama Microsoft Neno, lakini rahisi. Ni aina ya maandishi kama hariri au Notepad. Ni tu mpango rahisi sana na ambayo kuandika maneno kwenye screen. Ni hivyo tu kile kinachotokea kwamba kama mimi ila files kwamba mimi kujenga wakati mpango huu katika ugani maalum kama c., badala ya. doc, au xls., au chochote wewe ni ukoo na, siwezi kwa kweli kujenga mipango ya kutumia hata hii rahisi Nakala mhariri. Hivyo basi mimi kufanya hivyo. Hebu kwenda mbele na kuokoa hii faili ya kwanza kama hello.c. Na tena, hii interface user mapenzi kuwa ukoo na wewe haraka. Lakini kwa sasa, mimi nina kuandika tu katika jina la faili. Mimi nina kwenda kuokoa ni katika Yohana yangu Harvard nyumbani directory. Na sasa nina hii tab kwamba inaonyesha Mimi nina hakika editing faili inayoitwa hello.c. Hivyo kitu pia kuvutia bado. Na sasa ni kwenda kupata pretty fumbo. Mimi nina kwenda kuvuta, tu hivyo ni kuonekana zaidi. Na mimi nina kwenda kuanza kuandika ni pamoja na stdio.h, int kuu, utupu, wazi curly brace, moja, mbili, tatu, nafasi nne ya anatengeneza, magazeti f, kwa ajili ya magazeti kitu mpangilio quote unquote, "Hello, dunia" backslash, n, karibu quote, kufungwa mabano, semicolon, kuingia backspace, backspace, backspace, backspace, imefungwa curly brace - Mimi iliyowekwa. Haki ya kila hivyo hii ni rahisi super mpango, kwa kweli, mpango kwamba mtu yeyote kuanza mbali na programu. Na wote ni sawa, kwa ajili ya wake utata wote, ni magazeti nje ya juu ya screen, nadhani nini? Hujambo dunia. Lakini siyo ya kutosha tu kuandika mpango. Hivyo hii ni kanuni. Hii ni chanzo code katika lugha inayoitwa c. Ni kuokolewa sasa katika faili inayoitwa hello.c. Sasa kuangalia chini ya screen hapa. Zaidi juu ya hili, tena, katika wiki ijayo. Lakini hii ni nini Tutamwita dirisha terminal. Ni blinking, nyeusi na nyeupe haraka. Ni aina ya interface umri wa shule ya kompyuta kwa ujumla haina kutumia panya au nyingine graphical vipengele. Ni tu anatumia keyboard yako. Na siwezi aina amri katika hii blinking haraka. Na kwa madhumuni ya leo, mimi nina tu kwenda aina zifuatazo - kufanya hello. Na kwamba mpango, kufanya, ni tu mpango kwamba, katika ulimwengu wa kweli haya siku, tunataka bonyeza mara mbili. Lakini katika hili interface kwa leo, tuko kwenda aina ya jina lake katika hii haraka. kufanya hodi ni halisi kwenda kufanya mimi programu inayoitwa hello. Na ni kwenda kufanya hivyo kwa kuangalia kwa ajili ya faili, tu kwa default, aitwaye hello.c. Ni kwenda kudhani nataka mpango C kwa asili ya kompyuta jinsi hii kimeundwa. Hivyo mimi kwenda mbele na hit kuingia. Mimi naona baadhi ya pato fumbo, lakini hii itakuwa wote pia ukoo kabla ya muda mrefu. Hii ilitokea kwa kukimbia mkusanyaji, zaidi juu ya kwamba katika wakati huu, aitwaye Clang. Lakini sasa, mimi nimepata mwingine tu blinking haraka. Na siwezi kwenda mbele sasa na aina ya dot kufyeka, kwa sababu uninteresting tutaweza kurudi wiki ijayo - hello. Hivyo wote wa juhudi hii hivi sasa tu kuandika rahisi ya mipango ya kwamba, haraka kama mimi hit Enter, je, hiyo. Hivyo nimekuwa imeandikwa mpango wangu wa kwanza. Hivyo mimi nina furaha kwa makusudi poking katika mpango huu rahisi sana kwa michache ya sababu. Moja, ni vigumu kupata msisimko juu ya kuchukua darasani kama huu ni mchezo wa mwisho. Lakini zaidi ya hapo, kuna mengi ya distractions hapa juu. mara ya kwanza kujifunza kwa mpango, kwa wale wa wewe chini ya starehe, na hata mimi, nyuma katika siku, wakati mimi kwanza niliona kitu kama hii - unaweza aina wa takwimu kwamba, wote haki, hii ni katika ulimwengu wa magazeti hello. Lakini kuna mengi ovyo. Kuna mengi syntax kwenye screen kwamba anapata katika njia ya sana rahisi, vinginevyo rahisi, mawazo. Basi nini tunakwenda kufanya leo ni tuko kwenda kuweka kando C na kuja nyuma na kwamba siku ya Jumatatu. Na sisi ni kwenda kutumia graphical programu lugha inayoitwa Scratch. Hii ni lugha ya programu, kwamba mimi alluded juu ya Jumatano, kwamba kinaendelea kuruhusu yetu kufanya aina hiyo ya mambo ya lakini kugeuka vipofu, kwa leo, kwa braces curly, mabano, semicolons, na kijinga haya yote distractions kwamba kupata njia, katika hii siku ya kwanza, ya baadhi ya msingi, pretty kuvutia mawazo. Hivyo kuelekea mwisho kwamba, mimi nina kwenda nyuma ya desktop yangu zaidi ya hapa na kuanzisha wewe mbadala kwa kuwa mpango, ambayo ni kwenda kuangalia kitu kidogo ya mwanga huu. Kwamba ni jinsi gani sisi ni kwenda kutekeleza kwamba huo mpango leo - wawili puzzle vipande kwamba, wakati interlocked na clicked juu, watasema kwa ulimwengu, hujambo dunia. Basi hebu kweli kwenda huko. Hivyo mimi nina kwenda mbele na kufungua tovuti inayojulikana kama scratch.mit.edu. Na hii itasababisha mimi tovuti hii hapa. Mapema, nimekuwa watumiaji katika hii tovuti na matatizo ya kwanza kwamba kutembea wewe kupitia baadhi ya hatua hizi. Mimi nina kwenda mbele na bonyeza juu ya mwanzo folder yangu hapa. Na hii ni kwenda kuonyesha yangu baadhi ya miradi ambayo nimekuwa kweli kuundwa mapema. Na zinageuka kuwa hii grafiki programu lugha si tu ni kwenda hebu mpango na akawatoa na kuacha vipande hayo puzzle, wewe hawana hata haja ya programu maalum. Ni wote iliyoingia ndani ya browser hivyo kwamba unaweza kufanya hivyo, katika nadharia, juu ya kompyuta yako sasa hivi, kama baadhi yenu inaweza pia kuwa, bila hata wanaohitaji programu kama appliance CS50, ambayo atakuja wiki ijayo. Hivyo mimi nina kwenda hadi kona ya juu hapa na bonyeza Fungua. Na katika wakati mimi naenda kupata tupu screen kupitia ambayo naweza kuanza programu katika hii grafiki programu ya mazingira. Lakini wakati huu, ni kwenda kuwa na kiasi, rahisi sana kwa kweli kufanya hivyo. Hivyo katika muda tu, wakati Wi-Fi inashirikiana, sasa tuna hii screen. Hivyo haraka ziara matusi, lakini mimi kuthubutu kusema, hakika wakati mbizi katika kwanza tatizo kuweka, itabidi kupata hii sana wote kupatikana na haki angavu. Lakini hebu rangi picha ya akili kwa muda tu. Hivyo chini ya hii haraka ila kusema mabadiliko, uko juu ya kuona mwanzo. Hii ni sprite. Ni tabia. Na anaishi juu ya nini Tutamwita hatua, hii kubwa nyeupe juu ya Mstatili ambayo anaweza kuhama juu, chini, kushoto, haki, na kufanya, kwa kweli, aina nyingine ya vitendo. Wakati huo huo, katikati ya mtumiaji huyu interface, tuna rundo zima la puzzle vipande vipande. Na utaona kuwa wanasema mambo kama hoja ya hatua 10, akageuka digrii 15, hatua katika mwelekeo fulani. Lakini kuna makundi ya vitalu hadi hapa pia. Hivyo kama mimi kwenda Looks, utaona kwamba kuna wengine puzzle vipande kwamba inaonekana atakuambia hii cit kwa kusema hello, kufikiri, kuonyesha mwenyewe, kujificha. Kama mimi kwenda chini kwa Sauti, zinageuka kuna njia ya kucheza sauti kama meow, kuacha sauti zote, kucheza ngoma. Hivyo, muda mrefu hadithi fupi, kuna nzima rundo la vipande puzzle kwamba kuruhusu kuwaambia hii paka, au idadi yoyote ya wahusika wengine, nini cha kufanya. Lakini kwa kufanya haya yote kutokea wewe haja ya kuanza programu. Na hii kubwa nyeupe sanduku, au kijivu sanduku, juu ya upande wa kulia, hii ni wapi Mimi naenda kweli Drag na kuacha vipande wale puzzle. Hiyo ni Nakala yangu tupu dirisha sawa. Hivyo mimi nina kwenda mbele na bonyeza Kudhibiti katikati. Au tuseme, napenda kuanza hadi chini Matukio. Chini ya benchi Matukio, utasikia taarifa chache mambo ambayo ni kwa makusudi ikiwa juu katika njia kwamba vile wao pengine hawana interlock juu ya juu ya vipande puzzle. Na kwamba kwa sababu wao Demark kuanza wa mpango, mwanzo wa script, hivyo kusema. Hivyo kama mimi kwenda mbele na Drag, wakati kijani bendera clicked juu hapa, na kisha mimi wanataka paka hii ya kusema kitu ya kwanza. Hivyo mimi nina kwenda chini inaonekana jopo. Na mimi nina kwenda mbele na kunyakua kusema hello kuzuia, na Drag, na kushuka, na basi kwenda hivyo kuwa moja kwa moja interlocks huko. Na kisha taarifa naweza bonyeza maandishi. Na siwezi override kuwa ni zaidi maalum kama vile, kusema, hello dunia. Na sasa tuna mpango kwamba mimi kudai ni sawa na kwamba mengi zaidi arcane mpango mimi kutekelezwa katika C wakati iliyopita. Kama mimi kwenda juu, sasa kwa upande wa kushoto, taarifa kuna kubwa kuacha ishara na kubwa ya kijani bendera. Hebu kuvuta kwa uwazi. Na wakati mimi sasa bonyeza hii bendera ya kijani, pengine unaweza nadhani nini hii ya kwanza mpango wa sasa ni kwenda kufanya. Hivyo kuna, pia, sisi ni programu, lakini sisi siyo kweli kupata yakidhoofishwa katika baadhi ya wale kisintaksia, dakika ya maelezo. Lakini hebu jaribu kitu kidogo zaidi ya kuvutia. Hebu kwenda katika Scratch folder yangu hapa. Na kweli, basi mimi hivyo basi mimi kufungua Mpango tofauti hapa kwa ajili tu ya huu, Maximo dirisha hili, Picha Open, na mimi nina kwenda katika leo chanzo directory. Kama kawaida, utapata, na leo kuendelea, kwamba wote wa mifano ya leo ni kupatikana ndani ya kozi ya tovuti. Na mimi nina kwenda mbele hapa na kubaini up kitu tofauti kidogo. Hii moja hapa, ambayo Mimi haja ya kujitolea. Ambao wangependa taa dawati leo? OK, vipi kuhusu mtu kidogo - ni wewe juu ya mwisho? Kuja juu chini. Sasa, ungependa kushiriki, au kusema tu kuanza na taa dawati? Vanessa: [inaudible]. DAVID Malan: OK. Bora, nini wewe jina? Vanessa? Daudi. Nice kukutana na wewe. Hivyo kuja juu juu na Vanessa ya kwenda kuchukua udhibiti wa yangu keyboard kwa muda tu. Na kile nimepata kufanyika hapa, tu kwa muda wa ajili, nimekuwa kama barabara Wi-Fi ilikuwa kidogo polepole, Scratch, programu ya mazingira ya kwamba sisi ni kutumia, pia inaweza kupakuliwa na kukimbia kwenye kompyuta yako ya mtaa. Hivyo nini mimi mapema kabla ya hotuba, katika kesi hiyo ikitokea, ni mimi kupakuliwa mafaili yote sisi ni juu ya kucheza na ili waweze kukimbia zaidi kidogo haraka haki hapa kwenye laptop yangu. Hivyo ndiyo sababu sasa mimi nina kuona Interface Mac-maalum. Hivyo nina kwenda mbele na kufungua hii moja. Mimi nina kwenda mbele sasa na full screen dirisha. Na kama utaona, tunaweza haraka sana, kama mwanafunzi alifanya hii, moja ya watangulizi yako, nenda kutoka dunia hujambo kwa mengi zaidi ya kulazimisha maombi. Hivyo hapa ni maelekezo. Oh, na tuna jambo moja nyingine. Nilidhani itakuwa fun, tangu, kawaida, tutaweza kuwa na sinema kamera kwa njia hii. Mimi walidhani itakuwa furaha kama, Vanessa, tunaweza kuona dunia kupitia macho yako. Hivyo hapa tuna baadhi ya kioo Google. [Walishangaa Gasps] DAVID Malan: Sisi tu kutoa mbali dawati taa leo. [Kicheko] Hivyo basi mimi cue hii up. Haki ya wote, hivyo kugusa hii. OK, kioo, rekodi ya video. Haki zote, Vanessa? Sasa, kama kando kwamba amepewa kitu kufanya na Scratch, kama ukiangalia kidogo juu na kwa haki, utaona kioo halisi, na unapaswa kuona kidogo mstatili dirisha. Unapaswa kuona wanafunzi wenzangu wote wako kuwa zingine sasa hivi? Ndiyo. Vanessa: Ndiyo. DAVID Malan: OK. Hivyo kwamba ni faini. Tutaweza kutolewa hii Footage baadaye. Kwa sasa, kugeuka mawazo yako screen hapa. Na nini mtangulizi wako amefanya ni kuweka baadhi ya maelekezo juu ya screen tu kwa kutumia mpango wa rangi. Hivyo wewe ni kwenda, katika wakati huu, waandishi wa bar nafasi ya kuanza. Na kisha vipande puzzle baadhi ni kwenda kuanza kusonga up screen. Na unataka hit funguo mshale, tu kama katika DDR ya kweli, kwa mujibu na mambo wanaojitokeza na wale mishale. Vanessa: OK. DAVID Malan: Ve kucheza hili kabla. Vanessa: Yeah. DAVID Malan: zote haki, Vanessa, kwenda mbele na kuchukua ni mbali. [MUSIC - KAYNE WEST, "IMARA"] [Makofi] DAVID Malan: Hivyo hebu sasa kuchukua hatua kutokana na hilo. Hivyo ni wazi, kwamba ni mchezo wa mwisho. mchezo wa mwisho ni si hodi dunia. Lakini wewe huna lazima kufanya mambo ambayo ni hivyo maingiliano. Unaweza pia kufanya uhuishaji. Hivyo kwa mfano, mtu mwingine wa yako waandamizi alifanya mpango huu hapa, ambayo inazungumzia hadithi zaidi ya haina kutekelezwa mchezo. Hivyo basi mimi kwenda mbele na kufungua hapa mpango huo katika orodha yetu chanzo kutoka leo. Wito huu mmoja, na hebu kuanza na, hadithi kuki upendo. Na si kufanya hii pia kitaaluma, lakini, kama wewe kuangalia hii moja, kufikiri kwa mwenyewe ambayo ya wale rahisi programu dhana tumekuwa aliyesema kuhusu hivi sasa - vigezo, na tanzi, na masharti, hakuwa mtangulizi wako pengine kutumia tu kutekeleza baadhi ya visualizations. Unaweza kuona hapa. Hivyo mimi kukupa upendo kuki hadithi. [MUSIC - GREEN DAY, "HOLIDAY"] [Ajali] [MUSIC - turtles, "HAPPY PAMOJA"] DAVID Malan: zote haki, hivyo kuna, tulikuwa na upendo kuki hadithi. Lakini hata huko - [Makofi] DAVID Malan: zote haki, hata huko, kufikiri juu, kama wale mioyo akaenda kutoka chini hadi juu ya screen, kulikuwa kweli kidogo ya randomness kinachoendelea. Na hakika, tutaweza kuona kwamba hata katika rahisi ya mazingira, kama Mwanzo, kama katika C, unaweza kuzalisha random idadi, au udanganyifu wa random idadi, hivyo kwamba mchezo ni kidogo zaidi ya kuvutia zaidi ni nguvu kuwa kama alikuwa kabisa ngumu coded kila kitu. Katika harakati kwamba unaweza kuona, kuna kuna baadhi ya aina ya mwitikio. Haraka kama mtu gingerbread kugusa mwanamke gingerbread, yeye inaonekana hoja zake. Na hivyo, kwa kweli, unaweza kutekeleza, katika wengi programu lugha, dhana ya matukio, ambapo kama mkono mmoja kumgusa upande mwingine, ambayo inaweza kusababisha baadhi ya wa chanzo code yako kwa kweli nitafanya. Unaweza kusikiliza kwa vile mambo kwenye screen. Basi hebu kuchukua ziara ya haraka, basi, ya baadhi ya vitalu jengo tunaweza kutumia kufikia baadhi ya malengo hayo. Hivyo hapa ni nini tutaweza tangu sasa kuwaita taarifa. Kauli hutokea kwa kuwa zambarau katika Mwanzo, kitu kidogo kama hii, lakini hiyo ni holela. taarifa ni tu kipande puzzle au, ujumla zaidi, mafundisho, anaelezea kompyuta kufanya kitu, taarifa. Hivyo hapa ni sampuli rahisi. Kusema hello dunia. Mtu mwingine ili kuwa kusubiri moja ya pili. Hivyo hii kipande puzzle, ambayo ni mkono katika Scratch, tutaweza basi yako wahusika pause kwa baadhi ya idadi ya sekunde. Hii pia, ni taarifa yake. Hapa ijayo, tuna mwingine zaidi kuvutia moja, kucheza meow sauti, na mshale kidogo ina maana kwamba katika Scratch, hii ni kushuka chini menu. Hivyo unaweza kuagiza sauti. Unaweza kurekodi sauti na kufanya mengine furaha mambo katika Scratch. Na kwamba, pia, ingawa, mwishoni ya siku, ni taarifa yake. Lakini sasa hebu kuanzisha zaidi kuvutia kipande, kwamba inajulikana kama Boolean kujieleza. Capital B, jina lake baada ya wenzake aitwaye bool. Na kujieleza Boolean ni tu puzzle kipande au, kwa ujumla zaidi, kipande cha habari ambacho ni ama kweli au uongo - moja au sifuri, ndiyo au hapana. Hivyo ni moja tu ya wale mbili kinyume. Hivyo moja vile Boolean kujieleza katika ulimwengu wa Scratch inaonekana kama hii ya bluu puzzle kipande. Na ni kuuliza swali, panya chini, na ambayo yanaweza ama kuwa, ya Bila shaka, kweli au uongo. Hivyo kwa kuwa na kipande puzzle katika Scratch, vizuri, wewe utakuwa na uwezo wa kuchunguza kama puzzle kama panya, kwa kweli, kuwa uliofanyika chini kwa mazungumzo ya binadamu na programu yako. Moja hii ni kidogo zaidi ya kufikirika, lakini wale mbili nyeupe masanduku ni tu kwa ajili ya namba. Hivyo unaweza kufanya mambo kama hii ni idadi ya chini ya wengine? Na kama hivyo, Scratch kuishi njia moja au nyingine. Moja hii ni kidogo zaidi graphical. Ni kama Sprite, kama paka, kwa mfano, ni kweli kugusa panya pointer. Hivyo kama kidogo mshale kichwa ukiwa unazunguka zaidi ya paka, basi hii puzzle kipande itakuwa kutathmini kwa kweli. Itakuwa ni ya kweli, katika kesi ambayo, kama wewe kutumia hii kujieleza Boolean, kama tutaweza kuona katika wakati huu, katika tawi, unaweza ama kufanya hivyo, au unaweza kufanya hivyo, kiasi kama tulikuwa na hali ya kuwa checked, kuna moja zaidi ya mwisho mtu katika chumba? Kama hivyo, kuongeza moja. Vinginevyo, msiwe na wasiwasi zaidi. Hivyo kujieleza Boolean inaweza pia kuwa na-ed pamoja au au-ed pamoja. Hivyo unaweza kuchanganya maneno Boolean na kusema hii na hii ni lazima kuwa kweli kwa jambo zima kuwa ni kweli. Na hapa ni zaidi ya ulimwengu wa kweli mfano. Ikiwa umetumia Kozi CS50 kufanya kozi ununuzi, masanduku ya kuangalia hizi huko, ambapo kama wewe kuangalia kwamba sanduku ijayo na kozi, ambayo kusema, ndiyo, tu kuonyesha yangu kwa kozi ambayo Thamani Q ni 4.5 au zaidi. Kama wewe uncheck hayo, hakuna, hawana wasiwasi kuhusu hilo. Au vile vile, juu ya haki, Je, si Pamoja na migogoro Kozi mimi nina Kuchukua, hiyo ni ama kweli au uongo. Ni tu kujieleza Boolean. Hivyo wakati huu wote wakati umetumia Nje na masanduku ya hundi, wewe tu toggling sawa ya Boolean kujieleza na mbali. Hivyo katika kile fomu gani unatumia hizi? Naam, katika Scratch, tutaweza kuona katika wakati kwamba kuna hali ya kuwa kuangalia kama hii. Na kwamba ni aina ya busara sana kwa sababu kama katika pseudocode, sisi indented aina ya vipande puzzle U-umbo, maana kwamba ndani ya kitu chochote cha U kwamba ni kwenda nitafanya, au la, kutegemea juu ambapo ni. Hivyo kama Boolean kujieleza, basi chochote ni ndani ya kupata kunyongwa. Wakati huo huo, kuna block ikiwa / kingine. Hivyo kama unataka tawi kwamba huenda hii njia au kwamba, Scratch inatupa kwamba. Na kwa mantiki hii, sasa, hata kama kwamba puzzle kipande ni wazi ndogo mno na kabari ya kitu kingine ndani yake, puzzle mwanzo vipande, wao ni tu kwenda kukua. Wakati Drag na kuacha juu ya jambo fulani, itakuwa tu kukua kwa kufaa chochote ni ni wewe ni kujaribu kufanya. Ili tuweze kuchukua mbili ya mambo haya na kufanya njia tatu uma katika barabara ili kwamba aidha kufanya hivyo, au kwamba, au jambo hili mengine tu kwa nesting yao katika njia hiyo. Bila shaka, kama wewe kufanya hivyo pia mengi, ni kuanza kupata mbaya. Lakini katika hatua hiyo, wewe ni kweli pengine si programu vizuri sana. Na hivyo kuwa itakuwa mara kwa mara mandhari, pia kwamba ya mtindo. Tu jinsi vizuri kufanya kweli kuunda kanuni yako? Au vile je kubuni kanuni yako? Lakini zaidi juu ya kwamba katika siku zijazo. Na sasa tuna mizunguko. Kuna nzuri milele kitanzi katika Scratch ambayo ina maana halisi kwamba - kufanya chochote ni ndani ya hii tena, na tena, na tena. Unaweza kuwa na thabiti zaidi na kusema, kufanya jambo zifuatazo mara 10. Unaweza pia kutumia vigezo. Unaweza kuja na jina lolote kwa kuwa kidogo kushuka chini na kusema, nipe variable kuitwa n na kuweka ni sawa na thamani fulani. Na kisha unaweza kuwa na kazi. Lakini zaidi juu ya wale walio katika muda tu. Hebu kwenda nyuma yangu Scratch interface. Na napenda kwenda mbele wakati huu. Na twende mbele na kufungua, hebu sema, mfano kutoka - kwamba ni kidogo zaidi ya kuvutia. Hebu kwenda mbele, na, kwa kweli, napenda tu kufanya hivyo mwenyewe. Sina haja ya kufungua hii moja. Hebu kwenda na Picha, Mpya. Mimi nina kwenda kwa Matukio. Mimi nina kwenda kwa bendera wakati kijani clicked, na mimi nina kwenda kwa Sound. Na mimi naenda kwa Drag na kuacha hii puzzle kipande, kucheza sauti meow. Ni latches pamoja. Na sasa, kama mimi bonyeza bendera ya kijani - [Meow SAUTI] DAVID Malan: adorable. OK, hivyo sasa hebu kufanya kitu kidogo mantiki zaidi tu kuonyesha kwamba tunaweza, kwa sasa. Mimi nina kwenda unlatch hii kutoka guy kwamba. Mimi naenda kwenda Udhibiti. Na mimi naenda kwa kunyakua hali hiyo. Hivyo kama kitu basi. Hivyo kwamba ni jinsi gani inaonekana huko. Hivyo nahitaji kujieleza Boolean. Na napenda kwenda mbele na kusema, niende Operators. Mimi nina kwenda kufanya kitu kidogo mathy, tu kwa mateke. Mimi nina kwenda katika hapa na kusema, kama kitu ni chini ya kitu kingine, kwenda mbele na kufanya kitu. Hivyo sasa, unajua nini, kuzuia random. Hivyo taarifa jinsi, kama mimi hover juu ya hii kitu hapa, kwamba snap huko. Basi sasa, angalia, mimi nina kuanza kufanya kitu tayari zaidi kifikra kuvutia. Kama idadi random kati ya 1 na 10 ni chini ya, hebu sema sita. Kama mimi kuchagua sita, kwamba kimsingi maana yake, kufanya yafuatayo na 50% uwezekano. Ni kama flipping sarafu. Sasa, siwezi kufanya kitu kwa masharti. Na kwamba kitu nitakacho kufanya ni kucheza sauti. Hivyo sasa, wakati mimi bonyeza screen bendera, ni kama msukosuko sarafu. [Meow SAUTI] DAVID Malan: Ilikuwa vichwa au whatnot huko. Hebu kufanya hivyo tena. [Meow SAUTI] DAVID Malan: Wakuu tena. [Meow SAUTI] DAVID Malan: Wakuu tena. Phew, OK. Mikia kwamba wakati. Hivyo 50% ya muda, kama sisi hii kubwa kwa muda mrefu, sisi kupata Meows 50% na 50% silences. Hivyo kuna, tu ujenzi wa msingi kuzuia kwamba lets sisi kufanya hivyo. Lakini hii ni aina ya tedious kwamba nina kuweka kubonyeza kwamba kifungo. Basi hebu Drag tu na kutupa wale wote mbali. Kama wewe kuvutana wao katikati, wao itabidi tu kufuta wenyewe. Uniruhusu niende kudhibiti. Hebu kwenda kwa milele. Na wakati huu, mimi nina kwenda kufanya kitu minorly annoying. [Kicheko] DAVID Malan: Na napenda kwenda mbele na kufanya kudhibiti. Kusubiri moja ya pili, ili tu siyo pia wavu. [Meow SAUTI] DAVID Malan: Hiyo si asili. OK. [Meow SAUTI] DAVID Malan: Na ilani ya nini, nice kuhusu Scratch, kwa wale ambao kuwa kabla Programing uzoefu, wewe hawana haja ya kuanza na kuacha. Huna haja ya kukusanya. Wewe tu mabadiliko hayo, na mpango mapenzi kukabiliana dynamically. Hivyo hii ni kupata kidogo ya kuvutia. Lakini hebu kuchukua ni hatua moja zaidi. Hebu kwenda mbele na kupata kuondoa wa mpango huo. [Meow SAUTI] DAVID Malan: Hiyo ni nini tutaweza kuwaita mdudu katika Scratch. Anapaswa kuendelea kufanya kwamba sauti. Hivyo sisi tutaweza kumwambia kuacha. Haki wote, hivyo sasa nina kwenda katika - Mimi itabidi basi MIT kujua. Tutaweza kwenda juu hapa milele. Na sasa, nataka kufanya kitu tena na tena. Mimi nina kwenda katika Udhibiti. Na hebu angalia, mimi nina kwenda Drag kama yangu hali ya huko. Hivyo sasa taarifa mantiki. Wakati bendera ya kijani ni clicked, kufanya kitu milele, lakini tu kufanya hivyo kitu kama hii Jambo jingine ni kweli. Mimi nina kwenda kwa, hebu kusema, kuhisi. Na mimi nina kwenda mbele na kuchagua kugusa na kushuka huko. Hiyo ni kujieleza Boolean. Na sasa, taarifa, katika tone hii down menu, kuna baadhi ya maadili predefined. Hivyo naweza kusema, ni wewe kugusa makali ya screen? Au wewe ni kugusa mouse pointer, mshale juu ya screen? Hivyo nina kwenda kufanya hivyo. Na kama ni hivyo, basi mimi nina kwenda mbele na kucheza meow sauti. Hivyo sasa mimi aina ya kuwa mwanzo wa mchezo - mchezo adorable. [Meow SAUTI] DAVID Malan: OK, adorable, Buggy mchezo. Hebu kusubiri, hebu sema, moja ya pili huko. Sasa kucheza tena, kwa kubonyeza bendera ya kijani. [Meow SAUTI] DAVID Malan: Basi sasa ni kama kufuga paka. [Meow SAUTI] DAVID Malan: zote haki, sasa hii moja sikuweza kufanya mapema. Kuchelewa sana, anapata aina ya rahisi kufanya mambo ya kijinga. Hivyo basi mimi kwenda katika hapa. Hebu kusema, kwamba alikuwa Pet Cat. Hebu sasa kufungua Je, si Pet Cat. Sasa, kama sisi kucheza hii moja, unaweza nadhani, kama wewe ni kuangalia screen - [Meow SAUTI] DAVID Malan: Sasa, kama mimi pet paka [Kishindo Simba'S] DAVID Malan: Hivyo si kweli pet paka katika kesi hiyo. Hivyo sasa sisi tu mfano wa tawi kwamba kinaendelea katika pande mbili. Sasa napenda kwenda mbele na kufungua mwingine moja hapa. Hii moja, pia, miongoni mwa chanzo chetu kanuni files kwa siku. Hivyo basi mimi kwenda nyuma katika Chanzo yangu directory na kwenda katika, hebu kuchagua hii guy hapa na kuona nini tofauti. Wow, haki ya wote, hivyo kwa sasa ni kupata kidogo ngumu zaidi. Na kabla ya sisi kuona nini guy hii haina, hebu jaribu infer, kutoka mpango katika upande wa kulia. Na sasa mwanzo wazi inaruhusu sisi na maandiko mbalimbali, nyingi mipango ya kuhusishwa na sprite moja, na tabia moja, na, inaonekana, wao ni wawili kwenda kukimbia katika lockstep. Kwa sababu wote wawili wa programu hizi kuanza na Clicks wakati kijani bendera, hii ni hinting katika mada ya juu zaidi, na ambayo baadhi yenu wanaweza kuwa na utambuzi, inayojulikana kama threading, au mbalimbali threading. Zinageuka, mrefu hadithi fupi, kompyuta leo unaweza kimsingi kufanya nyingi mambo kwa mara moja. Au wanaweza kufanya jambo moja kwa wakati ili haraka kwamba huna hata taarifa kwamba ni kweli kufanya moja jambo kwa wakati. Lakini kwa sasa, hebu kudhani kwamba wote programu hizi ni kwenda kutekeleza katika wakati mmoja. Na notisi, wote wawili wana milele Puzzle vipande vipande. Hivyo wao ni wawili kwenda kuweka mbio mpaka mimi hit nyekundu kuacha ishara. Basi ni nini wao kwenda kufanya? Upande wa kushoto, mimi nina inaonekana kutangaza variable kuitwa kimya. Hivyo sikuweza kuiita kitu kama boring kama tabia mimi kuitwa ni kimya hii muda wa kuwasilisha maana. Mimi kuweka sawa na sifuri. Hebu fikiria ya kwamba kama uongo, au hebu fikiria ya kwamba kama uongo. Sasa, milele kufanya yafuatayo. Kama nafasi bar keyboard ni taabu, basi kama kimya ni sawa na sifuri, basi mabadiliko kimya kwa moja sawa. Mwingine, kuweka kimya na sifuri. Hivyo kifikra, hata ingawa hiyo ni nzima rundo la vipande puzzle kwamba kusema tu, wakati mimi hit bar Space, nifanye nini ili kutofautiana kuitwa kimya? Mabadiliko hayo kutoka moja hadi sifuri, au sifuri kwa moja. Hayo ni yote. Hivyo ni kama kugeuka swichi ya taa juu au mbali na kukumbuka, na kutofautiana, kwamba nimepata amefanya hivyo. Wakati huo huo, upande wa kulia, katika layman suala, ni nini madhumuni ya script juu ya haki? MWANAFUNZI: Ili kucheza simba bahari sauti. DAVID Malan: Ili kucheza Bahari ya Simba ya sauti, kama yeye si kimya, na asili ya variable kwamba. Hivyo sisi ni kushirikiana hali, hivyo kusema, kubadilishana habari hela hizi mbili maandiko kwa sababu, taarifa hapa, sisi ni milele kufanya yafuatayo. Kama kimya ni sifuri, hivyo kama si umebakia kimya - ikiwa kimya ni uongo, kisha kucheza hii Simba Bahari ya sauti. Na kufikiria mwenyewe, hi, hi, hi, kwa sekunde mbili, ngoja kidogo, na kisha kuangalia tena. Hivyo kama sisi kwenda sasa zaidi ya hapa kwa upande wa kushoto, na ambapo guy hii ni, na kumtwanga kijani bendera, [SEA Simba SAUTI] DAVID Malan: Ni wakati gani hii kupata kweli annoying? Kwa sababu hii tu kwenda juu milele. Hivyo wakati mwingine, usio tanzi, hivyo kusema, ni makusudi. Lakini katika kesi hii, haraka kama mimi hit bar nafasi, yeye ataacha. Sasa mpango huo si kuacha. Ni bado mbio katika mizunguko hizo. Lakini kama mimi kupata nafasi bar tena - [SEA Simba SAUTI] DAVID Malan: Yeye anaenda kuchukua up ambapo yeye kushoto mbali. Hivyo kuna njia moja kwa sisi kufanya kitu tena na tena lakini, kwamba wakati, tu kwa masharti. Naam, wakati tuko katika hii mshipa wa kufanya mambo tena na tena, basi mimi kwenda katika mfano mwingine vile hapa. Hii moja Tutamwita kuhesabu kondoo. Na taarifa ya nini guy hii gani. Ni kweli kidogo zaidi kama pseudocode sisi alicheza na juu ya Jumatano, ambapo yeye anaweka baadhi ya kukabiliana, kufikiria ni kama N tena, kwa sifuri, yeye hana milele zifuatazo. Anasema thamani ya kukabiliana kwa moja pili, tusubiri pili, na kisha mabadiliko ya kukabiliana kwa moja. Na katika mazingira haya, kwamba tu ina maana ya nyongeza yake. Hivyo anaongeza moja kwa hilo. Hivyo hii ni halisi - siyo kabisa nini tunafikiri kama ya kuhesabu kondoo. Ni kondoo kufanya kuhesabu, milele, kutoka sifuri. Hivyo tunaweza kufanya mambo sawa huko, kifikra. Lakini sasa hebu kujaribu kusafisha baadhi ya mambo haya juu. Hebu kwenda mbele sasa katika rahisi mfano ambapo paka wetu ni kwenda tu kuanza kukohoa. Haki ya wote, hivyo hapa tuna kikohozi 0 - kompyuta wanasayansi kuanza kuhesabu kutoka 0. Hivyo paka hii ni kwenda tu kukohoa kwa mara tatu. Na hapa ni jinsi mimi kutekelezwa kwamba. Wakati bendera ya kijani ni clicked, kikohozi, kusubiri, kikohozi, kusubiri, kikohozi, kusubiri. Na mimi hii tu na akawatoa na kuacha vipande puzzle. Au kama kuanza Tinker na Scratch, utaona unaweza kweli duplicate vipande hivyo kwamba unaweza kufanya mambo haraka zaidi bila akawatoa na kuacha ad nauseum. Lakini sisi siyo kwenye njia bora hapa. Sababu ni jinsi gani mimi kufanya naye kikohozi mara ya nne? Naam, mimi naweza aina ya kwenda chini hapa. Mimi naweza duplicate na kisha kuweka hii katika huko. Jinsi gani mimi kufanya naye kikohozi mara ya tano? Naam, nakala na kuweka tena. Au buruta kushuka tena. Na haraka sana, mpango huu kuanza kupata kweli, kweli kutokuwa na maana, kweli kwa muda mrefu, lakini kwa kweli uninteresting. Lakini kuna njia ya kusafisha hii up. Nini njia dhahiri safi hii juu? OK, hivyo tunaweza kweli kweli kwenda nje na, wakati hit nafasi bar, kuwa naye kikohozi. Lakini kama mimi tu wanataka kufanya kitu repetitively, kukumbuka kwamba hatuwezi kuwa na kudhibiti baadhi anajenga. Hebu hoja hii nje ya njia, kwenda chini ya Udhibiti. Napenda tu kufanya kurudia, kusema, mara tatu. Na sasa napenda kuiba baadhi ya ya vipande puzzle haya. Hebu snap hii hapa. Hebu kutupa hizi mbali kabisa. Na sasa, nina bora iliyoundwa mpango. Kwa nini? Kama nataka kubadili idadi ya mara mafua paka hii, wote mimi na je ni mabadiliko ya moja kutofautiana, au moja ya thamani, badala ya kutoka watatu, wanne, au mitano, au sita. Au ningeweza kufanya jambo kwa masharti, hata, na nafasi bar kama mimi alitaka. Hivyo hii ni kanuni ya jumla. Mara baada ya kuanza kuiga na pasting kificho, kama ni katika Scratch, au katika C, wewe ni kufanya kitu vibaya, uwezekano mkubwa. Au angalau, mara moja umefanya ilizidi baadhi kuridhisha idadi ya nakala na pastes, wewe pengine kufanya kitu kibaya. Lakini unajua nini? Mimi si kweli kama hii. Hii si kubuni safi. Napenda kulikuwa na kipande puzzle kuitwa kikohozi kwa sababu basi napenda kuwa na kutekeleza hii mwenyewe, kikale njia, na Baada ya kusema, na kusubiri - nini kama walikuwa tu puzzle kikohozi kipande. Naam, mimi kweli anaweza kufanya hivyo. Hebu kwenda chini ya vitalu zaidi, bonyeza Kufanya Block, na sasa mimi kupata hii dirisha hapa. Mimi naenda kuwaita hii ya kikohozi kitu. Mimi nina kwenda mbele na bonyeza OK. Na sasa taarifa, mimi kupata kuanzia mpya kipande hiyo ikiwa juu. Na nini mimi kwenda kufanya na hii, mimi nina kwenda tu kuiba vitalu haya. Mimi nina kwenda kuziweka hapa. Na sasa, na vipande tatu hizi, nimekuwa kutekelezwa nini mimi kwenda kuwaita kazi, au utaratibu, au baadhi ya unaweza kujua kuwa kama njia. Kidogo tofauti kati ya maneno. Lakini kwa sasa, hebu tu piga kazi huu. Hii ni mpya puzzle kipande. Sasa ni kutekelezwa kama hii. Lakini taarifa kwamba Scratch ametupa kimwili uwakilishi wa kwamba wote kuzuia zaidi ya hapa. Hivyo sasa, naweza tu Drag hii zaidi ya hapa, kusema, kurudia mara tatu, na nini kinaendelea kutokea sasa, wakati mimi kucheza script hii, ni moja tu ya mpango ni mbio kwa wakati. Kuna mmoja tu wakati kijani bendera clicked. Lakini kwamba kuzuia zambarau kuitwa kikohozi ni ufanisi kuwaambia Scratch, kila wakati unaweza kuona kwamba kipande puzzle, kwa kweli kutekeleza hatua hizi kwamba mimi kutokea kwa kutekeleza manually. Hivyo kwamba ni aina ya nadhifu. Lakini sasa, tuseme kwamba niliamua, sijui nataka hii paka tu kikohozi. Mimi nataka yake ya kuwa na uwezo kuchafya pia. Naam, ni jinsi gani sisi kwenda juu kutekeleza kuchafya? Vizuri mimi naweza pretty much kufanya kitu kimoja. Mimi naweza kufanya mwingine block. Mimi naweza kuita hii kuchafya, bonyeza OK. Basi, zaidi ya hapa ningeweza kweli kuwa, napenda kurudia hii - na kuna ambapo unapaswa kujisikia kama wewe ni pengine si kufanya kitu katika njia bora. Mimi naweza kusema kitu kama, achoo, kwa ajili ya pili moja. Kusubiri moja ya pili. Sasa nina kuzuia mpya iitwayo kuchafya. Na hakika, huko ni. Lakini hii pia, wanatakiwa kuanza kujisikia - labda si wiki ya kwanza ya darasa, lakini na ya pili - tu redundant kidogo. Wazi, kuna baadhi ya redundancy hapa. Hivyo basi mimi kupendekeza, badala yake, kwamba sisi kuboresha tafsiri hii kama ifuatavyo. Hebu kwenda hadi faili menu yangu. Mimi si kwenda kuokoa toleo hili. Mimi nina kwenda katika moja ya files yangu premade hapa. Na mimi nina kwenda mbele na kufungua kikohozi 2. Whoops kwamba alikuwa kikohozi 2. Hebu kwenda mbele na kufungua kikohozi 3, ambayo ni saraka hii chanzo. Kikohozi 3 na taarifa - oh, nilimwambia hadithi ili makosa. Hebu kuokoa kutoka hadithi hii. hadithi mimi maana ya kuwaambia kuishia na kikohozi 4 - huko ni. Basi nini kama mimi, badala yake, kufafanua kubwa puzzle kipande kuitwa kufafanua, kusema neno n nyakati. Chafya tu, inaonekana, katika Scratch, achoo. Hivyo sisi kueleza ni kama neno, sababu tu kwamba Kikwazo wa mpango. Na kikohozi ni [kikohozi], lakini kikohozi, C-O-U-G-H. Hivyo kwamba ni wawili tu maneno tofauti kufanya, kimsingi, kitu kimoja. Hivyo mimi kweli anaweza kufanya mpya ya kuzuia kama hii. Mimi si kutumia fursa hii orodha kabla. Lakini wakati wewe bonyeza kufanya Block, unaweza kuchagua baadhi ya chaguzi. Na unaweza kusema kwamba hii kweli kuzuia inachukua baadhi ya pembejeo, vinginevyo inajulikana kama hoja, au vigezo, hivyo ambayo unaweza kurekebisha tabia ya kuzuia yako. Hivyo nini mimi wakati iliyopita ilikuwa Mimi kuitwa block hii Sema. Na kisha nikasema, inachukua pembejeo kamba. Na sasa taarifa, kwa default, inasema string 1. kamba ni neno tu, au maneno, kwa madhumuni yetu. Lakini nina kwenda tu kuweka baadhi ya placeholder Nakala huko, kama vile katika tovuti, wakati unaweza kuona jina la mtumiaji, au password, na kisha kutoweka wakati kuanza kuandika. Hayo ni yote kwamba ni. Na sasa mimi naenda kuongeza idadi ya pembejeo. Na mimi naenda kuwaita hii n - lakini kwamba pretty holela. Na kisha tu studio, tu kufanya hii block zaidi kidogo binafsi maelezo - nyakati, kwamba ni nini mimi tu alivyofanya. Na matokeo ya mwisho ni kwamba mimi kupata kuzuia kwamba inaonekana kama hii. Na sasa taarifa, mimi nina kutumia kuzuia kurudia. Lakini badala ya coding ngumu tatu, mimi nina akawatoa na kuacha n huko hivyo mimi unaweza parametrize kazi. Siwezi kufanya kazi hii kufanya kitu idadi tofauti ya mara ya msingi ya kwamba thamani. Na taarifa, kusema, hii ni nini mimi hapa, kama mimi Drag neno, naweza kusema si ngumu coded neno, lakini chochote ni kupita katika pili kwa moja. Wakati huo huo, jinsi gani mimi tena kutekeleza kikohozi? Mimi badala kufafanua kama kikohozi akisema kikohozi n nyakati. Hivyo katika muda mfupi, nina kwenda kwa njia hii haraka, lakini wazo msingi ni kama hivi karibuni kama wewe kuanza kuona katika mpango wako kwamba, kusubiri dakika, mimi tumefanya kitu kabisa kama hii kabla, naweza sababu nje baadhi ya kawaida utendaji? Naweza kutengana nini mimi kufanya katika baadhi ya mawazo ya msingi? Hiyo ni nini tuko kufanya hapa. Na nimekuwa sifa mambo haya, kuibua, juu ya mtu mwingine sababu ni ushahidi wa kwamba wazo la kuanzia na binary, kwenda ASCII, kufanya mipango grafiki, aina ya layering inazidi tata mawazo juu ya juu ya mtu mwingine. Same wazo hapa. Mimi ilianza kutoka Scratch, kutekeleza kukohoa, kisha waligundua kukohoa ni kweli tu kusema kitu. Hivyo basi mimi badala kutekeleza dhana ya kusema kitu. Na juu ya kwamba, naweza kutekeleza achoo, au kikohozi? Na tunaweza kufanya zaidi ya vile lahaja bado. Hivyo kutokana na kanuni hii ya msingi, tunaweza kuanza kufanya inazidi tata mipango. Napenda kufungua hii moja. Tunaweza kweli kuwa sprites nyingi mazungumzo juu ya screen kwa mara moja. Kama mimi kwenda katika chanzo saraka yangu na kunyakua moja Threads kinachoitwa, kukumbuka kwamba thread ni kweli tu uwezo wa wawili scripts kukimbia bega kwa upande kwa wakati mmoja. Taarifa sasa, kuwa wote sprite ndege na sprite paka, wote wawili ambao maandiko yao wenyewe. Hivyo taarifa, wakati mimi bonyeza paka, mimi kupata maandiko haya. Wakati mimi bonyeza ndege, Mimi kupata maandiko haya. Basi kila mmoja wa guys hawa ina mipango yake mwenyewe. Wakati mimi sasa bonyeza bendera ya kijani, taarifa kwamba kile mpango huu gani ni kuwa na paka, incredibly polepole, baada ya ndege. Lakini paka ina faida ya kuwa na wamekuwa iliyowekwa katika namna kwamba hakuna jambo ambapo ndege ni, paka huenda kuelekea kwake. Tunaweza kucheza mchezo huo kwa kasi zaidi. Hivyo kama mimi nina juu ya paka, taarifa kwamba mimi nina kutumia, hebu kusema hoja ya hatua moja. Hebu kuwa naye hoja ya hatua tano katika wakati, hivyo tano dots wakati huo. Hebu bofya kucheza. [Kishindo Simba'S] DAVID Malan: zote haki, sasa tunaweza kweli kutoa paka faida. 10 hatua kwa wakati. [Kishindo Simba'S] DAVID Malan: zote haki, hivyo haraka sana, anapata faida kidogo kwa ajili ya paka. Lakini mimi itabidi kupitisha mkono wangu katika baadhi ya maelezo. Lakini sababu kwamba njia ya kwamba ni kuanzia kidogo tofauti kila wakati ni kwamba mimi nina kufanya kidogo ya randomness. Mimi kwa kweli akizungumzia paka katika mwelekeo tofauti kulingana na ambapo mimi wanataka yeye kuanza ili kila wakati mchezo, au uhuishaji, ni kidogo kidogo tofauti. Sasa, basi mimi kuanzisha moja nyingine kujenga hapa. Hivyo katika kesi hii, tulikuwa na kazi. Kuna pia kwenda kuwa kipande puzzle inayojulikana kama safu, au orodha, kwamba utapata kuhifadhi nyingi maadili ndani ya kutofautiana. Tuliona nyuzi, na sasa kuna Matukio. Hivyo hapa ni tukio kutumia haya guys mbili hapa. Na kama mimi kufungua faili inayoitwa Matukio kutokana na mifano ya leo, sisi kuona mpango kwamba inaonekana kidogo kama hii. Na sasa taarifa hii guy - hivyo taarifa mimi kuwa bluu Muppet clicked - yeye tu anafanya yafuatayo. Yeye hana kuwa mmoja wa wale kijani bendera puzzle vipande vipande. Yeye ana wakati mimi kupokea tukio hilo - hivyo baadhi ya neno holela. Mimi tu typed nje tukio huko - yeye kwenda kusema, Polo, kwa sekunde mbili. Hivyo wale ambao ni ukoo na mchezo huu ili kujua ambapo hii ni kwenda. Kama mimi sasa bonyeza Muppet machungwa, mpango wake gani hii. Milele, kama nafasi keyboard bar suppressed, yeye ni kwenda kusema, Marco, kwa sekunde mbili kwenye screen. Lakini yeye pia kwenda kutumia hii fancier kuzuia inayojulikana kama matangazo. Yeye kwenda kwa matangazo ya kunukuu unquote, "tukio hilo." Wakati huo huo, guy bluu, kukumbuka, ni kusikiliza kwa quote unquote, "tukio hilo." Hivyo kwa namna fulani, sasa, tunaweza kuwa na mbili sprites mazungumzo. Na wakati sisi kupata programu ya mtandao, baadaye katika muhula, vile vile hii itakuwa kuwa faida ya kuwa na tovuti yako kufanya kitu katika kukabiliana na, kwa ajili ya mfano, bonyeza ya keyboard. Hivyo basi mimi kwenda mbele na hit bar nafasi. Machungwa guy anasema Marco. Blue guy anasema Polo. Kama mimi kufanya hivyo tena machungwa guy anasema Marco, bluu guy anasema Polo. Basi hebu kuchukua hatua hii moja zaidi. Wakati huu, tutaweza kwenda, pengine, chache tu zaidi ya dakika hapa. Je, tuna - dawati taa, kuja juu chini. Wewe ni haki juu ya mwisho. OK, unaweza wote kuja. Tuna dawati taa kwa ajili ya kila mtu. Kuja juu. Sijui kama tunaweza kuweka hii gag ujinga hadi kila muhula, ingawa. Haki ya wote, kuja juu chini. Na wakati huo huo, tuna kufuatia mifano ya kuvuta juu, tu kuharakisha mambo sasa, vile kwamba sisi kuwa na mwangaza kutoka mwingine mtangulizi wa kwako kutumia huo msingi ujenzi wa vitalu. Nini jina lako? JOHN: John. DAVID Malan: John. Nzuri kwangu wewe. Na? SETZ: Setz. DAVID Malan: Setz, nice kwangu wewe. John, kama Ningependa kuja juu ya kwanza, hii ni ya zamani shule mchezo aitwaye Frogger. Kutumia keyboard kwa ajili ya hili pia. Na lengo ni kupata hela mitaani na maji. [Frogger MUSIC na ina SAUTI] DAVID Malan: Samahani, hakuna dawati taa kwa leo. Haki zote, Setz, je kama kuja juu juu? Haki zote, hebu kufanya hivyo tena. SETZ: Je, mimi kutumia mishale? DAVID Malan: Tu funguo mshale. Juu, chini, kushoto, kulia. [Frogger MUSIC na ina SAUTI] DAVID Malan: Tutaweza kuwaita faraja zawadi leo, basi, vizuri sana kufanyika. Hapa, kwa nyote wawili, John na Setz. Hongera, wote haki. Basi tena, kama mchezo huu ina, kufikiri juu ya nini kinaendelea? Moja, kuna mengi ya wazi mwendo. Lakini tumeona jinsi gani, na paka na ndege mfano, jinsi gani unaweza kufanya udanganyifu wa mwendo na kusonga tu baadhi ya idadi ya saizi tena na tena. Na kama una kuzuia milele, unaweza kuwa na hizi magari ya kufanya hii milele. Tuna uwezo wa kuwa na baadhi ya randomness. Hivyo mchezo huu haina kuwa sawa kila wakati. Wale magogo, wale magari, wanaweza kuanza saa tofauti kidogo mara ili mchezo yenyewe ni zaidi ya kuvutia na kila mchezo mchezo. Na Wakati huo huo, tumeona uwezo kusikiliza bar nafasi. Lakini ni wazi, katika Scratch, unaweza pia kusikiliza kwa juu, chini, kushoto, kulia, na kweli yoyote ya msingi kwenye keyboard. Na pia unaweza kufanya baadhi ya mambo mengine. Hebu kwenda mbele na kurudi nyuma na toleo mtandao. Hebu kwenda katika ukusanyaji yetu ya mifano hapa. Na chini ya studio yangu, video ambayo ni, kimsingi, folder kwenye scratch.mit.edu. Tuna mtandao wa matoleo wote wa miradi hii. Na hebu angalia kama naweza kupata yangu kompyuta kwa kushirikiana hapa. Hii imeandikwa na mmoja wa marafiki zetu katika MIT, aitwaye Hoja Butterfly. Na mara hii kufungua, hii ni kwenda kweli kutumia zaidi ya kompyuta yangu ya vifaa. Mwanzo hutokea kutekelezwa na Kiwango cha. Kiwango cha wanaweza kuzungumza na webcam yako, kama una moja. Hivyo kama mimi kwenda mbele na screen kamili hii hapa, bonyeza bendera ya kijani, ilani kuwa usalama Kiwango cha ujumbe ni kusema, unataka kuruhusu kutumia webcam wangu? Kawaida, unapaswa pengine kusema Kataza. Lakini katika kesi hii, tutaweza kusema kuruhusu. Basi mimi naenda kuwaambia Chrome kuruhusu hili pia. Na sasa, katika muda tu, unaweza kuona kwangu, yep, mimi. Na kama mkono wangu huenda juu - Mimi nimepata si hoja yangu kichwa kwa wakati mmoja. Kuna pia kutafakari kwenye screen. Haya, kuna sisi kwenda - unaweza hoja hiyo juu ya screen kwa sababu pia kuna puzzle vipande - oh, wewe kujua ni nini, ni kwa sababu wewe pia kuona screen Projector nyuma yangu. Hivyo tuna usio kidogo kitu kinachoendelea huko. Haki wote, hivyo mimi itabidi kucheza chini hapa. Kuna sisi kwenda. Hivyo kuna pia kipande puzzle kwamba anasema, wakati unaweza kuona harakati chini ya moja ya sprites, unaweza kuwa ni kwenda juu, chini, kushoto, kulia au kama. Hivyo tuna kidogo ya ukweli virtual kinachoendelea hapa pia, yote ndani ya mipaka ya browser yangu, tu hapa kwa kutumia webcam yangu. Basi nini basi juu ya upeo wa macho. kwanza tatizo kuweka, kama utaona, au tovuti ya kwenda online baadaye leo usiku kwenye cs50.net, ni pretty sana kwenda kuwa wazi kumalizika. Na kutekeleza mradi Scratch wa maslahi na wewe, mchezo, mwingiliano, kitu kisanii, na changamoto mwenyewe kwa kutumia idadi yoyote ya vipande puzzle haya. Na inaweza ama kuwa maingiliano kwa njia hii. Au inaweza kuwa ni kitu zaidi kwa makusudi kufanywa kwa kuwaambia hadithi. Na hakika, hiyo ambapo tutaweza kumaliza mbali leo, pamoja na mfano mmoja wa mwisho. Hebu kwenda katika Scratch ndani ya nchi. Hebu kwenda mbele na kufungua hii, na kucheza moja ya mwisho ya mpango iliyoandikwa na moja ya watangulizi wako, yaani kwamba moja hapa. Nzuri, kuongeza kiasi kwa ajili ya hii moja. [Halisi kucheza] NARRATOR: CS50 ijayo, Daudi inakaribisha kujitolea onstage. DAVID Malan: Kwa onyesho hili, tunakwenda haja moja kujitolea. Ungependa kuja juu chini? Nini jina lako? Kuhama.