Ettekandja: ma olen [kuuldamatu]. Ja ma olen vanem on Leverett House. Õpin infotehnoloogia, ja ma olen TF CS50. Nagu uustulnuk, ma isegi ei pidanud sülearvuti või nutitelefon. Mul polnud mingit programmeerimise kogemus. CS50 oli kõige meeldejäävam muidugi, et Võtsin Harvardi, sest see oli võitlus, aga see oli tõesti lõbus võitlus samal ajal. Ja ma tegin palju hämmastav, püsiv sõpru ja õppisin palju tegelikult kohaldatav oskusi. Ma olen lihtsalt nii õnnelik, et ma ei lase mu puudumise taustal olla vabandus mind ei võta CS50. Ma olen [kuuldamatu]. Ma olen vanem juures Leverett House, klassi 2014. Ja ma võtsin CS50. DAVID Malan: Nii et see on CS50. See on nädala lõpuks nulli. Ja meenutada, kus hakkasime viimast korda oli nende laternate mis olid nii populaarne, et me läksime ja ostsin veel täna. Nii et ma arvan, et see saab olema Meie asi sel aastal - laualambid, kui sa tulla laval, vähemalt seni, kuni me otsa. Aga me kasutasime neid mäletate, et tutvustada põhitõdesid esindatuse andmed. Pidime viis alustada esindavad teave sees arvutis. Ja kõige lihtsam viis seda teha, oli ühe koostisosa, elekter. Ja kõige lihtsam asi, mida saate teha koos elekter on see sisse ja välja lülitada. Las elektronid liiguvad või mitte. Ja kasutades nende kahe põhilised riigid, välja ja või vale ja õige, või null ja üks, hakkasime nägema, et me võiks ehitada up, antud juhul kerge sibulad, rohkem numbreid kui lihtsalt nulli ja ühe. Meil arvestatakse koguni seitse, Näiteks viimane kord. Aga kõik me peame tegema, on hoida viskamine rohkem lambid sel probleem ja tõesti, me ei esinda iga number, et me võiks tahta. Noh, me transitioned kiiresti siis Kolmapäev sellele bait vabatahtlikega. 8 bitti, mida me tavaliselt nimetame bait, nii siin me pidime kaheksa vabatahtlikku Kolmapäeval, kes üheskoos olid esindavad kaheksa bitti. Ja kui käed läksid up, nad olid üks. Ja kui nende käed olid alla, oli null. Ja meil oli need inimesed tulla laval miks? Mida me saame teha see bittide jada? Luua tähestikku. Suutsime luua peal, et eelmine õppetund ja tegelikult hakata tegema rohkem huvitavaid teavet, mis on vähemalt rohkem meile tuttavad inimesed. Ja see saab olema korduv teema kogu 50, aga ka arvuti teadust üldisemalt idee kihilisus, kus lõpus päev, kui sa tõesti alustada põhitõdesid arvuti, jah, see on nulli ja ones. Ja all, et see on ainult elektrit. Aga me väga kiiresti hakata võtma neid madalal tasemel üksikasjad antud ja hakata kiht peal varem töötanud teha nii, et me lõppkokkuvõttes poolt semestri lõpuks ja tõesti, üldiselt kui arvuti teadlased ja programmeerijad, saate teha mõned tõesti võimas asjad võimendades töö et me ise oleme teinud ja ka seistes õlgadele teised. Nüüd kiiresti üle läinud kolmapäeval alates lihtsalt vajavad esindama teavet tahavad midagi teha sellega. Mis siis me defineerime algoritmi? Rea juhiseid. Nii et see rida juhiseid, mitmeid samme, et teie, inimeste või arvuti, tavalisemalt, oleks täita üksteise järel, et et saavutada teatud eesmärk. Ja meil oli mõned eesmärgid viimase aja millest üks oli lugeda inimesed ruumis. Ja veel üks selline näide oli leida Mike Smith telefoniraamatust. Nii et te võib-olla mäletate, et ma tore telefon raamat poole suunas selle lõpuks leidmine Mike Smith. Eesmärgil, et visuaalne oli näidata jälle, et me olime sõna otseses mõttes rebimine seda probleemi pool, poole, poole, ja väga kiiresti läheb nagu 1000 lehekülge et vaid üks lehekülg. Neile, kes ei saanud seda Kolmapäev, ma arvasin, et me taasesitada mõned kaadrid, mida te vastamata. Võtame pilk. [VIDEO PLAYBACK] -Just nii. 1500 lehekülge, Nice puhas joon, õigustatud pisar. [END VIDEO PLAYBACK] DAVID Malan: Nii et oli kolmapäev. Me üleminek, kuigi kolmapäeval nüüd et tahavad esindada algoritmidega mõnel määral tavapärasel viisil, mitte ainult kirjeldades neid suuliselt, kuid püüdes väljendada kirjalikult või arvutiekraanil et saaksime alustada täiustada ja muuta neid, ja lõpuks, tegelikult analüüsida, kuidas õige või kui kiiresti nad olid. Niisiis tutvustasime seda mõistet kohta pseudokoodi, mis üldarusaadavat mõttes on mis? OK, sõnu. Lähme natuke sügavam kui see. Inglise, muidugi, on vaid poole nimel? Sõnad, millega luua või esindada algoritme. Nii et seal on keegi keel teada kui pseudokoodi maailmas. See on lihtsalt, et sa, inglise või sõltumata oma kõnekeel on kasutada omamoodi põgus märke edasi idee väga lühidalt. Aga me näeme, et kindlasti koos Inglise pseudokoodi, ja selgub, kõige programmeerimiskeeled ise on tuletis inglise iseenesest me leiame, et seal on mõned standard viise esindavad pseudokoodi ja ka programmi koodi. Nii nagu te hakkate näha, isegi kõige lihtsamaid näited täna, saaks nimetatud sama mustrid kordub järgmisel nädalal. Nii pseudokoodi oli mingi Keele meenutav programmeerimiskeelt. Ja esimene näide nägime visuaalselt allahinnatud oli see üks. Alles kolm sammu programmi, eesmärgiks oli loendada inimesed Dorm tuba et video kolmapäeval. Aga seal olid mõned huvitavad aspektid Selle lihtsaim programmi. Ja see on korduvad teemad. Nii neile, kes ei tea, see on üks, meil kasutusele muutuja. Ja ilmselt kõik selles ruumis on tuttav muutuja kontekstis algebra. Aga siin programmeerimine, muutujad on üks, võib olla nimega midagi tahame. Oleme kasutanud n nagu counter. Kuid võib kasutada sõna counter või nagu näete, kõige tahes fraasi sa võiks nagu nii kaua, kui see on kirjeldav, kuigi tegelikult on see lihtsalt kanistrisse. See on tüki mälu, mõned arvu bitti, ja see sõltub arvuti, kuidas palju bitte, et kirjutada, et muutuja. Aga me ei saa panna väärtusi ta. Siiani oleme panna ainult numbrid. Aga me ei saa panna tegelikud sõnad. Me saame panna punktid. Me saame panna pilte - midagi, tõesti, saame esindada koos nullid ja need, saame panna seda kõrgem mõiste muutuv. Nii väga lihtne sinna. Ja see on esimene rida. Aga me väga kiiresti edasi liikunud line üks tegelikult teha midagi selle muutuja. Ja joon kolm uuendasime N. Me suurendatakse N. Ja me võiks kirjutada selle mis tahes mitmel viisil. Aga võib-olla kõige ilmsem on lihtsalt öelda, määrata N väärtuseks olenemata N on pluss 1. Nii et oli meie juurdekasvu. Vahepeal oli loop. Ja see ka, on ilmselt päris intuitiivne. Silmus on lihtsalt midagi programmi see juhtub ikka ja jälle, mõned selline tsükkel. Ja see oluline lause siin, iga, on tegelikult väga levinud peaaegu kogu programmeerimiskeeli, sh mida me näeme käigus. Anytime näed sõna, see tüüpiliselt väljendab mõtet, et loop, midagi tsükliline, hakkab juhtuma. Kuid see on väärt märkimist, üks muu süntaktiline detail. Asjaolu, et kolmas liin on tegelikult liigestatud poolt võttes löögi tühikut paar korda on tahtlik. Kuna inimese tava on selline, et kui sa teed midagi uuesti ja jälle tsüklina, mida alustati teisel liinil, sa taane midagi, mis kuulus selle silmuse lihtsalt selgeks teha, et see joon kolm ja mitte, näiteks, line neli või viis, kui oli read või viis, mis on osa, mis silmuseid. Nii see lihtsalt taandus edasi, et põhiidee. Nii et me rakendada seda algoritmi, nüüd, et mõned näited. Ja ka see lihtne näide reaalses maailmas. Aga see saab olema esindaja kuidas teil läheb umbes testida oma ise üha keerukamaks programmid. Sa proovida mõned stsenaariumid, mõned esindajad sisendite ja vaata, kas sa saada soovitud tulemusi. Nii et see näide oli kaks inimest istub Dorm tuba. Vasakul on see, et sama pseudo kood. Ja see on ekraanipilt väga Viimase sammuna on käesoleva algoritm need sisendid, kus olid kaks inimest toas ja mäletan, kui me samm teel värssi, ja kaks ja kolm ja kaks ja kolm ja tehtud - aasta lõpuks, et algoritm, meil oli tõepoolest arvestada kahe stipendiaatide kes on ruumis. Siis püüdsime teine ​​näide. Ja me ütlesime, mis siis, kui on olemas null inimesed ruumis? Kas see kood ikka õige? Ja tõepoolest see oli. See lihtsalt nii juhtub, et joon kaks ja seega rida kolm või ei kavatse täita. Nad ei juhtu üldse sest nad lihtsalt ei kohaldata, kui seal on null inimest toas. Aga ei ole suur asi. Line ühe käivitub N nullini, kuigi ainult üks rida selle programm tegelikult jõuab on kasulik, see ikka annab õige vastuse, kui tähistatud oranži nulli allosas. Aga siis me otsustasime, et oli rumal algoritm. See oli päris aeglane. Kindlasti ma saan kahe, nelja, kuus, kaheksa, kümme, kui lugedes inimesed ruumis. Nii et me Tweaked algoritm, pseudokoodi, öelda, nüüd liinil, iga paari inimest toas jätkake, järgides kolme juurdekasvu aastal kaks iga iteratsiooni. Nii et oleks töötas siin Selle paari inimest toas. Aga siis, kui hakkate mõtlema seda, ja see ei võta kaua aega mõistma, oodake minut see on kavatse murda, see puruneb , mida lihtne juhtum? Kui seal on kolm inimest ruumis või üldisemalt, kui seal on paaritu arv inimesi tuba, millest üks. Me ei pane, et inimene siin, sest ei ole selliseid paare. Nii et me kiiresti lahendada asemel kasutusele, milliseid täiendavaid programmeerimine konstrueerib et pseudo kood. Nii tingimus, me kutsusime see või filiaal. Ja see tähendab, et edastada, visuaalselt, Idee filiaali teelahkmele kus võite seda teha või äkki midagi muud. Ja tõepoolest, me selle küsimuse lahendamiseks lisamise liin 4, öeldes, tõesti, on Päris lõpus, kui üks inimene jääb, siis minna ja loota neile erilist. Nii et omamoodi eriline juhtum, mistõttu rääkida, nii et nüüd saame hakkama nii isegi rohkem inimesi ja paaritu arv inimesi. Nüüd on igal mitmel viisil me oleks seda väljendanud. Ja ausalt öeldes, ma ei olnud isegi veel ting Nirso kui ta tuli minu valik Inglise pseudokoodi. Aga vähemalt vaimus idee on toimetatud. Kui te andis see kood sõbrale kes pole CS või on kunagi võtnud CS, koefitsiendid nad võiks aru saada, antud kolm inimest toas, kuidas loe neid inimesi, põhineb Nende juhiseid. Ja see kõik tõesti tahame saavutada koos pseudokoodi kuidagi standardiseerida, kuidas me läheme umbes esindavad ideid, et saaksime hakata tegema keerulisem asi veel. Nii et toob meile seejärel, täna, tegeliku koodi. Alustame programmeerida täna, ehkki aastal keskkond. Ja siis me üleminek väga kiiresti rohkem keerulisse süntaks, kuid üks, mis näete on põhimõtteliselt sama, ideed näed avaldub koos see teine ​​keel täna. See on lihtsalt kavatse vaadata veidi erinev. Nii et selle asemel lihtsalt nimetame seda koodi, ma olen saab olema veidi täpsem ja öelda, edaspidi, kui kirjalikult programm, sa oled kirjalikult lähtekoodi. See on selline nagu pseudokoodi. Aga me näeme, et see ei ole mingi lahtine kui tegemist on valida sõnu et te kasutate. Kui Planeerimise keeles, on teil kasutada sõnu, lauseid, süntaks, et teised inimesed on otsustanud esindada kõnealuses keeles. Nii pseudocodes on sinust. Tegelik programmeerimiskeelt nagu C, kui me lõpuks näeme, standardiseeritud teiste inimeste poolt. Niisiis, kuidas me edasi minna kirjalikult mõned lähtekoodi? Noh ma lähen minna ja seda teha. Ma lähen edasi minna ja avada aken siin. Veel selle järgmisel nädalal. Aga see on seade, mida nimetatakse CS50 aparaat. Ma töötab tükk tarkvara minu Mac, kuigi sa võid teha sama asja Windowsiga arvutis, mis annab minu illusioon töötab erinevates operatsioonisüsteem üldse õigus siin akna minu Mac. Ma olen lihtsalt täis linastus see, et sa ei tegelikult näha Mac OS kohe. See on operatsioonisüsteemi nimega Linux. See on väga populaarne. See on väga kiire. See on väga vaba, mis on teinud väga kaalukad, eriti ärimaailmast. Ja rohkem, et lõpu poole semester, kui me kasutame Linux üsna natuke veebi programmeerimine ja võõrustamine tegelik veebilehed ja projekte. Nüüd, lihtsalt tean, et see on desktop , mis on mõeldud selleks, et otsida ähmaselt tuttav Windows ja Mac OS. See lihtsalt on mõned erinevad nimed ja ikoone asju. Aga see on nn CS50 seade, virtuaalne masin, mis, algab järgmisel nädalal, kutid joosta sees aken oma Mac või PC. Sest täna ma lähen avama lihtsamaid programme. Seda nimetatakse gedit. Ja see on lihtsalt graafiline redaktor. See on selline nagu Microsoft Word, kuid lihtsam. See on selline nagu teksti edit või notepad. See on lihtsalt väga lihtne programm mis kirjutada sõnad ekraanil. See lihtsalt nii juhtub, et kui ma salvestada faile, mis ma loon, kui see programm spetsiaalses pikendamine jms. c asemel kohta. doc või. xls, või mis iganes te olete juba tuttav, ma ei saa tegelikult luua programme kasutades isegi seda lihtsat tekstiredaktor. Nii et lubage mul seda teha. Lubage mul minna ja salvestada see esitama kõigepealt hello.c. Ja jälle see kasutajaliides tundma, et sa kiiresti. Aga nüüd, ma lihtsalt kirjutada Faili nimes. Ma lähen, et salvestada see minu John Harvardi kodukataloogi. Ja nüüd on mul see kaart, mis näitab, Ma tõesti toimetamine fail nimega hello.c. Nii et midagi on liiga huvitav veel. Ja nüüd see läheb saada päris segasena. Ma lähen suumimiseks lihtsalt nii et see on rohkem nähtav. Ja ma hakkan kirjutama hulka stdio.h, int main, õigustühiseks avatud lokkis traksidega, üks, kaks, kolm, neli ruumid taandeseadistusi, print f, trüki- midagi vormindatud quote lõppeb, "Tere, maailm" Kenoviiva, n lähedal tsiteerin suletud sulgudes semikooloniga sisestage backspace, backspace, backspace, backspace, suletud lokkis traksidega - Olen programmeeritud. Olgu nii see on super lihtne programm, tõesti, programm, mis keegi käivitab programmeerimine. Ja kõik see, kogu selle keerukuses, on printida välja ekraan, arvan, mida? Tere maailm. Aga see ei ole piisav lihtsalt Kirjutada programm. Nii et see on kood. Seda lähtekoodi keeles nimetatakse c. See on salvestatud praegu fail nimega hello.c. Nüüd pilk põhja servas siin. Veel selle jälle sisse nädala jooksul. Aga see on see, mida me kutsume terminali aknas. See vilgub, must ja valge kiire. See on omamoodi vana kooli liides arvuti, mis tavaliselt ei ole kasutada hiirt või muud graafilisi elemente. Ta lihtsalt kasutab oma klaviatuuri. Ja ma ei kirjuta käsud see vilgub kiiresti. Ja tänane eesmärkidel, ma lihtsalt läheb tippige järgmine - teha tere. Ja see programm teha, on lihtsalt programm, mis reaalses maailmas need päeva, oleksime topeltklõps. Aga see liides täna, me oleme läheb tippige oma nimi selles kiire. teha Tema sõna otseses mõttes läheb tee mind programmi nimega tere. Ja see saab seda teha, vaadates jaoks faili, lihtsalt Vaikimisi nimetatakse hello.c. See saab endale tahan C programm loomu, kuidas see arvuti on konfigureeritud. Nii et ma minna ja vajuta enter. Ma näen mõned segasena väljund, kuid see muutub liiga tuttav enne pikk. See juhtus sõitma koostaja, rohkem kohta, et hetk, mida nimetatakse rõkkama. Aga nüüd, mul on lihtsalt üks vilgub kiire. Ja ma võin minna nüüd ja dot kärpida, sest ebahuvitav põhjustel paneme tagasi tulla järgmisel nädalal - tere. Nii see kõik endast oleneva, seni lihtsalt kirjutada lihtsamaid programme, et niipea, kui ma Enter, ei tee seda. Nii et ma olen kirjutanud oma esimest programmi. Nii et ma olen teadlikult naljatletakse selles väga lihtne programm jaoks paar põhjust. Üks, see on raske saada põnevil umbes võttes klassi kui see on lõpuks mäng. Kuid üle, et seal on palju distractions siin. Kui te esimest korda teada, et programmi jaoks Neile, vähem mugav, ja isegi mina, juba järgmisel päeval, kui ma esimest korda nägin midagi sellist - saad objekti on näitaja, mis, olgu, see on print tere. Aga seal on nii palju tähelepanu kõrvale. Seal on nii palju süntaks ekraanil et see läheb nii, väga lihtne, muidu lihtne, ideid. Niisiis, mida me teeme täna on meil läheb kõrvale panema C ja tulla tagasi, et esmaspäeval. Ja me ei kavatse kasutada graafilist programmeerimiskeelt nimega Scratch. See on programmeerimiskeel, mida ma vihjas kolmapäeval, et läheb et võimaldada meil teha sama kraami aga silma kinni pigistama, täna, et looksulg, sulgudes semikooloniga, ja kõik need rumal distractions et saada takistuseks, et Selle esimesel päeval, mõned põhilised, päris huvitavaid ideid. Nii suunas, et lõpuks, ma lähen tagasi oma töölaua üle siin ja tutvustada teile alternatiivi, et Programm, mis on kavatse vaadata natuke midagi põlema see. See, kuidas me seda rakendama Sama kava täna - kaks puzzle tükki, et kui lukustatud ja klõpsanud, ütlevad, et maailm, tere. Teeme tegelikult sinna minna. Nii et ma lähen edasi minna ja avada veebilehel tuntud scratch.mit.edu. Ja see viib mind kodulehel siin. Ette, ma olen sisse loginud Selle veebilehel ja esimese probleeme sõelub mõned neist sammudest. Ma lähen edasi minna ja kliki minu nullist kausta siin. Ja see läheb mulle näidata mõned projektid, mis ma olen tegelikult loodud ette. Ja selgub, et see graafilise programmeerimiskeelt mitte ainult läheb andke programm tõmmates ja kukutades neid puzzle tükki, siis ei pea isegi spetsiaalne tarkvara. See kõik on kinnistatud brauser nii et seda saab teha, teoreetiliselt on arvutis just nüüd, nagu mõned teist võib olla, isegi ilma tarkvara nagu CS50 seadme mis tulevad järgmisel nädalal. Nii et ma lähen kuni ülemises nurgas siin ja kliki Loo. Ja hetkel, kui ma lähen, et saada tühi ekraan, mille kaudu ma saan alustada programmeerimine see graafiline programmeerimise keskkonda. Aga seekord, see saab olema palju, palju lihtsam tegelikult teha. Nii et üks hetk, kui Wi-Fi koostööd, meil on nüüd see ekraan. Nii kiire verbaalne tour, kuid ma julgen öelda, Kindlasti, kui sa sukelduda Esimene probleem komplekti, saate leida see kõik väga ligipääsetav ja üsna intuitiivne. Kuid olgem maalida kujutluspildis hetkeks. Nii all see kiiresti öeldes kokkuhoid muutused, sa parasjagu näha nullist. See on sprite. See on iseloomu. Ja ta elab, mida me kutsume etapil see suur valge ristkülik mis ta saab liikuda üles, alla, vasakule, õige, ja teha, tõesti, muud liiki meetmetega. Vahepeal keset see kasutaja liides, meil on terve hulk puzzle tükki. Ja te näete, et nad ütlevad asju nagu liikuda 10 sammu pöördus 15 kraadi, punkt teatud suunas. Aga seal on kategooriad plokkide üles siin. Nii et kui ma lähen Paistab, te näete, et seal on muu puzzle tükki, et ilmselt ütleb see cit et tere öelda, et arvan, et näidata ise ennast peita. Kui ma lähen alla Helid, selgub seal on võimalust mängida kõlab mjäu peatada kõik helid, mängida trummi. Nii pikk lugu lühike, seal on terve hunnik puzzle tükki, mis võimaldab teil öelda see kass, või mis tahes arvu muid sümboleid, mida teha. Aga et see kõik juhtub teie vaja alustada programmi. Ja see suur valge kast või halli kasti kohta paremal pool on see, kus Ma tegelikult tõmmata ja tilk neid puzzle tükki. See on minu tühi tekst aken samaväärne. Nii et ma lähen edasi minna ja kliki Kontrolli keskel. Või õigemini, lubage mul alustada üles alla sündmused. Vastavalt Üritused pink, märkad mõned asjad, mis on tahtlikult kaardus peal nii, et nad ilmselt ei põkkuma kohta tippu puzzle tükki. Ja see on, sest nad Demark algust programmi, algusest script, nii rääkida. Nii et kui ma edasi minna ja lohistada, kui roheline lipu klõpsatud üle siin, ja siis ma tahan, et see kass öelda midagi alguses. Nii et ma lähen alla tundub paneel. Ja ma lähen edasi minna ja haarata tere öelda, plokk, ja drag ja drop, ja lasta minna nii, et see automaatselt blokeerib seal. Ja siis märkate suudan klõpsake teksti. Ja ma ei saa eirata seda rohkem konkreetne nagu, ütleme, tere. Ja nüüd on meil programm, et ma väita, on samaväärne rohkem keerulisse programmi I rakendatud C hetk tagasi. Kui ma lähen üle nüüd vasakul pool, märkate seal on suur stop märk ja suur roheline lipp. Lubage mul suumida selguse. Ja kui ma nüüd klõpsake seda rohelist lippu, saate ilmselt arvata, mis see esimene Programm on praegu teeme. Nii ka seal, me programmeerimine, kuid me tegelikult ei saada takerdunud mõnel neist süntaktilist pisidetaile. Aga proovime midagi veidi põnevamaks. Lubage mul minna minu Scratch kausta siin. Ja tegelikult, las ma seega lubage mul avada eraldi programm siin lihtsalt hetk, Maksimeeri see aken, avatud failis ja ma lähen tänapäeva allikas kataloog. Nagu alati, leiad, täna ja aastast, et kõik tänapäeva näited on kättesaadavad sees Muidugi kodulehel. Ja ma lähen edasi minna siin ja vali natuke midagi muud. See üks siin, mille Ma vajan vabatahtlikku. Kes tahaks laualamp täna? OK, kuidas keegi vähe - Kas oled end? Tule alla. Nüüd, kas sa tahaksid osaleda, või lihtsalt öelda alustada laualamp? VANESSA: [kuuldamatu]. DAVID Malan: OK. Suurepärane, millised on teie nimi? Vanessa? David. Meeldiv kohtuda. Niisiis tulge siia ja Vanessa läheb võtta kontrolli oma klaviatuur hetkeks. Ja see, mida ma olen teinud siin, lihtsalt aeg on pärast, nagu ma olen aru saanud, Wi-Fi oli natuke aeglane, Scratch, programmeerimise keskkonda, milles me oleme kasutades, saab ka alla laadida ja käivitada oma arvutis. Nii et mida ma tegin enne loengut sisse juhul, mis juhtub, on mul alla laadida Kõik failid, me oleme umbes mängida et nad saaksid sõita veidi rohkem kiiresti siinsamas minu sülearvuti. Nii et miks nüüd näen Mac-spetsiifiline liides. Ma lähen edasi minna ja avada see üks. Ma lähen edasi minna nüüd ja täisekraanil akna. Ja nagu näete, me saame väga kiiresti, kui see tudeng tegi üks oma eelkäijatest minna tere et palju palju ahvatlevamaks taotluse. Nii et siin on juhiseid. Oh, ja meil on veel üks asi. Ma arvasin, et oleks tore, sest Tavaliselt saadame filmimine kaamerad nii. Ma arvasin, et oleks tore, kui Vanessa, me ei näe maailma läbi oma silmade. Nii et siin on meil mõned Google Klaas. [Hämmastunud gasps] DAVID Malan: Me ainult andes ära laualambid täna. [Naer] Nii et lubage mul kii see üles. Olgu, puudutage seda. OK, klaas, salvestada video. Olgu, Vanessa? Nüüd, kui kõrvale, et on saanud midagi pistmist Scratch, kui te vaatate veidi üles ja paremale, näete sõnasõnaline klaas, ja sa peaks vaata veidi ristkülikukujuline aken. Sa peaksid nägema kõik oma klassikaaslastega on filmitud just nüüd? Jah. VANESSA: Jah. DAVID Malan: OK. Nii et pole midagi. Me vabastame selle materjali hiljem. Nüüd pöörake tähelepanu et ekraan siin. Ja mida teie eelkäija on teinud on panna mõned juhised ekraanil lihtsalt kasutades värvi programmi. Nii et sa lähed, et hetkel, vajutage tühikuklahvi alustada. Ja siis mõned puzzle tükid lähevad hakata liikuma kogu ekraani. Ja sa tahad lüüa nooleklahve, lihtsalt nagu reaalses DDR vastavalt asjad vooder nende nooled. VANESSA: OK. DAVID Malan: Sa mängid seda enne. VANESSA: Jah. DAVID Malan: Olgu, Vanessa, minna ja võtta see ära. [MUSIC - Kayne WEST, "tugevam"] [APLAUS] DAVID Malan: Teeme nüüd sammu kaugusel sellest. Nii selgelt, et see lõpuks mäng. Mängu lõpp ei ole tere. Aga sa ei pea tingimata tegema asju, mis on nii interaktiivne. Võite teha ka animatsiooni. Nii näiteks mõne teise oma õigusjärglaste tehtud selle programmi siin, mis jutustab loo üle see ei rakendanud mäng. Nii et lubage mul minna ja avada siin Programmi meie sama allikas kataloog alates tänasest. See üks kõne ja alustame koos, küpsis armastuslugu. Ja mitte teha seda liiga akadeemiline, kuid kui sa vaatad seda ühte, arvan, et ise, milline neist lihtne programmeerimise kontseptsioone oleme rääkinud kohta seni - muutujad, ja silmad, ja tingimused, ei oma eelkäija ilmselt kasutada ainult rakendada mõningaid visualiseerimine. Näete siin. Nii et ma annan sulle küpsise armastuslugu. [Music - Green Day, "Holiday"] [CRASH] [MUSIC - kilpkonnad, "Happy Together"] DAVID Malan: Olgu, seal, meil oli cookie armastuslugu. Aga isegi seal - [APLAUS] DAVID Malan: Olgu, isegi seal, mõtle, kui need südamed läks alt üles ekraani, oli tegelikult natuke juhuslikkust toimub. Ja tõepoolest, me näeme, et isegi Lihtsaim keskkondades, nagu Scratch, nagu C, saate luua juhusliku numbrite või illusioon juhuslikke numbreid, nii et mäng on veidi rohkem huvitav kui see võib kui sa olid absoluutselt kõva kodeeritud kõike. Liikumise, et näete, seal seal on mingi tundlikkusega. Niipea kui Nisse puudutab piparkooke naine, ta Tundub, et eemalduda. Ja nii tõesti, mida saab rakendada, et kõige programmeerimiskeeli, mõiste üritusi, kusjuures kui ühest küljest puudutab Teisest küljest, mis võivad vallandada mõned oma lähtekoodi tegelikult täita. Saate kuulata selliste asjad ekraanil. Võtame kiirülevaate, siis on mõned ehitusplokkide saame kasutada saavutada mõned need eesmärgid. Nii et siin on, mida paneme edaspidi helistada oma avalduses. Avaldus juhtub olema lilla Scratch, natuke midagi sellist, kuid see on meelevaldne. Avaldus on lihtsalt puzzle tükk või üldisemalt, juhendamine, et ütleb arvuti, mida teha midagi, avalduses. Nii et siin on lihtne proov. Ütle tere. Veel üks võib oodata üks teine. Nii see puzzle tükk, mis toetavad Scratch, laseme oma tähemärki paus mõnda mitu sekundit. Ka see on lihtsalt avaldus. Siin kõrval on meil veel rohkem huvitav, mängida heli Mjäu, ja väike nool tähendab, et Scratch, see rippmenüüst. Nii saate importida helid. Teil on võimalik salvestada heli ja teha muid lõbusaid asju Scratch. Ja see ka, kuigi lõpus päev, on lihtsalt avalduse. Aga nüüd, et tutvustame veel huvitav tükk, et tuntud Loogiline väljend. Capital B nime mehe nimega Bool. Ja Boole'i ​​avaldis on lihtsalt puzzle tükk või üldisemalt osa teabest, mis on kas õige või vale - üks või null, jah või ei. Nii et see on lihtsalt üks nendest kaks vastandid. Nii et üks selline Boole'i ​​avaldis maailma Scratch näeb välja selline sinine puzzle tükk. Ja ta küsib küsimuse, hiir alla ja mis võivad olla, ning Muidugi on õige või vale. Nii et see puzzle tükk Scratch, Noh, sa pead olema võimeline tuvastama, kas puzzle kui hiir on tegelikult, olles Allapoole poolt inimeste suheldes oma programmi. See üks on natuke rohkem abstraktne, kuid need kaks valget karbid on lihtsalt numbrid. Nii saab teha asju nagu see on number väiksem kui teine? Ja kui nii, Scratch käitub üks või teisel viisil. See üks on natuke rohkem graafiline. See on siis, kui sprite, kui kass jaoks Näiteks on tegelikult liigutav hiirekursori. Nii et kui väike nool peas viibib üle kass, siis see puzzle tükk hindab tõeseks. See on tõsi, sel juhul, kui te kasutada Boolean väljend, kui paneme momentidel näed, et filiaal, saate kas seda teha või saab seda teha, palju nagu meil oli tingimus, et kontrollida, kas on olemas veel üks viimane inimene ruumis? Kui jah, lisage esimene kommentaar. Vastasel juhul ärge muretsege edasi. Nii Boolean väljend võib olla ka ja-ed koos või või-ed koos. Nii saab ühendada Loogiline väljendeid ja öelda, et see ja see peab olema tõsi Kogu see asi, et olla tõsi. Ja siin on veel reaalses maailmas näiteks. Kui oled kasutanud CS50 Kursused teha muidugi shopping, need ruudud seal, kus, kui te veenduge, et ruut kursustel, mis ütlevad jah, näita ainult minu kursusi, mis Q väärtus on 4,5 või suurem. Kui teil lülita see, ei, ei muretse. Või sarnaselt, paremal ei Konflikt Kursused Ma viin, mis on kas tõene või väär. See on lihtsalt Boolean väljend. Nii et kõik see aeg, kui oled kasutanud veebilehed ruudud, sa oled lihtsalt lülitamine samaväärne Boolean väljendus-ja väljalülitamine. Niisiis, millises vormis te kasutate neid? Noh, Scratch, me näeme, et hetkel et on olemas tingimused, mis näeb välja selline. Ja see on omamoodi mõistlik, sest palju nagu pseudokoodi me liigestatud omamoodi U-kujuline puzzle tükki, keskmine et midagi sees, et U on kavatse täita või mitte, sõltuvalt kohta, kus see on. Nii et kui Boole'i ​​avaldis, siis kõike, mis on sees saavad täidetud. Vahepeal seal kui / teine ​​plokk. Nii et kui sa tahad filiaali, mis läheb see nii või, et Scratch annab meile seda. Ja see loogika, nüüd, kuigi see puzzle tükk on selgelt liiga väike et kiilu midagi sees on, kriimustus puzzle tükki, nad on lihtsalt läheb kasvama. Kui lohistada üle midagi, see lihtsalt kasvab see sobiks üritate teha. Nii saame kaks neist asjust ja teha kolm viis teelahkmele nii et te kas teha seda või teist, või see asi lihtsalt pesitseb neid niimoodi. Muidugi, kui sa seda liiga palju, siis hakkab koledaks. Aga sel hetkel, sa oled tegelikult ilmselt ei programmeerimise väga hästi. Ja nii see on korduv teema ka, et stiili. Lihtsalt, kui hästi sa tegelikult vormi oma koodi? Või kuidas sa kujundada oma koodi? Aga rohkem sellest tulevikus. Ja nüüd on meil ring. Seal on kena igavesti loop Scratch mis tähendab sõna-sõnalt, et - teha kõike, mis on sees see uuesti, ja uuesti ja uuesti. Võite olla konkreetsem ja öelda, tehke järgmist asja 10 korda. Võite kasutada ka muutujaid. Võite tulla iga nime, et veidi langeda ja öelda, anna mulle muutuja nimega n ja on see võrdne mingi väärtus. Ja siis võib olla funktsioone. Aga rohkem on neid vaid hetk. Las ma lähen tagasi oma Scratch liides. Ja lubage mul minna seekord. Ja olgem minna ja avada, Ütleme, näiteks - et see on natuke põnevamaks. Lubage mul minna, ja tegelikult, Lubage mul teha seda ise. Mul ei ole vaja avada see üks. Lubage mul minna File, New. Ma lähen minema Events. Ma lähen minema, kui roheline lipp klõpsanud, ja ma lähen, et heli. Ja ma lähen lohistada see puzzle tükk, mängida heli mjäu. See sulgurid koos. Ja nüüd, kui ma nuppu roheline lipp - [MEOW SOUND] DAVID Malan: Armas. OK, nüüd teeme midagi natuke loogilisem lihtsalt näidata, et me saame nüüd. Ma lähen vabastage see sellest guy. Ma lähen minema juhtida. Ja ma lähen krabama seisukorras. Nii et kui midagi siis. Nii see on, kuidas see välja seal. Nii et ma pean Boolean väljend. Ja lubage mul minna ja öelda, lase mul minna Ettevõtjad. Ma teen midagi kergelt mathy, lihtsalt peksab. Ma lähen siin ja öelda, kui midagi on väiksem kui midagi muud, minna ja midagi teha. Nüüd sa tead, mida, juhuslik blokeerida. Nii teate, kuidas, kui ma hover üle selle asi siin, et haarab seal. Nüüd, teate, ma olen hakanud tegema midagi juba loogiliselt huvitav. Kui juhuslik arv vahemikus 1 kuni 10 on väiksem kui, ütleme, kuus. Kui valin kuus, mis sisuliselt abil tehke järgmist 50% tõenäosusega. See on nagu flipping mündi. Nüüd ma saan teha midagi tinglikult. Ja see, mida ma teen teha, on mängida heli. Nüüd, kui ma vajutan ekraanil lipp, see on nagu visklemine mündi. [MEOW SOUND] DAVID Malan: See oli pea või tühi-tähi seal. Teeme seda uuesti. [MEOW SOUND] DAVID Malan: pea uuesti. [MEOW SOUND] DAVID Malan: pea uuesti. Phew, OK. Sabad sel ajal. Seega 50% ajast, kui me seda teeme lõpmatult pikk, saame 50% Kompass ja 50% vaigistab. Nii et, lihtsalt põhi hoone plokk, mis võimaldab meil seda teha. Aga see on selline tüütu, et mul on hoida klõpsates et nupp. Teeme lihtsalt tõmmata ja visata kõik need ära. Kui sa vedasid neid keskel nad lihtsalt kustutada ise. Lubage mul minna kontrolli. Lubage mul minna igaveseks. Ja see kord, ma lähen tegema midagi minorly tüütu. [Naer] DAVID Malan: Ja lase mul minna käia ja teha kontroll. Oota üks sekund, just nii see ei ole liiga võrega. [MEOW SOUND] DAVID Malan: See ei ole loomulik. OK. [MEOW SOUND] DAVID Malan: Ja teate mis, nice umbes Scratch, neile, kes on enne Planeerimise kogemus, siis ei ole vaja alustada ja lõpetada. Sul ei ole vaja koostada. Sa lihtsalt muuta ja programm kohaneb dünaamiliselt. Nii et see muutub vähe huvitav. Kuid olgem võtta see üks samm edasi. Lubage mul minna ja saada lahti sellest programmist. [MEOW SOUND] DAVID Malan: Seda me tulen helistada viga Scratch. Ta ei tohiks hoida muutes selle heli. Nii et me saame öelda, et ta peatus. Olgu, nüüd olen lähe - Ma lasen MIT tea. Me läheme üle siin igavesti. Ja nüüd, ma tahan teha midagi uuesti ja uuesti. Ma lähen minema kontrolli. Ja vaatame, ma lähen lohistada minu kui tingimus on. Nüüd teate loogika. Kui roheline lipp on klõpsatud, teha midagi igavesti, vaid ainult seda, et midagi, kui see asi on tõsi. Ma lähen minema, lähme öelda, kaugseire. Ja ma lähen edasi minna ja valida liigutav ja tilk seal. See on Boole'i ​​avaldis. Ja nüüd teate, et see langus rippmenüü, on mõned eelhäälestatud väärtusi. Nii et ma ei saa öelda, kas sa liigutav ekraani serva? Või on teil puudutades hiirekursori, nool ekraanil? Ma lähen seda tegema. Ja kui nii, siis ma lähen käia ja mängida heli mjäu. Nüüd ma selline on alustab mängu - jumalik mäng. [MEOW SOUND] DAVID Malan: OK, jumalik, lollakas mäng. Lubage mul oodata, oletame, üks teine ​​seal. Nüüd uuesti mängida, klõpsates roheline lipp. [MEOW SOUND] DAVID Malan: Nüüd on see nagu hellitus kass. [MEOW SOUND] DAVID Malan: Olgu, nüüd see ma ei tee ette. Väga hilja, see läheb omamoodi lihtne teha lollusi. Nii et lubage mul minna siin. Oletame, et oli Lemmikloomad Cat. Olgem nüüd avatud Ärge Lemmikloomad Cat. Nüüd, kui me mängime selle ühe, võite arvata, kui sa oled vaadates ekraan - [MEOW SOUND] DAVID Malan: Nüüd, kui ma lemmikloom kass [LION möirgama] DAVID Malan: Nii tegelikult ei lemmikloom kass sel juhul. Nüüd me lihtsalt näide filiaal, mis toimub kahes suunas. Nüüd lubage mul minna ja avada teine ​​siin. See üks, ka seas meie allikas kood faile päev. Nii et lubage mul minna tagasi minu Source kataloog ja minna, lähme valima see kutt siin ja vaata millised on erinevad. Wow, kõik õige, nii et nüüd see muutub veidi keerulisem. Ja enne kui me näeme, mida see mees teeb, proovime järeldada, alates programmi õigel pool. Ja nüüd nullist selgelt võimaldab meil on mitu skriptid, mitu programmidega seotud ühe sprite, üks märk, ja ilmselt Nad on nii läheb sõidetud lockstep. Kuna mõlemad programmid hakkab koos kui roheline lipp klikid, on see vihjab rohkem arenenud teema, mille mida mõned teist võivad olla tuttav, tuntud ja väliskeermestamiseks, või multi-ja väliskeermestamiseks. Selgub, pikk lugu lühike, arvutid täna võib sisuliselt teha mitu asja korraga. Või nad saavad teha üks asi korraga nii kiiresti, et sa ei märka, et see on tegelikult teeme ühe asi korraga. Aga nüüd, oletame, et mõlemad need programmid hakkavad Teostame samal ajal. Ja teate, nad mõlemad on igavesti puzzle tükki. Nii nad mõlemad lähevad edasi joosta kuni ma tabanud punane stop märk. Niisiis, mida nad kavatsevad teha? Vasakul pool, ma olen ilmselt kuulutatakse muutuja nimega summutatud. Nii et ma ei helistanud ta midagi igav nagu N. Ma helistasin ta summutatud see aeg edasi tähenduses. Seadsin see võrdne nulliga. Mõtleme, et kui vale, või Mõtleme, et kui vale. Nüüd igavesti teha järgmist. Kui klaviatuuri tühikuklahvi vajutamisel siis, kui summutatud võrdub nulliga, siis muuda summutatud võrdsele üks. Else, määrata summutatud nulli. Seega loogiliselt, kuigi see on kogu hunnik puzzle tükki, mis on lihtsalt öeldes, kui ma vajuta tühikut, Mida ma peaksin tegema, et muutuja nimetatakse summutatud? Muuda see ühest nullini, või nullist üheni. See on kõik. Nii et see on nagu keerates lüliti sisse või välja lülitada ja meenutada, mis muutuja, mis ma olen teinud. Vahepeal on paremal pool, on üldarusaadavat mõttes, mis on eesmärk skripti õige? Üliõpilane: Mängida merilõvi heli. DAVID Malan: mängimiseks Sea Lion heli kui ta ei ole vaigistatud, mida iseloomu, et muutuja. Nii et me jagamine riigi, nii et rääkida, teabe jagamise üle kahe skripte, sest teate siin oleme igavesti tehes järgmist. Kui summutatud on null, nii et kui see ei ole vaigistatud - kui vaigistatud, on vale, siis mängima Selle Sea Lion heli. Ja arvan, et ise, hi, hi, hi, jaoks kaks sekundit, oodake hetk ja siis vaadata uuesti. Nii et kui me läheme nüüd siia vasakule et kui see mees on, ja vajuta roheline lipp, [Merilõvi SOUND] DAVID Malan: Mis hetkest ei see tõesti tüütu? Sest see on lihtsalt kesta igavesti. Nii et mõnikord, lõputu ring, niiöelda on tahtlik. Aga sel juhul, kui olen vajuta tühikut, ta peatub. Nüüd programm ei lõpeta. See on ikka töötab neid silmuseid. Aga kui ma saan uuesti tühikuklahvi - [Merilõvi SOUND] DAVID Malan: Ta läheb valima up, kui ta lõpetas. Seega on üks viis, et teeme midagi ikka ja jälle, kuid et ajal vaid tinglikult. Noh, kui me oleme sellel teemal, tehes asjad ikka ja jälle, lubage mul minna teise selline näide siin. See üks me kutsume uinub. Ja teate, mida see mees teeb. See on tegelikult natuke rohkem nagu pseudokoodi me mängitakse edasi Kolmapäev, mille ta esitab mõned counter, arvan, et see on näiteks N jällegi, et null, ta igavesti teeb järgmist. Ta ütleb, et loenduri väärtus ühele teine, ootab teine, ja siis muudab counter ühe võrra. Ja selles kontekstis, et lihtsalt tähendab sammuga ta. Ja ta lisab üks ta. Nii et see on sõna otseses mõttes - see ei ole päris see, mida me arvame AS uinub. See lammas teeb lugemist igavesti, kuni nullist. Nii et me saame teha sarnaseid asju seal loogiliselt. Aga nüüd proovime puhastada mõned neist asju. Lubage mul minna nüüd arvesse lihtne Näiteks, kui meie kass on lihtsalt läheb köhima. Olgu, siin on meil köha 0 - arvuti teadlased alustada lugedes 0. Nii et see kass on lihtsalt läheb köha kolm korda. Ja siin on, kuidas ma ellu, et. Kui roheline lipp on klõpsatud, köha, oota, köha, oodake, köha, oota. Ja ma tegin seda lihtsalt lohistades ja kukutades puzzle tükki. Või kui te hakkate käpard Scratch, näete te võib tegelikult eksemplaris tükki, nii et saate teha asjad kiiremini ilma lohistades ja kukutades ad nauseum. Aga me ei ole parim tee siia. Sest kuidas ma saan teda köha neljandat korda? Noh, ma võiks omamoodi minna siin. Ma võiks dubleerida ja seejärel kleebi see sinna. Kuidas ma teda köhima viiendat korda? Noh, kopeeri ja kleebi uuesti. Või lohista tilk uuesti. Ja väga kiiresti, see programm hakkab saada tõesti ülearune, tõesti pikk, kuid tõesti ebahuvitav. Aga seal on viis puhastada see üles. Mis on ilmne viis puhastada see üles? OK, nii et me võiksime tegelikult tõesti minna , ning kui vajutad ruumi baar, teda köhima. Aga kui ma tahan teha midagi korduvalt, meelde tuletada, et meil on teatud kontroll konstrueerib. Lubage mul liigutada välja Muide, mine kontrolli all. Lubage mul teha korda, öelda, kolm korda. Ja nüüd lubage mul varastada Nende puzzle tükki. Las ma snap see siin. Lubage mul viska need ära täielikult. Ja nüüd on mul parem loodud programm. Miks? Kui ma tahan muuta, mitu korda selle kassi köha, kõik, mis mul teha, on muuta üks muutuja, või üks väärtus pigem kolme, nelja või viis või kuus. Või mida ma võiks teha midagi tinglikult, isegi, kus ruumi baari kui tahtsin. Nii et see on üldine põhimõte. Kui hakkate kopeerige kood, kas see on Scratch või C, et sa teed midagi vale, kõige tõenäolisem. Või vähemalt, kui olete ületanud teatud mõistliku arvu eksemplare ja pastad, oled ilmselt teen midagi valesti. Aga tead mis? Ma tõesti ei meeldi see. See ei ole kõige puhtam disain. Ma soovin, et olid puzzle tükk nimega köha, sest siis ma ei peavad rakendama seda ise, vanaaegseid viisil, kes ütlevad, ja oodata - Mis siis, kui nad olid lihtsalt köha puzzle tükk. Noh, ma ei saa tegelikult teha. Lubage mul minna all rohkem plokid, klõpsake Tee Block, ja nüüd ma saan seda aken siin. Ma nimetan seda asja köha. Ma lähen edasi minna ja klõpsake nuppu OK. Ja nüüd teate, ma saan uue algus tükk, mis on kaardus peal. Ja see, mida ma lähen tegema seda, ma olen läheb lihtsalt varastada neid plokke. Ma panen need siia. Ja nüüd, need kolm tükki, ma olen rakendatud mida ma lähen helistada funktsiooni või protseduuri, või mõnede sa võiksid teada, et see on meetod. Kerge erinevusi sõnu. Aga nüüd, lähme lihtsalt nimetame seda funktsiooni. See on lihtsalt uus puzzle tükk. Nüüd on see ellu niimoodi. Aga teate, et Scratch on andnud meile füüsilist esitamist, et kogu blokeerida siia. Nüüd, ma ei saa lihtsalt lohistada see siin, öelda, korrata kolm korda ning Mis juhtub nüüd, kui ma mängin See skript on ainult üks programm töötab korraga. Seal on ainult üks, kui roheline lipp klõpsatud. Aga see lilla plokk nimega köha tõhusalt ütlen Scratch, iga kord, kui sa näed, et puzzle tükk, tegelikult täitma neid samme, et ma juhtuda, et rakendada käsitsi. Nii et selline puhas. Aga nüüd, oletame, et ma otsustasin, ma ei tahan, et see kass lihtsalt köha. Ma tahan, et ta saaks aevastama samuti. Noh, kuidas me saaksime minna rakendamisel aevastama? Noh sain päris palju teha sama asja. Ma võiks teha teine ​​blokeerida. Ma võiksin nimetada seda aevastama, klõpsake nuppu OK. Siis siin ma võiks tegelikult on, lubage mul korrata seda - ja seal, kus sa ei tohiks tunda, nagu sa oled ilmselt ei tee midagi parim viis. Ma võiks öelda midagi sellist, atsiuh, üks sekund. Oota üks sekund. Nüüd on mul uus plokk nimega aevastama. Ja tõepoolest, siin see on. Aga ka see peaks enesetunne - võibolla mitte esimesel nädalal klassi, kuid teine ​​- just veidi üleliigne. On selge, et seal on mõned koondamise siin. Nii et lubage mul pakkuda, selle asemel, et me täpsustada selle mõiste järgmiselt. Lubage mul minna oma menüüs Fail. Ma ei päästa see versioon. Ma lähen ühte minu premade failid siin. Ja ma lähen edasi minna ja avada köha 2. Oih, mis oli köha 2. Lubage mul minna ja avada köha 3, mis on see allikas kataloog. Köha 3 ja teate - oh, ma ütlesin lugu vales järjekorras. Lubage mul taastuda seda lugu. Lugu ma mõtlesin öelda lõpeb köha 4 - siin see on. Mis siis, kui ma selle asemel määrata suurem puzzle tükk nimega määratleda, ütleme sõna n korda. Aevastamine on lihtsalt ilmselt Scratch, atsiuh. Nii me väljendame seda sõna, lihtsalt sellepärast, et see on piirang programmi. Ja köha on [köha], kuid köha, C-O-U-G-H. Nii et ainult kaks erinevad sõnad teevad sisuliselt sama asi. Seega ma ei saa tegelikult teha uus plokk niimoodi. Ma ei kasuta seda menüüvaliku ees. Aga kui klõpsate Tee Block, saate valida mõned võimalused. Ja sa ei saa öelda, et see plokk tegelikult võtab mõned sisendid, vastasel tuntud argumentidega, või parameetreid, nii et saate muuta käitumist oma blokeerida. Nii et mida ma tegin hetk tagasi oli Ma helistasin selle ploki öelda. Ja siis ma ütlesin, see võtab string sisend. Ja nüüd teate, vaikimisi ta ütleb string 1. String on lihtsalt sõna, või fraas, meie eesmärkidel. Aga ma lihtsalt panna mõned kohatäitja teksti seal, just nagu veebilehel, kui te näete kasutajanimi või parool ning seejärel see kaob, kui hakkad. See on kõik, mis on. Ja nüüd ma lähen Numbri sisestamise. Ja ma lähen kutsun seda n - aga see on päris meelevaldne. Ja siis lihtsalt silt, vaid teha Selle ploki veidi rohkem ise selgitav - korda, see on, mida ma just tegin. Ja lõpptulemus on see, et ma saan plokk, mis näeb välja selline. Ja nüüd teate, ma kasutan korrata blokeerida. Kuid selle asemel, kõva kodeerimine kolm, ma olen pukseerige n seal nii et ma võib parametrize funktsioon. Ma ei tee seda ülesannet teha midagi erinevad mitu korda põhineb et raha. Ja teate, ütleme, et see on see, mida ma tegin, siin, kui ma lohista sõna, ma ei saa öelda ei kõva kodeeritud sõna, aga mis iganes on vastu võetud ühe sekundi jooksul. Vahepeal, kui ma uuesti rakendada köha? I asemel määratleda köha öeldes köha n korda. Nii lühike, ma lähen läbi selle kiiresti, kuid põhiidee on kohe kui hakkate nägema oma programmi et, oodake minut, ma olen teinud midagi väga meeldib see enne, ma tegurdada mõned ühised funktsionaalsus? Kas ma lagunevad, mida ma teen mõningaid põhilisi ideid? See, mida me siin teeme. Ja ma olen kuhjata neid asju visuaalselt, peal üksteist , sest see on märk sellest, et idee alustades binaarne, läheb ASCII, tegemist graafiliste programmide omamoodi kihilisus üha keerulisemaks ideid üksteise peale. Sama mõte siin. Hakkasin nullist, rakendatakse köha, siis mõistsin, köha on tõesti lihtsalt öeldes midagi. Nii et lubage mul selle asemel rakendada mõiste öelda midagi. Ja peale selle, ma saan rakendada atsiuh või köha? Ja me võiksime teha rohkem selliseid variante veel. Nii et see põhimõte, saame hakata tegema üha keerulisemaks programmid. Lubage mul avada see üks. Me saame tegelikult on mitu sprites suheldes ekraanil korraga. Kui ma minema mu allikas kataloog ja rüütama üks nn teemad, meelde tuletada, et niit on lihtsalt tõesti võime Kahe skripte külg pool samal ajal. Teade nüüd on nii linnu sprite ja kass sprite, mis mõlemad on oma skripte. Nii teate, kui ma vajutan kass, saan need skriptid. Kui ma vajutan lind, Ma saan neid skripte. Seega kõik need kutid on oma programmides. Kui ma nüüd nuppu roheline lipp, teate et mida see programm teeb, on on kass, väga aeglaselt, jälitama lindu. Aga kass on ära võttes on programmeeritud nii, et ükskõik kui lind on, et kass läheb tema poole. Meil saab mängida seda mängu palju kiiremini. Nii et kui ma olen kass, teate, et ma olen kasutades, ütleme, et liikuda ühe sammu. Lähme teda liikuma viis sammu juures aega, nii et viis punkti korraga. Lubage mul vajuta play. [LION möirgama] DAVID Malan: Olgu, nüüd me saame tõesti anda kass ära. 10 sammu korraga. [LION möirgama] DAVID Malan: Olgu, väga kiiresti, see muutub vähe kasu jaoks kass. Aga ma laine mu kätt mõned üksikasjad. Aga seetõttu, et see tee on alustades veidi erinev iga kord on see, et ma teen natuke juhuslikkust. Ma tegelikult juhtides kass teise suunda vastavalt sellele, kus ma tahan, et ta hakkab nii, et iga kord, mängu või animatsiooni, on natuke erinev. Nüüd lubage mul tutvustada üht muu ehitada siin. Nii et sel juhul oli meil funktsioone. Seal on ka saab olema puzzle tükk tuntud massiiv, või nimekiri, , mis võimaldab teil salvestada mitu väärtused sees muutuja. Nägime niidid ja nüüd seal Events. Nii et siin on sündmust need kaks siin. Ja kui ma avada faili nimega Sündmused tänapäeva näiteid, siis me vaata programmi, mis näeb natuke niimoodi. Ja nüüd teate seda meest - nii teate mul on sinine Muppet klõpsatud - ta ainult teeb järgmist. Ta ei ole üks neist, roheline lipp puzzle tükki. Ta on kui ma saan sündmus - nii suvalise sõna. Ma lihtsalt kirjutati välja ürituse seal - ta läheb öelda, Polo, kaks sekundit. Nii neile, kes tunnevad selles mängus võite teada kuhu see läheb. Kui ma nüüd kliki oranž Muppet, tema programm teeb seda. Forever, kui klaviatuuri tühikut rõhutud, ta läheb öelda, Marco, kaks sekundit ekraanil. Aga ta on ka kavatse kasutada seda Kasvataja blokeerida tuntud eetrisse. Ta läheb eetrisse quote lõppeb, "sündmus." Vahepeal sinine poiss, mäletate, on kuulates quote Tsitaat lõppeb "sündmus." Nii kuidagi, nüüd, et meil on kaks sprites suheldes. Ja kui me saame veebi programmeerimine, hilisemas perspektiivis sarnaselt kas see olla kasulik oma kodulehel midagi vastuseks, sest Näiteks klõps klaviatuuril. Nii et lubage mul minna ja vajuta tühikut. Orange poiss ütleb Marco. Sinine poiss ütleb Polo. Kui ma seda uuesti teha oranž kutt ütleb Marco, sinine poiss ütleb polo. Võtame selle ühe sammu edasi. Seekord läheme, arvatavasti vaid paar minutit veel siin. Kas meil on - laualamp, tule alla. Sul on õigus end. OK, saab nii tulla. Meil on laualambid kõigile. Tule. Ma ei tea, kas suudame hoida see naeruväärne gag üles kõik semester, kuigi. Olgu, tule alla. Ja vahepeal on meil Järgnevad näited tõmba, lihtsalt kiirendada asjad nüüd nii, et me on ilming teisest eelkäija sinu abil sama ehituskive. Mis su nimi on? JOHN: John. DAVID Malan: John. Tore, et sa. Ja? SETZ: Setz. DAVID Malan: Setz, tore, et sa. John, kas sa tahaksid tulla üles esimene, see on vana kooli mäng nimega Frogger. Klaviatuuri kasutatakse seda samuti. Ja eesmärk on saada üle tänaval ja vesi. [Frogger muusika ja heli PLAYS] DAVID Malan: Mul on kahju, ei laualamp teile täna. Olgu, Setz, eks meeldib tulge siia? Olgu, teeme seda uuesti. SETZ: Kas ma saan kasutada nooled? DAVID Malan: Just nooleklahve. Üles, alla, vasakule, paremale. [Frogger muusika ja heli PLAYS] DAVID Malan: Me helistame neile lohutusauhinna täna siis, väga hästi tehtud. Siin teile mõlemale, John ja Setz. Palju õnne, eks. Nii et taas, nagu seda mängu mängib, mõelda, mis toimub? Üks, seal on selgelt palju liikuma. Aga me oleme näinud, kuidas koos kassiga ja lind näiteks, kuidas saate teha illusiooni liikumisest, vaid liiguvad mõned pikslite arvu ja jälle. Ja kui sul on igavesti blokaad, sa oleks võinud need autod tehes selle igavesti. Meil on võime mõned juhuslikkust. Nii, et see mäng ei pea olema täpselt sama iga kord. Need logid, need autod ei alustada veidi erinevatel aegadel, nii et Mäng ise on huvitavam iga mängu. Ja vahepeal oleme näinud võime kuulata tühikut. Aga selgelt, Scratch, kas sa ka kuulake üles, alla, vasakule, paremale, ja tõesti iga klahvi klaviatuuril. Ja te võite teha ka mõned muud asjad. Lubage mul minna ja minna tagasi veebi versiooni. Lubage mul minna meie kogumine näited siin. Ja alla My Studio, video, mis on sisuliselt kausta scratch.mit.edu. Meil on veebis versioonid kõiki neid projekte. Ja vaatame, kas ma saan oma arvuti tegema siin. See on kirjutatud ühe meie sõbrad MIT nimega Liiguta Butterfly. Ja kui see avab, see on läheb tegelikult kasutada rohkem minu arvuti riistvara. Scratch juhtub rakendatakse Flash. Flash saab rääkida oma veebikaamera, kui teil on üks. Nii et kui ma edasi minna ja täisekraanil see siin Klõpsake roheline lipp, teade et Flash julgeoleku sõnum ütleb, kas sa tahad lubada kasutada minu veebikaamera? Tavaliselt peaksite ilmselt öelda Keeldu. Aga sel juhul, ütleme lubada. Siis ma ütlen Chrome lubada seda samuti. Ja nüüd, just praegu, sa näed mind, jah, mulle. Ja kui mu käsi läheb üles - Ma pean ei liigu minu pea samal ajal. Seal on ka peegeldus ekraanil. Tule, seal me läheme - saab liigutada ekraanil sest seal on ka puzzle tükki - oh, sa tea, mis see on, see on sellepärast, et sa ka vaata projektori ekraani taga mind. Nii et meil on vähe lõpmatu asi seal toimub. Olgu, ma halvusta siin. Vot nii. Nii et seal on ka puzzle tükk, mis ütleb, kui sa näed, liikumise all üks sprites, sul võib olla see minema üles, alla, vasakule, paremale või meeldib. Nii et meil on natuke virtuaalne reaalsus toimub ka siin, kõik sees piiridest minu brauser, lihtsalt siin kasutades oma veebikaamera. Nii et mis siis silmapiiril. Esimene probleem set, nagu näete, või veebisaidi minna online hiljem täna kell cs50.net, on üsna palju saab olema tähtajatud. Ja rakendada Scratch projekti teile huvi pakkuda, mäng, interaktsiooni midagi kunsti ja väljakutse ise kasutada mis tahes arvu Nende puzzle tükki. Ja see võib olla kas interaktiivne sel viisil. Või see võib olla midagi veel tahtlikult tehtud jutustada. Ja tõepoolest, see on koht, kus me end ära täna, üks viimane näide. Lubage mul minna Scratch kohapeal. Lubage mul minna ja avada see ja mängida viimane programm kirjutada üks oma eelkäijatest, nimelt et üks siin. Hea, tõsta maht selle ühe. [Muusika mängib] Jutustaja: Järgmisel CS50, David kutsub vabatahtlikke lavale. DAVID Malan: Demonstratsiooni meil läheb vaja üks vabatahtlik. Tahate tule maha? Mis su nimi on? Liikudes edasi.