SPEAKER: Jsem [neslyšitelné]. A já jsem v posledním ročníku na Leverett House. Studuji informatiku, a já jsem pro TF CS50. Jako nováček jsem neměl ani notebook nebo smartphone. Neměl jsem zkušenosti s programováním. CS50 byl nejpamátnější kurz, který Vzal jsem na Harvardu, protože to bylo boj, ale to byl opravdu zábava zápas současně. A já jsem udělal spoustu úžasné, trvalé přátelé, a naučil jsem se spoustu opravdu použitelných dovedností. Jsem tak rád, že jsem se nenechal moje Nedostatek pozadí být omluvou pro mě nebere CS50. Jsem [neslyšitelné]. Jsem senior na Leverett Dům, třída 2014. A vzal jsem CS50. DAVID Malan: Tak tohle je CS50. Toto je na konci týdne nula. A vzpomenout, kde jsme začali v poslední době, S těmito lampy, které byly tak populární, že jsme šli a koupil víc dnes. Takže myslím, že to bude naše věc v tomto roce - stolní lampy, pokud jste přišli na pódium, alespoň dokud jsme dojdou. Ale jsme použili tyto vzpomínat, zavést základy reprezentace dat. Potřebovali jsme způsob, jak začít představuje informace uvnitř počítače. A nejjednodušší způsob jak to udělat, aby byl se jedna ze složek, elektřina. A nejjednodušší, co můžete udělat s elektřina je zapnout a vypnout. Nechte proud elektronů nebo ne. A pomocí těchto dvou základních stavů, mimo a nebo nepravdivé a pravdivé, nebo nulové a jeden, jsme začali vidět, že můžeme stavět up, v tomto případě, s ohledem cibule, více čísel než jen nula a jedna. Spočítali jsme tak vysoko, jak je sedm, Například, naposledy. Ale vše, co musíte udělat, je udržet házení stále více a více žárovky u toho problém, a opravdu, můžeme reprezentovat libovolné číslo, které jsme může přát. No, my jsme přešli rychle a pak na Od středy do tohoto bytu dobrovolníků. 8 bitů je to, co obvykle nazýváme byte, takže tady jsme měli osm dobrovolníků Středa, kteří byli společně představuje osm bitů. A když se jejich ruce šel nahoru, že se jeden. A když se jejich ruce byly dole, bylo nulové. A měli jsme tyhle lidi přijít na jevišti proč? Co jsme mohli udělat s Tato sekvence bitů? Chcete-li vytvořit abecedu. Podařilo se nám vybudovat na vrcholu, že předchozí ponaučení a skutečně začít dělat zajímavější informace, které je alespoň více známe lidi. A to bude opakující se tématem v 50, ale i počítač věda obecně, tato myšlenka vrstvení, kde se na konci den, pokud jste opravdu začali Základy s počítačem, ano, to je nul a jedniček. A pod tím je to jen elektřina. Ale velmi rychle začít, aby se těm, nízká úroveň informací jako samozřejmost a začít vrstvy na vrcholu minulosti pracoval provedeno tak, že se v konečném výsledku konec semestru a, opravdu, obecněji jako počítačové odborníky a programátoři mohou udělat nějaké opravdu silné věci s využitím práce že my sami udělali a také stál na ramenou ostatních. Nyní jsme se rychle přeměnila ve středu z téměř museli představují informace, které chtějí aby s tím něco udělat. Takže to, co jsme se definovat algoritmus, jak? Sledem instrukcí. Takže je to řada instrukcí, počet kroků, které vás, lidských nebo počítač, je častější, by proveďte jednu po druhé, aby dosáhnout určitého cíle. A měli jsme hodně branek minule, z nichž jeden je počítat lidé v místnosti. A další takový příklad byl najít Mike Smith v telefonním seznamu. Takže si možná vzpomenou, že jsem vytrhl telefon kniha v polovině k tomuto účelu se hledání Mike Smith. Cílem této vizuální bylo prokázat, opět, že jsme doslova trhá tento problém poloviny, na polovinu, na polovinu, a velmi rychle, jako jít od 1.000 stran jen na jedné jediné stránce. Ti z vás, kteří chybělo na Středa, Myslel jsem, že přehrávat některé záběry z toho, co jste vynechal. Pojďme se podívat. [PŘEHRÁVÁNÍ] -Tak jdeme. 1500 stran, pěkný čistý linie, legitimní slza. [END PŘEHRÁVÁNÍ] DAVID Malan: Tak to byla středa. My přechod, i když ve středu nyní se chtějí reprezentovat algoritmy v některých poněkud standardním způsobem, a to nejen popisovat je verbálně, ale snaží se vyjádřit písemně nebo na obrazovce počítače, takže jsme mohli začnou se zlepšit a změnit je, a nakonec vlastně analyzovat, jak správně nebo jak rychle byli. Takže jsme zavedli tento pojem z pseudokódu, který v Laicky řečeno, je to, co? OK, slova. Pojďme trochu hlouběji. Anglicky, jistě, jsou ale k čemu? Slova, s nimiž vytvořit nebo reprezentovat algoritmy. Takže tam nikdo známý jazyk jako pseudokódu ve světě. Je to jen, že v angličtině nebo bez ohledu na váš mluvený jazyk je použít jakési povrchní zápisu sdělit myšlenka velmi stručně. Ale uvidíme, že určitě se Angličtina pseudokódu, a ukazuje se, většině programovacích jazyků sami je derivát angličtině sám, zjistíme, že tam je nějaký standardní způsoby, jak reprezentovat pseudocode a i programování kódu. Takže jak začnete vidět i ty nejjednodušší příklady dnes uvědomit, tito Obdobné bude opakovat příští týden. Takže pseudokódu byl nějaký jazyka připomínající programovací jazyk. A první příklad jsme viděli vizuálně napsaný to bylo jedno. To bylo jen třístupňový program cílem bylo zjistit, kolik lidí v koleji pro že video na středu. Ale tam bylo několik zajímavých aspektů tohoto nejjednodušším programu. A to bude opakující se témata. Takže pro ty, kteří jsou obeznámeni s To je, jsme zavedli proměnné. A pravděpodobně všichni v této místnosti je obeznámeni s proměnnou v kontext algebry. Ale tady v programování, proměnné jsou, jeden, může být říká, co chceme. Byli jsme s použitím n jako čítač. Ale mohli bychom použít slovo čítač, nebo jak uvidíte, téměř jakýkoli výraz, který by vás mohly zaujmout tak dlouho, jak je to popisný, ale je to opravdu jen skladový kontejner. Je to kus paměti, některé číslo bitů, a to se liší od počítače, jak počet bitů, které tam jsou, že skládat této proměnné. Ale můžeme dát hodnoty v něm. Dosud jsme jen dát čísla. Ale můžeme dát aktuální slova. Můžeme dát odstavců. Můžeme dát obrázky - nic, opravdu můžeme reprezentovat pomocí nul a jedniček, můžeme dát do Tento vyšší stupeň pojem proměnné. Takže docela rovně vpřed tam. A to je jeden řádek. Ale velmi rychle se přesunul z linka, kdo skutečně co se této proměnné. A v řadě tři, jsme aktualizovali N. My zvýšen N. A mohli bychom to napsat libovolný počet způsobů. Ale snad nejviditelnější je jen říci, nastavte N roven co je N plus 1. Tak to byl náš přírůstek. Mezitím byla smyčka. A tohle, to je pravděpodobně docela intuitivní. Smyčka je prostě něco v programu že se stane znovu a znovu, některé druh cyklu. A to klíčové fráze tu pro každého, je vlastně velmi časté ve většině programovací jazyky, včetně ty, uvidíme v průběhu. Kdykoli vidíte slovo, že obvykle vyvolává představu, že smyčky, něco cyklické, je na spadnutí. Ale stojí to za zmínku jedna jiný syntaktický detail. Skutečnost, že třetí řádek je vlastně členité mít hit Mezerník Několikrát je záměrné. Protože lidská konvence je taková, že když děláte něco, co znovu a opět, ve smyčce, jak začal na lince dvě, odsadit něco, co patřilo na tuto smyčku, aby bylo zřejmé, že je to linie tři, a ne, například, linka čtyři nebo pět, kdyby bylo linky pro nebo pět, které jsou Část, která smyček. Tak to jednoduché odsazení sděluje, že základní myšlenka. Tak jsme aplikovali algoritmus, nyní na několik příkladů. A to taky jednoduchý příklad v reálném světě. Ale to bude reprezentativní jak byste jít o testování Vlastníte stále složitější programy. Můžete vyzkoušet několik scénářů, z nichž některé zástupci vstupy, a uvidíme, jestli získat požadované výstupy. Takže tento příklad měl dva lidé sedí v pokoji na koleji. Na levé straně je to stejné pseudo kód. A to je screen shot z velmi Posledním krokem použití této algoritmus na tyto vstupy, kde byli dva lidé v místnosti, a vzpomínám, jak jsme krokovat řádky jednoho, a dva a tři, a dva a tři a hotovo - na konci tohoto algoritmu, jsme měli skutečně počítá dva chlapíci, kteří jsou v místnosti. Takže jsme pak zkoušeli jiný příklad. A my jsme řekli, co v případě, že jsou nula lidí v místnosti? Tento kód je stále platná? A opravdu to bylo. To jen tak se stane, že dva linky a tím, řádek tři nebo nebude provádět. Oni se to nestane vůbec protože jsou to prostě neplatí, pokud tam je nula lidí v místnosti. Ale není to velký problém. Řádek jedna inicializuje N na nulu, takže i když pouze jeden řádek z tohoto Program vlastně nakonec byla užitečná, to ještě dá správnou odpověď, protože indikována oranžový nule v dolní části. Ale pak jsme se rozhodli, že se druh hloupé algoritmu. Bylo to dost pomalé. Jistě, můžu udělat dvě, čtyři, šest, osm, deset, když počtu osob v místnosti. Tak jsme vylepšený algoritmus, pseudokódu, říkat, nyní v souladu dvou, pro každou dvojici osob v místnosti, pokračovat, v souladu tři, přírůstek v dvěma na každé iteraci. Tak, že by zde pracovali pro tato dvojice osob v místnosti. Ale pak, když začnete přemýšlet o tom, to, a to nebude trvat dlouho, si uvědomit, počkej to je chystá rozbít, to se zlomí v jakém jednoduchý případ? Pokud jsou tři lidé v místnosti, nebo obecněji, když je lichý počet lidí pokoj, včetně jednoho. Dovolujeme si ujít tuto osobu tady, protože nejsou tam žádné takové páry. Tak jsme rychle řešit místo zavedení, jaké další programovací konstrukty na pseudokódu. Tak stavu, se nazývá to, nebo pobočka. A to chtěl zprostředkovat vizuálně, Myšlenka pobočky, rozcestí kde si můžete buď to udělat nebo, možná, něco jiného. A skutečně jsme se tento problém řešit tím, přidáním řádku 4 tím, že říká, opravdu, na samého konce, jestliže se jedna osoba zůstává, pak jděte do toho a počítat je zvláštní. Takže si nějak zvláštní případ je, tak mluvit, takže nyní můžeme zvládnout i i počet lidí, kteří a lichý počet lidí. Nyní to jsou jen některé ze způsobů, jak mohli jsme to vyjádřil. A upřímně řečeno, mohl jsem být ještě nit vybíravý, když to přišlo k mému výběru Angličtina pro pseudokódu. Ale aspoň duch myšlenka je dopravena. Pokud jste podal tento kód příteli kdo není v CS, nebo nikdy neudělal CS, je pravděpodobné, že by mohla přijít, uvedeny tři lidi v místnosti, jak Počet těchto lidí na základě základě těchto pokynů. A to je vše opravdu chceme dosáhnout s pseudokódu, nějak standardizovat, jak na to jdeme představující nápady, takže můžeme začít dělat složitější co ještě. Tak to nás vede pak dnes, skutečné kódu. Začneme se naprogramovat dnes, i když v přátelském prostředí. A pak jsme přechod velmi rychle více tajemné syntax, ale ten, který uvidíte je v zásadě stejná jako myšlenky uvidí projevuje ten druhý jazyk dnes. Je to prostě bude vypadat trochu jiný. Takže spíše než jen volat tento kód, jsem bude o něco přesnější a říkají, dále při psaní programu, píšete zdrojový kód. Je to něco jako pseudokódu. Ale uvidíme, není to trochu volné pokud jde o výběr slov který používáte. Při programování v jazyce, máte používat slova, fráze,, syntax, že ostatní lidé se rozhodli představují že konkrétní jazyk. Takže pseudocodes je na vás. Aktuální programovací jazyk jako C, protože budeme nakonec vidět, je standardizovaný jinými lidmi. Tak jak jsme se jít o psaní nějaký zdrojový kód? No já jdu a udělej to. Chystám se jít dopředu a otevřít okno tady. Více informací o této příští týden. Ale to je s názvem zařízení CS50 spotřebiče. Běžím kus softwaru na mém Mac, když můžete udělat totéž na počítači s Windows, který dává mi iluze běží jiný operační systém zcela vpravo Zde v okně na mém Macu. Právě jsem plně stíněný to tak nemusíte skutečně vidět Mac OS právě teď. Jedná se o operační systém s názvem Linux. Je to velmi populární. Je to velmi rychle. Je to velmi volná, který dělal to velmi přesvědčivé, zejména v komerční svět. A více na to ke konci Semestr, kdy používáme Linux docela dost pro webové programování a hosting skutečné webové stránky a projekty. Takže teď, jen vím, že se jedná o desktop , který je určen vypadat mlhavě známé Windows a Mac OS. Je to jen má několik různých jmen a ikony pro věci. Ale to je tzv. CS50 zařízení, virtuální stroj, který, od příštího týdne bude vy spustit uvnitř okna na vlastní Mac nebo PC. Pro dnešek, jdu otevřít nejjednodušší programů. Říká se gedit. A to je jen grafický editor. Je to něco jako Microsoft Slovo, ale jednodušší. Je to něco jako textu upravit nebo poznámkový blok. Je to jen velmi jednoduchý program s která psát slova na obrazovce. To jen tak, co se stane, že když uložím soubory, které jsem vytvořit, kdy tento pořad ve speciálním rozšíření, jako je. c, místo toho z. doc nebo. xls, nebo cokoliv jste obeznámeni s, můžu vlastně programy využívající i tento jednoduchý textový editor. Takže dovolte mi, abych to udělal. Nech mě jít napřed a ušetřete tento soubor nejprve jako hello.c. A opět, uživatelské rozhraní seznámit se na vás rychle. Ale teď, já jsem jen psát v názvu souboru. Jdu uložit do své John Harvard domovský adresář. A teď mám tuto kartu, která označuje, Jsem opravdu úpravách soubor s názvem hello.c. Takže nic moc zajímavé, ale. A teď to bude pěkně mystický. Chystám se přiblížíte, jen takže je to více vidět. A já začnu psát zahrnovat stdio.h, int main, void, otevřený kudrnaté rovnátka, jedna, dva, tři, čtyři místa odsazení, tisk f, pro tisk něco formátování, cituji konec citátu, "Hello, world" zpětné lomítko, n, v blízkosti Nabídka, uzavřená závorka, středník, zadejte Backspace, Backspace, Backspace, backspace, uzavřená složená závorka - Naprogramoval jsem. Dobře, takže to je super jednoduchý program opravdu program, který někdo začíná s programování. A vše, co dělá, protože celé jeho složitosti, je vytisknout na obrazovka, hádejte co? Hello world. Ale to nestačí jen napsat program. Tak to je kód. Toto je zdrojový kód v jazyk s názvem c. Je uložen v současné době soubor s názvem hello.c. Nyní se podívejte na dně na obrazovce zde. Další informace o tomto znovu, nadcházejících týdnech. Ale to je to, co budeme nazývat okno terminálu. Je to bliká, černá a bílé dotaz. Je to něco jako staré školy rozhraní počítač, který obvykle není použít myš nebo jiné grafické prvky. Je to prostě používá klávesnice. A mohu psát příkazy na to bliká výzva. A pro dnešní účely, já jsem jen jít na zadejte následující - aby ahoj. A tento program, aby se, je to jen program, který, v reálném světě v těchto dnech, bychom dvakrát klikněte na. Ale v tomto rozhraní pro dnešek, jsme bude psát své jméno na tuto výzvu. ahoj, aby je doslova chystá aby mi program s názvem ahoj. A to bude dělat tak tím, že hledá pro soubor, jen tím, že Ve výchozím nastavení tzv. hello.c. Bude předpokládat, chci program v jazyce C podle povahy, jak tento počítač je nakonfigurován. Tak jsem se do toho pusťte a stiskněte klávesu Enter. Vidím nějaké mystické výstup, ale to se stane příliš seznámit zanedlouho. To se stalo spustit kompilátor více na to ve chvíli, tzv. zvonění. Ale teď mám jen další bliká výzva. A můžu jít do toho hned a zadejte tečku lomítko, za nezajímavých důvodů budeme vrátit se příští týden - ahoj. Takže všechny tyto snahy dosud jen napsat nejjednodušší programy, které, jakmile jsem Enter, to dělá. Tak jsem napsal svůj první program. Tak jsem schválně tropit žerty Tento velmi jednoduchý program, na několika důvodů. Za prvé, je to těžké se dostat nadšeni o přijetí třídy, pokud to je konec hry. Ale víc než to, že tam je Mnoho rozptýlení tady. Poprvé se naučíte programu, ty z vás, méně pohodlné, a dokonce i já, zpět v den, kdy jsem poprvé viděl něco podobného - můžete se trochu figury, že v pořádku, tohoto je v tiskové Hello World. Ale je tu tolik rozptýlení. Je toho tolik, syntaxe na obrazovce že se dostane do cesty velmi jednoduché, jinak jednoduchý, nápady. Takže, co budeme dělat dnes jsme dám stranou C a přijít zpět na které v pondělí. A budeme používat grafické programovací jazyk s názvem Scratch. Jedná se o programovací jazyk, který jsem zmiňoval ve středu, že se děje které nám umožní dělat stejný druh věcí ale přimhouřit oči, pro dnešek, do složených závorek, závorky, středníky, a všechny ty hloupé rozptýlení, které se dostanou do cesty, v to první den, na některé základní, pěkný zajímavé nápady. Takže k tomuto účelu, já jdu zpět na plochu sem a představit vám jako alternativu k, který program, který bude vypadat Něco málo světla to. To je, jak budeme realizovat, že stejný program dnes - dvě puzzle kousky, které, když propletený a kliknete, řekne světu, hello world. Takže pojďme vlastně jít tam. Takže budu pokračovat a otevřít web známý jako scratch.mit.edu. A to mě vede k tento web zde. Předem jsem přihlášen do této webové stránky a první problémy, které vás provede některé z těchto kroků. Chystám se jít dál a klepněte na tlačítko na mém poškrábání složky zde. A to se mi ukázat některé projekty, které jsem ve skutečnosti vytvořena předem. A ukázalo se, že tento grafický programovací jazyk nejen se děje aby nám program přetažením sbíráním těchto dílků, můžete nepotřebujete ani speciální software. To vše je zakotvena v prohlížeči tak, že můžete udělat to, teoreticky, na vaše počítače právě teď, jak někteří z vás může být, aniž by museli software jako CS50 spotřebiče která přijde příští týden. Takže jsem jít do horního rohu zde a klikněte na tlačítko Vytvořit. A za chvíli budu mít prázdný displej, přes který můžu začít programování v této grafické programovací prostředí. Ale tentokrát to bude mnohem, mnohem jednodušší, aby skutečně učinit. Takže za chvíli, kdy Wi-Fi spolupracuje, nyní máme tuto obrazovku. Tak rychle slovní turné, ale troufám si říci, jistě, když se ponoříte do Prvním problémem set, budete toto všechno velmi dostupné a poměrně intuitivní. Ale pojďme malovat mentální obraz jen na chvíli. Tak pod tuto výzvu říká uložení změny, jste asi vidět poškrábání. Jedná se objekt sprite spustil. Je to postava. A žije na tom, co budeme říkat jeviště, tento velký bílý obdélník na které se mohou pohybovat nahoru, dolů, vlevo, pravdu, a to, opravdu, Jiné druhy akcí. Mezitím, v polovině tohoto uživatele rozhraní, máme spoustu skládačky. A uvidíte, že říkají věci jako pohybovat deset kroků, otočil 15 stupňů, bod v určitém směru. Ale je tu kategorie bloky až zde. Takže když jdu na vzhled, uvidíte, že je tu další kousky skládačky, které zřejmě bude vyprávět tento cit pro pozdravit, přemýšlet, ukázat sám schovat. Kdybych šel do Sounds, to dopadá je tu způsob, jak přehrávat zvuky jako mňau, zastavit všechny zvuky, hrát buben. Tak dlouhý příběh krátký, je tu celá banda dílků, které vám dovolují sdělit tuto kočku, nebo libovolný počet jiné charaktery, co má dělat. Ale aby se to všechno stalo vám je třeba začít s programováním. A to velký bílý box, nebo šedá krabice, na na pravé straně, to je místo, kde Chystám se skutečně přetáhnout pokles těchto dílků. To je můj prázdný textu okno ekvivalent. Takže budu pokračovat a klepněte na tlačítko Řízení ve středu. Nebo spíš, dovolte mi začít až do akce. V rámci akce lavici, zjistíte, pár věcí, které jsou záměrně zakřivený na vrcholu tak, že pravděpodobně nemají Interlock na horní části skládačky. A to proto, že Demark začátek programu, start scénář, abych tak řekl. Takže když jsem se do toho pusťte a táhněte, když zelená vlajka kliknete sem, a pak jsem aby tato kočka říci, něco, co na první pohled. Takže jsem jít pod vypadá panel. A já jdu do toho a chytit pozdravit blok a přetáhněte a umístěte, a pustit tak, aby se automaticky blokuje tam. A pak jsem si všimnout, klikněte na text. A mohu přepsat, aby to bylo více specifické jako, řekněme, hello world. A teď tu máme program, který jsem žádat odpovídá, že mnohem více tajemný Program jsem implementoval v C před chvílí. Když jdu pryč na levé straně, Všimněte si, že je to velká stopka a velká zelená vlajka. Dovolte mi přiblížit pro přehlednost. A když jsem se teď na tuto zelenou vlajku, asi tušíte, co to jako první Program je nyní dělat. Takže tam taky, my programování, ale nejsme ve skutečnosti dostat zapadl v některých z těch, syntaktické, drobné detaily. Ale pojďme zkusit něco trochu zajímavější. Nech mě jít do mé složky Scratch zde. A vlastně mi dovolte, abych tak ať mi otevřou samostatný program zde jen moment, maximalizovat okno, Soubor Otevřít, a já jdu do dnešní zdrojový adresář. Jako vždy, zjistíte, dnes a kupředu, že všechny dnešní příkladů jsou k dispozici uvnitř Kurz web. A budu pokračovat tady a vybrat se trochu něco jiného. Tenhle, pro které Potřebuji dobrovolníka. Kdo by rád lampu dnes? OK, jak se o někom něco - jste na konci? Pojď dolů. Nyní byste se rádi zúčastnili, nebo jen říct, začít s lampou? VANESSA: [neslyšitelné]. DAVID Malan: OK. Výborný, co jste jméno? Vanessa? David. Rád Vás vidím. Tak pojď nahoru a Vanessa se děje vzít kontrolu nad svým klávesnice jen na chvíli. A to, co jsem udělal tu jen pro čas je saké, když jsem si uvědomil, Wi-Fi je trochu pomalý, Scratch, programování prostředí, které jsme použití, lze také stáhnout a spustit na vašem počítači. Takže to, co jsem udělal před přednáškou, v případ, že se stane, je, že jsem stáhnout všechny soubory se chystáte hrát takže může běžet o něco více rychle přímo zde na mém notebooku. Takže to je důvod, proč teď jsem viděl Mac specifické rozhraní. Takže budu pokračovat a otevřít tenhle. Chystám se jít dopředu a teď na celé obrazovce okno. A jak uvidíte, můžeme velmi rychle, jak to bylo studentů, jeden z vaši předchůdci, jít od Hello World k mnohem přesvědčivější aplikace. Tak tady je návod. Jo, a máme jednu věc. Myslel jsem, že to bude zábava, protože, normálně, budeme natáčet kamery tímto způsobem. Myslel jsem, že by bylo zábavné, pokud Vanessa, jsme mohli vidět svět vašima očima. Tak tady máme nějaké Google Glass. [Užaslý vzdechy] DAVID Malan: Budeme jen dávat daleko stolní lampy dnes. [Smích] Takže mi dovolte narážka to. Dobře, takže to dotknout. OK, sklo, nahrávat video. Dobře, Vanessa? Teď, když stranou, která nemá nic společného co do činění s Scratch, když se podíváte mírně nahoru a vpravo, uvidíte doslovný sklo, a vy byste měli viz trochu obdélníkové okno. Měli byste vidět všechny své spolužáky natáčí právě teď? Ano. VANESSA: Ano. DAVID Malan: OK. Tak to je v pořádku. Budeme uvolňovat tyto záběry později. Pro tuto chvíli, obrátit vaši pozornost na obrazovku zde. A co váš předchůdce udělal je dát nějaké pokyny na obrazovce jen pomocí programu pro malování. Takže budete, v okamžiku, stisknutím mezerníku začnou. A pak některé dílky jdou do pohybu po obrazovce nahoru. A chcete trefit šipkami, jen jako v reálném DDR, v souladu se věci seřazovat s těmito šipkami. VANESSA: OK. DAVID Malan: jsi hrát předtím. VANESSA: Jo. DAVID Malan: Dobře, Vanessa, jděte do toho a vzít to pryč. [MUSIC - Kayne West, "silnější"] [APPLAUSE] DAVID Malan: Tak pojďme teď krok od toho. Tak jasně, to je konec hry. Na konci hry není hello world. Ale nemusíte nutně dělat věci, které jsou tak interaktivní. Můžete si také udělat animaci. Tak například, další z tvých nástupci z tohoto programu zde který vypráví příběh více než to implementovali hru. Tak mě nech jít dopředu a otevřít zde Program v našem stejném adresáři se zdrojovými kódy od dnešního dne. Tenhle hovor a začněme s, cookie milostný příběh. A ne, aby to příliš akademické, ale jak se budete dívat tohle, myslím, že se sami sebe, které z jednoduchých Programovací pojmy Mluvili jsme o dosud - proměnné a smyčky, a podmínky, Váš předchůdce se pravděpodobně používat jen k provádění některých vizualizací. Vidíte zde. Tak jsem vám cookie milostný příběh. [MUSIC - GREEN DAY, "HOLIDAY"] [CRASH] [MUSIC - želvy, "Happy Together"] DAVID Malan: Dobře, takže tam, jsme měli cookie milostný příběh. Ale i tam - [APPLAUSE] DAVID Malan: Tak jo, i tam, přemýšlet o tom, jak ty šla od srdce spodní do horní části obrazovky, tam byl vlastně trochu náhodnost děje. A skutečně, uvidíme, že ani v Nejjednodušší z prostředí, jako je Scratch, jak v C, můžete vygenerovat náhodná čísla, nebo iluze náhodná čísla, takže je hra trochu zajímavější, než by to mohlo bylo, kdyby jste měli absolutně pevný kódované všechno. V hnutí, které vidíte, jsou tam je nějaký druh reakce. Jakmile perník muž se dotýká perník žena, ona Zdá se, že odejít. A tak, ve skutečnosti, můžete provádět ve většině programovacích jazyků, pojem událostí, přičemž je-li jedna ruka se dotýká Na druhé straně, to může vyvolat některé ze zdrojového kódu skutečně vykonat. Můžete poslouchat jako věci na obrazovce. Takže pojďme si rychlou prohlídku, pak, některé ze stavebních kamenů, které můžeme použít k dosažení některých z těchto cílů. Tak tady je to, co budeme od nynějška zavolejte prohlášení. Prohlášení se stane být fialové Scratch, trochu něco takového, ale to je subjektivní. Příkaz je jen kousek puzzle, nebo obecněji, instrukce, která říká počítači dělat něco, prohlášení. Tak tady je to jednoduchý vzorek. Say hello world. Dalším z nich by mohl být počkejte jednu sekundu. Takže tento kousek skládačky, který je podporován V Scratch, necháme váš znaky pauzy pro některé počet sekund. I to je jen konstatování. Zde další máme další více zajímavý, přehrávat zvuk mňau, a malá šipka znamená, že Scratch, to je rozbalovací menu. Takže můžete importovat zvuky. Můžete nahrávat zvuky a dělat jiné zábavné věci na začátku. A to, že i když se na konci dne, je to jen konstatování. Ale teď pojďme představit více Zajímavou, že známý jako Logický výraz. Kapitál B, pojmenoval chlapík jménem Bool. A Logický výraz je jen skládačky, nebo obecněji, informace, která je buď true nebo false - jedna nebo nula, ano nebo ne. Takže je to jen jeden z těch, dva protiklady. Takže jeden takový logický výraz v Svět Scratch vypadá takto modrá skládačky. A to se ptá na otázku, myš dolů, a která může být, z Samozřejmě, true nebo false. Tak s tímto puzzle v Scratch, dobře, budete moci zjistit, zda jsou puzzle, pokud je myš, ve skutečnosti, že podržení lidskou interakce s programem. Tohle je trochu abstraktní, ale ty dvě bílé krabičky jsou jen pro čísla. Takže si můžete dělat věci, jako je tato číslo menší než ostatní? A pokud ano, bude Scratch chovat jedna cesta nebo jiný. Tohle je trochu grafický. Je-li objekt sprite, je-li kočka, pro instance, je ve skutečnosti dotýká ukazatel myši. Takže pokud něco šipka hlava se vznáší na kočky, pak tento skládačky vyhodnotí na true. Bude to pravda, v tom případě, pokud jste použít tento logický výraz, protože my budeme vidět ve chvíli, na pobočce, můžete Buď to, nebo si můžete udělat to, stejně jako jsme měli podmínku, že kontrolována, je tu ještě jeden poslední člověk v místnosti? Pokud ano, přidat. Jinak, nebojte se dál. Takže Logický výraz může být také a-ed společně nebo nebo-ed dohromady. Takže můžete kombinovat booleovských výrazů a říkat to a to musí být pravda pro Celá věc je to pravda. A tady je více reálný svět příkladem. Pokud jste použili CS50 kurzy udělat kurz nakupování, tato zaškrtávací políčka tam, kde pokud si zkontrolujte, zda políčko vedle do kurzů, bude to říkat, ano, zobrazit pouze mi kurzy, které hodnota Q je 4,5 nebo vyšší. Pokud nepotvrdíte, ne, ne starosti. Nebo podobně, na práva, nemusí Konflikt s kurzy beru, to je buď true nebo false. Je to jen logický výraz. Takže celou tu dobu, kdy jste používali webové stránky s zaškrtávacích políček, jsi jen přepínání ekvivalent Boolean Výraz zapnutí a vypnutí. Takže v jaké formě se používá tohle? No, Scratch, uvidíme za chvíli že existují podmínky, že vypadat takto. A to je docela rozumné, protože mnoho jako v pseudokódu, se odsazený druh tvaru U dílků, střední že něco uvnitř, že u je bude provádět, nebo ne, záleží na tom, kde je. Takže pokud logický výraz, pak co je uvnitř dostane popraven. Mezitím tam if / else bloku. Takže pokud chcete, větev, která jde to Tak nebo tak, že Scratch dává nám to. A této logiky, nyní, i přesto, že skládačky je zjevně příliš malá k zaklínění něco uvnitř ní, kousky puzzle poškrábání, jsou jen poroste. Když přetáhnete nad něčím, to bude jen růst, aby se vešly bez ohledu na to se snažíte dělat. Takže můžeme vzít dvě z těchto věcí a aby se třícestný rozcestí tak že buď to, či ono, čili ta druhá věc, jen tím, že jim hnízdění tímto způsobem. Samozřejmě, pokud si to udělat taky moc, to začíná být ošklivé. Ale v tomto okamžiku, že jste ve skutečnosti pravděpodobně ne programování velmi dobře. A tak, že bude opakující téma také, že z módy. To, jak dobře se vlastně formátování kódu? Nebo, jak dobře si navrhnout svůj kód? Ale o tom více v budoucnu. A teď máme smyčky. Je to pěkná navždy smyčka Scratch což doslova znamená, že - do co je uvnitř to ještě jednou, a znovu a znovu. Můžete být konkrétnější a říci, Proveďte následující věc 10 krát. Můžete také použít proměnné. Můžete přijít s nějakým jménem v tom trochu klesnout a řekl, dej mi proměnné s názvem n a nastavte je rovna nějaké hodnoty. A pak můžete mít funkce. Ale o těch za chvíli. Dovolte mi vrátit se k mému Scratch rozhraní. A dovolte mi, abych do toho tentokrát. A pojďme dál a otevřít, řekněme, příklad z - že je to trochu zajímavější. Nech mě jít napřed, a ve skutečnosti, dovolte mi, aby to sám. Nepotřebuji, aby toto. Nech mě jít do Soubor, Nový. Chystám se jít do akce. Chystám se jít, když zelenou vlajkou klikli a já jdu na zvuk. A budu přetahovat to skládačky, přehrávat zvuk mňau. To západky k sobě. A teď, když jsem klepněte na zelenou vlajku - [MEOW SOUND] DAVID Malan: Rozkošný. OK, takže teď pojďme udělat něco trochu logičtější jen prokázat, že můžeme pro tuto chvíli. Chystám se uvolněte to z toho chlapa. Chystám se jít na kontrolu. A já jdu chytit podmínku. Takže pokud se něco poté. Tak to je, jak to tam vypadá. Tak jsem třeba logický výraz. A nech mě jít napřed a řekl: nech mě jít na provozovatele. Chystám se udělat něco mírně Mathy, jen tak pro legraci. Chystám se jít sem a říci, je-li něco, co je menší než něco jiného, jděte do toho a něco udělat. Takže teď, víte co, náhodný blok. Tak zjistíte, jak kdybych vznášet se nad to věc tady, že budou chytat tam. Takže teď, oznámení, začínám dělat něco, co již logičtěji zajímavé. Je-li náhodné číslo mezi 1 a 10 je nižší než, řekněme, šest. Mám-li si vybrat šest, které v podstatě znamená, proveďte následující kroky s 50% pravděpodobnost. Je to jako hodit mincí. Teď můžu něco udělat podmíněně. A to je něco, co budu udělat, je hrát zvuk. Takže teď, když jsem klikněte na obrazovku vlajka, je to jako házet mincí. [MEOW SOUND] DAVID Malan: Bylo hlavy nebo kdo ví co ještě tam. Udělejme to znovu. [MEOW SOUND] DAVID Malan: Heads znovu. [MEOW SOUND] DAVID Malan: Heads znovu. Uf, OK. Tails, že čas. Tak 50% času, pokud se to nekonečně dlouho, dostaneme 50% meows a 50% mlčení. Takže tam, jen základní stavební blok, který nám umožňuje dělat. Ale to je trochu nudné, že mám aby kliknutím na toto tlačítko. Takže pojďme se jen drag and hodit všechny z nich pryč. Pokud se odtáhl je do středu, budou jen odstranit sami. Nech mě jít až na ovládání. Nech mě jít navždy. A tentokrát jdu dělat něco minorly nepříjemné. [Smích] DAVID Malan: A nech mě jít a udělej kontrolu. Počkejte jednu vteřinu, jen tak to není příliš rošt. [MEOW SOUND] DAVID Malan: To není přirozené. OK. [MEOW SOUND] DAVID Malan: A upozornění Co je, pěkné o Scratch, pro ty z vás, kteří mít předchozí programovací zkušenosti, můžete Nemusíte spustit a zastavit. Nemusíte kompilace. Stačí změnit, a program se přizpůsobí dynamicky. Tak to už je málo zajímavé. Ale pojďme ještě o krok dál. Nech mě jít dopředu a dostat zbavit tohoto programu. [MEOW SOUND] DAVID Malan: To je to, co budeme zavolejte chybu v začátku. Neměl by udržet dělat ten zvuk. Tak jsme si řeknu mu, ať přestane. Dobře, takže teď jsem jít do - Dám vědět MIT. Půjdeme sem Forever. A teď chci něco udělat znovu a znovu. Chystám se jít do řízení. A podívejme se, budu přetahovat můj stav, pokud existuje. Takže teď si všimněte logiku. Po klepnutí na zelenou vlajkou, dělat něco, co navždy, ale pouze to, že co když ta druhá věc je pravda. Chystám se jít, pojďme říci, snímání. A já jdu do toho a vyberte dojemné a umístěte jej tam. To je logický výraz. A teď, všimněte si, v tomto poklesu down menu, jsou některé předem definované hodnoty. Takže můžu říct, jste dotýká okraj obrazovky? Nebo jste se dotknete myši, šipka na obrazovce? Takže jdu na to. A pokud ano, pak jsem jít dopředu a přehrávat zvukové mňau. Takže teď jsem tak trochu mají Počátky hry - rozkošný hra. [MEOW SOUND] DAVID Malan: OK, rozkošný, buggy hra. Nech mě čekat, řekněme, jedna sekunda tam. Teď hrát znovu, kliknutím na zelenou vlajkou. [MEOW SOUND] DAVID Malan: Tak teď už je jako hlazení kočky. [MEOW SOUND] DAVID Malan: Dobře, teď to kdo jsem, aby předem. Velmi pozdě, dostane druh snadné dělat hloupé věci. Tak mě nech jít sem. Řekněme, že se hýčkat kočku. Pojďme nyní otevřít Nepoužívejte Zvířata Cat. Teď, když budeme hrát tohle, můžete hádat, pokud jste při pohledu na obrazovku - [MEOW SOUND] DAVID Malan: Teď, když jsem se hýčkat kočku [LION řev] DAVID Malan: Takže nejsou ve skutečnosti hýčkat kočku v tomto případě. Takže teď máme jen příklad větev, co se děje ve dvou směrech. Nyní mi dovolte pokračovat a otevřít jiný tady. Tento jeden, i mimo náš zdroj soubory kódu pro daný den. Tak nech mě jít zpátky do svého zdroje adresář a jít do, pojďme vybrat ten chlap tady a vidět to, co je. Wow, v pořádku, takže teď je to čím dál trochu složitější. A předtím, než jsme viděli, co ten chlap dělá, Pokusme se odvodit, z programu na pravé straně. A teď poškrábání jasně nám umožňuje mají více skriptů, více programy spojené s jedním skřítka, se v jednom znaku, a zdá se, oni oba poběží jeden muž. Vzhledem k tomu, a to jak z těchto programů se spustí se kdy zelená vlajka kliknutí, je to naznačuje v pokročilejší téma, s které někteří z vás možná znát, známý jako závitů, nebo multi-threading. Ukázalo se, že dlouhý příběh krátký, počítače dnes může v podstatě dělat více věci najednou. Nebo si můžete udělat jednu věc najednou, takže rychle, že si ani nevšimnete, že je to vlastně jedním věc najednou. Ale teď, předpokládejme, že oba Tyto programy budou provádět v ve stejnou dobu. A oznámení, oba z nich mají navždy skládačky. Takže oni oba bude běžet dál až jsem narazila na červenou stopku. Takže to, co chtějí dělat? Na levé straně, já jsem zřejmě deklarování proměnné s názvem ztlumen. Takže jsem neměl říkat něco jako nuda jako N. jsem to nazval ztlumen to čas sdělit smysl. Nastavil jsem to rovna nule. Pojďme si o tom myslíte jako False, nebo pojďme si o tom jako False. Nyní navždy proveďte následující kroky. Je-li klávesnice v mezerníkem je stisknuto pak v případě, tlumené roven nule, změňte ztlumen na rovné jedné. Jinak nastavit ztlumen na nulu. Takže logicky, i když to je úplně banda dílků, které se nachází v Jen říkám, když jsem narazila na mezerník, Co mám dělat, aby se proměnná volal ztlumen? Změna z jedné na nulu, nebo nula až jedna. To je vše. Takže je to jako když se vypínač zapnutí nebo vypnutí a pamatovat si, s proměnné, které jsem udělal. Mezitím, na pravé straně, v Laicky řečeno, jaký je účel Skript na pravé straně? STUDENT: Chcete-li přehrát zvuk lachtan. DAVID Malan: Chcete-li přehrát zvuk Sea Lion, když není ztlumen, a Povaha této proměnné. Takže jsme sdílení stát, abych tak řekl, sdílení informací mezi těmito dvěma skripty, protože zjistíte zde jsme navždy následujícího postupu. Je-li ztlumen je nula, takže pokud to není ztlumen - li ztlumen je false, pak se hra to lachtan zvuk. A myslet na sebe, hi, hi, hi, pro dvě sekundy, chvíli počkejte a pak znovu zkontrolujte. Takže pokud teď půjdeme sem na levé straně, kde je ten chlap, a stiskněte zelená vlajka, [SEA LION SOUND] DAVID Malan: V jakém okamžiku se to opravdu otravné? Vzhledem k tomu, bude to trvat věčně. Takže někdy, nekonečné smyčky, abych tak řekl, jsou úmyslné. Ale v tomto případě, jakmile jsem narazí na mezerník, on se zastaví. Nyní se program neukončí. Je to stále běží v těchto smyček. Ale když jsem si mezerníku znovu - [SEA LION SOUND] DAVID Malan: Bude se vybírat tam, kde on skončil. Takže je tam jeden způsob, jak nám to něco znovu a znovu, ale že čas, jen podmíněně. No, když už jsme v tomto duchu, jak dělat věci znovu a znovu, dovolte mi, abych jít do jiného takového příklad. Tenhle zavoláme počítání oveček. A všimněte si, co ten chlap dělá. Je to vlastně něco jako pseudokódu jsme hráli s na Středa, čímž se nastaví nějaký čítač, myslet na to, jak je N znovu, nula, se provede následující navždy. Říká pultu je hodnota pro jeden Za druhé, čeká druhé, a potom mění čítače o jedničku. A v této souvislosti, že právě znamená to krocích. Takže jeden přidá k ní. Tak tohle je doslova - že to není přesně to, co si myslíme, že jako počítání oveček. Je to ovce dělá počítání, navždy, a to až od nuly. Takže můžeme dělat podobné věci tam, logicky. Ale teď pojďme se snaží vyčistit některé z těchto věcí se. Nech mě jít napřed se do jednoduché Příkladem, kdy naše kočka se právě chystá začít kašlat. Dobře, takže tady máme kašel 0 - počítačoví odborníci začít počítání od 0. Tak tato kočka je jen tak kašlat třikrát. A tady je návod, jak jsem implementoval, že. Po klepnutí zelená vlajka, kašel, počkejte, kašel, počkat, kašel, počkejte. A já jsem to pouhým přetažením a přetažením dílků. Nebo když začnete vrtat Scratch, uvidíte, můžete skutečně duplicitní kousky, takže si můžete udělat věci rychleji bez přetahování a klesá reklamní nauseum. Ale my nejsme na nejlepší cestě sem. Vzhledem k tomu, jak mám udělat ho kašel počtvrté? No, mohl bych nějak jít sem. Mohl bych duplikovat a pak vložit to tam. Jak mohu ho kašlat popáté? No, zkopírujte a vložte znovu. Nebo přetáhněte kapka znovu. A velmi rychle, tento program spustí se opravdu, ale opravdu zbytečné, opravdu dlouho, ale opravdu nezajímavé. Ale je tu způsob, jak vyčistit to. Jaký je zřejmý způsob, K čištění se děje? OK, takže jsme mohli ve skutečnosti opravdu jít ven, a když narazí na prostor bar, nechat ho kašlat. Ale pokud chci něco udělat opakovaně, připomínají, že máme určitou kontrolu konstruuje. Dovolte mi, abych přesunout z cesta, jít pod kontrolu. Dovolte mi to opakovat, řekněme třikrát. A teď mi dovolte ukrást některé z těchto dílků. Dovolte mi, abych snap to tady. Nech mě vyhodit úplně. A teď mám lepší navržený program. Proč? Chci-li změnit počet opakování tato kočka kašle, vše, co mám udělat, je změnit jednu proměnnou, nebo jedna hodnota, spíše ze tří na čtyři, nebo pět, nebo šest. Nebo bych mohl něco udělat s výhradami, i, s prostorem bar, kdybych chtěl. Tak to je obecný princip. Jakmile začnete kopírování a vkládání kódu, ať už je to v scratch, případně ve C, děláte něco špatně, s největší pravděpodobností. Nebo alespoň, jakmile jste překročení některé přiměřené počty kopií a pasty, jste pravděpodobně něco nesprávného. Ale víte co? Já to opravdu takhle. To není nejčistší provedení. Přál bych si tam byl kousek puzzle s názvem kašel, protože pak bych to neudělal mít k provedení tohoto sám, postaru, podle co říkají, a čekat - co kdyby byli jen kašel skládačky. No, můžu vlastně dělat, že. Nech mě jít do více bloků, klepněte na tlačítko Proveďte blok, a teď jsem si to okno zde. Budu volat tuto věc kašel. Chystám se jít dál a klepněte na tlačítko OK. A nyní oznámení, mám nový počáteční kus, který je zakřivený na vrcholu. A co budu dělat s tím, že jsem bude krást těchto bloků. Chystám se dát je sem. A teď, s těmito třemi kousky, jsem realizován co budu volat funkce, nebo postup, nebo některé z možná víte, jako metody. Nepatrné rozdíly mezi slovy. Ale teď, řekněme, nazývají funkce. To je jen nový kousek skládačky. Nyní je prováděna takto. Ale zjistíte, že Scratch nám dal fyzické reprezentace, která celý blokovat sem. Takže teď můžu jen přetáhnout sem, říci, opakujte třikrát, a co se stane teď, když hraju Tento skript je pouze jeden program běží najednou. Je tu jen jeden, když zelená vlajka klikli. Ale to fialový blok nazvaný kašel účinně vyprávění Scratch, každý když vidíte, že kousek skládačky, ve skutečnosti provedení těchto kroků, které jsem stát provádět ručně. Tak to je docela elegantní. Ale teď, předpokládám, že jsem se rozhodl, já ne Chcete tuto kočku jen kašel. Chci, aby bylo možné kýchat stejně. No, jak bychom mohli jít o provádění kýchnout? Tak jsem mohl docela hodně to samé. Mohl bych udělat další blok. Mohl bych zavolat tuto kýchnutí, klepněte na tlačítko OK. Pak tady jsem mohl skutečně se, nech mě to duplicitní - a tam, kde byste měli pocit, že jste asi není něco v nejlepší způsob. Mohl bych říct něco jako: achoo, na jednu sekundu. Počkejte chvilku. Teď mám nový blok s názvem kýchnutí. A skutečně, tady to je. Ale i to by se měl začít cítit - možná ne první týden třídy, ale podle druhé - jen trochu nadbytečné. Je zřejmé, že tam je nějaký redundance zde. Takže mi dovolte navrhnout, namísto toho, že se zdokonalení této definice následovně. Nech mě jít k mému souboru menu. Nebudu uložit tuto verzi. Chystám se jít do jednoho z moje premade soubory zde. A já jdu do toho a otevřít kašel 2. Jejda, že je kašel 2. Nech mě jít dopředu a otevřít kašel 3, který je tento zdrojový adresář. Kašel 3 a všimněte si - ach, řekl jsem Příběh v nesprávném pořadí. Dovolte mi, abych zotavit se z tohoto příběhu. Příběh, který jsem chtěl říct, končí s kašlem 4 - tady to je. Tak co kdybych místo toho, definovat větší kus puzzle s názvem definovat, řekněte slovo n krát. Kýchání je jen, zdá se, V Scratch, achoo. Tak jsme to vyjádřit jako slovo, jen proto, že to je omezení programu. A kašel je [kašel], ale kašel, C-O-U-G-H. Tak to je jen dva různá slova tím, v podstatě, totéž. Tak jsem si skutečně vydělat nový blok takhle. Nechtěl jsem použít tuto možnost nabídky dříve. Ale když klepněte na tlačítko Vytvořit blok, si můžete vybrat několik možností. A můžete říci, že tento blok ve skutečnosti trvá několik vstupů, jinak známý jako parametr nebo parametry, tak že můžete změnit chování váš dům. Takže to, co jsem před chvílí byla Volal jsem tento blok Say. A pak jsem si řekl, že se string input. A teď nevšiml, ve výchozím nastavení, se říká, že řetězec 1. Řetězec je jen slovo, nebo fráze, pro naše účely. Ale já jsem prostě jít dát nějaký zástupný text tam, stejně jako v webové stránky, když vidíte, uživatelské jméno, nebo heslo a pak to zmizí, jakmile začnete psát. To je vše, co je. A teď jdu přidat číslo vstup. A budu to nazývat n - ale to je dost subjektivní. A pak už jen nálepka, jen aby tento blok trochu více do sebe Důvodová - krát, to je to, co jsem právě udělal. A konečný výsledek je, že jsem si blok, který vypadá takto. A teď nevšiml, jsem pomocí opakování bloku. Ale spíše než tvrdé kódování tři, já jsem přetažením n tam, tak jsem můžete nastavit parametry funkce. Můžu tuto funkci dělat něco jiný počet, kolikrát na základě tato hodnota. A všimněte si, řekněme, to je to, co jsem udělal tady, když jsem přetáhnout slovo, mohu říci ne pevně dané slovo, ale co je předán na dobu jedné sekundy. Mezitím, jak jsem si znovu implementovat kašel? Já místo toho definovat jako kašel říká kašel n-krát. Takže ve zkratce, já jdu přes to rychle, ale základní myšlenka je, jakmile jak začnete vidět ve svém programu že, počkej, co jsem udělal něco takového, jako dříve, mohu vytknout některé společné funkčnost? Mohu se rozkládají, co dělám do některých základních pojmů? To je to, co tu děláme. A já jsem stohovat tyto věci, vizuálně, nad sebou protože je to dokladem toho, že myšlenka počínaje binární, jít do ASCII, dělat grafické programy, druh vrstvení stále složitější myšlenky na nad sebou. Stejná myšlenka tady. Začal jsem od nuly, provádění kašel, pak si uvědomil, kašel je opravdu jen něco říká. Takže dovolte mi, abych místo toho zavést pojem něco říká. A navíc to, že mohu implementovat achoo, nebo kašel? A mohli bychom udělat víc jako varianty stále. Takže z tohoto základního principu, můžeme začít dělat stále složitějších programů. Dovolte mi otevřít tenhle. Můžeme skutečně mít více skřítky interakce na obrazovce najednou. Když jdu do svého zdrojového adresáře a urvat jeden volal témata, připomenout, že závit je jen opravdu schopnost dvou skriptů souběh straně současně. Všimněte si nyní, jak se pták sprite a kočka skřítek, z nichž oba mají vlastní skripty. Takže upozornění, když kliknu kočka, jsem si tyto skripty. Když kliknu na ptáka, Mám tyto skripty. Takže každý z těchto kluků má jeho vlastní programy. Když jsem se na zelenou vlajku, všimněte si, že to, co tento program dělá, je mají kočku, neuvěřitelně pomalu honit ptáka. Ale kočka má tu výhodu, že bude naprogramován tak, že bez ohledu na to, kde se pták je, že kočka jde k němu. Můžeme hrát tuto hru mnohem rychleji. Takže když jsem na kočky, všimněte si, že jsem pomocí, řekněme přesunout jeden kroky. Pojďme si ho přesunout pět kroků na čas, takže pět bodů najednou. Dovolte mi, abych Klepněte na tlačítko Přehrát. [LION řev] DAVID Malan: Dobře, teď můžeme opravdu dát kočce výhodu. 10 kroků najednou. [LION řev] DAVID Malan: Dobře, takže velmi rychle, to je trochu výhodu pro kočku. Ale budu mávat na ruku některé detaily. Ale z důvodu, že tato cesta je začíná trochu jiný pokaždé je to, že dělám trochu náhodnosti. Já jsem vlastně ukázal na kočku jiným směrem podle toho, kde jsem ho chtějí začít, takže pokaždé, hry nebo animace, je trochu jinak. Nyní mi dovolte představit jeden další konstrukci zde. Takže v tomto případě mají stejnou funkci. Je tu také bude skládačky známý jako pole, nebo ze seznamu, , která umožňuje uložit více hodnoty uvnitř proměnné. Viděli jsme témata, a nyní je tu akce. Tak tady je událost pomocí tihle dva tady. A když otevřu soubor s názvem události z dnešních příkladech budeme viz program, který vypadá trochu jako je tento. A teď všimnout toho chlapa - tak všimnout mám modrý Muppet klikli - on jen dělá následující. On nemá jeden z těch zelená vlajka kousky puzzle. Má když obdržím událost - takže některé libovolné slovo. Jen jsem vyťukal akci zde - on řekne, Polo, po dobu dvou sekund. Takže ti z vás, kteří jsou obeznámeni se tato hra by mohl vědět , kam to směřuje. Kdybych nyní klikněte na oranžové Muppet, jeho program dělá. Forever, pokud je klávesnice mezerník potlačena, že se chystá říct, Marco, po dobu dvou sekund na obrazovce. Ale on také bude používat tento milovník zablokovat známé jako vysílání. Bude se vysílat nabídku konec citátu, "událost". Mezitím, modré chlap, odvolání, je poslouchat citátem unquote, "akce". Tak nějak, teď, můžeme mít dva skřítci interakci. A když se dostaneme do programování pro web, později v termínu, bude podobně jako tento být výhodné mít své webové stránky něco v reakci na pro instance, klepněte na tlačítko na klávesnici. Tak mě nech jít dopředu a ťukat do mezerníku. Orange chlap říká Marco. Modrá chlap říká Polo. Pokud se mi to znova oranžová chlap říká: Marco, modré chlap říká pólo. Takže pojďme si to ještě o krok dále. Tentokrát půjdeme, pravděpodobně jen pár minut zde. Máme - stolní lampa, pojď dolů. Ty jsou přímo na konci. OK, můžete i přijít. Máme stolní lampy pro každého. Tak pojď. Nevím, jestli se nám podaří udržet tento směšný gag až všechny semestr, ačkoli. Dobře, pojď dolů. A mezitím, máme na základě příkladů vytáhnout, jen proto, aby urychlit věci se tak, že se mít projev z jiného Předchůdcem vaše použití stejné základní stavební kameny. Jak se jmenujete? JOHN: John. DAVID Malan: John. Rád mnou. A? Setz: Setz. DAVID Malan: Setz, rád mnou. John, pokud chcete, aby se jako první, to je starý Škola hrou s názvem Frogger. Můžete používat klávesnici na to stejně. A cílem je dostat na druhou stranu ulice a vodu. [FROGGER hudba a zvuk HRY] DAVID Malan: Je mi líto, ne stolní lampa pro vás dnes. Dobře, Setz, byste chtěl jít nahoru? Dobře, pojďme to udělat znovu. Setz: Musím použít šipky? DAVID Malan: Jen se šipkami. Nahoru, dolů, vlevo, vpravo. [FROGGER hudba a zvuk HRY] DAVID Malan: Zavoláme jim útěcha ceny dnes, pak velmi dobře. Zde pro vás oba, Jana a Setz. Gratulujeme, v pořádku. Takže znovu, protože tato hra hraje, přemýšlet o tom, co se děje? Za prvé, je tu zjevně hodně pohybu. Ale my jsme viděli, jak s kočkou a pták příklad, jak můžete iluze pohybu pouhým přesunutím některých počet pixelů znovu a znovu. A pokud máte blok navždy, můžete mít tyto auta dělá to navždy. Máme schopnost nějakou náhodnost. Takže tato hra nemusí být přesně stejný pokaždé. Tyto protokoly, ty auta, lze zahájit mírně odlišné doby tak, aby se Hra sama o sobě je mnohem zajímavější s každou hru. A mezitím, co jsme viděli schopnost poslouchat mezerníkem. Ale jasně, v Scratch, můžete také poslouchat nahoru, dolů, vlevo, vpravo, a opravdu libovolné klávesy na klávesnici. A také můžete udělat nějaké jiné věci. Nech mě jít dopředu a zpět na webové verze. Nech mě jít do naší sbírky z příkladů zde. A pod mého ateliéru, video, která je v podstatě složka na scratch.mit.edu. Máme webové verze že všechny uvedené projekty. A uvidíme, jestli můžu dostat můj počítač spolupracovat zde. To je napsal jeden z našich přátel na MIT, tzv. Přesuňte Butterfly. A jakmile se otevře, je bude skutečně používat více mého počítače hardware. Scratch se stane být provedena s Flash. Flash může mluvit s vaší webové kamery, pokud máte jeden. Takže když jsem se do toho pusťte a to na celou obrazovku , zde klikněte na zelené vlajky, oznámení že Flash je zpráva zabezpečení říká, chceš umožňují používat svůj webkameru? Za normálních okolností byste měli asi řekl Odepřít. Ale v tomto případě, řekněme dovolit. Pak jsem ti to říct Chrome , aby to také. A teď, za chvíli, Vidíš mě, jo, já. A když moje ruka jde nahoru - Musím se pohnout moje hlava ve stejnou dobu. K dispozici je také odrazem na obrazovce. Pojď, jdeme na to - se můžete pohybovat na obrazovce, protože tam je také dílků - ach, ty vědět, co to je, je to proto, že i vidět na obrazovce projektoru za mnou. Takže máme trochu nekonečný co se tam děje. Tak jo, budu hrát tady. Tam jdeme. Takže je tu také kousek puzzle, který říká, když vidíte pohyb pod jeden ze skřítků, můžete si to jít nahoru, dolů, vlevo, vpravo a podobně. Takže máme trochu virtuální reality děje i zde, vše v rámci Omezuje mém prohlížeči, jen zde pomocí mé webové kamery. Takže to, co je pak na obzoru. Prvním problémem set, jak uvidíte, nebo webové stránky půjde on později dnes večer v cs50.net, je dost Kolik bude na dobu neurčitou. A realizovat projekt Scratch , které vás zajímají, hry, interakce, něco umělecké, a rozhodnout, že si používat libovolný počet z těchto dílků. A to může být buď interaktivní tímto způsobem. Nebo to může být něco víc úmyslně provedeny vyprávět příběh. A vskutku, to je místo, kde skončíme off V současné době se jeden poslední příklad. Nech mě jít do nuly na místě. Nech mě jít dopředu a otevřít to a hrát jeden poslední program napsal jeden svých předchůdců, a to že jeden zde. Dobrá, zvýšení hlasitosti pro tento jeden. [Přehrávání hudby] Vypravěč: Na další CS50, David zve dobrovolníka na jevišti. DAVID Malan: V této ukázce, budeme potřebovat jednoho dobrovolníka. Chtěli byste jít dolů? Jak se jmenujete? Dál.