[Powered by Google Translate] [ROCK MUSIC] [MUSIC - "Happy Together" TURTLES] DAVID MALAN: Tänään aloitamme tutkia perusteet tietojenkäsittelytieteen ja esittelyyn, nyt, että taiteen ohjelmoinnin, joista se on vain yksi esimerkki. Mutta samalla linjalla ongelmanratkaisuun, tietää, että CS50 perinteinen Puzzle Day on huomenna. Jos et ole vielä vastannut tähän tapahtumaan, voit mennä cs50.net/rsvp. Voit tuoda joukkuetta kaksi tai kolme tai neljä. Sinut haastetaan ongelmia, kuten yhden näit siellä alussa. Kaikki uudet ongelmat tänä vuonna, jos söi viime vuonna, ja sinä on mahdollisuus sitten voittaa upeita palkintoja. Niistä, Wii ja jotkut lahjakortteja ja vastaavat, kaikki samalla hengailua CS50 opiskelijoiden ja luokkatoverit ja pizzaa ja Facebook. Joten lisää, että huomenna jos haluat. Tämä on siis CS50, niille teistä liityit ensimmäisen kerran. Ja tiedän, että tämä kurssi on erityisen päättäneet saada läpi tämän kurssin lopullisia, jolloin sinun on paitsi käsitys näistä perusteet tietojenkäsittelytiede, mutta sinun on Tämä erittäin käytännöllinen taito asettaa, että voit viedä takaisin oma osasto, onko se insinööritieteiden sovelletun matematiikan, fysikaalisten tieteiden, luonnon tieteen, tai vastaavaa. Todellakin, mikä on niin jännittävää tietojenkäsittelytiede näistä päivinä on, että se on vain niin sovelletaan kaikenlaisia ​​aloilla. Ja vaikka tänään, me vain naarmuttaa pintaa hyvin perinteinen ohjelmointikieli tunnetaan C, hyvitämme vaan katsoa jotain kutsutaan Scratch, jotain jossa kyseinen eväste rakkaustarina pantiin täytäntöön joku edeltäjien takavuosina, kertoa tarinoita, luoda pelejä, luoda vuorovaikutteisia taidetta, ja todella alkaa kääriä meidän mielissä noin joitakin perustavanlaatuisia rakenteita, jotka taustalla ohjelmointi mutta tilanteessa, kuten näet, se on paljon vähemmän pelottava, että on paljon vähemmän mystistä, kuin näet ennen pitkää. Ja ymmärtää myös niille juuri liityit tähän lukukauden, lauseita johon päädyimme keskiviikon luento, se ei ole niin tärkeää, jos voit päätyä suhteessa omaan luokkatoverit tässä luokassa, mutta missä viimeistään lukukauden loppuun viikolla 11 päätyä suhteessa itsesi oikealle tänäkin päivänä. Joten pitemmittä puheitta, tämä on myös hyvä huomata, että Niille vähemmän mukava, ne jossain välissä, ovat myös, jonka suunnittelussa tämä tietenkään ole mitään haittaa ennakoitu suhteessa näiden mukavampaa tulossa tähän luokkaan. Kuten näet yli tulevina viikkoina, olemme erilaisia raidat erilaisia ​​back tausta, kohdat niille vähemmän mukava, mukava, ne jonnekin välillä. Kuten näet tänä viikonloppuna ja ensi viikolla, kaksi versiota suurin ongelma settiä sekä vakio hakkeri painos niin että te kaikki voi itsensä valita alas polkua, jonka kanssa ovat mukavin. Joten tänään me sukeltaa tähän ohjelmointi kieltä kutsutaan Scratch. Se on graafinen ohjelmointikieli, ja silti se on samat ominaisuudet joitakin korkeamman tason kielellä hyvitämme tutkia myöhemmin lukukauden, joukossa C ja JavaScript ja PHP. Mutta se tulee jotta voimme välttää joitakin häiriötekijöitä varhain syntaksin, asioita, kuten puolipiste, sulkeita ja muita vaikeaselkoisia yksityiskohtia, että ensi silmäyksellä, eivät vain ole lainkaan älyllisesti kiinnostava ja taipumus saada tavalla joitakin perustavanlaatuisia ymmärrystä. Mitä nyt tukirakenteen eteenpäin, tajusi tämä työkalu, CS50 Keskustele, joka liitetään päällä kurssin sivuilla myöhemmin tänään, on online-keskustelupalsta jotka voit esittää kysymyksiä toisistaan ​​ja henkilökunta, ja se on myös väline, kuten näemme ensi viikolla, että käytämme varsin integratedly vuonna virka samoin. Itse asiassa virka alkaa maanantaina, ja suoraan sanottuna, ensimmäinen viikolla virka on melko pieni avain. En usko huomaat Scratch kaikki saavuttamattomissa. Se on melko itsestäänselvyyksiä, kuten tulemme näkemään, ja niin mitä käytämme sitä tänään on poimia joitakin perusajatukset, jotka sitten edelleen kaikkialla loput lukukauden. Mutta alkaa maanantaina kello 20:00 kautta 23:00 tulee virka-ajan Annenberg yli aivojen tauko. Leikkaus kaksi tulevat alkaa tänä iltana, joten joskus tämä viikonloppu, mene cs50.net/section, ja sinun pyydetään useita kysymyksiä. Niistä miten kuvailisit mukavuuden taso kuin tänään? Ei ole vaikea, nopea sääntö siitä kuka joissa ämpäri. Se on juuri sellainen asia, että luultavasti tiedätte, jos ovat ne vähemmän mukavat tai muuten. Ja nyt, walkthroughs. Harjoitus eritelmä tällä viikolla, niin vakio ja hakkeri painos yhtälailla on verkossa osoitteessa cs50.net jo nyt. Ja huomaat, että ensimmäinen näistä painoksia, Standard Edition viikossa, on mukana meidän soittaa koodin esitystä, istunto johti yhden Kurssin opetus kaverit opastaa, antaa vinkkejä, ja sinut alas erityisesti polku, kun se tulee aloittamista näitä ongelmia sarjaa. Joten jokainen ongelma asetetaan, jos olet koskaan halunnut itse Mistä aloitan, aloitat nämä walkthroughs. Ja itse asiassa, sallikaa minun esitellä Zamyla Chan, tämä vuoden opetus sälli on johtava jokaista yksi näistä walkthroughs. Zamyla? [Taputuksia] ZAMYLA CHAN: Ai, hei, kaikki. Nimeni on Zamyla. Olen nuorempi opiskelee insinööriksi Winthrop House. Mutta yritän ja sopivat niin monta tietojenkäsittelytieteen kursseja kuin minä voi, minkä vuoksi olen todella innoissani johtaa tätä vuoden walkthroughs. Walkthroughs, minulle, olivat olennainen osa minun CS50 kokemus. Vuoden walkthrough, jokaisen p-sarja, menemme läpi ongelma asettaa yhdessä, katso yli ongelmiin, millaisia jakaa ne hallittaviin puree. Annan sinulle vinkkejä, tekniikoita, saada kautta ja aloittaminen. Toivottavasti näemme teidät kaikki walkthroughs. Jos et voi tehdä sitä henkilökohtaisesti, niin tee virittää verkossa. DAVID MALAN: Erinomainen. Kiitos, Zamyla. Niin ymmärtää, että walkthroughs ovat todellakin perjantaina iltapäivällä, mutta tämä on tahallaan suunnittelu siten, että vaikka et halua osallistua luokan perjantaina iltapäivällä, videot on kaiken nopeammin yli viikonloppu. Niin ymmärrettävä, että cs50.net tulee kaikki Zamyla n walkthroughs. Ja että nykypäivän päivämäärä ja aika, 15:00, Harberd Hall, 104. Ja jotkut opetuksen asiantuntijat ovat myös valmiita muutamia huomautuksia voit poissaolevana antaa sinulle hieman näkökulmasta, mitä heidän kokemuksensa tulossa ja menossa ulos CS50 oli. Joten jos voisimme himmentää valoja hetkeksi, annan teille jotkut CS50 henkilöstön. JACKSON Steinkamp: Otin CS50 viime vuoden fuksi pudota, ja se ehdottomasti räjäytti tajuntani. En ollut koskaan ottanut mitään ohjelmointia luokille, eikä koskaan tuli mitään tietojenkäsittelytiede kokemusta lainkaan. Ja juuri, kuulin sirinä noin luokkaa ja päätti ottaa sen. JULIA MITELMAN: Se oli todella hauskaa, todella harjoittaa. Olen edelleen tähän päivään - Olen juuri nähnyt minulla levykettä, David antoi meille meidän ensimmäinen päivä luento. Olin roikkunut se minun seinään. Tämä on luultavasti hieman nörtti, mutta olen ripustettu minun seinä aikana luokka muistutus siitä, miten siistiä se oli. TRAVIS Downs: Se on niin noloa. JACKSON Steinkamp: Tietojenkäsittelytiede on jotain kannattaa kokeilla vaikka et ole yksi perinteiset tieteet. Se on omien kokemustensa ja CS50 varmistaa olet tuetaan hyvin läpi sen todellisia armeijan TF. ALI Nahm: Otin sen fuksi, joten tein paljon uusia ystäviä. Sain myös käyttöön tämän koko keskittyminen ja koko koulun suunnittelu, ja niin olen erittäin suosittelen sitä ja tervetuloa meidän CS50 perheen. Yaniv YACOBY: CS50 juuri opit käyttämään työkaluja jotka ovat laajasti saatavilla. Tarvitset vain kannettavan tietokoneen, tarvitset selaimen, ja voit opittava kirjoittamaan koodia, ja voit todella rakentaa siisti asioita. KAREN XIAO: On vain niin siistiä pystyä tekemään jotain ja ovat ihmiset käyttävät sitä ja ihmiset näkevät sen, ja se on Mitä minä todella rakastan sitä. TIM McLaughlin: - yhteisöllisyys, mielestäni tässä Tietenkin enemmän kuin mikään muu Tottakai olen ottanut tähän mennessä. Et vain ottaa toista - et täytön toista vaatimusta. Et juuri menossa luentoja ja menossa kohta. Mutta teet tonnia asioita, jotka ovat kaikki noin ohjelmointi ja kaikki tekniikasta, mutta se ei todella tuntuu luokan suurimman osan ajasta. TRAVIS Downs: Ja ensimmäisenä päivänä, he jakoivat kakku, ja Olin heti myyty. JACOB PRITT: Vapaa karkkia ja pizzaa. ZAMYLA chan: - riippumatta oman edun taso, luulen että CS50, sinulla on hauskaa, ja voit olla älyllisesti edistettävä. MARK GROZEN-SMITH: On aina juhlat luokassa, ja se on bileet joka yö työstää p-set. JACKSON Steinkamp: Aina olet ongelma, saatat tuntuu olet valmis projekti. MELISSA NIU: Se oli fuksi vuosi, ja olin tehnyt ostoksia. Minulla oli neljä luokkaa valmiina, ja olin Annenberg. Ja minä törmää ystävä, ja hän sanoo, hei, olen ostamassa Tämän luokan nimeltä CS50, ja sinun pitäisi tulla minun kanssani. Päätyi ottaen se, että syksyllä, ja sen jälkeen luokka, minä Ajattelin Aion pieniä CS. Mutta tässä olen, kolme vuotta myöhemmin, vielä opiskelee tietokoneella tiede ja todella tekee sen niin suuria, ja nautin joka hetkestä sen. ROB Bowden: Minulla ei ole aavistustakaan. ALI Nahm: Katsotaanpa. MELISSA NIU: hulluutta. SPEAKER 1: Tunnen olisin hyvin klisee. Olin vain sanoa, niinku, mahtava. Yaniv YACOBY: Accessibility. JACOB PRITT: Vapaa karkkia ja pizzaa. TRAVIS Downs: ei voi kääntää alas luokka, kädet pois kakku. TIM McLaughlin: energinen. Vipul Shekhawat: Essential. ROB Bowden: Saanen ajatella vastausta. Taisin jotain. Voi jumala. Joo, minun nimeni Rob Bowden, ja tämä on CS50. [Taputuksia] DAVID MALAN: Okei, joten aloitetaan maalata kuvan ja mihin suuntaan voimme mennä, ja mennään käyttöön tämä käsite tässä yhteydessä kutsutaan pseudokoodilla. Joten pseudokoodina ei ohjelmointia kieli itseensä. Se ei ole mitään teknistä sinänsä, mutta se on vain eräänlainen yleinen tapa ilmaista itseäsi melko tarkasti, melko algoritmisesti, melko menettelyllisesti, mutta ilman murehtimatta mitä kieltä olet ilmaisee itsesi sisään Se on joku malli Englanti ja ohjelmointikielet kanssa jonka satut olemaan tuttu, joten voimme aloittaa kirjallisesti tällainen asia kuin menemme. Ja itse asiassa, Joseph, voisinko lainata sinut lavalla olevan kirjanoppinut täällä? Olen mennyt eteenpäin täällä etukäteen ja unohtanut laittaa joitakin sukat tänään, ja tämä tulee olemaan keskuudessa enemmän naurettavaa esimerkkejä. Nyt, minä tarvitsen sinua täällä. Teen sukat osa. Joten tässä meillä on pieni muistilehtiö. Tämä on kirjaimellisesti vain TeXturi Mac. Emme oikeastaan ​​aio kirjoittaa runnable ohjelmaa, mutta olemme juuri menossa aloittaa hahmotellaan pseudokoodina pohjainen joitakin neuvoja annat minulle tänne. Joten tässä on minun kasa sukkia kotona. Minulla ei ole sukkia kun herään aamulla, ja nyt täytyy kirjoittaa ohjelma, algoritmi lajittelee, joiden saada nämä sukat jalassa. Ja matkan varrella, katsotaanpa jos kompastua tai kohdata, joitakin ajatuksia, että olet menossa on aloittaa ajatellut paljon vakavammin, kun ohjelmoit jottei ohjelmat eivät käyttäydy ihan toivotulla tavalla. Joten istun täällä. Minulla minun kasa sukkia. Mikä on ensimmäinen asia kohtuullinen ihminen olisi tehdä, kun tavoitteena on laittaa sukat? Joku antaa minulle yksi askel, ja vain yksi askel. Niin? YLEISÖ: Taivuta alas. DAVID MALAN: Taivuta alas, Okei. Vaihe kaksi. Vaihe kaksi. YLEISÖ: Pick up your sukka. DAVID MALAN: Pick up your sukka. Kunnossa, niin vähäinen epäselvyyttä tässä, ja tämä on yksi ensimmäisistä kompastuskiviä että meidän pitäisi tietoisesti kohtaavat täällä. Se on vähän epäselvä, joten noutaa sukka. Hieno, minä otan tämän, mutta tietokone, toteuttaa vain bitti, ei olemaan tuollainen ihmisen vaisto vain valita lähin. Aiomme pitää aloittaa, ennen pitkää, ilmaisee itseämme tarkemmin. Selvä, joten toinen vaihe on noutaa sukka. Otamme sen. Vaihe kolme. Takana. YLEISÖ: Etsi matching pari. DAVID MALAN: Etsi matching pari. Okei, joten tämä on hyvä. Jouduin valitsemaan tämä sukka. Joten tavoitteena on löytää matching sukka, nyt, mutta mitä se merkitsee? Kohtuullinen ihminen, aivan kuten keskiviikkona, kun vain osasi löytää Mike Smith puhelinluettelosta, juuri sellainen meni niiden vaisto. Mutta tässä se on tietenkin tämä sukka täällä, mutta tietokoneen ei tule olemaan niin vaistomaisesti. Tietokone tulee olemaan kokoelma bittiä, kuten me keskusteltiin keskiviikkona, ja ne ovat järjestetään jotenkin muistiin. Mutta kohta on se, että tietokone on vain kyky katsomaan asioita yksi kerrallaan, ja itse asiassa, vaikka me ihmiset - vaikka se tuntuu Vilkaisin alas ja split Sekuntia myöhemmin Tiedän missä sukka on, aivoni ja silmäni oletettavasti ollut nopea silmäillä näitä sukkia, ja sitten lukittu edelleen yksi kysymys. Joten jos me sitäkin tahallinen nyt tietokone- Miten löydän tämän matching pari? No, meidän täytyy toistaa. Meidän on kenties silmukan yli tämän sotku sukat lattia jolloin sanon jotain KULLEKIN sukka, nosta se ylös, ja jos sama muoto ja koko kuin toinen, NIIN piste, piste, piste, jatkamme tarinaa. Joten jokaisen sukan, joten otan tämän. I tarkistaa tämä sama kuin tämä yksi. Se ei ole, joten laitan syrjään puolella. Sitten toistaa taas. Onko tämä tasa-arvoisia? Ei, se ei ole, joten laitoin sen syrjään. Onko tämä? Nro Tämä yksi? Ei, ja niin edelleen. Ja sitten lopuksi, toivottavasti, aion kohdata tämä sukka täällä. Joten jos se on sama muoto, koko, ota se. Ja nyt, mikä olisi meidän seuraava askel tässä? Niin? YLEISÖ: Tunnista oikea vasemmalta. DAVID MALAN: Okei, tunnistaa oikea ja vasen, niin onneksi sellainen toimii. Pieni symmetrinen, tai olen vain kuluneet ne sellaisina. Selvä, joten olen löytänyt oikeat. Ja nyt, ennen kuin jatkamme, haluaisin huomauttaa, mitä Josephin tehneet täällä tavallaan perehtynyt ohjelmoija. Joten jälleen, ei ole yksi tapa tehdä tämä, mutta pelkkien numerointi linjat, Joseph on jo alkanut tehdä tätä tavallaan sisennys. Itse asiassa tämä on hyvin yleinen yleissopimuksen ohjelmoinnin, jolloin jos et jotain iteratiivinen, kiehkura tyyliä, kuten me vihjaat kanssa Englanti lause "jokaiselle sukka "yleissopimus pseudokoodilla ja kuten näemme, normaali ohjelmointikielet, on vain luetelmakohtaan. Välilyöntiä muutaman kerran, iski sarkainnäppäintä tai vastaava, niin että sisäkkäisiä alla "kullekin sukka" on kimpale asioita, jotka sinun täytyy tehdä seurauksena, että silmukka. Niin, että kaikki mitä kuljetus semanttisesti. Nyt välin "Jos se on sama muoto ja koko," että "Ota se" on sisennetty edelleen vain tarkoittaa se on ainoa asia mitä sinun pitäisi tehdä, jos tätä edellytystä, jos sivuliike, että tienhaarasta, on itse asiassa totta. Joten nyt täällä, me olemme vaiheessa neljä tunnistaa oikealle ja vasemmalle. Olen tunnistettu oikein. Anna minulle vaiheeseen viisi. Ja teknisesti, voisimme todella kutsua JOKAISESTA asia - sinun pitäisi luultavasti numeroitava rivejä aiomme tehdä tämän. JOSEPH: [kuulumattomissa] DAVID MALAN: [kuulumattomissa]? Okei, hienoa, okei, me teemme sen haluamallasi tavalla. Selvä, joten vaihe viisi, miten teemme oikean sukan? Miten edetä seuraavaan, täällä? Kyllä? YLEISÖ: Nosta oikea jalka. DAVID MALAN: Nosta oikea jalka, Okay. Vaihe kuusi? Nopeasti. Joo. YLEISÖ: Etsi avoimen pään sukka. DAVID MALAN: Okei, löytää avoimen pään sukka. Niin hyvä. Joten tässä, rehellisesti, hyvin yleinen vaisto olisi vain laittaa oikealla sukka, mutta sekin on melko epämääräinen. Ellei tietokone tai ihmisen tietää tarkalleen, mitä se tarkoittaa, se ei tule olemaan toteuttaa se, joten tässä, olen löytyi avaaminen varastosta. Vaihe seitsemän? YLEISÖ: Kosketa varpaitasi. DAVID MALAN: Touch varpaat. Okei, joten nyt mennään - Okei, aion ottaa joitakin vapauksia täällä. Kiitos. Vaihe kahdeksan? Laita sukka. Okei, joten nyt olen, mielestäni olemme tarpeeksi lähellä tavallaan ottaa Tässä yksi kotona. Okei, joten tämä menee ylöspäin. Otan joitakin vapauksia, mitä se tarkoittaa, oikeastaan. Sukka. Okei, nyt lisättävä yhdeksän? YLEISÖ: Laita jalka alas. DAVID MALAN: Kiitos. Vaihe yhdeksän laittaa jalka alas, ja nyt voimme toistaa. Eli oletettavasti voimme nyt mennä askel 10 ja sano tunnistaa vasen sukka, mutta se on luultavasti jo tehty. Ja niin sitten voin tavallaan toista nämä vaiheet. Mutta tällainen herättää kysymyksen. Ennen viimeistä kertaa halusimme toistaa jotain, me teki sen iteratiivisesti, uudestaan ​​ja uudestaan, FOR Kukin silmukka niin sanoakseni. Olisiko järkevää käyttää silmukan jotta käsittelemään sekä vasen ja oikea sukka? Koska se tuntuu nämä toimet ovat melko identtisiä lukuun ottamatta sitä, että yksi alkaa tästä ja yksi alkaa tästä? Onko meillä silmukka, tai me vain pitää kirjoittaa askeleen 10 ja 11 ja 12? YLEISÖ: Loop. DAVID MALAN: Okei, joten silmukka. Olen itse voinut sanoa vain jatkamme eteenpäin. Miksi tämä asia? No, tämä on oikeastaan ​​ensimmäinen meidän ei-ilmeinen suunnittelun päätöksiä, ja itse asiassa yksi mittareita, joiden alamme arvioida itseämme ja sinua, laatu-ohjelma on vain kuinka hyvin suunniteltu on. Oletko tehnyt minimimäärän työtä tarvitaan saada työ tehdyksi mahdollisimman nopeasti, joko suhteen aikaasi tai suhteen tietokoneen käyttöaikaa? Montako toiminta ei vie toteuttaa? Joten luultavasti tämä on tilaisuus silmukka, koska heti kun alkaa kopioimalla, kuten Joseph tehokkaasti alkaisi tekee hetken, olet tavallaan tuhlaa ajan, ja sinä on kaksinkertaisesti ilmeikäs. Mutta samaan aikaan, ne ovat oikeastaan ​​vain kaksi erityistä tapauksissa vasen ja oikea. Ja taas ennen, saatan olla 10 tai 20 tai enemmän sukat kasa, se varmasti järkevää ei saada 50 riviä koodi sanomalla tarkistaa sukka, niin seuraava, Sitten seuraava. Tässä se on hieman vähemmän ilmeinen, ja haluaisin ehdottaa että voisimme mennä joko tavalla. Voisimme joko että silmukka, vaikka se vain silmukoita kahdesti, tai voimme yksinkertaisesti kopioida ja liittää vain vähän täällä saadakseen työnsä tehtyä. Mutta tämä ohjelma on buginen, niin sanotusti. Se saattaa olla joitakin virheitä, virheitä tai rajatapauksissa, niin puhua, että emme oikeastaan ​​ennakoida. Mikään meni pieleen tällä kertaa, mutta mitä olisi voinut mennä pieleen suoritettaessa tämän ohjelman? YLEISÖ: Sinulla ei ole sukkia. DAVID MALAN: Eli ei voi olla sukkia siellä mitään. Joten mielestä kulma tapaus. Joten jos voisimme siirtyä takaisin ylös vaiheeseen yksi, joten astu yksi oli taivuttaa alas, niin että on kunnossa. Vaihe kaksi, noutaa sukka, mutta sitten löytää sopivat sukka, tunnistaa oikea. Me tavallaan teki koko joukko oletuksia, ja tämä on, rehellisesti, miksi ohjelma joskus kaatuu. Jos, ohjelmoija, ovat tiettyjen oletusten, kuten Varmasti tulee olemaan sukkia tai varmasti siellä tulee olevan muistin jäljellä tietokone, varmasti siellä tulee olla levytilaa jäljellä kovalevy - No, jos teet näitä oletuksia, ja se ei ole, Itse asiassa, todellisuudessa, kuka tietää joskus mitä tietokoneen aikoo tehdä? Ja joskus, kun saat spinning rantapallo tai jäädytetyt Windows tai vastaavaa, joka on juuri sen vuoksi, jotkut ohjelmoija ei ennakoida näitä ns rajatapauksissa. Mitä muuta olisi voinut mennä pieleen tässä ohjelmassa? Niin? YLEISÖ: Sinulla ei ole oikeutta jalka ja vasen jalka. DAVID MALAN: Okei, ehkä ei ole niin oikea jalka ja vasen jalka, ja niin tämä ohjelma ei välttämättä ole yleisesti soveltaa. Muut? YLEISÖ: Olet ehkä piristynyt orpo sukka. DAVID MALAN: olisin kyytiin orpo sukka, joten Ei-matching sukka että vain ei ole sisaruksia, koska olen kadonnut, se on revitty, se on pestä edelleen, tai vastaavat. Niin että myös ei oikeastaan ​​ole käsitelty. Niin? YLEISÖ: Sinulla saattaa jo olla sukat. DAVID MALAN: Saatan jo sukat. En itse tarkistaa. Jos sinulla ei ole sukkia, ja jatka sitten tehdä linjalla yksi ja kaksi. Ja se voisi tapahtua. Nukahdat teidän sukat ja vastaavat, joten Sekin on hyvin kohtuullinen nurkkaan tapauksessa. Ja ehkä yksi muu? YLEISÖ: sukka on nurinpäin. DAVID MALAN: Eli sukka on nurinpäin, joten teimme mitään virhettä tarkkailun, lyhyesti. Emme tarkista maailman tilasta on kuin odotamme. Emme tarkista me itse löytänyt mitä etsimme. Ja vaikka tämä on eräänlainen naurettava esimerkki mukana sukat, lopussa päivä, tämä on juuri eräänlainen mielentila sinun täytyy olla samalla kirjallisesti ohjelmia, jopa Scratch sekä C-, JavaScript-, PHP, koska muuten ohjelmat tulee ilmetä vastaa että spinning rantapallo tai vain tuottaa epätarkkoja tuloksia. Niin monet kiitokset tästä meidän kirjurina Joseph. [Taputuksia] DAVID MALAN: Okei, joten mitä on, on Itse asiassa, tietokoneohjelma? No, otetaanpa nopea vilkaisu edustaja täällä. Joten tämä on kirjoitettu ohjelma kielellä nimeltään C. C on melko vanha näinä päivinä, mutta monet uudemmat kielet on rakennettu sen päälle. Todellakin, PHP, yksi www-centric kielet hyvitämme Käytä kohti aikavälin lopussa, itsessään on mitä kutsutaan tulkki, ohjelma, joka on kirjoitettu C, mutta siitä lisää Monissa viikon päästä. Mutta tämä ohjelma, ja tämä on mitä se tarkoittaa kirjoittaa ohjelma, joskin hyvin yksinkertainen. Meillä on joitakin melko arvoituksellisesti syntaksin täällä, mutta voit luultavasti arvata, vaikka et ole koskaan ohjelmoinut aikaisemmin, mitä Tämä ohjelma tekee. Itse en tiedä mitä printf on, mutta tulosta varmasti loihtii ajatus tulostaa jotain. Ja niin kyllä, tämä ohjelma on lopulta menossa tulostaa sanat "Hello, World". Nyt, onko sinulla Mac tai PC tai Linux-tietokoneen, kertoimet ovat, ainakin jos latasit joitakin vapaasti tarjolla olevien ohjelmistojen, olet voinut kirjallisesti ohjelmia oman kannettavan jo jonkin aikaa. Mac OS, esimerkiksi, on tämä ohjelma nimeltä Terminal mukana Mac, joka on yleensä oman Utilities-kansio, ja se yleensä avaa mustan ja valkoinen tai valkoinen ja musta ikkuna, jossa olet kehottaa jossa voit kirjoittaa komentoja. Joten tämä on todella muistuttaa mitä tietokoneet käytetään olla ennen graafinen rajapintoja, graafisia, tuli. Nyt, Windows, sinulla on samanlainen mekanismi muodossa on komentokehote. Mutta mitä aion tehdä tässä avata, sanotaanko, TeXturi jälleen, joten saman ohjelman käytimme varten pseudokoodina hetki sitten, ja aion mennä eteenpäin ja kirjoita ensimmäinen ohjelma. Sisällytä stdio.h, mitä se tarkoittaa, int main void, mitä se sitten tarkoittaakin, ja sitten keskellä täällä, printf ("Hello, world."). Ja sulje lainaus, Sulje Paren, puolipiste. Nyt aion mennä eteenpäin ja painaa Komento-S. Menen mennä eteenpäin ja tallentaa tämän hello.c, joten yleissopimuksen maailma C ohjelmointi on nimetä tiedosto piste c. Aion vain laittaa John Harvardin kotihakemistossa, täällä, valitse Tallenna, ja nyt aion mennä yli tämän terminaali-ikkunan, joka taas on tämä mustavalkoinen nopea missä voin suorittaa komentoja. Voin ajaa ohjelmia kirjoittamalla heidän nimensä, ei kaksoisnapsauttamalla kuvakkeita tavanomaisessa merkityksessä. Mutta asia on noin C on se kieli kuten C ensimmäinen tulee tässä muodossa, jota kutsutaan lähdekoodin. Jotain, joka näyttää vähän kuin Englanti, mutta on selvästi vähemmän kuin Englanti kuin Joosefin pseudokoodina hetki sitten. Se on hieman mystistä. Se näyttää seurata joitakin malleja tai sääntöjä. Se, että olen aaltosulkeita, puolipistettä, lainauksia, kulma olkaimet, tuntuu tietokone keksi eräänlainen kielen. Mutta jos menen nyt, tämän pääteikkuna, voin ajaa komento joka menee muuntaa että lähdekoodi on jotain kutsutaan kohdekoodilla. Se tulee muuttamaan Englanti kaltainen syntaksi nollia ja niitä, sama lajittelee nollia ja ykkösiä me puhui keskiviikkona. Nyt aion ajaa komento nimeltään clang. Lisää tämä lähiviikkoina, mutta se ohjelma jonka voin muuntaa hello.c tulee koko joukko nollia ja ykkösiä. Nyt olen suorittanut tämän komennon. Olen törmännyt clang, ja sitten sanoin ajaa itse tämän asian kutsutaan hello.c, jonka olen luonut hetki sitten, ja mitään ei näytä tapahtuvan. Mutta tosiaan, jos minä tönäisi noin minun kotihakemisto, näkisin että tämä typerästi nimetty ohjelman a.out on nyt olemassa. Tämä on vain oletus nimi ohjelmaa, kun kirjoitat C. Voimme ohittaa tämän lopulta, mutta a.out on ohjelman nimi juuri muunnetaan nollia ja ykkösiä. Ja nyt se on nollia ja ykkösiä, Mac, tässä tapauksessa, tai Windows PC, voi ymmärtää ne bitit, jotka nollia ja ykkösiä. Ja niin kun lyön Enter, näen "Hello, world!" Mutta se on vähän buginen. En oikein sanoa "hei, maailma!: Ilma: - jharvard." Ilma on nimi tietokoneeni. Jharvard on tilin nimi, joten mitä minä selvästi jättää pois ohjelmasta? Jonkinlainen rivinvaihto. En lyönyt vastaa Enter tai rivinvaihto, ja tämä on jälleen osoitus siitä, että tietokoneet voivat vain tehdä mitä kerrot heille tehdä. Ja että en kerro tietokonetta siirrä kohdistimen seuraavalle riville - No, se on varmasti aio vain tehdä sitä ylimielisesti minulle. Joten jos menen takaisin minun ohjelmaan, ja sanon \ n - Joten \ n, kuten tulemme pian nähdä, on tapa edustavat outoja asioita, kuten rivinvaihtomerkit asiat , jotka muutoin olisivat seurausta Enter-näppäintä. Mutta nyt, vain tietää, että lyömällä Enter-näppäimen olisi vain teemme koodi näyttää oudolta, joten maailma päätti tiedät mitä, pitää asiat kauniimpi, pitää se yhdelle riville, nyt sano \ n edustaa uutta linjaa. Saanen tallenna omat tiedoston, siirry takaisin pääteikkunaa ja Re-run a.out, Enter. Silti buginen, mutta miksi? YLEISÖ: [kuulumattomissa] DAVID MALAN: Joo, niin minun täytyy kääntää sitä. Joten kääntää ohjelma vain tarkoittaa muuntaa sen lähteestä koodi konekielisessä lähdekoodi nollia ja ykkösiä. Nyt, pelkästään se, että osuin Tallenna tässä TeXturissa ole joissa niihin nollia ja ykkösiä, koska olen ensin Tell clang hei, olen muuttanut näitä riviä koodia, lähdekoodia. Sinun täytyy uudistua a.out. Mikään ei näytä tapahtuneen, vaan tietokone, klo komentoriviltä, ​​niin sanotusti, kun mitään ei tapahdu, että yleensä tarkoittaa kaikki on hyvin. Kun jotain tapahtuu, se tarkoittaa sinut sekaisin, yleensä. Joten nyt mennä a.out, ja todellakin nyt olen "Hei, maailman. " Ja nyt, mitä näistä nollia ja ykkösiä? Jos itse asiassa ovat? No, en voi oikeastaan ​​vain eräänlainen penkoa hyvin tehokkaasti. Saanen avata TextEdit. Tässä a.out. Anna minun mennä eteenpäin ja avata tämä, ja tämä on ilmeisesti mitä minun Ohjelma näyttää. Joten olen avannut, ei hello.c, mutta a.out. Mutta tämä ei oikeastaan ​​ole, mitä minun ohjelma todella on. Selvästi tämä on jonkinlainen kirjaimia. En näe mitään nollia ja ykkösiä, mutta tämä on koska a.out on ohjelma. Nollia ja ykkösiä - mutta TextEdit, kuten nimestä voi päätellä, se on aivan kuten Notepad Windows, on vain tekstieditori, joten se on hämmentävä kaikki nämä nollia ja ykkösiä, koska vaikka ne olivat, mitä? ASCII-merkit. Joten muistuttaa keskiviikkona, me vain keksi mielivaltainen kartoitus numeroita tai bittejä, jotta kirjeet aakkoset ja välimerkit ja vastaavat. Joten TeXturi, että se on tekstieditori on vääristelemättä niitä malleja nollia ja ykkösiä, jotka on tarkoitus olla tulostus sanoja, kuten "Hello, world." Se näyttää ne ASCII, ja siksi se näyttää hieman sotkuinen. Nyt on joitakin vihjeitä oikeellisuuden täällä. Ilmoitus jos Korostan, on ripaus todella "Hei, maailman ", niin jossain että ohjelma on lauseen kirjoitin. Mutta mennään eteenpäin ja nyt nähdä eri ohjelmaa. Tämä ei ole yksi käytämme sitä usein, mutta se myös tulee Macin ja tulee olemaan sisällä CS50 laitteen. Anna minun mennä eteenpäin ja avata ohjelmalla nimeltä XXD. Takaisin seuraavana päivänä, useimmat ohjelmat nimettiin melko arvoituksellisesti, joten trendi jatkuu. Mutta-b tarkoittaa sylkäistä ohjelman ulos binary. Älä suorita sitä. Näytä se minulle niin nollia ja ykkösiä, ja tämä on C ohjelmoida me juuri kirjoitti. Nyt olen, sillä ihmisen täällä, en rehellisesti ei ole aavistustakaan, mitä Näiden eri malleja nollia ja ykkösiä edustavat. Takaisin seuraavana päivänä, minä, minun reikäkortteja tms., olisi todella täytyy etsiä mitä nämä eri malleja 01111000, todella edustavat. Tai pahempaa, olisin tarvinnut tehdä lävistys tai luomiseen näistä malleista nollia ja ykkösiä. Mutta nyt, ottaa usko että CPU, Intel Inside, joten puhua, sisällä kaikki meidän tietokoneissa näinä päivinä, tietää miten tulkita näitä nollia ja ykkösiä. Ja jotkut nollia ja ykkösiä tarkoittaa tulosta. Jotkut nollia ja ykkösiä tarkoittaa toistaa äänen. Jotkut nollia ja ykkösiä tarkoita ottaa käyttäjän signaalin näppäimistöltä. On kaikenlaisia ​​erilaisia ​​malleja, mutta onneksi kuten ihmisillä, vain yleensä tarvitse pelätä ohjelmointiin Tämän melko korkeamman tason. Ja muihin CS luokkiin voit kaivaa alas syvemmälle ja etsiä asioita kuten ne nollia ja ykkösiä, tai vielä muita asioita edelleen. Joten nyt mennään muuntaa tätä. Mennään liikkua hyvin nopeasti pois C ja siirtyä jotain hieman lohdullista, hieman jännittävä, koska saamme takaisin meidän animaatioita ja ääniä ja sellaista selvästi ovat karanneet meille tässä melko alkeellinen käyttöliittymä. Joten tämä saman ohjelman C voidaan esittää nyt tässä ohjelmointikieli kutsutaan Scratch seuraavasti. Tämä vastaa tämän hello world ohjelma kirjoitettu Tämän palapelin pala tyyli kieli nimeltään Scratch. Joten anna minun mennä eteenpäin ja avata tämän hyvin ohjelmaan. Sitä taas kutsutaan Scratch. Se on vapaasti saatavilla, ja tämä on sama asia me alkoi tänään. Joten tämä tässä on Scratch, ja se hajotetaan muutaman eri kappaletta. Hyvin alkuun oikeassa, meillä on niin sanottu vaiheessa, ja todellakin, sinne evästeet suoritetaan vain hieman sitten. Ja tässä vaiheessa ovat asioita kutsutaan sprite, merkkejä tai esineiden tai yhteisöjä. Sillä ei ole väliä miten ajattelet, mutta ne ovat ohjelmoitavissa, irtainta asioita, ja tässä tapauksessa tämä ohjelma että opiskelija kirjoitti on pari piparkakut evästeet, pari pyöreä evästeet, koko joukko sydämet, koko joukko silmälasit. Tämän vuoksi, hän ei voi ohjelmoida kunkin näistä yksittäisiä merkkejä erikseen. Nyt, mitä se tarkoittaa ohjelmoida nämä merkit? No, anna minun mennä eteenpäin ja klikkaa tästä vasemmalla evästeen ja selaa yli vasemmassa yläkulmassa täällä. Vuonna vasemmassa yläkulmassa minun näytöllä nyt ns skriptejä alueella. Tämä on tavallaan puhtaalta pöydältä, aluksi, jolle voin vedä ja pudota palapelin paloja, rehellisesti, tee mitä he sanovat. Huipulla tämän pinon palapelin palaset on sana Kun Vihreä lippu Clicked, ja jos et ole huomannut aikaisemmin, miten aloitin että evästeen Laulun klikkaamalla, kirjaimellisesti, vihreä lippu. Jotta palapelin pala ylhäällä vasemmalla siellä tarkoittaa, kun Ihmisen napsauttaa vihreä lippu, eteni tehdä seuraavat asiat. Nyt, mitä he evästeen edetä tehdä? En todellakaan tiedä miten tulkita tätä vielä, mutta Eväste ilmeisesti asettaa sen uran nollaan, se odotti kolme sekuntia, sitten se muutti ryhmä yhden, sitten se odotti toinen, niin se muutti ura takaisin yhteen. Ja sitten tämä todella näyttää hieman bugi, ei pitäisi on muutettava uran uudelleen ja uudelleen, ellei se ollaan muuttamassa muualle, mutta tämä sarja vaiheita on mitä sanelee käyttäytymistä tässä evästeen. Joten todellisuudessa siirry takaisin ja katsoa jotain aivan niin monimutkaisia ​​vielä. Anna minun mennä eteenpäin ja mene Tiedosto, Uusi, ja saada puhtaalta pöydältä. Joten nyt, minä todellakin tyhjä käsikirjoitus alue, tyhjä vaihe, meidän oletus sprite Scratch ja ylhäällä vasemmalla minun näytöllä minulla on lavan kaikkien niiden käytettävissä palapelin palaset. Ja me ei mene läpi lähes, että monet näistä asioista tänään, koska taas useimmat ovat itsestään selviä, mutta me yrittää luokitella niitä ja huomauttaa yhtäläisyyksiä Näiden tulevien kielten jota aiomme sukeltaa. Ja ylhäällä vasemmalla tässä on ensimmäinen, kun Vihreä lippu napsautetaan, joten anna minun vetää tämä tänne, loitontaa hieman. Ja jos painan vihreää lippua, mitään ei oikeastaan ​​tapahdu, koska En ole kiinnitetty mitään logiikkaa, mitään lausuntoa niin sanotusti että vihreä lippu, joten anna minun mennä jopa Kategoriat tänne. Olen tällä hetkellä Ohjaus luokkaan. Minä sen sijaan mennä alas Looks luokkaan, ja siellä koko joukko asioita täällä, että Say Say, Ajattele, vaihtaa väriä, Switch puku. Joten voit tehdä typeriä asioita ja puvut ja äänet ja niiden kaltaiset. Anna minun mennä eteenpäin ja sanoa Say, ja nyt huomaa niin vedän ja pudota tämä palapelin pala, se tulee haluta tajuta osaksi vastaava muoto. Joten kun menen eteenpäin ja päästää minun hiiri, ne lukkiutuvat yhteen, ja nyt jos menen tänne ja klikkaa vihreää lippua, kissa ei todellakaan sanoa hei, koska sitähän on sisällä Tämän valkoinen ruutu. Me pian nähdä, että tämä valkoinen laatikko on mitä kutsutaan argumentti, tai parametri. Se on tapa muuttaa käyttäytymistä, tässä tapauksessa, palapelin pala, mutta jos haluan sanoa mitä sanoin ennen, tervehdi, maailma, voin nyt palata tänne, Napsauta pelata, ja "Hello, world" on mitä on sanottu. Joten olemme kirjaimellisesti ohjelmoinnin nyt. Se ei ole kovin vakuuttava ohjelman, mutta ainakin se on vähän enemmän pakottavia kuin jotain, joka näyttää, milloin Ensisilmäyksellä, kuten tämä. Ja voimme hyvin nopeasti saada kaikki enemmän ilmaisuvoimaa koska Scratch, kuten muilla kielillä, siellä kaikki monenlaisia ​​lausuntoja, eikä vain sanoa tai tulostamista jotain, mutta voit tehdä asioita, kuten odottaa, kuten juuri näimme kanssa evästeen, jotkut monta sekuntia. Voit pelata äänet ympäristössä Scratch vain kuin pystyt normaalissa tietokoneohjelman toiston ääntä. Voit tarkistaa, mitä kutsutaan Boolen lausekkeita. Joten nyt aloitetaan lisätä meidän työkalupakki joitakin terminologiaa tosiasiallisesti liittyy esimerkiksi, että Joosef ja tein täällä sukat. Joten lausunnot ovat vain lausuntoja siitä. Tee tämä. Direktiivin Sprite tai minulle ihminen, tehdä jotain. Boolen lauseke on jotain, joka on arvo, ns totuusarvo, joka on joko nolla tai yksi, vääriä tai totta, sammutettuna tai ei tai kyllä. Ei ole väliä miten ajattelet tästä, mutta se on binääritilan. Kuten Nate keskusteltu keskiviikon video, kaksi eri asioita. Joten Scratch, Boolen satut katsomaan kuten nämä siniset esineet täällä, ja tässä tapauksessa kysymys merkki tarkoittaa, että kysyt kysymyksen. Onko kissa tai sprite, koskettaa hiiren osoittimen? Joten tämä on vain yksi esimerkki Scratch lohkon, joka menee jotta voimme tarkistaa kyllä ​​tai ei, on hiiri koskettaa sprite ruudulla? Ja tämä voi olla hyödyllistä, jos todella haluat tehdä asioita hiirellä. Lisäksi Boolen lausekkeet, meillä on asiat kuten on hiiri alas, joten voit havaita sellaista kyseenalaistaa samoin. Voimme tehdä matematiikka jos todella haluat, ja siellä on oikeastaan ​​enemmän pakottavia käyttötarkoituksiin tätä kuin vain puhtaita aritmeettinen, kuten näemme. Pseudo satunnaisuus ja teet ohjelma näyttää ajattelevan tai käyttäytyvät eri perustuu joidenkin näennäisesti satunnaisia ​​arvoja, ja sitten meillä on asioita, kuten Boolen kuten JA. Joten jos todella haluat tarkistaa kaksi arvoa, me nähdä Raaputa että voimme todella testata, jos tämä on totta ja tämä on totta. Esimerkiksi tapauksessa minun sukat, olisin voinut at aivan lopussa kysyi jos vasen sukka on ja oikean sukan on, sulje. Olet kaikki tehnyt päivän, jotta olisi mahdollisuus, että. Joten mene eteenpäin ja yrittää pala joitakin näistä yhdessä ja mennä pari esimerkkiä lisää pakottavia kuin tämä yksi. Joten anna minun mennä eteenpäin tänne ja avata joitakin esimerkkejä että aina kurssin verkkosivuilla samoin, ja avata hello2. Joten hello2 täällä, meillä on ohjelma, joka tekee muutaman asioita, mutta se ei tee sitä yhtä tehokkaasti kuin olisimme. Joten tässä se sanoo "Hello, world" yhden toisen ja sitten odottaa toista. Ja sitten tekee sen taas, ja sitten tekee sen uudelleen. Joten jos painan vihreää lippua, Scratch sanoo "Hei, maailma. Hei, maailma. Hei, maailma. "Ja tämä on tietenkin ehdokas nyt parantaminen. Mikä marginaalinen parannus, toivottavasti voimme nyt tehdä jos Scratch tukee käsite? Jonkinlainen silmukan. Jonkinlainen toistoa, nyt olisi kiva, joten saanen itse kokeilla sitä. Saanen itse mennä ja siirtää tämän. Joten ilmoitus voidaan irrottaa lohkot yhtä helposti kuin voit lisätä kiinnitä ne. Päästä minut kurissa, selaa täällä, ja todellakin, on tämä palapelin pala täällä, Toista ja Ikuisesti ja Ikuisesti Jos. Joten siellä useita tapoja ilmaista kiehkura rakenteita Scratch. Minun varmaan täällä ei ikuisesti, koska minulla on vain halua näin tapahtuvan kolme kertaa, mutta luultavasti Toista. Haluan siis vetää Toista tänne, vedä ja pudota, ja nyt vaan sanoa "Hello, world" kolme erillistä kertaa, haluan vetää tämän palapelin pala täällä. Ja vaikka se ei tunnu sopivan, ohjelma on älykäs tarpeeksi ymmärtää se kasvaa täyttää, joten se on muodot asia eikä absoluuttinen koko. Saanen vaihtaa toistoa kolmeen, ja nyt haluan mennä eteenpäin ja vedä odota sekunti myös siellä. Se tulee napsahtaa myös, joten nyt aion vetää nämä kaverit tänne ja heittää ne pois, koska olen ei tarvitse niitä enää. Saanen loitontaa ja klikkaa vihreää lippua nyt, ja meillä on sama ohjelma, mutta kuten olen ennusti aiemmin, parempi suunniteltu, koska voitte kuvitella kuinka huono tämä ohjelma saisi varmasti esteettisesti, jos sinulla on ollut Aloita kopiointi ja liittäminen, kopioimalla ja liittämällä tai vetämällä ja pudottamalla sama hiton asioita uudestaan ​​ja uudestaan. Nyt yksinkertaisesti sanomalla tavaraa ruudulla, tulostaa näyttö, oikeastaan ​​kaikki ole niin jännittävää, joten katsotaanpa avata kolmas varianssi tässä. Ja nyt, kuten näet, tämä tulee nopeasti saada harmittaa - [MEOW] DAVID MALAN: - mutta se on myös eräänlainen söpö. [MEOW] DAVID MALAN: Okei, niin parempi, ja voimme varmasti käyttää sitä Sama siirtyminen chunking tämä ylös looping rakenne, mutta tehkäämme se mielenkiintoista silti. Anna minun mennä eteenpäin ja avata neljäsosa varianssi täällä, missä minä ottaa asiat askel eteenpäin. Joten mukaan tähän, typerä vaikka tämä on ensimmäisessä silmäyksellä, mitä tämä ohjelma aikoo tehdä? Se tulee miau kerran. Miksi? No, yksi on, sikäli kuin tiedän, aina vähemmän kuin kaksi. Ei ole käsitettä satunnaisuuden täältä. Olen kirjaimellisesti kovakoodatuilla yksi ja kaksi, mutta tämä on Esimerkiksi nyt tosiasiallisesti käyttää Boolen lauseke. Mielelläni kuten Joseph teki hänen pseudokoodilla, sisennys IF löydät sopivat sukat tee seuraavat, tässä meillä on lauseke Jos yksi on vähemmän kuin kaksi SITTEN - ja itse asiassa meillä on jopa hieman sisennys, jossa violetti on hieman sisennetty oikealle - Sitten olet menossa pelaamaan äänen miau. Nyt, tässä tapauksessa, että yksi on aina pienempi kuin kaksi, joten tämä on eräänlainen tuhlausta kunnossa. Mutta pystymme, kuten näemme, kytkeä muita asioita huomioon nämä paikkamerkit jossa yksi ja kaksi ovat nyt. Joten nyt etenemään esimerkiksi viisi näistä useiden Terveisiä ja katsomaan mitä tämä ohjelma aikoo tehdä. Joten nyt, Englanti lause, miten tämä Ohjelma käyttäytyä? YLEISÖ: Meows puolet ajasta. DAVID MALAN: Miau n puolet ajasta, joten tämä on tapa välittää hyvin yksinkertainen ajatus. Vaikka satumme käyttää joitakin eriarvoisuutta täällä Joissakin numeroita, tämä on oikeastaan ​​vain ohjelmallisesti tavalla, tarkka tapa, sanoa jos kolikko tulee päät, mene eteenpäin ja miau. Tai päinvastoin, jos kolikko tulee esiin hännät, eivät miau. Ja tässä tapauksessa, miten voimme ilmaista sen? Me poimia satunnaisluku 1-10, ja jos se määrä on pienempi kuin 6, mennä eteenpäin ja miau. Ja miten tämä tänne? No taas huomaa vain vetämällä ja pudottamalla ja asiat napsahtaa paikalleen. Joten nyt katsotaanpas, jos tämä satunnaisuus toimii. Anna minun mennä eteenpäin ja klikkaa vihreää lippua. [MEOW] DAVID MALAN: Okei. [MEOW] DAVID MALAN: Okei. Okei, hyvä, joten saimme päät, päät, hännät tehokkaasti. Tails. [MEOW] DAVID MALAN: Heads. [MEOW] DAVID MALAN: Erinomainen. Se on aina hankalaa, kun vain tilastollisesti saat huono ajaa, ja se kaikki päät, ja ohjelma itse ei toimi kuten toivoisin. Mutta tällä kertaa se toimi, ja meillä näyttää olevan, jos emme Tämän rajattoman monta kertaa, 50% kertoimet. Nyt taas ei ole kovin kiinnostavaa, vain tehdä kissat meow, joten katsotaanpa jos emme voi edistää tätä hieman pidemmälle täällä kuudes versio. Joten nyt meillä on todella ärsyttävää versio - [Meows muutaman sekunnin välein] DAVID MALAN: - ja tämä on mitä kutsutaan, yleinen, sillä loputon silmukka. Joten ääretön silmukka tässä tapauksessa tuntuu pahalta. Se varmasti tulee aloittaa kuulostava huono, ja silti ääretön silmukat eivät aina huonoja. Keksitkö yhteydessä tietokoneohjelmien jossa haluat todella haluavat loputon silmukka? Niin? YLEISÖ: Kun haluat tarkistaa kunnossa. DAVID MALAN: Okei, kun haluat pitää tarkistaa kunnossa? Kuten mitä? YLEISÖ: [kuulumattomissa] DAVID MALAN: Okei, hyvä, joten jos sinulla oli jotain ohjelmaa, jotkut sellainen kotiautomaatio asia, johon haluat jatkuvasti monitori on jotain asian. Ovatko valot päällä? Ovatko valot päällä, koska ehkä olet ajastin, ja haluat heidän mennä pois, ehkä tehdä jotain uudestaan ​​ja uudestaan. Ja itse asiassa puhuessaan ajastimet, kukaan teistä, jotka ovat kellot tietokoneeseen tai digitaalinen kellot, se on loputon silmukka. Se jatkaa päivittää aikaa, koska se on jatkuvasti tarkastus ja valvonta ja tarkastus on aika muuttunut, ja jos näin on, Luoja. Kello on lopulta muuttunut. Se tarvitsee näyttää että arvoa sinulle. Joten taas suurimman osan ajasta ääretön silmukat ovat virhe, tai ainakin huono suunnittelu päätös, joskus ne on niiden arvo. No, pitemmälle täällä hello7. Joten nyt ohjelma saa hieman enemmän vuorovaikutteinen. Saanen zoomata tänne, ja taas, tämä on mitä on kiva noin Scratch. Ja käytämme sen olevan selvää, Scratch, juuri tänään ja otetaan ensi viikolla ongelman asetettu. Mutta maanantaina, me sukeltaa C. tästä ohjelmasta, se, ikuisesti, seuraavat. JOS koskettaa hiiren osoitin - nyt, kuka yhteydessä täällä? No, ja huomaa, että kuka on valittu tänne alareunassa oikeus on kissa, sprite yksi, joten nämä komentosarjat, tämä ohjelma, koskee häntä erikseen. Joten jos kissa koskettaa hiiren osoittimen, niin se menee pelata tätä alas ja odota kaksi sekuntia, ja Toista sitten loputtomiin. Joten mene eteenpäin ja osui pelata. Mitään ei tapahdu, mutta jos haluan lemmikkieläinten kissa nyt, voin vain. [MEOW] DAVID MALAN: Adorable. [MEOW] DAVID MALAN: Okei, vähemmän ärsyttävää, mutta saa myös tylsää, joten katsotaanpa eteenpäin ja katso jos voimme olla pistää hieman enemmän logiikkaa. Se oli esimerkki seitsemän. Täällä esimerkiksi kahdeksan, aiomme käyttöön ELSE kunnossa. Niin paljon kuin kirjaimellinen tienhaarasta, jossa voit mennä vasemmalle tai voit mennä oikealle, ehto ohjelmointi kieli kuten Scratch, tai kuten näemme C, voi voit menevät yhteen suuntaan tai toiseen kautta IF ELSE rakentaa. Joten aivan kirjaimellisesti, JOS koskettaa hiiren osoitin tämä toistaa joitakin ääni, muuten se tulee pelata tätä muihin ääni, miau. Nyt, jos voit päätellä nimen näitä ääniä, voit luultavasti arvata, mitä tämä ohjelma on tarkoitus loihtia ajatusta. Tämä kissa on meowing onnellisesti. [MEOW] DAVID MALAN: Onneksi, mutta ei aivan kuin olisi koskettanut. [Ulvoo] DAVID MALAN: Eli nyt meillä on kissa, joka huutaa sinulle. Selvä, no, viimeinen esimerkki kissojen kanssa täällä, ja Avataan versio yhdeksän täällä. Joten nyt meillä on seuraavaksi eniten harmittaa ääni, että voisin löytää, joten meillä mursun tai merileijona täällä kuka toimi seuraavasti. [SEAL BARK] DAVID MALAN: Okei, joten tämä jatkuu kunnes selvittää, miten tämä ohjelma toimii. Joten tällä kertaa, tämä eläin on kaksi skriptejä, ja mitä mielenkiintoista tässä on, että nämä skriptit ovat menossa suorittamaan rinnakkain. Joten koska he molemmat alkavat yksi vihreä lippu napsautetaan, se on kuin menee näin, ja molemmat ohjelmat alkavat näkyä sen kerran, vaikka he kiehkura ikuisesti. Joten alkuun käsikirjoituksen, minulla on jotain logiikkaa. Mitä ominaisuuksia jotka tarjoavat siellä? [SEAL BARK] YLEISÖ: [kuulumattomissa] DAVID MALAN: Jos se on mitä? [SEAL BARK] YLEISÖ: Jos mykistetty nollaan, se tulee pitää pelaa kuulostaa. [SEAL BARK] DAVID MALAN: Okei, hyvä. Joten jos mykistetty, mitä tämä on, tämä oranssi juttu on nolla, Sitten pelata Sea Lion ääntä ja ajattelevat "Ai, Hei, "kaksi sekuntia. Nyt en tiedä mitä mykistetty on, mutta nolla loihtii Ajatus vääriä tai pois. Joten jos mykistetty on väärä, joten jos ei mykistetty, pitää pelissä äänen. Selvä, no, miten me poistaa tämän? No, katsokaamme toisen käsikirjoituksen siellä. Toinen kirjoitus sanoo asetettu mykistetty nollaan. Huomaa se on myös oranssi, joten mitä Scratch se on se värejä lohkot samaa sävyä, jos se on tavallaan loogisesti liittyvät. Eli aivan kuten vaimennettu ylös oli oranssi, joten mykistyy täällä mainittu oranssi lohkossa. Mutta tämä on muuttuja tehtäviä, joten aivan kuten algebran, sinun on x-ja y-ja z-, ohjelmointi olet muuttujia, mutta ne ovat yleensä - Katsotaan pysähtymään hetkeksi ja kuva miten lopettaa tämä haukkuminen. Miten voin tehdä tämän? [SEAL BARK] DAVID MALAN: Okei. Se pysähtyi. Okei. Aivan kuten algebran teillä muuttujat x, y, ja z, mutta ohjelmointi, ottaa muuttujia kuin x, y ja z on yleensä paheksutaan koska he eivät lainkaan ilmeikäs. Heillä ei ole semanttista merkitystä lainkaan, joten useimmissa ohjelmointikielet, muuttujilla voi olla täysi kehittynyt nimiä tai sanoja tai lauseita, kuten vaimennettu, sanoa mitä he tekevät. Joten tämä toinen kirjoitus oli myös kuunnella ikuisesti, ja se sanoi jos avain, näppäimistön näppäintä Space, on painetaan, kysymysmerkki. Joten on kunnossa Boolen lauseke, joka on aio vastata kysymykseen joko totuudenmukaisesti tai vääriä, Sitten olen sisällä, jos tila painetaan JA JOS mykistetty on nolla, mykistetty yksi, ELSE aseta mykistetty nollaan. Joten tämä toinen tienhaarasta, ja huomaa kuinka olen sisäkkäin kaksi IF edellytykset, on tapa tarkistaa on Space Bar painetaan sillä jos näin on, en myöskään halua mennä tähän tavalla tai tällä tavalla. Ja miten voin kääntää arvo mykistetty? Täytyy tarkistaa se nolla? Jos näin on, mikä tekee siitä yhden, muuten tehdä nolla siis vaihtaa sen kaksi valtiota. Selvä, joten meillä on silloin joitakin näistä keskeisistä konstrukteja. Olemme Boolen lausekkeita, ja ymmärtää myös nämä ei kaikki tuntemattomia. Itse asiassa tässä on nopea kuvakaappaus Harvardin kurssin CS50 ostos työkalu, ja kaikki verkkosivuilla siellä, että on valintaruudut ja alasvetovalikoilla ovat todella kaikki tällä kertaa, ollut käytössä Boolen. Tässä tapauksessa täällä, jos valitset valintaruudun vieressä tietysti suurempi tai yhtä suuri kuin 4,5, tai saman vieressä tiedekunta, olet määrittää Boolen lauseke. Näytä minulle kursseja, joita varten lauseke on tosi. Tai oikealle, ei ole ristiriidassa kursseja olen ottaen, jos se on valittu, niin kyllä, sinun kannattaa tarkistaa että ehto, muuta haluat ohittaa sen. Joten Boolen lausekkeet ovat tavallaan ympäri, mutta kun laitamme ne ehdot, ovatpa jos olosuhteet, JOS Elses, tai voimme jopa simuloida syvemmälle tasoilla, JOS ELSE IF ELSE - niin se on tavallaan ternäärisen valtion. Voit mennä tällä tavalla tai näin tai näin. Voimme pitää pesiviä asiat mennä eri suuntiin. Joten Scratch on nämä silmukat, kuten Ikuisesti. Se on näitä ominaisuuksia, kuten toisto 10, jotkut äärellinen määrä kertoja. Meillä on kyky nyt asettaa muuttujia, joten tässä tapauksessa Olen ilmoittanut, esimerkiksi muuttuja nimeltä sukat. Olen alustettu arvoon 0, ja se on vielä toinen suunta olisimme voineet ottaa täällä Joseph, jolloin ehkä vain seurata, kuinka monet sukat olen ja lopettaa ohjelma kun että muuttujan arvo on 2. Tämä olisi yksi tapa tavallaan yleistäen, että ongelma ja tehdä jotain uudestaan ​​ja uudestaan. No, mennään eteenpäin ja nyt esitellä pari uutta asiaa. Joten ne teistä etukäteen ohjelmointi kokemusta tiedän, että monet kielet ovat matriiseja tai vektoreita tai luettelot, ja todellakin, Scratch on jotain tämäkin. Joten katsotaanpas jos emme voi ottaa asioita seuraavalle tasolle täällä. Jos minulla on kyky, nyt nämä palapelin palat lisätä jotain, kuten sana tai numero, muuttuja, voin alkaa kertyä asioita. Ja tämä on oikeastaan ​​aika sopivasti asioita, kuten pelejä, roolipelejä pelejä, joissa olet sellainen käveleminen Joissakin fantasiamaailmassa kerätä asioita, poiminta asioita, ansaita pisteitä, tai vastaavat. Haluat ehkä seurata jonkinlaista varaston ja todellakin, että mitä yksi entisten opiskelijoiden täällä teki jotain kutsutaan Fruitcraft RPG. Joten anna minun mennä eteenpäin ja avata tämä asia täällä, ja Fruitcraft, meillä on tässä maailmassa ylös ylhäällä. Joten anna minun mennä eteenpäin ja sitten vihreää lippua. Ilmoitus ylhäällä vasemmalla on jonkinlainen inventaario. Se on toteutettu Scratch kuin mitä me kutsumme array tai lista, ja nyt meillä on tämä pieni animaatio. Eli aivan kuten aloitimme aikaisemmin tämän evästeen rakkaustarina, ja sitten eteni kissojen ja merileijonat, nyt voimme olla asioita, jotka ovat vielä interaktiivisia. Ja tämä pieni sininen kaveri, voin alkaa liikkua hänen pieni koti täällä. Joten näyttää siltä, ​​että hän sai poistua täällä, joten olen käyttäen nuolia avaimet, ylös, alas, vasemmalle oikealle. Ja nyt olen ulkona, joten katsotaanpa mitä minulla täällä. Näyttää oranssi, ja todellakin, heti kun kosketan oranssi, se saa plopped minun inventaario. Jos menen tänne kirsikat, nyt minulla on jotain muu mainosjakaumaani. Ja tämä kaikki on mukava ja söpö, mutta mieti, miten nyt, tämä toteutetaan. No, meillä on tämä käsite luettelon, ja se on ilmeisesti palapelin pala, että sanoit mitä haluat lisätä sen, lisää oranssi, lisää kirsikat. Nyt, mitä tämä pieni sininen kaveri tekee? No, hän on sprite. Ja oletettavasti, oranssi ja kirsikat - he itse olivat erillisiä sprites. Ja käyttämällä olosuhteita Boolen lausekkeita, opiskelija oli luultavasti pysty ilmaisemaan Jos sininen kaveri on koskettamalla kirsikat lisää sitten sanan kirsikat hänen varaston, ja sitten myös piilottaa kirsikka sprite. Joten alla huppu, ei luultavasti edelleen kirsikka sprite siellä. Olemme vain kertoneet siitä tulee käytännössä näkymättömiä. Nyt, jos pidän kävely täällä, voimme myös tehdä proksimaalinen asia, jossa voin mennä ja lukea merkki. Joten jos sininen kaveri koskettaa merkki, voimme saada tämän Say lohko aivan kuten kissa puhui meille sanoen, hei, aiemmin "Got joitakin hedelmiä? Tuo se hedelmää paikkaan. "Selvä, joten nyt ilmeisesti Minulla on ohjeet. Voin mennä tänne hedelmää paikkaan, riviin itseäni oven kanssa. Nyt olen täällä. Voin mennä jopa miehen tiskillä. Hän havaitsee, että olen lähellä häntä, joten sen ei tarvitse olla aivan identtisesti koskettaa, ja olen voittanut pelin. Joten ei meillä Fruitcraft RPG. Joten voimme tehdä asioita vieläkin kehittyneempää kuin tämä. Voimme lisätä ääniä. Voimme lisätä pseudo satunnaisuutta. Voimme lisätä monimutkaisuutta. Anna minun mennä eteenpäin tänne, ja sen sijaan tehdä tämän itse, Näytän sinulle yhden kehittyneempiä väitteitä Saimme viime vuoden tietty joku nimeltä Blake. Voimmeko olla yksi vapaaehtoinen joka on mukava näkyä kamera ja on jopa pelaamiseen peli? Entä tuolla? Tule ylös. Selvä, joten peli, että olet juuri tietämättään tarjoutui pelaamaan - [Taputuksia] DAVID MALAN: - on jotain mennyt kutsutaan "Frogger." Mikä on nimesi? Renda: Renda. DAVID MALAN: Redna? Renda: Se on kuin Brenda kanssa b. DAVID MALAN: Okei, Renda. David. Hauska tavata. Joten täällä "Frogger" ja jos voisimme nostaa äänenvoimakkuutta juuri vähän, olet tämän pienen vihreä sammakko pohjalle. Voit käyttää vasemmalle, oikealle, ylös ja alas, ja sinun tehtäväsi on ylittää kadun, ylittää joen, ja kosketa lilja tyynyt yläreunassa. Aw. Vielä yksi t - redo, okei? Mennään osuma pysäkki. Kukaan ei nähnyt sitä. [Taputuksia] [Taputuksia] DAVID MALAN: Joo. Hyvin tehty. Erinomainen, kiitos. Siten, että siellä oli Frogger. Nyt kun tiedät mitä olet mennyt itsenne, yksi vapaaehtoinen eri peli esittämä toinen opiskelija. Haluat tulla ylös? Mikä sinun nimesi on? RICHARD: Richard. DAVID MALAN: Richard. Selvä, Richard, tule ylös. [Taputuksia] DAVID MALAN: Sinulla on jotain, joka kuulostaa tuttu pian, joten tässä on ohjeitasi. Joten hetkellä noin palapelin palaset ovat menossa selata ylös näytöstä, jotka näyttävät joko vasen tai oikealle ylös tai alas. Olet menossa on lyödä nuolinäppäimillä siten että se vastaa niitä palapelin palaset riviin kanssa paikkamerkit ylhäällä. Joten kun näet vasemmalla nuolella, ja se on linjassa vasemmalla nuoli, osuma vasenta nuolta. Voitte aloittaa. [MUSIC - "vahvempi" Kayne WEST] DAVID MALAN: Okei, iso aplodit Richard. [Taputuksia] DAVID MALAN: Erittäin hyvin tehty. Kiitos. [Taputuksia] DAVID MALAN: Niin hauskaa ja nähtävästi tavallaan pelottava kuin se voisi olla toteuttaa niinkin näennäisesti hienostunut kuin tämä, ymmärtää, että opiskelija ei esitetty, ja vain kirjoittaa tämä kaikki kerralla. Pikemminkin voi hajottaa ongelma näennäisesti monimutkainen koska tämä tulee paljon pienemmiksi paloiksi, ja tämäkin on olemaan teema. Pahinta mitä voit tehdä kirjallisesti ohjelma useimmissa tahansa kieli on istua alas, saa todella innoissaan, kirjoita Koko hemmetin juttu, ja sitten vain toivoa, että se toimii kerran olet lopettanut kirjoittamisen. Pikemminkin, prosessi ohjelmointi olisi yleisesti hyvin tarkoituksellinen, hyvin iteratiivinen, jolloin juuri asettaa hyvin pieniä askeleita itsellenne, bite-size kappaletta Haluatko purra, ja niin että sinulla on nämä järki tarkastukset, pikku virstanpylväitä voit tavata. Ja sitten rakentaa päälle nuo luoda enemmän hienostunut asioita edelleen. Niinpä esimerkiksi, kuinka voisimme edetä täytäntöön peli kuin tämä? No, suoraan sanoen, olisin varmasti aloittaa vain tukee yhtä näppäintä kerrallaan. Toivotaan vain toteuttaa tuki vasenta nuolta. Joten opiskelija oli jotenkin luoda Photoshopissa tai Raaputa itse käyttämällä pikku graafinen editori, nuolinäppäin joka näyttää yksi vasemmassa yläkulmassa siellä vain harmaa paikkamerkki. Sitten opiskelija oli selvittää, mitä x, y koordinoimaan laittaa sen, mihin se ikkunassa. 0, 0 on täällä, joten sinun täytyy selvittää määrä pikseleitä tai pisteitä, korvata, että nuoli näytön yläreunassa. Ja sitten kun se on paikallaan, sinun ei varsinaisesti tee vielä mitään, joten sinun sitten täytyy toisen sprite varten Esimerkiksi vihreä nuoli, joka on myös vasemmalle osoittava, ja te Sitten täytyy alkaa kirjoittaa joitakin skriptejä sitä. Ja huomaat, kenties, että nämä asiat alkoivat tulossa eri nopeuksilla, ja värit olivat eri paikoissa, ja se johtuu opiskelija käyttää hieman pseudo satunnaisuus. Ja pseudo sattumanvaraisuuden, en tarkoita pelkästään poimia useita välillä jotakin ja koska voit alkavat karttaa asioita, kuten jos numero on yhdestä ja viisi, hyvin, tehkäämme asia vihreää. Jos se on välillä 6 ja 10, tehkäämme palapelin punainen sijaan. Niin kauan kuin sinulla on tapa tuottaa jonkinlaista satunnaisuus, voit tehdä päätöksiä, jotka perustuvat että satunnaisuus. Ja minä pitää sanoa pseudo random koska siellä vähän likainen salaisuus. Tietokoneet eivät keksiä satunnaisia ​​numeroita. He voivat tehdä vain mitä käsketään, koska he ihmisen laitteita. He eivät voi vain arvata numero kuten me ihmiset tuntuu pystymme. Tietokoneen täytyy tehdä jotain matemaattista loihtia illuusio matemaattinen numero, joskus käyttäen Nykyisen päivän ajan tulona mietitään mitä numero palata, mutta siitä lisää toisella kertaa. Nyt vain tietää, että voimme tuottaa pseudo satunnaisuutta. Joten kun olen kyky vasenta nuolta alkaa esiintyvät eri aikoina ja eri nopeuksilla, niin Voin palata ja lisätä joitakin näistä, jos olosuhteet. Jos tämä sprite koskettaa toista, ja vasenta nuolta näppäintä on painettu - joten kolme ehtoa siinä tapauksessa. Voin käyttää sitä ja estää ehkä tässä tapauksessa - Sitten haluan mennä eteenpäin ja kasvattaa pisteet. Ja ylös, meillä on pisteet, olemme Awesome, Cool, hyvä, ja Boo. Joten ei ilmeisesti viisi muuttujaa että opiskelija käytetään seurata näitä eri mittareita. Eli lyhyesti sanottuna, lopputulos on hämmästyttävä. Se on hauskaa, se on hauska pelata, se harjoittaa, mutta tämä ei ole jossa opiskelija alkoi. Hän aloitti paljon pienempi joukko vaiheita. Mitkä ovat joitakin muita rakennuspalikoita, että voimme kutoa näihin ohjelmiin? No, on tämä toinen käsite useimmilla kielillä, Naarmuttaa niiden joukossa, jotka tunnetaan kierteet. Joten tietokone voi itse oikeastaan ​​tehdä useita asioita samanaikaisesti aikaa, ainakaan yleensä. Pikemminkin, tietokone on yleensä vain yksi CPU, ja jopa Vaikka tietokoneet ovat erittäin nopeita, ja voi siten luo illuusion tehdä useita asioita samanaikaisesti - tarkistaa sähköpostin, saada instant viestin, tulostus asiakirja - todella, tietokone on vain hyppäämällä tulostus IMing ja sähköpostitse, takaisin ja takaisin ja edestakaisin niin nopeasti, että me hidas älyinen ihmiset vain eivät ymmärrä, että se on oikeastaan käynnissä nämä ohjelmat vähän kerrallaan. Nyt tämä hieman valkoinen valhe näinä päivinä, koska nykyään, monet meidän tietokoneet ovat mitä kutsutaan multi-core, joten yksi CPU, mutta useita sydämiä, joka on ikään kuin ottaa useita suorittimia. Ja niin joskus, tietokoneet voi todella tehdä useita asioita kerrallaan, mutta yleensä ohjelman sisällä, ohjelmien riippuvaisia ​​näistä asioita kutsutaan kierteet. Joten kierre on tavallaan kuin pienoiskoossa ohjelma, joka voi rinnalla toinen miniatyyri ohjelman voi ajaa rinnakkain, tai ainakin voi kulkea illuusion, että he käynnissä samanaikaisesti. Joten Scratch tukee näitä asioita kutsutaan kierteet. Sinulla voi olla useita skriptejä täytäntöönpanovaltiossa kerralla, aivan kuten me teki merileijona, ja tämä antaa meille mahdollisuuden todella sitten on vuorovaikutus näiden sprites. Anna minun mennä eteenpäin tänne ja vedä ylös, sanotaanko, kierteet ja pelata tätä seuraavasti. Meillä on kaksi sprite, joista kukin näemme on vain yksi käsikirjoitus. Ja huomaat, että näyttää olevan jonkin verran älykkyyttä kissa tätä, koska hän lähestyy - [Ulvoo] DAVID MALAN: - ja lähempänä pikku lintu. Joten miten on lintu käyttöjärjestelmä? No, katsotaanpa katsomaan linnun ensin. Lintu script sanoi kun vihreä lippu napsautetaan, siirry x on yhtä suuri kuin negatiivinen 115 ja y on yhtä kuin 150. Joten olen vain tajunnut satunnaiseen paikkaan, jossa halusin lintu aloittaa, ja minä vain plopped hänet sinne oletuksena. Sitten ikuisesti, jos ei kosketa kissa, joten tämä on erilainen sellainen kiehkura rakentaa, mutta sama idea, tehdä tämän uudestaan ​​ja uudestaan ​​ja uudestaan. Niin kauan kuin et kosketa kissa, siirtää kolme vaihetta, ja jos olet reunalla, pomppia, missä se on eräänlainen pohdinnan biljardi merkityksessä. Niin, että miten lintu liikkuu sellainen näennäisen satunnaisesti, mutta se on vain koska se on kimposivat seinät tässä tapauksessa. Nyt kissa puolestaan ​​on tavallaan huijausta. Kissa, kun vihreä lippu napsautetaan, kyllä, alkaa Joissakin sijainti, satunnainen sijainti - ainakin osittain kohti pick satunnainen vihreä block siellä - ja sitten ikuisesti, jos koskettaa lintu, pelata leijona äänen, ja sitten lopettaa käsikirjoituksen. Joten kun sanoin lopettaa tai poistua ennen siellä palapeli pala Scratch joka vain tappaa ohjelman että kohtaan, koska se on tavallaan loogisesti tehty. Mutta muuten, täällä, huomaa mitä tulee tapahtumaan. Kohta kohti lintu ja siirtyy askeleen. Joten tässä vaiheessa kohti lintu on eräänlainen etu kissa on, että se on itseohjautuva liikkuvaan lintu, ja voimme nyt tehdä tämän ohjelman kaikki mielenkiintoisempia. Sen sijaan liikkuvat yhden askeleen kerrallaan kohti CPU sykli kohti lakko menetyksiä kelloa, niin sanotusti, anna minun mennä eteenpäin ja liikkua, sanotaanko, viisi askelta kerrallaan kissan. Valitse Suorita, ja nyt hän todella löytää hänet nopeasti. Jos me kaksinkertaistaa edelleen 10 askelmaa, se tavallaan menee oikea hänelle. Nyt voimme antaa lintu, ehkä vähän etua. Mennään lintu ja sano siirtelyn sijaan kolme vaihetta, lähdetään hänen 30 askelta. Mutta hän silti joutui lopulta. Joten tässä meillä on kaksi kierteet. Se vangittuna Scratch kaksi skriptit ja kaksi sprites, mutta ajatus muilla kielillä on, että voit kirjoittaa kaikkea, liikaa ohjelmia, kuten tämä, ja on ne ajaa todella, tai kuvitellusti, rinnakkain. Nyt siellä on myös tämä käsite ohjelmoinnissa tunnetaan tapahtumia, ja tämä on jotain emme näe C, kieli tunnetaan C. Näemme sitä kohti lukukauden loppua web ohjelmointi, kun esittelemme JavaScript ja käsite rakennuksen verkkosivuja, jotka ovat dynaamisia ja vuorovaikutuksessa käyttäjien kanssa. Joten tässä tapauksessa meillä on hyvin yksinkertainen esimerkki kahden sprites, poika ja tyttö, joista jokainen on omalla kierteet, mutta jotenkin nämä kaksi ovat toisistaan ​​yhteydenpito tavalla jotain kutsutaan tapahtumista. Joten anna minun mennä eteenpäin tässä ja zoomata pojan kirjoitus, joka näyttää tältä. Kun vihreä lippu napsautetaan, ikuisesti toimi seuraavasti. Jos avain Space tai välilyöntiä, painetaan, sano Marco kahden sekunnin, joka on puhtaasti esteettinen päälle näyttö, pieni puhekuplan, mutta sitten lähettää. Joten lähetys on toinen Scratch pala, joka on tyypillinen luokan toiminnallisuuden ohjelmoinnin joka mahdollistaa eri ohjelmia, erilaisia ​​lankoja, väliseen kommunikoida, jotenkin lähettää viestin, yksi toiseen. Syöttäminen paperi luokassa on eräänlainen matalan teknologian vastaava. Niin lähettää tapahtuman. Voin lähettää tämän viestin, ja sana tapahtuman on täysin mielivaltainen. Scratch on joskus näitä alasvetovalikoilla, joten olen vain tuli satunnainen sana kuin tapahtuma, koska nyt, mitä poika tekee kun painan näppäintä hän lähettää tämän tapahtuman. Ja jos katson nyt tytön käsikirjoitus, hänen käsikirjoitus on super yksinkertainen, koska se tarvitsee tehdä, ei toimi, kun Vihreä lippu on napsautettu. Hän on suunniteltu toimia, kun hän saa lainata, lainaus päättyy, "Tapahtuma", ja siinä vaiheessa, hän kuuntelee siksi ns tapahtuman uudestaan ​​ja uudestaan. Heti kun hän saa joka tapauksessa hän aikoo huutaa Polo kaksi sekuntia. Ja niin voit ehkä päätellä tästä mitä Seuraava tulos tulee olemaan. Saanen napsauttamalla vihreää lippua. Mitään ei tapahdu, koska minun täytyy tehdä mitä? YLEISÖ: Space Bar. DAVID MALAN: Space Bar. Poika sanoo Marco, tyttö sanoo Polo. Mutta se ei ole koodattu sinänsä. Se välistä viestintää skriptejä, joten nyt on kyky tehdä vieläkin monimutkaisempia ohjelmia, joiden nämä kaksi ovat jotenkin toisiinsa kommunikoida. Joten mitä suuntiin voimme ottaa tämän? No, ongelma asettaa 0, todella, tavoitteena on hauskaa Scratch. Sillä hakkeri painos, sinulla sen sijaan on hauskaa enemmän kehittyneempi versio Scratch nimeltään BYOB, Build Oma Blocks, mutta idea on sama. Pystyt - Kyllä, se oli tahallista. Se tuli Berkeley. BYOB on hakkeri painos versio, mutta molemmat väestönkehitys, Standard Edition ja hakkeri painos samankaltaisia, Tavoitteena käsillä tulevan viikon on oikeastaan ​​vain sukeltaa syvä, saada kädet likainen ohjelmointia ja tee jotain mielenkiintoista, tee jotain interaktiivinen, jotain taiteellista, tee jotain hauskaa todella osoittaa, niin että viikon loppuun, sinulla on projekti, ei vain ensimmäinen CS50 PSET, mutta sinulla on jotain pientä, että voit keuliminen Annenberg ja ystävien tai jopa perheen lähettämällä se MIT: n verkkosivuilla. Ja niin kuin sanoin keskiviikkona, odotamme 90% luokkaa, yleensä tehdä standardin versioita. Ymmärtää, että siellä on myös tämä markkinat niille, jotka muuten löytää itsesi hieman kyllästynyt perusasiat ja todella haluavat sukeltaa ja veneet visio jo on etukäteen taustalla tässä ystävällisempiä ympäristöön. Joten anna minun vetää yksi muu esimerkki, että yksi meidän entisen opiskelijat täällä teki ja kertoa hieman jotain kautta laulu. Että samalla, kun tämä näytelmiä, mieti miten edetä Ohjelman toteuttamisessa käytetään juuri näitä samoja rakennuspalikat, hieman pseudo sattumanvaraisuuden ja hieman tuttu laulu. Jos voisimme nostaa äänenvoimakkuutta vain vähän? [MUSIC - "Se on Raining Men" The Weather Girls] DAVID MALAN: Siinä se CS50. Tulemme näkemään sinut maanantaina. [Taputuksia]