[Muusika mängimine] -Alright! -See On CS50. -See On CS50. -See On CS50. [MUSIC - Iggy AZALEA "fancy"] Mu lemmik mälu CS50 oli siis, kui ma läksin Puzzle Day. -Arvatavasti Lihtsalt aeg kulutatud kallal probleem komplekti mu sõbrad ja inimesed, kes Wold lõpuks saab minu blockmates. Mu parim mälu CS50 on hackathon. -The CS50 hackathon. -Hackathon. -Hackathon. -Hackathon. -The Hackathon -Rob Bowden. Just kõike temaga. [MUSIC - Iggy AZALEA "fancy"] Mu lemmik mälu on see, kui ma olin etapp ja ma mängisin maineka rolli sõlme [? aastal seotud?] [? Eesti. ?] Millal me kõik saime tasuta Dropbox ruumi ja David oli nagu, vaadake oma istekohta. Ja see oli nagu ruumi kõigile! [MUSIC - Iggy AZALEA "fancy"] Mu nõu mis tahes sissetulevad üliõpilane olla tõesti töötavad P-komplekti koos sõpradega. -Planeering Tundi on väga palju oma sõbraks. -Mark Enamiku oma kogemusi ja kokku nii palju inimesi kui võimalik. Ära karda küsida abi. -ALGUS P-komplektid varakult sel nädalal. Ma arvan, et suurim on see, et ära kõik ressursid et CS50 on. -Käi Tööaega varakult sel nädalal. Kahtlemata vaadata püksid. Ära viivitavad oma P-komplekti. -Veenduge Leiad suure grupi inimesi tööle P-komplekti koos. Sul võib olla lõbus ja saada tööd koos. Ära karda, et sundida ennast. Mine häkker väljaanne mõnikord. -Kirjuta Asjad paberil enne kunagi puutu arvutiga. -CS50 On tõesti suur kell pakkuda võimalusi, kuidas saada abi. Mu üks nõuanne on uni. Kas keegi on öelnud, et? Sleep, kindlasti. See on lihtne mitte teha, kuid sa pead seda tegema, ma arvan. Ma ütleksin, et tegelikult tuleb vaimselt valmis sest sa lähed meeldib see. [MUSIC - Iggy AZALEA "fancy"] -See On CS50. -See On CS50. -See On CS50. [MUSIC - Iggy AZALEA "fancy"] -See On CS50. [APPLAUSE] DAVID J. Humala: Nii et see on CS50 ja see on nädala lõpus 0. Ja see oli vaid mõned kohta CS50 töötajad, kes ootame teid mitte ainult lõigud ja tööaega, kuid Samuti on eeloleval nädalavahetusel at CS50 Puzzle Day. Mis jällegi ei ole kõike programmeerimine. Tõepoolest, see on tõenäoline, et sa ei pea programmeerida midagi vaid probleeme lahendada, kasutades Mõistmine ja sõpradega koos sinuga. Meil on ühinenud mõne Meie sõbrad Facebook-- kui registreerite siin-- kes Viimase mitu aastat, on tegelikult kirjalikult need probleemid koos meiega. Ja nii nad on need, lõpuks töötab Puzzle Day. Ja nii, siis tuleb väljakutse just nimelt asju ja probleeme, et inimesed on Facebook meeldib mõelda. Nii et see on homme. Registreeri at cs50.harvard.edu/register. Nüüd sõna paar Personali eriti. See siin on Ansel Duff, kes on tegelikult üks ning kaasautoreid binaarne sibulad, mida me nägime Kolmapäeval, Lisaks CS50 enda Dan Bradley. Ansel Duff oli ka endine uustulnuk advisee minu 3 aastat tagasi ja ta tegelikult isegi ehitatud see kõnepult. Ta on läinud edasi teha tehnikateaduste ja rohkem. Nüüd, tema pilt siin on tegelikult Ansel 3 aastat tagasi CS50 hackathon kui ta laenatud üks meie õhupallid, ummikus selle oma sülearvuti, ja järgmise 12 mõned kummalised tundi, mis on keskendunud oma lõpliku projekti puhkepausi- ainult avada kotti kommi on hackathon. Aga ta läks viimasel ajal veeta möödunud suvel koos meiega, alates CS50 oma töötajatele ja nüüd õpilased sel semestril, on oma 3D printer. Ja lühikokkuvõte 3D printerid on seade, mis näeb välja üsna selline. Sa täida see plastik spool mis sulatatakse poolt seadme ja te ehitada asju sõna otseses mõttes mitte midagi. Palju nagu tindiprinteri, kui hakkate sülitab välja täpikesi plastist mis moodustavad koos kuni moodustavad terviku esemeid. Ja nii Ansel näiteks varem Sel suvel on iPhone 5 ja otsustas ta tõesti tahtis prop see üles oma laua taga. Aga ta ei taha minna ja osta midagi Apple Store vms, et ta istus ja hakkas joonistus midagi. Ta võttis mõned mõõtmised kuidas paksu ja kui suur tema iPhone oli, ta tõmbas see pilt siin, Ta otsustas, et ta tahtis on 75-kraadise nurga all kui see vahtis teda tema laual olemas. Ta keeras seda, kasutades tarkvara sisseveo 3D CAD mudel mis tundus vähe midagi sellist. Ja siis ta jätkas, lõpuks, et tegelikult luua. Nii et tegelikult, kui keegi teist siin, võib-olla järjest, et ma ei viska, on an-- et meil on inimesed koos iPhone 5, ja siin on meil veel kaks. Nüüd ei ole halvem, CS50 enda Cheng Gong sätestatud ka sel suvel ehitada üsna vähe asju, ja Tegelikult põhjustel, mis on veel ebaselge, on aeglaselt trükkimine armee elevandid koos liigendkäele ja kohvrid. Paar, kes on tegelikult siin, kui keegi nüüd nagu-- elevant. Olgu. aga mis Cheng ka tegi Meie jaoks on ta väga sõbralikult loodud kaamera sest et elevant, uskuge või mitte, võtab umbes kaks ja pool tundi printida. Isegi iPhone stand võttis poolteist tundi printida. Ja mis Cheng läksin edasi ja tegi loodi kena kaamera ees Selle 3D printer, filmitud tund ja poole Ansel disain trükitud. Me dubleerivad mõned seksikas muusika see, et teile seda vaatama kuidas 3D printimine töötab. Ja kuigi see on tegelikult plastikust, mõista, et kui see on valdkond, Teile huvi pakkuda akadeemiliselt, on inimesed, nende hulgas neid Jennifer Lewis siin Koolis Engineering, kes on tegelikult töötab 3D printimine plastist esemed. Aga isegi üha enam bioloogiliste materjalide lahendada füsioloogilisi probleeme inimestel. Aga siin on väike midagi CS50. [LOUD kuuldavale mehaanilisi helisid] DAVID J. Humala: See ei kõla midagi sellist, et tegelikkuses kuid see on palju lahedam, et seda vaadata sellise kiirusega, ja et heli. Nüüd, kolmapäeval, kuidas tegime esimese siia said? Alustasime räägime arvuti teaduse ja küsisime, mis see oli. Ja see on umbes palju asju, ja seal on nii palju erinevaid suundi kus saab pea pärast muidugi nagu CS50. Tegelikult, kui sa kiirenenud üks nende mitteametlik juhendid CS väljaspool, vihik, et oleme pakkunud, kas oled mõelnud võttes lihtsalt CS50, või äkki teed teisejärguline, või äkki isegi koondamine CS, siis sirvida seda. Ja näete diagramm lõpu poole, et näitab palju erinevates suundades CS, et võid minna ära. Aga täna me keskenduda jällegi tõesti üks põhilisi seisukohti, võib-olla, kui teil on sisendite probleeme, teil on väljundid probleeme, ja teil on algoritme, mis luua need väljundid need sisendid. Ja üks selline näide, oli Muidugi, see telefoniraamatust siin. Ja me kasutasime näitena minna läbi algoritm, mis oli õige. Ja siis veel üks oli õige, aga natuke kiiremini. Ja siis veel üks, mis oli veidi dramaatiline, kuid põhimõtteliselt kiiremini. Õigus, see telefoniraamatust me väitis, oli umbes 1000 lehekülge. Ja mitu korda tegin ma pisar telefoniraamatust poole et leida keegi nagu Mike Smith, maksimaalselt, 1000 leheküljelise raamatu? Niisiis, 10 anda või võtta. Ja nii kui ma rebis see asi poole, või lihtsalt rohkem küpselt, jagatud pooleks, et see on ainult 10 lehekülge välja 1000. Ja kui sa ekstrapoleerida, vähe ebareaalselt jaoks telefoniraamatust aga kui see telefoniraamat oli mingi 4 miljardit lehekülge, nii et täiesti kohmakas füüsiliselt, kui palju korda sa jagada 4 miljardit lehekülje telefoniraamatust poole? Nii et see on tegelikult 32, võta või jäta. Ja nii 32 korda ainult, välja 4 miljardit lehekülge, saab leiad keegi nagu Mike Smith. Ja see on efektiivsus. See on hea algoritm, daresay. Aga siis me kolisime et proovida vormistama ta. Ja ma tegin ettepaneku seda pseudokoodi kood. Pseudocode kood ei ole midagi ametlikku. See ei ole midagi, mida meelde jätta. See on lihtsalt midagi, mida väljendavad üsna intuitiivselt kasutades inglise, või mis tahes keeles tõesti, et annab edasi oma mõtteid lühidalt. Aga mis peamine kohta pseudokoodi kood on, et sa püüda prognoosida kõiki võimalikke juhtumeid, mis võib juhtuda. Ja tõepoolest, selles pseudokoodi kood oli tõesti kolmel juhul iga kord kui ma jagatud telefoniraamatust. Mike võiks olla vasakul. Mike võiks olla parem. Või ta võib olla õigus lehel ma olen. Või neljas nurgas juhul, kui nii võib öelda. Halb stsenaarium võib olla üks misjärjekorras, mis toimub? Mike lihtsalt ei ole telefoniraamatust üldse. Ja kui programmid crash-- kui Mac ja PC tarkvara, et te joosta arvutis mõnikord hangub või ootamatult sulgub, mis üldjuhul tähendab, et mõned programmeerija, mõned inimeste nagu sa varsti lihtsalt keeras ja tehtud mingi viga. Võib-olla ei osanud oodata, et äkki seal ole Mike Smith telefoniraamatust. Ja kui sa ei ole tegelikult kirjutada koodi selliste olukordadega toime, üldiselt ettearvamatu asju võib juhtuda. Seade võib külmuda. Seda saab taaskäivitada. Programmi saab loobuda. Ja nii kõik need rumalused, mida võib on tekkinud oma tegeliku elu lihtsalt arvuteid, üha enam olema lihtsalt selgitas kaugusel intuitsioonile ja see arusaam sellest, mis on tegelikult toimub all kapuuts. Nüüd proovime heita üldisemal probleem. Selle asemel, et võtta kohalolijate sellises kohas seda, mis oleks üsna aeglane teha üks, kaks, kolm, neli. Või võib-olla kaks, neli, kuus, kaheksa. Olgem keskenduda selle asemel on kuidas me võiksime vormistama algoritm protsessi mida me võiksime võtta osavõtul. Ja mööda teed, alustame kohaldada teatud nomenklatuur et me kasutame täna, kui me tegelikult alustada programmeerimine keeles. Nii et ma annan teile nüüd, neli minutit video et me esitame koos meie sõbrad TEDi organisatsioon. Mille me tarnitakse script ja nad tõid oma animaatorid kandma, ja tegelikult loodud 2D animatsioon, mis algoritm on. Kui me suudaksime päevasõidutulede tuled. [Muusika mängimine] Jutustaja: Mis on algoritm? Computer Science, algoritm on komplekt juhiste lahendamisel mingi probleem samm-sammult. Tüüpiliselt algoritmid teostada arvutid aga meil, inimestel, on algoritme samuti. Näiteks, kuidas oleks lähete lugedes inimeste arvu ruumis? Noh, kui sa oled nagu mina, siis ilmselt punkt iga isiku ühekaupa ja loeb üles nullist. Üks, kaks, kolm, neli, ja nii edasi. Noh, see on algoritm. Tegelikult, proovime seda väljendada natuke rohkem formaalselt pseudokoodi kood. Inglise-like süntaks et meenutab programmeerimiskeelt. Olgu n võrdne 0. Iga inimene toas, kehtestatud n võrdne n pluss 1. Kuidas tõlgendada pseudokoodi? Noh rida üks kuulutab niiöelda muutuja nimetatakse n ja Lähtestab selle väärtuse 0 See lihtsalt tähendab, et Alguses meie algoritm, asi, millega me oleme lugedes on väärtusega 0. Lõppude lõpuks, enne kui hakkame lugedes me ei ole arvestatud veel midagi. Üleskutse see muutuja n on lihtsalt konventsioon. Ma oleks võinud seda nimetas kõige midagi. Nüüd liinil demarks algusest loop, jada samme, mis korrata mitmeid kordi. Seega meie näites, samm oleme võtmist loodab inimesi ruumis. Beneath liinil on line Kolme mis kirjeldab täpselt, kuidas me minna lugedes. Taandus tähendab, et see joon kolm, et kordub. Nii pseudokoodi koodi ütlus on, et pärast algab 0 iga inimene room me suurendada n 1 Nüüd on see algoritm on õige? Noh olgem paugu see natuke. Kas see toimib siis, kui on kaks inimest toas? Vaatame. Vastavalt üks me initsialiseerida n 0. Kõigi nende kaks inimest, me siis juurdekasvu n 1. Nii et esimene reis läbi loop, uuendame n 0-1. On teine ​​reis läbi, et sama loop, uuendame n 1-2. Ja jah, see algoritm lõpus, n on 2, mis tõepoolest arvule inimesi ruumis. Siiani nii hea. Kuidas nurgas juhul küll? Oletame, et on 0 inimest aastal room-- peale minu, kes on teed lugedes. Vastavalt üks, me jälle initsialiseerida n 0. Seekord aga rida kolm ei tee üldse sest seal ei ole inimene toas. Ja nii n jääb 0, mis tõesti sobib inimeste arvu ruumis. Päris lihtne, eks? Aga lugedes inimesed ühekaupa on üsna ebaefektiivne, liiga, ei? Kindlasti me saame teha paremini. Miks ei loe kaks inimest korraga, asemel lugedes üks, kaks, kolm, neli, viis, kuus, seitse, kaheksa, ja nii edasi. Miks ei lähe kahe, nelja, kuue, kaheksa, ja nii edasi? See isegi kõlab kiiremini. Ja see on kindlasti. Olgem väljendada optimeerimine aastal pseudokoodi koodi. Olgu n võrdne 0. Iga paari inimest tuba, määrata n võrdne n pluss 2. Päris lihtne muuta, eks? Pigem loota inimestele ükshaaval ajal me mitte arvestada neid kahte korraga. See algoritm, seega kaks korda kiiremini kui eelmisel. Aga kas see on õige? Vaatame. Kas see toimib siis, kui on kaks inimest toas? Vastavalt üks, me initsialiseerida n 0. Sel üks paar inimest, me siis juurdekasvu n 2. Ja nii selle algoritmi lõpuks n on 2, mis tõepoolest arvule inimesi ruumis. Oletame, järgmine, et on olemas null inimest tuppa. Vastavalt üks me initsialiseerida n 0. Nagu varemgi, joon kolm ei tee see kõik kuna seal ei ole paari inimest ruumis, ja nii n jääb 0. Mis tõesti sobib inimeste arv toas. Aga mis siis, kui on olemas kolm inimest toas? Kuidas see algoritm piletihind? Vaatame, vastavalt üks, me initsialiseerida n 0. Paari neid inimesi, me siis juurdekasvu n 2. Aga mis siis saab? Ei ole veel täis paari inimest toas nii liinil enam ei kehti. Ja nii käesoleva algoritm lõpuks, n on veel 2, mis ei ole õige. Tõepoolest see algoritm ütles lollakas, sest see on viga. Olgem hüvitamise mõned uus pseudokoodi koodi. Olgu n võrdne 0. Iga paari inimest tuba, seadke N võrdne n pluss 2. Kui üks inimene jääb paaritu, seatud N võrdne n pluss 1. Et lahendada selle probleemi, me kasutusele rida neli tingimust, muidu tuntud filiaal, mis täidab üksnes kui seal on üks inimene me ei saanud siduda teise. Ja nüüd, kas seal on üks või kolm, või paaritu arv inimesi ruumis, Selle algoritmi nüüd neid lugeda. Kas me saame seda veelgi paremini teha? Noh, me võiks loota kolmekesi, või püksid või isegi viied ja kümneid, kuid pärast seda, see läheb aina natuke raske juhtida. Lõpus päeval, kas teostada arvutite või inimestele, algoritmid on vaid juhistega kellega probleeme lahendada. Need olid vaid kolm. Mis probleem eks lahendada koos algoritm? DAVID J. Humala: Nii tahtlikult, väga lihtne programm, väga lihtne algoritm saavutamiseks midagi väga lihtne, lugedes inimeste arv toas. Kuid olgem tease peale mõned esindaja funktsioonid siin, mis on tegelikult läheb olla kasulik ka siis, kui rakendatakse kõige kompleks tarkvara. Nii näiteks selles esimeses reas meil on, mida me nimetame muutuja, ja algebra, sa oled üldiselt tuttav abil x ja y ja z mõnikord, ja nii edasi. Aga programmeerimine, muutujad veel, lõpus päeval väga sarnane. Aga see on võib-olla lihtsam mõelda Muutuva lihtsalt konteiner. Ja tõepoolest, see on mingi arvu bittide rakendatud kuidagi kõvakettal või arvuti mälu, kuid rohkem, et ka tulevikus. See on lihtsalt konteiner. Ja kui sa midagi öelda nagu n võrdne 0, ka see on nagu kutsudes seda klaasi kauss siin n, lihtsalt suvalise nime, ja paneb midagi esialgu. Nii see väärtus kauss praegu on null. Ja muidugi, kui sa tajud aastal järgnenud liin, tegelikult juurdekasvu mõne rea kood, nagu see kolmas rida siin, 1, mis on nagu öelda, mis on praegune väärtus n, see on 0, pluss 1, panna midagi ping pong palli sisse. Nüüd väärtus see muutuja on lihtsalt 1. Ja sa võiksid väga kiiresti üldistusi, kuid nüüd on see 2, nüüd on 3, ja nii edasi. Nii et kõik on muutuja. See on tükk ladustamise tegelikult salvestada mõned andmed. Sest nüüd on ping pong palli. Seal on mitmeid. Kuid see võib olla sõna sõnastik, nagu õigekirja kontroll I vihjas kolmapäeval üks eelmise aasta probleem komplekti. Nüüd veel üks oluline mõte, et sarnaselt on üsna intuitiivne ma väita, on see, et silmuse. Ja loop protsessi lugedes igaühele on muidugi, tehes samal asja uuesti ja again-- kas üks at aega või kaks korda. Ja saab väljendada inglise keeles, või pseudokoodi koodi igal mitmeid võimalusi, kuid kasutades seda eessõna "poolt" on väga levinud viis tee. Iga inimene toas, tee seda. Ikka ja jälle. Ja asjaolu, et see liigestatud, joon kolm, vaid seda, et mida sa peaksid tegema on asju, mis on liigestatud allpool joont kaks ise. Just inimeste konventsiooni kuid levinud nagu me näeme tegelikus suurem taseme programmeerimiskeeli. Nüüd veidi huvitavam on kui sa kuhugi nurka puhul. Näiteks nurgas Asi oli siis, kui oli kolm inimest, või viis või seitse, või paaritu arv inimesi ruumis, sest seda tehes kahekaupa pidurid lõpuks, sest teie kavatse miss keegi, kas algusest või päris lõpus sõltuvalt sellest, kuidas sa seda teed. Ja nii, nüüd, mul on selline filiaal või tingimusel, kui üks inimene jääb, siis edasi minna ja tegeleda, et üks üksildane inimene, kes ei saanud seotud kellegi teisega. Nii see on, mida me nimetame seisundi või filiaal. Nüüd pseudokoodi kood üldisemalt võib kirjaliku lahendama mitmeid probleeme. Ja ma arvasin, et me teha, on hetk kutsuda ütleme CS50 on ise Rob Bowden laval tuleb omavahel ühendatud kahe vabatahtlikega kes ei tea, mis ootab. Käsi läks nii kiiresti, kui ma seda ütlesin. Kuidas teile lõpe siin, tule üles. Ja kuidas kaugemalt ära, kuidas viis tagasi. Tagareas, tule üles oma käed üles. Olgu, ja mis su nimi on? Anita Anita. DAVID J. Humala: Anita. Ok, tore kohtuda. Lubage mul tutvustada teile Rob Bowden. See on Anita. Ja mis sinu nimi on? Kiersten: Kiersten DAVID J. Humala: Kiersten. Kiersten, tule üles ja täita Rob Bowden ja Anita. Meeldiv kohtuda. Kiersten: Meeldiv kohtuda. DAVID J. Humala: Olgu, Rob. ROB BOWDEN: Meeldiv kohtuda. DAVID J. Humala: Anita. Kiersten: Hi Anita. DAVID J. Humala: Ja teie mitusada klassikaaslastega. Nii, nüüd ma lähen edasi ja tõmba üles lihtsalt programm siin Mac OS, lasen mina tegelikult kübeke märkmeid alla. Ja kui te tahate, et iga võtma seisukoha üks neist koolides, Lubage mul minna ja hakkab nimekiri kohta pseudokoodi kood, kui soovite. Ja see, mida ma tahan teha siin, lõpuks on tüüp teile mõned juhised, et meie publiku liikmed on tegelikult läheb etlema meile. Lubage mul minna ja lihtsalt muuta see nimekiri nummerdada mängu, mida me teeme seal. Ja mida ma lähen tegema, on Teie abiga on kirjutada programm aastal pseudokoodi, kellega need kutid hakkavad rakendada maapähkli ja moosi võileib. Nii et see on võib-olla muuseas, et näita midagi mõned teist olete näinud internetis üksnes lühikest tüütu hetkel. [MUSIC BUCKEWHEAT poisid "MAAPÄHKLIVÕI  JELLY TIME "] DAVID J. Humala: OK. Aitab sellest. Nii et siin vahepeal pean paari Google prillid, mis me panna CS50 enda Rob Bowden näha maailma läbi tema silmade. Ja me teeme oma parima, post tootmine tegelikult jutustama kaadrid, mida Rob on näha nüüd sellesse tegelik loeng video meie kaks vabatahtlike ta kõrval. Niisiis, mida ma lähen tegema on, ma tulen masinakirjutaja. Meil on eesmärk siin tegelikult kirjutamise programm kellega teha lõppkokkuvõttes maapähklivõi ja tarrend sandwich, aga need kolm hakkavad käituma nii nagu need on arvutid. Ja arvutid, lõpus päeval on tegelikult päris loll seadmeid. Nad on super kiire, kuid vaid teha, sõna otseses mõttes, mida neile öeldakse. Sa ei saa lihtsalt öelda, teha maapähklivõi ja moosi võileib. Sul on programmeerida neid seda tegema. Sa pead neile öelda täpselt, mida teha, vähem asjad lähevad kohutavalt ja loodetavasti Lõbusas viltu. Nii et öelda, me peame ühe kõne-out publiku mida peaks tugevdama üks olla, kui eesmärk siin on teha maapähklivõi ja moosi võileib. Jah? Sihtrühm: [kuuldamatu] kott leiba. DAVID J. Humala Avage kott leiba. Nii et kui kolm võistlejat oleks meeldib edasi teha, et sõna otseses mõttes. Avage kott leiba. [Sihtgrupp LAUGHING] DAVID J. Humala: Teeme parem sellest. Olgu. Nii etapp, kuidas-- võtame seda edasi. Jah, ees. Sihtrühm: [kuuldamatu] leiba. DAVID J. Humala: Mis see on? Sihtrühm: Eemalda leiba. DAVID J. Humala: Eemalda leiba. Samamoodi sisutihe. Aitäh. [APPLAUSE] DAVID J. Humala: Ongi kõik? OK, nii etapp toimub et eemaldada leib. Olgu, keegi taha Kirjutage meile enam lause? Keegi teine? Natuke rohkem [kuuldamatu]. Ei, mitte midagi praegu. Jah? Sihtrühm: Asetage kaks viilud üksteise kõrval. DAVID J. Humala: Asetage kaks viilud üksteise kõrval. [Sihtgrupp LAUGHING] DAVID J. Humala: Asetage kaks viilud üksteise kõrval. Samm neli. Jah? Sihtrühm: Võtke küljest ja seada see kergelt peal maapähklivõi kaas. [Sihtgrupp LAUGHING] Sihtrühm: [kuuldamatu] kõrval maapähklivõi. DAVID J. Humala: Mida? Ütle, et jälle. Sihtrühm: Keerake kaas ja pane seda õrnalt kõrval maapähklivõi. DAVID J. Humala: Pane see õrnalt kõrval maapähklivõi. OK, edu. Samm viis. Suurepärane. Jah? Korja nuga. DAVID J. Humala Korja nuga. OK, samm kuus. Jah? Sihtrühm: Hoia nuga käepidemest. DAVID J. Humala: Hoidke nuga käepidemest. Hoia nuga käepidemest. Samm seitse. Jah? Sihtrühm: [kuuldamatu] nuga maapähkli või ja nii vähe välja [kuuldamatu]. DAVID J. Humala: Pane nuga sisse-- I kuulnud "panna nuga maapähklivõi ning võimalikult vähe tähelepanu kui võimalik. " Muide, võtke paber esimene. Olgu, astu üheksa. Samm üheksa. Samm üheksa. Me ei ole tegelikult tehtud võileiba veel. Jah? Sihtrühm: Kasutades nuga maapähklivõi, kohaldatakse maapähklivõi ütles leib. DAVID J. Humala: Kasutades nuga maapähklivõi, kohaldatakse maapähklivõi ütles leib. [Sihtgrupp LAUGHING] DAVID J. Humala: Olgu samm 10. 10. etapp. Jah? Sihtrühm: Maitse maapähkli või kvaliteedi tagamiseks. [Sihtgrupp LAUGHING] DAVID J. Humala: 11. etapp. 11. etapp. 11. etapp. Tule. Jah? Just seal. Sihtrühm: Hoolikalt kiirenemist tarretis. DAVID J. Humala: Hoolikalt kiirenemist tarretis. OK, ja siis teine ​​käsi oli üles. Su selja taga. Jah, sinine. Sihtrühm: Olgu, eemaldage kaas [kuuldamatu], jah, eemaldada kaas tarretis. [Sihtgrupp LAUGHING] DAVID J. Humala: Alates tarretis. Ha ha. [Sihtgrupp LAUGHING] DAVID J. Humala: Ja siis? Sihtrühm: Ja vaevalt pühkima iga [kuuldamatu]. [Sihtgrupp LAUGHING] Sihtrühm: Muidugi, enne [kuuldamatu] Eemaldage paber tarretis. DAVID J. Humala: Eemalda paber tarretis. Samm 14. Me oleme peaaegu kohal. Jah? Sihtrühm: Invert tarretis pudel Enne kõike kukub. DAVID J. Humala: Invert tarretis pudel enne tarretis kukub. Samm 15. Sihtrühm: Pange kork. DAVID J. Humala: Pange kork. 16. samm. Jah? Sihtrühm: [kuuldamatu] DAVID J. Humala: Ütle seda uuesti. Sihtrühm: Võtke kork maha oma kapslites. DAVID J. Humala: Off oma kapslites. Nii päriselt Oops. Tule. Pange kork tagasi. Pane cap-- Ütlesid Eemaldage kate tarretis. Tundub, et me oleme natuke loop. 17. samm. Jah? Sihtrühm: [kuuldamatu] DAVID J. Humala: Ütle seda uuesti. Sihtrühm: [kuuldamatu] DAVID J. Humala: Mine tagasi step-- Sihtrühm: [kuuldamatu] DAVID J. Humala: Eemalda kork maapähklivõi. Jah? Sihtrühm: Viska kõik tarretist leiba. DAVID J. Humala: Viska kõik tarretist leiba. DAVID J. Humala: Me oleme peaaegu kohal. 19. samm. Sihtrühm: Eemaldage liigne tarretis. DAVID J. Humala: Haha, marmelaad. [APPLAUSE] DAVID J. Humala: Miks ei me-- veel üks samm, et seda kodus. Üks samm veel ja siis Teenindame võileibu. Jah? Sihtrühm: [kuuldamatu] DAVID J. Humala: Kuigi iga võileiva remains-- olgem taane see-- süüa. [Sihtgrupp naer] DAVID J. Humala: Olgu, tänan Teil meie vabatahtlikele siin. [APPLAUSE} DAVID J. Humala: Meil ​​on mõned kena jumalagajätt kingitusi igaüks teist. Oma maapähklivõi, marmelaad, ja leiba, et tuua tagasi koju. Aitäh. Kiersten: Aitäh. DAVID J. Humala: [kuuldamatu] teretulnud. [APPLAUSE] DAVID J. Humala: Nii, see on, ning muidugi naeruväärne näide. Eks ole? Aga see omamoodi näitavad, kuidas me Inimestel lihtsalt võtta selgust anda. Ja tegelikult ma olen olnud rääkides teise inimese, ta lihtsalt ei tea, mida sa silmas pead. Arvutid ei kavatse teada, mida sa mõtled, isegi kui kasutatakse, kui me hakkame tegema täna, programmeerimine midagi Scratch, drag ja langus, puzzle tükk stiilis keeles. Isegi mõeldud noortele lapsed, siis on olema nii selge ja nii sõnasõnaline koos mida sa tahad oma programmi teha. Nüüd lõpuks, me oleme saab olema programmeerimine mitte pseudokoodi koodi English nagu süntaks, kuid koodi või õigemini, allika kood. Lähtekood on lihtsalt fancy viis kirjeldamiseks kood, mida tegelikult kirjutada klaviatuuril, mis on ei ole inglise keeles per se. See on C või Java või C ++ või midagi niimoodi, nagu me varsti näha. Ja tegelikult, lihtsalt hirmutada Mõned teist, esimesel pilgul, See on programm, mis on kirjutatud keeles kutsus C. Aga un-paanika mõned teist, te täielikult aru, mis toimub aasta tulema järgmisel esmaspäeval, mil see tuleb midagi sellist. Ausalt, see on vanemate keel. See on üsna müstiline, aga see on tüüpiline on palju keeli nendel päevadel, et on palju sulgudes ja lokkis traksid ja jutumärke ja semikoolonit. Ja palju seda süntaktiline asju, mis ei ole üldse intellektuaalselt huvitav. Tõepoolest, see on äärmine häiritud alates väga lihtne ideid mis on jõllis meid ees. See programm, kui sa võiksid lihtsalt arvan, Prints kellegi arvutiekraani sõnadega "Tere komaga maailmas." Ongi kõik. Nii selgelt, seal palju asju, mis on saada takistuseks mõned enesestmõistetavusele seal, aga see läheb väga kiiresti libiseda ära ja täiesti arusaadavad. Tõepoolest, mis me teeme täna ajama seda üsna keeruline otsin programmi, mis jälle sa tuled mõista kiiresti, kuid midagi palju lihtsam. Ütleme nii, et mida me mõtleme. Joonistame pildi sellest, mida me mõtleme, teel need puzzle tükid siin. Nii et see on programmeerimine keel, mida nimetatakse Scratch. Ta töötas välja MIT Media Lab. Ja mida sa näed probleemi seatud null, mida hiljem vabaks, me peame lähete seda URL siia scratch.mit.edu. Ja nad on veebis põhine kasutajaliides, mille kaudu sa kirjutad oma esimese programmi. Või neile, kellel eelnev kogemusi, oma teise programmide kuid keskkond, mis on ilmselt veidi harjumatu ja et push teil luua midagi Kasutades seda väga visuaalne keskkond. Nüüd, mida ma teen siin on avada programm ise. See on olemas mitte ainult veebibrauseri vaid ka allalaaditav programm nii, et saate tegelikult kasutada Kui sul ei ole internetiühendust. Ja ma lähen tegema, et aastal siin, Sanders, lihtsalt juhul, kui Wi-Fi ei koostööd super hästi. Ja mida ma lähen tegema, on punkt välja mõned omadused selle programmi. Nii, et oleks selge, ma lihtsalt topelt klõpsatud ikooni oma töölaual või samaväärselt läinud scratch.mit.edu, ja see tõstis seda akent. See on programmeerimise keskkonda. See on tarkvara, mis mõned meie sõbrad MIT kirjutas, et lähme meile ja sa kirjutad programmide keeles nimetatakse Scratch. Nüüd see juhtub olema kass, kes on ka nimega Scratch ja see on tema maailm, kus ta elab. See on etapp, kui nii võib öelda, et ruut ülemises vasakus nurgas. Ja ta ei pea nägema kass. Võite teha teda otsima nagu midagi ja sa võib olla palju selliseid haldjaid, või märki, et programm. Vahepeal siin on palju õigus, on suur tühi kiltkivist. Ja see on, kus hetkel me ei kavatse alustada programmeerimine pukseerige Nende graafiline puzzle tükki, mis on õige siin keskel. Ja seal on palju rohkem neid kui veedame aega siin klassis sest leiad, et nad on kõik üsna intuitiivne. Jällegi, see on mõeldud Laste eest, kuid me kasutada tease peale mõned neist põhiideed muutujaid, silmad, tingimusi, ning kiiresti asjad nagu funktsioonid ja sündmused ja niidid ja muud nipsasjad asjad paneme saada enne pikka tegelikult luua midagi nullist. Pun mõeldud. Nüüd, mida ma lähen tegema, on siin klõpsa ei algatusel, kuid kontrolli. Ja see on vaid kategoriseerimine siin-- ja ma ei näe teist värvi määrata plokke. Aga teate mõni tuttav sõna. "Kui" ja "muud kui" ja "korrata." Ja võite ilmselt vist see meenutab filiaal, või tingimusi, mida me nägime ja isegi silmukoiminen ehitada. Nii et meil on sarnane plokid siin. Kuid kõige huvitavam üks on see siin. Kui see roheline lipp on klõpsatud, see, et need, kellel on eelnev Planeerimise kogemus on võrdne et peamine ülesanne. Aga neile võõras, See on puzzle tükk mis algatamiseks kogu meie programmis. See tähendab sõna-sõnalt, kui ma lähen, selles programm ja kliki roheline flag-- mida näed siin sisse ülemises vasakus nurgas UI, nii näha roheline lipp kõrval punane stop märk? Kui ma vajutan, et minu Programmi saab käivitada. Nüüd ma lähen tegema midagi super lihtne koos Scratch. Ma lähen edasi minna ja mine välja, paneel siin, kus ma olen hunnik lilla puzzle tükki, ja ma lähen edasi minna ja teha midagi super lihtne nagu, ütleme. Ja siis-- teate selle Teksti valge kast on editable-- ma ütlen "Tere maailm", just nagu me tegin selle tekstiline versioon hetk tagasi. Ja nüüd, kui ma olen läinud ja klõpsake seda roheline lipp, olen nüüd programmeeritud. See ei ole eriti huvitav programm, kuid ma tegin arvuti midagi tegema. Hakkasin programm ja see tegin seda, mida ma ütlesin seda teha. Nüüd saab jätkata lohistada rohkem ja rohkem neid puzzle tükki ja nad ei kavatse omavahel tihedalt seotud, kuid olgem laksu mõned terminoloogia siin et me näeme korduvaid vältel, ja tegelikult kogu infotehnoloogia ja programmeerimine üldisemalt. See "öelda" block, on lillad, olgem lihtsalt alustada kutsudes oma avalduses. See on nagu fakti. Tehke seda. Nii, see on kategooria juhiseid, et sa võivad toituda arvuti osana programmi või algoritmi. Ja teha selgeks, olete tõenäoliselt iseenesestmõistetavaks et sul on programmid arvutisse. Ja nad on omamoodi algoritme, kuid Programm on tõesti hunnik algoritmid et mõned inimesed kirjutasid. Nad pakitakse see üles ja nad müüsid seda, et sa, või nad üles veebisaidile allalaadimiseks. Nii, programm on lihtsalt terve hunnik nulle ja need et kuidagi inimeste loodud. Ja need mustrid nulle ja need moodustavad asjad lõpuks nagu "tere maailm" või "play Selle muusika "või" mängida seda video " või "talle." Aga tuleme tagasi kuidas täpsemalt, mida Programm on siis, ise kirjutada. Siin on veel üks statement-- "Oota üks sekund." Ma ei kasuta seda veel, aga kui ma tahan minu programm pausi ajal midagi teha, ma võin seda teha. Oota üks sekund. Nüüd veel üks võiks olla "Heli". Nii, see on unikaalne nullist, see on võimeline helisid. Niisiis, avaldus Võiksin kasutamine on siin, "Heli". Vahepeal Boolean väljend, nii et see on peenema sõna nime lihtsalt mees nimega Hr Bool, ja see on kõik umbes üks küsimus. Õige või false-- on hiire alla? Loogiline avaldis on lihtsalt mõned väljenduse English mis on kas tõene või väär. Kas sisse või välja. Kas üks või null. Sa ei mõtle seda igal mitmeid võimalusi, aga see on kas tõene või see vale, lõpuks. Nii et "hiire alla küsimärk" et oleks Boolean väljend. Ja sa ei mõtle teistele, võib-olla. Näiteks "on jäänud number väiksem kui õige number? " Ka see oleks Loogiline väljend. "Alla" on Boole'i ​​väljendus. See üks, liiga, "liigutav hiir." Ma ei tea, miks nad kutsus ta hiirekursorit. See tähendab lihtsalt, on kursor, on nool ekraanil, puudutades kass, näiteks. Või mingi muu aspekt ekraanil. Ja see on küsimus, uuesti ja mis tähistab loogilise väljenduse. Midagi, mida võiks soovite kasutada seisukorras. Nii et me tuleme, et üks hetk. Saate "ja" asjad koos. Niisiis, kui soovite, et kontrollida, kas see on, ja see on nii, mida saab kasutada "ja" plokk niimoodi. Ja siin on see tingimus. Märka kuju veidi avamist ülaosas seda kollane puzzle tükk, see meenutab kuju et me lihtsalt nägin hetk tagasi. Kõik need Loogiline väljendeid on neid juhtinud servad vasakul ja paremal. Ja seda sellepärast, MIT inimesed otsustanud et visuaalselt edasitoimetamiseks kujundeid, saab omamoodi aidata inimesi, õpilased kui ka lastele, et selline täita lüngad sõna otseses mõttes. Nüüd, puzzle-- et avamine on natuke väike, ja kui me näeme, et programmi Scratch, see kasvab, et see sobiks. Ta säilitab oma kuju lõpuks. Nii seisukorras olgem teil otsustada "Ma pean tegema midagi või mitte?" Loogiline väljend on tegelik küsimus te kasutate otsustada ma minna vasakule või ma lähen paremale kui ma kogevad seda nn tee hargneb? Sul võib olla mõlemat. Kui midagi on tõsi, kas Selle, muidu seda teed minna, või saate lihtsalt mitte midagi teha kõik, kui see plokk vaikimisi. Samamoodi saame pesa neid asju. Nii et kui soovite kolmekordistada kahvel tee, kas seda teha või seda või toda, saate lihtsalt pesa need asjad kokku. Ja see hakkab natuke kole, lõpuks, kindlasti, kuid loogika on ikka sama. Võid sõna otseses mõttes lugeda see ülevalt alla ja ta ütleb, mida ta means-- kui see On tõsi, seda teha, teine ​​kui mujal. Loop ei saada lihtsam Scratch. Forever teha järgmist. Nüüd te ei usu, et sa saab palju ära teha, sest seal ei ole palju ruumi vahel top ja allosas see puzzle tükk avamist. Aga näete Scratch läheb kasvama sobitada nii palju puzzle tükki kui tahad toppida sinna. Teine loop võib olla väljendatud kordust. Kui tead ette, "I tahad midagi teha 10 korda, " võid lihtsalt öelda Scratch midagi teha 10 korda. Ja vahepeal meil on muutujad. Nii et siin on üks suvaline, see oranž sel juhul ja see on tuulispask tour. Jällegi, leiad selle väga kättesaadav kui hakkate suunates ja klõpsates. Ma olen nimega minu muutuja n, aga ma oleks nimeks midagi tahan, ja ma panen selle siin, see suvalise näiteks nulli. Nüüd näeme programm nagu hello maailm ei ole nii kaalukad, niiet tegelikult avada midagi et endine õpilane tegi. Lubage mul minna ja avada, Näiteks see siin, mille eest ma armastan olema vabatahtlik. Olgu, kuidas et-- lähme kaugemale. Jah, tule üles. Mis su nimi on? ABBY: Abby. DAVID J. Humala: Abby, tule üles. Nii et kas te olete kunagi mänginud Selle mängu enne? ABBY: Ei DAVID J. Humala: Olgu. David, meeldiv kohtuda. Tulge üle. Ja milline on teie programmeerimine tausta, kui üldse. ABBY: Olen õppinud mõned C ++. DAVID J. Humala: Sa oled õppinud mõned C ++. Ja mis on sinu mäng mängib taustal? ABBY: Mitte palju. DAVID J. Humala: OK, nii et me võtame selle. Nii et siin on, kuidas mäng läheb tööle. Ma lähen edasi minna ja Klõpsake roheline lipp, mis on siin ülaosas paremal. Nüüd oma eelkäija klass on andnud teile mõned juhised siin. Ja üks hetk, see ütleb "ruumi alustada." Nii et laske käia ja vajuta tühikut. Arvutimäng: Pikachu. DAVID J. Humala: Ja eesmärk on püüda toitu, mida on kujutatud seal vasakul. Ja [kuuldamatu] [Mäng muusika mängimine] DAVID J. Humala: Aww, noh, tänan teid mängima. Meil on siin väike jumalagajätt kingitus teile. Meil on CS50 stress palli, kui soovite valida. Hea küll, hea kohtuda. Aitäh, et tulite ja väljakutsuv. Nii et meil on rohkem stressi pallid, nii Teeme veel ühe näite motiveerida. Vabatahtlikuna? Olgu, kuidas on siin ees. Mis su nimi on? PHILLIP: Phillip. DAVID J. Humala: Phillip. Tule, Phillip. Niisiis, Phillip saab olema vaidlustada teise mängu et üks teie eelkäijad kirjutas osana probleem seatud null, nn Ivy Hardest Game. Ja me näeme, vaid hetk mis tähendab seda. Phillip, meeldiv kohtuda. Mis on teie taust? PHILLIP: Valmis palju kodeerimine. Valmis vähe mängu ka. DAVID J. Humala: OK. On palju mängu ka. Ja sa oled mänginud seda mängu enne? PHILLIP: Ei DAVID J. Humala: All Hästi, siin me läheme. Ma lähen edasi minna ja kliki roheline lipp. [Mäng MUSIC] [MUSIC MC Hammer, "U ei puuduta see"] PHILLIP: [kuuldamatu] DAVID J. Humala: [kuuldamatu] PHILLIP: [kuuldamatu] [LAUGHING] [MUSIC MC Hammer, "U ei puuduta see"] DAVID J. Humala: [kuuldamatu] Ader läbi. PHILLIP: [kuuldamatu] DAVID J. Humala: Lase käia. [MUSIC MC Hammer, "U ei puuduta see"] DAVID J. Humala: Olgu. Palju õnne. [APPLAUSE] DAVID J. Humala: Me teeme seda post, et online-hiljem nii et saate edasi lükkama ka seda. Princeton kerkib järgmine, pärast seda. Vaatame nüüd tegelikult edasi alustada nullist, nii rääkida, ja tegelikult ehitada kuni saame tease peale mõned neist ideedest ja saada midagi, isegi keerulisemaks lõpus. Ma lähen siia ja ma lähen minna ja luua uus fail. Nii et jälle probleem komplekt kõnnime teid läbi mõned neist sammudest. Aga kõik, mis ma tegin, oli minna File menüü ja ma ütles, et "uus", nii palju nagu Microsoft Word, või mis tahes programmi niimoodi. Ja olgem minna nüüd-- ja me rakendatakse "Hello world" Hetk tagasi aga teeme midagi natuke ilusam. Ma lähen kuni sündmusi. Ja ma lähen tegema, "kui roheline lipp klõpsatud. " Ja siis ma lähen kasutada, ütleme, filiaali. Nii et ma lähen kasutada "kui" tingimus. Ja teate, kui kiiresti ma saan lähedal seda, ta tahab snap koos. Nii et ma lahti lasta ja see klõpsatusega koos. Ja nüüd ma saan teha midagi huvitavat. Kui ma sirvida siin, ma lähen näha terve hunnik plokke. Kui ma lähen "andmed" - las ma suumida sisse-- seal on midagi muutujad. Kui ma lähen "motion", saate ilmselt omakorda asju ümber. Kui ma lähen "ettevõtjad" - oh, see on huvitav, Võin valida juhuslik number. Nii et lubage mul teha midagi ainult teatud tõenäosusega, just sellepärast. Ma lähen edasi minna ja lohista puzzle tükk, see, et vähem kui blokeerida, nii et see on lihtsalt "On see arv väiksem kui üks?" Aga ma ei taha kõva koodi number sest et päris mõttetu. Nii et ma lähen lohistada see tükk siin, ja teate, kuidas see klõpsatab, ja nüüd lubage mul minna ja öelda: "kui number, mis on korjatud juhuslikult on vähem kui kuus, tee järgmist. " Nüüd, miks vähem kui kuus? Mida tõenäosus on seda tõhusalt annan mina, vaid intuitiivselt? Umbes 50%, õigus? Kui see arv on vist juhuslikult vahemikus 1 kuni 10 on vähem kui kuus, selgelt see on üks, kaks, kolm, neli või viis. Ja nii see läheb mulle 50% tõenäosusega, mis toimub? Noh olgem midagi sellist see "Heli mjäu". Ja teate, jälle, puzzle tükk kasvab sobivaks, nii kaua kui kujundeid sobitada. See ongi oluline. Lubage mul minna üle Scratch ning kliki "mängida." Midagi ei juhtu. Kas see on viga? Ei ole vajalik. See võib lihtsalt olla, et suurem number valiti. Teeme seda uuesti. Mitte midagi. [MEOW] DAVID J. Humala: Siin see on. [MEOW] DAVID J. Humala: Jälle. Ei [Meowing] DAVID J. Humala: Nii et kui sa oled kunagi mänginud mängu muidugi kus asju juhtub juhuslikult, nagu halb poisid tulevad või mitte tulevat ekraani, või asjad langevad või ei kuulu, see on lihtsalt sellepärast, et midagi super lihtne nagu see toimub. Pick juhuslikult number, ja kui see on vähem kui mingi väärtus, äkki seda või hoopis teha. Me võime lisada et seisundisse. Teeme midagi. Las ma viska see ära. Võite vabaneda kraami lihtsalt tõmmates see välja vasakule ja lase minna. Lubage mul minna ja teha igaveseks blokeerida ja väga kiiresti midagi tüütu. Lubage mul minna ja öelda "Heli mjäu". Aga ma ei taha, et see oleks liiga tüütu, nii et lubage mul haarata seda plokki, "Oota üks hetk," ja teatise seal ei ole enam ruumi. Aga kui sa lähed piisavalt lähedal, ta tahab sinna minna. Nii et ma lahti lasta ja siis kasvada, et täita blokeerida. Nüüd on see silmus. [Meowing] DAVID J. Humala: ma olen sõna otseses mõttes seda teha igavesti. Ikka ja jälle. See lihtsalt ei ole loomulik kõlav. Lubage mul minna ja muuta mitte üks sekund, et kahe sekundi ja vajuta Enter. Ja mis on tore Scratch on et sa võiksid programmi interaktiivselt. Tee muutus, võibolla Enter või mängida uuesti, ja siis muudkui läheb. Noh, nüüd, miks me ei võiks teha midagi natuke ilusam? Selle asemel, et teha kõike nullist, Lubage mul minna ja avada enne tehtud üks, et ma eelküpsetatud, nimega "Pet Cat". Ja me postitada kõik neid faile online, ja probleem seatud null ütlen teile kuidas neile ligi pääseda ja avada neid. Ja teate, see on üsna lihtne. Aga eelnevalt, ma tundub, et on haaranud "igavesti" blokeerida, nii et ma pean silmus. Ja siis ma sain "kui" tingimus. Mul Boolean väljend. Nii inglise, lihtsalt riivav see, eriti kui sa pole kunagi programmeeritud enne, vaid intuitiivselt, mida see tegema hakkad, see programm? [Sihtgrupp Vestluse] DAVID J. Humala: Kui lemmikloom kass, kass läheb Mjäu, eks? Sest "alatiseks eemaldades märke" on hiir puudutamata kass. Nii et peab olema selge ja ma ei saa öelda, seda enne, kõik need puzzle tükki ja skript, mis oleme ühendanud need, niiöelda script on sünonüüm programm, tõesti, kuulub sellele kassile. Ja põhjus on-- sest teade kuidas see sama kass siin on esile tõstetud, siin saad luua teine ​​kass või koer või tegelikult ükskõik mida tahad graafiliselt. Saate importida midagi Photoshop või nagu ja integreerida midagi, kui te tahan teha seda projekti. Ja mida sa leiad, lõppkokkuvõttes on see, et sa saab lisada skripte lisada puzzle tükki, et üksikute tähemärki. Nii et need kõik kuuluvad see konkreetne kass. Nüüd, kui ma edasi minna ja mängida Selles programmis, ei juhtu midagi. Aga see töötab. Programm on selles igavesti loop, omamoodi ootan, mida juhtub? [Sihtgrupp Vestluse] DAVID J. Humala: PET kass. Nii et kui ma liikuda mu hiir suunas teda-- [Meowing] DAVID J. Humala: Nüüd Ma hellitus kass. Vahepeal saame olla topelt filiaal. Lubage mul minna ja avada up ei lemmikloom kass. Me postitada selle online samuti. See on veidi rohkem keeruline, kuid ütlemata võite arvata, võib-olla Mis juhtuma hakkab. [Meowing] DAVID J. Humala: Kass on meowing, grand old aega. Aga see programm on muidugi nimega "Ärge Pet Cat" nii selgelt, ma tahan lemmiklooma kass. [ROARING] DAVID J. Humala: Ärge lemmiklooma kass. Nüüd võtame pilk veel üks näide siin. See üks saab nimeks "Tere, tere, tere," põhjustel et oleks selge, sest niipea kui ma saan seda asi-- [SEAL BARKING] DAVID J. Humala: Väga lihtne kirjuta tüütu Scratch programme. [SEAL BARKING] DAVID J. Humala: Nüüd me ei lähe väga üksikasjalikult kõiki neid, kuid teade on paari uusi funktsioone siin. Seal on muutuja, mida nimetatakse "hääletu" ja siis seal on hunnik tingimused. Ja nüüd, las ma lihtsalt kiusa öeldes et kui see kutt saab liiga tüütu, Ma ei tabanud tühikut ja ta peatub. Kuna panuseta Nende kahe skriptide on järgmine. Üks neist teeb haugub iga paari sekundi tagant. Teine on lihtsalt oodanud mind tabas tühikut. Ja kui ma ei tabanud tühikut, see saab muuta riik selle muutuja väärtus muutuja, mis on ilmselt nimega "vaigistatud," Ma ei helistanud ta midagi igav nagu n, Ma helistasin see ingliskeelne sõna, "välja lülitatud." Alates 1-0 või 0-1. Alates õige vale või vale tõeseks. Ja nii et saate tegelikult vaata nüüd, et sa võib olla kaks skripte, kaks programmid töötavad üheaegselt, ja nad mõlemad võivad istuda loop midagi. Ootan inimese teha midagi lööb tühiku. [SEAL BARKING] DAVID J. Humala: Ja nüüd ta on teel uuesti. [SEAL BARKING] DAVID J. Humala: Mis siis veel võiks me teeme neid näiteid? Noh, lähme edasi ja teha näiteks uinub. Me jätkame seda eeskujul siin of-- avame lamba näide. Ja teate, palju nagu enne, see üks, Õnneks on natuke vähem tüütu. Kui ma tabanud mängida siin-- Oh ei, see on tüütu. Ta läheb baa teatud tõenäosusega. Mängime seda uuesti. [Lamba BLEETING] DAVID J. Humala: Ainuke vahe on oleme muutnud kostüüm, nii et rääkida, ja me oleme poole võrra ja öelda mida see tegelik arv. Noh lähme edasi ja seda ühe sammu edasi. Ja las ma kiusa üks teine ​​funktsioon siin. Lähme edasi ja avada programmi nimega teemad. Nii palju nagu sul võib olla üks sprite, millel on mitu skripte teil on kaks sprites, lind kass, kellel mõlemal on oma skripti. Ja igaüks neist võib töötama üheaegselt. Kui olete kunagi kuulnud Sõna "Lõimtöötluse" arvuti on "mitme programmi" abil seda saab teha mitut asja korraga, ja tõepoolest, nii saab kriimustada. Ja nüüd teate, et lind on selline loll. See teeb lihtsalt asjad juhuslikult, kopsakas off ekraani. On selge, et kass on programmeeritud et omamoodi on otsib võimeid et kodus on lind, sest ta on alati suunatud teda. Kuni lõpuks ta saagi tegelik lind. Nii et ma ei tegele üksikasjad siin, kuid saate liiki pilguheit sama kujuga, mõned "Kui" tingimused, mõned muutujad, võibolla mõned silmad, on lõppkokkuvõttes teeb sama asja. Nüüd lubage mul minna ja avada kuni midagi kokku, tease mõned teist, eriti need mugavamaks, mida saab tegelikult pistmist. Ma lähen edasi minna ja avada Button siin. Ja see on super lihtne-näilisest programmi aga vaata, mis juhtub kui I-- Vaata, mida juhtub, kui ma avan selle versiooni, siin brauseri scratch.mit.edu. Ja kui ma vajutan seda suurt punast nuppu, teate, mis juhtub. Mis siis toimub? Seal on tegelikult palju rohkem keerukus toimub all kapuuts, kuigi olen rakendanud seda, või ausalt, Dan Bradley on rakendanud seda nii lihtsalt. Ta on kujundanud kohandatud Scratch puzzle tükk, mida tuntakse Scratch laiendamine, Ta nimetas selle lülitamine. Ja mis Toggle ei ole see saadab sõnum üle interneti. Ja et sõnum ise tundub veidi segasena. Aga ka see, saate arusaadav mõiste lõppu. Sõnumi, et ta tegelikult saates tundub natuke midagi sellist. See on lihtsalt teksti. Cryptic. Saate aru, see ajaks saame probleemi pani seitse. See on lihtsalt saates tekstisõnumi üle interneti server. Ja et server on lõppkokkuvõttes räägib see lamp, mis on üks neist fancy lambid seda, et ise ei räägi Wi-Fi võrku siin kus kohalik allalaskmine siin-- ja lõpuks, et see on tegelikult keerates, et valgus sisse ja välja. Aga me saame teha rohkem huvitavaid asju veel. Pane tähele, mida Dan ka meie heaks tegi. Ta tegi mitu sprites, iga mis on script ootab klõpsuga. Ja kui ma vajutan punane, siis läheb punaseks. Kui ma saan sinine, läheb see sinakas. Roheline, kollane, oranž. Ja kõik see toimub poolt läheb tee läbi koridori internet, taganeks siia lamp, sisse ja välja. Ja kui sa ei usu, Kui-- ja see on ilmselt üks kõige keerulisemaid Scratch projektide keegi on implemented-- et ta tegi seda, õiglus, päevas. Ja see oli väljakutse me viskasid Dan, kui me nägime on binaarne sibulad, meil Scratch, kuidas me saame neid omavahel kombineerida? Ja tõepoolest, see on täiesti midagi keegi siin ruumis võiks teha, mida semestri väljatöötamiseni Kas ta reimplemented binaarne ballonidest sama liides, mis oli meie iPad kolmapäeval. Nii et nüüd, kui ma tegelikult Klõpsake pluss siia, meil on üks, kaks, kolm. Ma ei tabanud 16 ja keera see üks. 128, ja nii edasi. Nüüd, kui see on ainsana ja puhutud oma meelt, võid teha asju palju kättesaadavamaks, mis ei sisalda ühtegi riistvara kindlasti. Lihtsalt asjad ekraanil ise. Ja tõesti, see, mida enamik õpilasi lõpuks teed on mingi mäng, mõned tükk kunstiteose või mingi interaktiivne animatsioon. Ja ma ütlen üks meie Lemmikuks on olnud see üks. Ja ma arvasin, et kui me võiks päevasõidutulede tuled, võtame pilguheit selle lõplik Scratch projekti kokkuvõtteks. Aga mida sa peaksid meeles pidama, kui Ma ei kiusa üks viimase detailini osadeks algab järgmisel nädalal. Tööaeg algab järgmisel nädalal. Ülesanded null pannakse CS50.harvard.edu täna hiljem. Ja siis tervitatud Probleemse seatud null et CS50 enda Zamyla Chan, kes suunab enamiku meie trajektooridega. Need on Viiteid videodele aasta probleem komplekti mis hoiab oma käe läbi palju ning esialgne loodud ja läbi paljude võimaliku disaini otsuseid. Nii et kui teil kunagi on olnud, et emotsioon kui pealevõtmine kodutöö ja ei tea, kus ma alustan? Ta on see vastus teile. Ja nüüd, lõplik programm ühest oma eelkäijate vastuseks küsimusele "Mis rebane öelda?" [MUSIC YLVIS, "Mida FOX ütled?] YLVIS: (laul) Koer läheb auh. Kass läheb mjäu. Bird läheb piiksuma ja hiir läheb kriuksuma. Lehm läheb moo. Konn läheb krooksuma. Ja elevant läheb tuututama. Ducks öelda prääks ja kala minema blub. Ja tihend läheb ow ow ow, kuid seal on üks kindel, et keegi ei tea, mida see rebane öelda? Ja DAVID J. Humala: Ongi CS50. Me Näeme Puzzle Day ja esmaspäeval. [APPLAUSE] [MUSIC YLVIS, "Mida FOX ütled?"] Jutustaja: Ja nüüd sügav mõtteid, mida Daven Farnham. Täna sain löögi näkku telefoniraamat. Segadust, kuna ma olen kodus vaadates online.