[Přehrávání hudby] -Alright! Tohle je CS50. Tohle je CS50. Tohle je CS50. [MUSIC - IGGY azalka, "FANCY"] -Moje Oblíbená vzpomínka z CS50 bylo, když jsem šel na Puzzle den. -Probably Jen čas strávil prací na problémové sady se svými přáteli a lidmi, kteří Wold nakonec stali mými blockmates. -Moje Nejlepší paměti od CS50 je Hackathon. -The CS50 Hackathon. -Hackathon. -Hackathon. -Hackathon. -The Hackathon -Rob Bowden. Prostě vše, co o něm. [MUSIC - IGGY azalka, "FANCY"] -Moje Oblíbená vzpomínka je, když jsem byl na etapa a já jsem hrál prestižní roli uzlu [? v Linked?] [? List. ?] Kdy jsme se všichni dostali zdarma Dropbox prostor a David byl rád, podívejte se pod vašimi sedadly. A bylo to jako prostor pro každého! [MUSIC - IGGY azalka, "FANCY"] -Moje Rady pro jakýkoli příchozí žák by bylo opravdu pracovat na P-set s přáteli. -Úřad Hodin je velmi tvůj přítel. -Ujistěte Většinu své zkušenosti a setkat se co nejvíce lidí, jak můžete. Nebuď bát požádat o pomoc. -start P-sad na začátku týdne. Já si myslím, že největší věc je využít všech prostředků že CS50 má. -Jdi Na úředních hodinách na začátku týdne. -Definitely Sledovat šortky. -Nebud Odkládat na své P-sad. -Ujistěte Najdete velkou skupinu lidí pracovat na P-sad s. Můžete mít spoustu legrace a získat práci společně. Nebuď strach, aby se zasadila sebe. Přejít na hacker vydání někdy. -Write Věci na papíře před jste se někdy dotknout počítače. -CS50 Je opravdu skvělá na poskytuje způsoby, jak získat pomoc. -Moje Jeden kus poradenství je spánek. Má někdo řekl, že? Spánek, pro jistotu. Je to snadné nedělat, ale Musíš to udělat, myslím. Já bych opravdu psychicky připraven protože budete ho milovat. [MUSIC - IGGY azalka, "FANCY"] Tohle je CS50. Tohle je CS50. Tohle je CS50. [MUSIC - IGGY azalka, "FANCY"] Tohle je CS50. [APPLAUSE] David J. Malan: Tak tohle je CS50 a to je na konci týdne 0. A to byl jen nějaký zaměstnanců CS50, kteří na vás čekají nejen v sekcích a úřední hodiny, ale Také letos víkend na CS50 Puzzle den. Což zase není vše o programování. Ve skutečnosti, je to očekávat, že vás Nebudete muset nic programovat, ale spíše řešit problémy pomocí rozum a přátelé po vašem boku. Budeme se připojí některé z našich přátel na Facebook-- pokud se zaregistrujete tady--, kteří V posledních několika letech, byly skutečně psaní tyto výzvy s námi. A tak budou ty nakonec běží Puzzle den. A tak budete mít za úkol s přesně druhy věcí a problémy, které lidi na Facebook chtěl přemýšlet. Tak to je zítra. Zaregistrujte se na cs50.harvard.edu/register. Nyní pár slov o pár zaměstnanců, zejména. Tohle je Ansel Duff, kdo je vlastně jeden ze spoluautorů z těchto binárních žárovky, které jsme viděli ve středu, Kromě CS50 vlastní Dan Bradley. Ansel Duff byl také bývalý nováček advisee můj před 3 lety a on vlastně ani postavil pult. Odjel na to technické vědy a další. Nyní se jeho obraz je zde skutečně Ansel před 3 lety na CS50 Hackathon když si půjčil jeden z našich balóny, strčil ji do svého notebooku, a pro další 12 některé zvláštní hodin, se zaměřil na svém posledním projektu, Přestávky otevřít pouze tašky cukroví na Hackathon. Ale on pokračoval v poslední době na strávit Letos v létě se s námi, od CS50 pro své zaměstnance, a nyní studenti tomto semestru, má svůj vlastní 3D tiskárnu. A v kostce a 3D tiskárny je zařízení, které vypadá docela takhle. Vyplníte jej s plastovou cívkou , který je roztaven zařízením a budete stavět věci doslova z ničeho. Stejně jako inkoustovou tiskárnu, můžete začít vyplivl malé tečky plastu , které tvoří společně se tvoří celé objekty. A tak Ansel například dříve letos v létě, má iPhone 5 a rozhodl, že opravdu chtěl aby pozvedla ji na svém stole. Ale on nechtěl, aby jít ven a koupit něco, z obchodu Apple a podobně, a tak se Posadil se a začal kreslit něco. Udělal několik měření jak silná a, jak široký je jeho iPhone, vytáhl tento obrázek zde, se rozhodl, že chce mít 75 stupňů sklon jak to bylo zíral ho na stole tam. Pak se obrátil to pomocí software, do modelu 3D CAD který vypadal trochu něco takového. A pak pokračoval, nakonec skutečně vytvořit. Takže ve skutečnosti, je-li někdo z vás tady, snad v řadě, že můžu hodit, mít an-- tam máme lidi s iPhone 5, a tady máme další dva. Nyní Aby nezůstal pozadu, CS50 vlastní Cheng Gong rovněž uvedena letos v létě vybudovat docela málo věcí a, Ve skutečnosti, z důvodů, které jsou stále nejasný, byl pomalu tisk armádu slonů s artikulovat zbraní a kmenů. Pár z nich jsou skutečně zde, pokud někdo by teď jako-- slona. V pořádku,. ale to, co Cheng také dělal Pro nás je to velmi laskavě nastavit fotoaparát Protože to slon, věřte tomu nebo ne, trvá asi dva a půl hodiny k tisku. Dokonce i stojan iPhone se hodinu a půl k tisku. A co Cheng šel dopředu a udělal byl zřízen krásný fotoaparát před této 3D tiskárny, natočený na hodinu a polovina jako Ansel designu vytiskne. Obložil jsme nějaké sexy hudba k tomu, aby vám to dá dívat jak 3D tisk funguje. A i když to je vlastně v plastu, uvědomit, že pokud se jedná o oblast vás zajímají akademicky, tam jsou lidé, mezi je Jennifer Lewis zde ve škole Engineering, kteří jsou ve skutečnosti pracuje na 3D tisk plastových předmětů. Ale i ve stále větší míře, biologické materiály řešit fyziologické problémy pro lidi. Ale tady je trochu něco z CS50. [LOUD MECHANICKÉ zvuky] David J. Malan: To nezní něco podobného, ​​že ve skutečnosti, ale je mnohem chladnější na to dívat při této rychlosti, a s tímto zvukem. Nyní, ve středu, jak jsme nejprve se sem dostali? Začali jsme mluvit o počítači věda a ptali jsme se, co to je. A je to o mnoho věcí, a tam je tolik různých směrů , ve kterém se můžete vydat po kurzu jako CS50. Ve skutečnosti, pokud se zvedl jeden z těch neoficiálních průvodců na CS ven, brožury, která jsme za předpokladu, ať už jste na mysli při jen CS50, nebo možná dělá sekundární, nebo možná i soustředění v CS, to listovat to. A uvidíte schéma směrem ke konci, který vám ukáže mnoho různých směrů v CS, které můžete zhasnout. Ale pro dnešek budeme soustředit opět na opravdu jedna ze základních pohledů, Možná, pokud budete mít vstupy do problémů, Máte výstupy z problémy, a máte algoritmy, jež tvoří ty výstupy z těchto vstupů. A jeden takový příklad, byl Samozřejmě, že tento telefonní seznam zde. A byl použit jako příklad jít pomocí algoritmu, který byl správný. A pak ještě jeden byl v pořádku, ale trochu rychleji. A pak ještě jeden, který byl trochu dramatičtější, ale v podstatě rychleji. Jasně, telefon této knize prohlašoval, měl asi 1000 stran. A kolikrát jsem se trhat telefonního seznamu na polovinu najít někoho, jako je Mike Smith, maximálně v 1000 stránkové knihy? Takže 10 mínus. A tak když jsem roztrhl tuto věc polovina, nebo prostě více zrale, rozdělen na dvě poloviny, je to jen 10 stran z 1000. A pokud jste extrapolovat, trochu nerealisticky pro telefonní seznam, ale pokud tento telefon kniha měla nějakou 4 miliardy stránek v něm, tak zcela nemotorné fyzicky, kolik Časy se rozdělíte 4000000000 strana telefonní seznam na polovinu? Takže je to vlastně 32, dávat nebo brát. A jen tak 32 krát, z ve výši 4 miliard stránek, může zjistíte, že někdo, jako je Mike Smith. A to je efektivita. To je dobrý algoritmus, Troufám si tvrdit. Ale pak jsme se přestěhovali z toho pokusit se ji formalizovat. A já jsem navrhl tento pseudokódu kód. Pseudokód kód není nic formální. Není to něco zapamatovat. Je to prostě něco, co vyjádřit poměrně intuitivně používat angličtinu, nebo jakémkoliv jazyce, opravdu, to vyjadřuje své myšlenky stručně. Ale co je klíčem k pseudokód kód je to, že vás pokusit se předvídat všechny možné případy, které se může stát. A skutečně, v tomto pseudokódu kód, tam byly opravdu tři případů pokaždé, když jsem rozdělil do telefonního seznamu. Mike může být na levé straně. Mike může být doprava. Nebo by mohl být přímo na stránce jsem na. Nebo čtvrtiny roh případ, abych tak řekl. Špatný scénář by mohl být jeden which--, co se děje? Mike to prostě není telefonní seznam vůbec. A když se programy crash-- když Mac a PC software, který jste spustit na vašich počítačích někdy visí, nebo neočekávaně, že obecně znamená, že některé programátor, brzy nějaký člověk, jako jste vy, prostě podělal a udělal nějakou chybu. Možná, že netušil, že možná existuje Není Mike Smith v telefonním seznamu. A pokud nemáte skutečně napsat Kód zvládnout situace, jako je to, obecně nepředvídatelné co se může stát. Přístroj může zamrznout. Je možné restartovat. Program může přestat. A tak se všechny tyto hlouposti, kterou může se setkali ve vašem aktuálním život jen pomocí počítače, bude stále jen bagatelizována touto intuicí a toto chápání toho, co je vlastně děje pod kapotou. Nyní zkusme se podívat v obecnější problém. Spíše než aby účast na místě, jako je to, což by bylo docela pomalé udělat jeden, dva, tři, čtyři. Nebo možná dvě, čtyři, šest, osm. Zaměřme se místo toho na jak bychom mohli formalizovat algoritmus procesu které bychom mohli mít účast. A po cestě, začněme použít nějaký nomenklatury že budeme používat dnes, když jsme vlastně začít s programováním v jazyce. Tak ti dám teď, čtyři minutové video že jsme dali dohromady s našimi přáteli z TED, organizace. Kterým jsme dodali skript a přivedli své animátory nést, a vlastně vytvořil 2D animace o tom, co je algoritmus. Pokud bychom mohli ztlumit světla. [Přehrávání hudby] Vypravěč: Co je to algoritmus? Ve vědě o počítačích, Algoritmus je množina pokynů řešení nějaký problém krok-za-krokem. Typicky, jsou algoritmy provedený počítače, ale lidé mají algoritmy také. Například, jak by jdete o počítání počet osob v pokoji? No, pokud jste jako já, to by asi ukázat na každou osobu, jeden po druhém a počítat od nuly. Jedna, dvě, tři, čtyři, a tak dále. No, to je algoritmus. Ve skutečnosti, zkusme to se vyjádřit trochu více formálně v pseudokódu kódu. Angličtina-like syntaxe připomíná programovací jazyk. Nechť n rovno 0. Pro každou osobu v pokoji, nastavit n rovno n plus 1. Jak interpretovat pseudokódu? No řádek jeden prohlašuje, abych tak řekl, proměnné volal n a inicializuje jeho hodnotu 0 to jen Znamená to, že na počátku našeho algoritmu, věc, s níž jsme Počítání má hodnotu 0. Po tom všem, než začneme počítat jsme se nepočítají zatím nic. Volání této proměnné n je jen konvence. Mohl jsem to nazval nejvíce cokoliv. Teď řádek dva demarks začátek smyčky, sled kroků, které budou opakovat určitý počet opakování. Takže v našem příkladu krok jsme odběr je počítání lidí v místnosti. Pod lince dvě je čára tři, které popisuje přesně tak, jak půjdeme o počítání. Odsazení znamená, že je to čára tři, které se bude opakovat. Takže s pseudokód kód Říká se, že po spuštění na 0 pro každou osobu v pokoj budeme zvyšovat n o 1 Nyní je tento algoritmus správný? Tak pojďme bang na něj trochu. Funguje to v případě, že jsou dva lidé v místnosti? Pojďme se podívat. V prvním řádku můžeme inicializovat n 0. Pro každý z těchto dvou lidí, jsme pak zvýšit n o 1. Takže v první cestu přes smyčky, aktualizujeme n 0-1. Na druhé cestě po které Stejný cyklus, aktualizujeme n 1-2. A tak tím, že tento algoritmus je konec, n je 2, který skutečně odpovídá počtu lidí v místnosti. Tak daleko, tak dobrý. Jak se o rohovou případě když? Předpokládejme, že existují lidé, 0 v room-- kromě mě, kdo je dělá počítání. V prvním řádku jsme znovu inicializovat n 0. Tentokrát však řada tři neprovede vůbec protože tam není člověk v místnosti. A tak zůstává n 0, což ostatně odpovídá počet lidí v místnosti. Docela jednoduché, ne? Ale počítání lidí jeden po druhém je velmi neefektivní, taky, ne? Jistě můžeme dělat lépe. Proč ne počítat dva lidi najednou, namísto počítání jeden, dva, tři, čtyři, pět, šest, sedm, osm, a tak dále. Proč ne počítat dva, čtyři, šest, osm, a tak dále? Dokonce zní rychleji. A to jistě je. Pojďme vyjádřit tuto optimalizaci v pseudokódu kódu. Nechť n rovno 0. Pro každou dvojici lidí v pokoj, nastavte n rovno n Plus 2. Docela jednoduché změny, ne? Spíše než počet lidí jeden po druhém, Ale místo toho jsme počítat dva najednou. Tento algoritmus je, tedy, dvakrát tak rychle jako poslední. Ale je to správné? Pojďme se podívat. Funguje to v případě, že jsou dva lidé v místnosti? V prvním řádku, jsme inicializovat n 0. Pro tento jeden párů lidí, jsme pak přírůstek n o 2. A tak tím, že tento algoritmus je konec n je 2, který skutečně odpovídá počtu lidí v místnosti. Předpokládejme, že existují další nula lidí v místnosti. V prvním řádku můžeme inicializovat n 0. Stejně jako dříve, řádek tří neprovede vše , protože zde nejsou žádné páry lidí v místnosti, a tak zůstává n 0. Což ostatně odpovídá počet osob v místnosti. Ale co v případě, že jsou Tři lidé v místnosti? Jak tento algoritmus jízdné? Pojďme se podívat, na lince jedna, budeme inicializovat n 0. Pro dvojici těch lidí, jsme pak přírůstek n o 2. Ale co potom? Tam není další plný pár lidí v místnosti, takže linka dva již neplatí. A tak do konce tohoto algoritmu je, n je 2, která ještě není správné. Ve skutečnosti tento algoritmus je řekl, aby být buggy, protože to má chyba. Pojďme náprava s některými Nový pseudokód kód. Nechť n rovno 0. Pro každou dvojici lidí v pokoj, nastavte N roven n Plus 2. Je-li jedna osoba zůstává nepárové, nastavení N se rovná n plus 1. Chcete-li vyřešit tento konkrétní problém, máme zavedeno čtyři stav, jinak známý jako větev, že provádí-li pouze v případě, že je jeden člověk, kterého jsme nemůže spárovat s jiným. A tak teď, ať už je tu jeden, nebo tři, nebo jakýkoli lichý počet lidí v místnosti, Tento algoritmus bude nyní počítat. Můžeme to udělat ještě lépe? No, mohli bychom počítat do třetice, nebo čtyři, nebo dokonce pětky a desítky, ale za to, že to dostane trochu obtížné bodu. Na konci dne, zda popraven počítače nebo člověka, algoritmy jsou jen soubor instrukcí s níž řešit problémy. Tito byli jen tři. Jaký problém by vám řešit s algoritmem? David J. Malan: Tak schválně, velmi jednoduchý program, velmi jednoduchý algoritmus, pro dosažení co velmi jednoduché, počítání počet osob v místnosti. Ale pojďme odhalit, některé zástupce k dispozici zde, že jsou ve skutečnosti bude užitečné, i když , kterým se provádí většina komplexní software. Tak například, v tomto prvním řádku, máme to, co nazýváme proměnnou, a z algebry, jste obecně obeznámeni pomocí x a y a z někdy, a tak dále. Ale v programování, proměnné jsou stále, na konci dne, velmi podobný. Ale je to možná jednodušší si myslet, proměnné jako jen nádobky. A ve skutečnosti, je to nějaký počet bitů implementována nějakým způsobem na pevném disku nebo v paměti počítače, ale o tom více v budoucnu. Je to jen obal. A pokud se vám něco říct jako Nechť n rovno 0, dobře, že je to jako volání toto sklo mísa zde n, stačí libovolný název, a uvedení nic v něm zpočátku. Takže hodnotu tohoto mísa teď je nulová. A samozřejmě, pokud vnímáte v následujícím řádku, skutečně zvýšit nějakou linii kód, jak je v tomto třetím řádku tady, o 1, to je jako tvrdit, že to, co je současná hodnota n, to je 0, a 1, dát něco jako ping pong míček zde. Nyní je hodnota této proměnná je prostě jedno. A ty by mohly velmi rychle odvodit, ale teď je to 2, teď je to 3, a tak dále. Tak to je vše, je proměnná. Je to kus skladu vlastně ukládat některá data. Pro tuto chvíli je to ping pong míček. K dispozici je celá řada. Ale mohlo by to být slova v slovník, stejně jako kontrolu pravopisu Zmínil jsem se ve středu pro jeden z loňských problémů sad. Nyní další klíčovou myšlenkou, že podobně je docela intuitivní bych tvrdit, je to, že na smyčce. A smyčka v procesu čítání každého je, samozřejmě, to samé znovu věc a again-- buď jeden v době, nebo po dvou. A můžete to vyjádřit v angličtině, nebo pseudokódu kód, v mnoha různými způsoby, ale pomocí této vazby "pro" je velmi běžný způsob, jak toho dosáhnout. Pro každou osobu v místnosti, postupujte takto. Znovu a znovu. A skutečnost, že je to odsazený řádek tři, prostě znamená, že to, co máš dělat je látka, která je odsazena pod čarou dva sám. Jen lidské konvence, ale obyčejný jak uvidíme ve skutečné Vyšší programovací jazyky na úrovni. Nyní trochu zajímavější je když se dostanete do rohu případu. Například, rohový Případ byl v případě, že byli tři lidé, nebo pět nebo sedm, nebo jakýkoli lichý počet lidí v místnosti, protože tím, že po dvou brzdami nakonec proto, že si bude chybět někdo, a to buď na úplně na začátku nebo do samého konce V závislosti na tom, jak to udělat. A tak teď, mám tuto pobočku, nebo stav, jestliže se jedna osoba zůstává, pak jděte do toho a zvládnout, že jeden osamělý člověk, který nedostal spárován s někým jiným. Takže to je to, co bychom nazvali stav, nebo pobočka. Nyní pseudokód kód obecněji mohou být písemné řešit libovolný počet problémů. A to, co jsem myslel, že bych udělat, zde je chvilku pozvat řekneme CS50 je vlastní Rob Bowden na jevišti aby se připojil dva dobrovolníky, kteří nemají tušení, co je čeká. Ruka šla dolů, jakmile jsem to řekl. Jak se o vás na skončí tady, pojď nahoru. A jak je to z větší daleko, jak je to tam vzadu. Zadní řada, pojď si s rukama nad hlavou. Dobře, a Jak se jmenujete? ANITA: Anita. David J. Malan: Anita. Dobře, rád tě poznávám. Dovolte mi, abych vám představil Rob Bowden. To je Anita. A jaké je vaše jméno? Kiersten: Kiersten David J. Malan: Kiersten. Kiersten, pojď nahoru a splňují Rob Bowden a Anita. Těší mě. Kiersten: Těší mě. David J. Malan: Dobře, Rob. ROB BOWDEN: Těší mě. David J. Malan: Anita. Kiersten: Ahoj Anita. David J. Malan: A tvůj několik set spolužáci. Tak, teď nech mě jít dopředu a vytáhněte up jen jednoduchý program zde na Mac OS, který mě nechal vlastně zapisovat si poznámky dole. A pokud vy chcete každý se poloha v jedné z těchto škol tam, nech mě jít napřed a začíná seznam z pseudokódu kódu, chcete-li. A to, co chci dělat tady, nakonec je typ pro vás některé instrukce, že naše diváci jsou ve skutečnosti bude přednášet pro nás. Nech mě jít napřed a jen změnit na číslovaný seznam tak, aby odpovídala co jsme dělali tam. A co budu dělat s vaši pomoc, je napsat program, v pseudokódu, který se tito lidé jdou realizovat arašídy máslo a želé sendvič. Takže je to možná apropos k něco ukázat, že někteří z vás mohli vidět na internetu jen na krátkou chvíli nepříjemné. [MUSIC BUCKEWHEAT BOYS ", arašídové máslo  JELLY TIME "] David J. Malan: OK. To je dost. Tak tady zatím, mám Pár Google brýle, které dáme na CS50 vlastní Rob Bowden vidět svět jeho očima. A my se budeme snažit na příspěvek výroba skutečně tkát záznam toho, co Rob vidí Nyní do tohoto skutečného přednášky Video s našimi dvěma dobrovolníci vedle něj. Takže to, co budu dělat je, budu písař. Máme cíl zde na vlastně psaní programu s níž, aby se nakonec arašídové máslo a želé sendvič, ale tito tři budou chovat jako když jsou počítače. A počítače, na konci dne, jsou vlastně docela hloupé zařízení. Jsou super rychlý, ale jen oni mohou dělat doslova co se jim řekne. Nemůžeš prostě říct, aby arašídy máslo a želé sendvič. Musíte naprogramovat, aby dělali to. Musíte jim říct, přesně, co má dělat, méně se mi to hrozně, a doufejme, zábavně nakřivo. Takže s tím řekl, že potřebujeme jeden call-out z publika na to, co by mělo posílit jeden být, v případě, že cílem zde je, aby se arašídy máslo a želé sendvič. Ano? Diváků: [neslyšitelné] pytel chleba. David J. Malan: Otevřete sáček chleba. Takže v případě, že tři soutěžící by chtěli pokračovat k tomu, že doslova. Otevřete sáček chleba. [Publikum smích] David J. Malan: Tak pojďme na tom pracovat. V pořádku. Takže krok dva, Jak-- Pojďme si to dál. Jo, v přední části. Diváků: [neslyšitelné] chléb. David J. Malan: Co je to? Diváků: Vyjměte chléb. David J. Malan: Vyjměte chléb. Podobně stručné. Děkuji vám. [APPLAUSE] David J. Malan: To je všechno? OK, tak krok dva se děje být odstranění chleba. Dobře, někdo bude chtít napište nám delší větu? Někdo jiný? Trochu více [neslyšitelné]. Ne, nic teď. Ano? Diváků: Místo dvou plátky vedle sebe. David J. Malan: Místo dvou plátky vedle sebe. [Publikum smích] David J. Malan: Místo dvou plátky vedle sebe. Krok čtyři. Ano? Diváků: Vezměte svůj ručně a nastavte ji na lehkou váhu na horní straně víka arašídové máslo. [Publikum smích] Diváků: [neslyšitelné] vedle arašídové máslo. David J. Malan: Co je? Řekni to ještě jednou. Diváků: Odšroubujte víčko a dát se jemně vedle arašídové máslo. David J. Malan: Dejte ji jemně vedle arašídové máslo. OK, pokrok. Krok pět. Výborně. Ano? Seberte nůž. David J. Malan: Zvedněte nůž. OK, krok šest. Jo? Diváků: Držte nůž za rukojeť. David J. Malan: Podržte nůž za držadlo. Držte nůž za rukojeť. Krok sedm. Ano? Diváků: [neslyšitelné] nůž arašídy máslo a jak málo z [neslyšitelné]. David J. Malan: Dejte nůž v-- I slyšel "dát nůž arašídové máslo a trvat pouze tak, jak je to možné. " Mimochodem, odstraňte nejprve papír. Dobře, krok devět. Krok devět. Krok devět. Jsme vlastně udělali sendvič ještě. Ano? Diváků: Použití nůž arašídové máslo, platí arašídové máslo na uvedeném chleba. David J. Malan: Použití nůž arašídové máslo, arašídové máslo aplikovat na řekl chleba. [Publikum smích] David J. Malan: Dobře krok 10. Krok 10. Ano? Diváků: Chuť arašídy máslo pro zajištění kvality. [Publikum smích] David J. Malan: Krok 11. Krok 11. Krok 11. Pojď. Jo? Přesně tam. Diváků: Opatrně vyzvednout želé. David J. Malan: Opatrně vyzvednout želé. OK, a pak další ruka nahoru. Hned za vámi. Jo, v modré barvě. DIVÁKŮ: Dobře, vyjměte víko z [neslyšitelné], jo, odstranit víko z želé. [Publikum smích] David J. Malan: Z želé. Ha ha. [Publikum smích] David J. Malan: A? Diváků: A sotva zamést nějaký [neslyšitelné]. [Publikum smích] DIVÁKŮ: Samozřejmě, před [neslyšitelné] vyjměte papír ze želé. David J. Malan: Vyjměte papír ze želé. Krok 14. Už tam skoro jsme. Ano? Diváků: Invert želé láhev než všechno vypadne. David J. Malan: Invert želé Láhev před želé vypadne. Krok 15. Diváků: Vyměňte uzávěr. David J. Malan: Vyměňte uzávěr. Krok 16. Jo? Diváků: [neslyšitelné] David J. Malan: Řekni to ještě jednou. Diváků: Vezměte víčko z vašeho želé. David J. Malan: Off vaší želé. Takže opravdu-- Oops. Pojď. Vyměňte uzávěr. Dejte cap-- Říkal jsi, že odstraňte víčko z želé. Pocit, že jsme v trochu smyčky. Krok 17. Ano? Diváků: [neslyšitelné] David J. Malan: Řekni to ještě jednou. Diváků: [neslyšitelné] David J. Malan: Jít zpět na step-- Diváků: [neslyšitelné] David J. Malan: Odstranit čepice z arašídového másla. Ano? DIVÁKŮ: Zrušte všechny želé na chleba. David J. Malan: Zrušte všechny želé na chleba. David J. Malan: Už jsme skoro tam. Krok 19. Diváků: Odstraňte přebytečný želé. David J. Malan: Haha, želé. [APPLAUSE] David J. Malan: Proč my-- ještě jeden krok, aby se tento domov. Ještě jeden krok a pak budeme sloužit sendviče. Ano? Diváků: [neslyšitelné] David J. Malan: Při každém sendvič remains-- Pojďme odrážka tohle-- jíst. [Smích z publika] David J. Malan: Dobře, děkuji budete s našimi dobrovolníky zde. [APPLAUSE} David J. Malan: Máme nějaký pěkný rozloučení dárky pro každého z vás. Vaše vlastní arašídové máslo, želé, a chléb přivést zpět domů. Děkuji vám. Kiersten: Děkuji. David J. Malan: [neslyšitelné] vítány. [APPLAUSE] David J. Malan: Tak, to je, na Samozřejmě, že absurdní příklad. Je to tak? Ale to je trochu odhalit, jak se lidé jen se jasnost za samozřejmost. A fakt jsem mluví k jinému člověku, on nebo ona prostě ví, co máte na mysli. Počítače se nebude vědět, co máte na mysli, i při použití, jako se chystáme udělat dnes, programování něco Scratch, drag and drop, skládačky styl jazyka. Dokonce určen pro mladé děti, máte být tak jednoznačné a tak literál to, co chcete, aby váš program dělat. Teď konečně jsme bude programování ne v pseudokódu kódu, Angličtina jako syntax, ale kód nebo, přesněji, zdrojový kód. Zdrojový kód je jen ozdobný způsob, jak pro popis kód, který jste vlastně psát s klávesnicí, která je není v angličtině jako takové. Je to v C nebo Java nebo C ++ nebo tak něco jako to, jak brzy uvidíte. A ve skutečnosti, jen postrašit málo z vás, na první pohled, je to napsaný v jazyce programu volal C. Ale un-vyděsit některé z vás, budete zcela pochopit, co se děje Na přijít příští pondělí, kdy ji přijde na něco, jako je tohle. Upřímně řečeno, je to starší jazyk. To je docela tajemný, ale je to zástupce z mnoha jazyků v těchto dnech, že mají spoustu závorek a kudrnaté šle a uvozovky a středníky. A mnoho z této syntaktický věci, které není vůbec intelektuálně zajímavé. Ve skutečnosti, to je naprostý rozptýlení od velmi jednoduchých nápadů že nám hledí do tváře. Tento program, jak by se dalo jen hádat, tiskne na něčí obrazovce počítače se slova "Hello čárka světa." To je všechno. Tak jasně, že je spousta věcí, které je dostat v cestě Existuje nějaký samozřejmost, ale bude to velmi rychle vklouznout pryč a zcela intuitivní. Ve skutečnosti to, co budeme dělat dnes je destilovat to poměrně složitý hledáte program, který zase přijdeš pochopit rychle, ale k něčemu mnohem jednodušší. Řekněme, že to, co máme na mysli. Pojďme nakreslit obrázek toho, co máme na mysli, prostřednictvím těchto dílků zde. Tak tohle je programování jazyk známý jako Scratch. To bylo vyvinuto MIT Media Lab. A to, co uvidíte v problému nastavení na nulu, které budou zveřejněny později v noci, budeme muset jít na to URL zde scratch.mit.edu. A oni mají web rozhraní, přes které vychází budete psát svůj první program. Nebo ty z vás s před zkušenosti, váš druhý program, ale v prostředí, které je asi trochu neznámá a že bude tlačit, abyste něco vytvořit Pomocí tohoto velmi vizuální prostředí. A teď, co budu dělat tady je otevřít program sám. Existuje nejen jako webový prohlížeč, ale také jako ke stažení programu takže můžete skutečně použít v případě, že nemáte přístup k internetu. A já budu dělat, že Tady, v Sanders, jen v případě, Wi-Fi, není spolupracovat extra dobře. A to, co budu dělat, je bod z několika vlastností tohoto programu. Tak, aby bylo jasno, já mám jen double klepnutí na ikonu na mém desktopu, nebo ekvivalentně šel do scratch.mit.edu, a to vytáhl toto okno. Jedná se o programovací prostředí. To je kus softwaru, který někteří z našich přátel na MIT napsal, že ať je nás a píšete programy v jazyce s názvem Scratch. Teď se to stane, že je kočka, která je také pojmenována Scratch a to je jeho svět, ve kterém žije. Jedná se o fázi, tak říkajíc, že obdélník v levém horním rohu. A to nemusí vypadat jako kočka. Můžete ho hledat jako nic a vy může mít mnoho takových skřítky, nebo znaky, v programu. Mezitím, tady na daleko Dobře, je to velký nepopsaný list. A to je místo, kde, v okamžiku, se chystáme začít programovat přetažením Tyto grafické puzzle kousky, které jsou přímo tady uprostřed. A je tu způsob, jak víc, než budeme trávit čas tady ve třídě protože zjistíte, že všichni jsou docela intuitivní. Opět platí, že je navržen pro děti, ale použít k šprýmaři odděleně někteří z těch, základní myšlenky proměnných, smyčky, podmínky, a brzy se věci jako funkce a události a nitě a jiné ozdobné věci, které jsme si dostat se zanedlouho skutečně vytvořit něco od nuly. Slovní hříčka určena. A teď, co budu dělat, je zde klikněte na ne pohyb, ale kontrolu. A to je jen kategorizace tady-- a vidím jiný Barva sada bloků. Ale všimněte si, že několik známých slov. "Je-li" a "else if" a "opakování". A asi tušíte to připomíná pobočky, nebo podmínky jsme viděli, a i smyčka konstrukce. Takže máme tady v podobných bloků. Ale nejzajímavější jeden je tohle tady. Je-li tato zelená vlajka klepnutí to, pro ty, kteří s předchozím programování zkušenosti, je ekvivalentní na hlavní funkci. Ale pro ty, kteří neznají, je to kousek skládačky že bude nastartování celý náš program. To doslova znamená, že když odejdu, v tomto programu, a klepněte na zelenou flag-- které můžete vidět tady v v levém horním rohu uživatelského rozhraní, tak vidět zelenou vlajku vedle červené stopce? Když kliknu, že můj Program bude spuštěn. Teď jdu něco dělat super jednoduché s Scratch. Chystám se jít dopředu a přejděte na panel vypadá tady, kde mám spoustu fialové skládačky, a já jdu dál a dělat něco super jednoduché, jako, řekněme. A potom-- upozornění tento text v bílém poli je editable-- budu říkat "Hello world", stejně jako my bylo v té textové verze před chvílí. A teď když jsem jít a klikněte na toto zelená vlajka, jsem naprogramován. Není to zvlášť zajímavý program, ale udělal jsem počítač něco udělat. Začal jsem program, a to udělal to, co jsem řekl, že to dělat. Nyní mohou i nadále drag and drop stále více a více z těchto dílků a jdou do sebe zapadají, ale Pojďme plácnout nějakou terminologii tady že uvidíme opakující se v dalším průběhu, a opravdu celé počítačové vědy a programování obecně. Tento "říkají" blok, ve fialové, pojďme začněte volat prohlášení. Je to jako konstatování faktu. Udělej to. Takže, je to kategorie pokyny, které může krmit počítač jako součást programu nebo algoritmu. A aby bylo jasno, vy jste pravděpodobně považovat za samozřejmost že máte programy v počítači. A oni jsou druh algoritmů, ale Program je opravdu spousta algoritmů že někteří lidé psal. Jsou baleny ji a ho prodali, takže vás, nebo oni zveřejněny na internetových stránkách si můžete stáhnout. Takže program je jen Celá banda nul a jedniček že nějak lidé vytvořili. A ty vzory nul a Ty představují věci, nakonec, jako "říkají, Hello World" nebo "PLAY tato hudba "nebo" přehrát toto video " nebo "poslat e-mail." Ale vrátíme se do mnohem více detail toho, co Program je, když, sami, napište je. Zde je další statement-- "Počkejte na jednu sekundu." Nechtěl jsem použít ještě, ale pokud chci můj program se zastaví na chvíli něco udělat, můžu říct, že tak učinit. Počkejte jednu sekundu. Teď ještě jeden by mohl být "přehrávat zvuk." Takže, to je jedinečné nuly, to má schopnost přehrávat zvuky. Takže tvrzení bych mohl Použití je tady, "přehrávat zvuk." Mezitím, Boolean výraz, takže je to milovník slovo pojmenovaný po jen chlápek jménem Mr. Bool, a to je vše o otázku. Pravda, nebo false-- je myš dolů? Boolean výraz je prostě nějaký výraz v angličtině která je buď true nebo false. Zapnutý nebo vypnutý. Jedna nebo nula. Můžete si ji v mnoha různými způsoby, ale je to buď pravda, nebo tato falešná nakonec. Takže "mouse down otazník," že by Boolean výraz. A vy můžete myslet na jiné, možná. Například, "je vlevo číslo méně než pravé číslo? " I to by bylo Boolean výraz. "Méně než" je logický výraz. Ten taky, "dojemné ukazatel myši." Nejsem si jistý, proč se nazval ukazatel myši. To jen znamená, že je kurzor, je šipka na obrazovce dotknete kočku, například. Nebo nějaký jiný aspekt obrazovky. A to je otázka, znovu a že označuje logický výraz. Něco, co by mohlo chtějí použít v takovém stavu. Takže budeme se k tomu za chvíli. Můžete si "a" věci dohromady. Takže, chcete-li zkontrolovat, zda tento je případ, a že je tomu tak, můžete použít "a" blok, jako je tento. A tady je to podmínka. Všimněte si tvaru malého otvoru v horní části této žluté puzzle, to připomíná tvarem že jsme právě viděli před chvílí. Každá z těchto booleovských výrazů mají tyto špičaté hrany na levé a pravé straně. A to proto, že lidé z MIT se rozhodl že vizuálně dopravních tvarů, můžete trochu pomoci lidem, studenti i děti, tak nějak vyplnit prázdná místa doslova. Teď, když puzzle-- že otvor je trochu malý, a jak uvidíme v programu, v Scratch, bude růst, aby se vešly. To bude udržovat svůj tvar, nakonec. Takže stav, pojďme se rozhodnete "Měl jsem něco udělat, nebo ne?" Boolean výraz je však otázka používáte rozhodnout, mám jít na doleva nebo mám jít doprava když se setkám to takzvaný rozcestí? Můžete mít dvě větve. Pokud je něco pravda, to to, jinak jít tudy, nebo můžete jen dělat vůbec nic Ostatně, tento blok samozřejmostí. Stejně tak můžeme hnízdo tyto věci. Takže pokud chcete ztrojnásobit vidličku silnice, a to buď tohle, nebo to či ono, Stačí si jen hnízdo tyto věci dohromady. A to začíná být trochu ošklivý, případně, pro jistotu, ale logika je stále stejný. Můžete si doslova přečíst to shora dolů a říká, že to, co means--, pokud to je pravda, to, else if else. Smyčka nedostane jednodušší Scratch. Forever proveďte následující kroky. Teď si asi nemyslel, že tě může udělat hodně, protože tam není velký prostor mezi horní a Spodní část tohoto otvoru kousek skládačky. Ale uvidíte Scratch bude růst, aby se vešly co nejvíce skládačky jak chcete nacpat tam. Další smyčka může být vyjádřil se opakuje. Pokud víte předem, "já Chcete něco udělat 10 krát, " stačí říct Scratch něco udělat 10 krát. A mezitím, můžeme mít proměnné. Tak tady je libovolný jeden, to je oranžová v tomto případě, a to je vichřice tour. Opět platí, že najdete to velmi dobře přístupný Jakmile začnete kliknutím myší. Já jsem pojmenoval svou proměnné n, ale mohl označil to, co chci, a já jsem to nastavení je zde, v Tato libovolný příklad, na nulu. Nyní vidí program jako ahoj svět není tak přesvědčivé, tak se pojďme skutečně otevřít něco že bývalý student provést. Nech mě jít napřed a otevřít, Například tenhle tady, za což bych rád mít dobrovolníka. Dobře, jak o-- pojďme dál. Ano, pojď nahoru. Jak se jmenujete? ABBY: Abby. David J. Malan: Abby, pojď nahoru. Takže už jste někdy hráli tato hra předtím? ABBY: Ne David J. Malan: Dobře. Davide, rád tě poznávám. Pojď. A co je váš dramaturgický pozadí, pokud existují. ABBY: Naučil jsem se trochu C ++. David J. Malan: Naučil ses něco C ++. A co je vaše hra hraje na pozadí? ABBY: Není moc. David J. Malan: OK, takže to vezmu. Takže tady je návod, jak se hra bude fungovat. Chystám se jít dopředu a klikněte na zelenou vlaječkou, která je tady v pravém horním rohu. Nyní je Váš předchůdce ve třídě vám dal nějaké instrukce zde. A za chvíli to, říká, že "prostor pro zahájení." Takže jděte do toho a stiskněte mezerník. Počítačová hra: Pikachu. David J. Malan: A cílem je chytit potraviny, jak je znázorněno zde na levé straně. A [neslyšitelné] [GAME přehrávání hudby] David J. Malan: Aww, dobře, Děkuji vám za hraní. Máme tu trochu dárek na rozloučenou pro vás. Máme CS50 stres míč, pokud chcete vybrat. Dobře, dobře, že vás poznávám. Děkuji, že jste přišli a náročné. Takže máme větší důraz koule, tak pojďme udělat ještě jeden příklad motivovat. Dobrovolník? Dobře, a co tady vpředu. Jak se jmenujete? Phillip: Phillip. David J. Malan: Phillip. Pojď nahoru, Phillip. Takže, Phillip bude napadal s jinou hru že jeden z vašich předchůdců napsal jako součást problému nastavení na nulu, volal Ivy Nejtěžší hra. A uvidíme, v několika chvíle, co se tím míní. Phillip, rád tě poznávám. Jaká je vaše pozadí? Phillip: Hotovo hodně kódování. Hotovo trochu hraní, taky. David J. Malan: OK. Mám spoustu her, taky. A už jste hráli tuto hru předtím? Phillip: Ne David J. Malan: All Dobře, takže jdeme na to. Chystám se jít dopředu a klepněte na zelenou vlajku. [GAME MUSIC] [MUSIC MC HAMMER, "U nemůže dotknout této"] Phillip: [neslyšitelné] David J. Malan: [neslyšitelné] Phillip: [neslyšitelné] [Smích] [MUSIC MC HAMMER, "U nemůže dotknout této"] David J. Malan: [neslyšitelné] Pluh přes to. Phillip: [neslyšitelné] David J. Malan: Jdi do toho. [MUSIC MC HAMMER, "U nemůže dotknout této"] David J. Malan: Dobře. Blahopřejeme. [APPLAUSE] David J. Malan: Budeme Příspěvek, který on-line později tak které můžete odkládat s tím, jak dobře. Princeton přijde dál, po tom. Takže teď pojďme vlastně postupovat začít od nuly, abych tak řekl, a vlastně stavět až do můžeme odhalit, některé z těchto myšlenek a dostat se do něčeho ještě složitější do konce. Chystám se jít sem a jdu jít dopředu a vytvořit nový soubor. Takže znovu, problém se set chodit můžete pomocí některé z těchto kroků. Ale vše, co jsem udělal, bylo jít do nabídky Soubor a já řekl: "nové", a tak stejně jako Microsoft Word, nebo jakýkoli program, jako je to. A pojďme pokračovat teď-- a my implementován "Hello world" před chvílí, ale pojďme udělat něco trochu hezčí. Chystám se jít do akce. A já budu dělat ", když zelená vlajka klikli. " A pak budu používat, řekněme, pobočku. Takže budu používat "kdyby" stavu. A všimněte si, jak, jakmile se dostanu blízko na to, že chce, aby do sebe zapadají. Tak jsem se pustil a zaklapne dohromady. A teď můžu udělat něco zajímavého. Kdybych procházet tady, jdu vidět spoustu bloků. Pokud jdu do "data" - dovolte mi, abych zoom v-- Tam je něco o proměnných. Pokud jdu do "pohybu", můžete zřejmě obrátit věci kolem. Pokud jdu na "provozovatele" - oh, to je zajímavé, Mohu si vybrat náhodné číslo. Tak mě nech dělat něco jen s určitou pravděpodobností, jen proto, že. Chystám se jít dopředu a přetáhněte tento kousek skládačky, to je, že méně než blok, takže je to jen "Je toto číslo menší, než tahle?" Ale já nechci pevný kód číslo protože to bylo docela zbytečné. Takže budu táhnout tento kus tu, a všimněte si, jak to zapadne dovnitř, a teď nech mě jít dopředu a říct "pokud číslo, které je vybrána náhodně je méně než šest, proveďte následující kroky. " A teď, proč méně než šest? Co pravděpodobnost je to skutečně dám já, jen intuitivně? O 50%, ne? Pokud je číslo, které je asi náhodně mezi 1 a 10 je menší než šest, jasně, že je to jeden, dva, tři, čtyři, nebo pět. A tak, co se děje se mi 50% pravděpodobnost toho, co se děje? Tak pojďme něco takového tohle, "Přehrát zvuk mňau." A oznámení, opět skládačky roste , aby se vešly, tak dlouho, dokud se tvary odpovídají. To je to, co je důležité. Nechte mě přejít na Scratch tady a klepněte na tlačítko "Play". Nic se neděje. Je to chyba? Ne, není nutné. To by mohlo být, že jen byl zvolen větší počet. Tak jdeme na to znovu. Nic. [MEOW] David J. Malan: Tady to je. [MEOW] David J. Malan: Opět. Ne [Mňoukání] David J. Malan: Takže, pokud jste někdy hráli hru, samozřejmě, kde věci se děje náhodně, jako padouchy přichází, nebo ne přichází na obrazovku, nebo věci padají, nebo ne klesá, to je jen proto, že něco výborný jednoduché, jako se to děje. Vyberte si náhodné číslo, a je-li je to méně, než nějakou hodnotu, Možná, že to, nebo možná to. Můžeme začlenit , že do stavu. Pojďme dělat něco jiného. Dovolte mi, abych hodit to pryč. Můžete se zbavit věcí, které pouhým přetažením ho doleva a pustil. Nech mě jít napřed a to navždy blok a velmi rychle něco nepříjemné. Nech mě jít napřed a říci: "Přehrát zvuk mňau." Ale já nechci být příliš nepříjemné, tak ať mi chytit tento blok, "Počkejte jednu vteřinu" a oznámení tam není místo pro něj. Ale pokud jste dostatečně blízko, chce tam jít. Tak jsem se pustil, a to bude rostou vyplnit blok. Takže teď je to smyčka. [Mňoukání] David J. Malan: Jsem doslova dělat navždy. Znovu a znovu. To prostě není přirozeně znějící. Nech mě jít napřed a změnit Nechcete-li jednu sekundu na dvě sekundy a stiskněte klávesu Enter. A co je hezké o Scratch je že byste mohli naprogramovat interaktivně. Provést změnu, možná stiskněte klávesu Enter nebo Přehrát znovu, a to bude jen dál. No, teď, proč to děláme něco trochu hezčí? Spíše než dělat všechno od začátku, nech mě jít napřed a otevřít zálohu z jednoho, že jsem předem pečené, s názvem "Pet kočka." A budeme odesílat všechny tyto soubory on-line, a problém nastavit nulový vám řekne, jak se k nim dostat a otevřít je. A oznámení, je to docela jednoduché. Ale předem, zdá se, že jsem chytil "na věčné časy" blok, takže mám smyčku. A pak jsem dostal "kdyby" stavu. Mám logický výraz. Tak v angličtině, jen se podíval na to, a to zejména pokud jste nikdy naprogramováno, jen intuitivně, co to bude dělat, tento program? [Publikum klábosení] David J. Malan: Pokud má Vaše domácí zvíře kočka, kočka bude mňau, že jo? Vzhledem k tomu, "navždy odškrtnutím" je ukazatel myši dotýká kočku. Takže aby bylo jasno, a já jsem neřekl předtím, všechny tyto puzzle kusy a skript, který jsme spojili je do, abych tak řekl, skript je synonymem programu, opravdu patří do této kočky. A důvod, proč je-- protože upozornění jak je zvýrazněn ten samý kočka tady, tady si můžete vytvořit Druhá kočka nebo pes, nebo opravdu co chcete graficky. Můžete importovat něco z Photoshopu, nebo podobně, a integrovat něco, pokud si chcete, aby to pro projekt. A co najdete, nakonec, je to, že vás Můžete přidat skripty, přidat puzzle kusy, jednotlivé znaky. Takže to vše patří k tento konkrétní kočka. Takže teď, když jsem do toho pusťte a hrát tento program, nic se neděje. Ale to je běh. Program je v tomto navždy smyčky druh čekání na to, co se stane? [Publikum klábosení] David J. Malan: Chcete-li pohladit kočku. Takže když pohnu myší směrem ho-- [Mňoukání] David J. Malan: Takže teď Já jsem hladila kočku. Mezitím můžeme mít dvojí větev. Nech mě jít napřed a otevřít up to pet kočka. Budeme tento post on-line stejně. To je o něco více komplex, ale samo sebou můžete hádat, možná co se bude dít. [Mňoukání] David J. Malan: Cat je mňoukání, grand old time. Ale tento program je samozřejmě s názvem "Nenechte hýčkat kočku," tak jasně, chci pohladit kočku. [Řvoucí] David J. Malan: Nenechte hýčkat kočku. Nyní se pojďme podívat na další příklad. Ten se bude jmenovat "Ahoj, Ahoj, Ahoj," z důvodů , že bude jasné, protože jakmile jsem se spustit tento thing-- [SEAL BARKING] David J. Malan: Velmi snadné napsat otravné stírací programy. [SEAL BARKING] David J. Malan: Teď nepůjde do skvělého detailu se všemi z nich, nevšimnout, že je několik nových funkcí zde. K dispozici je proměnná s názvem "tlumené" a pak je tu spoustu podmínek. A nyní mi dovolte, abych jen dráždit vás tím, že pokud ten chlap příliš nepříjemné, Můžu hit mezerník a on se zastaví. Vzhledem k tomu, role se hraje tyto dva skripty je následující. Jeden z nich je na tom štěkat každých několik sekund. Ten druhý je jen čeká pro mě hit mezerníku. A když to udělám hit mezerník to se změní stav této proměnné, hodnota této proměnné, je to zřejmě s názvem "tlumené" Já nevolal to něco jako nuda n, Zavolal jsem mu je anglické slovo, "tlumené". Od 1-0 nebo 0-1. Z true na false nebo false na true. A tak si můžete skutečně teď vidět, že vás může mít dva skripty, dva programy běží současně, a oba z nich mohou sedět ve smyčce něco dělat. Čekání na člověka dělat něco jako bít mezerníkem. [SEAL BARKING] David J. Malan: A teď že je na cestě znovu. [SEAL BARKING] David J. Malan: Tak co ještě můžeme dělat s těmito příklady? Dobře, pojďme do toho a dělat příklad s počítání oveček. Budeme pokračovat i v duchu zde of-- pojďme otevřít příklad ovce. A oznámení, stejně jako předtím, tentokrát, naštěstí, je trochu méně nepříjemné. Jednou jsem narazila hrát tady-- Ale ne, je to nepříjemné. Chystá se BAA s určitou pravděpodobností. Pojďme si hrát znovu. [OVCE BLEETING] David J. Malan: Jediný rozdíl je jsme změnili kostým, abych tak řekl, a my jsme na polovinu a říkat co to skutečný počet je. Tak pojďme do toho a tento jeden krok dále. A dovolte mi, abych dráždit vás jeden další rys zde. Pojďme dál a otevřít program s názvem témata. Takže stejně jako můžete mít jeden sprite, které mají více skriptů, můžete mít dva skřítky, pták kočka, z nichž každá má svůj vlastní scénář. A každý z nich může pracovat současně. Pokud jste někdy slyšeli Slovo "multithreading" počítač "vícevláknové" znamená to může dělat více věcí najednou, a, opravdu, takže mohou poškrábat. A teď všimnete pták je docela hloupý. Je to prostě dělat věci náhodně, odráží mimo obrazovku. Je zřejmé, že kočka byla naprogramována tak nějak se hledají možnosti domů v na ptáka následujících důvodů vždycky ukázal na něj. Až nakonec, když zachycuje skutečné ptáka. Takže nebudu zabývat detaily zde, ale můžete druh nahlédnout stejné tvary, některé "Pokud" podmínky, některé proměnné, Možná, že někteří smyčky, jsou nakonec dělá to samé. A teď mě nech jít dopředu a otevřete něco bylo celkem jiného, dráždit některé z vás, a to zejména ty pohodlnější, Co můžete vlastně dělat s tím. Chystám se jít dopředu a otevřít tlačítko zde. A to je super jednoduchý vyhlížející program ale pozor, co se stane když Já-- Sledujte, co se stane, když otevřu tuto verzi z toho, tady v prohlížeči, scratch.mit.edu. A když jsem se na tuto velkou červenou tlačítko, všimněte si, co se stane. Tak co se to tu děje? K dispozici je ve skutečnosti mnohem více složitost děje pod kapotou, i když jsem se realizovat to, nebo upřímně řečeno, Dan Bradley zavedla to tak jednoduše. Navrhl vlastní Scratch puzzle kus, známý jako rozšíření Scratch, nazval ji Toggle. A co Přepnout dělá, je, že pošle zprávy přes internet. A toto poselství sám vypadá trochu záhadné. Ale to také, budete pochopit, do konce termínu je. Zpráva, že to vlastně posílá vypadá něco takového. Je to textový. Cryptic. Budete pochopit v době, kdy dostaneme problém nastavit sedm. Je to jen posílá textovou zprávu přes internet na serveru. A že server je v konečném důsledku mluví k této žárovky, které má jednu z těch pestrých žárovek v tom, že sama o sobě, mluví na bezplatné Wi-Fi připojení na internet v síti zde, kde místní zařízení se tady-- a nakonec, je to vlastně soustružení, že světlo zapíná a vypíná. Ale můžeme udělat více zajímavé věci v klidu. Všimněte si, co Dan také pro nás udělal. Udělal několik skřítky, každý z který má skript čeká na kliknutí. A když jsem klepněte na červenou, to se rozsvítí červeně. Pokud jsem si modré, jde namodralý. Zelená, žlutá, oranžová. A to vše se děje podle bude cesta ven na internet, ustoupit zde žárovka, zapnutí a vypnutí. A pokud můžete věřit to-- a to je možná jeden z nejkomplexnějších Scratch projekty má někdo implemented-- to udělal, ve spravedlnost, v jeden den. A to byla výzva, abychom odhodili Dana, když jsme viděli, jsou binární žárovky, máme Scratch, jak Můžeme je kombinovat? A opravdu, je to naprosto v této místnosti něco, co někdo mohl udělat semestru end-- Je to reimplemented binární žárovky pomocí stejné rozhraní, které bylo na naší iPad ve středu. Takže teď, když jsem se vlastně klepněte na znaménko plus sem, máme jednu, dvě, tři. Můžu hit 16 a zase ten jeden na. 128, a tak dále. Teď, když to samo o sobě má a foukané svou mysl, byste mohli dělat věci mnohem dostupnější, nezahrnuje žádný hardware jistě. Jen věci na obrazovce sám. A opravdu to, co většina studentů nakonec dělá je nějaká hra, některé kus uměleckého díla, nebo nějaký druh interaktivní animace. A řeknu jeden z našich oblíbené je tenhle. A já myslela, že když jsme mohl ztlumit světla, budeme mít pohled na to finále Scratch projekt na závěr. Ale co budete mít na paměti, jak Můžu dráždit vás s jedním posledního detailu, krájení začne příští týden. Úřední hodiny začne příští týden. Problém nulování budou zveřejněny CS50.harvard.edu ještě dnes. A budete uvítáni v problému nastavení nuly na CS50 vlastní Zamyla Chan, který vede většinu našich návody. Jedná se o vložené video v problémových sady , která bude držet za ruku přes mnoho počáteční nastavení a přes mnoho z možných rozhodnutí designu. Takže pokud jste někdy měl ten cit Při vyzvednutí domácí úkol a přemýšlel, kde mám začít? Bude mít tento pro vás odpověď. A teď, Konečný program od jednoho ze svých předchůdců v odpovědi na otázku, "Co je liška říká?" [MUSIC YLVIS, "Co FOX říct?] YLVIS: (Zpívá) Pes běží tkanina. Cat jde mňau. Bird jde pípání a myš jde pískot. Kráva jde Moo. Žába jde kvákat. A slon jde toot. Kachny říci, šarlatán a ryby jít blub. A pečeť jde ow ow ow, ale je tu jeden zvuk, který nikdo neví, co liška říká? A David J. Malan: To je pro CS50. Uvidíme se na Puzzle den a v pondělí. [APPLAUSE] [MUSIC YLVIS, "co to liška říct?"] Vypravěč: A teď hluboko myšlenky, podle Daven Farnham. Dnes jsem se dostal do tvář s telefonním seznamem. Matoucí, protože jsem na domácí sledování online.