SPEAKER: Olen [kuultavissa]. Ja olen vanhempi klo Leverett House. Opiskelen tietojenkäsittelytiede, ja olen TF CS50. Kuten fuksi, en edes ole kannettava tietokone tai älypuhelin. Minulla ei ollut mitään kokemusta ohjelmoinnista. CS50 oli ikimuistoisin tietenkin, että Otin Harvardin koska se oli taistelu, mutta se oli todella fun taistelu samaan aikaan. Ja tein paljon uskomattomia, pysyvä ystäviä, ja olen oppinut paljon todella sovelletaan taitoja. Olen vain niin iloinen, että en anna minun puutteen taustalla olla tekosyy minua ole CS50. Olen [kuultavissa]. Olen vanhempi klo Leverett House, luokka 2014. Ja otin CS50. DAVID MALAN: Eli tämä on CS50. Tämä on viikon lopussa nolla. Ja muistaa missä aloitimme viime kerralla, oli näitä lamppuja, jotka olivat niin suosittu, että menimme ja ostin lisää tänään. Joten mielestäni tämä on meidän juttu tänä vuonna - Kirjoituspöydän lamput jos tulet lavalle, ainakin kunnes loppuu. Mutta käytimme näitä muistaa, ottaa käyttöön perusteet tietojen esittämisessä. Tarvitsimme tapa aloittaa edustavat tietoa sisällä tietokoneen. Ja yksinkertaisin tapa tehdä se oli yksi ainesosa, sähkö. Ja yksinkertaisin asia, voit tehdä sähkö on käynnistä se ja se. Anna Elektronit virtaavat vai ei. Ja käyttää näitä kahta perustilaa pois ja tai epätosi ja tosi, tai nolla ja yksi, aloimme nähdä, että voisimme rakentaa up, tässä tapauksessa valoa sipulit, enemmän numeroita kuin vain nolla ja yksi. Laskimme peräti seitsemän, Esimerkiksi viime kerralla. Mutta meidän täytyy tehdä, on pitää heittää enemmän ja enemmän hehkulampput että ongelma, ja todella, voimme edustaa numero, joka meillä mahdollisesti haluavat. No, me siirryttiin nopeasti sitten Keskiviikosta tämä tavu vapaaehtoisia. 8 bittiä me yleensä kutsumme tavu, joten tässä meillä oli kahdeksan vapaaehtoista Keskiviikkona jotka yhdessä olivat edustaa kahdeksan bittiä. Ja kun ne meni , he olivat yhdessä. Ja kun ne olivat alas, oli nolla. Ja meillä oli nämä ihmiset keksiä lavalla miksi? Mitä pystymme tekemään kanssa Tämä bittijono? Voit luoda aakkoset. Pystyimme rakentamaan sen päälle edellinen opetus ja oikeastaan alkaa tehdä mielenkiintoisempia tietoa, joka on ainakin enemmän tuttu meille ihmisille. Ja tämä tulee olemaan toistuva teeman 50, mutta myös tietokoneen tiede yleisemmin, tämä ajatus tasoilla, jos lopussa päivä, jos todella alkoi perusasiat tietokoneen, kyllä, se on nollia ja ykkösiä. Ja alla, että se on vain sähköä. Mutta hyvin nopeasti alkaa ottaa nämä alhainen yksityiskohdat itsestäänselvyytenä ja alkaa kerros päälle aikaisemmin työskenteli tehdään niin, että me viime kädessä siitä, lopussa lukukauden ja todella, yleisemmin tietotekniikan tutkijoita ja ohjelmoijat voivat tehdä joitakin todella voimakas asioita hyödyntämällä työtä että olemme itse tehneet ja myös seisoo olkapäillä toisten. Nyt nopeasti siirtynyt keskiviikkona alkaen vain tarvitse esittämiseen haluaisi tehdä jotain. Mitäs me määrittelemme algoritmi? Käskyjä. Joten se sarja ohjeita, useita vaiheita, että voit, ihmisen tai tietokone, tyypillisemmin, olisi suorittaa yksi toisensa jälkeen, jotta saavuttaa jotakin päämäärää. Ja meillä oli muutamia tavoitteita viimeisen kerran, joista yksi oli laskea henkilöä huoneessa. Ja toinen esimerkki oli löytää Mike Smith puhelinluettelosta. Joten ehkä muistatte, että revin puhelimen kirja puoli tätä kohti päätyä löytää Mike Smith. Tarkoituksena on, että visuaalinen oli osoittaa jälleen, että olimme kirjaimellisesti repiminen tämän ongelman puoli, puoli, puoli, ja hyvin nopeasti menee kuin 1000 sivua vain yhdellä sivulla. Ne teistä, jotka ovat jääneet tätä Keskiviikko Luulin toistaa kuvamateriaalia, mitä menetit. Katsotaanpa katsomaan. [VIDEOTOISTOSTA] -Siellä mennään. 1500 sivua, Nice clean linja, laillista repiä. [END VIDEOTOISTOSTA] DAVID MALAN: Joten se oli keskiviikkona. Me siirtyminen, vaikka keskiviikkona nyt haluaisi edustaa algoritmeja Joissakin hieman tavallinen, ei vain kuvataan niitä suullisesti, mutta yrittää ilmaista ne kirjallisesti tai tietokoneen näytöllä, jotta voisimme alkaa parannella ja muokata heitä, ja lopulta itse analysoida, kuinka oikein tai kuinka nopeasti he olivat. Joten otimme käyttöön tämän käsitteen ja pseudokoodi, mikä Maallikon termein, on mitä? OK, sanoja. Mennään hieman syvemmälle kuin että. Englanti, varmista, ovat vaan kohti mitä varten? Sanat, joilla luodaan tai edustaa algoritmeja. Joten ei ole mitään yhtä kieltä tiedossa pseudokoodina maailmassa. Se on vain, että sinä, Englanti, tai mikä tahansa puhuttu kieli on, käytä eräänlainen pintapuolinen merkintätapa välittää idea hyvin ytimekkäästi. Mutta näemme, että varmasti kanssa Englanti pseudokoodit ja se osoittautuu useimmat ohjelmointikielet itse ovat johdannainen Englanti itse, Löydämme että on olemassa jokin vakio tapoja edustavat pseudokoodina ja myös ohjelmointityötä. Joten kun alkaa nähdä edes yksinkertaisimpia esimerkkejä tänään, ymmärtää nämä Sama kuviot toistuu ensi viikolla. Joten pseudokoodina oli jonkinlainen Kielen muistuttava ohjelmointikieli. Ja ensimmäinen esimerkki näimme visuaalisesti kirjoitettu oli tämä. Se oli vain kolme askeleen ohjelma, Tavoitteena oli laskea montako ihmisiä asuntolan tilaa että video keskiviikkona. Mutta oli muutamia mielenkiintoisia näkökohtia Tämän yksinkertaisin ohjelman. Ja tämä on toistuvia teemoja. Joten niille, jotka eivät tunne Tässä yksi, otimme käyttöön muuttuja. Ja luultavasti jokainen tässä huoneessa on tuntee muuttujan yhteydessä algebra. Mutta täällä ohjelmointi, muuttujat on yksi, voi olla nimeltään mitä haluamme. Olemme käyttäneet n kuin laskuri. Mutta voisimme käyttää sanaa laskuri, tai kuten näet, eniten tahansa lause, joka haluat ehkä niin kauan kuin se on kuvaileva, mutta se on oikeastaan ​​vain säiliöön. Se kimpale muisti, jotkut määrä bittiä, ja se vaihtelee tietokoneen, miten monta bittiä on, että säveltää muuttuja. Mutta voimme laittaa arvoja sen. Tähän mennessä olemme vain laittaa numeroita. Mutta voimme laittaa todellisia sanoja. Voimme laittaa kohdat. Voimme laittaa kuvat - mitään, todella, voimme edustaa kanssa nollia ja ykkösiä, voimme laittaa tämän korkeamman tason käsite muuttujan. Joten melko suoraan eteenpäin siellä. Ja se on linjalla yksi. Mutta hyvin nopeasti siirtynyt line yksi todella tehdä jotain, että muuttuva. Ja linja kolme, me päivitetty N. Me kasvatetaan N. Ja voimme kirjoittaa tämän kuinka monella tavalla tahansa. Mutta ehkä kaikkein ilmeisin on vain sanoa, asettaa N: n arvoksi mitä N on plus 1. Niin, että oli meidän verran. Samaan aikaan, oli silmukka. Ja tämä yksi, sekin on luultavasti melko intuitiivinen. Silmukka on vain jotain ohjelmaa että tapahtuu uudelleen ja uudelleen, jotkut tällaista aikana. Ja tämä hokeman täällä, jokaisen on itse asiassa hyvin yleinen lähes koko ohjelmointikielet, kuten niitä näemme aikana. Aina kun näet sanan, se tyypillisesti sisältää ajatuksen, että silmukka, jotain syklistä, on noin tapahtua. Mutta on syytä huomata, yhden muut syntaktinen yksityiskohtaisesti. Se, että kolmas linja on todella sisennetään ottaa osuma välilyöntiä muutaman kerran on tahallista. Koska ihmisen yleissopimus on sellainen, että kun teet jotain uudestaan ​​ja Jälleen silmukka, koska alkanut linjalla kaksi, voit luetelmakohta mitään, kuului siihen silmukka vain tehdä selväksi, että se linja kolme mutta esimerkiksi line neljä tai viisi, jos oli linjat tai viisi, jotka ovat osa tätä silmukoita. Joten tämä yksinkertainen syvennys välittää, että perusajatus. Joten haimme tämä algoritmi, nyt, muutamia esimerkkejä. Ja tämäkin yksinkertainen esimerkki todellisessa maailmassa. Mutta se tulee olemaan edustava miten voit mennä noin testaat omistavat yhä monimutkaisempia ohjelmia. Yrität joitakin tilanteita, jotkut edustajat tuloa, ja katso jos saat haluamasi lähdöt. Joten tämä oli esimerkiksi kaksi ihmistä istuu asuntolan huoneessa. Vasemmalla on samaa pseudo koodia. Ja tämä on kuvakaappaus hyvin viimeinen vaihe soveltamisesta algoritmin niille tuloa, jos oli kaksi henkilöä huoneessa ja muistaa, kun me selata linjat yksi, ja kaksi ja kolme, ja kaksi ja kolme ja tehty - loppuun mennessä, että algoritmi, meillä oli todellakin lasketaan kaksi kaverit, jotka ovat huoneessa. Joten yritimme toinen esimerkki. Ja me sanoimme mitä jos on olemassa nolla henkilöä huoneessa? Onko tämä koodi vielä oikein? Ja se todellakin oli. On vain niin, että linja kaksi ja, näin ollen, rivi kolme tai aio toteuttaa. He eivät tule lainkaan tapahtumaan koska he vain ei sovelleta, jos siellä on nolla henkilöä huoneessa. Mutta ei ole iso juttu. Line yksi alustettu N nollaan, niin vaikka vain yksi tämän Ohjelma itse päätyy hyödyllistä, se silti tuottaa oikean vastauksen, kuten merkitty oranssi nollaan alareunassa. Mutta sitten päätimme, että oli Tällainen tyhmä algoritmi. Se oli melko hidasta. Totisesti, minä voi tehdä kaksi, neljä, kuusi, kahdeksan, kymmenen, kun laskenta ihmisiä huoneeseen. Joten me viritetty algoritmi, pseudokoodit sanoa, nyt linjassa kaksi, jokaisen parin ihmisiä huoneessa, edetä, linjassa kolme, lisäys vuonna kaksi kunkin iteraation. Niin, että olisi työskennellyt täällä Tässä pari henkilöä huoneessa. Mutta sitten, jos alkaa miettiä Tämä ja se ei kestänyt kauan ymmärtää, odota hetki tämä on aio rikkoa, se hajoaa mitä yksinkertainen asia? Jos siellä on kolme henkilöä huoneessa tai yleisemmin, kun on pariton määrä ihmisiä huone, joista yksi. Olisimme missata henkilö tässä, koska ei ole sellaisia ​​pareja. Joten me nopeasti puututtava sijaan käyttöön mitä muita ohjelmointi konstruktioita ja pseudo-koodi. Joten kunnossa, me kutsuimme se, tai sivuliike. Ja se on tarkoitus välittää, visuaalisesti, Ajatus sivuliikkeen, tienhaarasta jossa voit joko tehdä tämän tai, ehkä, jotain muuta. Ja todellakin, me käsittelemme tätä kysymystä lisäämällä rivi 4, sanomalla, todella kello aivan lopussa, jos yksi henkilö pysyy, sitten mennä eteenpäin ja laskea niitä erityisiä. Joten olet tavallaan erikoistapaus niitä, joten puhua, jotta nyt voimme käsitellä sekä parillinen määrä ihmisiä ja pariton määrä ihmisiä. Nyt olemassa useita tapoja olisimme voineet ilmaisi tämän. Ja suoraan sanottuna, en voinut olla vieläkin nit nirso, kun se tuli minun valinta Englanti varten pseudokoodina. Mutta ainakin henki idea välittyy. Jos annoit koodin kaverille joka ei ole CS, tai ei ole koskaan otettu CS, kertoimet ovat he voisivat selvittää, annettiin kolme henkilöä huoneessa, miten laskea ne ihmiset perustuu ohjeiden mukaan. Ja se kaikki todella haluamme saavuttaa kanssa pseudokoodit jotenkin standardoida miten aiomme noin edustavat ajatuksia, jotta voimme alkaa tehdä monimutkaisempia asia vielä. Joten, joka johtaa meidät sitten tänään, todellista koodia. Alamme ohjelma tänään, vaikkakin mukavassa ympäristössä. Ja sitten me siirtyminen hyvin nopeasti enemmän mystistä syntaksin, mutta joka näet on pohjimmiltaan sama kuin ideoita näkevät ilmenee kanssa tämä toinen kieli tänään. Se on vain menossa katsomaan hieman erilainen. Joten mieluummin kuin vain soittaa tätä koodia, olen olemaan hieman tarkempi ja sanoa, vastedes, kun kirjoitat ohjelman, kirjoitat lähdekoodia. Se on tavallaan kuin pseudokoodina. Mutta näemme se ei ole sellainen löysä kun se tulee valita sanoja että käytät. Kun ohjelmointi kielellä, sinulla on käyttää sanoja, lauseita, syntaksin, että muut ihmiset ovat päättäneet edustavat kyseisellä kielellä. Joten pseudocodes on sinun. Todellinen ohjelmointikieli kuten C, koska me lopulta nähdä, on standardoitu muita ihmisiä. Miten siis edetä kirjallisesti jotkut lähdekoodi? No aion mennä eteenpäin ja tehdä tämän. Aion mennä eteenpäin ja avata ikkuna täällä. Lisää tästä ensi viikolla. Mutta tämä on laite nimeltä CS50 laite. Olen käynnissä pala ohjelmisto minun Mac, mutta voit tehdä saman asian Windows-tietokoneeseen, joka antaa minulle illuusio käynnissä eri käyttöjärjestelmän kokonaan oikealle täällä ikkunaan Macin. Olen aivan täynnä seulottu niin et itse nähdä Mac OS juuri nyt. Tämä on käyttöjärjestelmä nimeltä Linux. Se on hyvin suosittu. Se on erittäin nopea. Se on hyvin vapaa, ja se on tehnyt hyvin pakottavia, erityisesti kaupallisessa maailmassa. Ja lisää, että loppua kohti lukukauden kun käytämme Linux melko vähän web ohjelmointi ja ylläpito Varsinainen verkkosivustoja ja hankkeita. Joten nyt vain tietää, että tämä on työpöydän joka on tarkoitus näyttää epämääräisesti tuttu Windows-ja Mac OS. Se vain on hieman eri nimiä ja kuvakkeet asioita. Mutta tämä on niin sanottu CS50 laite, virtuaalikone, että alkaa ensi viikolla, te kaverit ajaa sisällä ikkuna oman Mac-tai PC. Tänään aion avata yksinkertaisin ohjelmia. Sitä kutsutaan gedit. Ja tämä on vain graafinen editori. Se on ikään kuin Microsoft Sana, mutta yksinkertaisempi. Se on ikään kuin tekstin edit tai notepad. Se on vain hyvin yksinkertainen ohjelma joka kirjoittaa sanoja ruudulla. On vain niin mitä tapahtuu, että jos minä pelastan tiedostoja, jotka luon kun tämä ohjelma erityinen laajennus kuten. c sijaan on. doc tai. xls, tai mitä tahansa olet perehtynyt, voin oikeastaan luoda ohjelmia käyttäen edes tätä yksinkertaista tekstieditori. Joten anna minun tehdä sitä. Anna minun mennä eteenpäin ja tallentaa tiedosto ensin hello.c. Ja vielä, tämä käyttöliittymä tullut tutulta nopeasti. Mutta nyt, olen vain kirjoittamalla Tiedoston nimessä. Aion säästää se minun John Harvardin kotihakemiston. Ja nyt minulla on tämä välilehti, joka ilmaisee Olen todellakin muokkaaminen tiedosto nimeltä hello.c. Joten ei mitään liian mielenkiintoista vielä. Ja nyt se tulee saada melko arvoituksellinen. Aion suurentaa vain niin se on enemmän näkyvissä. Ja aion aloittaa kirjoittamisen myös stdio.h, int main, mitätön, avoinna kihara ahdin, yksi, kaksi, kolme, neljä aluetta painuman, tulostaa f, tulostus jotain alustettu, lainaus lainaus, "Hello, world" kenoviiva n lähellä lainaus, loppusulkumerkit, puolipiste, kirjoita askelpalauttimen, askelpalauttimen, askelpalauttimen, askelpalauttimen, suljettu kihara ahdin - Olen ohjelmoitu. Okei, joten tämä on erittäin yksinkertainen ohjelma, todella, ohjelma joku alkaa ohjelmointia. Ja kaikki se, kaikki sen monimutkaisuus, on tulosta ulos näyttö, arvaa mitä? Hello world. Mutta se ei riitä vain kirjoittaa ohjelman. Joten tämä on koodi. Tämä on lähdekoodi kieltä kutsutaan c. Se tallennetaan tällä hetkellä tiedosto nimeltä hello.c. Katsokaa nyt alhaalla on näytön täällä. Lisätietoja tästä, jälleen vuonna tulevina viikkoina. Mutta tämä on mitä me kutsumme terminaali-ikkuna. Se vilkkuu, musta ja valkoinen nopeasti. Se on eräänlainen vanhan koulun käyttöliittymä tietokone, joka ei yleensä Käytä hiirtä tai muita graafiset elementit. Se vain käyttää näppäimistöä. Ja voin kirjoittaa komennot Tämän vilkkuu nopeasti. Ja nykypäivän tarkoituksiin, olen vain menossa kirjoita seuraava - tehdä hei. Ja että ohjelma tehdä, on vain ohjelma, todellisessa maailmassa nämä päivää, olisimme tuplaklikkaa. Mutta tämä käyttöliittymä tänään, olemme aikoo kirjoittaa sen nimen tässä nopeasti. tehdä hei on kirjaimellisesti menossa tehdä minulle ohjelma nimeltä hei. Ja se aikoo tehdä niin katsomalla tiedostolle, vain Oletuksena kutsutaan hello.c. Se tulee olettaa, haluan C-ohjelma luonteen mukaan, miten tämän tietokoneen on määritetty. Joten menin eteenpäin ja paina enter. Näen joitakin arvoituksellisia tuotos, mutta Tämä tulee aivan liian tuttu ennen pitkää. Tämä tapahtui ajaa kääntäjä, enemmän on, että hetki, jota kutsutaan kalahtaa. Mutta nyt minulla on vain yksi vilkkuu pyytää. Ja voin mennä eteenpäin nyt ja kirjoita piste slash, sillä mielenkiinnoton syistä hyvitämme palata ensi viikolla - Hei. Joten kaikki tämä vaivaa toistaiseksi vain kirjoittaa yksinkertaisin ohjelmia, että heti kun Enter, tekee sen. Joten olen kirjoittanut minun ensimmäinen ohjelma. Joten olen tietoisesti pilaa Tässä hyvin yksinkertainen ohjelma varten pari syistä. Yksi, se on vaikea saada innostumaan noin ottaen luokka, jos tämä on loppupelin. Mutta enemmän kuin, että siellä on paljon häiriötekijöitä täällä. Ensimmäisen kerran opit ohjelma, Niille teistä vähemmän mukava, ja jopa minä, takaisin seuraavana päivänä, kun ensimmäinen näki jotain tällaista - voit sellaista kuvan, että okei, tämä on tulosta hello world. Mutta siellä on niin paljon häiriötekijöitä. On niin paljon syntaksin ruudulla että se saa sillä tavalla hyvin yksinkertainen, muuten yksinkertainen, ideoita. Joten mitä aiomme tehdä tänään olemme aikoo laittaa syrjään C ja tulevat takaisin, että maanantaina. Ja aiomme käyttää graafista ohjelmointikieli nimeltään Scratch. Tämä on ohjelmointikieli, että minä viittasi keskiviikkona, että menee jotta voimme tehdä samanlaista tavaraa mutta läpi sormien, tänään, to aaltosulkeiden, suluissa, puolipisteet, ja kaikki nämä tyhmä häiriötekijöitä, jotka saavat tavalla, ensimmäisenä päivänä, joitakin perustietoja, melko mielenkiintoisia ajatuksia. Joten kohti tätä varten, aion mennä takaisin työpöydälle tänne ja esitellä sinulle vaihtoehto, että ohjelma, joka on menossa katsomaan vähän jotain valoa tähän. Näin aiomme toteuttaa, että Sama ohjelma tänään - kaksi palapeli kappaletta, että kun lomittain ja napsautti, sanoo maailman, hello world. Joten itse mennä sinne. Joten aion mennä eteenpäin ja avata verkkosivusto, scratch.mit.edu. Ja tämä johtaa minut Tällä sivustolla täällä. Etukäteen, olen kirjautunut tähän verkkosivuilla ja ensimmäinen ongelmia käydään läpi Kaikki vaiheet. Aion mennä eteenpäin ja valitse minun tyhjästä kansiosta täällä. Ja tämä on menossa näyttämään minulle joitakin hankkeita, että olen todella luotu etukäteen. Ja käy ilmi, että tämän graafisen ohjelmointikieli ei vain on menossa olkaamme ohjelman vetämällä ja pudottamalla nämä palapelin palaset, sinun ei tarvitse edes erityistä ohjelmistoa. Se kaikki upotettu selain niin että voit tehdä tämän, teoriassa on tietokoneiden juuri nyt, kuten jotkut teistä Saattaa hyvinkin olla, edes tarvitse ohjelmistoja, kuten CS50 laite, joka tulee ensi viikolla. Joten aion mennä ylös nurkkaan täällä ja valitse Luo. Ja hetken aion olla tyhjä näyttö, jonka kautta voin aloittaa ohjelmointi tästä graafisesta ohjelmointiympäristö. Mutta tällä kertaa se tulee olemaan paljon, paljon helpompi itse tehdä niin. Joten vain hetki, kun Wi-Fi yhteistyötä, meillä on nyt tämä näyttö. Niin nopea sanallinen kiertueella, mutta uskallan sanoa, toki kun sukeltaa Ensimmäinen ongelma sarja, sinun löytää kaikki hyvin helposti ja melko intuitiivinen. Mutta katsotaanpa hahmottamaan vain hetken. Joten alla tämä nopea sanomalla save muutoksia, olet tulleet tyhjästä. Tämä on sprite. Se on merkki. Ja hän asuu, mitä me kutsumme vaiheessa Tämä iso valkoinen suorakulmio jossa hän voi liikkua ylös, alas, vasemmalle, oikea, ja tehdä, todella, muita toimia. Samaan aikaan, keskellä tämän käyttäjän käyttöliittymä, meillä on koko joukko palapelin palaset. Ja huomaat, että he sanovat asioita, kuten liikkua 10 askeleen, kääntyi 15 astetta, pisteen tiettyyn suuntaan. Mutta on luokkaa korttelin ylös täälläkin. Joten jos menen ulkonäkö, huomaat, että siellä on muita palapelin palaset ilmeisesti kertoo tämä teos on tervehtimään, ajatella, näyttää itse piiloutua. Jos menen alas sinne, se kääntyy pois siellä tapaa pelata kuulostaa miau, lopettaa kaikki äänet, pelata rumpu. Niin, pitkä tarina lyhyt, siellä on koko nippu palapelin palaset, joiden avulla voit kertoa tämä kissa, tai useita muita merkkejä, mitä tehdä. Mutta jotta tämä kaikki tapahtuu sinulle täytyy aloittaa ohjelmointi. Ja tämä iso valkoinen laatikko, tai harmaa laatikkoon oikealla puolella, tämä on silloin Aion itse vetää ja pudottaa niitä palapelin palaset. Tämä on minun tyhjä tekstiä ikkuna vastaavia. Joten aion mennä eteenpäin ja valitse Ohjaa keskellä. Tai pikemminkin, aloitan perustettu Tapahtumat. Alle Tapahtumat penkki, huomaat muutamia asioita, jotka ovat tietoisesti kaareva päälle siten, että he luultavasti eivät turvamekanismi päälle palapelin palaset. Ja se on, koska ne Demark alku ohjelman, alku script, niin sanoakseni. Joten jos menen eteenpäin ja vedä, kun vihreä lippu napsautetaan tänne, ja sitten minä halua tätä kissa sanoa jotain aluksi. Joten aion mennä alle näyttää paneeli. Ja aion mennä eteenpäin ja napata tervehtimään lohko, ja vedä ja pudota, ja anna mennä niin, että se automaattisesti lukitsee siellä. Ja sitten huomaa voin klikkaa tekstiä. Ja voin ohittaa sen olevan enemmän erityisiä kuten vaikkapa, hello world. Ja nyt meillä on ohjelma, joka Väitän vastaa, että paljon mystistä ohjelmaa olen toteuttanut C hetki sitten. Jos minä menen nyt vasemmalla puolella, huomaa siellä on iso stop-merkin ja iso vihreä lippu. Saanen zoomata selkeyttä. Ja kun nyt klikkaa tätä vihreä lippu, arvata mitä tämä ensin Ohjelma on nyt aikoo tehdä. Joten sielläkin, olemme ohjelmointia, mutta emme oikeastaan ​​juuttua Joissakin näistä syntaktiset, pienimmätkin yksityiskohdat. Mutta katsotaanpa kokeilla jotain hieman mielenkiintoisemman. Anna minun mennä minun Scratch kansioon täällä. Ja oikeastaan ​​haluan niin haluan avata erillinen ohjelma tästä vain hetkellä Maksimoi ikkuna, tiedosto avattuna ja aion mennä tänään lähdehakemistoon. Kuten aina, löydät tänään ja lähtien, että kaikki nykypäivän esimerkkejä ovat saatavilla sisällä Kurssin verkkosivuilla. Ja aion mennä eteenpäin tässä ja poimia jopa vähän jotain erilaista. Tämä yksi täällä, joiden Tarvitsen vapaaehtoisen. Kuka haluaisi pöytälampun tänään? OK, miten joku vähän - oletko loppuun? Tule alas. Nyt haluaisit osallistua, tai vain sanoa aloittaa pöytälamppu? VANESSA: [kuultavissa]. DAVID MALAN: OK. Erinomainen, mikä on nimesi? Vanessa? David. Hauska tavata. Joten tule ja Vanessa menossa vallata minun näppäimistö vain hetken. Ja mitä olen tehnyt täällä, vain aika on vuoksi, koska olen huomannut Wi-Fi oli vähän hidas, Scratch, ohjelmointiympäristö, että olemme käyttäen, voi myös ladata ja ajaa paikalliselle tietokoneelle. Joten mitä tein ennen luento, vuonna Jos näin tapahtuu, on olen ladannut kaikki tiedostot aiomme pelata niin, että ne voivat suorittaa hieman nopeasti täällä minun laptop. Joten siksi nyt näen Mac-erityinen käyttöliittymä. Joten aion mennä eteenpäin ja avata tämä. Aion mennä eteenpäin nyt ja koko näytön ikkuna. Ja kuten näet, voimme hyvin nopeasti, koska tämä opiskelija teki, yksi edeltäjänsä, menevät hello world ja paljon muuta pakottavia hakemus. Joten tässä ovat ohjeet. Niin, ja meillä on yksi asia. Ajattelin, että olisi hauskaa, koska yleensä, me kuvaamisen kamerat tällä tavalla. Ajattelin, että olisi hauskaa, jos Vanessa, voisimme nähdä maailmaa kautta silmäsi. Joten tässä meillä on joitakin Google Glass. [Hämmästynyt henkäisee] DAVID MALAN: Me vain antaa pois Kirjoituspöydän lamput tänään. [Naurua] Joten anna minun cue tähän asti. Okei, joten kosketa tätä. OK, Glass, tallentaa videon. Okei, Vanessa? Nyt, kun syrjään että on saanut mitään tehdä Scratch, jos tarkastellaan hieman ylös ja oikealle, näet kirjaimellinen lasia, ja sinun pitäisi nähdä hieman suorakaiteen muotoinen ikkuna. Sinun pitäisi nähdä kaikki luokkatoverit kuvattiin juuri nyt? Kyllä. VANESSA: Kyllä. DAVID MALAN: OK. Niin se on hieno. Me vapautamme tämän kuvamateriaalia myöhemmin. Nyt käännä huomiota näytön täällä. Ja mitä edeltäjä on tehnyt on laittaa näytön ohjeita vain käyttämällä Paint-ohjelma. Joten olet menossa, hetken, painamalla välilyöntiä alkaa. Ja sitten jotkut palapelin palaset ovat menossa siirtyvän ylös näytön. Ja haluat lyödä nuolinäppäimillä, vain kuten oikeassa DDR mukaisesti asioita riviin kanssa nuolet. VANESSA: OK. DAVID MALAN: Olet pelata tätä ennen. VANESSA: Joo. DAVID MALAN: Okei, Vanessa, mennä eteenpäin ja ottaa sen pois. [MUSIC - kayne WEST, "vahvempi"] [APPLAUSE] DAVID MALAN: Joten nyt ottaa askel siitä. Niin selvästi, että on loppupelin. Loppupelin ei ole hello world. Mutta sinun ei tarvitse välttämättä tehdä asioita, jotka ovat niin vuorovaikutteisia. Voit myös tehdä animaatio. Joten esimerkiksi toinen oman seuraajansa teki tästä ohjelmasta, joka kertoo tarinan yli se ei toteutettu peli. Joten anna minun mennä eteenpäin ja avata tässä Ohjelman meidän samassa lähdehakemistosta alkaen tänään. Tämä yksi puhelu, ja aloitamme kanssa, evästeen rakkaustarina. Eikä tehdä tästä liian akateeminen, mutta kuten katsella tätä, ajatella itse, mikä niistä yksinkertaisia ohjelmoinnin käsitteiden olemme puhuneet noin tähän asti - muuttujia, ja silmukat, ja edellytykset, Oliko edeltäjänsä luultavasti käyttää vain toteuttaa joitakin visualisointeja. Näet täällä. Joten annan sinulle evästeen rakkaustarina. [MUSIC - GREEN DAY, "loma"] [CRASH] [MUSIC - kilpikonnia, "Happy Together"] DAVID MALAN: Okei, joten, meillä oli evästeen rakkaustarina. Sielläkin - [APPLAUSE] DAVID MALAN: Okei, sielläkin ajattele, kuin sydän meni alhaalta näytön yläreunaan, oli todella vähän satunnaisuus tekeillä. Ja todellakin, me näemme, että jopa Yksinkertaisin ympäristöissä, kuten Scratch, kuten C, voit luoda satunnaisia ​​numeroita, tai illuusion satunnaislukuja, niin että peli on hieman mielenkiintoisempaa kuin se voisi olla, jos sinulla on ollut ehdottoman koodattu kaiken. Liikkeen, jonka näet, on siellä on jonkinlainen reagointikykyä. Heti piparkakut mies koskettaa piparkakut nainen, hän tuntuu liikkua pois. Ja niin, todellakin, voit toteuttaa vuonna useimmat ohjelmointikielet, käsite tapahtumia, jolloin jos toisaalta koskettaa Toisaalta, jotka voivat aiheuttaa jonkin verran oman lähdekoodin todella toteuttaa. Voit kuunnella tällaista asiat näytöltä. Joten lyhyen esittelyn jälkeen, ja joitakin rakennuspalikoita voimme käyttää saavuttamaan joitakin näistä tavoitteista. Joten tässä mitä me hyvitämme vastedes soittaa selvitys. Lausuma sattuu olemaan violetti Scratch, vähän jotain tällaista, mutta se on mielivaltainen. Lausunto on vain palapelin pala, tai yleisemmin, opetusta, jotta kertoo tietokoneen tehdä jotain, lausunto. Joten tässä on yksinkertainen otos. Say hello world. Toinen voisi olla odota sekunti. Joten tämä palapelin pala, joka on tuettu Scratch, me anna merkkiä tauko joidenkin määrä sekuntia. Tämäkin on vain lausunto. Tässä seuraava, meillä on toinen enemmän mielenkiintoinen, leikkiä ääni miau, ja pieni nuoli tarkoittaa, että Scratch, Tämä on pudotusvalikosta. Joten voit tuoda ääniä. Voit tallentaa ääntä ja tehdä muita hauskoja asioita Scratch. Ja sekin, vaikka lopussa Päivän, on vain lausunto. Mutta Nyt käyttöön enemmän mielenkiintoinen, että tunnetaan Boolen lauseke. Capital B, nimetty mies nimeltä Bool. Ja Boolen lauseke on palapelin pala tai yleisemmin tieto, joka on joko tosi tai epätosi - yksi tai nolla, kyllä ​​tai ei. Joten se on vain yksi niistä vastakohdat. Joten yksi tällainen Boolen lauseke maailma Scratch näyttää tältä sininen palapelin pala. Ja se kysyy kysymyksen, hiiri alas, ja joka voi olla joko, ja Tietenkin, totta vai tarua. Niinpä tämän palapelin pala Scratch, hyvin, voit havaita, jos palapeli, jos hiiri on, itse asiassa, että pitää alhaalla ihmisen vuorovaikutuksessa ohjelman kanssa. Tämä on hieman abstrakti, mutta nämä kaksi valkoista laatikkoa ovat vain numeroita. Voit siis tehdä asioita, kuten tämä on pienempi kuin muut? Ja jos niin, Scratch käyttäytyy tavalla tai toisella. Tämä on hieman enemmän graafista. Se jos sprite, jos kissa varten Esimerkiksi on todella koskettaa hiiren osoittimen. Joten jos pieni nuoli pään leijuu yli kissa, niin tämä palapelin pala on tosi. Se on totta, jolloin, jos käyttää Boolen lauseke, kuten tulemme nähdä hetkessä, haara, voit joko tehdä tämän, tai voit tehdä sen, aivan kuten meillä oli ehdolla, että tarkastetaan, onko yksi viimeinen henkilö huoneessa? Jos näin on, lisätään yksi. Muuten, älä huolestu vielä. Joten Boolen lauseke voi myös olla ja-ed yhdessä tai tai-ed yhdessä. Joten voit yhdistää Boolen ja sanoa tämä ja tämä on totta koko juttu on totta. Ja tässä on enemmän reaalimaailman esimerkki. Jos olet käyttänyt CS50 Kurssit tehdä kurssin ostoksia, valintaruudut siellä, missä jos tarkistaa, että ruutu kursseja, jotka sanovat, kyllä, vain näyttää minulle kursseja, jotka Q-arvo on 4.5 tai uudempi. Jos poistat sen, ei, älä huolehtia siitä. Tai vastaavasti, oikealla ei Ristiriita Kurssit otan, se on joko tosi tai epätosi. Se on vain Boolen lauseke. Joten kaikki tämä kun olet käyttänyt verkkosivujen valintaruutuja, olet vain toggling vastaa Boolen ilme ja pois. Joten missä muodossa käytät näitä? No, Scratch, näemme hetken että on olemassa edellytykset, että näyttää tältä. Ja se on tavallaan järkevää, koska paljon kuten pseudokoodilla, me sisennetty eräänlainen U-muotoinen palapelin palat, merkitse että mitään sisällä että U on menossa suoritus tai ei, riippuen siitä, missä se on. Joten jos Boolen lauseke, sitten mitä on sisällä saavat teloitettiin. Samaan aikaan on olemassa, jos / muu lohko. Joten jos haluat haara, joka menee tämän niin tai näin, Scratch antaa meille. Ja tämän logiikan, nyt vaikka, että palapelin pala on selvästi liian pieni kiilata jotain muuta sen sisällä, naarmu palapelin palaset, he juuri menossa kasvamaan. Kun vetää ja pudottaa yli jotain, se vain kasvaa sopimaan mitä se on yrität tehdä. Jotta voimme ottaa kaksi näistä asioista ja tee kolme tapaa tienhaaraan niin että olet joko tehdä tämän, tai että, tai tämä toinen asia vain pesii niitä tällä tavalla. Tietenkin, jos et, että liian paljon, se alkaa saada ruma. Mutta siinä vaiheessa, olet todella todennäköisesti ole ohjelmoinnin hyvin. Ja niin, että on toistuva teema myös, että tyyliä. Vain kuinka hyvin itse muotoilla koodi? Tai kuinka hyvin voit suunnitella oman koodin? Mutta siitä lisää myöhemmin. Ja nyt meillä on silmukoita. On mukava ikuisesti silmukan Scratch joka kirjaimellisesti tarkoittaa, että - tehdä mitä on sisällä tätä uudelleen, ja uudestaan, ja uudestaan. Voit olla konkreettisempia ja sanoa, seuraavasti asia 10 kertaa. Voit myös käyttää muuttujia. Voit keksiä mitään nimeä, joka hieman pudota alas ja sanoa, anna minulle muuttuja nimeltä n ja asettaa se sama jossain arvoa. Ja sitten voit olla toimintoja. Mutta enemmän kuin vain hetken. Anna minun mennä takaisin minun Scratch-liitäntä. Ja anna minun mennä eteenpäin tällä kertaa. Ja mennään eteenpäin ja avata, sanokaamme, esimerkiksi - joka on hieman mielenkiintoisempi. Anna minun mennä eteenpäin, ja itse asiassa haluan vain tehdä sen itse. Minun ei tarvitse avata tämä. Anna minun mennä Tiedosto, Uusi. Aion mennä Events. Aion mennä, kun vihreä lippu napsautetaan, ja aion mennä Sound. Ja aion vetää ja pudottaa tämän palapelin pala, toistaa ääntä miau. Se salvat yhteen. Ja nyt, jos klikkaan Vihreä lippu - [MEOW SOUND] DAVID MALAN: Suloinen. OK, joten nyt tehdään jotain hieman loogisempaa vain osoittaa, että voimme nyt. Aion unlatch Tämä siitä että kaveri. Aion mennä hallita. Ja aion napata kunnossa. Joten jos jotain sitten. Niin, että miten se näyttää siellä. Joten minun on Boolen lauseke. Ja anna minun mennä eteenpäin ja sanoa, anna minun mennä Operaattorit. Aion tehdä jotain hieman mathy ihan vain huvin vuoksi. Aion mennä ja sanoa, jos jotain on vähemmän kuin jotain muuta, mennä eteenpäin ja tehdä jotain. Joten nyt tiedät mitä, satunnainen lohko. Joten huomaa, miten, jos olen hääriä tämän asia tässä, että napsahtaa siellä. Joten nyt, ilmoitusta, olen alkanut tehdä jotain jo järkevämpää mielenkiintoinen. Jos satunnainen numero 1 ja 10 on pienempi kuin, sanokaamme kuusi. Jos valitsen kuusi, joka olennaisesti tarkoittaa, tee seuraavat 50% todennäköisyydellä. Se on kuin kolikonheittoa. Nyt voin tehdä jotain ehdollisesti. Ja että jotain aion vain pelata äänen. Joten nyt, kun klikkaa ruudulla lippu, se on kuin heitin kolikon. [MEOW SOUND] DAVID MALAN: Se oli heads tai vaikka mitä siellä. Tehdään se uudestaan. [MEOW SOUND] DAVID MALAN: Heads uudelleen. [MEOW SOUND] DAVID MALAN: Heads uudelleen. Huh huh, OK. Tails tuolloin. Joten 50% ajasta, jos teemme tämän äärettömän pitkä, saamme 50% meows ja 50% hiljentää. Joten ei vain perusrakenneosan lohko, jonka avulla voimme tehdä. Mutta tämä on sellainen ikävä, että olen pitää klikkaamalla tätä nappia. Joten haluan vain vetää ja heittää kaikki nämä pois. Jos vedit heidät keskelle, he vain poistaa itse. Anna minun mennä jopa hallita. Anna minun mennä ikuisesti. Ja tällä kertaa aion tehdä jotain minorly ärsyttävää. [Naurua] DAVID MALAN: Ja anna minun mennä eteenpäin ja tehdä valvontaa. Odota yksi sekunti, vain niin se ei ole liian ritilä. [MEOW SOUND] DAVID MALAN: Se ei ole luonnollista. OK. [MEOW SOUND] DAVID MALAN: Ja huomautus Mitä, nice noin Scratch, niille, jotka on ennen ohjelmointi kokemusta, sinun ei tarvitse aloittaa ja lopettaa. Sinun ei tarvitse kääntää. Sinä vain muuttaa sitä, ja ohjelma sopeutuvat dynaamisesti. Joten tämä on tulossa vähän mielenkiintoinen. Mutta katsotaanpa ottaa sen askeleen pidemmälle. Anna minun mennä eteenpäin ja saada eroon ohjelman. [MEOW SOUND] DAVID MALAN: Sitähän me hyvitämme soittaa vian Scratch. Hän ei pidä tehdä, että äänen. Joten me kerromme häntä lopettamaan. Okei, joten nyt olen aio mennä - Kerron MIT tietää. Menemme tänne ikuisesti. Ja nyt, haluan tehdä jotain uudelleen ja uudelleen. Aion mennä ohjaus. Ja katsotaanpa, aion vetää minun jos ehto on. Joten nyt huomaa logiikan. Kun Vihreä lippu napsautetaan, tehdä jotain ikuisesti, vaan ainoastaan ​​tehdä jotain, jos tämä toinen asia on totta. Aion mennä, nyt sanoa, tunnistus. Ja aion mennä eteenpäin ja valita koskettaa ja pudota sinne. Se Boolen lauseke. Ja nyt, huomaa, tässä pudota valikosta on valmiisiin arvot. Voin siis sanoa, olet koskettaa näytön reunaan? Vai oletko koskettaa hiiren osoitin nuoli ruudulla? Joten aion tehdä niin. Ja jos näin on, niin aion mennä eteenpäin ja toistaa ääntä miau. Joten nyt minulla sellainen on alkaa peli - ihana peli. [MEOW SOUND] DAVID MALAN: OK, ihastuttava, buginen peli. Anna minun odottaa, sanotaanko, yhden sekunnin siellä. Nyt pelata uudestaan, klikkaamalla Vihreä lippu. [MEOW SOUND] DAVID MALAN: Eli nyt on kuten hyväily kissan. [MEOW SOUND] DAVID MALAN: Okei, nyt tämä minun ei tehdä etukäteen. Hyvin myöhään, se saa sellaista helppo tehdä tyhmyyksiä. Joten anna minun mennä tänne. Sanotaan, että on Pet Cat. Katsotaanpa nyt avata Älä Pet Cat. Nyt, jos me pelata tätä, Voit arvata, jos olet katsomatta näyttöä - [MEOW SOUND] DAVID MALAN: Nyt, jos olen lemmikki kissa [Lion ROAR] DAVID MALAN: Joten älä itse lemmikki kissa tässä tapauksessa. Nyt meidän on vain esimerkki haara, joka menee kahteen suuntaan. Nyt haluan mennä eteenpäin ja avaa toinen täällä. Tämä yksi, myös keskuudessa lähde kooditiedostot päivän. Joten anna minun mennä takaisin minun Source hakemisto ja mennä, valitkaamme tämä kaveri täällä ja nähdä mitä eri. Vau, okei, joten nyt se alkaa hieman monimutkaisempi. Ja ennen kuin näemme, mitä tämä kaveri tekee, yritetään päätellä, ohjelmasta oikealla puolella. Ja nyt tyhjästä selvästi antaa meille mahdollisuuden on useita skriptejä, useita ohjelmat, jotka liittyvät yhteen sprite, yksi merkki ja ilmeisesti he molemmat menossa ajaa tahtiin. Koska molemmat näistä ohjelmista alkaa kanssa, kun vihreä lippu napsautuksella Tämä on vihjaten kehittyneempi aihe, jossa jonka jotkut teistä saattavat tuntea, tunnetaan ketjuttaminen, tai monisäieominaisuuksia. Osoittautuu, pitkä tarina lyhyt, tietokoneet tänään voi olennaisesti tehdä useita asiaa kerralla. Tai he voivat tehdä yksi asia kerrallaan, joten nopeasti, että et edes huomaa, että se todella tekee yhden asia kerrallaan. Mutta nyt Oletetaan, että molemmat nämä ohjelmat ovat menossa suorittaa milloin samaan aikaan. Ja ilmoitus, molemmilla on ikuisesti palapelin palaset. Joten he molemmat menossa pitää käynnissä kunnes osuin punainen stop-merkki. Joten mitä he aikovat tehdä? Vasemmalla puolella, olen ilmeisesti julistaa muuttuja nimeltä vaimennettu. Joten en kutsua sitä jotain tylsää kuin N. kutsuin sitä mykistyy tämän aikaa välittää merkitystä. Otan sen nolla. Ajatellaanpa, että False, tai Ajatellaanpa, että False. Nyt, ikuisesti toimi seuraavasti. Jos näppäimistön välilyöntiä painetaan, Sitten jos mykistetty on nolla, vaihda mykistyy yhtäläisiä yhden. Else asettaa vaimennettu nollaan. Joten loogisesti, vaikka se on aivan nippu palapelin palaset, joka on vain sanomalla, kun välilyöntiä, mitä minun pitäisi tehdä muuttujan kutsutaan hiljaiseksi? Muuttaa nollasta yhteen, tai nollasta yhteen. Siinä kaikki. Joten se on kuin kääntämällä valokytkin päälle tai pois ja muistamisen kanssa muuttuja, että olen tehnyt sen. Samaan aikaan, oikealla puolella, vuonna Maallikon termein, mitä on tarkoitus käsikirjoitus oikealla? Opiskelija: Voit pelata merileijona ääni. DAVID MALAN: Jos haluat pelata Sea Lion ääni, jos hän ei ole mykistetty, jonka luonne, että muuttuja. Joten jaamme valtion, niin sanotusti, jakaa tietoa eri näiden kahden skriptejä, koska huomaa täällä, me olemme ikuisesti tekemällä seuraavat. Jos vaimennettu on nolla, joten jos se ei ole mykistetty - jos mykistyy on väärä, sitten pelata Tämän Sea Lion ääni. Ja ajatella itse, hi, hi, hi, sillä kaksi sekuntia, odota hetki, ja sitten tarkista uudelleen. Joten jos menemme nyt tänne vasemmalle, missä tämä kaveri on, ja osuma Vihreä lippu, [Merileijona SOUND] DAVID MALAN: missä vaiheessa Tämä saa todella ärsyttävää? Koska tämä vain loputtomiin. Joten joskus, ääretön silmukoita, niin sanoakseni, on tahallista. Mutta tässä tapauksessa, heti kun olen välilyöntiä, hän lopettaa. Nyt ohjelma ei lopeta. Se on edelleen käynnissä näissä silmukoita. Mutta jos saan välinäppäin - [Merileijona SOUND] DAVID MALAN: Hän vilkastumassa mihin hän lähti pois. Joten on yksi tapa, jolla voimme tehdä jotain uudestaan ​​ja uudestaan, mutta että aikaa, vain ehdollisesti. No, kun olemme tämäntapaista tehdä asioita uudestaan ​​ja uudestaan, haluan mennä toiseen esimerkki tästä. Tämä soitamme Counting Sheep. Ja huomaa, mitä tämä kaveri tekee. Se on oikeastaan ​​hieman enemmän kuin pseudokoodina leikittiin on Keskiviikko jolloin hän asettaa joitakin laskuri, ajattele sitä on N jälleen, nolla, hän ikuisesti tekee seuraavat. Hän sanoo, laskurin arvo yhden Toinen, odottaa toista, ja sitten muuttaa vasta yhden. Ja tässä yhteydessä, että vain tarkoittaa välein sen. Niinpä hän lisää yhden sen. Joten tämä on kirjaimellisesti - se ei ole aivan sitä, mitä ajattelemme AS Counting Sheep. Se lampaat tekee laskennan ikuisesti, nollasta ylöspäin. Joten voimme tehdä samanlaisia ​​asioita siellä, loogisesti. Mutta nyt yritetään puhdistaa joitakin näistä asioista ylös. Anna minun mennä eteenpäin nyt pelkäksi Esimerkiksi jos meidän kissa on juuri menossa alkaa yskä. Okei, joten tässä meillä on yskä 0 - tietotekniikan tutkijoita aloittaa laskien 0. Joten tämä kissa on juuri menossa yskä kolme kertaa. Ja tässä miten olen toteuttanut sen. Kun Vihreä lippu napsautetaan, yskä, odota, yskä, odota, yskä, odota. Ja tein tämän vetämällä ja pudottamalla palapelin palaset. Tai jos alkaa korjailla Scratch, näet voit itse kahtena kappaletta niin, että voit tehdä asiat nopeammin ilman vetämällä ja pudottamalla loputtomiin. Mutta emme ole paras keino tähän. Koska miten hänet yskä neljännen kerran? No, voisin tavallaan mennä tänne. Voisin kopioida ja sitten liitä tämä sinne. Miten hänet yskä viidennen kerran? No, kopioi ja liitä uudelleen. Tai vedä pudota uudelleen. Ja hyvin nopeasti, tämä ohjelma käynnistyy saada todella, todella tarpeeton, todella pitkä, mutta todella mielenkiinnoton. Mutta on tapa puhdistaa tämän. Mikä on ilmeinen tapa puhdistaa tämän? OK, joten voisimme todella todella mennä pois, ja kun osut tilaa baari, hänet yskä. Mutta jos haluan vain tehdä jotain toistuvasti, muistaa, että meillä on Joissakin ohjaus rakentaa. Jatkan tätä pois tavalla, mene hallinnassa. Haluan vain tehdä toista, sanoa, kolme kertaa. Ja nyt haluan varastaa Näiden palapelin palaset. Saanen snap tämän tänne. Saanen heittää nämä pois kokonaan. Ja nyt, minulla on parempi suunniteltu ohjelma. Miksi? Jos haluan muuttaa kertaa tämä kissa yskii, kaikki minun täytyy vain vaihtaa yksi muuttuja, tai yksi arvo, pikemminkin kolme, neljä tai viisi tai kuusi. Tai voisin tehdä jotain ehdollisesti, vaikka, jossa tilaa bar, jos halusin. Joten tämä on yleinen periaate. Kun aloitat kopioimalla koodi, onko se Scratch, tai C, teet jotain väärin, todennäköisesti. Tai ainakin, kun olet ylittänyt joitakin kohtuullisen määrän kopioita ja pastat, olet todennäköisesti tehnyt jotain väärin. Mutta tiedätkö mitä? En oikein pidä tästä. Tämä ei ole puhtain suunnittelu. Toivotan oli palapelin pala nimeltään yskä, koska niin en on pantava täytäntöön tämän itse, vanhanaikaisella tavalla, jonka ottaa sanovat, ja odota - mitä jos ne olivat vain yskä palapelin pala. No, voin todella tehdä. Anna minun mennä mukaan enemmän lohkoja, valitse Tee Block, ja nyt saan tämän ikkuna täällä. Aion kutsua tätä asiaa yskä. Aion mennä eteenpäin ja klikkaa OK. Ja nyt ilmoitus, saan uuden alun pala, joka on kaareva päällä. Ja mitä aion tehdä tämän, olen menossa vain varastaa nämä kentät. Aion laittaa ne tänne. Ja nyt, nämä kolme kappaletta, olen toteutetaan mitä aion soittaa toiminto tai menettely, tai joidenkin ehkä tietävät sen menetelmä. Lievä eroja sanoja. Mutta nyt haluan vain kutsua tätä toimintoa. Tämä on vain uusi palapelin pala. Nyt se on toteutettu näin. Mutta huomaa, että Scratch on antanut meille fyysinen edustus, että koko estää tänne. Joten nyt voin vain vetää tämän tänne, sanoa, toista kolme kertaa, ja mitä tapahtuu nyt, kun pelaan tämä kirjoitus on vain yksi ohjelma on käynnissä kerrallaan. On vain yksi, kun Vihreä lippu napsautetaan. Mutta että violetti lohko kutsutaan yskä on tehokkaasti kertoo Scratch, joka kerran näet, että palapelin pala, oikeastaan Suorita nämä vaiheet, että minä tapahtua toteuttaa manuaalisesti. Niin, että sellainen siisti. Mutta nyt olettaa, että päätin, en halua tätä kissa vain yskä. Haluan hänen pystyä aivastaa samoin. No, miten voisimme edetä täytäntöönpanosta aivastus? No voisin melko paljon tehdä sama asia. Voisin tehdä toinen lohko. Voisin kutsua tätä aivastaa, klikkaa OK. Sitten tänne voisin oikeastaan ovat, haluan kopioida tätä - ja siellä missä pitäisi tuntua olet todennäköisesti tee jotain paras tapa. Voisin sanoa jotain, Achoo, yhden sekunnin. Odota hetki. Nyt minulla on uusi lohko nimeltään aivastaa. Ja todellakin, siellä se on. Mutta tämäkin pitäisi alkaa tuntea - ehkä ei ensimmäisellä viikolla luokassa, mutta toisen - vain hieman tarpeeton. On selvää, siellä on joitakin irtisanomisia täällä. Joten haluaisin ehdottaa sen sijaan, että tarkentaa tätä määritelmää seuraavasti. Anna minun mennä jopa minun file-valikosta. En aio säästää tämän version. Aion mennä johonkin minun premade tiedostot tänne. Ja aion mennä eteenpäin ja avata yskä 2. Whoops joka oli yskä 2. Anna minun mennä eteenpäin ja avata yskä 3, joka on tästä lähteestä hakemistoon. Yskä 3 ja huomaa - oh, sanoin tarina väärässä järjestyksessä. Saanen toipua tämän tarinan. Tarina Tarkoitin sanoa päättyy yskä 4 - siellä se on. Joten mitä jos en sen sijaan määritellä isompi palapelin pala kutsutaan määritellä, sano sana n kertaa. Aivastelu on vain ilmeisesti Scratch, Achoo. Joten annamme sen sanan, vain koska se on rajoite ohjelman. Ja yskä on [Yskä], mutta yskä, C-O-U-G-H. Niin, että on vain kaksi eri sanoja tekemässä lähinnä, sama asia. Joten en voi itse tehdä uusi lohko näin. En käytä tätä valikon ennen. Mutta kun valitset Make Block, voit valita joitakin vaihtoehtoja. Ja voit sanoa, että tämä lohko todella vie jonkin tuloa, toisin tunnetaan argumentteja, tai parametrit, niin että voit muuttaa käyttäytymistä oman lohkon. Joten mitä tein hetki sitten oli Kutsuin tätä block Sano. Ja sitten minä sanoin, se vie Jonosyötteitä. Ja nyt huomaa, oletuksena, se sanoo string 1. Merkkijono on vain sana, tai lause, meidän tarkoituksiin. Mutta olen juuri menossa laittaa paikanvaraajatekstin siellä, aivan kuten verkkosivuilla, kun näet käyttäjätunnuksen, tai salasana, ja sitten se katoaa, kun aloitat kirjoittamisen. Se kaikki on. Ja nyt aion lisätä numeron syöttö. Ja aion kutsua tätä n - mutta se on melko mielivaltainen. Ja sitten vain merkki, vain tehdä tämä lohko hieman enemmän itse perusteluissa - kertaa, että mitä tein. Ja lopputulos on, että saan lohko, joka näyttää tältä. Ja nyt huomaa, olen käyttäen toista lohko. Mutta sen sijaan kova koodaus kolme, olen vetämällä ja pudottamalla n siellä niin I voi parametrize toiminto. Voin tehdä tämän toiminnon tehdä jotain eri määrän kertoja perustuen että arvo. Ja huomaa, sanoa, tämä on mitä tein täällä, jos vedän sana, voin sanoa ei koodattu sana, mutta mitä tahansa johdetaan yhden sekunnin. Samaan aikaan, miten uudelleen käyttöön yskä? Minä sen sijaan määritellä yskä sanomalla yskä n kertaa. Joten lyhyt, olen menossa läpi tämän nopeasti, mutta perusidea on heti kun alkaa nähdä oman ohjelman , että hetkinen, olen tehnyt aivan kuten tämän ennenkin, voin tekijä joitakin yhteisiä toimintoja? Voinko hajota mitä teen johonkin perusajatuksia? Se mitä teemme täällä. Ja olen pinottu näitä asioita, visuaalisesti, päällekkäin toistensa koska se on osoitus, että ajatus alkaen binary, menee ASCII, tehdä graafisia ohjelmia, eräänlainen kerrospukeutuminen yhä monimutkaisempia ideoita päällekkäin. Sama ajatus täällä. Aloitin tyhjästä, täytäntöönpanosta yskä, tajusi yskä on oikeastaan ​​vain sanoa jotain. Joten haluan sen sijaan toteuttaa käsitettä sanoa jotain. Ja päälle, että voin toteuttaa Achoo tai yskää? Ja voisimme tehdä enemmän tällaisia variantteja edelleen. Joten tästä periaatteesta, voimme alkaa tehdä yhä monimutkaisempia ohjelmia. Saanen avata tämä. Meillä saattaa olla useita sprite vuorovaikutuksessa ruudulla kerralla. Jos menen lähdekoodin hakemistoon napata yksi nimeltään Langat, muistaa, että lanka on vain todella kyky kaksi skriptejä ajaa rinta puolella samaan aikaan. Huomaa nyt, on sekä lintu sprite ja kissa sprite, jotka molemmat ovat omia skriptejä. Joten ilmoituksen, kun napsautan kissa, saan nämä skriptejä. Kun klikkaan lintu, Saan näitä skriptejä. Joten jokainen näistä kavereista on hänen omia ohjelmia. Kun olen nyt klikkaa Vihreä lippu, huomaa että mitä tämä ohjelma tekee on on kissa, uskomattoman hitaasti, jahdata lintu. Mutta kissa on etunaan on ohjelmoitu siten, että että missä lintu on, kissa menee häntä kohti. Voimme pelata tätä peliä paljon nopeammin. Joten jos olen kissa, huomaa, että olen käyttäen, sanokaamme liikkua yhden askeleen. Katsotaanpa häntä siirtyä viisi vaiheet aikaa, joten viisi pistettä kerrallaan. Minäpä valitse pelata. [Lion ROAR] DAVID MALAN: Okei, nyt voimme todella antaa kissan etu. 10 askelta kerrallaan. [Lion ROAR] DAVID MALAN: Okei, niin hyvin nopeasti, se saa vähän hyötyä kissalle. Mutta minä heiluttaa kättäni joitakin yksityiskohtia. Mutta syy, että polku on alkaen hieman erilainen joka kerta on se, että olen tekemässä vähän satunnaisuutta. Olen oikeastaan ​​osoittaa kissa eri suuntaan sen perusteella, missä I halua häntä aluksi niin, että joka kerta pelin tai animaation, on hieman erilainen. Nyt haluan esitellä yksi muut rakentaa täällä. Joten tässä tapauksessa, meillä oli toimintoja. Mukana on myös olemaan palapelin pala tunnetaan array, tai lista, jonka avulla voit tallentaa useita arvojen sisällä muuttuja. Näimme kierteet, ja nyt siellä on tapahtumia. Joten tässä tapauksessa käyttämällä nämä kaksi kaveria täällä. Ja jos minä avata tiedosto nimeltä Tapahtumat nykypäivän esimerkkejä, me Katso ohjelma, joka näyttää vähän kuin tämä. Ja nyt huomaa tämä kaveri - niin huomaa minulla on sininen Muppet napsautetaan - hän tekee vain seuraavat. Hän ei ole yksi niistä Vihreä lippu palapelin palaset. Hänellä on kun saan tapahtuma - joten jotkut mielivaltainen sana. Sain kirjoitetaan ulos tapahtuma siellä - Hän aikoo sanoa, Polo, kahden sekunnin ajan. Joten ne teistä, jotka tuntevat tätä peliä voi tietää mihin tämä on menossa. Jos minä nyt klikkaa oranssi Muppet, Hänen ohjelma tekee tämän. Ikuisesti, jos näppäimistön välilyöntiä tukahdutetaan, hän aikoo sanoa, Marco, kaksi sekuntia ruudulla. Mutta hän myös aikoo käyttää tätä harrastaja estää tunnetaan lähetystä. Hän aikoo lähettää viestiä lainaus, "tapahtuma." Samaan aikaan, sininen kaveri, muistaa, on kuuntele quote lainaus, "tapahtuma." Joten jotenkin, nyt voimme olla kaksi sprites vuorovaikutuksessa. Ja kun saamme Web-ohjelmointi, myöhemmin aikavälillä, samalla tulee tämän olla edullista sivustosi tehdä jotain vastauksena varten Esimerkiksi napin näppäimistön. Joten anna minun mennä eteenpäin ja välilyöntiä. Oranssi kaveri sanoo Marco. Sininen kaveri sanoo Polo. Jos teen sen taas oranssi kaveri sanoo Marco, sininen kaveri sanoo polo. Joten ottakaamme tämä askeleen pidemmälle. Tällä kertaa me mennä, luultavasti vain muutama minuutti tästä. Onko meillä - pöytälamppu, tule alas. Olet aivan lopussa. OK, voit molemmat keksiä. Meillä on Kirjoituspöydän lamput kaikille. Tule. En tiedä, jos voimme pitää tätä naurettavaa gag ylös kaikki lukukauden, vaikka. Okei, tule alas. Ja sillä välin, meillä on Seuraavat esimerkit vetää ylös, vain nopeuttaa asioita nyt, niin että me on osoitus toisesta edeltäjä omasi käyttäen samat rakennuspalikoita. Mikä sinun nimesi on? JOHN: John. DAVID MALAN: John. Kiltti minulle sinua. Ja? SETZ: Setz. DAVID MALAN: Setz, kiltti minulle sinua. John, jos haluat tulla ensin ylös, tämä on vanha koulun pelin nimeltä Frogger. Voit käyttää näppäimistöä tästä. Ja tavoitteena on saada eri katu-ja vesi. [Frogger musiikki ja ääni PLAYS] DAVID MALAN: Olen pahoillani, ei pöytälamppu sinulle tänään. Okei, Setz, ethän haluavat tulla ylös? Okei, tehdään se uudestaan. SETZ: Älä käytän nuolia? DAVID MALAN: Vain nuolinäppäimillä. Ylös, alas, vasen, oikea. [Frogger musiikki ja ääni PLAYS] DAVID MALAN: Soitamme heille lohdutus palkinnot tänään, sitten, hyvin tehty. Täällä teille molemmille, John ja Setz. Onneksi olkoon, kaikki hyvin. Joten jälleen, koska tämä peli pelaa, miettiä, mitä on tekeillä? Yksi, siellä on selvästi paljon liikettä. Mutta olemme nähneet miten, kissa ja lintu esimerkiksi miten voit tehdä illuusion liikkeen vain siirtämällä joitakin pikselien määrä uudelleen ja uudelleen. Ja jos sinulla on ikuisesti lohko, sinulla voisi olla näitä autot tekevät tätä ikuisesti. Meillä on kyky on joitakin satunnaisuuden. Joten tämä peli ei tarvitse olla täsmälleen sama joka kerta. Nämä lokit, ne autot, voi alkaa hieman eri aikoina niin, että Peli itsessään on mielenkiintoinen jokaisen pelin. Ja Samaan aikaan olemme nähneet kyky kuunnella välilyönti. Mutta selvästi, Scratch, voitte myös kuuntele ylös, alas, vasemmalle, oikealle, ja oikeastaan ​​mitään näppäimistön näppäintä. Ja voit myös tehdä joitakin muita asioita. Anna minun mennä eteenpäin ja palata verkkoversio. Anna minun mennä meidän kokoelma esimerkkejä tästä. Ja alle Oma studio, videon, joka on pohjimmiltaan kansioon scratch.mit.edu. Meillä on web-versiot kaikki nämä hankkeet. Ja katsotaanpa saan tietokone yhteistyötä täällä. Tämä on kirjoittanut yksi ystävämme MIT, nimeltään Siirrä Butterfly. Ja kun tämä avaa, tämä on aikoo itse käyttää enemmän tietokoneen laitteiston. Scratch sattuu toteutetaan Flash. Flash voi puhua nettikamerasi jos sinulla on sellainen. Joten jos menen eteenpäin ja koko näytön tämän täällä, valitse vihreä lippu, ilmoitus että Flash tietoturvaviestin sanoo, haluatko anna käyttää minun webcam? Tavallisesti pitää ehkä sanoa Estä. Mutta tässä tapauksessa, me sanomme avulla. Sitten aion kertoa Chrome jotta tämän hyvin. Ja nyt, vain hetken, näet minut, jep, minulle. Ja jos käteni menee ylös - Täytyy liiku minun pää samanaikaisesti. Mukana on myös pohdintaa ruudulla. Tule, siellä mennään - voit siirtää sen ruudulla, koska siellä on myös palapelin palat - Ai, sinä tiedä mikä se on, se on koska myös katso valkokangas takanani. Joten meillä on pieni ääretön asia siellä tapahtuu. Okei, niin minä pelaan täällä. Siellä mennään. Joten siellä on myös palapelin pala, joka sanoo, kun näet liikkeen alla yksi sprite, voit olla se mennä ylös, alas, vasemmalle, oikealle tai vastaavaa. Joten meillä on vähän virtuaalitodellisuus täällä hyvin, kaikki rajojen minun selain, vain tästä käyttäen minun webcam. Niin mitä sitten horisontissa. Ensimmäinen ongelma set, kuten näet, tai verkkosivuilla mennä verkossa myöhemmin tänään klo cs50.net, on melko paljon olemaan avoimia. Ja toteuttaa Scratch projektin kiinnostaa sinua, peli, vuorovaikutus, jotain taiteellista ja haasta itsesi käytä numeroa Näiden palapelin palaset. Ja se voi olla joko vuorovaikutteinen tällä tavalla. Tai se voi olla jotain enemmän tietoisesti teki kertoa tarinan. Ja todellakin, siitähän me lopulta pois tänään vielä yhden esimerkin. Anna minun mennä Scratch paikallisesti. Anna minun mennä eteenpäin ja avata tämän ja pelata viimeinen ohjelma kirjoittanut yksi edeltäjistänne eli että yksi tässä. Hyvä, nostaa äänenvoimakkuutta tämä yksi. [Musiikki soi] Kertoja: Seuraavassa CS50, David kutsuu vapaaehtoinen lavalla. DAVID MALAN: Tätä esittelyä, aiomme tarvitsevat yksi vapaaehtoinen. Haluatko tulla alas? Mikä sinun nimesi on? Liikettä.