[Musiikki soi] -Alright! -Tämä on CS50. -Tämä on CS50. -Tämä on CS50. [MUSIC - IGGY AZALEA "hienot"] -My Suosikki muisti CS50 oli, kun menin Puzzle Day. -Probably Vain aika työskentelyn ongelma-sarjaa kavereiden kanssa ja ihmisiä, jotka Wold lopulta minun blockmates. -Paras Muisti CS50 on hackathon. P CS50 hackathon. -Hackathon. -Hackathon. -Hackathon. P hackathon -Rob Bowden. Vain kaiken hänestä. [MUSIC - IGGY AZALEA "hienot"] -My Suosikki muisti on kun olin vaiheessa ja pelasin arvostetun roolin solmun [? vuonna Liittyy?] [? Lista. ?] Milloin me kaikki sai ilmaisen Dropbox tilaa ja David oli, katso alla paikkaa. Ja se oli, tilaa kaikille! [MUSIC - IGGY AZALEA "hienot"] -My Neuvoja tahansa tuleva opiskelija voisi olla todella työtä P-sarjaa ystävien kanssa. -toimisto Tuntia on erittäin paljon ystäväsi. -Tee Irti kokemus ja tavata niin paljon ihmisiä kuin voit. -Älä Pelkää pyytää apua. -käynnistin P-sarjaa alkuviikosta. -Luulen Suurin asia on hyödyntää kaikki resurssit että CS50 on. -Mene Virka alkuviikosta. Ehdottomasti katsella shortsit. -Älä Vitkastella P-sarjaa. -Tee Löydät varmasti suuri ryhmä ihmisiä työskentelemään P-sarjaa kanssa. Sinulla voi olla hauskaa ja tehdä töitä yhdessä. -Älä Pelkää työntää itse. Mennä hakkeri painos joskus. -write Asiat paperille ennen Oletko koskaan kosketa tietokoneen. -CS50 On todella hienolta tarjoamalla tapoja saada apua. -My Yksi neuvo on uni. Onko kukaan sanonut, että? Sleep, varmasti. On helppo olla tekemättä, mutta sinun täytyy tehdä se, luulen. -I Sanoisi todella henkisesti valmistautunut koska tulet rakastamaan sitä. [MUSIC - IGGY AZALEA "hienot"] -Tämä on CS50. -Tämä on CS50. -Tämä on CS50. [MUSIC - IGGY AZALEA "hienot"] -Tämä on CS50. [APPLAUSE] DAVID J. MALAN: Eli tämä on CS50 ja tämä on viikon lopussa 0. Ja se oli vain osa ja CS50 henkilökunta, joka odottavat sinua ei vain kohdissa ja virka-ajan, mutta, myös tulevana viikonloppuna klo CS50 Puzzle Day. Joka taas ei ole kaikki ohjelmoinnista. Onkin odotettavissa, ei tarvitse ohjelmoida mitään, vaan ratkaista ongelmia käyttämällä järki ja ystävien puolellanne. Tulemme liittynyt noin ystävämme klo Facebook-- Jos olet rekisteröitynyt here-- jotka viime useita vuosia, on todella kirjallisesti Näihin haasteisiin kanssamme. Ja niin, he ovat niitä lopulta käynnissä Puzzle Day. Ja niin, teidät haastetaan kanssa juuri juttuja ja ongelmia, jotka ihmiset on Facebook haluan ajatella. Tämä on siis huomenna. Rekisteröityä cs50.harvard.edu/register. Nyt sana pari henkilöstön erityisesti. Tämä tässä Ansel Duff, joka on itse asiassa yksi yhteistyössä laatijat näistä binary polttimot että näimme keskiviikkona lisäksi CS50 oma Dan Bradley. Ansel Duff oli myös entinen fuksi advisee minun 3 vuotta sitten ja hän itse asiassa jopa rakensi tämän puhujakorokkeelle. Hän on mennyt tekemään insinööritieteiden ja enemmän. Nyt hänen kuvansa tässä oikeastaan Ansel 3 vuotta sitten klo CS50 hackathon kun hän lainasi yksi ilmapalloja, kiinni se hänen laptop, ja seuraavan 12 jostain kumman tuntia, keskittyi hänen opinnäytetyön, taukoa vain avata pussit karkkia hackathon. Mutta hän jatkoi viimeisimmäksi viettää viime kesänä meidän kanssamme, koska CS50 henkilöstölleen, ja Nyt opiskelijat tämän lukukauden, on oma 3D-tulostin. Ja pähkinänkuoressa 3D-tulostimet on laite, joka näyttää aivan kuten tämä. Täytät sen muovinen kela joka sulatetaan laitteen ja kun rakentaa asioita kirjaimellisesti tyhjästä. Paljon kuin mustesuihkutulostimen, aloitat sylkee vähän pisteitä muovi että lomake yhdessä muodostavat koko esineitä. Ja niin Ansel esimerkiksi aiemmin tänä kesänä, on iPhone 5 ja päätti hän todella halusi pönkittää sitä hänen pöydällään. Mutta hän ei halua mennä ulos ja ostaa jotain Apple Storesta tai vastaavaa, niin hän istuutui ja ryhtyi piirtämään jotain. Hän otti muutaman mittaukset siitä, kuinka paksu ja kuinka laaja hänen iPhone oli, hän piirsi tämän kuvan täällä, Hän päätti, että hän halusi olla 75 asteen kallistus koska se tuijotti häntä hänen pöydällään siellä. Sitten hän kääntyi tämän käyttäen ohjelmisto, osaksi 3D CAD-malli joka näytti hieman jotain tällaista. Ja sitten hän eteni, lopulta itse luoda se. Joten itse asiassa, jos joku teistä täällä, ehkä peräkkäin, että voin heittää, on an-- siellä meillä on oikeesti iPhone 5, ja tässä meillä on kaksi enemmän. Nyt ei olisi pekkaa pahempi, CS50 oma Cheng Gong vahvistetaan myös tänä kesänä rakentaa aivan muutamia asioita ja, Itse asiassa, syistä, jotka eivät vielä epäselvä, on hitaasti tulostus armeija norsuja kanssa artikulointi aseiden ja runkoja. Pari jotka ovat todella täällä, jos kukaan nyt kuin-- elefantti. Kunnossa,. mutta mitä Cheng teki myös Meille on hän hyvin ystävällisesti perustaa kamera koska norsu, uskokaa tai älkää, kestää noin kaksi ja puoli tuntia tulostaa. Jopa iPhone stand otti tunti ja puoli tulostaa. Ja mitä Cheng meni eteenpäin ja tekivät perustettiin kiva kamera edessä Tämän 3D-tulostin, kuvattiin tunti ja puolet Ansel suunnittelussa painettu. Me päällekkäin noin seksikäs siihen musiikkia, jotta antaa tämän sinulle etsiä miten 3D-tulostus toimii. Ja vaikka tämä on todella muovinen, ymmärrettävä, että jos tämä on alue kiinnostaa sinua akateemisesti, on olemassa ihmisiä, joukossa ne Jennifer Lewis täällä School of Engineering, jotka ovat tosiasiallisesti työskentelevät 3D-tulostus muovi esineitä. Mutta vielä, yhä, biologisten aineiden ratkaista fysiologisia ongelmia ihmisille. Mutta tässä hieman jotain CS50. [LOUD mekaanisista äänistä] DAVID J. MALAN: Se ei kuulosta mitään sellaista todellisuudessa, mutta se on paljon siistimpi katsomaan sitä tuossa nopeudessa, ja että äänen. Nyt keskiviikkona, kuinka me ensin tänne? Aloimme puhua tietokone tiede ja kysyimme, mitä se oli. Ja se on noin monia asioita, ja siellä on niin paljon eri suuntiin jossa voit suunnata kurssin jälkeen kuin CS50. Itse asiassa, jos kyytiin yksi Näiden epävirallinen oppaita CS ulkopuolella, vihkossa Olemme koonneet, olitpa ajatellut ottaa vain CS50, tai ehkä tekee toissijainen, tai ehkä jopa keskittämällä CS, älä käännä sitä kautta. Ja näet kaavio loppua kohti, että näyttää eri suuntiin CS että voit mennä pois. Mutta tänään, me keskitymme jälleen päälle oikeastaan ​​yksi perustavista näkemyksiä, ehkä, jos sinulla on panoksia ongelmia, olet tuotokset ongelmia, ja sinulla on algoritmeja, joiden avulla voidaan luoda nämä lähdöt kuin tuloa. Ja yksi tällainen esimerkki, oli Tietenkin tämä puhelinluettelo täällä. Ja käytimme esimerkkinä mennä kautta, algoritmi, joka oli oikein. Ja sitten toinen yksi oli oikea, mutta hieman nopeammin. Ja sitten toinen, joka oli hieman dramaattisempi, mutta pohjimmiltaan nopeammin. Aivan, tämä puhelinluettelo me väitti oli noin 1000 sivua. Ja kuinka monta kertaa minun tarvinnut repiä puhelinluettelon kahtia löytää joku Mike Smith, maksimaalisesti, vuonna 1000 sivuisesta kirjasta? Joten, 10 antaa tai ottaa. Ja niin kun revin tämä asia puoli, tai yksinkertaisesti enemmän kypsästi, jaettu kahtia, se on vain 10 sivua pois 1000. Ja jos ekstrapoloida, hieman epärealistisen varten puhelinluettelosta, mutta jos tämä puhelinluettelo oli noin 4 miljardia sivua siinä, niin täysin kömpelö fyysisesti, kuinka monta kertaa olet jakaa 4000000000 sivu puhelinluettelon kahtia? Joten se on oikeastaan ​​32, antaa tai ottaa. Joten 32 kertaa vain, ulos 4 miljardin sivua, voi löydät jonkun kuten Mike Smith. Ja se on tehokkuus. Se on hyvä algoritmi, daresay. Mutta sitten siirryimme että yrittää virallistaa sen. Ja ehdotin tätä pseudokoodina koodi. Pseudokoodilla koodi ei ole mitään virallista. Se ei ole jotain, voit muistaa. Se on vain jotain ilmaista melko intuitiivisesti käyttäen Englanti, tai mikä tahansa kieli todella, että välittää ideasi ytimekkäästi. Mutta mikä on avain noin pseudokoodilla koodi on että te yrittää ennakoida kaikkia mahdollisia tapauksia, jotka saattavat tapahtua. Ja todellakin, tässä pseudokoodina koodi oli todella kolme tapausta joka kerta olen jakanut puhelinluettelosta. Mike voisi olla vasemmalla. Mike voisi olla oikea. Tai hän saattaa olla oikeassa sivulla olen. Tai neljäsosa nurkkaan tapauksessa niin sanotusti. Huono skenaario voisi olla yksi which-- mitä tapahtuu? Mike vain ole puhelinluettelosta ollenkaan. Ja kun ohjelmat crash-- kun Mac ja PC-ohjelmisto, jonka te ajaa tietokoneiden joskus jumittuu tai sulkeutuu odottamatta, että yleensä sitä, että jotkut ohjelmoija, jotkut ihmisten kuten sinä pian, vain mokasi ja tehnyt jonkin virheen. Ehkä ei pidä todennäköisenä, että ehkä siellä ei ole Mike Smith puhelinluettelosta. Ja jos et itse kirjoita koodi käsitellä tilanteita niin, yleensä arvaamaton asioita voi tapahtua. Laite voi jäätyä. Se voi käynnistää uudelleen. Ohjelma voi lopettaa. Ja niin kaikki nämä tyhmyyksiä, että saatat ovat kohdanneet todellisia elämä vain käyttävät tietokoneita, siirtyy yhä enemmän vain selittää tämän intuition ja tämä ymmärrys siitä, mitä on todella tapahtuu alla huppu. Nyt koetamme katsomaan klo yleisemmästä ongelmasta. Mieluummin kuin ottaa läsnäolo tällaisessa paikassa tämä, mikä olisi melko hidasta tehdä yksi, kaksi, kolme, neljä. Tai ehkä kaksi, neljä, kuusi, kahdeksan. Keskitytään sen sijaan on miten voimme virallistaa algoritmi prosessia joita voitaisiin käyttää läsnäoloa. Ja matkan varrella, aloitamme soveltaa joitakin nimikkeistön että käytämme tänään, kun me itse Aloita ohjelmointi kielellä. Joten annan sinulle nyt, neljän minuutin video että laitamme yhdessä ystäviemme kanssa TED, organisaatio. Jolloin toimitimme käsikirjoitus ja he toivat animaattorit kantaa, ja todella luotu 2D animaatio mikä algoritmi on. Jos voisimme himmentää valoja. [Musiikki soi] Kertoja: Mikä algoritmi? Tietotekniikassa, algoritmi on joukko Ohjeiden ratkaista joitakin ongelmia askel askeleelta. Tyypillisesti, algoritmit ovat toteuttajana tietokoneet, mutta meillä ihmisillä on algoritmeja samoin. Esimerkiksi se, miltä mennä noin laskenta ihmisten määrä huoneessa? No, jos olet kuten minä, haluat luultavasti osoitat jokainen henkilö kerrallaan ja laskea nollasta ylöspäin. Yksi, kaksi, kolme, neljä, ja niin edelleen. No, se algoritmi. Itse asiassa, yritetään ilmaista sitä hieman muodollisesti pseudokoodilla koodi. Englanti kaltainen syntaksin muistuttaa ohjelmointikieli. Olkoon n 0. Kunkin henkilön huoneessa, asettaa N: n arvoksi n plus 1. Miten tulkita pseudokoodina? No line yksi julistaa, niin sanotusti muuttuja Kutsutaan ja alustaa sen arvoksi 0 Tämä vain tarkoittaa, että alkaa meidän algoritmi, juttu jota olemme laskenta-arvo on 0. Onhan ennen kuin alkaa laskea emme ole laskenut vielä mitään. Soittaminen tämä muuttuja n on vain sopimusta. En voinut soittaa sitä eniten mitään. Nyt linjalla kaksi demarks alku silmukan, sekvenssi ohjeita, toistamaan muutamia kertoja. Joten meidän esimerkiksi vaiheessa olemme ottaminen laskee henkilöä huoneessa. Beneath linjalla kaksi on line kolme, jossa kuvataan miten menemme noin laskee. Sisennys merkitsee sitä, että se rivi kolme, jotka toistaa. Joten pseudokoodina koodi on sanonta on, että kun lähtee 0 kunkin henkilön huone me kasvatamme n 1 Nyt on tämä algoritmi oikein? No katsotaanpa paukuttaa sitä hieman. Toimiiko se, jos on kaksi henkilöä huoneessa? Katsotaanpa. Linjassa yksi meidän alustaa n 0. Jokaiselle näistä kaksi ihmistä, me sitten suurenevat n 1. Joten ensimmäinen matka läpi silmukka, päivitämme n 0-1. On toinen matka läpi Sama silmukka, päivitämme n 1-2. Ja niin, tässä algoritmin pää, n on 2, joka todellakin vastaa numero ihmisiä huoneeseen. Toistaiseksi niin hyvä. Entä nurkkaan tapauksessa vaikka? Oletetaan, että on olemassa 0 ihmistä vuonna room-- kuin minä, kuka tekee laskentaa. Linjassa, me taas alustaa n 0. Tällä kertaa kuitenkin, viiva kolme ei suorita lainkaan koska ei ole henkilö huoneessa. Ja niin n on edelleen 0, joka todellakin vastaa ihmisten määrä huoneeseen. Melko yksinkertaista, eikö? Mutta laskenta ihmisiä yksi kerrallaan on melko tehoton, liian, no? Varmasti voimme tehdä paremmin. Miksi ei lasketa kaksi ihmistä kerrallaan, sen sijaan, että laskenta on yksi, kaksi, kolme, neljä, viisi, kuusi, seitsemän, kahdeksan, ja niin edelleen. Miksi ei lasketa kaksi, neljä, kuusi, kahdeksan ja niin edelleen? Se kuulostaa jopa nopeammin. Ja se varmasti on. Katsotaanpa ilmaista optimointi pseudokoodilla koodi. Olkoon n 0. Kunkin parin ihmisiä huone, aseta n vastaa n plus 2. Melko yksinkertainen muutos, eikö? Sen sijaan, että lasketaan ihmistä yksi kerrallaan, me sen sijaan laskea niitä kaksi kerrallaan. Tämä algoritmi on siis kaksi kertaa nopeammin kuin viimeksi. Mutta onko se oikein? Katsotaanpa. Toimiiko se, jos on kaksi henkilöä huoneessa? Linjassa, me alustaa n 0. Sillä, että yksi pari ihmisiä, me sitten suurenevat n 2. Ja niin tämän algoritmin pää n on 2, joka todellakin vastaa numero ihmisiä huoneeseen. Oletetaan seuraavaksi, että on olemassa nolla henkilöä huoneessa. Linjassa yksi meidän alustaa n 0. Kuten ennen, viiva kolme ei suorita kaikki sillä ei ole mitään paria ihmisiä huoneessa, ja niin n on edelleen 0. Joka todellakin vastaa joukko ihmisiä huoneeseen. Mutta entä jos on olemassa kolme henkilöä huoneessa? Miten tämä algoritmi ruokia? Katsotaanpa, linjassa yhdessä, alustetaan n 0. Saat pari niistä ihmisistä, me sitten suurenevat n 2. Mutta mitä sitten? Ei ole toista koko pari henkilöä huoneessa, joten linjalla kaksi ei enää päde. Ja niin tämän algoritmin lopussa n on edelleen 2, joka ei ole oikein. Todellakin tämä algoritmin sanoi olla buginen koska se on virhe. Katsotaanpa hyvitystä joidenkin uusi pseudokoodilla koodi. Olkoon n 0. Kunkin parin ihmisiä huone, asettaa N: n arvoksi n plus 2. Jos yksi henkilö on edelleen pariton, asettaa N: n arvoksi n plus 1. Ratkaisemaan tätä ongelmaa, olemme käyttöön linja neljä kunnossa, muuten kutsutaan haara, että siinä pannaan täytäntöön ainoastaan Jos on olemassa yksi ihminen me voinut Yhdistäminen toiseen. Ja nyt, onko siellä on yksi, tai kolme, tai pariton määrä ihmisiä huoneessa, tämä algoritmi nyt laskea niitä. Voimmeko tehdä vielä paremmin? No, voisimme laskea kolmosta, tai nelosta, tai jopa vitosta ja kymmeniä, mutta pidemmälle, se tulee saada hieman vaikea osoittaa. Lopussa päivän, onko suorittaa tietokoneita tai ihmisille, algoritmit ovat vain joukko ohjeita jonka kanssa ongelmien ratkaisemiseksi. Nämä olivat vain kolme. Mikä ongelma ethän ratkaista algoritmilla? DAVID J. MALAN: Niin tarkoituksella, hyvin yksinkertainen ohjelma, hyvin yksinkertainen algoritmi, saavuttamiseksi jotain hyvin yksinkertainen, laskee joukko ihmisiä huoneeseen. Mutta katsotaanpa kiusaa toisistaan joitakin edustavia Nämä toiminnot, jotka ovat todella olemaan hyödyllinen myös silloin, kun toteuttaa mahdollisimman monimutkaisia ​​ohjelmistoja. Niinpä esimerkiksi tässä ensimmäisellä rivillä, meillä on mitä me kutsumme muuttuja, ja algebran, olet yleensä tuttu käyttäen x ja y ja z joskus, ja niin edelleen. Mutta ohjelmointi, muuttujien ovat edelleen, lopussa päivä, hyvin samanlainen. Mutta se on ehkä helpompi ajatella muuttujan kuin vain kontti. Ja itse asiassa, se on jokin määrä bittejä toteutettu jotenkin kiintolevylle tai tietokoneen muistiin, mutta siitä lisää tulevaisuudessa. Se on vain kontti. Ja jos sanot jotain kuten olkoon n 0, No se on kuin kutsuisi tätä lasia kulho täällä n, vain mielivaltainen nimi, ja laittoi mitään sitä aluksi. Joten arvo tämän kulho juuri nyt on nolla. Ja tietenkin, jos koet myöhemmässä linja, todella kasvattaa joitakin linja koodia, koska tässä kolmannessa linja täällä, 1, joka on kuin sanoisi mitä nykyinen arvo n, se on 0, plus 1, laittaa jotain ping pong pallo tänne. Nyt arvo tämän muuttuja on yksinkertaisesti 1. Ja voisit hyvin nopeasti yleistää, mutta nyt se on 2, nyt se on 3, ja niin edelleen. Niin, että kaikki muuttuja on. Se on pala varastointi itse tallentaa tietoja. Nyt se on ping pong pallo. Siellä se numero. Mutta se voisi olla sanat sanakirja, kuten oikeinkirjoituksen tarkistus Viittasin keskiviikkona varten yksi viime vuoden ongelma sarjaa. Nyt toinen keskeinen ajatus, että samalla on melko intuitiivinen Voisin väittää, on, että silmukan. Ja silmukka prosessissa laskemisen kaikille on tietenkin tehdä sama asia uudelleen ja again-- joko yksi kerrallaan tai kaksi kerrallaan. Ja voit ilmaista tämä Englanti, tai pseudokoodi koodi, ja kuinka monella tavalla tahansa, mutta tällä prepositio "for" on hyvin yleinen tapa tehdä se. Jokaista henkilö huoneessa, tee tätä. Uudestaan ​​ja uudestaan. Ja se, että se on sisennetty rivi kolme, vain sitä, että mitä sinun pitäisi tehdä on kamaa, joka on sisennetty alapuolelle kaksi itse. Vain ihmisen yleissopimus, mutta yleisin kuten tulemme näkemään todellisen korkeampi tason ohjelmointikieliä. Nyt hieman mielenkiintoisempaa on kun saat nurkkaan tapauksessa. Esimerkiksi nurkka tapaus oli, kun siellä oli kolme ihmistä, tai viisi, tai seitsemän, tai pariton määrä ihmisiä huoneessa, siksi että sen tekeminen kaksittain jarrut lopulta koska menossa kaipaamaan joku, joko alkuun tai loppuun asti riippuen siitä, miten teet sen. Ja niin, nyt minulla on tämä haara, tai ehto, jos yksi henkilö pysyy, sitten mennä eteenpäin ja käsitellä, että yksi yksinäinen henkilö, joka ei saanut pariksi joku muu. Niin, että mitä me kutsuisimme ehdon, tai sivuliike. Nyt pseudokoodia koodi yleisemmin voi olla kirjoitetaan ratkaista useita ongelmia. Ja mitä minä ajattelimme tehdä tässä hetki kutsua sanokaamme CS50: n Omistatko Rob Bowden lavalla saada luokseen kaksi vapaaehtoista, joilla ei ole aavistustakaan, mitä odottaa. Käsi meni alas heti kun sanoin, että. Entä sinulle lopu, tule ylös. Ja miten kauempaa pois, entä tavalla takaisin. Takarivissä, tule ylös kädet ylhäällä. Hyvä on, ja mikä on nimesi? ANITA: Anita. DAVID J. MALAN: Anita. Okei, kiva tavata. Saanen esitellä teille Rob Bowden. Tämä on Anita. Ja mikä on nimesi? Kiersten: Kiersten DAVID J. MALAN: Kiersten. Kiersten, tule ylös ja tavata Rob Bowden ja Anita. Hauska tavata. Kiersten: Hauska tavata. DAVID J. MALAN: Okei, Rob. ROB BOWDEN: Hauska tavata. DAVID J. MALAN: Anita. Kiersten: Hei Anita. DAVID J. MALAN: Ja useita satoja luokkatoverit. Joten, nyt haluan mennä eteenpäin ja vedä ylös vain yksinkertainen ohjelma täältä Mac OS että saisin todella hiukkaakaan muistiinpanoja alas. Ja jos kaverit haluavat kukin ottaa kannan yksi niistä kouluista siellä, anna minun mennä eteenpäin ja aloittaa luettelon pseudokoodin koodia, jos haluatte. Ja mitä haluan tehdä täällä, lopulta on tyyppi sinulle joitakin ohjeita, että katsojat ovat todella menossa lausua meille. Anna minun mennä eteenpäin ja juuri vaihtaa tämän numeroitu lista vastaamaan mitä teimme siellä. Ja mitä aion tehdä apuasi, on kirjoittaa ohjelma pseudokoodilla, jonka kanssa nämä kaverit ovat menossa toteuttaa maapähkinä voita ja hyytelöä sandwich. Joten se on ehkä sopivasti kohteeseen näyttää jotain jotkut teistä ehkä nähnyt internetissä vain lyhyen harmittaa hetken. [MUSIC BUCKEWHEAT POJAT, "MAAPÄHKINÄVOI  JELLY TIME "] DAVID J. MALAN: OK. Se riittää tuon. Joten tässä välin, minulla on pari Google Glasses joka me laittaa CS50 oma Rob Bowden nähdä maailmaa hänen silmillään. Ja me teemme parhaamme jälkeisissä tuotanto todella kutoa kuvamateriaalia, mitä Rob näkee nyt tähän varsinainen luento video kanssa kaksi vapaaehtoisia hänen vieressään. Joten mitä aion tehdä on, otan kirjoituskone. Meillä on tavoite täällä itse kirjoittaminen ohjelma jolla tehdä lopulta maapähkinävoi ja hyytelöä sandwich, mutta nämä kolme ovat menossa käyttäytyä Ikään kuin ne olisivat tietokoneita. Ja tietokoneet, lopussa päivä, ovat oikeastaan ​​aika tyhmiä laitteita. Ne ovat erittäin nopeita, mutta he voivat tehdä, kirjaimellisesti, mitä he ovat kertoneet. Et voi vain sanoa tee maapähkinä voita ja hyytelöä sandwich. Sinun täytyy ohjelmoida niitä tekemään niin. Sinun täytyy kertoa heille tarkasti mitä tehdä, vähemmän asiat menevät pahasti ja, toivottavasti, huvittavan pieleen. Niin että sanoi, tarvitsemme yksi puhelu-yleisön joukosta mitä pitäisi astua yksi on, jos tavoitteemme on tehdä maapähkinä voita ja hyytelöä sandwich. Kyllä? Yleisö: [kuulumaton] pussi leipää. DAVID J. MALAN: Avaa pussi leipää. Joten jos kolme kilpailijaa olisi haluavat edetä tehdä sitä kirjaimellisesti. Avaa pussi leipää. [Yleisö nauraa] DAVID J. MALAN: Joten harjoitella tuota. Kunnossa. Astu siis kaksi, how-- Otetaan tätä pidemmälle. Joo, edessä. Yleisö: [kuulumaton] leipää. DAVID J. MALAN: Mikä tämä on? Yleisö: Irrota leipä. DAVID J. MALAN: Irrota leipä. Samoin ytimekäs. Kiitos. [APPLAUSE] DAVID J. MALAN: Siinäkö kaikki? OK, joten vaihe kaksi on menossa olla poistamaan leipää. Okei, joku haluaa kirjoittaa meille enää lause? Joku muu? Hieman [kuultavissa]. Ei, ei mitään nyt. Kyllä? Yleisö: Aseta kaksi viipaleet vierekkäin. DAVID J. MALAN: Aseta kaksi viipaleet vierekkäin. [Yleisö nauraa] DAVID J. MALAN: Aseta kaksi viipaleet vierekkäin. Vaihe neljä. Kyllä? Yleisö: Ota kädellä ja aseta se kevyesti päälle maapähkinävoita kansi. [Yleisö nauraa] Yleisö: [kuulumaton] vieressä maapähkinävoita. DAVID J. MALAN: Mitä? Sano se uudestaan. Yleisö: Irrota kansi ja laita se varovasti vieressä maapähkinävoita. DAVID J. MALAN: Laita se varovasti vieressä maapähkinävoita. OK, edistystä. Vaihe viisi. Erinomainen. Kyllä? Poimia veitsi. DAVID J. MALAN: Poimi veitsi. OK, vaiheeseen kuusi. Joo? Yleisö: Pidä veitsi kahvasta. DAVID J. MALAN: Pidä veitsi kahvasta. Pidä veitsi kahvasta. Vaihe seitsemän. Kyllä? Yleisö: [kuulumaton] veitsi maapähkinä voita ja vähän ulos [kuultavissa]. DAVID J. MALAN: Laita veitsi in-- I kuullut "laittaa veitsi maapähkinävoi ja ottaa niin vähän ulos kuin mahdollista. " Muuten, poista ensin paperille. Okei, astu yhdeksän. Vaihe yhdeksän. Vaihe yhdeksän. Emme ole itse tehnyt voileivän vielä. Kyllä? Yleisö: Käyttämällä veitsi maapähkinävoita, sovelletaan maapähkinävoita sanoi leipää. DAVID J. MALAN: Käyttämällä veitsi maapähkinävoi, sovelletaan maapähkinävoita sanoi leipää. [Yleisö nauraa] DAVID J. MALAN: Selvä askel 10. Vaihe 10. Kyllä? Yleisö: Taste maapähkinä voin laadun varmistamiseksi. [Yleisö nauraa] DAVID J. MALAN: Vaihe 11. Vaihe 11. Vaihe 11. Tule. Joo? Oikeassa. Yleisö: Huolellisesti poimia hyytelöä. DAVID J. MALAN: Huolellisesti poimia hyytelöä. OK, ja sitten toinen käsi nousi. Takanasi. Joo, sininen. Yleisö: Okei, poista kansi [kuultavissa], joo, Poista kansi hyytelö. [Yleisö nauraa] DAVID J. MALAN: Mistä hyytelöä. Ha ha. [Yleisö nauraa] DAVID J. MALAN: Ja? Yleisö: Ja tuskin lakaista mitään [kuultavissa]. [Yleisö nauraa] Yleisö: Tietenkin ennen [kuultavissa] Poista paperi hyytelö. DAVID J. MALAN: Poista paperi hyytelöä. Vaihe 14. Olemme melkein perillä. Kyllä? Yleisö: Käänteinen hyytelö pullo ennen kaikkea putoaa pois. DAVID J. MALAN: Käänteinen hyytelö pullo ennen hyytelö putoaa pois. Vaihe 15. Yleisö: Vaihda suojus. DAVID J. MALAN: Vaihda suojus. Vaihe 16. Joo? Yleisö: [kuulumaton] DAVID J. MALAN: Sano se uudestaan. Yleisö: Ota korkki pois hyytelö. DAVID J. MALAN: Pois hyytelö. Niin really-- Hups. Tule. Vaihda suojus. Laita cap-- Sanoit poista korkki hyytelöä. Tuntuu olemme hieman silmukan. Vaihe 17. Kyllä? Yleisö: [kuulumaton] DAVID J. MALAN: Sano se uudestaan. Yleisö: [kuulumaton] DAVID J. MALAN: Mene takaisin step-- Yleisö: [kuulumaton] DAVID J. MALAN: Poista korkki maapähkinävoita. Kyllä? Yleisö: Hylkää kaikki hyytelö leipää. DAVID J. MALAN: Hylkää kaikki hyytelö leipää. DAVID J. MALAN: Olemme melkein siellä. Vaihe 19. Yleisö: Poista ylimääräinen hyytelöä. DAVID J. MALAN: Haha, hyytelö. [APPLAUSE] DAVID J. MALAN: Mikset we-- yksi askel ottaa tämän kotiin. Vielä yksi askel ja sitten me palvella voileipiä. Kyllä? Yleisö: [kuulumaton] DAVID J. MALAN: Vaikka mitään voileipä remains-- Katsotaan luetelmakohdassa this-- syödä. [Naurua] DAVID J. MALAN: Okei, kiitos sinut meidän vapaaehtoisille täällä. [APPLAUSE} DAVID J. MALAN: Meillä on muutamia kivoja jakaus lahjoja teille jokaiselle. Oma maapähkinävoita, hyytelöä, ja leipää tuoda takaisin kotiin. Kiitos. Kiersten: Kiitos. DAVID J. MALAN: [kuulumaton] tervetulleita. [APPLAUSE] DAVID J. MALAN: Niin, tämä on, ja tietenkin naurettava esimerkki. Oikea? Mutta se tavallaan paljastaa, miten me ihmiset ota selvyyttä itsestäänselvyytenä. Ja siitä olen ollut puhuu toisen ihmisen, hän vain tietää, mitä tarkoitat. Tietokoneet eivät aio tietää mitä tarkoitat, vaikka käytettäisiin, kuten aiomme tehdä tänään, ohjelmointi jotain Scratch, vedä ja pudota, palapelin pala tyyli kieli. Jopa suunniteltu nuorille lapsia, olet olla niin selkeä ja niin kirjaimellinen kanssa mitä haluat ohjelman tehdä. Nyt lopulta olemme olemaan ohjelmointi ei pseudokoodilla koodia, Englanti syntaksi, mutta koodia tai, oikeammin, lähdekoodi. Lähdekoodi on vain hieno tapa kuvaamiseen koodin itse kirjoittamaan näppäimistöllä, joka on ole Englanti sinänsä. Se on C tai Java tai C ++ tai jotain kuin että, kuten tulemme pian huomaamaan. Ja itse asiassa juuri pelotella Jotkut teistä, ensi silmäyksellä, tämä on ohjelma kirjoitettu kielellä nimeltään C. Mutta un-pelästyttää harvat teistä, tulet täysin ymmärtää, mitä on tekeillä come ensi maanantaina, kun se tulee jotain tällaista. Rehellisesti sanottuna tämä on vanhempi kieli. Se on melko mystistä, mutta se on edustava Erän kielten näinä päivinä, että on paljon sulkeita ja kihara olkaimet ja lainausmerkkejä ja puolipistettä. Ja paljon tätä syntaktinen tavaraa, joka ei ole ollenkaan älyllisesti kiinnostava. Itse asiassa se on täydellinen häiriötekijä alkaen hyvin yksinkertaisia ​​ideoita jotka tuijottaa meitä kasvoihin. Tämä ohjelma, kuten saatat arvata, tulostaa jonkun tietokoneen näytöllä sanat "Hei pilkku maailma." Siinä se. Niin selvästi, siellä on paljon tavaraa, joka on saada tiellä Joissakin ilmeisyyttä siellä, mutta se tulee hyvin nopeasti luistaa pois ja olla täysin intuitiivinen. Todellakin, mitä aiomme tehdä tänään on tislata tässä melko monimutkainen näköinen ohjelma, joka taas tulet ymmärtää nopeasti, mutta jotain paljon yksinkertaisempi. Sanotaan vain, mitä tarkoitamme. Katsotaanpa piirtää kuvan siitä, mitä tarkoitamme, Poiketen näistä palapelin palaset täällä. Joten tämä on ohjelmointi kieli tunnetaan Scratch. Sen kehitti MIT: n Media Lab. Ja mitä näet ongelmatilanteissa asetettu nolla, joka julkaistaan ​​myöhemmin tänä iltana, meidän täytyy mennä tähän URL täällä scratch.mit.edu. Ja heillä on web pohjainen käyttöliittymä, jonka kautta voit kirjoittaa ensimmäinen ohjelma. Tai niille teistä etukäteen kokemus, sinun toinen ohjelmia, mutta ympäristössä, joka on todennäköisesti hieman tuntemattomia ja että työntää sinua luomaan jotain Käyttämällä tätä hyvin visuaalinen ympäristö. Nyt, mitä aion tehdä täällä on avata itse ohjelmaan. Se on olemassa paitsi web-selain, mutta myös ladattava ohjelma niin, että voit itse käyttää sitä Jos sinulla ei ole Internet-yhteys. Ja aion tehdä sen täällä, Sanders, vain jos Wi-Fi ei yhteistyötä erittäin hyvin. Ja mitä aion tehdä, on kohta ulos muutamia ominaisuuksia tämän ohjelman. Niin, olla selvillä, minulla on tupla napsautetaan kuvaketta työpöydälle, tai vastaavasti mennyt scratch.mit.edu, ja se veti tämän ikkunan. Tämä on ohjelmointiympäristö. Se on pala ohjelmisto, joka jotkut ystävämme MIT kirjoitti, että katsotaanpa meille ja kirjoitat ohjelmia kielellä nimeltään Scratch. Nyt tämä sattuu olemaan kissa, joka on myös nimeltään Scratch ja tämä on hänen maailmansa, jossa hän elää. Tämä on vaihe, niin sanoakseni, että suorakulmion vasemmassa yläkulmassa. Hän ei tarvitse katsoa kuin kissa. Voit tehdä hänet näyttämään kuin mitään ja olet voi olla useita tällaisia ​​sprite, tai merkkiä, ohjelmassa. Samaan aikaan tänne äärimmäisenä oikeus, on iso pöydältä. Ja tämä on silloin, kun hetki, aiomme aloittaa ohjelmointi vetämällä ja pudottamalla Näiden graafinen palapeli kappaletta, jotka ovat oikeassa täällä keskellä. Ja siellä on paljon enemmän niitä kuin vietämme aikaa täällä luokassa koska huomaat, että he ovat kaikki melko intuitiivinen. Jälleen, se on suunniteltu lapsille, mutta me käyttää sitä kiusaa lisäksi joidenkin perusajatukset muuttujia, silmukoita, olosuhteet, ja pian asiat kaltaisia ​​toimintoja ja tapahtumia ja kierteet ja muita hienouksia jaamme päästä ennen pitkää itse luoda jotain tyhjästä. Pun tarkoitettu. Nyt, mitä aion tehdä tässä klikkaa ole liikettä, mutta ohjaus. Ja tämä on vain luokittelu here-- ja näen eri väri joukko lohkoja. Mutta huomaa muutamia tuttuja sanoja. "Jos" ja "if" ja "toista". Ja arvata saattaa se muistuttaa haara, tai olosuhteet näimme, ja jopa silmukkarakenteen. Joten meillä on samanlaiset lohkot täällä. Mutta mielenkiintoisin yksi on tämä yksi täällä. Kun tämä vihreä lippu napsautetaan, Tässä, niille, joilla on etukäteen ohjelmointi kokemus, vastaa to päätehtävä. Mutta niille tunne, tämä on palapelin pala että potkia aloittaa koko ohjelma. Se tarkoittaa kirjaimellisesti, kun menen tässä ohjelma, ja valitse vihreä flag-- jossa voit nähdä jopa täällä vasemmassa yläkulmassa UI, niin näet vihreän lipun vieressä punainen stop-merkki? Kun klikkaa, että minun ohjelma tulee ajaa. Nyt aion tehdä jotain Super yksinkertainen Scratch. Aion mennä eteenpäin ja mennä näyttää paneelin täällä, jos minulla on nippu violetti palapelin palaset, ja aion mennä eteenpäin ja tehdä jotain super yksinkertainen kuten vaikkapa. Ja sitten-- ilmoitus tämän teksti valkoinen laatikko on editable-- aion sanoa "Hei maailma", aivan kuten me teki että tekstimuodossa versio hetki sitten. Ja jos nyt menen ja klikkaa tästä Vihreä lippu, olen nyt ohjelmoitu. Se ei ole erityisen mielenkiintoinen ohjelma, mutta tein tietokoneen tehdä jotain. Aloitin ohjelman ja sen teki sen, mitä sanoin sitä tekemään. Nyt voin jatkaa vetää ja pudottaa enemmän ja enemmän näitä palapelin palaset ja he tulevat liittymään yhteen, mutta Katsotaanpa slap joitakin terminologiaa täällä että näemme toistuvia koko kurssin, ja oikeastaan ​​koko tietojenkäsittelytiede ja ohjelmointi yleisemmin. Tämä "sanoa" lohko, violetti, katsotaanpa vain alkaa soittaa selvitys. Se on kuin tosiasia. Tee tämä. Niin, se on luokka ohjeet, joita voisi syöttää tietokoneeseen osana ohjelman tai algoritmin. Ja tehdä selväksi, olet luultavasti itsestäänselvyytenä että sinulla on tietokoneen ohjelmia. Ja ne ovat tavallaan algoritmeja, mutta Ohjelma on todella joukko algoritmeja että jotkut ihmiset kirjoittivat. Ne pakataan se ylös ja ne myi sen niin et, tai ne lähetetty verkkosivuilla voit ladata. Niin, ohjelma on vain Koko joukko nollia ja ykkösiä että jotenkin ihmiset on luotu. Ja ne mallit nollien ja ne ovat asioita, viime kädessä, kuten "tervehtimään maailma" tai "Play tämä musiikki "tai" Toista tämä video " tai "Lähetä sähköpostia". Mutta tulemme takaisin tavalla tarkemmin mitä ohjelma on kun, itse, kirjoita ne. Tässä toinen statement-- "Odota hetki." En käyttänyt tätä vielä, mutta jos haluan Oma ohjelma pysähtyä hetkeksi tehdä jotain, voin kertoa sen tekemään niin. Odota hetki. Nyt toinen voisi olla "toistaa ääntä." Niin, tämä on ainutlaatuinen raapia, se on kyky pelata ääniä. Niin, selvitys voisin käyttö on täällä ", toistaa ääntä." Samalla Boolen lauseke, joten tämä on harrastaja sana nimetty vain kaveri nimeltä Mr. Bool, ja tässä on kyse kysymys. True tai false-- on hiiri alas? Boolen lauseke on Joissakin ilmentyminen Englanti joka on joko tosi tai epätosi. Joko päälle tai pois päältä. Joko yksi tai nolla. Voit ajatella sitä missä tahansa monella eri tavalla, mutta se on joko totta tai tämä väärä, lopulta. Joten "hiiri alas kysymysmerkki" että olisi Boolen lauseke. Ja voit ajatella muita, ehkä. Esimerkiksi "on vasen numero vähemmän kuin oikea numero? " Sekin olisi Boolen lauseke. "Alle" on Boolen lauseke. Myös tämä "koskettavaa hiiren osoitin." En ole varma, miksi he kutsui sitä hiiren osoittimen. Se vain tarkoittaa, on kursori, on nuoli ruudulla, koskettaa kissa, esimerkiksi. Tai jokin muu osa näytön. Ja se on kysymys, jälleen, ja että tarkoittaa Boolen lauseke. Jotain, että saatat haluat käyttää kunnossa. Joten tulemme siihen aivan hetken kuluttua. Voit "ja" asioita yhdessä. Joten, jos haluat tarkistaa, jos tämä on, ja näin on, voit käyttää "ja" estää näin. Ja tässä on tämän edellytyksen. Huomaa muoto pieni aukko alkuun tämän keltainen palapelin pala, se muistuttaa muodoltaan että me juuri näin hetki sitten. Kukin näistä Boolen nämä huomautti reunoja vasemmalla ja oikealla. Ja se johtuu MIT ihmiset päättivät että visuaalisesti välittää muotoja, voit tavallaan auttaa ihmisiä, opiskelijoille ja lapsille, eräänlainen täyttää tyhjät kohdat kirjaimellisesti. Nyt puzzle-- että aukko on vähän pieni, ja kuten tulemme näkemään ohjelmaan, Scratch, se kasvaa sopivaksi. Se säilyttää muotonsa, lopulta. Joten ehto Katsotaanpa päätät "Pitäisi tehdä jotain vai ei?" Boolen lauseke on todellinen kysymys käytät päättää menen vasen vai pitääkö minun mennä oikeaan kun kohtaat tämän ns tienhaaraan? Sinulla voi olla kaksi haaraa. Jos jotain on totta, tehdä Tässä, muuten mene näin, tai voit vain tehdä mitään kaikki, koska tämä lohko hiljaista. Samoin voimme pesä näitä asioita. Joten jos haluat kolminkertaistaa haarukka tie, joko tehdä tämän tai tämän tai tuon, voit vain pesä nämä asiat yhdessä. Ja se alkaa saada hieman ruma lopulta varmasti, mutta logiikka on edelleen sama. Voit kirjaimellisesti lukea Tässä ylhäältä alas ja se sanoo mitä se means-- jos tämä On totta, tehdä tämän, if muuta. Silmukka ei saada yksinkertaisempi Scratch. Ikuisesti toimi seuraavasti. Nyt et ehkä luulet voi tehdä paljon, koska siellä ei ole paljon tilaa välillä ylä-ja alareunassa tämän palapelin pala aukko. Mutta näet Scratch on menossa kasvaa sopimaan niin monta palapelin palaset kuin haluat ahtaa siellä. Toinen silmukka voisi olla ilmaistaan ​​toistoja. Jos tiedät etukäteen, "I haluavat tehdä jotain 10 kertaa, " voit vain kertoa Scratch tehdä jotain 10 kertaa. Ja välin voimme olla muuttujia. Joten tässä on mielivaltainen, se on oranssi tässä tapauksessa ja tämä on pyörremyrsky kiertue. Jälleen löydät tämän hyvin saatavilla kun alkaa osoittamalla ja napsauttamalla. Olen Nimesin muuttujan n, mutta en voinut nimeltään se mitä haluan, ja olen sen asettaminen täällä tämä mielivaltainen esimerkiksi nollaan. Nyt nähdä ohjelmaa, kuten hei maailma ei ole kovin vakuuttava, joten katsotaanpa todella avata jotain että entinen opiskelija teki. Anna minun mennä eteenpäin ja avata, Esimerkiksi tämä tässä, josta haluaisin mielelläni olla vapaaehtoinen. Okei, miten kertoo-- mennään kauemmas. Kyllä, tule ylös. Mikä sinun nimesi on? ABBY: Abby. DAVID J. MALAN: Abby, tule ylös. Niin oletko koskaan pelannut tämä peli ennen? ABBY: o DAVID J. MALAN: Okei. David, hauska tavata. Tule tänne. Ja mikä on teidän ohjelmointi tausta, jos sellaisia ​​on. ABBY: Olen oppinut joitakin C ++. DAVID J. MALAN: Olet oppinut joitakin C ++. Ja mikä on peli pelaa taustalla? ABBY: Ei paljon. DAVID J. MALAN: OK, joten otan sen. Joten tässä miten peli on menossa töihin. Aion mennä eteenpäin ja Napsauta vihreää lippua, joka on täällä oikeassa yläreunassa. Nyt edeltäjä luokassa on antanut sinulle joitakin ohjeita täällä. Ja vain hetken, se sanoo "tilaa aloittaa." Joten mene eteenpäin ja osui välilyönti. Tietokonepeli: Pikachu. DAVID J. MALAN: Ja tavoitteena on saalis ruoka, kuten on kuvattu siellä vasemmalla. Ja [kuultavissa] [GAME musiikki soi] DAVID J. MALAN: Aww, hyvin, kiitos pelissä. Meillä on täällä vähän jakaus lahja sinulle. Meillä on CS50 stressipallo, Jos haluat valita. Okei, hyvä tavata. Kiitos kun tulitte ja haastava. Joten meillä on enemmän stressiä pallot, joten Tehdäänpä yksi esimerkki motivoida. Vapaaehtoinen? Okei, entä täällä edessä. Mikä sinun nimesi on? PHILLIP: Phillip. DAVID J. MALAN: Phillip. Tule ylös, Phillip. Niin, Phillip tulee olemaan altistettiin toinen peli että yksi edeltäjistänne kirjoitti osana ongelmaa asetettu nolla, nimeltään Ivy vaikein peli. Ja näemme vain hetki mitä tarkoitetaan. Phillip, hauska tavata. Mikä on taustasi? PHILLIP: Tehty paljon koodausta. Tehty hieman pelaamista, liian. DAVID J. MALAN: OK. Sai paljon pelaamista, too. Ja olet pelannut tätä peliä ennen? PHILLIP: Ei DAVID J. MALAN: Kaikki oikea, joten tässä mennään. Aion mennä eteenpäin ja klikkaa vihreää lippua. [Pelin musiikki] [MUSIC MC Hammerin "U CAN koske tähän"] PHILLIP: [kuulumaton] DAVID J. MALAN: [kuulumaton] PHILLIP: [kuulumaton] [Nauraa] [MUSIC MC Hammerin "U CAN koske tähän"] DAVID J. MALAN: [kuulumaton] Kyntää läpi. PHILLIP: [kuulumaton] DAVID J. MALAN: Mene eteenpäin. [MUSIC MC Hammerin "U CAN koske tähän"] DAVID J. MALAN: Okei. Onneksi olkoon. [APPLAUSE] DAVID J. MALAN: Me viesti, että verkossa myöhemmin niin että voit viivytellä siihen myös. Princeton keksii seuraavaksi, sen jälkeen. Joten nyt Katsotaanpa todella edetä aloittaa tyhjästä, niin sanotusti, ja todella rakentaa asti voimme kiusata erilleen näitä ajatuksia ja saada jotain vielä monimutkaisempia loppuun mennessä. Aion mennä tänne ja aion mennä eteenpäin ja luoda uuden tiedoston. Joten jälleen, ongelma setti kävelevät sinut läpi joitakin näistä toimista. Mutta kaikki mitä tein oli mennä Tiedosto-valikosta ja minä sanoi "uusi" niin paljon kuin Microsoft Sana, tai minkä tahansa ohjelman niin. Ja mennään eteenpäin now-- ja me täytäntöön "Hello world" hetki sitten, mutta tehdään jotain hieman söpömpi. Aion mennä jopa tapahtumia. Ja aion tehdä ", kun Vihreä lippu napsautetaan. " Ja sitten aion käyttää, sanokaamme, haara. Joten aion käyttää "jos" kunnossa. Ja huomaa kuinka pian pääsen lähelle sille, se haluaa snap yhdessä. Joten annoin mennä ja se napsahtaa yhdessä. Ja nyt voin tehdä jotain mielenkiintoista. Jos minä selata täällä, aion nähdä koko joukko lohkoja. Jos menen "data" - haluan zoomata in-- On jotain muuttujia. Jos menen "liike", voit ilmeisesti kääntää asiat ympäri. Jos menen "operaattorit" - Voi, tämä on mielenkiintoinen, Voin valita satunnaisluku. Joten anna minun tehdä jotain vain jonkinlaisella todennäköisyydellä, vain siksi. Aion mennä eteenpäin ja vie tämä palapelin pala, tämä on se, että vähemmän kuin lohko, joten se on vain "On tämä määrä on pienempi kuin yksi?" Mutta en halua kovaa koodin numero koska se on melko turhaa. Joten aion vetää tämän pala täällä, ja huomaa kuinka se napsahtaa, ja nyt haluan mennä eteenpäin ja sanoa "jos numero, joka on poimittu satunnaisesti on vähemmän kuin kuusi, toimi seuraavasti. " Nyt miksi alle kuusi? Mikä todennäköisyys on tämän tehokkaasti aio antaa minulle, vain intuitiivisesti? Noin 50%, eikö? Jos numero on arvata satunnaisesti välillä 1 ja 10 on pienempi kuin kuusi, selvästi se on yksi, kaksi, kolme, neljä tai viisi. Ja niin, että tulee antamaan minulle 50% todennäköisyys, mitä tapahtuu? No katsotaanpa tehdä jotain Tämän "toistaa ääntä miau." Ja ilmoitus, taas, palapelin pala kasvaa sopivaksi, niin kauan kuin muodot vastaavat. Se mikä on tärkeää. Anna minun mennä yli Scratch täällä ja valitse "Play". Mitään ei tapahdu. Onko tämä bugi? Ei ole välttämätöntä. Se voisi vain olla, että isompi numero valittiin. Tehdäänpä se uudestaan. Mitään. [MEOW] DAVID J. MALAN: Siinä se on. [MEOW] DAVID J. MALAN: Again. Ei [Meowing] DAVID J. MALAN: Joten jos olet koskaan pelannut peliä, tietenkin, jossa tavaraa on tapahtumassa satunnaisesti, kuten pahikset ovat tulossa vai ei tulossa näyttöön, tai asiat ovat laskussa tai eivät kuulu, se johtuu vain siitä jotain Super yksinkertaista kuin tämä tapahtuu. Poimi satunnainen numero, ja jos se on vähemmän kuin jotain arvoa, ehkä tehdä tämän tai ehkä tehdä. Voimme liittää että osaksi kunnossa. Tehdään jotain erilaista. Saanen heittää se pois. Voit päästä eroon tavaraa vain vetämällä se pois vasemmalle ja irtipäästäminen. Anna minun mennä eteenpäin ja tehdä ikuisesti lohko ja hyvin nopeasti tehdä jotain ärsyttävää. Anna minun mennä eteenpäin ja sanoa "play ääni miau." Mutta en halua sen olevan liian ärsyttävää, joten haluan tarttua tähän ryhmään, "Odota sekunti," ja huomautus ei ole enää tilaa. Mutta jos menet tarpeeksi lähellä, se haluaa mennä sinne. Joten annoin mennä ja se tulee kasvaa täyttämään lohkon. Niin nyt, tämä on silmukka. [Meowing] DAVID J. MALAN: Olen kirjaimellisesti tehdä tätä ikuisesti. Uudestaan ​​ja uudestaan. Se ei vain ole luonnollisen kuuloinen. Anna minun mennä eteenpäin ja muuttaa ole yksi toinen, kaksi sekuntia ja paina Enter. Ja mikä on mukavaa noin Scratch on että voisit ohjelmoida vuorovaikutteisesti. Tee muutos, ehkä paina Enter tai Play uudelleen, ja se vain pitää käynnissä. No, nyt miksi emme tee jotain hieman söpömpi? Sijaan tehdä kaiken tyhjästä, anna minun mennä eteenpäin ja avata etukäteen teki yhden, että olen esikypsytettyä, nimeltään "Pet Cat." Ja me post kaikki näitä tiedostoja verkossa, ja ongelma asettaa nolla kertoo miten niitä käytetään ja avaa ne. Ja ilmoitus, tämä on melko yksinkertainen. Mutta etukäteen, taisin tarttui "ikuisesti" block, joten minulla silmukka. Ja sitten minulla "jos" kunnossa. Minulla Boolen lauseke. Niin Englanti, vain vilkaisi tämä, varsinkin jos et ole koskaan ohjelmoitu ennen, vain intuitiivisesti, mitä tämä aikoo tehdä, tämä ohjelma? [Yleisö CHATTER] DAVID J. MALAN: Jos lemmikki kissa, kissa on menossa Miau, eikö? Koska "ikuisesti poistamalla" on hiiren osoitin koskettaa kissa. Joten on selvää, enkä sano tätä ennen, kaikki nämä palapelin kappaletta ja skripti, joka olemme yhdistäneet heidät, niin sanotusti, käsikirjoitus on synonyymi ohjelma, todella, kuuluu tähän kissa. Ja syy on-- koska ilmoitusta miten tämä sama kissa täällä on korostettu, täällä voit luoda toinen kissa tai koira tai oikeastaan mitä haluat graafisesti. Voit tuoda jotain Photoshop, tai vastaava, ja integroida jotain jos haluavat tehdä sen projektin. Ja mitä löydät, lopulta, että te voi lisätä skriptejä, lisää palapeli kappaletta, yksittäisiä merkkejä. Joten nämä kaikki kuuluvat tässä kissa. Joten jos nyt mennä eteenpäin ja pelata Tämän ohjelman, mitään ei tapahdu. Mutta se on käynnissä. Ohjelma on tässä ikuisesti silmukan, Tällainen odottaa mitä tapahtuu? [Yleisö CHATTER] DAVID J. MALAN: lemmikkieläinten kissa. Joten jos siirrän hiirtä kohti him-- [Meowing] DAVID J. MALAN: Joten nyt Olen hyväily kissan. Samalla voimme olla kaksinkertainen haara. Anna minun mennä eteenpäin ja avata ylös eivät lemmikkieläinten kissa. Lähetämme tämän online samoin. Tämä on hieman monimutkainen, mutta selvää voitte arvata ehkä mitä tulee tapahtumaan. [Meowing] DAVID J. MALAN: Kissa on meowing, grand old time. Mutta tämä ohjelma on tietenkin nimeltään "Älä Pet Cat" niin selvästi, haluan lemmikki kissa. [ROARING] DAVID J. MALAN: Älä lemmikki kissa. Nyt, katsomaan toista esimerkkiä tästä. Tämä yksi on nimeltään "Hei, Hei, Hei" syistä että on selvää, koska heti kun juoksen tämän thing-- [SEAL BARKING] DAVID J. MALAN: Erittäin helppo kirjoittaa harmittaa Scratch ohjelmia. [SEAL BARKING] DAVID J. MALAN: Nyt ei mene hyvin yksityiskohtaisesti kaikki nämä, mutta huomaa siellä on pari uusia ominaisuuksia täällä. Siellä on muuttuja, jota kutsutaan "mykistetty" ja sitten on joukko ehtoja. Ja nyt haluan vain kiusaa sinua sanomalla että jos tämä kaveri saa liian ärsyttävää, Voin lyödä välilyöntiä ja hän lopettaa. Koska aseman, Näiden kahden skriptejä on seuraavanlainen. Yksi niistä tekee haukkuvat muutaman sekunnin välein. Toinen vain odottaa minulle lyödä välilyöntiä. Ja jos en osuma välilyöntiä, se tulee muuttumaan tila tämän muuttujan arvo Tämän muuttujan, joka on ilmeisesti nimeltään "mykistetty" En soittanut se jotain tylsää kuin n, Kutsuin sitä Englanti sana "mykistetty." Alkaen 1-0 tai 0-1. Todesta epätodeksi tai vääriä totta. Ja niin voit itse katso nyt, että te voisi olla kaksi skriptejä, kaksi ohjelmia käynnissä samanaikaisesti, ja molemmat voisivat istua silmukan tehdä jotain. Odotetaan ihmisen tehdä jotain lyömällä VÄLINÄPPÄIN. [SEAL BARKING] DAVID J. MALAN: Ja nyt Hän on matkalla taas. [SEAL BARKING] DAVID J. MALAN: Mitä muuta ehkä me teemme näitä esimerkkejä? No, mennään eteenpäin ja tehdä esimerkiksi laskemalla lampaita. Jatkamme tätä linjojen täällä of-- Avataan lampaita esimerkki. Ja ilmoitus, aivan kuten ennen, tämä, onneksi on hieman vähemmän ärsyttävää. Kerran osuin pelata here-- Voi ei, tämä on ärsyttävää. Hän on menossa BAA tietyllä todennäköisyydellä. Pelataan tämä taas. [SHEEP BLEETING] David J. MALAN: Ainoa ero on olemme muuttaneet puku, niin sanoakseni, ja olemme puolittaminen ja sano mikä se todellinen määrä on. No mennään eteenpäin ja ottaa tämän askeleen pidemmälle. Ja haluan kiusaa sinua yksi muu ominaisuus täällä. Mennään eteenpäin ja avata ohjelma nimeltä säikeet. Niin paljon kuin voit olla yksi sprite, jossa on useita skriptejä, voi olla kaksi sprite, lintu kissa, joilla kullakin on oma kirjoitus. Ja jokainen niistä voi toimivat samanaikaisesti. Jos olet koskaan kuullut sana "moniajo" tietokone on "monisäikeinen" tarkoittaa se voi tehdä useita asioita kerralla, ja todellakin, joten voi naarmuttaa. Ja nyt huomaa lintu on tavallaan tyhmä. Se vain tekee asioita satunnaisesti, terhakka pois ruudulta. Selvästi kissa on ohjelmoitu sellaista ole etsivät ominaisuuksia kotia, linnun, koska hän on aina suunnattu hänelle. Kunnes lopulta hän saaliit todellinen lintu. Joten en aio yksityiskohdista täällä, mutta voit sellaista Hangon sama muotoja, jotkut "Jos" olosuhteet, joitakin muuttujia, ehkä jotkut silmukat ovat lopulta tehdä sama asia. Nyt haluaisin mennä eteenpäin ja avata jotain aivan muuta, kiusata jotkut teistä, erityisesti ne mukavampaa, mitä voit itse tehdä tämän. Aion mennä eteenpäin ja avata Button täällä. Ja tämä on erittäin yksinkertainen-näennäisestä ohjelma, mutta katsoa mitä tapahtuu kun I-- Katso mitä tapahtuu, kun avaan tämän version, täällä selaimessa, scratch.mit.edu. Ja kun klikkaa tätä iso punainen painiketta, huomaa, mitä tapahtuu. Joten mitä täällä tapahtuu? Siellä on todella paljon enemmän monimutkaisuutta takana tapahtuu huppu, vaikka olen lisännyt tämä, tai rehellisesti, Dan Bradley on toteuttanut tämän niin yksinkertaisesti. Hän on suunnitellut mukautettuja Scratch palapeli pala, joka tunnetaan Scratch laajennus, Hän kutsui sitä Vaihda. Ja mitä Toggle ei se lähettää Viestin Internetissä. Ja että itse viestin näyttää hieman arvoituksellinen. Mutta tämäkin sinun ymmärrettävä termi lopussa. Viestin hän todella lähettävät näyttää vähän jotain tällaista. Se on vain tekstiä. Cryptic. Ymmärrät sen aika saamme ongelman asettaa seitsemän. Se on vain lähettämällä tekstimuodossa Internetin välityksellä palvelimelle. Ja että palvelin on viime kädessä puhuu tästä lamppu, joka on yksi niistä fancy lamput siinä, että itse puhuu ja Wi-Fi-verkossa täällä, jossa paikallisen laitteen alas here-- ja, lopulta, se on itse asiassa kääntämällä se valo päälle ja pois. Mutta voimme tehdä enemmän mielenkiintoisia asioita vielä. Huomaa mitä Dan teki myös meille. Hän teki useita spritejä, kukin joka on käsikirjoituksen odottaa napsautuksella. Ja jos painan punaista, se menee punainen. Jos saan sininen, se menee sinertävä. Vihreä, keltainen, oranssi. Ja kaikki tämä tapahtuu mukaan menee ulos kiinni Internetissä, takaisin tänne lamppu, päälle ja pois. Ja jos voit uskoa se-- ja tämä on ehkä yksi vaikeimmista Scratch hankkeet joku on implemented-- Hän teki sen, oikeudenmukaisuus, yhdessä päivässä. Ja se oli haaste, johon meidän heitti Dan kun näimme on binary sipulit, meillä Scratch, miten voimme yhdistää ne? Ja tosiaan, tämä on ehdottomasti jotain kukaan tässä huoneessa voisi tehdä lukukausi n end-- Onko hän reimplemented binary sipulit käyttäen sama käyttöliittymä, joka oli meidän iPad keskiviikkona. Joten nyt jos olen itse Napsauta plus tänne, meillä on yksi, kaksi, kolme. Voin lyödä 16 ja puolestaan, että yksi. 128, ja niin edelleen. Nyt jos yksin on ja puhalletaan mieltäsi, voisit tehdä asioita paljon helpommin, ei liity mitään laitteistoja varmasti. Vain asioita ruudulla itse. Ja todellakin, mitä useimmat opiskelijat päätyy tekemään jonkinlainen peli, jotkut pala taiteellisen työn, tai jonkinlainen interaktiivinen animaatio. Ja sanon yksi suosikkeja on ollut tämä. Ja ajattelin jos me voi himmentää valoja, Otamme vilaus tämän lopullisen Scratch projektin lopuksi. Mutta mitä sinun pitäisi pitää mielessä, sillä Voin kiusaa sinua viimeisen yksityiskohtaisesti, leikkuu alkaa ensi viikolla. Toimisto avoinna alkavat ensi viikolla. Harjoitus nolla julkaisua CS50.harvard.edu myöhemmin tänään. Ja sinua tervehditään ongelmakäytön asettaa nolla ja CS50 oma Zamyla Chan, joka ohjaa useimmat walkthroughs. Nämä ovat upotetut videot ongelmaan sarjaa että pitää kätesi kautta paljon ja perustamiskustannukset ja monien mahdollisista suunnittelun päätöksiä. Joten jos olet joskus ollut, että tunteet noutaessaan kotitehtävän ja mietin, mistä aloitan? Hän on, että vastaus teille. Ja nyt, lopullinen ohjelma yhdestä edeltäjistänne vastauksena kysymykseen "Mitä kettu sanoo?" [MUSIC YLVIS, "MITÄ FOX SAY?] YLVIS: (LAULU) Koira menee hau. Kissa menee Meow. Lintu menee piipittää ja hiiri menee kitistä. Lehmä menee moo. Sammakko menee croak. Ja elefantti menee toitottaa. Ankkoja sanoa puoskari ja kalaa mennä blub. Ja tiiviste menee ow ow ow, mutta siellä on yksi ääni, ettei kukaan tiedä, Mitä kettu sanoo? Ja DAVID J. MALAN: Se on se CS50. Näemme sinut Puzzle Day ja maanantaina. [APPLAUSE] [MUSIC YLVIS, "MITÄ FOX sanoi?"] Kertoja: Ja nyt syvä ajatuksia, joita Daven Farnham. Tänään sain osuman kohdata puhelinluettelosta. Hämmentävää, koska olen tällä kotona katsomassa verkossa.