[Powered by Google Translate] [ROCK MUSIC]
[MUSIC - "HAPPY PAMOJA" turtles]
DAVID Malan: Leo, sisi kuanza utafutaji wetu wa
misingi ya sayansi ya kompyuta na utangulizi wetu,
sasa, ni sanaa ya programu, ambayo kwamba ni
mfano mmoja tu.
Lakini katika ven wa kutatua matatizo, kujua kwamba
CS50 wa jadi Puzzle Siku ni kesho.
Kama umefanya bado RSVPed ajili ya tukio hili, unaweza kwenda
cs50.net/rsvp.
Unaweza kuleta timu ya mbili au tatu au nne.
Utakuwa changamoto na matatizo kama moja ulizoziona
hadi pale mwanzo.
Matatizo yote mpya mwaka huu kama wewe walizokula mwaka jana, na wewe
watapata nafasi kisha kushinda zawadi ya baadhi Fabulous.
Kati yao, Wii na vyeti baadhi ya zawadi na kama,
wakati wote kunyongwa nje na wanafunzi CS50 na wanafunzi
na pizza na kuungana.
Hivyo zaidi juu ya kesho kwamba kama ungependa.
>> Hii basi ni CS50, kwa wale wa wewe kujiunga na sisi kwa
mara ya kwanza.
Na kujua kwamba kweli hii ni hasa nia ya kupata
wewe kupitia kozi hii mwisho wake wa mwisho, ambapo kiwango wewe
itakuwa na si tu ufahamu wa haya
misingi ya sayansi ya kompyuta, lakini utakuwa na
hii sana vitendo ujuzi kuweka kwamba unaweza kisha kuchukua nyuma
idara yako mwenyewe, kama ni uhandisi na sayansi,
kutumiwa hisabati, sayansi ya michezo, asili
sayansi, au kama.
Hakika, nini ili kusisimua kuhusu sayansi ya kompyuta hizi
siku ni kwamba ni hivyo tu zinazotumika kwa
kila aina ya mashamba.
Na hata kama leo, sisi tu scratch ya uso wa
jadi sana programu lugha inayojulikana kama C, tutaweza
badala kuangalia kitu kinachoitwa Scratch kitu fulani na
ambayo kwamba hadithi kuki upendo ulitekelezwa na mmoja wa yako
watangulizi katika miaka ya nyuma, kwa kuwaambia hadithi, kwa kuunda michezo,
kujenga sanaa maingiliano, na kwa kweli kuanza wrap wetu
akili kuzunguka baadhi ya constructs msingi kwamba
zinasababisha programu lakini katika hali halisi, kama utaona, kwamba
kiasi kidogo inatisha, hiyo ni kidogo sana arcane, kuliko utaona
kabla ya muda mrefu.
Na kutambua, pia, kwa wale tu kujiunga na sisi hii
muhula, misemo ambayo sisi kumalizika hotuba ya Jumatano,
si hivyo muhimu ambapo wewe kuishia jamaa na yako
wanafunzi katika darasa hili, lakini ambapo, hadi kufikia mwisho wa muhula
katika wiki 11, kuishia jamaa na wewe mwenyewe haki hii siku sana.
>> Hivyo bila wasiwasi zaidi, hii pia ni thamani kubainisha kuwa
walio chini ya starehe, wale mahali fulani katika kati, ni
pia, kwa kubuni ya kozi hii, si katika hasara yoyote
vis-a-vis wale vizuri zaidi
kuja katika darasa hili.
Kama utaona zaidi ya wiki ijayo, tuna tofauti
tracks kwa ajili ya background disparate nyuma, sehemu kwa wale
chini ya starehe, vizuri zaidi, wale mahali fulani
kati.
Kama utaona mwishoni mwa wiki hii na wiki ijayo, matoleo mawili ya
wengi tatizo seti katika toleo wote standard na hacker hivyo
kwamba wote wanaweza kujitegemea chagua chini njia ambayo wewe
ni vizuri zaidi.
>> Kwa hiyo leo, sisi kupiga mbizi katika programu hii
lugha inayoitwa Scratch.
Ni graphical programu lugha, na bado
sawa sifa za baadhi ya lugha za ngazi za juu tutaweza
kuchunguza baadaye katika muhula, kati yao C na
JavaScript na PHP.
Lakini ni kwenda kuruhusu sisi kuepuka baadhi ya distractions
mapema ya syntax, mambo kama semicolons, mabano,
na nyingine arcane maelezo kwamba, katika mtazamo wa kwanza, si tu
wakati wote kielimu ya kuvutia na huwa na kupata katika
njia ya kutoka ufahamu baadhi ya msingi.
Katika suala la muundo sasa msaada mbele, barabara hii
chombo, CS50 Diskutera, ambayo itaunganishwa juu ya kozi
tovuti baadaye leo, ni online majadiliano jukwaa katika
ambayo wewe utakuwa na uwezo wa kuuliza maswali ya kila mmoja na
wafanyakazi, na pia ni chombo, kama tutaweza kuona wiki ijayo,
kwamba tutaweza kutumia kabisa integratedly katika
masaa ya ofisi pia.
Hakika, ofisi masaa kuanza Jumatatu, na kusema ukweli, kwanza
wiki ya masaa ya ofisi ni haki Asili muhimu.
>> Sidhani utapata Scratch yote inaccessible.
Ni badala binafsi maelezo, kama tutaweza kuona, na hivyo kile
tutaweza kuitumia kwa leo ni kwa dondoo baadhi ya
msingi mawazo ambayo, basi, yanaendelea katika
mapumziko ya muhula.
Lakini kuanzia Jumatatu, saa 8:00 mchana kupitia 11:00 itakuwa
masaa ya ofisi katika Annenberg juu ya mapumziko ubongo.
Sectioning mbili itaanza jioni hii, hivyo wakati mwingine hii
mwishoni mwa wiki, kwenda cs50.net/section, na wewe itabidi
kuulizwa maswali kadhaa.
Kati yao, jinsi gani unaweza kuelezea yako
faraja ngazi kama ya leo?
Hakuna ngumu, kwa haraka kama utawala kwa aliye katika ambayo ndoo.
Ni tu aina ya kitu ambayo pengine kujua kama wewe
ni miongoni mwa walio chini ya starehe au vinginevyo.
>> Na sasa, walkthroughs.
kuweka tatizo vipimo kwa ajili ya wiki hii, wote kiwango
na hacker toleo sawa, ni online saa cs50.net kama ya sasa.
Na utaona kwamba kwanza ya matoleo haya,
toleo la kawaida kila wiki, unaambatana na kitu sisi
piga walkthrough code, kikao wakiongozwa na moja ya
mafundisho kozi ya wenzake kwa kuongoza wewe kupitia, kutoa
vidokezo juu, na kupata chini ya njia fulani linapokuja
kwa kuanzia seti hizi tatizo.
Hivyo kwa kila moja ya tatizo hizi seti, kama wewe ni milele kutaka
kwa ajili yako mwenyewe ambapo mimi kuanza, unaanza na hizi
walkthroughs.
Na kwa kweli, naomba kuanzisha Zamyla Chan, hii
mafundisho ya mwaka wenzake ambao watakuwa kuongoza kila mmoja na kila
moja ya walkthroughs haya.
Zamyla?
>> [Applause]
ZAMYLA CHAN: Oh, hi, kila mtu.
Jina langu ni Zamyla.
Mimi nina junior kusoma uhandisi katika Winthrop House.
Lakini mimi kujaribu na inafaa katika kama wengi kozi za sayansi ya kompyuta kama mimi
unaweza, ambayo ni kwa nini mimi nina kweli msisimko kwa kuwa kuongoza hii
mwaka walkthroughs.
Walkthroughs, kwa ajili yangu, walikuwa sehemu muhimu ya CS50 yangu
uzoefu.
Wakati walkthrough, kwa ajili ya kuweka p-kila, tutaweza kwenda kupitia
tatizo kuweka pamoja, kuangalia juu ya matatizo, aina ya
wagawe juu katika kuumwa manageable.
Mimi nitakupa vidokezo mbinu, kwa ajili ya kupata
kupitia na kupata kuanza.
Natumaini kukuona yote katika walkthroughs.
Kama huwezi kufanya hivyo katika mtu, basi
tafadhali kufanya tune katika online.
>> DAVID Malan: Mufti.
Asante, Zamyla.
Hivyo kutambua kwamba walkthroughs ni kweli, siku ya Ijumaa
alasiri, lakini hii ni kwa makusudi kwa kubuni ili kwamba
hata kama msiotaka kuhudhuria darasa juu ya Ijumaa
alasiri, video itakuwa juu wote haraka zaidi juu ya
mwishoni mwa wiki.
Hivyo kutambua kwamba cs50.net atakuwa yote ya wa Zamyla
walkthroughs.
Na kwamba kuna tarehe ya leo na wakati, 3:00,
Harberd Hall, 104.
Na baadhi ya wenzake mafundisho pia tayari
baadhi hotuba kwa wewe kuwepo kwa kuwapa kidogo ya
mtazamo kama yale uzoefu wao kuja ndani na
kwenda nje ya CS50 ilikuwa kama.
Hivyo kama tunaweza dim taa kwa muda tu, nimewapeni
baadhi ya wafanyakazi wa CS50.
>> JACKSON STEINKAMP: Mimi alichukua CS50 mwaka jana kama Freshman katika
kuanguka, na ni kabisa akapiga akili yangu.
Nisingeli mfanya madarasa yoyote ya programu kabla,
na kamwe alikuja na sayansi katika kompyuta yoyote
uzoefu wakati wote.
Na tu, nikasikia buzz kuhusu darasa na
aliamua kuchukua hiyo.
>> Julia MITELMAN: Ni kweli fun, kweli walioshiriki.
Mimi bado, hadi leo hii -
Mimi hivi karibuni tu niliona nina disketi kwamba Daudi alitupa
siku yetu ya kwanza ya hotuba.
Mimi nilikuwa Hung juu ya ukuta wangu.
Hii pengine ni kidogo nerdy, lakini mimi Hung katika juu ya yangu
ukuta wakati wa darasa kama ukumbusho wa jinsi ya baridi ilikuwa.
>> TRAVIS Downs: Ni hivyo aibu.
>> JACKSON STEINKAMP: Kompyuta sayansi ni kitu
lazima kujaribu hata kama wewe si moja kwa
sayansi ya jadi.
Ni uzoefu wake mwenyewe, na CS50 kuhakikisha uko
mkono vizuri kupitia kwa jeshi lake veritable ya TFS.
>> ALI NAHM: Mimi alichukua kama Freshman, na hivyo mimi alifanya mengi
ya marafiki wapya.
Mimi pia got kuletwa na ukolezi hii nzima na
nzima shule ya uhandisi, na hivyo mimi sana kupendekeza
na kuwakaribisha kwa familia zetu CS50.
>> YANIV YACOBY: CS50 tu inafundisha jinsi ya kutumia zana
kwamba ni sana kupatikana.
Wewe tu haja ya mbali, unahitaji browser mtandao, na wewe
haja ya kujifunza kuandika baadhi ya kificho, na kweli unaweza kujenga
nadhifu mambo.
>> Karen Xiao: Ni hivyo tu baridi na kuwa na uwezo wa kufanya kitu
na kuwa na watu kuitumia na kuwa na watu kuona hivyo, na kwamba
nini mimi kweli upendo kuhusu hilo.
>> Tim MCLAUGHLIN: - maana ya jamii, nadhani, katika hii
kozi zaidi ya shaka yoyote nimekuwa kuchukuliwa hadi sasa.
Wewe si kuchukua tu mwingine -
wewe si kujaza mwingine mahitaji.
Wewe si tu kwenda mihadhara na kwenda kwa sehemu.
Lakini unafanya tani ya mambo ambayo ni wote kuhusu
programu na wote kuhusu teknolojia, lakini haina
kweli kujisikia kama darasa zaidi ya muda.
>> TRAVIS Downs: Siku ya kwanza, wao mitupu nje keki, na
Mimi mara moja kuuzwa.
>> JACOB PRITT: Free pipi na pizza.
>> ZAMYLA CHAN: - bila kujali maslahi yako ngazi, nadhani
kwamba CS50, itabidi kuwa na furaha, na wewe utakuwa na kielimu
drivas.
>> MARK GROZEN-SMITH: Ni daima chama katika darasa, na ni
kila chama usiku kazi kwenye seti p-yako.
>> JACKSON STEINKAMP: Kila muda kumaliza kuweka tatizo,
kujisikia kama wewe kumaliza ya mradi.
>> MELISSA Niu: Ilikuwa Freshman mwaka, na mimi ilifanyika ununuzi.
Mimi alikuwa wangu nne madarasa tayari, na mimi nilikuwa katika Annenberg.
Na mimi mapema ndani rafiki, na anasema, hey, mimi nina ununuzi
darasa hili aitwaye CS50, na unapaswa kuja na mimi.
Kuishia kuchukua ni kwamba kuanguka, na baada ya darasa kwamba, mimi
walidhani labda nitakacho madogo katika CS.
Lakini hapa mimi, miaka mitatu baadaye, bado kusoma kompyuta
sayansi na kweli kufanya hivyo kama kubwa, na mimi kupendwa kila
wakati wa hayo.
>> Rob Bowden: Mimi sijui.
>> ALI NAHM: Hebu kuona.
>> MELISSA Niu: craziness.
>> SPIKA 1: Mimi najisikia kama ningependa kuwa sana cliche.
Ningependa kusema tu, kama, kutisha.
>> YANIV YACOBY: Upatikanaji.
>> JACOB PRITT: Free pipi na pizza.
>> TRAVIS Downs: Je, si kugeuka chini darasa kwamba mikono nje ya keki.
>> Tim MCLAUGHLIN: juhudi.
>> VIPUL SHEKHAWAT: Essential.
>> Rob Bowden: Hebu fikiria jibu.
Mimi nadhani got kitu.
Oh, mungu.
Yeah, jina langu Rob Bowden, na hii ni CS50.
>> [Applause]
DAVID Malan: zote haki, hivyo hebu kuanza kuchora picha
wa mwelekeo ambao tunaweza kwenda, na hebu kuanzisha
dhana hii hapa inayojulikana kama pseudocode.
Hivyo pseudocode si programu
Lugha hata yenyewe.
Ni kitu kiufundi per se, lakini ni tu aina ya
ujumla njia ya kuonyesha uungwana mwenyewe just,
uungwana algorithmically, uungwana procedurally, lakini bila
kuwa na wasiwasi kuhusu lugha gani wewe ni kuonyesha
mwenyewe in
Ni baadhi ya mfano wa Kiingereza na lugha ya programu na
ambayo kutokea kwa kuwa familiar, ili tuweze kuanza
kuandika jambo la aina hii kama sisi kwenda.
Na kwa kweli, Joseph, inaweza mimi kukopa wewe juu ya hatua ya kuwa
mwandishi hapa?
Mimi tumeenda mbele hapa mapema na wamesahau kuweka
juu ya soksi baadhi ya leo, na hii utakuwa miongoni mwa zaidi yetu
ridiculous mifano.
>> Sasa, mimi haja ya wewe zaidi ya hapa.
Mimi itabidi kufanya sehemu soksi.
Hivyo hapa tuna kidogo scratch pedi.
Hii ni literally tu TextEdit katika Mac.
Sisi siyo kweli kwenda kuandika mpango runnable, lakini
sisi ni tu kwenda kuanza sketching nje pseudocode makao
juu ya baadhi ya shauri wewe kutoa na mimi hapa.
Hivyo hapa ni rundo yangu ya soksi nyumbani.
Sina soksi juu ya wakati mimi kuamka asubuhi, na sisi sasa
haja ya kuandika mpango, algorithm ya aina, na ambayo
kupata soksi haya juu ya miguu yangu.
Na njiani, hebu angalia kama sisi safari juu, au kukutana,
baadhi ya mawazo ya kwamba utaenda kuwa na kuanza
kufikiri juu zaidi umakini wakati programu
wasije programu yako si kuishi kabisa kama ilivyokusudiwa.
>> Kwa hiyo mimi kukaa chini hapa.
Mimi nimepata rundo yangu ya soksi.
Nini jambo la kwanza busara binadamu ingekuwa
kufanya wakati lengo ni kuweka juu ya jozi ya soksi?
Mtu nipe hatua moja, na ni moja tu hatua.
Yeah?
Watazamaji: Bend chini.
DAVID Malan: Bend chini, Sawa.
Hatua mbili.
Watazamaji: Pick up sock yako.
DAVID Malan: Pick up sock yako.
Sawa, hivyo kidogo utata hapa, na hii ni moja ya kwanza
kikwazo vitalu kwamba sisi ni walidhani makusudi
kukutana hapa.
Ni kidogo utata, hivyo kuchukua sock yako.
Fine, Nitachukua hii moja, lakini kompyuta, kutambua katika tu
kidogo, si kwenda kuwa na kwamba aina ya silika ya binadamu tu
kuchukua moja ya karibu.
Sisi ni kwenda kuanza, kabla ya muda mrefu, akielezea
wenyewe zaidi usahihi.
>> Haki ya wote, hivyo hatua mbili ni pick up sock yako.
Tutaweza kuchukua hiyo.
Hatua ya tatu.
Katika nyuma.
Watazamaji: Find jozi vinavyolingana.
DAVID Malan: Find jozi vinavyolingana.
Sawa, hivyo hii ni nzuri.
Mimi nilikuwa na kuchagua hii sock.
Hivyo lengo ni kupata sock vinavyolingana, sasa, lakini kile
haina maana?
binadamu busara kuwa, kiasi kama Jumatano wakati mimi tu
alijua jinsi ya kupata Mike Smith katika kitabu cha simu, aina tu ya
akaenda na silika zao.
Lakini hapa, ni wazi kuwa hili sock hapa, lakini kompyuta
si itakuwa hivyo instinctive.
kompyuta ataenda kuwa na ukusanyaji wa bits, kama sisi
kujadiliwa kwenye Jumatano, na hao ni
kupangwa kwa namna fulani katika kumbukumbu.
Lakini uhakika ni kwamba kompyuta ina uwezo tu
kuangalia mambo kwa wakati mmoja, na kwa kweli, hata sisi
binadamu - hata ingawa anahisi kama mimi glanced chini na kupasuliwa
pili baadaye najua ambapo sock ni, ubongo wangu na macho yangu
labda alifanya haraka skim ya soksi hizo, na kisha latched
kwenye moja katika swali.
>> Hivyo kama sisi kuwa wote zaidi ya makusudi sasa kama kompyuta,
jinsi gani mimi kupata hii jozi vinavyolingana?
Naam, tunapaswa kuwa na iterate.
Inabidi labda kitanzi juu ya hii fujo ya soksi juu ya
sakafu ambapo mimi kusema kitu kama KWA KILA sock, pick it
juu, na kama sura sawa na ukubwa kama moja nyingine, BASI
dot, dot, dot, tutaweza kuendelea hadithi.
Hivyo kwa kila sock, hivyo mimi kuchukua hii moja.
Mimi ni kuangalia hii sawa na hii.
Siyo, hivyo mimi kuweka kando kando.
Kisha mimi iterate tena.
Je, hii ni moja sawa?
Hapana, si, hivyo mimi kuiweka kando.
Je, hii ni moja?
No
Hii moja?
Hapana, na kadhalika.
Na kisha hatimaye, hopefully, mimi kukutana hii sock hapa.
Hivyo kama ni umbo moja, kawaida, kuchukua hiyo.
>> Na sasa, nini itakuwa hatua yetu ijayo hapa?
Yeah?
Watazamaji: Tambua haki kutoka kushoto.
DAVID Malan: Okay, kutambua haki na wa kushoto, ili
bahati nzuri, kwamba aina ya kazi.
symmetriska kidogo, au nimekuwa tu huvaliwa yao kwa njia hiyo.
Haki ya wote, hivyo nimekuwa kutambuliwa haki.
Na sasa, kabla ya sisi kuendelea, basi mimi kumweka nje nini Yusufu
wamekuwa wakifanya hapa kama aina ya programu mjuzi.
Hivyo tena, hakuna njia moja ya kufanya hili, lakini zaidi tu
idadi ya mistari, Joseph tayari imeshaanza kufanya hili
aina ya indentation.
Hakika, huu ni mkataba wa kawaida sana katika programu,
ambapo wakati wa kufanya kitu iterative, looping style, kama
sisi ni akimaanisha na maneno ya Kiingereza "KWA KILA
sock, "mkataba katika pseudocode na, kama tutaona,
kawaida programu lugha, ni tu Indent.
Hit nafasi bar mara chache, hit muhimu Tab au kama,
ili nested chini "KWA KILA sock" ni chunk ya
stuff kwamba unahitaji kufanya kama matokeo ya kitanzi kwamba.
Basi hiyo ni yote yale kuwasilisha semantically.
Sasa wakati huo huo, "Kama ni sura sawa na ukubwa,"
ukweli kwamba "Chukua" ni indented zaidi tu ina maana
hilo ni jambo tu unapaswa kufanya kama sharti kwamba,
kama kwamba tawi, kwamba uma katika barabara, kwa kweli ni kweli.
>> Hivyo sasa hapa, sisi ni juu ya hatua nne, kutambua kulia na kushoto.
Nimekuwa kutambuliwa haki.
Kutoa yangu hatua tano.
Na kitaalam, sisi inaweza kweli wito
KWA KILA kitu -
unapaswa pengine namba mistari yote ikiwa
tunakwenda kufanya hili.
JOSEPH: [inaudible]
DAVID Malan: [inaudible]?
Okay, faini, wote haki, tutaweza kufanya hivyo njia yako.
Haki ya wote, hivyo hatua tano, ni jinsi gani sisi kufanya sock haki?
Jinsi gani sisi kuendelea ijayo, hapa?
Ndiyo?
Watazamaji: Inueni mguu wa kulia.
DAVID Malan: Inueni mguu wa kulia, Sawa.
Hatua ya sita?
Haraka.
Yeah.
Watazamaji: Find mwisho wazi ya sock.
DAVID Malan: Okay, kupata mwisho wazi ya sock.
Hivyo nzuri.
Hivyo hapa, uaminifu, Instinct kawaida sana ingekuwa tu kuwa
kuweka kwenye sock haki, lakini pia kwamba ni haki ya utata.
Isipokuwa kompyuta au binadamu anayejua hasa nini maana ya,
si kwenda kuwa na nitafanya hivyo, hivyo hapa, nimekuwa
kupatikana ufunguzi wa hisa.
Hatua ya saba?
Watazamaji: Shika vidole vya miguu.
DAVID Malan: Touch vidole.
Sawa, hivyo sasa sisi kwenda -
Haki wote, mimi naenda kuchukua uhuru baadhi hapa.
Shukrani.
Hatua ya nane?
Vaeni sock.
Sawa, hivyo sasa mimi, nadhani tuko karibu kutosha ya aina ya kuchukua
hii moja nyumbani.
Haki zote, hivyo hii huenda juu.
Mimi itabidi kuchukua uhuru baadhi na inamaanisha nini, kwa kweli.
Kuweka sock juu.
Haki zote, sasa hatua tisa?
Watazamaji: Weka mguu chini.
DAVID Malan: Asante.
Hatua ya tisa, kuweka mguu chini, na sasa, tunaweza kurudia.
Hivyo labda, tunaweza sasa kwenda katika hatua ya 10 na kusema kutambua
kushoto sock, lakini hiyo ni pengine tayari amefanya.
>> Na hivyo basi, mimi unaweza aina ya kurudia hatua hizi.
Lakini aina hii ya begs swali.
Kabla ya hapo, wakati wa mwisho tulitaka kurudia kitu, sisi
alifanya hivyo iteratively, tena na tena, KWA
Kitanzi KILA hivyo kusema.
Je, ni mantiki ya kutumia kitanzi ili kushughulikia wote
kushoto na sock haki?
Kwa sababu anahisi kama hizi shughuli ni pretty much
kufanana isipokuwa kwa ukweli kwamba moja inaanza hapa na moja
inaanza hapa?
Je, sisi kitanzi, au kufanya sisi tu kuweka hatua kuandika
10 na 11 na 12?
Watazamaji: Loop.
>> DAVID Malan: Sawa, hivyo kitanzi.
Mimi kwa kweli anaweza kuwa alisema tu kuendelea.
Hivyo kwa nini hii kesi?
Naam, hii ni kweli kwanza ya zetu zisizo dhahiri
kubuni maamuzi, na kwa kweli, moja ya metrics na ambayo
tutaweza kuanza kutathmini, kwa wenyewe na kwa ajili yenu,
ubora wa mpango ni jinsi tu pamoja iliyoundwa ni.
Umefanya kiasi ndogo ya kazi muhimu
kupata kazi kufanyika haraka zaidi, ama katika suala la
muda wako au katika suala la muda wa kompyuta mbio?
Wangapi shughuli gani inachukua nitafanya?
Hivyo arguably, hii ni fursa kwa kitanzi kwa sababu
haraka kama mimi kuanza kuiga na pasting, kama Joseph ufanisi
ingekuwa kuanza kufanya katika dakika moja, wewe ni aina ya kupoteza yako
muda, na wewe ni kuwa doubly expressive.
>> Lakini wakati huo huo, hizi ni kweli tu mbili maalum
kesi, kushoto na kulia.
Na wakati kabla, nipate kuwa soksi 10 au 20 au zaidi katika
rundo, ni dhahiri hufanya akili si kuwa na mistari 50 ya
code akisema kuangalia hii sock, basi moja ijayo,
basi moja ijayo.
Hapa, ni kidogo chini ya dhahiri, na napenda mapendekezo
kwamba tunaweza kwenda ama njia.
Tunaweza kuwa na aidha kuwa kitanzi, ingawa tu matanzi
mara mbili, au tunaweza tu nakala na kuweka kidogo tu
hapa ili kupata kazi kufanyika.
Lakini mpango huu ni Buggy, hivyo kusema.
Inawezekana kuwa baadhi ya makosa, makosa, au kesi kona, hivyo kwa
kusema, kwamba sisi si kweli wanatarajia.
Hakuna kitu potoka wakati huu, lakini nini inaweza kuwa wamekwenda vibaya
wakati wa utekelezaji mpango huu?
Watazamaji: Huna soksi yoyote.
>> DAVID Malan: Hivyo kunaweza kuwa hakuna soksi kuna chochote.
Basi hebu fikiria kwamba kesi kona.
Hivyo kama tunaweza kitabu nyuma hadi hatua moja, hivyo hatua moja alikuwa
inama, ili hundi nje.
Hatua mbili, pick up sock yako, lakini kisha kupata vinavyolingana sock,
kutambua haki.
Sisi aina ya kufanywa rundo zima la mawazo, na hii ni,
kusema ukweli, kwa nini mpango wakati mwingine ajali.
Kama wewe, programu, kuwa alifanya dhana fulani, kama
Hakika kuna kwenda kuwa soksi au hakika kuna kinaendelea
kuwa kumbukumbu kushoto katika kompyuta, hakika kuna kinaendelea
kuwa nafasi disk kushoto juu ya gari ngumu -
Naam, kama wewe kufanya mawazo haya, na kwamba si,
katika ukweli, ukweli, ambaye anajua nini wakati mwingine ya kompyuta
kwenda kufanya?
Na wakati mwingine, wakati wewe kupata inazunguka beach mpira au
waliohifadhiwa Windows au kama, hiyo ni just kwa sababu baadhi ya
programu Hawakutarajia wale kesi kona kinachojulikana.
Nini kingine inaweza kuwa wamekwenda vibaya katika mpango huu?
Yeah?
>> Watazamaji: Huna mguu wa kulia na mguu wa kushoto.
DAVID Malan: Okay, wanaweza kuwa wote mguu wa kulia na
kushoto mguu, na hivyo programu hii inaweza kuwa kwa wote
husika.
Wengine?
Watazamaji: Unaweza kuwa ilichukua sock yatima.
DAVID Malan: nipate ilichukua sock yatima, hivyo
yasiyo ya vinavyolingana sock kwamba tu ana ndugu hakuna sababu nimekuwa
waliopotea, ni vilio, ni katika safisha bado, au kama.
Hivyo kwamba, pia, ina si kweli imekuwa kubebwa.
Yeah?
Watazamaji: Unaweza tayari soksi juu.
DAVID Malan: nipate tayari soksi juu.
Sikuweza kweli check.
IF huna soksi juu, BASI kuendelea kufanya
mstari mmoja na miwili.
Na ambayo inaweza kutokea.
Ukilala na soksi yako juu na kama, ili
kwamba, pia, busara sana kona kesi.
Na labda mtu mwingine?
Watazamaji: sock ni ndani nje.
DAVID Malan: Hivyo sock ni ndani nje, hivyo sisi hakufanya kosa
kuangalia, katika muda mfupi.
Sisi hawakuwa kuangalia kama hali ya dunia ni kama sisi kutarajia.
Sisi hawakuwa kuangalia kama sisi kweli kupatikana nini sisi ni kuangalia kwa.
>> Na hata ingawa hii ni aina ya mfano ridiculous
kuwashirikisha soksi, mwisho wa siku, hii ni hasa
aina ya mawazo unahitaji kuwa na wakati kuandika programu,
hata katika Scratch kama vile katika C, katika JavaScript, katika PHP,
kwa sababu vinginevyo, programu yako maonyesho
sawa ya mpira ambao inazunguka pwani au tu mavuno
usahihi wa matokeo.
Hivyo wengi shukrani hapa kwa mwandishi wetu Joseph.
[Applause]
>> DAVID Malan: zote haki, hivyo ni nini, katika
kweli, programu ya kompyuta?
Naam, hebu kuchukua mtazamo wa haraka katika
mwakilishi mmoja hapa.
Hivyo hii ni programu iliyoandikwa katika lugha inayoitwa C. C ni
uungwana zamani siku hizi, lakini wengi lugha ya karibu zaidi ni kujengwa
juu yake.
Hakika, PHP, moja ya lugha za mtandao-centric tutaweza
kutumia kuelekea mwisho mrefu wa, yenyewe ina nini inaitwa
mkalimani, programu iliyoandikwa katika C, lakini zaidi juu ya kwamba
katika wiki nyingi kutoka sasa.
Lakini mpango huu, na hii ni nini maana ya kuandika
mpango, angalau moja rahisi sana.
Tuna baadhi ya syntax uungwana cryptic hapa, lakini unaweza
pengine guess, hata kama wewe sijawahi iliyowekwa mbele, nini
mpango huu gani.
Hakika, sijui nini ni printf, lakini magazeti ya shaka
conjures up wazo la uchapishaji kitu nje.
Na hivyo ndiyo, mpango huu ni hatimaye kwenda magazeti nje
maneno "Hello, Dunia."
>> Sasa, kama una Mac au PC au kompyuta Linux, tabia mbaya
ni, angalau kama wewe kupakuliwa baadhi hiari
inapatikana programu, unaweza wamekuwa kuandika mipango juu ya
Laptop yako mwenyewe kwa muda kabisa sasa.
Juu ya Mac OS, kwa mfano, kuna programu hii inaitwa
Terminal kuja na Mac, hiyo ni kawaida katika yako
Utilities folder, na kwa ujumla kuufungua nyeusi na
nyeupe au dirisha nyeupe na nyeusi ambayo una
kuchochea saa ambayo unaweza aina amri.
Hivyo hii ni kweli ni kukumbusha kile kompyuta
kutumika kwa kuwa kabla ya mtumiaji graphical
interfaces, GUIs, alikuja pamoja.
Sasa, katika Windows, una utaratibu sawa katika fomu
wa haraka amri.
>> Lakini kile Mimi naenda kufanya hapa ni kufungua, hebu sema,
TextEdit tena, hivyo mpango huo sisi walikuwa wanatumia kwa ajili ya
pseudocode wakati uliopita, na mimi nina kwenda mbele na
kuandika mpango wangu wa kwanza.
Pamoja stdio.h, chochote kwamba njia, int kuu
batili, chochote kile maana yake, na kisha katika katikati hapa,
printf ("hello, ulimwengu."). Na kisha karibu quote,
karibu Paren, semicolon.
Sasa mimi nina kwenda mbele na tu hit Command-S. Mimi naenda
kwenda mbele na kuokoa hii kama hello.c, hivyo mkataba katika
dunia ya programu C ni jina faili dot c.
Mimi naenda kuweka tu katika Nyumbani saraka John Harvard wa,
hapa, bonyeza Ila, na sasa mimi nina kwenda juu ya hii
terminal dirisha, ambayo tena ni hii haraka nyeusi na nyeupe
ambapo naweza wanatekeleza amri.
>> Mimi wanaweza kukimbia mipango na kuandika jina lao, na si kwa
mbili-Kwenye icons katika akili ya kawaida.
Lakini jambo ni kuhusu C ni kwamba lugha kama C kwanza
huja katika namna hii, kitu kinachoitwa chanzo code.
Kitu ambacho inaonekana kidogo kama Kiingereza lakini ni
dhahiri chini kama Kiingereza kuliko Yusufu pseudocode
wakati iliyopita.
Ni kidogo zaidi arcane.
Inaonekana kufuata mwelekeo wa baadhi au sheria.
ukweli kwamba nina braces curly, semicolons, quotes,
angle braces, anahisi kama kompyuta kuja na hii
aina ya lugha.
Lakini kama mimi kwenda, sasa, kwa dirisha hili terminal, siwezi kukimbia
amri ambayo inaenda kubadilisha kwamba chanzo code ni
kitu kinachoitwa kitu code.
Ambayo inaenda kubadilisha Kiingereza-kama syntax kwa zeros
na ndio, kila moja ya zeros na ndio sisi
aliyesema kuhusu Jumatano.
Sasa, mimi nina kwenda kukimbia amri kuitwa Clang.
Zaidi juu ya hili katika wiki ijayo, lakini ni mpango na
ambayo naweza kubadilisha hello.c ndani ya rundo zima
ya zeros na ndio.
>> Sasa, nimekuwa kukimbia amri hii.
Nimekuwa kukimbia Clang, na kisha nikasema kukimbia mwenyewe juu ya faili hii
kuitwa hello.c, ambayo mimi umba wakati uliopita, na
kitu inaonekana kutokea.
Lakini, ikiwa mimi poked karibu nyumbani saraka yangu, napenda kuona
kwamba hii stupidly aitwaye mpango a.out sasa lipo.
Hii ni jina default kwa ajili ya mpango wakati wa kuandika katika
C. Tunaweza override hii hatimaye, lakini a.out ni
jina la mpango mimi tu kuongoka katika zeros na ndio.
Na kwa kuwa sasa ni zeros na ndio, Mac yangu, katika kesi hii, au
yako Windows PC, wanaweza kuelewa bits wale, wale
zeros na ndio.
Na hivyo wakati mimi hit Enter, naona "hello, ulimwengu!"
>> Lakini ni Buggy kidogo.
Sikuwa kabisa kusema "hello, ulimwengu: hewa: -! Jharvard." Hewa ni
jina ya kompyuta yangu.
Jharvard ni jina la akaunti, hivyo nini mimi wazi
omit kutoka mpango?
Baadhi ya aina ya mapumziko ya mstari.
Sikuweza hit sawa ya Enter au kurudi carriage,
na hii ni, tena, ushahidi wa ukweli kwamba kompyuta inaweza
tu kufanya kile wewe kuwaambia cha kufanya.
Na ukweli kwamba Mimi sikuwaambieni kompyuta hoja
mshale line ijayo -
vizuri, ni hakika si kwenda tu kufanya hivyo
kujikinai kwa ajili yangu.
Hivyo kama mimi kurejea mpango wangu, na mimi kusema \ n -
Hivyo \ n, kama tutaweza kuona hivi karibuni, ni njia ya
anayewakilisha mambo weird kama wahusika mpya line, mambo
ambayo vinginevyo kuwa ni matokeo ya
kupiga ufunguo kuingia.
Lakini kwa sasa, tu kujua kwamba kitufe kuingia ingekuwa
tu kufanya code yetu kuangalia isiyo ya kawaida, hivyo aliamua dunia, unajua
nini, kwa kuweka mambo prettier, kuitunza kwenye mstari mmoja, hebu
tu kusema \ n inawakilisha mstari mpya.
Hebu resave faili yangu, kwenda nyuma ya dirisha terminal, na
re-kukimbia a.out, Ingiza.
Bado Buggy, lakini kwa nini?
>> Watazamaji: [inaudible]
DAVID Malan: Yeah, hivyo mimi haja ya recompile yake.
Hivyo mpango wa kukusanya tu ina maana kubadili kutoka chanzo
kanuni na kitu code code, chanzo zeros na ndio.
Sasa, ukweli tu kwamba mimi hit Ila katika hili TextEdit hana
kuzaa juu ya zeros hizo na zile kwa sababu mimi kwanza haja ya
kuwaambia Clang hey, nimekuwa iliyopita wale mistari ya kificho,
chanzo code.
Unahitaji regenerate a.out.
Hakuna inaonekana kuwa kilichotokea, lakini katika kompyuta,
katika mstari amri, ili kuzungumza, wakati chochote kinachotokea,
kwamba kwa kawaida maana yote ni sawa.
Wakati kitu gani kutokea, ina maana
wewe messed up, kwa ujumla.
>> Basi hebu sasa kwenda a.out, na kwa kweli sasa, nina "hello,
dunia ".
Na sasa, nini kuhusu haya zeros na zipi?
Ambapo, kwa kweli, ni wale?
Naam, siwezi kweli tu aina ya poke karibu sana
kwa ufanisi.
Hebu kufungua TextEdit.
Hapa ni a.out.
Hebu kwenda mbele na kufungua hii, na hii ni nini inaonekana yangu
mpango inaonekana kama.
Hivyo nilipofungua, si hello.c, lakini a.out.
Lakini hii ni kweli si kile mpango wangu kweli ni.
Wazi, hii ni aina fulani ya wahusika alfabeti.
Mimi naona hakuna zeros na ndio, lakini hii ni
kwa sababu a.out ni mpango.
Zeros na wale - lakini TextEdit, kama jina linavyosema, ni
tu kama Notepad juu ya Windows, ni tu mhariri wa maandishi, hivyo ni
kuwachanganya wote wa zeros hizo na zile kama
ingawa walikuwa, nini?
ASCII wahusika.
>> Hivyo wanakumbuka juu ya Jumatano, sisi tu kuja na hii
holela ramani ya namba, au bits, na barua ya
alfabeti na alama punctuation na kama.
Hivyo TextEdit, kwamba ni mhariri asilia ni misinterpreting
wale mifumo ya zeros na wale ambao wanatakiwa kuwa
uchapishaji maneno, kama "dunia hello,." Ni ya kuionyesha
kama ASCII, na kwamba sababu inaonekana messy kidogo.
Sasa, kuna baadhi ya vidokezo ya usahihi katika hapa.
Taarifa kama mimi kuonyesha, kuna ladha ya kweli "hello,
dunia, "hivyo mahali fulani katika mpango kwamba ni
sentensi mimi aliandika.
Lakini hebu kwenda mbele na kuona sasa na mpango tofauti.
Hii si moja tutaweza kutumia mara nyingi, lakini pia kuja na
Mac na itakuwa ndani ya appliance CS50.
Hebu kwenda mbele na kufungua na programu inayoitwa XXD.
>> Nyuma kwa siku, programu nyingi walikuwa aitwaye uungwana isiyoeleweka kirahisi,
na hivyo hali hiyo itaendelea.
Lakini-b maana mate nje ya mpango huu kama binary.
Je, si kukimbia.
Kuonyesha ni mimi kama zeros na ndio, na hii ni C
mpango sisi tu aliandika.
Sasa, mimi, kama binadamu hapa, mimi uaminifu hawana wazo nini
haya mbalimbali mifumo ya zeros na ndio kuwakilisha.
Nyuma kwa siku, mimi, pamoja na kadi yangu Punch au kama, ingekuwa
kweli kuwa na kuangalia kile ruwaza hizi mbalimbali za
01111000, kwa kweli kuwakilisha.
Au mbaya zaidi, napenda haja ya kufanya au kufinywa uumbaji
ya ruwaza hizi za zeros na ndio.
Lakini kwa sasa, kuchukua imani kwamba CPU, Intel ndani, hivyo
kusema, ndani ya yote ya kompyuta yetu siku hizi, anajua
jinsi ya kutafsiri zeros haya na ndio.
Na baadhi zeros na ndio maana magazeti.
Baadhi zeros na ndio maana kucheza sound.
Baadhi zeroes na ndio maana kuchukua user pembejeo kutoka keyboard.
Kuna kila aina ya mifumo tofauti, lakini sisi nashiriki,
kama binadamu, tu kwa ujumla haja ya kuwa na wasiwasi kuhusu programu katika
ngazi hii ya juu ya haki.
Na katika nyingine CS madarasa unaweza delve chini zaidi na kuangalia
katika mambo kama zeros hizo na zile, au bado
mambo mengine bado.
>> Hivyo sasa hebu kubadilisha hii.
Hebu hoja haraka sana mbali na C na hoja ya kitu
kidogo zaidi ya faraja, zaidi kidogo ya kusisimua, kwa kuwa
tunaweza kupata nyuma Animations yetu na sauti na kama kwamba
wazi kuwa alitoroka sisi katika hii
uungwana primitive interface.
Hivyo mpango huu sawa katika C inaweza kuwakilishwa sasa katika hii
programu lugha inayoitwa Scratch kama ifuatavyo.
Hii ni sawa na mpango huu hujambo dunia imeandikwa katika
kipande hii puzzle style lugha inayoitwa Scratch.
Hivyo basi mimi kwenda mbele na kufungua mpango huu sana.
Ni mara ya pili wakamwita Scratch.
Ni hiari inapatikana, na hii ni kitu kimoja sisi
kuanza leo tarehe.
>> Hivyo hii hapa ni Scratch, na ni kuvunjwa juu katika chache
tofauti vipande.
Juu ya haki ya juu sana, tuna hatua kinachojulikana, na
Hakika, hiyo ambapo cookies
kutumbuiza kidogo tu iliyopita.
Na juu ya hatua ambayo ni mambo kuitwa sprites wahusika, au
vitu, au taasisi.
Ni kweli haina jambo jinsi unafikiri wao, lakini wao
ni programmable, movable vitu, na katika kesi hii, hii
mpango kwamba mwanafunzi wetu aliandika ina michache ya Gingerbread
cookies, wanandoa wa cookies mviringo, rundo zima la
mioyo, rundo zima la miwani.
Kwa sababu hii, yeye au yeye ni uwezo wa mpango wa kila wale
mtu binafsi wahusika tofauti.
>> Sasa, ni nini maana kwa mpango wahusika hawa?
Vizuri, basi mimi kwenda mbele na bonyeza kuki hii kushoto
na kitabu juu ya upande wa kushoto juu hapa.
Katika kushoto juu ya screen yangu sasa ni
kinachojulikana scripts eneo hilo.
Hii ni aina ya slate tupu, awali, kwenye ambayo naweza
Drag na kuacha vipande puzzle kwamba, kusema ukweli, kufanya
hasa nini wanasema.
Katika sana juu ya hii stack ya vipande puzzle ni neno
Wakati Green Flag clicked, na kama hakuwa na taarifa kabla,
njia Nilianza kwamba wimbo kuki alikuwa kubonyeza, literally,
bendera ya kijani.
Hivyo kwamba kipande puzzle juu kushoto kuna maana ya wakati
binadamu Clicks bendera ya kijani, aliendelea kufanya
mambo yafuatayo.
>> Sasa, kwa nini wao kuki kuendelea kufanya?
Mimi kwa kweli sijui jinsi ya kutafsiri hii bado, lakini
kuki inatarajia Groove yake na sifuri, basi walisubiri
tatu sekunde, basi ni iliyopita kundi lake kwa moja, basi ni
walisubiri pili, basi ni iliyopita yake
Groove nyuma moja.
Na kisha hii kwa kweli inaonekana kama kidogo ya mdudu, hawapaswi
kuwa na mabadiliko ya Groove yake tena na tena isipokuwa ni
kuwa iliyopita mahali pengine, lakini hii mfululizo wa hatua ni nini
kulazimisha tabia ya kuki fulani.
Basi hebu kweli kitabu nyuma na si kuangalia kitu
kabisa hivyo tata bado.
Hebu kwenda mbele na kwenda Picha, New,
na kupata slate safi.
>> Hivyo sasa, mimi kweli kuwa tupu script eneo hilo, hatua tupu,
na default wetu Scratch Sprite, na juu kushoto
juu ya screen yangu mimi kuwa na godoro wa wote wa zao
inapatikana puzzle vipande vipande.
Na sisi si kwenda kwa njia ya karibu kwamba wengi wa mambo haya
leo kwa sababu, tena, zaidi ni maelezo binafsi, lakini sisi
kujaribu categorize yao na kumweka nje yanayofanana
na lugha hizi baadaye ambayo sisi kupiga mbizi.
Na juu kushoto hapa ni kwanza Wakati Green Flag clicked,
hivyo basi mimi Drag hii zaidi ya hapa, zoom nje kidogo.
Na kama mimi bonyeza bendera ya kijani, hakuna kitu kweli hutokea kwa sababu ya
Mimi si masharti yoyote mantiki, taarifa yoyote ili kuzungumza, kwa
kuwa bendera ya kijani, hivyo basi mimi kwenda
makundi zaidi ya hapa.
Mimi nina sasa katika jamii Control.
Mimi badala kwenda chini kwa jamii Looks, na
kuna rundo zima la mambo hapa kwamba kusema Sema,
Fikiria, Mabadiliko ya Rangi, Switch Costume.
>> Hivyo unaweza kufanya mambo silly na costumes na
sauti na kama.
Hebu kwenda mbele na kusema tu Sema, na sasa taarifa kama mimi Drag
na kuacha hii kipande puzzle, ni kwenda wanataka latch
katika sura sambamba.
Hivyo wakati mimi kwenda mbele na basi kwenda ya panya yangu, wao lock
pamoja, na sasa kama mimi kwenda juu hapa na bonyeza bendera ya kijani,
paka haina ukweli kusema hello kwa sababu hiyo ni nini ndani
ya hii sanduku nyeupe.
Tutaweza haraka kuona kwamba hii sanduku nyeupe ni nini wito
hoja, au parameter.
Ni njia ya kubadilisha tabia ya, katika kesi hii,
puzzle kipande, lakini kama nataka kusema hasa kile alisema
kabla, kusema hello, dunia, sasa naweza kurudi nyuma zaidi ya hapa,
bonyeza kucheza, na "hello, ulimwengu" ni nini alisema.
>> Hivyo sisi ni literally programu sasa.
Ni si kulazimisha kwamba wote wa mpango, lakini angalau
ni kitu kidogo zaidi kuliko kulazimisha kwamba inaonekana, katika
kwanza mtazamo, kama hii.
Na tunaweza haraka sana kupata yote zaidi expressive
kwa sababu katika Scratch, kama katika lugha nyingine, kuna aina
aina ya kauli, si tu Sema au uchapishaji kitu, lakini
unaweza kufanya mambo kama kusubiri, kama sisi tu, kwa kuona kwa
cookie, baadhi ya idadi ya sekunde.
Unaweza kucheza sauti katika mazingira ya Scratch tu
kama unaweza katika kawaida programu ya kompyuta sauti kucheza.
Unaweza kuangalia kile kinachojulikana misemo Boolean.
Hivyo sasa, hebu kuanza kwa kuongeza toolkit yetu baadhi ya istilahi
kwamba kweli inahusiana na mfano kwamba Yusufu na mimi
hapa na soksi.
Hivyo kauli tu kauli ya ukweli.
Je hii.
maelekezo kwa Sprite, au mimi binadamu, kufanya kitu fulani.
Kujieleza Boolean ni kitu ambayo ina thamani,
kinachojulikana ukweli thamani, hiyo ni aidha zero au moja, au ya uongo
kweli, au kuizima, hakuna au ndiyo.
Je, si kweli jambo jinsi unafikiri ya hili, lakini ni
binary serikali.
Kama Nate kujadiliwa katika video Jumatano, wawili
mambo tofauti.
>> Hivyo katika Scratch, misemo Boolean kutokea kwa kuangalia
kama hizi vitu bluu hapa, na katika kesi hii, swali
alama ina maana kwamba wewe ni kuuliza swali.
Je paka, au Sprite, kugusa mouse pointer?
Hivyo hii ni mfano mmoja tu wa block Scratch kwamba kinaendelea
kuruhusu sisi kuangalia ndiyo au hapana, ni panya kugusa
sprite kwenye screen?
Na hii inaweza kuwa na manufaa kama kweli wanataka kufanya mambo
na mouse yako.
Mbali na maneno Boolean, tuna mambo
kama ni kipanya chini, hivyo unaweza kugundua kwamba aina ya
swali kama vizuri.
Tunaweza kufanya hisabati kama kweli wanataka, na kuna
kweli zaidi ya kulazimisha matumizi kwa ajili ya hii kuliko safi tu ya
hesabu, kama tutaweza kuona.
Pseudo randomness na kufanya mpango yako kuonekana kufikiri
au tabia tofauti kulingana na baadhi ya maadili inaonekana random,
na kisha sisi mambo kama maneno Boolean kama NA.
Hivyo kama kweli wanataka kuangalia maadili mbili, tutaweza kuona katika
Scratch kwamba tunaweza kweli mtihani kama hii ni
kweli na hii ni kweli.
Kwa mfano, katika kesi ya soksi yangu, mimi naweza wameweza katika
sana mwisho aliuliza swali kama sock kushoto ni juu ya haki na sock
ni juu, kuacha.
Umemaliza kwa siku, hivyo kwamba itakuwa
nafasi kwa ajili hiyo.
>> Basi hebu kwenda mbele na kujaribu kipande baadhi ya hizi pamoja
na kwenda katika michache mifano zaidi
kulazimisha kuliko huu.
Hivyo basi mimi kwenda mbele hapa na kufungua baadhi ya mifano
kwamba daima kuwa katika tovuti ya shaka pia, na
kufungua hello2.
Hivyo katika hello2 hapa, tuna mpango kwamba anafanya chache
mambo, lakini siyo kufanya hivyo vizuri kama sisi nguvu.
Hivyo hapa anasema "hello, ulimwengu" kwa moja ya pili na kisha waits
kwa ajili ya pili.
Na kisha anafanya hivyo tena, na kisha anafanya hivyo tena.
Hivyo kama mimi bonyeza bendera ya kijani, Scratch anasema "Hello, ulimwengu.
Hello, ulimwengu.
Hello, ulimwengu. "Na hii ni wazi mgombea sasa kwa
kuboresha.
>> Nini uboreshaji kidogo kidogo, hopefully, tunaweza
sasa kufanya ikiwa Scratch inaunga mkono maana?
Baadhi ya aina ya kitanzi.
Baadhi ya aina ya marudio, sasa, itakuwa nzuri, hivyo basi mimi
kweli kujaribu kuwa.
Hebu kweli kwenda na hoja hii.
Hivyo taarifa unaweza detach vitalu kwa urahisi kama unaweza kuongeza kwa
ambatisha yao.
Hebu kwenda chini ya Kudhibiti, kitabu chini hapa, na kwa kweli,
kuna kipande hii puzzle hapa, Rudia na Forever na
Kama Forever.
Hivyo kuna idadi ya njia ya kuonyesha constructs looping
katika Scratch.
moja mimi pengine wanataka hapa ni si Forever sababu mimi tu
wanataka hili kutokea mara tatu, lakini pengine Rudia.
Hivyo basi mimi Drag Rudia zaidi ya hapa, Drag na tone yake, na
sasa badala ya kusema "hello, dunia" mara tatu tofauti,
basi mimi Drag hii kipande puzzle katika hapa.
Na hata ingawa haionekani fit, mpango huo ni smart
kutosha kutambua itakua kujaza, hivyo ni
maumbo kwamba suala hilo na si kawaida kabisa.
Hebu kubadili marudio kwa tatu, na sasa napenda kwenda
mbele na Drag Subiri Moja Pili katika huko pia.
Ni kwenda snap katika pia, na hivyo sasa mimi naenda Drag
guys hawa zaidi ya hapa na tu kutupa kwa sababu mimi
hawana haja nao tena.
Hebu zoom nje na bonyeza bendera ya kijani sasa, na tuna
mpango huo lakini, kama mimi alitabiri kabla, bora
iliyoundwa kwa sababu unaweza kufikiria jinsi mbaya mpango huu
bila kupata, hakika aesthetically, kama alikuwa na
kuanza kuiga na pasting, kuiga na pasting, au
dragging na kuacha mambo yale yale, darn tena na tena.
>> Sasa, mambo ya kusema tu kwenye screen, uchapishaji kwa
screen, kwa kweli wote si kwamba kusisimua, hivyo hebu kufungua
tatu ugomvi hapa.
Na sasa, kama utaona, hii itabidi haraka kupata annoying -
[Meow]
DAVID Malan: - lakini pia ni aina ya cute.
[Meow]
DAVID Malan: Sawa, hivyo bora, na sisi tunaweza kutumia
sawa mpito ya chunking hii juu katika looping
muundo, lakini hebu kufanya hivyo kuvutia zaidi bado.
>> Hebu kwenda mbele na kufungua ugomvi wa nne hapa, ambapo mimi
kuchukua mambo hatua moja zaidi.
Hivyo kulingana na hii, silly ingawa hii ni mara ya kwanza
mtazamo, ni nini mpango huu kwenda kufanya?
Ni kwenda meow mara moja.
Kwa nini?
Naam, ni moja, mbali kama mimi najua, daima chini ya miwili.
Hakuna dhana ya randomness hapa.
Nina literally ngumu-coded moja na mbili, lakini hii ni
mfano sasa ya kweli kwa kutumia usemi Boolean.
Kiasi kama kama Yusufu alivyofanya katika pseudocode wake, indentation IF
kupata vinavyolingana soksi THEN kufanya yafuatayo, hapa tuna
kujieleza KAMA moja ni chini ya miwili BASI -
na kwa kweli sisi hata kidogo ya indentation,
ambapo zambarau ni kidogo indented kwa haki -
BASI utaenda kucheza meow sound.
Sasa, katika kesi hii, kuwa mtu ni daima chini ya miwili, hivyo hii
ni aina ya taka ya hali hiyo.
Lakini tutaweza kuwa na uwezo, kama tutaweza kuona, kuziba mambo mengine ndani ya
haya placeholders ambapo moja na mbili sasa ni.
Basi hebu sasa mapema ili mfano tano ya hizi kadhaa
hellos na kuangalia nini mpango huu kinaendelea kufanya.
>> Hivyo sasa, katika sentensi ya Kiingereza, jinsi gani hii
mpango kuishi?
Watazamaji: Meows nusu wakati.
DAVID Malan: nusu Meow ya muda, hivyo hii ni njia ya
kuwasilisha wazo rahisi sana.
Hata ingawa sisi kutokea kwa kutumia usawa baadhi hapa
katika idadi fulani, hii ni kweli tu programmatical
njia, njia sahihi, ya kusema kama sarafu anakuja juu ya vichwa, kwenda
mbele na meow.
Au kinyume chake, kama sarafu anakuja juu mikia, wala meow.
Na katika kesi hii, ni jinsi gani sisi kueleza kwamba?
Tutaweza kuchukua idadi random 1-10, na kama kwamba
idadi ni chini ya 6, kwenda mbele na meow.
Na jinsi gani hii kupata katika hapa?
Naam tena, taarifa tu dragging na kuacha na
mambo latches katika nafasi.
>> Hivyo sasa hebu angalia kama randomness hii kazi.
Hebu kwenda mbele na bonyeza bendera ya kijani.
[Meow]
DAVID Malan: Okay.
[Meow]
DAVID Malan: Okay.
Okay, nzuri, hivyo sisi got vichwa vichwa, mikia ufanisi.
Mikia.
[Meow]
DAVID Malan: Wakuu.
[Meow]
DAVID Malan: Mufti.
Ni daima Awkward wakati tu kitakwimu kupata mbaya
kukimbia, na ni wote vichwa, na mpango wa kweli haina
kazi kama wewe d matumaini.
Lakini wakati huu, ni kazi, na sisi wanaonekana kuwa, kama tulivyofanya
hii idadi ya usio wa nyakati, 50% ya tabia mbaya.
Sasa tena, si wote kwamba kuvutia, maamuzi tu paka
meow, hivyo hebu angalia kama hatuwezi kuendeleza hii kidogo zaidi
hapa katika toleo sita.
Hivyo sasa, tuna kweli annoying version -
[Meows SEKUNDE KILA FEW]
DAVID Malan: - na hii ni nini inayojulikana, kwa ujumla, kama
usio kitanzi.
>> Hivyo usio kitanzi katika kesi hii anahisi mbaya.
Ni dhahiri kwenda kuanza sounding mbaya, na bado usio
matanzi si daima mbaya.
Je, unaweza kufikiria mazingira katika mipango ya kompyuta ambapo d
kweli unataka kitanzi usio?
Yeah?
Watazamaji: Wakati unataka kuangalia hali.
DAVID Malan: Okay, wakati unataka kuendelea kuangalia hali zao?
Kama nini?
Watazamaji: [inaudible]
DAVID Malan: Okay, nzuri, hivyo kama wewe alikuwa na baadhi ya mpango, baadhi
aina ya kitu nyumbani automatisering, ambapo unataka daima
kufuatilia ni kesi kitu.
Ni taa ya juu?
Ni taa ya juu kwa sababu labda una timer, na
wewe unataka waende mbali, unaweza haja ya kufanya kitu
tena na tena.
Na kwa kweli, akizungumza ya timers, yoyote ya ninyi ambao
Clocks kwenye kompyuta yako au kuona digital, hiyo ni
usio kitanzi.
Ni inaendelea update mara kwa sababu ni daima
kuangalia na kuangalia na kuangalia ana muda iliyopita,
na kama ni hivyo, oh, mungu wangu.
saa s hatimaye iliyopita.
Inahitaji kuonyesha kwamba thamani na wewe.
Hivyo ambapo zaidi ya matanzi wakati usio ni kosa,
au angalau uamuzi maskini kubuni, wakati mwingine kufanya
kuwa na thamani yao.
>> Naam, hebu mapema zaidi hapa hello7.
Hivyo sasa mpango kupata kidogo zaidi maingiliano.
Hebu zoom katika hapa, na tena, hii ni nini ni nzuri
kuhusu Scratch.
Na tutaweza kuitumia kuwa wazi, Scratch, tu leo ​​na ndani ya
tatizo wiki ijayo kuweka.
Lakini siku ya Jumatatu, sisi kupiga mbizi katika C. Katika programu hii hapa, ni gani,
milele, yafuatayo.
IF kugusa mouse pointer - sasa, ambaye ni
muktadha hapa?
Naam, na taarifa kwamba nani kuchaguliwa chini hapa chini
kulia ni paka, Sprite moja, hivyo scripts haya, hii
mpango, inatumika kwake hasa.
Hivyo kama paka kwamba ni kugusa mouse pointer, kisha itakuja
kucheza hii chini na kusubiri sekunde mbili, na
kisha kurudia ad nauseum.
>> Basi hebu kwenda mbele na hit kucheza.
Hakuna kinachotokea, lakini kama nataka pet
paka sasa, naweza tu.
[Meow]
DAVID Malan: adorable.
[Meow]
DAVID Malan: Okay, chini ya annoying, lakini pia anapata mwanga mdogo,
hivyo hebu hoja juu na kuona kama hatuwezi kuingiza
zaidi kidogo mantiki.
Hiyo ilikuwa mfano saba.
>> Hapa katika mfano nane, tunakwenda
kuanzisha hali mwingine.
Sana kama uma halisi katika barabara, ambayo unaweza kwenda
kushoto au unaweza kwenda kulia, hali katika programu
Lugha kama Scratch, au kama tutaweza kuona C, anaweza kukuruhusu
kwenda katika mwelekeo mmoja au mwingine kupitia IF mwingine kujenga.
Hivyo halisi kabisa, KAMA kugusa mouse pointer, hii
kucheza baadhi ya sauti, mwingine ni kwenda kucheza hii nyingine
sauti, meow.
Sasa, kama unaweza infer kutoka jina wa sauti hizi, unaweza
pengine nadhani nini mpango huu s maana ya conjure up
wazo la.
Paka hii meowing happily.
[Meow]
DAVID Malan: Furaha, lakini haina
kabisa kama kuguswa.
[Mngurumo]
DAVID Malan: Basi sasa tuna paka ambao yell saa wewe.
>> Haki zote, vizuri, siku moja mfano na paka hapa, na
hebu wazi toleo tisa ya hii hapa.
Hivyo sasa, tuna ijayo annoying wengi sauti kwamba mimi naweza
kupata, hivyo tuna walrus au simba bahari hapa nani kwenda kwa
kufanya yafuatayo.
[SEAL gome]
DAVID Malan: Okay, hivyo hii yataendelea hadi wewe kufikiri jinsi
mpango huu unavyofanya kazi.
Hivyo wakati huu, mnyama huyu ana scripts mbili, na nini
kuvutia hapa ni kwamba hawa scripts ni kwenda kutekeleza
sambamba.
Basi, kwa sababu wao wote kuanza na bendera moja ya kijani clicked,
ni kama kwenda kama hii, na mipango yote ya kuanza mbio
mara moja hata kama uko looping milele.
Hivyo katika script ya juu, mimi na baadhi ya mantiki.
Nini makala gani kwamba kutoa huko juu?
[SEAL gome]
Watazamaji: [inaudible]
DAVID Malan: Kama ni nini?
[SEAL gome]
Watazamaji: Kama umebakia kimya na sifuri, ni kwenda kuendelea kucheza
mgambo. [SEAL gome]
DAVID Malan: Okay, nzuri.
Hivyo KAMA kimya, chochote hii ni, jambo hili chungwa ni sifuri,
BASI kucheza simba bahari ya sauti na kufikiri "Oh,
hi, "kwa ajili ya mbili sekunde.
Sasa, sijui nini ni umebakia kimya, lakini sifuri conjures up
wazo la uongo au mbali.
Hivyo kama ni uongo kimya, hivyo kama si kimya,
kuendelea kucheza sound.
Haki zote, vizuri, jinsi gani sisi Disable jambo hili?
>> Naam, hebu tuangalie script pili chini huko.
script pili anasema kuweka umebakia kimya kwa sifuri.
Angalia pia ni machungwa, ili kile Scratch haina ni rangi
vitalu katika kivuli huo ikiwa ni aina
ya kimantiki kuhusiana.
Hivyo tu kama umebakia kimya juu juu mara ya machungwa, hivyo ni umebakia kimya chini hapa
zilizotajwa katika block machungwa.
Lakini hii ni kazi variable, hivyo kama ilivyo katika
algebra, una x na y na z, katika programu una
vigezo, lakini wao ni ujumla -
pause wacha kwa muda na takwimu jinsi
kuacha hii barking.
Je, mimi kufanya hili?
[SEAL gome]
DAVID Malan: Okay.
Ni kusimamishwa. Sawa.
>> Hivyo tu kama katika algebra una vigezo x, y, na z, lakini katika
programu, baada ya vigezo kama x, y, na z ujumla ni
kipaji juu kwa sababu wao siyo wakati wote expressive.
Hawana maana semantic wowote, hivyo katika zaidi
programu lugha, unaweza kuwa na vigezo kamili
fledged majina au maneno au misemo, kama kimya, kusema
wayatendayo.
Hivyo hii script pili pia alikuwa akisikiliza milele, na alisema
ikiwa muhimu, muhimu keyboard Space, ni
taabu, swali alama.
Hivyo kuna hali na kujieleza Boolean kwamba
kwenda kujibu swali ama ukweli au uongo,
basi nina ndani yake IF ufunguo nafasi ni taabu na
IF umebakia kimya ni sifuri, kuweka umebakia kimya kwa moja, mwingine kuweka umebakia kimya kwa sifuri.
Hivyo hii uma nyingine katika barabara, na taarifa jinsi nimekuwa
Furushi mbili KAMA hali, ni njia ya kuangalia ni
Nafasi Bar taabu kwa sababu kama ni hivyo, mimi ama unataka kwenda huu
njia au namna hiyo.
Na jinsi gani mimi Geuza thamani ya kimya?
Mimi na kuangalia ni sifuri?
Kama ni hivyo, kufanya hivyo ni moja, mwingine kufanya ni sifuri kwa hiyo kugeuza
wake na mataifa mawili.
>> Haki wote, hivyo basi tuna baadhi ya hizi muhimu
constructs.
Tuna maneno Boolean, na kutambua, pia, hizi ni
si yote unfamiliar.
Kwa kweli, hapa screenshot ya haraka ya Harvard kozi ya CS50
ununuzi chombo, na tovuti yoyote huko nje kwamba ina checkboxes
na kushuka Downs kuwa kweli, muda wote huu, wamekuwa wakitumia
Boolean misemo.
Katika kesi hii hapa, kama bonyeza checkbox ijayo
Bila shaka zaidi au sawa na 4.5, au ujao sawa kwa
Kitivo, wewe ni inayobainisha kujieleza Boolean.
Nionyesheni kozi ambayo kujieleza kwamba ni kweli.
Au kwa haki, hana mgogoro na kozi mimi nina
kuchukua, kama kwamba ni checked, basi ndiyo, unataka kuangalia
hali ya kuwa, mwingine unataka kupuuza.
Hivyo Boolean misemo ni aina ya pande zote, lakini wakati
sisi kuziweka katika hali, iwe KAMA hali, KAMA
Elses, au tunaweza hata simulate undani
ngazi, KAMA mwingine KAMA mwingine -
hivyo kwamba ni aina ya hali ternary.
Unaweza kwenda kwa njia hii au kwa njia hii au kwa njia hii.
Tunaweza kuweka mambo nesting kwenda katika mwelekeo tofauti.
>> Hivyo Scratch ina loops haya, kama Forever.
Ina makala haya kama Rudia 10, baadhi ya
finite idadi ya nyakati.
Tuna uwezo sasa kuweka vigezo, hivyo katika kesi hii
Nimekuwa alitangaza, kwa mfano, variable soksi inayoitwa.
Nimekuwa initialized 0, na kwamba bado mwingine mwelekeo
tunaweza wamechukua hapa pamoja na Yusufu, ambapo labda mimi
tu kuweka wimbo wa jinsi wengi soksi nina juu na kuondoa
mpango wakati thamani kwamba variable ni 2.
Hiyo itakuwa ni njia nyingine ya aina ya generalizing kwamba
tatizo na kufanya kitu tena na tena.
Naam, hebu kwenda mbele na sasa kuanzisha wanandoa mambo mapya.
Hivyo wale wa wewe kwa uzoefu kabla Programing mapenzi
kujua kwamba mengi ya lugha na arrays, vectors au au
orodha, na kwa kweli, Scratch ana kitu kama hii, pia.
Basi hebu angalia kama sisi hatuwezi kuchukua mambo ya ngazi ya pili hapa.
Kama mimi na uwezo, sasa, pamoja na vipande haya puzzle
kuongeza kitu, kama neno au idadi, kwa variable, siwezi
kuanza kukusanya vitu.
Na hii ni kweli pretty apropos kwa mambo kama michezo,
jukumu-kucheza michezo ambapo wewe ni aina ya kutembea karibu
baadhi dunia fantasy kukusanya vitu, kuokota mambo up,
kupata pointi, au kama.
Unaweza kutaka kuweka wimbo wa aina fulani ya hesabu, na
kweli, kwamba ni nini mmoja wa wanafunzi wetu wa zamani hapa alivyofanya kwa
kitu kinachoitwa Fruitcraft RPG.
>> Hivyo basi mimi kwenda mbele na kufungua hii kitu hapa, na katika
Fruitcraft, tuna dunia hii juu kwa juu.
Hivyo basi mimi kwenda mbele na bonyeza bendera ya kijani.
Ilani ya juu kushoto ni baadhi ya aina ya hesabu.
Hiyo kutekelezwa katika Scratch kama kile Tutamwita safu au
orodha, na sasa tuna hii uhuishaji kidogo.
Hivyo tu kama sisi kuanza mapema na hadithi hii upendo cookie,
na kisha sisi imepanda kwa paka na simba bahari, sasa tunaweza kuwa na
mambo ambayo ni zaidi hata ya maingiliano.
Na hii kidogo guy bluu, siwezi kuanza kuzunguka yake
kidogo nyumbani hapa.
Hivyo inaonekana kama yeye got exit chini hapa, hivyo mimi nina kutumia
funguo mishale, juu, chini, kushoto kulia.
Na sasa mimi nina nje, hivyo basi ni nini mimi nimepata hapa.
Inaonekana kama machungwa, na kwa kweli, kwa haraka kama mimi kugusa
machungwa, anapata plopped katika hesabu yangu.
Kama mimi kwenda juu hapa cherries, sasa nina kitu
mwingine katika hesabu yangu.
Na hii yote ni nzuri na cute, lakini fikiria kuhusu jinsi gani, sasa, hii
ni kutekelezwa.
Naam, tuna wazo hili la orodha, na kwamba inaonekana
puzzle kipande kwamba wewe tu kusema nini unataka kuongeza kwa hiyo, kuongeza
machungwa, kuongeza cherries.
Sasa, ni nini hiki kidogo guy bluu kufanya?
Naam, yeye ni sprite.
Na pengine, machungwa na cherries -
wao wenyewe walikuwa tofauti sprites.
Na kutumia hali katika misemo Boolean,
mwanafunzi alikuwa pengine na uwezo wa kueleza KAMA bluu guy ni
kugusa cherries THEN kuongeza cherries neno lake
hesabu, na kisha pia kujificha sprite cherry.
Hivyo chini ya Hood, kuna pengine bado ni cherry
sprite huko.
Tumekuwa tu aliiambia ni kuwa ufanisi asiyeonekana.
>> Sasa, kama mimi kuendelea kutembea zaidi ya hapa, tunaweza pia kufanya hivyo
kupakana kitu, ambapo naweza kwenda na kusoma ishara.
Hivyo kama guy bluu kugusa ishara, tunaweza kuwa na hii block Sema
tu kama paka akisema nasi katika maneno, hello, awali, "Got
baadhi ya matunda?
Kuleta kwa mahali matunda ". Sawa, hivyo sasa, inaonekana,
Nina maelekezo yangu.
Siwezi kwenda juu hapa mahali matunda, line up mwenyewe
na mlango.
Sasa, mimi nina katika hapa.
Naweza kwenda hadi mtu counter.
Yeye hutambua kwamba mimi nina karibu naye, hivyo hana kuwa
kabisa identically kugusa, na mimi kuwa alishinda mchezo.
Hivyo kuna tuna Fruitcraft RPG.
>> Hivyo tunaweza kufanya mambo hata zaidi ya juu kuliko huu.
Tunaweza kuongeza sauti.
Tunaweza kuongeza randomness Pseudo.
Tunaweza kuongeza utata.
Hebu kwenda mbele hapa, na badala ya kufanya hivyo mwenyewe,
napenda kuonyesha moja ya maoni ya kisasa zaidi
tulipata mwaka jana kutoka kwa mtu mmoja aitwaye Blake.
Je, tunaweza kuwa na moja ya kujitolea ambao ni starehe ya kuonekana kwenye
kamera na ni kwa ajili ya kucheza mchezo?
Vipi kuhusu haki pale?
Kuja juu juu.
Haki ya wote, hivyo mchezo kwamba una tu kutojua
walijitolea kucheza -
[Applause]
DAVID Malan: - ni kitu kutoka yesteryear kuitwa
"Frogger." Jina lako ni gani?
Renda: Renda.
DAVID Malan: Redna?
Renda: Ni kama Brenda na b.
DAVID Malan: Okay, Renda.
Daudi.
Nice kukutana na wewe.
>> Hivyo hapa katika "Frogger," na kama tunaweza kuongeza kiasi tu
kidogo kidogo, wewe ni hii kidogo
kijani chura juu ya chini.
Unaweza kutumia wa kushoto, kulia, juu na chini, na lengo ni
kuvuka barabara, kuvuka mto, na kugusa pedi lily
saa ya juu.
Aw.
Moja zaidi t -
Redo, wote haki?
Hebu hit stop.
Hakuna mtu alipoona kuwa.
[Applause]
DAVID Malan: Yeah.
Vizuri sana kufanyika.
Bora, asante.
>> Hivyo kwamba kulikuwa Frogger. Sasa kwa kuwa unajua nini wameweza
wamezipata wenyewe ndani, kujitolea moja zaidi kwa tofauti
mchezo in na mwanafunzi mwingine.
Wewe unataka kuja juu juu?
Nini jina lako?
RICHARD: Richard.
DAVID Malan: Richard.
Haki zote, Richard, kuja juu juu.
[Applause]
DAVID Malan: Una kitu ambacho itabidi sauti
familiar hivi karibuni, hivyo hapa ni maelekezo yako.
Hivyo katika dakika moja, vipande puzzle baadhi ni kwenda kitabu juu
kutoka screen kwamba kuangalia aidha kushoto
au haki juu au chini.
Wewe utaenda kuwa na hit funguo arrow kwa namna
kwamba sambamba na vipande wale wanaojitokeza na puzzle
placeholders kwa juu.
Hivyo wakati wewe kuona mshale wa kushoto, na mistari yake juu na kushoto
mshale, hit arrow kushoto.
Unaweza kuanza.
[MUSIC - "IMARA" KAYNE WEST]
DAVID Malan: zote haki, big pande zote ya applause kwa Richard.
[Applause]
DAVID Malan: Very well done.
Asante.
[Applause]
>> DAVID Malan: Basi na furaha na, inaonekana, ni aina ya
vitisho kama inaweza kuwa kutekeleza kitu kama
inaonekana kisasa kama hii, kutambua kwamba mwanafunzi
hawakuwa yaliyowekwa na kuandika tu hii yote kwa mara moja.
Badala yake, unaweza kuvunja tatizo kama inaonekana tata
kama hii katika vipande ndogo sana, na hii, pia, ni
kwenda kuwa mandhari.
Kitu mbaya unaweza kufanya katika kuandika mpango katika yoyote zaidi
Lugha ni kukaa chini, kupata kweli msisimko, kuandika
zima kitu damn, na kisha tu matumaini kwamba kazi kwa
wakati wewe ni kumaliza kuandika.
Badala yake, mchakato wa programu lazima ujumla
sana makusudi, sana iterative, ambapo wewe tu
kuweka hatua ndogo sana kwa ajili yenu wenyewe, vipande bite-kawaida
unataka bite mbali, na hivyo kuwa una hizi sanity
hundi, kidogo milstenarna unaweza kukutana.
Na kisha kujenga juu ya wale kujenga zaidi
kisasa mambo bado.
>> Hivyo kwa mfano, ni jinsi gani sisi kwenda kuhusu
kutekeleza mchezo kama hii?
Naam, kusema ukweli, mimi bila ya shaka tu kuanza kwa
vumilianeni muhimu kwa wakati.
Hebu tu kutekeleza msaada kwa ajili ya mshale wa kushoto.
Hivyo mwanafunzi alikuwa na namna fulani kujenga katika Photoshop, au katika
Scratch yenyewe kutumia kidogo graphical mhariri,
arrow muhimu kwamba inaonekana kama moja ya juu kushoto hapo, tu
placeholder kijivu.
Kisha mwanafunzi alikuwa na kufikiri nini x, y kwa kuratibu
kuweka hayo, ambapo ili kuweka katika dirisha.
0, 0 ni hapa juu, hivyo kuwa na takwimu nje ya idadi ya
Ukubwa, au dots, ili kukabiliana na kwamba mshale kutoka
juu ya screen.
Na kisha mara moja kwamba katika mahali, mpango yako haina kweli
kufanya chochote bado, hivyo basi haja sprite pili, kwa
mfano arrow kijani hiyo pia akizungumzia kushoto, na wewe
basi haja ya kuanza kuandika scripts baadhi kwa ajili yake.
>> Na utaona, pengine, kwamba mambo haya alianza kuja saa
mbalimbali kasi, na rangi walikuwa katika tofauti
maeneo, na kwamba kwa sababu mwanafunzi kutumika kidogo ya
Pseudo randomness.
Na kwa randomness Pseudo, mimi tu maana pick idadi
kati ya kitu na kitu kwa sababu unaweza
kuanza mambo ramani, kama kama namba ni kati ya mmoja na
tano, vizuri, wacha kufanya kitu kijani.
Kama ni kati ya 6 na 10, wacha kufanya kipande puzzle
nyekundu badala yake.
Hiyo kwa muda mrefu kama una njia ya kuzalisha aina fulani ya
randomness, unaweza kisha kufanya maamuzi kwa kuzingatia kwamba
randomness.
Na mimi kushika Pseudo akisema random kwa sababu kuna
kidogo chafu siri.
Kompyuta hawezi kuja na idadi random.
Wanaweza tu kufanya nini re aliiambia kwa sababu
wao uko na mwanadamu vifaa.
Hawawezi tu nadhani idadi kama binadamu sisi
kujisikia kama tunaweza.
kompyuta ina kufanya kitu hisabati kwa conjure up
udanganyifu wa idadi ya hisabati, wakati mwingine kwa kutumia
sasa siku ya wakati kama pembejeo kwa kuhesabia nje nini
idadi ya kurudi, lakini zaidi juu ya kwamba wakati mwingine.
Kwa sasa, tu kujua kwamba tunaweza kuzalisha randomness Pseudo.
>> Hivyo mara tu nina uwezo kwa mshale wa kushoto ili kuanza
kuonekana kwa nyakati tofauti na kwa kasi tofauti, basi
Siwezi kwenda nyuma na kuongeza baadhi ya hizi KAMA masharti.
IF sprite hii ni kugusa moja nyingine, na kushoto arrow
ufunguo imekuwa taabu -
hivyo tatu hali katika kesi hiyo.
Naweza kutumia NA kuzuia pengine, katika kesi hiyo -
BASI nataka kwenda mbele na increment score.
Na saa ya juu, tuna score, tuna ajabu,
Cool, mwema, na Boo.
Hivyo kuna inaonekana tano vigezo kuwa mwanafunzi huyu
kutumika kwa kuweka wimbo wa metrics hizi mbalimbali.
Hivyo katika muda mfupi, matokeo ya mwisho ni ya kushangaza.
Ni furaha, ni furaha kwa kucheza, ni kujishughulisha, lakini hii si
ambapo mwanafunzi alianza.
Yeye au yeye kuanza saa seti ndogo sana ya hatua.
>> Kwa hiyo kile ni baadhi nyingine matofali ya ujenzi kwamba tunaweza
weave katika programu hizi?
Naam, kuna dhana hii katika lugha nyingine nyingi,
Scratch kati yao, unaojulikana kama threads.
Hivyo kompyuta inaweza kweli si kweli kufanya mambo mengi kwa
wakati, angalau si kawaida.
Badala yake, kompyuta ujumla ina moja tu CPU, na hata
ingawa kompyuta ni super haraka na unaweza, kwa hiyo,
kujenga udanganyifu wa kufanya mambo nyingi kwa mara moja -
kuangalia pepe yako, kupata papo
ujumbe, uchapishaji hati -
kweli, kompyuta tu kuruka kutoka uchapishaji kwa IMing
kwa emailing, nyuma na nyuma na nyuma na nje kwa kasi kwamba sisi
polepole binadamu witted tu wala kutambua kwamba ni kweli
mbio hizo mipango kidogo kwa wakati.
Sasa, hii kidogo ya nyeupe uongo siku hizi kwa sababu, siku hizi,
wengi kompyuta yetu ni kile kinachojulikana mbalimbali ya msingi, hivyo
kuwa moja CPU lakini cores nyingi, ambayo ni aina ya kama
kuwa CPUs nyingi.
>> Na hivyo wakati mwingine, kompyuta inaweza kweli kufanya mambo mbalimbali
wakati huo, lakini kwa ujumla ndani ya mpango, mipango
kutegemea juu ya mambo haya kuitwa threads.
Hivyo thread ni aina ya kama mpango miniatyr kwamba unaweza
zipo sambamba mpango mwingine miniatyr na wanaweza kukimbia
sambamba, au angalau wanaweza kukimbia chini ya udanganyifu kwamba
wanakimbia wakati huo huo.
Hivyo Scratch inasaidia mambo haya kuitwa threads.
Unaweza kuwa na scripts nyingi utekelezaji mara moja, tu kama sisi
alivyofanya kwa simba bahari, na hii inaruhusu sisi kweli
kisha kuwa mwingiliano kati ya sprites haya.
Hebu kwenda mbele hapa na kuvuta juu, hebu sema, nyuzi, na
kucheza hii kama ifuatavyo.
Tuna sprites wawili, kila mmoja ambaye tutaweza kuona
ina moja tu script.
Na utaona kuna inaonekana kuwa baadhi ya akili katika
paka katika hii moja kwa sababu yeye ni kupata karibu -
[Mngurumo]
DAVID Malan: - na karibu na ndege mdogo.
>> Hivyo jinsi ni uendeshaji ndege?
Naam, hebu kuchukua kuangalia ndege wa kwanza.
script ndege alisema wakati bendera ya kijani ni clicked, kwenda x
sawa na hasi 115 na 150 y sawa.
Hivyo mimi tu figured nje mahali ambapo random nilitaka
ndege kuanza, na mimi tu plopped naye huko na default.
Kisha Forever KAMA si kugusa paka, hivyo hii ni tofauti
aina ya kujenga looping, lakini wazo moja, kufanya hivyo tena na
tena na tena.
Hiyo kwa muda mrefu kama wewe si kugusa paka, hoja hatua tatu, na
kama wewe ni juu bounce makali, ambapo ni aina ya
reflection katika maana ya billiard.
Basi hiyo ni jinsi ndege ni kuhamia karibu aina ya
inaonekana nasibu, lakini ni kwa sababu tu ni bouncing off
kuta katika kesi hii.
>> Sasa paka, wakati huo huo, ni aina ya cheating.
paka, wakati bendera ya kijani ni clicked, ndiyo, inaanzia
baadhi ya mahali, mahali random -
angalau katika sehemu kama kwa pick
random kijani block pale -
na kisha Forever KAMA kugusa ndege, kucheza sauti simba,
na kisha kuacha script.
Hivyo wakati mimi alisema kuondoa, au exit kabla, kuna puzzle
kipande katika Scratch kwamba kuua tu mpango saa kwamba
uhakika kwa sababu ni aina ya mantiki kufanyika.
Lakini vinginevyo, hapa, taarifa ya nini kinaendelea kutokea.
Uhakika kuelekea ndege na hoja hatua moja.
Hivyo hatua hii kuelekea ndege ni aina ya paka faida
ana katika kwamba ni juu ya ndege katika homing kusonga, na tunaweza
sasa kufanya mpango huu wote zaidi ya kuvutia.
Badala ya kusonga hatua moja kwa wakati kwa mzunguko CPU, kwa
mgomo toll ya kengele, ili kuzungumza, na napenda kwenda mbele
hoja, hebu sema, hatua tano kwa wakati kama paka.
Bonyeza kukimbia, na sasa yeye kweli alimkuta huyo haraka.
Kama sisi mara mbili zaidi jambo hili kwa hatua 10, ni aina ya inakwenda
haki kwa ajili yake.
Sasa, tunaweza kutoa ndege,
labda, kidogo ya faida.
Hebu kwenda ndege na kusema badala ya kusonga hatua tatu,
hebu hoja yake hatua 30.
Lakini bado got hawakupata katika mwisho.
>> Hivyo hapa, tuna threads mbili.
Ni wakishikiliwa katika Scratch na scripts mbili na mbili
sprites, lakini wazo katika lugha nyingine ni kwamba unaweza
kuandika, kimsingi, programu nyingi sana kama hii na kuwa na
yao kukimbia kweli, au imaginarily, sambamba.
>> Sasa, kuna pia dhana hii katika programu inayojulikana kama
matukio, na hii ni kitu hatutaweza kuona katika C,
Lugha inayojulikana kama C. Sisi kuona kuelekea mwisho wa muhula
katika programu ya mtandao, wakati sisi kuanzisha JavaScript na
dhana ya kurasa za mtandao jengo ni nguvu na kuingiliana
na watumiaji.
Hivyo katika kesi hii, tuna mfano rahisi sana wa wawili
sprites, mvulana na msichana, kila mmoja ambaye una husika yao
nyuzi, lakini kwa namna fulani hizi mbili ni inter-wa mawasiliano kwa njia ya
ya kitu kinachoitwa matukio.
Hivyo basi mimi kwenda mbele hapa na kuvuta script kijana,
ambayo inaonekana kama hii.
Wakati bendera ya kijani clicked, milele kufanya yafuatayo.
Kama Space muhimu, au Bar Space, ni taabu, wanasema
Marco kwa sekunde mbili, kwamba ni rena estetiska juu ya
screen, kidogo Bubble hotuba, lakini kisha matangazo.
>> Hivyo matangazo ni mwingine kipande Scratch kwamba
mwakilishi wa darasa ya utendaji katika programu
ambayo inaruhusu programu mbalimbali, tofauti nyuzi,
kwa inter-kuwasiliana, kwa namna fulani kutuma
ujumbe, mmoja hadi mwingine.
Kupita kipande cha karatasi katika darasa ni aina ya tech chini
sawa.
Hivyo matangazo ya tukio hilo.
Siwezi kutuma ujumbe huu, na tukio neno
ni kabisa holela.
Scratch wakati mwingine ina heka hizi kushuka, hivyo mimi tu alikuja
na neno random kama tukio kwa sababu sasa, nini kijana anafanya
wakati mimi vyombo vya habari muhimu ni yeye matangazo ya tukio hili.
Na kama mimi kuangalia sasa katika script msichana, script yake ni
super rahisi kwa sababu wote anahitaji kufanya si kitendo wakati
bendera ya kijani ni clicked.
Yeye ni iliyoundwa na hatua wakati anapata quote, unquote,
"Tukio", na katika hatua hiyo, yeye anasikiliza hiyo kwa
tukio kinachojulikana tena na tena.
Haraka kama yeye inapata kuwa tukio, yeye atakuja kelele
Polo kwa sekunde mbili.
>> Na hivyo unaweza labda infer kutoka hii hasa ni nini
matokeo ya pili ni kwenda kuwa.
Hebu bonyeza bendera ya kijani.
Hakuna kinachotokea kwa sababu mimi haja ya kufanya nini?
Watazamaji: Nafasi Bar.
DAVID Malan: Nafasi Bar.
Kijana anasema Marco, msichana anasema Polo.
Lakini si kwamba vigumu coded per se.
Hiyo ni inter-mawasiliano kati ya scripts, hivyo sasa sisi
wana uwezo wa kufanya mipango magumu hata zaidi ambapo
hizi mbili ni namna fulani baina ya kuwasiliana.
>> Hivyo katika kile maelekezo tunaweza kuchukua hii?
Naam, katika kuweka tatizo 0, kwa kweli, lengo ni
kuwa na furaha na Scratch.
Kwa toleo hacker, itabidi badala yake kuwa na furaha na zaidi
kisasa toleo la Scratch kuitwa BYOB, Kujenga
Blocks Your Own, lakini wazo ni sawa.
Wewe utakuwa na uwezo -
Ndiyo, hiyo ilikuwa makusudi.
Ni alifika kutoka Berkeley.
BYOB ni toleo hacker toleo hili, lakini wote wawili
idadi ya watu, kiwango toleo na toleo hacker sawa,
Lengo katika mkono kwa wiki ijayo ni kweli tu kwa kupiga mbizi katika
kina, kupata mikono yako chafu na programu, na kufanya
kitu kuvutia, kufanya kitu maingiliano, kufanya
kitu kisanii, kufanya kitu fun kwa kweli
kuonyesha, hivyo kuwa na mwisho wa wiki, itabidi mradi,
si tu kwa pset yako ya kwanza CS50, lakini itabidi
kidogo kitu ambacho unaweza kuonyesha mbali katika Annenberg kwa
marafiki au hata familia yake na kuweka kwa tovuti MIT.
Na hivyo kama mimi alisema Jumatano, tunatarajia 90% ya darasa,
ujumla, kufanya matoleo ya kiwango.
Kutambua kwamba pia kuna hii plagi kwa wale ambao
ili vinginevyo kupata mwenyewe kidogo kuchoka na misingi
na kweli wanataka kupiga mbizi katika hila na maono tayari
kuwa na background kabla katika hii zaidi ya kirafiki
mazingira.
>> Hivyo basi mimi kuvuta up moja nyingine mfano kwamba mmoja wa zamani zetu
wanafunzi hapa alifanya na kuwaambia kitu kidogo kupitia wimbo.
Hiyo vile vile, kama ina hili, kufikiri kuhusu jinsi ya kwenda juu
kutekeleza mpango huu kwa kutumia just hizi
jengo vitalu, kidogo kidogo ya randomness Pseudo, na
kidogo ya nyimbo zilizozoeleka.
Kama tunaweza kuongeza kiasi kidogo tu?
[MUSIC - "Ni mvua WATU" WASICHANA Hali ya hewa]
>> DAVID Malan: Hiyo ni kwa CS50.
Sisi kuona juu ya Jumatatu.
[Applause]