SPEAKER: Som [nepočuteľné]. A ja som v poslednom ročníku na Leverett House. Študujem informatiku, a ja som pre TF CS50. Ako nováčik som nemal ani notebook alebo smartphone. Nemal som skúsenosti s programovaním. CS50 bol najpamätnejšie kurz, ktorý Vzal som na Harvarde, pretože to bolo boj, ale to bol naozaj zábava zápas súčasne. A ja som urobil veľa úžasné, trvalé priatelia, a naučil som sa veľa naozaj použiteľných zručností. Som tak rád, že som sa nenechal moja Nedostatok pozadie byť ospravedlnením pre mňa neberie CS50. Som [nepočuteľné]. Som senior na Leverett Dom, trieda 2014. A vzal som CS50. DAVID Malan: Tak toto je CS50. Toto je na konci týždňa nula. A spomenúť, kde sme začali v poslednej dobe, S týmito lampy, ktoré boli tak populárne, že sme šli a kúpil viac dnes. Takže myslím, že to bude naša vec v tomto roku - stolové lampy, ak ste prišli na pódium, aspoň kým sme dôjdu. Ale sme použili tieto spomínať, zaviesť základy reprezentácie dát. Potrebovali sme spôsob, ako začať predstavuje informácie vnútri počítača. A najjednoduchší spôsob ako to urobiť, aby bol sa jedna zo zložiek, elektrina. A najjednoduchšie, čo môžete urobiť s elektrina je zapnúť a vypnúť. Nechajte prúd elektrónov alebo nie. A pomocou týchto dvoch základných stavov, mimo a alebo nepravdivé a pravdivé, alebo nulové a jeden, sme začali vidieť, že môžeme stavať up, v tomto prípade, s ohľadom cibuľa, viac čísel než len nula a jedna. Spočítali sme tak vysoko, ako je sedem, Napríklad, naposledy. Ale všetko, čo musíte urobiť, je udržať hádzanie stále viac a viac žiarovky pri tom problém, a naozaj, môžeme reprezentovať ľubovoľné číslo, ktoré sme môže priať. No, my sme prešli rýchlo a potom na Od stredy do tohto bytu dobrovoľníkov. 8 bitov je to, čo zvyčajne nazývame byte, takže tu sme mali osem dobrovoľníkov Streda, ktorí boli spoločne predstavuje osem bitov. A keď sa ich ruky išiel hore, že sa jeden. A keď sa ich ruky boli dole, bolo nulové. A mali sme tyhle ľudí prísť na javisku prečo? Čo sme mohli urobiť s Táto sekvencia bitov? Ak chcete vytvoriť abecedu. Podarilo sa nám vybudovať na vrchole, že predchádzajúce ponaučenie a skutočne začať robiť zaujímavejšie informácie, ktoré je aspoň viac poznáme ľudí. A to bude opakujúce sa témou v 50, ale aj počítač veda všeobecne, táto myšlienka vrstvenie, kde sa na konci deň, ak ste naozaj začali Základy s počítačom, áno, to je núl a jednotiek. A pod tým je to len elektrina. Ale veľmi rýchlo začať, aby sa tým, nízka úroveň informácií ako samozrejmosť a začať vrstvy na vrchole minulosti pracoval vykonané tak, že sa v konečnom výsledku koniec semestra a, naozaj, všeobecnejšie ako počítačové odborníkmi a programátori môžu urobiť nejaké naozaj silné veci s využitím práce že my sami spravili a tiež stál na ramenách ostatných. Teraz sme sa rýchlo premenila v stredu z takmer museli predstavujú informácie, ktoré chcú aby s tým niečo urobiť. Takže to, čo sme sa definovať algoritmus, ako? Sledom inštrukcií. Takže je to rad inštrukcií, počet krokov, ktoré vás, ľudských alebo počítač, je častejšia, by vykonajte jednu po druhej, aby dosiahnuť určitého cieľa. A mali sme veľa gólov minule, z ktorých jeden je počítať ľudia v miestnosti. A ďalší taký príklad bol nájsť Mike Smith v telefónnom zozname. Takže si možno spomenú, že som vytrhol telefón kniha v polovici na tento účel sa hľadanie Mike Smith. Cieľom tejto vizuálnej bolo preukázať, opäť, že sme doslova trhá tento problém polovice, na polovicu, na polovicu, a veľmi rýchlo, ako ísť od 1.000 strán len na jednej jedinej stránke. Tí z vás, ktorí chýbalo na Streda, Myslel som, že prehrávať niektoré zábery z toho, čo ste vynechal. Poďme sa pozrieť. [PLAYBACK] -Tak ideme. 1500 strán, pekný čistý línie, legitímne slza. [END PLAYBACK] DAVID Malan: Tak to bola streda. My prechod, aj keď v stredu teraz sa chcú reprezentovať algoritmy v niektorých trochu štandardným spôsobom, a to nielen popisovať je verbálne, ale snaží sa vyjadriť písomne ​​alebo na obrazovke počítača, takže sme mohli začnú sa zlepšiť a zmeniť je, a nakoniec vlastne analyzovať, ako správne alebo ako rýchlo boli. Takže sme zaviedli tento pojem z pseudokódu, ktorý v Laicky povedané, je to, čo? OK, slová. Poďme trochu hlbšie. Anglicky, iste, sú ale k čomu? Slová, s ktorými vytvoriť alebo reprezentovať algoritmy. Takže tam nikto známy jazyk ako pseudokódu vo svete. Je to len, že v angličtine alebo bez ohľadu na váš hovorený jazyk je použiť akési povrchné zápisu oznámiť myšlienka veľmi stručne. Ale uvidíme, že určite sa Angličtina pseudokódu, a ukazuje sa, väčšine programovacích jazykov sami je derivát angličtine sám, zistíme, že tam je nejaký štandardný spôsoby, ako reprezentovať pseudocode a aj programovanie kódu. Takže ako začnete vidieť aj tie najjednoduchšie príklady dnes uvedomiť, títo Obdobné bude opakovať budúci týždeň. Takže pseudokódu bol nejaký jazyka pripomínajúce programovací jazyk. A prvý príklad sme videli vizuálne napísaný to bolo jedno. To bolo len trojstupňový program cieľom bolo zistiť, koľko ľudí v koľaji pre že video na stredu. Ale tam bolo niekoľko zaujímavých aspektov tohto najjednoduchším programu. A to bude opakujúce sa témy. Takže pre tých, ktorí sú oboznámení s To je, sme zaviedli premenné. A pravdepodobne všetci v tejto miestnosti je oboznámení s premennou v kontext algebry. Ale tu v programovaní, premenné sú, jeden, môže byť hovorí, čo chceme. Boli sme s použitím n ako čítač. Ale mohli by sme použiť slovo čítač, alebo ako uvidíte, takmer akýkoľvek výraz, ktorý by vás mohli zaujať tak dlho, ako je to opisný, ale je to naozaj len skladový kontajner. Je to kus pamäti, niektoré číslo bitov, a to sa líši od počítača, ako počet bitov, ktoré tam sú, že skladať tejto premennej. Ale môžeme dať hodnoty v ňom. Doteraz sme len dať čísla. Ale môžeme dať aktuálnu slová. Môžeme dať odsekov. Môžeme dať obrázky - nič, naozaj môžeme reprezentovať pomocou núl a jednotiek, môžeme dať do Tento vyšší stupeň pojem premenné. Takže docela rovno vpred tam. A to je jeden riadok. Ale veľmi rýchlo sa presunul z linka, kto skutočne čo sa tejto premennej. A v rade tri, sme aktualizovali N. My zvýšený N. A mohli by sme to napísať ľubovoľný počet spôsobov. Ale snáď najviditeľnejšie je len povedať, nastavte N rovný čo je N plus 1. Tak to bol náš prírastok. Medzitým bola slučka. A toto, to je pravdepodobne celkom intuitívne. Slučka je proste niečo v programe že sa stane znova a znova, niektoré druh cyklu. A to kľúčové frázy tu pre každého, je vlastne veľmi časté vo väčšine programovacie jazyky, vrátane tie, uvidíme v priebehu. Kedykoľvek vidíte slovo, že zvyčajne vyvoláva predstavu, že slučky, niečo cyklické, je na spadnutie. Ale stojí to za zmienku jedna iný syntaktický detail. Skutočnosť, že tretí riadok je vlastne členité mať hit Medzerník Niekoľkokrát je zámerné. Pretože ľudská konvencie je taká, že keď robíte niečo, čo znovu a opäť, v slučke, ako začal na linke dve, odsadiť niečo, čo patrilo na túto slučku, aby bolo zrejmé, že je to línia tri, a nie, napríklad, linka štyri alebo päť, keby bolo linky pre alebo päť, ktoré sú Časť, ktorá slučiek. Tak to jednoduché odsadenie oznamuje, že základná myšlienka. Tak sme aplikovali algoritmus, teraz na niekoľko príkladov. A to taky jednoduchý príklad v reálnom svete. Ale to bude reprezentatívna ako by ste ísť o testovanie Vlastníte čoraz zložitejšie programy. Môžete vyskúšať niekoľko scenárov, z ktorých niektoré zástupcovia vstupy, a uvidíme, či získať požadované výstupy. Takže tento príklad mal dvaja ľudia sedí v izbe na internáte. Na ľavej strane je to rovnaké pseudo kód. A to je screen shot z veľmi Posledným krokom použitie tejto algoritmus na tieto vstupy, kde boli dvaja ľudia v miestnosti, a spomínam, ako sme krokovať riadky jedného, a dva a tri, a dva a tri a hotovo - na konci tohto algoritmu, sme mali skutočne počíta dvaja chlapíci, ktorí sú v miestnosti. Takže sme potom skúšali iný príklad. A my sme povedali, čo v prípade, že sú nula ľudí v miestnosti? Tento kód je stále platná? A naozaj to bolo. To len tak sa stane, že dva linky a tým, riadok tri alebo nebude vykonávať. Oni sa to nestane vôbec pretože sú to jednoducho neplatí, ak tam je nula ľudí v miestnosti. Ale nie je to veľký problém. Riadok jedna inicializuje N na nulu, takže aj keď iba jeden riadok z tohto Program vlastne nakoniec bola užitočná, to ešte dá správnu odpoveď, pretože indikovaná oranžový nule v dolnej časti. Ale potom sme sa rozhodli, že sa druh hlúpe algoritmu. Bolo to dosť pomalé. Iste, môžem urobiť dve, štyri, šesť, osem, desať, keď počtu osôb v miestnosti. Tak sme vylepšený algoritmus, pseudokódu, hovoriť, teraz v súlade dvoch, pre každú dvojicu osôb v miestnosti, pokračovať, v súlade tri, prírastok v dvoma na každej iterácii. Tak, že by tu pracovali pre táto dvojica osôb v miestnosti. Ale potom, keď začnete premýšľať o tom, to, a to nebude trvať dlho, si uvedomiť, počkaj to je chystá rozbiť, to sa zlomí v akom jednoduchý prípad? Ak sú traja ľudia v miestnosti, alebo všeobecnejšie, keď je nepárny počet ľudí izba, vrátane jedného. Dovoľujeme si ujsť túto osobu tu, pretože nie sú tam žiadne také páry. Tak sme rýchlo riešiť miesto zavedenie, aké ďalšie programovací konštrukty na pseudokódu. Tak stave, sa nazýva to, alebo pobočka. A to chcel sprostredkovať vizuálne, Myšlienka pobočky, rázcestí kde si môžete buď to urobiť alebo, možno, niečo iné. A skutočne sme sa tento problém riešiť tým, pridaním riadka 4 tým, že hovorí, naozaj, na samého konca, ak sa jedna osoba zostáva, potom choďte do toho a počítať je zvláštne. Takže si nejako špecifický prípad je, tak hovoriť, takže teraz môžeme zvládnuť i aj počet ľudí, ktorí a nepárny počet ľudí. Teraz to sú len niektoré zo spôsobov, ako mohli sme to vyjadril. A úprimne povedané, mohol som byť ešte niť vyberavý, keď to prišlo k môjmu výberu Angličtina pre pseudokódu. Ale aspon duch myšlienka je dopravená. Ak ste podal tento kód priateľovi kto nie je v SK, alebo nikdy neurobil SK, je pravdepodobné, že by mohla prísť, uvedené troch ľudí v miestnosti, ako Počet týchto ľudí na základe základe týchto pokynov. A to je všetko naozaj chceme dosiahnuť s pseudokódu, nejako štandardizovať, ako na to ideme predstavujúce nápady, takže môžeme začať robiť zložitejšie čo ešte. Tak to nás vedie potom dnes, skutočné kódu. Začneme sa naprogramovať dnes, aj keď v priateľskom prostredí. A potom sme prechod veľmi rýchlo viac tajomné syntax, ale ten, ktorý uvidíte je v zásade rovnaká ako myšlienky uvidia prejavuje ten druhý jazyk dnes. Je to jednoducho bude vyzerať trochu iný. Takže skôr než len volať tento kód, som bude o niečo presnejší a hovoria, ďalej pri písaní programu, píšete zdrojový kód. Je to niečo ako pseudokódu. Ale uvidíme, nie je to trochu voľné pokiaľ ide o výber slov ktorý používate. Pri programovaní v jazyku, máte používať slová, frázy,, syntax, že ostatní ľudia sa rozhodli predstavujú že konkrétny jazyk. Takže pseudocodes je na vás. Aktuálne programovací jazyk ako C, pretože budeme nakoniec vidieť, je štandardizovaný inými ľuďmi. Tak ako sme sa ísť o písaní nejaký zdrojový kód? No ja idem a urob to. Chystám sa ísť dopredu a otvoriť okno tady. Viac informácií o tejto budúci týždeň. Ale to je s názvom zariadenie CS50 spotrebiča. Bežím kus softvéru na mojom Mac, keď môžete urobiť to isté na počítači s Windows, ktorý dáva mi ilúzie beží iný operačný systém úplne vpravo Tu v okne na mojom Macu. Práve som plne tienený to tak nemusíte skutočne vidieť Mac OS práve teraz. Jedná sa o operačný systém s názvom Linux. Je to veľmi populárne. Je to veľmi rýchlo. Je to veľmi voľná, ktorý robil to veľmi presvedčivé, najmä v komerčný svet. A viac na to ku koncu Semester, kedy používame Linux celkom dosť pre webové programovanie a hosting skutočné webové stránky a projekty. Takže teraz, len viem, že sa jedná o desktop , Ktorý je určený vyzerať hmlisto známe Windows a Mac OS. Je to len má niekoľko rôznych mien a ikony pre veci. Ale to je tzv CS50 zariadenie, virtuálny stroj, ktorý, od budúceho týždňa bude vy spustiť vnútri okna na vlastný Mac alebo PC. Pre dnešok, idem otvoriť najjednoduchšie programov. Hovorí sa gedit. A to je len grafický editor. Je to niečo ako Microsoft Slovo, ale jednoduchšie. Je to niečo ako texte upraviť alebo poznámkový blok. Je to len veľmi jednoduchý program s ktorá písať slová na obrazovke. To len tak, čo sa stane, že keď uložím súbory, ktoré som vytvoriť, keď tento program v špeciálnom rozšírenia, ako je. c, namiesto toho z doc alebo. xls, alebo čokoľvek ste oboznámení s, môžem vlastne programy využívajúce aj tento jednoduchý textový editor. Takže dovoľte mi, aby som to urobil. Nechaj ma ísť napred a ušetrite tento súbor najprv ako hello.c. A opäť, užívateľské rozhranie zoznámiť sa na vás rýchlo. Ale teraz, ja som len písať v názve súboru. Idem uložiť do svojej John Harvard domovský adresár. A teraz mám túto kartu, ktorá označuje, Som naozaj úpravách súbor s názvom hello.c. Takže nič moc zaujímavé, ale. A teraz to bude pekne mystický. Chystám sa priblížite, len takže je to viac vidieť. A ja začnem písať zahŕňať stdio.h, int main, void, otvorený kučeravé rovnátka, jedna, dva, tri, štyri miesta odsadenie, tlač f, pre tlač niečo formátovania, citujem koniec citátu, "Hello, world" spätné lomítko, n, v blízkosti Ponuka, uzavretá zátvorka, bodkočiarku, zadajte Backspace, Backspace, Backspace, backspace, uzavretá zložená zátvorka - Naprogramoval som. Dobre, takže to je super jednoduchý program naozaj program, ktorý niekto začína s programovania. A všetko, čo robí, pretože celé jeho zložitosti, ich vytlačiť na obrazovka, hádajte čo? Hello world. Ale to nestačí len napísať program. Tak to je kód. Toto je zdrojový kód v jazyk s názvom c Je uložený v súčasnej dobe súbor s názvom hello.c. Teraz sa pozrite na dne na obrazovke tu. Ďalšie informácie o tomto znovu, nadchádzajúcich týždňoch. Ale to je to, čo budeme nazývať okno terminálu. Je to bliká, čierna a biele dotaz. Je to niečo ako starej školy rozhranie počítač, ktorý zvyčajne nie je použiť myš alebo iné grafické prvky. Je to jednoducho používa klávesnica. A môžem písať príkazy na to bliká výzva. A pre dnešné účely, ja som len ísť na zadajte nasledovné - aby ahoj. A tento program, aby sa, je to len program, ktorý, v reálnom svete v týchto dňoch, by sme dvakrát kliknite na. Ale v tomto rozhraní pre dnešok, sme bude písať svoje meno na túto výzvu. ahoj, aby ich doslova chystá aby mi program s názvom ahoj. A to bude robiť tak tým, že hľadá pre súbor, len tým, že V predvolenom nastavení tzv hello.c. Bude predpokladať, chcem program v jazyku C podľa povahy, ako tento počítač je nakonfigurovaný. Tak som sa do toho pustite a stlačte Enter. Vidím nejaké mystické výstup, ale to sa stane príliš zoznámiť onedlho. To sa stalo spustiť kompilátor viac na to vo chvíli, tzv zvonenie. Ale teraz mám len ďalší bliká výzva. A môžem ísť do toho hneď a zadajte bodku lomka, za nezaujímavých dôvodov budeme vrátiť sa budúci týždeň - ahoj. Takže všetky tieto snahy doteraz len napísať najjednoduchšie programy, ktoré, akonáhle som Enter, to robí. Tak som napísal svoj prvý program. Tak som schválne tropit žarty Tento veľmi jednoduchý program, na niekoľkých dôvodov. Po prvé, je to ťažké sa dostať nadšení o prijatí triedy, ak to je koniec hry. Ale viac než to, že tam je Veľa rozptýlenie tady. Prvýkrát sa naučíte programu, tých z vás, menej pohodlné, a dokonca aj ja, späť v deň, kedy som prvýkrát videl niečo podobné - môžete sa trochu figúry, že v poriadku, tohto je v tlačovej Hello World. Ale je tu toľko rozptýlenie. Je toho toľko, syntaxe na obrazovke že sa dostane do cesty veľmi jednoduché, inak jednoduchý, nápady. Takže, čo budeme robiť dnes sme dám bokom C a prísť späť na ktoré v pondelok. A budeme používať grafické programovací jazyk s názvom Scratch. Jedná sa o programovací jazyk, ktorý som spomínal v stredu, že sa deje ktoré nám umožnia robiť rovnaký druh vecí ale prižmúriť oči, pre dnešok, do zložených zátvoriek, zátvorky, bodkočiarkami, a všetky tie hlúpe rozptýlenie, ktoré sa dostanú do cesty, v to prvý deň, na niektoré základné, pekný zaujímavé nápady. Takže k tomuto účelu, ja idem späť na plochu sem a predstaviť vám ako alternatívu k, ktorý program, ktorý bude vyzerať Niečo málo svetla to. To je, ako budeme realizovať, že rovnaký program dnes - dve puzzle kúsky, ktoré, keď prepletený a kliknete, povie svetu, hello world. Takže poďme vlastne ísť tam. Takže budem pokračovať a otvoriť web známy ako scratch.mit.edu. A to ma vedie k tento web tu. Vopred som prihlásený do tejto webové stránky a prvé problémy, ktoré vás prevedie niektoré z týchto krokov. Chystám sa ísť ďalej a kliknite na tlačidlo na mojom poškriabaniu zložky tu. A to sa mi ukázať niektoré projekty, ktoré som v skutočnosti vytvorená vopred. A ukázalo sa, že tento grafický programovací jazyk nielen sa deje aby nám program pretiahnutím zbieraním týchto dielikov, môžete nepotrebujete ani špeciálny softvér. To všetko je zakotvená v prehliadači tak, že môžete urobiť to, teoreticky, na vaše počítače práve teraz, ako niektorí z vás môže byť, bez toho aby museli softvér ako CS50 spotrebiče ktorá príde budúci týždeň. Takže som ísť do horného rohu tu a kliknite na tlačidlo Vytvoriť. A za chvíľu budem mať prázdny displej, cez ktorý môžem začať programovanie v tejto grafickej programovacie prostredie. Ale tentoraz to bude oveľa, oveľa jednoduchšie, aby skutočne urobiť. Takže za chvíľu, kedy Wi-Fi spolupracuje, teraz máme túto obrazovku. Tak rýchlo slovné turné, ale trúfam si povedať, iste, keď sa ponoríte do Prvým problémom set, budete toto všetko veľmi dostupné a pomerne intuitívne. Ale poďme maľovať mentálny obraz len na chvíľu. Tak pod túto výzvu hovorí uloženie zmeny, ste asi vidieť poškriabaniu. Jedná sa objekt sprite spustil. Je to postava. A žije na tom, čo budeme hovoriť javisko, tento veľký biely obdĺžnik na ktoré sa môžu pohybovať hore, dole, vľavo, pravdu, a to, naozaj, Ďalšie druhy akcií. Medzitým, v polovici tohto používateľa rozhranie, máme veľa skladačky. A uvidíte, že hovoria veci ako pohybovať desať krokov, otočil 15 stupňov, bod v určitom smere. Ale je tu kategória bloky až tu. Takže keď idem na vzhľad, uvidíte, že je tu ďalší kúsky skladačky, ktoré zrejme bude rozprávať tento cit pre pozdraviť, premýšľať, ukázať sám schovať. Keby som išiel do Sounds, to dopadá je tu spôsob, ako prehrávať zvuky ako mňau, zastaviť všetky zvuky, hrať bubon. Tak dlhý príbeh krátky, je tu celá banda dielikov, ktoré vám dovoľujú oznámiť túto mačku, alebo ľubovoľný počet iné charaktery, čo má robiť. Ale aby sa to všetko stalo vám je potrebné začať s programovaním. A to veľký biely box, alebo sivá krabice, na na pravej strane, to je miesto, kde Chystám sa skutočne pretiahnuť pokles týchto dielikov. To je môj prázdny texte okno ekvivalent. Takže budem pokračovať a kliknite na tlačidlo Riadenie v stredu. Alebo skôr, dovoľte mi začať až do akcie. V rámci akcie lavicu, zistíte, pár vecí, ktoré sú zámerne zakrivený na vrchole tak, že pravdepodobne nemajú Interlock na hornej časti skladačky. A to preto, že Demark začiatok programu, štart scenár, aby som tak povedal. Takže keď som sa do toho pustite a ťahajte, keď zelená vlajka kliknete sem, a potom som aby táto mačka povedať, niečo, čo na prvý pohľad. Takže som ísť pod vyzerá panel. A ja idem do toho a chytiť pozdraviť blok a pretiahnite a umiestnite, a pustiť tak, aby sa automaticky blokuje tam. A potom som si všimnúť, kliknite na text. A môžem prepísať, aby to bolo viac špecifické ako, povedzme, hello world. A teraz tu máme program, ktorý som žiadať odpovedá, že oveľa viac tajomný Program som implementoval v C pred chvíľou. Keď idem preč na ľavej strane, Všimnite si, že je to veľká stopka a veľká zelená vlajka. Dovoľte mi priblížiť pre prehľadnosť. A keď som sa teraz na túto zelenú vlajku, asi tušíte, čo to ako prvý Program je teraz robiť. Takže tam taky, my programovanie, ale nie sme v skutočnosti dostať zapadol v niektorých z tých, syntaktické, drobné detaily. Ale poďme skúsiť niečo trochu zaujímavejšie. Nechaj ma ísť do mojej zložky Scratch tu. A vlastne mi dovoľte, aby som tak nech mi otvoria samostatný program tu len moment, maximalizovať okno, Súbor Otvoriť, a ja idem do dnešnej zdrojový adresár. Ako vždy, zistíte, dnes a dopredu, že všetky dnešné príkladov sú k dispozícii vo vnútri Kurz web. A budem pokračovať tu a vybrať sa trochu niečo iné. Tento, pre ktoré Potrebujem dobrovoľníka. Kto by rád lampu dnes? OK, ako sa o niekom niečo - ste na konci? Poď dole. Teraz by ste sa radi zúčastnili, alebo len povedať, začať s lampou? VANESSA: [nepočuteľné]. DAVID Malan: OK. Výborný, čo ste meno? Vanessa? David. Rád Vás vidím. Tak poď hore a Vanessa sa deje vziať kontrolu nad svojím klávesnice len na chvíľu. A to, čo som urobil tu len pre čas je saké, keď som si uvedomil, Wi-Fi je trochu pomalý, Scratch, programovanie prostredia, ktoré sme použitie, možno tiež stiahnuť a spustiť na vašom počítači. Takže to, čo som urobil pred prednáškou, v prípad, že sa stane, je, že som stiahnuť všetky súbory sa chystáte hrať takže môže bežať o niečo viac rýchlo priamo tu na mojom notebooku. Takže to je dôvod, prečo teraz som videl Mac špecifické rozhranie. Takže budem pokračovať a otvoriť tento. Chystám sa ísť dopredu a teraz na celej obrazovke okno. A ako uvidíte, môžeme veľmi rýchlo, ako to bolo študentov, jeden z vaši predchodcovia, ísť od Hello World k oveľa presvedčivejšie aplikácie. Tak tu je návod. Jo, a máme jednu vec. Myslel som, že to bude zábava, pretože, normálne, budeme natáčať kamery týmto spôsobom. Myslel som, že by bolo zábavné, ak Vanessa, sme mohli vidieť svet vašimi očami. Tak tu máme nejaké Google Glass. [Užasnutý vzdychy] DAVID Malan: Budeme len dávať ďaleko stolové lampy dnes. [Smiech] Takže mi dovoľte narážka to. Dobre, takže to dotknúť. OK, sklo, nahrávať video. Dobre, Vanessa? Teraz, keď stranou, ktorá nemá nič spoločné čo do činenia s Scratch, keď sa pozriete mierne hore a vpravo, uvidíte doslovný sklo, a vy by ste mali pozri trochu obdĺžnikové okno. Mali by ste vidieť všetky svoje spolužiakov natáča práve teraz? Áno. VANESSA: Áno. DAVID Malan: OK. Tak to je v poriadku. Budeme uvoľňovať tieto zábery neskôr. Pre túto chvíľu, obrátiť vašu pozornosť na obrazovku tu. A čo váš predchodca urobil je dať nejaké pokyny na obrazovke len pomocou programu pre maľovanie. Takže budete, v okamihu, stlačením medzerníka začnú. A potom niektoré dieliky idú do pohybu po obrazovke nahor. A chcete trafiť šípkami, len ako v reálnom DDR, v súlade sa veci zoraďovať s týmito šípkami. VANESSA: OK. DAVID Malan: si hrať predtým. VANESSA: Jo. DAVID Malan: Dobre, Vanessa, choďte do toho a vziať to preč. [MUSIC - Kayne West, "silnejší"] [APPLAUSE] DAVID Malan: Tak poďme teraz krok od toho. Tak jasne, to je koniec hry. Na konci hry nie je hello world. Ale nemusíte nutne robiť veci, ktoré sú tak interaktívne. Môžete si tiež urobiť animáciu. Tak napríklad, ďalší z tvojich nástupcovi z tohto programu tu ktorý rozpráva príbeh viac než to implementovali hru. Tak ma nechaj ísť dopredu a otvoriť tu Program v našom rovnakom adresári so zdrojovými kódmi od dnešného dňa. Tenhle hovor a začnime s, cookie milostný príbeh. A nie, aby to príliš akademické, ale ako sa budete pozerať toto, myslím, že sa sami seba, ktoré z jednoduchých Programovacie pojmy Hovorili sme o doteraz - premenné a slučky, a podmienky, Váš predchodca sa pravdepodobne používať len k realizácii niektorých vizualizácií. Vidíte tu. Tak som vám cookie milostný príbeh. [MUSIC - GREEN DAY, "HOLIDAY"] [CRASH] [MUSIC - korytnačky, "Happy Together"] DAVID Malan: Dobre, takže tam, sme mali cookie milostný príbeh. Ale aj tam - [APPLAUSE] DAVID Malan: Tak jo, aj tam, premýšľať o tom, ako tie šla od srdca spodnej do hornej časti obrazovky, tam bol vlastne trochu náhodnosť deje. A skutočne, uvidíme, že ani v Najjednoduchšie z prostredia, ako je Scratch, ako v C, môžete vygenerovať náhodné čísla, alebo ilúzia náhodné čísla, takže je hra trochu zaujímavejšie, než by to mohlo bolo, keby ste mali absolútne pevný kódované všetko. V hnutie, ktoré vidíte, sú tam je nejaký druh reakcie. Akonáhle perník muž sa dotýka perník žena, ona Zdá sa, že odísť. A tak, v skutočnosti, môžete vykonávať vo väčšine programovacích jazykov, pojem udalostí, pričom ak je jedna ruka sa dotýka Na druhej strane, to môže vyvolať niektoré zo zdrojového kódu skutočne vykonať. Môžete počúvať ako veci na obrazovke. Takže poďme si rýchlu prehliadku, potom, niektoré zo stavebných kameňov, ktoré môžeme použiť na dosiahnutie niektorých z týchto cieľov. Tak tu je to, čo budeme odteraz zavolajte vyhlásenie. Vyhlásenie sa stane byť fialové Scratch, trochu niečo také, ale to je subjektívne. Príkaz je len kúsok puzzle, alebo všeobecnejšie, inštrukcia, ktorá hovorí počítači robiť niečo, vyhlásenie. Tak tu je to jednoduchý vzorka. Say hello world. Ďalším z nich by mohol byť počkajte jednu sekundu. Takže tento kúsok skladačky, ktorý je podporovaný V Scratch, necháme váš znaky pauzy pre niektoré počet sekúnd. Aj to je len konštatovanie. Tu ďalšie máme ďalšie viac zaujímavý, prehrávať zvuk mňau, a malá šípka znamená, že Scratch, to je rozbaľovacie menu. Takže môžete importovať zvuky. Môžete nahrávať zvuky a robiť iné zábavné veci na začiatku. A to, že aj keď sa na konci dňa, je to len konštatovanie. Ale teraz poďme predstaviť viac Zaujímavou, že známy ako Logický výraz. Kapitál B, pomenoval chlapík menom Bool. A Logický výraz je len skladačky, alebo všeobecnejšie, informácia, ktorá je buď true alebo false - jedna alebo nula, áno alebo nie. Takže je to len jeden z tých, dva protiklady. Takže jeden taký logický výraz v Svet Scratch vyzerá takto modrá skladačky. A to sa pýta na otázku, myš nadol, a ktorá môže byť, z Samozrejme, true alebo false. Tak s týmto puzzle v Scratch, dobre, budete môcť zistiť, či sú puzzle, ak je myš, v skutočnosti, že podržanie ľudskou interakcie s programom. Toto je trochu abstraktné, ale tie dve biele krabičky sú len pre čísla. Takže si môžete robiť veci, ako je táto číslo menšie ako ostatné? A ak áno, bude Scratch správať jedna cesta alebo iný. Toto je trochu grafický. Keď je objekt sprite, ak je mačka, pre inštancie, je v skutočnosti dotýka ukazovateľ myši. Takže ak niečo šípka hlava sa vznáša na mačky, potom tento skladačky vyhodnotí na true. Bude to pravda, v tom prípade, ak ste použiť tento logický výraz, pretože my budeme vidieť vo chvíli, na pobočke, môžete Buď to, alebo si môžete urobiť to, rovnako ako sme mali podmienku, že kontrolovaná, je tu ešte jeden posledný človek v miestnosti? Ak áno, pridať. Inak, nebojte sa ďalej. Takže Logický výraz môže byť tiež a-ed spoločne alebo alebo-ed dohromady. Takže môžete kombinovať booleovských výrazov a hovoriť to a to musí byť pravda pre Celá vec je to pravda. A tu je viac reálny svet príkladom. Ak ste použili CS50 kurzy urobiť kurz nakupovanie, táto zaškrtávacie políčka tam, kde ak si skontrolujte, či políčko vedľa do kurzov, bude to hovoriť, áno, zobraziť iba mi kurzy, ktoré hodnota Q je 4,5 alebo vyšší. Ak nepotvrdíte, nie, nie starosti. Alebo podobne, na práva, nemusia Konflikt s kurzami beriem, to je buď true alebo false. Je to len logický výraz. Takže celú tú dobu, kedy ste používali webové stránky s zaškrtávacích políčok, si len prepínanie ekvivalent Boolean Výraz zapnutie a vypnutie. Takže v akej forme sa používa toto? No, Scratch, uvidíme za chvíľu že existujú podmienky, že vyzerať takto. A to je celkom rozumné, pretože mnoho ako v pseudokódu, sa odsadený druh tvaru U dielikov, stredná že niečo vo vnútri, že u je bude vykonávať, alebo nie, záleží na tom, kde je. Takže ak logický výraz, potom čo je vnútri dostane popravený. Medzitým tam if / else bloku. Takže ak chcete, vetva, ktorá ide to Tak alebo tak, že Scratch dáva nám to. A tejto logiky, teraz, aj napriek tomu, že skladačky je zjavne príliš malá k zaklineniu niečo vnútri nej, kúsky puzzle poškriabaniu, sú len porastie. Keď pretiahnete nad niečím, to bude len rásť, aby sa zmestili bez ohľadu na to sa snažíte robiť. Takže môžeme vziať dve z týchto vecí a aby sa trojcestný rázcestí tak že buď to, či ono, čiže tá druhá vec, len tým, že im hniezdenia týmto spôsobom. Samozrejme, ak si to urobiť taky moc, to začína byť škaredé. Ale v tomto okamihu, že ste v skutočnosti pravdepodobne nie programovanie veľmi dobre. A tak, že bude opakujúce téma tiež, že z módy. To, ako dobre sa vlastne formátovanie kódu? Alebo, ako dobre si navrhnúť svoj kód? Ale o tom viac v budúcnosti. A teraz máme slučky. Je to pekná navždy slučka Scratch čo doslova znamená, že - do čo je vo vnútri to ešte raz, a znova a znova. Môžete byť konkrétnejší a povedať, Vykonajte nasledujúce vec 10 krát. Môžete tiež použiť premenné. Môžete prísť s nejakým menom v tom trochu klesnúť a povedal, daj mi premenné s názvom n a nastavte je rovná nejaké hodnoty. A potom môžete mať funkcie. Ale o tých za chvíľu. Dovoľte mi vrátiť sa k môjmu Scratch rozhranie. A dovoľte mi, aby som do toho tentoraz. A poďme ďalej a otvoriť, povedzme, príklad z - že je to trochu zaujímavejšie. Nechaj ma ísť napred, a v skutočnosti, dovoľte mi, aby to sám. Nepotrebujem, aby toto. Nechaj ma ísť do Súbor, Nový. Chystám sa ísť do akcie. Chystám sa ísť, keď zelenou vlajkou klikli a ja idem na zvuk. A budem preťahovať to skladačky, prehrávať zvuk mňau. To západky k sebe. A teraz, keď som kliknite na zelenú vlajku - [MEOW SOUND] DAVID Malan: Rozkošný. OK, takže teraz poďme urobiť niečo trochu logickejšie len preukázať, že môžeme pre túto chvíľu. Chystám sa uvoľnite to z toho chlapa. Chystám sa ísť na kontrolu. A ja idem chytiť podmienku. Takže ak sa niečo potom. Tak to je, ako to tam vyzerá. Tak som potrebné logický výraz. A nechaj ma ísť napred a povedal: nechaj ma ísť na prevádzkovateľa. Chystám sa urobiť niečo mierne Mathy, len tak pre srandu. Chystám sa ísť sem a povedať, ak je niečo, čo je menšie ako niečo iné, choďte do toho a niečo urobiť. Takže teraz, viete čo, náhodný blok. Tak zistíte, ako keby som vznášať sa nad to vec tu, že budú chytať tam. Takže teraz, oznámenia, začínam robiť niečo, čo už logickejšie zaujímavé. Ak je náhodné číslo medzi 1 a 10 je nižšia než, povedzme, šesť. Mám-li si vybrať šesť, ktoré v podstate znamená, vykonajte nasledujúce kroky s 50% pravdepodobnosť. Je to ako hodiť mincí. Teraz môžem niečo urobiť podmienečne. A to je niečo, čo budem urobiť, je hrať zvuk. Takže teraz, keď som kliknite na obrazovku vlajka, je to ako hádzať mincí. [MEOW SOUND] DAVID Malan: Bolo hlavy alebo kto vie čo ešte tam. Urobme to znova. [MEOW SOUND] DAVID Malan: Heads znova. [MEOW SOUND] DAVID Malan: Heads znova. Uf, OK. Tails, že čas. Tak 50% času, ak sa to nekonečne dlho, dostaneme 50% meows a 50% mlčanie. Takže tam, len základné stavebné blok, ktorý nám umožňuje robiť. Ale to je trochu nudné, že mám aby kliknutím na toto tlačidlo. Takže poďme sa len drag and hodiť všetky z nich preč. Ak sa odtiahol ich do stredu, budú len odstrániť sami. Nechaj ma ísť až na ovládanie. Nechaj ma ísť navždy. A tentoraz idem robiť niečo minorly nepríjemné. [Smiech] DAVID Malan: A nechaj ma ísť a urob kontrolu. Počkajte jednu sekundu, len tak to nie je príliš rošt. [MEOW SOUND] DAVID Malan: To nie je prirodzené. OK. [MEOW SOUND] DAVID Malan: A upozornenie Čo je, pekné o Scratch, pre tých z vás, ktorí mať predchádzajúce programovacie skúsenosti, môžete Nemusíte spustiť a zastaviť. Nemusíte kompilácie. Stačí zmeniť, a program sa prispôsobí dynamicky. Tak to už je málo zaujímavé. Ale poďme ešte o krok ďalej. Nechaj ma ísť dopredu a dostať zbaviť tohto programu. [MEOW SOUND] DAVID Malan: To je to, čo budeme zavolajte chybu v začiatku. Nemal by udržať robiť ten zvuk. Tak sme si poviem mu, nech prestane. Dobre, takže teraz som ísť do - Dám vedieť MIT. Pôjdeme sem Forever. A teraz chcem niečo urobiť znova a znova. Chystám sa ísť do riadenia. A pozrime sa, budem preťahovať môj stav, ak existuje. Takže teraz si všimnite logiku. Po kliknutí na zelenú vlajkou, robiť niečo, čo navždy, ale len to, že čo keď tá druhá vec je pravda. Chystám sa ísť, poďme povedať, snímanie. A ja idem do toho a vyberte dojemné a umiestnite ho tam. To je logický výraz. A teraz, všimnite si, v tomto poklese down menu, sú niektoré preddefinované hodnoty. Takže môžem povedať, ste dotýka okraj obrazovky? Alebo ste sa dotknete myši, šípka na obrazovke? Takže idem na to. A ak áno, potom som ísť dopredu a prehrávať zvukové mňau. Takže teraz som tak trochu majú Počiatky hry - rozkošný hra. [MEOW SOUND] DAVID Malan: OK, rozkošný, buggy hra. Nechaj ma čakať, povedzme, jedna sekunda tam. Teraz hrať znova, kliknutím na zelenou vlajkou. [MEOW SOUND] DAVID Malan: Tak teraz už je ako hladenie mačky. [MEOW SOUND] DAVID Malan: Dobre, teraz to kto som, aby vopred. Veľmi neskoro, dostane druh ľahké robiť hlúpe veci. Tak ma nechaj ísť sem. Povedzme, že sa hýčkať mačku. Poďme teraz otvoriť Nepoužívajte Zvieratá Cat. Teraz, keď budeme hrať tohle, môžete hádať, ak ste pri pohľade na obrazovku - [MEOW SOUND] DAVID Malan: Teraz, keď som sa hýčkať mačku [LION rev] DAVID Malan: Takže nie sú v skutočnosti hýčkať mačku v tomto prípade. Takže teraz máme len príklad vetva, čo sa deje v dvoch smeroch. Teraz mi dovoľte pokračovať a otvoriť iný tu. Tento jeden, aj mimo náš zdroj súbory kódu pre daný deň. Tak nechaj ma ísť späť do svojho zdroja adresár a ísť do, poďme vybrať ten chlap tu a vidieť to, čo je. Wow, v poriadku, takže teraz je to čím ďalej trochu zložitejšie. A predtým, než sme videli, čo ten chlap robí, Pokúsme sa odvodiť, z programu na pravej strane. A teraz poškriabaniu jasne nám umožňuje majú viac skriptov, viac programy spojené s jedným škriatka, sa v jednom znaku, a zdá sa, oni obaja pobeží jeden muž. Vzhľadom k tomu, a to ako z týchto programov sa spustí sa kedy zelená vlajka kliknutí, je to naznačuje v pokročilejšie tému, s ktoré niektorí z vás možno poznať, známy ako závitov, alebo multi-threading. Ukázalo sa, že dlhý príbeh krátky, počítače dnes môže v podstate robiť viac veci naraz. Alebo si môžete urobiť jednu vec naraz, takže rýchlo, že si ani nevšimnete, že je to vlastne jedným vec naraz. Ale teraz, predpokladajme, že obaja Tieto programy budú vykonávať v v rovnakom čase. A oznámenia, obaja z nich majú navždy skladačky. Takže oni obaja bude bežať ďalej až som narazila na červenú stopku. Takže to, čo chcú robiť? Na ľavej strane, ja som zrejme deklarovaní premennej s názvom stlmený. Takže som nemal hovoriť niečo ako nuda ako N. som to nazval stlmený to čas oznámiť zmysel. Nastavil som to rovná nule. Poďme si o tom myslíte ako False, alebo poďme si o tom ako False. Teraz navždy vykonajte nasledujúce kroky. Ak je klávesnica v medzerníkom je stlačené potom v prípade, tlmené rovný nule, zmeňte stlmený na rovné jednej. Inak nastaviť stlmený na nulu. Takže logicky, aj keď to je úplne banda dielikov, ktoré sa nachádza v Len hovorím, keď som narazila na medzerník, Čo mám robiť, aby sa premenná volal stlmený? Zmena z jednej na nulu, alebo nula až jedna. To je všetko. Takže je to ako keď sa vypínač zapnutie alebo vypnutie a pamätať si, s premenné, ktoré som urobil. Medzitým, na pravej strane, v Laicky povedané, aký je účel Skript na pravej strane? STUDENT: Ak chcete prehrať zvuk mrože. DAVID Malan: Ak chcete prehrať zvuk Sea Lion, keď nie je stlmený, a Povaha tejto premennej. Takže sme zdieľanie stať, aby som tak povedal, zdieľanie informácií medzi týmito dvoma skripty, pretože zistíte tu sme navždy nasledujúceho postupu. Je-li stlmený je nula, takže ak to nie je stlmený - Ak stlmený je false, potom sa hra to mrože zvuk. A myslieť na seba, hi, hi, hi, pre dve sekundy, chvíľu počkajte a potom znova skontrolujte. Takže ak teraz pôjdeme sem na ľavej strane, kde je ten chlap, a stlačte zelená vlajka, [SEA LION SOUND] DAVID Malan: V akom okamihu sa to naozaj otravné? Vzhľadom k tomu, bude to trvať večne. Takže niekedy, nekonečné slučky, aby som tak povedal, sú úmyselné. Ale v tomto prípade, len čo som narazia na medzerník, on sa zastaví. Teraz sa program neukončí. Je to stále beží v týchto slučiek. Ale keď som si medzerníka znova - [SEA LION SOUND] DAVID Malan: Bude sa vyberať tam, kde on skončil. Takže je tam jeden spôsob, ako nám to niečo znovu a znovu, ale že čas, len podmienečne. No, keď už sme v tomto duchu, ako robiť veci znova a znova, dovoľte mi, aby som ísť do iného takého príklad. Tenhle zavoláme počítanie ovečiek. A všimnite si, čo ten chlap robí. Je to vlastne niečo ako pseudokódu sme hrali s na Streda, čím sa nastaví nejaký čítač, myslieť na to, ako je N znovu, nula, sa vykoná nasledujúce navždy. Hovorí pultu je hodnota pre jeden Po druhé, čaká druhé, a potom mení čítača o jednotku. A v tejto súvislosti, že práve znamená to krokoch. Takže jeden pridá k nej. Tak toto je doslova - že to nie je presne to, čo si myslíme, že ako počítanie ovečiek. Je to ovce robí počítanie, navždy, a to až od nuly. Takže môžeme robiť podobné veci tam, logicky. Ale teraz poďme sa snažia vyčistiť niektoré z týchto vecí sa. Nechaj ma ísť napred sa do jednoduchej Príkladom, kedy naša mačka sa práve chystá začať kašľať. Dobre, takže tu máme kašeľ 0 - počítačoví experti začať počítanie od 0. Tak táto mačka je len tak kašlať trikrát. A tu je návod, ako som implementoval, že. Po kliknutí zelená vlajka, kašeľ, počkajte, kašeľ, počkať, kašeľ, počkajte. A ja som to jednoduchým pretiahnutím a pretiahnutím dielikov. Alebo keď začnete vŕtať Scratch, uvidíte, môžete skutočne duplicitné kúsky, takže si môžete urobiť veci rýchlejšie bez preťahovania a klesá reklamné Nauseum. Ale my nie sme na najlepšej ceste sem. Vzhľadom k tomu, ako mám urobiť ho kašeľ štvrtýkrát? No, mohol by som nejako ísť sem. Mohol by som duplikovať a potom vložiť to tam. Ako môžem ho kašlať piatykrát? No, skopírujte a vložte znova. Alebo pretiahnite kvapka znova. A veľmi rýchlo, tento program spustí sa naozaj, ale naozaj zbytočné, naozaj dlho, ale naozaj nezaujímavé. Ale je tu spôsob, ako vyčistiť to. Aký je zrejmý spôsob, Na čistenie sa deje? OK, takže sme mohli v skutočnosti naozaj ísť von, a keď narazí na priestor bar, nechať ho kašľať. Ale ak chcem niečo urobiť opakovane, pripomínajú, že máme určitú kontrolu konštruuje. Dovoľte mi, aby som presunúť z cesta, ísť pod kontrolu. Dovoľte mi to opakovať, povedzme trikrát. A teraz mi dovoľte ukradnúť niektoré z týchto dielikov. Dovoľte mi, aby som snap to tu. Nechaj ma vyhodiť úplne. A teraz mám lepšiu navrhnutý program. Prečo? Chcem chcete zmeniť počet opakovaní táto mačka kašľa, všetko, čo mám urobiť, je zmeniť jednu premennú, alebo jedna hodnota, skôr z troch na štyri, alebo päť, alebo šesť. Alebo by som mohol niečo urobiť s výhradami, i, s priestorom bar, keby som chcel. Tak to je všeobecný princíp. Akonáhle začnete kopírovanie a vkladanie kódu, či už je to v scratch, prípadne vo C, robíte niečo zle, s najväčšou pravdepodobnosťou. Alebo aspoň, akonáhle ste prekročení niektoré primerané počty kópií a pasty, ste pravdepodobne robí niečo zlé. Ale viete čo? Ja to naozaj takto. To nie je najčistejšie prevedenie. Prial by som si tam bol kúsok puzzle s názvom kašeľ, pretože potom by som to neurobil mať na vykonanie tohto sám, postarom, podľa čo hovoria, a čakať - čo keby boli len kašeľ skladačky. No, môžem vlastne robiť, že. Nechaj ma ísť do viacerých blokov, kliknite na tlačidlo Vykonajte blok, a teraz som si to okno tu. Budem volať túto vec kašeľ. Chystám sa ísť ďalej a kliknite na tlačidlo OK. A teraz oznámenia, mám nový počiatočný kus, ktorý je zakrivený na vrchole. A čo budem robiť s tým, že som bude kradnúť týchto blokov. Chystám sa dať ich sem. A teraz, s týmito tromi kúskami, som realizovaný čo budem volať funkcie, alebo postup, alebo niektoré z možno viete, ako metódy. Nepatrné rozdiely medzi slovami. Ale teraz, povedzme, nazývajú funkcie. To je len nový kúsok skladačky. Teraz je vykonávaná nasledovne. Ale zistíte, že Scratch nám dal fyzickej reprezentácie, ktorá celý blokovať sem. Takže teraz môžem len pretiahnuť sem, povedať, opakujte trikrát, a čo sa stane teraz, keď hrám Tento skript je iba jeden program beží naraz. Je tu len jeden, keď zelená vlajka klikli. Ale to fialový blok nazvaný kašeľ účinne rozprávanie Scratch, každý keď vidíte, že kúsok skladačky, v skutočnosti vykonaní týchto krokov, ktoré som vykonávať štát ručne. Tak to je celkom elegantný. Ale teraz, predpokladám, že som sa rozhodol, ja nie Chcete túto mačku len kašeľ. Chcem, aby bolo možné kýchať rovnako. No, ako by sme mohli ísť o vykonávanie kýchnuť? Tak som mohol celkom veľa to isté. Mohol by som urobiť ďalší blok. Mohol by som zavolať túto kýchnutie, kliknite na tlačidlo OK. Potom tu som mohol skutočne sa, nechaj ma to duplicitné - a tam, kde by ste mali pocit, že ste asi nie je niečo v najlepší spôsob. Mohol by som povedať niečo ako: Acho, na jednu sekundu. Počkajte chvíľku. Teraz mám nový blok s názvom kýchnutí. A skutočne, tu to je. Ale aj to by sa mal začať cítiť - možno nie prvý týždeň triedy, ale podľa druhej - len trochu nadbytočné. Je zrejmé, že tam je nejaký redundancie tu. Takže mi dovoľte navrhnúť, namiesto toho, že sa zdokonalenie tejto definície nasledovne. Nechaj ma ísť k môjmu súboru menu. Nebudem uložiť túto verziu. Chystám sa ísť do jedného z moje premade súbory tu. A ja idem do toho a otvoriť kašeľ 2. Jejda, že je kašeľ 2. Nechaj ma ísť dopredu a otvoriť kašeľ 3, ktorý je tento zdrojový adresár. Kašeľ 3 a všimnite si - ach, povedal som Príbeh v nesprávnom poradí. Dovoľte mi, aby som zotaviť sa z tohto príbehu. Príbeh, ktorý som chcel povedať, končí s kašľom 4 - tu to je. Tak čo keby som namiesto toho, definovať väčší kus puzzle s názvom definovať, povedzte slovo n krát. Kýchanie je len, zdá sa, V Scratch, Acho. Tak sme to vyjadriť ako slovo, len preto, že to je obmedzenie programu. A kašeľ je [kašeľ], ale kašeľ, C-O-U-G-H. Tak to je len dva rôzne slová tým, v podstate, to isté. Tak som si skutočne zarobiť nový blok takhle. Nechcel som použiť túto možnosť ponuky predtým. Ale keď kliknite na tlačidlo Vytvoriť blok, si môžete vybrať niekoľko možností. A môžete povedať, že tento blok v skutočnosti trvá niekoľko vstupov, inak známy ako parameter alebo parametre, tak že môžete zmeniť správanie váš dom. Takže to, čo som pred chvíľou bola Volal som tento blok Say. A potom som si povedal, že sa string input. A teraz nevšimol, v predvolenom nastavení, sa hovorí, že reťazec 1. Reťazec je len slovo, alebo frázy, pre naše účely. Ale ja som jednoducho ísť dať nejaký zástupný text tam, rovnako ako v webové stránky, keď vidíte, užívateľské meno, alebo heslo a potom to zmizne, akonáhle začnete písať. To je všetko, čo je. A teraz idem pridať číslo vstup. A budem to nazývať n - ale to je dosť subjektívne. A potom už len nálepka, len aby tento blok trochu viac do seba Dôvodová - krát, to je to, čo som práve urobil. A konečný výsledok je, že som si blok, ktorý vyzerá takto. A teraz nevšimol, som pomocou opakovanie bloku. Ale skôr než tvrdé kódovanie tri, ja som pretiahnutím n tam, tak som môžete nastaviť parametre funkcie. Môžem túto funkciu robiť niečo iný počet, koľkokrát na základe táto hodnota. A všimnite si, povedzme, to je to, čo som urobil tu, keď som pretiahnuť slovo, môžem povedať nie pevne dané slovo, ale čo je odovzdaný na dobu jednej sekundy. Medzitým, ako som si znova implementovať kašeľ? Ja namiesto toho definovať ako kašeľ hovorí kašeľ n-krát. Takže v skratke, ja idem cez to rýchlo, ale základná myšlienka je, akonáhle ako začnete vidieť vo svojom programe že, počkaj, čo som urobil niečo také, ako predtým, môžem vytknúť niektoré spoločné funkčnosť? Môžem sa rozkladajú, čo robím do niektorých základných pojmov? To je to, čo tu robíme. A ja som stohovať tieto veci, vizuálne, nad sebou pretože je to dokladom toho, že myšlienka počnúc binárne, ísť do ASCII, robiť grafické programy, druh vrstvenie čoraz zložitejšie myšlienky na nad sebou. Rovnaká myšlienka tu. Začal som od nuly, vykonávanie kašeľ, potom si uvedomil, kašeľ je naozaj len niečo hovorí. Takže dovoľte mi, aby som namiesto toho zaviesť pojem niečo hovorí. A navyše to, že môžem implementovať Acho, alebo kašeľ? A mohli by sme urobiť viac ako varianty stále. Takže z tohto základného princípu, môžeme začať robiť stále zložitejších programov. Dovoľte mi otvoriť tento. Môžeme skutočne mať viac škriatkov interakcie na obrazovke naraz. Keď idem do svojho zdrojového adresára a urvat jeden volal témy, pripomenúť, že závit je len naozaj schopnosť dvoch skriptov súbeh strane súčasne. Všimnite si teraz, ako sa vták sprite a mačka škriatok, z ktorých obaja majú vlastné skripty. Takže upozornenie, keď kliknem mačka, som si tieto skripty. Keď kliknem na vtáka, Mám tieto skripty. Takže každý z týchto chalanov má jeho vlastné programy. Keď som sa na zelenú vlajku, všimnite si, že to, čo tento program robí, je majú mačku, neuveriteľne pomaly naháňať vtáka. Ale mačka má tú výhodu, že bude naprogramovaný tak, že bez ohľadu na to, kde sa vták je, že mačka ide k nemu. Môžeme hrať túto hru oveľa rýchlejšie. Takže keď som na mačky, všimnite si, že som pomocou, povedzme presunúť jeden kroky. Poďme si ho presunúť päť krokov na čas, takže päť bodov naraz. Dovoľte mi, aby som Kliknite na tlačidlo Prehrať. [LION rev] DAVID Malan: Dobre, teraz môžeme naozaj dať mačke výhodu. 10 krokov naraz. [LION rev] DAVID Malan: Dobre, takže veľmi rýchlo, to je trochu výhodu pre mačku. Ale budem mávať na ruku niektoré detaily. Ale z dôvodu, že táto cesta je začína trochu iný zakaždým je to, že robím trochu náhodnosti. Ja som vlastne ukázal na mačku iným smerom podľa toho, kde som ho chcú začať, takže zakaždým, hry alebo animácie, je trochu inak. Teraz mi dovoľte predstaviť jeden ďalšie konštrukcii tu. Takže v tomto prípade majú rovnakú funkciu. Je tu tiež bude skladačky známy ako pole, alebo zo zoznamu, , Ktorá umožňuje uložiť viac hodnoty vnútri premennej. Videli sme témy, a teraz je tu akcia. Tak tu je udalosť pomocou títo dvaja tu. A keď otvorím súbor s názvom udalosti z dnešných príkladoch budeme viď program, ktorý vyzerá trochu ako je tento. A teraz všimnúť toho chlapa - tak všimnúť mám modrý Muppet klikli - on len robí nasledujúce. On nemá jeden z tých zelená vlajka kúsky puzzle. Má keď dostanem udalosť - takže niektoré ľubovoľné slovo. Len som vyťukal akcii tu - on povie, Polo, po dobu dvoch sekúnd. Takže tí z vás, ktorí sú oboznámení sa táto hra by mohol vedieť , Kam to smeruje. Keby som teraz kliknite na oranžové Muppet, jeho program robí. Forever, ak je klávesnica medzerník potlačená, že sa chystá povedať, Marco, po dobu dvoch sekúnd na obrazovke. Ale on tiež bude používať tento milovník zablokovať známe ako vysielanie. Bude sa vysielať ponuku koniec citátu, "udalosť". Medzitým, modré chlap, odvolanie, je počúvať citátom Unquote, "akcia". Tak nejako, teraz, môžeme mať dvaja škriatkovia interakciu. A keď sa dostaneme do programovania pre web, neskôr v termíne, bude podobne ako tento byť výhodné mať svoje webové stránky niečo v reakcii na pre inštancie, kliknite na tlačidlo na klávesnici. Tak ma nechaj ísť dopredu a ťukať do medzerníku. Orange chlap hovorí Marco. Modrá chlap hovorí Polo. Ak sa mi to znova oranžová chlap hovorí: Marco, modré chlap hovorí pólo. Takže poďme si to ešte o krok ďalej. Tentoraz pôjdeme, pravdepodobne len pár minút tu. Máme - stolná lampa, poď dole. Tie sú priamo na konci. OK, môžete aj prísť. Máme stolové lampy pre každého. Tak poď. Neviem, či sa nám podarí udržať tento smiešny gag až všetky semester, hoci. Dobre, poď dole. A medzitým, máme na základe príkladov vytiahnuť, len preto, aby urýchliť veci sa tak, že sa mať prejav z iného Predchodcom vaše použitie rovnaké základné stavebné kamene. Ako sa voláte? JOHN: John. DAVID Malan: John. Rád mnou. A? Setz: Setz. DAVID Malan: Setz, rád mnou. John, ak chcete, aby sa ako prvý, to je starý Škola hrou s názvom Frogger. Môžete používať klávesnicu na to rovnako. A cieľom je dostať na druhú stranu ulice a vodu. [Frogger hudba a zvuk HRY] DAVID Malan: Je mi ľúto, nie stolná lampa pre vás dnes. Dobre, Setz, by ste chcel ísť hore? Dobre, poďme to urobiť znova. Setz: Musím použiť šípky? DAVID Malan: Len sa šípkami. Hore, dole, vľavo, vpravo. [Frogger hudba a zvuk HRY] DAVID Malan: Zavoláme im útecha ceny dnes, potom veľmi dobre. Tu pre vás oboch, Jána a Setz. Gratulujeme, v poriadku. Takže znova, pretože táto hra hrá, premýšľať o tom, čo sa deje? Po prvé, je tu zjavne veľa pohybu. Ale my sme videli, ako s mačkou a vták príklad, ako môžete ilúzie pohybu jednoduchým presunutím niektorých počet pixelov znova a znova. A ak máte blok navždy, môžete mať tieto autá robí to navždy. Máme schopnosť nejakú náhodnosť. Takže táto hra nemusí byť presne rovnaký zakaždým. Tieto protokoly, tie autá, možno začať mierne odlišné doby tak, aby sa Hra sama o sebe je oveľa zaujímavejšie s každú hru. A medzitým, čo sme videli schopnosť počúvať medzerníkom. Ale jasne, v Scratch, môžete tiež počúvať hore, dole, vľavo, vpravo, a naozaj ľubovoľnej klávesy na klávesnici. A tiež môžete urobiť nejaké iné veci. Nechaj ma ísť dopredu a späť na webovej verzie. Nechaj ma ísť do našej zbierky z príkladov tu. A pod môjho ateliéru, video, ktorá je v podstate zložka na scratch.mit.edu. Máme webovej verzie že všetky uvedené projekty. A uvidíme, či môžem dostať môj počítač spolupracovať tu. To je napísal jeden z našich priateľov na MIT, tzv Presuňte Butterfly. A akonáhle sa otvorí, je bude skutočne používať viac môjho počítača hardware. Scratch sa stane byť vykonaná s Flash. Flash môže hovoriť s vašej webovej kamery, ak máte jeden. Takže keď som sa do toho pustite a to na celú obrazovku , Tu kliknite na zelené vlajky, oznámenia že Flash je správa zabezpečenia hovorí, chceš umožňujú používať svoj webkameru? Za normálnych okolností by ste mali asi povedal Odoprieť. Ale v tomto prípade, povedzme dovoliť. Potom som ti to povedať Chrome , Aby to tiež. A teraz, za chvíľu, Vidíš ma, jo, já. A keď moja ruka ide hore - Musím sa pohnúť moja hlava v rovnakom čase. K dispozícii je tiež odrazom na obrazovke. Poď, ideme na to - sa môžete pohybovať na obrazovke, pretože tam je tiež dielikov - ach, tie vedieť, čo to je, je to preto, že aj vidieť na obrazovke projektora za mnou. Takže máme trochu nekonečný čo sa tam deje. Tak jo, budem hrať tu. Tam ideme. Takže je tu tiež kúsok puzzle, ktorý hovorí, keď vidíte pohyb pod jeden zo škriatkov, môžete si to ísť hore, dole, vľavo, vpravo a podobne. Takže máme trochu virtuálnej reality deje aj tu, všetko v rámci Obmedzuje mojom prehliadači, len tu pomocou mojej webovej kamery. Takže to, čo je potom na obzore. Prvým problémom set, ako uvidíte, alebo webové stránky pôjde on neskôr dnes večer v cs50.net, je dosť Koľko bude na dobu neurčitú. A realizovať projekt Scratch , Ktoré vás zaujímajú, hry, interakcie, niečo umelecké, a rozhodnúť, že si používať ľubovoľný počet z týchto dielikov. A to môže byť buď interaktívne týmto spôsobom. Alebo to môže byť niečo viac úmyselne vykonané rozprávať príbeh. A vskutku, to je miesto, kde skončíme off V súčasnej dobe sa jeden posledný príklad. Nechaj ma ísť do nuly na mieste. Nechaj ma ísť dopredu a otvoriť to a hrať jeden posledný program napísal jeden svojich predchodcov, a to že jeden tu. Dobrá, zvýšenie hlasitosti pre tento jeden. [Prehrávanie hudby] Rozprávač: Na ďalší CS50, David pozýva dobrovoľníka na javisku. DAVID Malan: V tejto ukážke, budeme potrebovať jedného dobrovoľníka. Chceli by ste ísť dole? Ako sa voláte? Ďalej.