[Prehrávanie hudby] -Alright! Toto je CS50. Toto je CS50. Toto je CS50. [MUSIC - IGGY azalka, "FANCY"] -Moja Obľúbená spomienka z CS50 bolo, keď som išiel na Puzzle deň. -Probably Len čas strávil prácou na problémové sady so svojimi priateľmi a ľuďmi, ktorí Wold nakoniec stali mojimi blockmates. -Moja Najlepšie pamäte od CS50 je hackathon. -The CS50 hackathon. -Hackathon. -Hackathon. -Hackathon. -The Hackathon -Rob Bowden. Proste všetko, čo o ňom. [MUSIC - IGGY azalka, "FANCY"] -Moja Obľúbená spomienka je, keď som bol na etapa a ja som hral prestížnu rolu uzla [? v Linked?] [? List. ?] Kedy sme sa všetci dostali zadarmo Dropbox priestor a David bol rád, pozrite sa pod vašimi sedadlami. A bolo to ako priestor pre každého! [MUSIC - IGGY azalka, "FANCY"] -Moja Rady pre akýkoľvek prichádzajúci žiak by bolo naozaj pracovať na P-set s priateľmi. -Úřad Hodín je veľmi tvoj priateľ. -Uistite Väčšinu svoje skúsenosti a stretnúť sa čo najviac ľudí, ako môžete. Nebuď báť požiadať o pomoc. -štart P-sad na začiatku týždňa. Ja si myslím, že najväčší vec je využiť všetky prostriedky že CS50 má. -Choď Na úradných hodinách na začiatku týždňa. -Definitely Sledovať šortky. -Nebudem Odkladať na svojej P-sad. -Uistite Nájdete veľkú skupinu ľudí pracovať na P-sad s. Môžete mať veľa zábavy a získať prácu spoločne. Nebuď strach, aby sa zasadila seba. Prejsť na hacker vydanie niekedy. -Write Veci na papieri pred ste sa niekedy dotknúť počítača. -CS50 Je naozaj skvelá na poskytuje spôsoby, ako získať pomoc. -Moja Jeden kus poradenstvo je spánok. Má niekto povedal, že? Spánok, pre istotu. Je to jednoduché nerobiť, ale Musíš to urobiť, myslím. Ja by som naozaj psychicky pripravený pretože budete ho milovať. [MUSIC - IGGY azalka, "FANCY"] Toto je CS50. Toto je CS50. Toto je CS50. [MUSIC - IGGY azalka, "FANCY"] Toto je CS50. [APPLAUSE] David J. Malan: Tak toto je CS50 a to je na konci týždňa 0. A to bol len nejaký zamestnancov CS50, ktorí na vás čakajú nielen v sekciách a úradné hodiny, ale Aj tento rok víkend na CS50 Puzzle deň. Čo zase nie je všetko o programovaní. V skutočnosti, je to očakávať, že vás Nebudete musieť nič programovať, ale skôr riešiť problémy pomocou rozum a priatelia po vašom boku. Budeme sa pripojí niektoré z našich priateľov na Facebook-- ak sa zaregistrujete tady--, ktorí V posledných niekoľkých rokoch, boli skutočne písanie tieto výzvy s nami. A tak budú tie nakoniec beží Puzzle deň. A tak budete mať za úlohu s presne druhy vecí a problémy, ktoré ľudí na Facebook chcel premýšľať. Tak to je zajtra. Zaregistrujte sa na cs50.harvard.edu/register. Teraz pár slov o pár zamestnancov, najmä. Toto je Ansel Duff, kto je vlastne jeden zo spoluautorov z týchto binárnych žiarovky, ktoré sme videli v stredu, Okrem CS50 vlastné Dan Bradley. Ansel Duff bol tiež bývalý nováčik advisee môj pred 3 rokmi a on vlastne ani postavil pult. Odišiel na to technické vedy a ďalšie. Teraz sa jeho obraz je tu skutočne Ansel pred 3 rokmi na CS50 hackathon keď si požičal jeden z našich balóny, strčil ju do svojho notebooku, a pre ďalšie 12 niektoré zvláštne hodín, sa zameral na svojom poslednom projekte, Prestávky otvoriť iba tašky cukroví na hackathon. Ale on pokračoval v poslednej dobe na stráviť Tento rok v lete sa s nami, od CS50 pre svojich zamestnancov, a teraz študenti tomto semestri, má svoj vlastný 3D tlačiareň. A v kocke a 3D tlačiarne je zariadenie, ktoré vyzerá celkom takto. Vyplníte ho s plastovou cievkou , Ktorý je roztavený zariadením a budete stavať veci doslova z ničoho. Rovnako ako atramentovú tlačiareň, môžete začať vypľul malé bodky plastu , Ktoré tvoria spoločne so tvoria celé objekty. A tak Ansel napríklad skôr tento rok v lete, má iPhone 5 a rozhodol, že naozaj chcel aby pozdvihla ju na svojom stole. Ale on nechcel, aby ísť von a kúpiť niečo, z obchodu Apple a podobne, a tak sa Posadil sa a začal kresliť niečo. Urobil niekoľko meraní ako silná a, ako široký je jeho iPhone, vytiahol tento obrázok tu, sa rozhodol, že chce mať 75 stupňov sklon ako to bolo civel ho na stole tam. Potom sa obrátil to pomocou softvér, do modelu 3D CAD ktorý vyzeral trochu niečo také. A potom pokračoval, nakoniec skutočne vytvoriť. Takže v skutočnosti, ak je niekto z vás tu, snáď v rade, že môžem hodiť, mať an-- tam máme ľudí s iPhone 5, a tu máme ďalšie dva. Teraz Aby nezostal pozadu, CS50 vlastné Cheng Gong tiež uvedená tento rok v lete vybudovať docela málo vecí a, V skutočnosti, z dôvodov, ktoré sú stále nejasný, bol pomaly tlač armádu slonov s artikulovať zbraní a kmeňov. Pár z nich sú skutočne tu, ak niekto by teraz ako-- slona. V poriadku ,. ale to, čo Cheng tiež robil Pre nás je to veľmi láskavo nastaviť fotoaparát Pretože to slon, verte tomu alebo nie, trvá asi dva a pol hodiny k tlači. Dokonca aj stojan iPhone sa hodinu a pol na tlač. A čo Cheng išiel dopredu a urobil bol zriadený krásny fotoaparát pred tejto 3D tlačiarne, natočený na hodinu a polovica ako Ansel dizajnu vytlačí. Obtiahol sme nejaké sexi hudba k tomu, aby vám to dá pozerať ako 3D tlač funguje. A aj keď to je vlastne v plastu, uvedomiť, že pokiaľ ide o oblasť vás zaujímajú akademicky, tam sú ľudia, medzi je Jennifer Lewis tu v škole Engineering, ktorí sú v skutočnosti pracuje na 3D tlač plastových predmetov. Ale aj v stále väčšej miere, biologické materiály riešiť fyziologické problémy pre ľudí. Ale tu je trochu niečo z CS50. [LOUD MECHANICKÉ zvuky] David J. Malan: To neznie niečo podobné, že v skutočnosti, ale je oveľa chladnejšia na to pozerať pri tejto rýchlosti, a s týmto zvukom. Teraz, v stredu, ako sme najprv sa sem dostali? Začali sme hovoriť o počítači veda a pýtali sme sa, čo to je. A je to o veľa vecí, a tam je toľko rôznych smerov , V ktorom sa môžete vydať po kurze ako CS50. V skutočnosti, ak sa zdvihol jeden z tých neoficiálnych sprievodcov na CS von, brožúry, ktorá sme za predpokladu, nech už ste na mysli pri len CS50, alebo možno robí sekundárne, alebo možno aj sústredenie v SK, to listovať to. A uvidíte schéma smerom ku koncu, ktorý vám ukáže veľa rôznych smerov v CS, ktoré môžete zhasnúť. Ale pre dnešok budeme sústrediť opäť na naozaj jedna zo základných pohľadov, Možno, ak budete mať vstupy do problémov, Máte výstupy z problémy, a máte algoritmy, ktoré tvoria tie výstupy z týchto vstupov. A jeden taký príklad, bol Samozrejme, že tento telefónny zoznam tu. A bol použitý ako príklad ísť pomocou algoritmu, ktorý bol správny. A potom ešte jeden bol v poriadku, ale trochu rýchlejšie. A potom ešte jeden, ktorý bol trochu dramatickejšie, ale v podstate rýchlejšie. Jasne, telefón tejto knihe vyhlasoval, mal asi 1000 strán. A koľkokrát som sa trhať telefónneho zoznamu na polovicu nájsť niekoho, ako je Mike Smith, maximálne v 1000 stránkové knihy? Takže 10 mínus. A tak keď som roztrhol túto vec polovica, alebo jednoducho viac zrelo, rozdelený na dve polovice, je to len 10 strán z 1000. A ak ste extrapolovať, trochu nerealisticky pre telefónny zoznam, ale ak tento telefón kniha mala nejakú 4 miliardy stránok v ňom, tak úplne nemotorné fyzicky, koľko Časy sa rozdelíte 4000000000 strana telefónny zoznam na polovicu? Takže je to vlastne 32, dávať alebo brať. A len tak 32 krát, z vo výške 4 miliárd stránok, môže zistíte, že niekto, ako je Mike Smith. A to je efektivita. To je dobrý algoritmus, Trúfam si tvrdiť. Ale potom sme sa presťahovali z toho pokúsiť sa ju formalizovať. A ja som navrhol tento pseudokódu kód. Pseudokód kód nie je nič formálne. Nie je to niečo zapamätať. Je to proste niečo, čo vyjadriť pomerne intuitívne používať angličtinu, alebo akomkoľvek jazyku, naozaj, to vyjadruje svoje myšlienky stručne. Ale čo je kľúčom k pseudokód kód je to, že vás pokúsiť sa predvídať všetky možné prípady, ktoré sa môže stať. A skutočne, v tomto pseudokódu kód, tam boli naozaj tri prípadov zakaždým, keď som rozdelil do telefónneho zoznamu. Mike môže byť na ľavej strane. Mike môže byť doprava. Alebo by mohol byť priamo na stránke som na. Alebo štvrtiny roh prípad, aby som tak povedal. Zlý scenár by mohol byť jeden which--, čo sa deje? Mike to jednoducho nie je telefónny zoznam vôbec. A keď sa programy crash-- keď Mac a PC softvér, ktorý ste spustiť na vašich počítačoch niekedy visí, alebo neočakávane, že vo všeobecnosti znamená, že niektoré programátor, čoskoro nejaký človek, ako ste vy, proste podelal a urobil nejakú chybu. Možno, že netušil, že možno existuje Nie je Mike Smith v telefónnom zozname. A ak nemáte skutočne napísať Kód zvládnuť situácie, ako je to, všeobecne nepredvídateľné čo sa môže stať. Prístroj môže zamrznúť. Je možné reštartovať. Program môže prestať. A tak sa všetky tieto hlúposti, ktorú môže sa stretli vo vašom aktuálnom život len ​​pomocou počítača, bude stále len bagatelizuje touto intuíciou a toto chápanie toho, čo je vlastne deje pod kapotou. Teraz skúsme sa pozrieť v všeobecnejší problém. Skôr než aby účasť na mieste, ako je to, čo by bolo pomerne pomalé urobiť jeden, dva, tri, štyri. Alebo možno dve, štyri, šesť, osem. Zamerajme sa namiesto toho na ako by sme mohli formalizovať algoritmus procesu ktoré by sme mohli mať účasť. A po ceste, začnime použiť nejaký nomenklatúry že budeme používať dnes, keď sme vlastne začať s programovaním v jazyku. Tak ti dám teraz, štyri minútové video že sme dali dokopy s našimi priateľmi z TED, organizácie. Ktorým sme dodali skript a priviedli svoje animátormi niesť, a vlastne vytvoril 2D animácia o tom, čo je algoritmus. Ak by sme mohli stlmiť svetlá. [Prehrávanie hudby] Rozprávač: Čo je to algoritmus? Vo vede o počítačoch, Algoritmus je množina pokynov riešenie nejaký problém krok-za-krokom. Typicky, sú algoritmy vykonaný počítača, ale ľudia majú algoritmy tiež. Napríklad, ako by idete o počítanie počet osôb v izbe? No, ak ste ako ja, to by asi ukázať na každú osobu, jeden po druhom a počítať od nuly. Jedna, dve, tri, štyri, a tak ďalej. No, to je algoritmus. V skutočnosti, skúsme to sa vyjadriť trochu viac formálne v pseudokódu kóde. Angličtina-like syntaxe pripomína programovací jazyk. Nech n rovné 0. Pre každú osobu v izbe, nastaviť n rovné n plus 1. Ako interpretovať pseudokódu? No riadok jeden prehlasuje, aby som tak povedal, premenné volal n a inicializuje jeho hodnotu 0 to len Znamená to, že na počiatku nášho algoritmu, vec, s ktorou sme Počítanie má hodnotu 0. Po tom všetkom, než začneme počítať sme sa nepočítajú zatiaľ nič. Volanie tejto premennej n je len konvencie. Mohol som to nazval najviac čokoľvek. Teraz riadok dva demarks začiatok slučky, sled krokov, ktoré budú opakovať určitý počet opakovaní. Takže v našom príklade krok sme odber je počítanie ľudí v miestnosti. Pod linke dve je čiara tri, ktoré opisuje presne tak, ako pôjdeme o počítanie. Odsadenie znamená, že je to čiara tri, ktoré sa bude opakovať. Takže s pseudokód kód Hovorí sa, že po spustení na 0 pre každú osobu v izba budeme zvyšovať n o 1 Teraz je tento algoritmus správny? Tak poďme bang na neho trochu. Funguje to v prípade, že sú dvaja ľudia v miestnosti? Poďme sa pozrieť. V prvom riadku môžeme inicializovať n 0. Pre každý z týchto dvoch ľudí, sme potom zvýšiť n o 1. Takže v prvom cestu cez slučky, aktualizujeme n 0-1. Na druhej ceste po ktorej Rovnaký cyklus, aktualizujeme n 1-2. A tak tým, že tento algoritmus je koniec, n je 2, ktorý skutočne zodpovedá počtu ľudí v miestnosti. Tak ďaleko, tak dobrý. Ako sa o rohovú prípade keď? Predpokladajme, že existujú ľudia, 0 v room-- okrem mňa, kto je robí počítanie. V prvom riadku sme znova inicializovať n 0. Tentoraz však rad tri nevykoná vôbec pretože tam nie je človek v miestnosti. A tak zostáva n 0, čo napokon zodpovedá počet ľudí v miestnosti. Celkom jednoduché, nie? Ale počítanie ľudí jeden po druhom je veľmi neefektívne, taky, nie? Iste môžeme robiť lepšie. Prečo nie počítať dvoch ľudí naraz, namiesto počítanie jeden, dva, tri, štyri, päť, šesť, sedem, osem, a tak ďalej. Prečo nie počítať dva, štyri, šesť, osem, a tak ďalej? Dokonca znie rýchlejšie. A to iste je. Poďme vyjadriť túto optimalizácii v pseudokódu kódu. Nech n rovné 0. Pre každú dvojicu ľudí v izba, nastavte n rovné n Plus 2. Celkom jednoduché zmeny, nie? Skôr než počet ľudí jeden po druhom, Ale namiesto toho sme počítať dva naraz. Tento algoritmus je, teda, dvakrát tak rýchlo ako posledný. Ale je to správne? Poďme sa pozrieť. Funguje to v prípade, že sú dvaja ľudia v miestnosti? V prvom riadku, sme inicializovať n 0. Pre tento jeden párov ľudí, sme potom prírastok n o 2. A tak tým, že tento algoritmus je koniec n je 2, ktorý skutočne zodpovedá počtu ľudí v miestnosti. Predpokladajme, že existujú ďalšie nula ľudí v miestnosti. V prvom riadku môžeme inicializovať n 0. Rovnako ako predtým, riadok troch nevykoná všetko , Pretože tu nie sú žiadne pary ľudí v miestnosti, a tak zostáva n 0. Čo napokon zodpovedá počet osôb v miestnosti. Ale čo v prípade, že sú Traja ľudia v miestnosti? Ako tento algoritmus cestovné? Poďme sa pozrieť, na linke jedna, budeme inicializovať n 0. Pre dvojicu tých ľudí, sme potom prírastok n o 2. Ale čo potom? Tam nie je ďalší plný pár ľudí v miestnosti, takže linka dva už neplatí. A tak do konca tohto algoritmu je, n je 2, ktorá ešte nie je správne. V skutočnosti tento algoritmus je povedal, aby byť buggy, pretože to má chyba. Poďme náprava s niektorými Nový pseudokód kód. Nech n rovné 0. Pre každú dvojicu ľudí v izba, nastavte N rovný n Plus 2. Ak je jedna osoba zostáva nepárové, nastavenie N sa rovná n plus 1. Ak chcete vyriešiť tento konkrétny problém, máme zavedené štyri stav, inak známy ako vetva, že systém vykonáva iba v prípade, že je jeden človek, ktorého sme nemôže spárovať s iným. A tak teraz, či už je tu jeden, alebo tri, alebo akýkoľvek nepárny počet ľudí v miestnosti, Tento algoritmus bude teraz počítať. Môžeme to urobiť ešte lepšie? No, mohli by sme počítať do tretice, alebo štyri, alebo dokonca päťky a desiatky, ale za to, že to dostane trochu ťažké bodu. Na konci dňa, či popravený počítača alebo človeka, algoritmy sú len súbor inštrukcií s ktorou riešiť problémy. Títo boli len tri. Aký problém by vám riešiť s algoritmom? David J. Malan: Tak schválne, veľmi jednoduchý program, veľmi jednoduchý algoritmus, pre dosiahnutie čo veľmi jednoduché, počítanie počet osôb v miestnosti. Ale poďme odhaliť, niektoré zástupcu k dispozícii tu, že sú v skutočnosti bude užitočné, aj keď , Ktorým sa vykonáva väčšina komplexný softvér. Tak napríklad, v tomto prvom riadku, máme to, čo nazývame premennú, a z algebry, ste všeobecne oboznámení pomocou x a y a z niekedy, a tak ďalej. Ale v programovaní, premenné sú stále, na konci dňa, veľmi podobný. Ale je to možno jednoduchšie si myslieť, premenné ako len nádobky. A v skutočnosti, je to nejaký počet bitov implementovaná nejakým spôsobom na pevnom disku alebo v pamäti počítača, ale o tom viac v budúcnosti. Je to len obal. A ak sa vám niečo povedať ako Nech n rovné 0, dobre, že je to ako volanie toto sklo misa tu n, stačí ľubovoľný názov, a uvedenie nič v ňom spočiatku. Takže hodnotu tohto misa teraz je nulová. A samozrejme, ak vnímate v nasledujúcom riadku, skutočne zvýšiť nejakú líniu kód, ako je v tomto treťom riadku tu, o 1, to je ako tvrdiť, že to, čo je súčasná hodnota n, to je 0, a 1, dať niečo ako ping pong loptičku tu. Teraz je hodnota tejto premenná je jednoducho jedno. A tie by mohli veľmi rýchlo odvodiť, ale teraz je to 2, teraz je to 3, a tak ďalej. Tak to je všetko, je premenná. Je to kus skladu vlastne ukladať niektoré dáta. Pre túto chvíľu je to ping pong loptičku. K dispozícii je celý rad. Ale mohlo by to byť slová v slovník, rovnako ako kontrolu pravopisu Zmienil som sa v stredu pre jeden z minuloročných problémov sád. Teraz ďalšie kľúčovou myšlienkou, že podobne je celkom intuitívne by som tvrdiť, je to, že na slučke. A slučka v procese počítanie každého je, samozrejme, to isté znovu vec a again-- buď jeden v dobe, alebo po dvoch. A môžete to vyjadriť v angličtine, alebo pseudokódu kód, v mnohých rôznymi spôsobmi, ale pomocou tejto väzby "pre" je veľmi bežný spôsob, ako to dosiahnuť. Pre každú osobu v miestnosti, postupujte nasledovne. Znovu a znovu. A skutočnosť, že je to odsadený riadok tri, jednoducho znamená, že to, čo máš robiť je látka, ktorá je odsadená pod čiarou dva sám. Len ľudské konvencie, ale obyčajný ako uvidíme v skutočnej Vyššia programovacie jazyky na úrovni. Teraz trochu zaujímavejšie je keď sa dostanete do rohu prípadu. Napríklad, rohový Prípad bol v prípade, že boli traja ľudia, alebo päť alebo sedem, alebo akýkoľvek nepárny počet ľudí v miestnosti, pretože tým, že po dvoch brzdami nakoniec preto, že si bude chýbať niekto, a to buď na úplne na začiatku alebo do samého konca V závislosti na tom, ako to urobiť. A tak teraz, mám túto pobočku, alebo stav, ak sa jedna osoba zostáva, potom choďte do toho a zvládnuť, že jeden osamelý človek, ktorý nedostal spárovaný s niekým iným. Takže to je to, čo by sme nazvali stav, alebo pobočka. Teraz pseudokód kód všeobecnejšie môžu byť písomné riešiť ľubovoľný počet problémov. A to, čo som myslel, že by som urobiť, tu je chvíľku pozvať povieme CS50 je vlastné Rob Bowden na javisku aby sa pripojil dvoch dobrovoľníkov, ktorí nemajú tušenie, čo ich čaká. Ruka išla dole, akonáhle som to povedal. Ako sa o vás na skončí tu, poď hore. A ako je to z väčšej ďaleko, ako je to tam vzadu. Zadný rad, poď si s rukami nad hlavou. Dobre, a Ako sa voláte? ANITA: Anita. David J. Malan: Anita. Dobre, rád ťa spoznávam. Dovoľte mi, aby som vám predstavil Rob Bowden. To je Anita. A aké je vaše meno? Kiersten: Kiersten David J. Malan: Kiersten. Kiersten, poď hore a spĺňajú Rob Bowden a Anita. Teší ma. Kiersten: Teší ma. David J. Malan: Dobre, Rob. ROB BOWDEN: Teší ma. David J. Malan: Anita. Kiersten: Ahoj Anita. David J. Malan: A tvoj niekoľko sto spolužiaci. Tak, teraz nechaj ma ísť dopredu a vytiahnite up len jednoduchý program tu na Mac OS, ktorý ma nechal vlastne zapisovať si poznámky dole. A ak vy chcete každý sa poloha v jednej z týchto škôl tam, nechaj ma ísť napred a začína zoznam z pseudokódu kódu, ak chcete. A to, čo chcem robiť tu, nakoniec je typ pre vás niektoré inštrukcie, že naša diváci sú v skutočnosti bude prednášať pre nás. Nechaj ma ísť napred a len zmeniť na číslovaný zoznam tak, aby zodpovedala čo sme robili tam. A čo budem robiť s vašu pomoc, je napísať program, v pseudokódu, ktorý sa títo ľudia idú realizovať arašidy maslo a želé sendvič. Takže je to možno apropos na niečo ukázať, že niektorí z vás mohli vidieť na internete len na krátku chvíľu nepríjemné. [MUSIC BUCKEWHEAT BOYS ", arašidové maslo  JELLY TIME "] David J. Malan: OK. To je dosť. Tak tu zatiaľ, mám Pár Google okuliare, ktoré dáme na CS50 vlastné Rob Bowden vidieť svet jeho očami. A my sa budeme snažiť na príspevok výroba skutočne tkať záznam toho, čo Rob vidí Teraz do tohto skutočného prednášky Video s našimi dvoma dobrovoľníci vedľa neho. Takže to, čo budem robiť je, budem pisár. Máme cieľ tu na vlastne písanie programu s ktorou, aby sa nakoniec arašidové maslo a želé sendvič, ale títo traja budú správať ako keď sú počítače. A počítača, na konci dňa, sú vlastne celkom hlúpe zariadení. Sú super rýchly, ale len oni môžu robiť doslova čo sa im povie. Nemôžeš jednoducho povedať, aby arašidy maslo a želé sendvič. Musíte naprogramovať, aby robili to. Musíte im povedať, presne, čo má robiť, menej sa mi to hrozne, a dúfajme, zábavne nakrivo. Takže s tým povedal, že potrebujeme jeden call-out z publika na to, čo by malo posilniť jeden byť, v prípade, že cieľom tu je, aby sa arašidy maslo a želé sendvič. Áno? Divákov: [nepočuteľné] vrece chleba. David J. Malan: Otvorte sáčok chleba. Takže v prípade, že traja súťažiaci by chceli pokračovať k tomu, že doslova. Otvorte sáčok chleba. [Publikum smiech] David J. Malan: Tak poďme na tom pracovať. V poriadku. Takže krok dva, Jak-- Poďme si to ďalej. Jo, v prednej časti. Divákov: [nepočuteľné] chlieb. David J. Malan: Čo je to? Divákov: Vyberte chlieb. David J. Malan: Vyberte chlieb. Podobne stručné. Ďakujem vám. [APPLAUSE] David J. Malan: To je všetko? OK, tak krok dva sa deje byť odstránenie chleba. Dobre, niekto bude chcieť napíšte nám dlhšiu vetu? Niekto iný? Trochu viac [nepočuteľné]. Nie, nič teraz. Áno? Divákov: Namiesto dvoch plátky vedľa seba. David J. Malan: Miesto dvoch plátky vedľa seba. [Publikum smiech] David J. Malan: Miesto dvoch plátky vedľa seba. Krok štyri. Áno? Divákov: Vezmite svoj ručne a nastavte ju na ľahkú váhu na hornej strane veka arašidové maslo. [Publikum smiech] Divákov: [nepočuteľné] vedľa arašidové maslo. David J. Malan: Čo je? Povedz to ešte raz. Divákov: Odskrutkujte viečko a dať sa jemne vedľa arašidové maslo. David J. Malan: Dajte ju jemne vedľa arašidové maslo. OK, pokrok. Krok päť. Výborne. Áno? Zoberte nôž. David J. Malan: Zdvihnite nôž. OK, krok šesť. Jo? Divákov: Držte nôž za rukoväť. David J. Malan: Podržte nôž za držadlo. Držte nôž za rukoväť. Krok sedem. Áno? Divákov: [nepočuteľné] nôž arašidy maslo a ako málo z [nepočuteľné]. David J. Malan: Dajte nôž v-- I počul "dať nôž arašidové maslo a trvať len tak, ako je to možné. " Mimochodom, odstráňte najprv papier. Dobre, krok deväť. Krok deväť. Krok deväť. Sme vlastne urobili sendvič ešte. Áno? Divákov: Použitie nôž arašidové maslo, platí arašidové maslo na uvedenom chleba. David J. Malan: Použitie nôž arašidové maslo, arašidové maslo aplikovať na povedal chleba. [Publikum smiech] David J. Malan: Dobre krok 10. Krok 10. Áno? Divákov: Chuť arašidy maslo pre zabezpečenie kvality. [Publikum smiech] David J. Malan: Krok 11. Krok 11. Krok 11. Poď. Jo? Presne tam. Divákov: Opatrne vyzdvihnúť želé. David J. Malan: Opatrne vyzdvihnúť želé. OK, a potom ďalšie ruka hore. Hneď za vami. Jo, v modrej farbe. DIVÁKOV: Dobre, vyberte veko z [nepočuteľné], jo, odstrániť veko z želé. [Publikum smiech] David J. Malan: Z želé. Ha ha. [Publikum smiech] David J. Malan: A? Divákov: A sotva zamiesť nejaký [nepočuteľné]. [Publikum smiech] DIVÁKOV: Samozrejme, pred [nepočuteľné] vyberte papier zo želé. David J. Malan: Vyberte papier zo želé. Krok 14. Už sme skoro tam. Áno? Divákov: Invert želé fľašu než všetko vypadne. David J. Malan: Invert želé Fľašu pred želé vypadne. Krok 15. Divákov: Vymeňte uzáver. David J. Malan: Vymeňte uzáver. Krok 16. Jo? Divákov: [nepočuteľné] David J. Malan: Povedz to ešte raz. Divákov: Vezmite viečko z vášho želé. David J. Malan: Off vašej želé. Takže opravdu-- Oops. Poď. Vymeňte uzáver. Dajte cap-- Povedal si, že odstráňte viečko z želé. Pocit, že sme v trochu slučky. Krok 17. Áno? Divákov: [nepočuteľné] David J. Malan: Povedz to ešte raz. Divákov: [nepočuteľné] David J. Malan: Ísť späť na step-- Divákov: [nepočuteľné] David J. Malan: Odstrániť čiapka z arašidového masla. Áno? DIVÁKOV: Zrušte všetky želé na chleba. David J. Malan: Zrušte všetky želé na chleba. David J. Malan: Už sme skoro tam. Krok 19. Divákov: Odstráňte prebytočný želé. David J. Malan: Haha, želé. [APPLAUSE] David J. Malan: Prečo my-- ešte jeden krok, aby sa tento domov. Ešte jeden krok a potom budeme slúžiť sendviče. Áno? Divákov: [nepočuteľné] David J. Malan: Pri každom sendvič remains-- Poďme zarážka tohle-- jesť. [Smiech z publika] David J. Malan: Dobre, ďakujem budete s našimi dobrovoľníkmi tu. [APPLAUSE} David J. Malan: Máme nejaký pekný rozlúčka darčeky pre každého z vás. Vaše vlastné arašidové maslo, želé, a chlieb priviesť späť domov. Ďakujem vám. Kiersten: Ďakujem. David J. Malan: [nepočuteľné] vítané. [APPLAUSE] David J. Malan: Tak, to je, na Samozrejme, že absurdné príklad. Je to tak? Ale to je trochu odhaliť, ako sa ľudia len sa jasnosť za samozrejmosť. A fakt som hovorí k inému človeku, on alebo ona proste vie, čo máte na mysli. Počítače sa nebude vedieť, čo máte na mysli, aj pri použití, ako sa chystáme urobiť dnes, programovanie niečo Scratch, drag and drop, skladačky štýl jazyka. Dokonca určený pre mladých deti, máte byť tak jednoznačné a tak literál to, čo chcete, aby váš program robiť. Teraz konečne sme bude programovanie nie v pseudokódu kódu, Angličtina ako syntax, ale kód alebo, presnejšie, zdrojový kód. Zdrojový kód je len ozdobný spôsob, ako pre opis kód, ktorý ste vlastne písať s klávesnicou, ktorá je nie je v angličtine ako takej. Je to v C alebo Java alebo C ++ alebo tak niečo ako to, ako skoro uvidíte. A v skutočnosti, len postrašiť málo z vás, na prvý pohľad, je to napísaný v jazyku programe volal C. Ale un-vydesiť niektoré z vás, budete úplne pochopiť, čo sa deje Na prísť budúci pondelok, kedy ju príde na niečo, ako je toto. Úprimne povedané, je to staršia jazyk. To je celkom tajomný, ale je to zástupca z mnohých jazykov v týchto dňoch, že majú veľa zátvoriek a kučeravé traky a úvodzovky a bodkočiarkami. A mnoho z tejto syntaktický veci, ktoré nie je vôbec intelektuálne zaujímavé. V skutočnosti, to je úplný rozptýlenie od veľmi jednoduchých nápadov že nám hľadí do tváre. Tento program, ako by sa dalo len hádať, tlačí na niečí obrazovke počítača sa slová "Hello čiarka sveta." To je všetko. Tak jasne, že je veľa vecí, ktoré je dostať v ceste Existuje nejaký samozrejmosť, ale bude to veľmi rýchlo vkĺznuť preč a úplne intuitívne. V skutočnosti to, čo budeme robiť dnes je destilovať to pomerne zložitý hľadáte program, ktorý zase prídeš pochopiť rýchlo, ale k niečomu oveľa jednoduchšie. Povedzme, že to, čo máme na mysli. Poďme nakresliť obrázok toho, čo máme na mysli, prostredníctvom týchto dielikov tu. Tak toto je programovanie jazyk známy ako Scratch. To bolo vyvinuté MIT Media Lab. A to, čo uvidíte v probléme nastavenie na nulu, ktoré budú zverejnené neskôr v noci, budeme musieť ísť na to URL tu scratch.mit.edu. A oni majú web rozhranie, cez ktoré vychádza budete písať svoj prvý program. Alebo tých z vás s pred skúsenosti, váš druhý program, ale v prostredí, ktoré je asi trochu neznáma a že bude tlačiť, aby ste niečo vytvoriť Pomocou tohto veľmi vizuálne prostredie. A teraz, čo budem robiť tu je otvoriť program sám. Existuje nielen ako webový prehliadač, ale aj ako k stiahnutiu programu takže môžete skutočne použiť v prípade, že nemáte prístup k internetu. A ja budem robiť, že Tu, v Sanders, len v prípade, Wi-Fi, nie je spolupracovať extra dobre. A to, čo budem robiť, je bod z niekoľkých vlastností tohto programu. Tak, aby bolo jasno, ja mám len double kliknutí na ikonu na mojom desktope, alebo ekvivalentne šiel do scratch.mit.edu, a to vytiahol toto okno. Jedná sa o programovacie prostredie. To je kus softvéru, ktorý niektorí z našich priateľov na MIT napísal, že nech je nás a píšete programy v jazyku s názvom Scratch. Teraz sa to stane, že je mačka, ktorá je tiež pomenovaná Scratch a to je jeho svet, v ktorom žije. Ide o fázu, tak povediac, že obdĺžnik v ľavom hornom rohu. A to nemusí vyzerať ako mačka. Môžete ho hľadať ako nič a vy môže mať mnoho takých škriatkov, alebo znaky, v programe. Medzitým, tu na ďaleko Dobre, je to veľký nepopísaný list. A to je miesto, kde, v okamihu, sa chystáme začať programovať pretiahnutím Tieto grafické puzzle kúsky, ktoré sú priamo tu uprostred. A je tu spôsob, ako viac, než budeme tráviť čas tu v triede pretože zistíte, že všetci sú celkom intuitívne. Opäť platí, že je navrhnutý pre deti, ale použiť na srandista oddelene niektorí z tých, základné myšlienky premenných, slučky, podmienky, a čoskoro sa veci ako funkcie a udalosti a nite a iné ozdobné veci, ktoré sme si dostať sa onedlho skutočne vytvoriť niečo od nuly. Slovná hračka určená. A teraz, čo budem robiť, je tu kliknite na ne pohyb, ale kontrolu. A to je len kategorizácia tady-- a vidím iný Farba sada blokov. Ale všimnite si, že niekoľko známych slov. "Ak je" a "else if" a "opakovanie". A asi tušíte to pripomína pobočky, alebo podmienky sme videli, a i slučka konštrukcie. Takže máme tu v podobných blokov. Ale najzaujímavejšie jeden je toto tu. Ak je táto zelená vlajka kliknutí to, pre tých, ktorí s predchádzajúcim programovania skúsenosti, je ekvivalentná na hlavnú funkciu. Ale pre tých, ktorí nepoznajú, je to kúsok skladačky že bude naštartovanie celý náš program. To doslova znamená, že keď odídem, v tomto programu, a kliknite na zelenú flag-- ktoré môžete vidieť tu v v ľavom hornom rohu používateľského rozhrania, tak vidieť zelenú vlajku vedľa červené stopke? Keď kliknem, že môj Program bude spustený. Teraz idem niečo robiť super jednoduché s Scratch. Chystám sa ísť dopredu a prejdite na panel vyzerá tu, kde mám veľa fialové skladačky, a ja idem ďalej a robiť niečo super jednoduché, ako, povedzme. A potom-- upozornenia tento text v bielom poli je editable-- budem hovoriť "Hello world", rovnako ako my bolo v tej textovej verzia pred chvíľou. A teraz keď som ísť a kliknite na toto zelená vlajka, som naprogramovaný. Nie je to zvlášť zaujímavý program, ale urobil som počítač niečo urobiť. Začal som program, a to urobil to, čo som povedal, že to robiť. Teraz môžu aj naďalej drag and drop stále viac a viac z týchto dielikov a idú do seba zapadajú, ale Poďme udrieť nejakú terminológiu tu že uvidíme opakujúce sa v ďalšom priebehu, a naozaj celej počítačovej vedy a programovanie všeobecne. Tento "hovoria" blok, vo fialovej, poďme začnite volať vyhlásenie. Je to ako konštatovanie faktu. Urob to. Takže, je to kategória pokyny, ktoré môže kŕmiť počítač ako súčasť programu alebo algoritmu. A aby bolo jasno, vy ste pravdepodobne považovať za samozrejmosť že máte programy v počítači. A oni sú druh algoritmov, ale Program je naozaj veľa algoritmov že niektorí ľudia písal. Sú balené ju a ho predali, takže vás, alebo oni zverejnené na internetových stránkach si môžete stiahnuť. Takže program je len Celá banda núl a jednotiek že nejako ľudia vytvorili. A tie vzory núl a Tie predstavujú veci, nakoniec, ako "hovoria, Hello World" alebo "PLAY táto hudba "alebo" prehrať toto video " alebo "poslať e-mail." Ale vrátime sa do oveľa viac detail toho, čo Program je, keď, sami, napíšte ich. Tu je ďalší statement-- "Počkajte na jednu sekundu." Nechcel som použiť ešte, ale ak chcem môj program sa zastaví na chvíľu niečo urobiť, môžem povedať, že tak urobiť. Počkajte jednu sekundu. Teraz ešte jeden by mohol byť "prehrávať zvuk." Takže, to je jedinečné nuly, to má schopnosť prehrávať zvuky. Takže tvrdenie by som mohol Použitie je tu, "prehrávať zvuk." Medzitým, Boolean výraz, takže je to milovník slovo pomenovaný po len chlapík menom Mr Bool, a to je všetko o otázku. Pravda, alebo false-- je myš dole? Boolean výraz je jednoducho nejaký výraz v angličtine ktorá je buď true alebo false. Zapnutý alebo vypnutý. Jedna alebo nula. Môžete si ju v mnohých rôznymi spôsobmi, ale je to buď pravda, alebo táto falošná nakoniec. Takže "mouse down otáznik," že by Boolean výraz. A vy môžete myslieť na iné, možno. Napríklad, "je vľavo číslo menej ako pravé číslo? " Aj to by bolo Boolean výraz. "Menej ako" je logický výraz. Ten tiež, "dojemné ukazovateľ myši." Nie som si istý, prečo sa nazval ukazovateľ myši. To len znamená, že je kurzor, je šípka na obrazovke dotknete mačku, napríklad. Alebo nejaký iný aspekt obrazovky. A to je otázka, znovu a že označuje logický výraz. Niečo, čo by mohlo chcú použiť v takom stave. Takže budeme sa k tomu za chvíľu. Môžete si "a" veci dohromady. Takže, ak chcete skontrolovať, či tento je prípad, a že je to tak, môžete použiť "a" blok, ako je tento. A tu je to podmienka. Všimnite si tvare malého otvoru v hornej časti tejto žltej puzzle, to pripomína tvarom že sme práve videli pred chvíľou. Každá z týchto boolovských výrazov majú tieto špicaté hrany na ľavej a pravej strane. A to preto, že ľudia z MIT sa rozhodol že vizuálne dopravných tvarov, môžete trochu pomôcť ľuďom, študenti aj deti, tak nejako vyplniť prázdne miesta doslova. Teraz, keď puzzle-- že otvor je trochu malý, a ako uvidíme v programe, v Scratch, bude rásť, aby sa zmestili. To bude udržiavať svoj tvar, nakoniec. Takže stav, poďme sa rozhodnete "Mal som niečo urobiť, alebo nie?" Boolean výraz je však otázka používate rozhodnúť, mám ísť na doľava alebo mám ísť doprava keď sa stretnem to takzvaný rázcestí? Môžete mať dve vetvy. Ak je niečo pravda, to to, inak ísť tadiaľ, alebo môžete len robiť vôbec nič Ostatne, tento blok samozrejmosťou. Rovnako tak môžeme hniezdo tieto veci. Takže ak chcete strojnásobiť vidličku cesty, a to buď toto, alebo to či ono, Stačí si len hniezdo tieto veci dohromady. A to začína byť trochu škaredý, prípadne, pre istotu, ale logika je stále rovnaký. Môžete si doslova prečítať to zhora nadol a hovorí, že to, čo means--, ak to je pravda, to, else if else. Slučka nedostane jednoduchšie Scratch. Forever vykonajte nasledujúce kroky. Teraz si asi nemyslel, že ťa môže urobiť veľa, pretože tam nie je veľký priestor medzi hornou a Spodná časť tohto otvoru kúsok skladačky. Ale uvidíte Scratch bude rast, aby sa zmestili čo najviac skladačky ako chcete napchať tam. Ďalšie slučka môže byť vyjadril sa opakuje. Ak viete vopred, "ja Chcete niečo urobiť 10 krát, " stačí povedať Scratch niečo urobiť 10 krát. A medzitým, môžeme mať premenné. Tak tu je ľubovoľný jeden, to je oranžová v tomto prípade, a to je víchrica tour. Opäť platí, že nájdete to veľmi dobre prístupný Akonáhle začnete kliknutím myšou. Ja som pomenoval svoju premennej n, ale mohol označil to, čo chcem, a ja som to nastavenie je tu, v Táto ľubovoľný príklad, na nulu. Teraz vidí program ako ahoj svet nie je tak presvedčivé, tak sa poďme skutočne otvoriť niečo že bývalý študent vykonať. Nechaj ma ísť napred a otvoriť, Napríklad tento tu, za čo by som rád mať dobrovoľníka. Dobre, ako o-- poďme ďalej. Áno, poď hore. Ako sa voláte? ABBY: Abby. David J. Malan: Abby, poď hore. Takže už ste niekedy hrali táto hra predtým? ABBY: Nie David J. Malan: Dobre. Davide, rád ťa spoznávam. Poď. A čo je váš dramaturgický pozadia, ak existujú. ABBY: Naučil som sa trochu C ++. David J. Malan: Naučil si sa niečo C ++. A čo je vaša hra hrá na pozadí? ABBY: Nie je moc. David J. Malan: OK, takže to vezmem. Takže tu je návod, ako sa hra bude fungovať. Chystám sa ísť dopredu a kliknite na zelenú vlajočkou, ktorá je tu v pravom hornom rohu. Teraz je Váš predchodca v triede vám dal nejaké inštrukcie tu. A za chvíľu to, hovorí, že "priestor pre začatie." Takže choďte do toho a stlačte medzerník. Počítačová hra: Pikachu. David J. Malan: A cieľom je chytiť potraviny, ako je znázornené tu na ľavej strane. A [nepočuteľné] [GAME prehrávanie hudby] David J. Malan: Aww, dobre, Ďakujem vám za hranie. Máme tu trochu darček na rozlúčku pre vás. Máme CS50 stres loptu, ak chcete vybrať. Dobre, dobre, že vás spoznávam. Ďakujem, že ste prišli a náročné. Takže máme väčší dôraz gule, tak poďme urobiť ešte jeden príklad motivovať. Dobrovoľník? Dobre, a čo tu vpredu. Ako sa voláte? Phillip: Phillip. David J. Malan: Phillip. Poď hore, Phillip. Takže, Phillip bude napádal s inú hru že jeden z vašich predchodcov napísal ako súčasť problému nastavenie na nulu, volal Ivy Najťažšie hra. A uvidíme, v niekoľkých chvíle, čo sa tým myslí. Phillip, rád ťa spoznávam. Aká je vaše pozadie? Phillip: Hotovo veľa kódovanie. Hotovo trochu hrania, taky. David J. Malan: OK. Mám veľa hier, taky. A už ste hrali túto hru predtým? Phillip: Nie David J. Malan: All Dobre, takže ideme na to. Chystám sa ísť dopredu a kliknite na zelenú vlajku. [GAME MUSIC] [MUSIC MC HAMMER, "U nemôže dotknúť tejto"] Phillip: [nepočuteľné] David J. Malan: [nepočuteľné] Phillip: [nepočuteľné] [Smiech] [MUSIC MC HAMMER, "U nemôže dotknúť tejto"] David J. Malan: [nepočuteľné] Pluh cez to. Phillip: [nepočuteľné] David J. Malan: Choď do toho. [MUSIC MC HAMMER, "U nemôže dotknúť tejto"] David J. Malan: Dobre. Blahoželáme. [APPLAUSE] David J. Malan: Budeme Príspevok, ktorý on-line neskôr tak ktoré môžete odkladať s tým, ako dobre. Princeton príde ďalej, po tom. Takže teraz poďme vlastne postupovať začať od nuly, aby som tak povedal, a vlastne stavať až do môžeme odhaliť, niektoré z týchto myšlienok a dostať sa do niečoho ešte zložitejšie do konca. Chystám sa ísť sem a idem ísť dopredu a vytvoriť nový súbor. Takže znovu, problém so set chodiť môžete pomocou niektorej z týchto krokov. Ale všetko, čo som urobil, bolo ísť do ponuky Súbor a ja povedal: "nové", a tak rovnako ako Microsoft Word, alebo akýkoľvek program, ako je to. A poďme pokračovať teď-- a my implementovaný "Hello world" pred chvíľou, ale poďme urobiť niečo trochu krajší. Chystám sa ísť do akcie. A ja budem robiť ", keď zelená vlajka klikli. " A potom budem používať, povedzme, pobočku. Takže budem používať "keby" stave. A všimnite si, ako, akonáhle sa dostanem blízko na to, že chce, aby do seba zapadajú. Tak som sa pustil a zaklapne dohromady. A teraz môžem urobiť niečo zaujímavé. Keby som prechádzať tu, idem vidieť veľa blokov. Ak idem do "dáta" - dovoľte mi, aby som zoom v-- Tam je niečo o premenných. Ak idem do "pohybu", môžete zrejme obrátiť veci okolo. Ak idem na "prevádzkovateľa" - oh, to je zaujímavé, Môžem si vybrať náhodné číslo. Tak ma nechaj robiť niečo len s určitou pravdepodobnosťou, len preto, že. Chystám sa ísť dopredu a presuňte tento kúsok skladačky, to je, že menej ako blok, takže je to len "Je toto číslo menšie, než táto?" Ale ja nechcem pevný kód číslo pretože to bolo celkom zbytočné. Takže budem ťahať tento kus tú, a všimnite si, ako to zapadne dovnútra, a teraz nechaj ma ísť dopredu a povedať "ak číslo, ktoré je vybraná náhodne je menej ako šesť, vykonajte nasledujúce kroky. " A teraz, prečo menej ako šesť? Čo pravdepodobnosť je to skutočne dám ja, len intuitívne? O 50%, nie? Ak je číslo, ktoré je asi náhodne medzi 1 a 10 menší ako šesť, jasne, že je to jeden, dva, tri, štyri alebo päť. A tak, čo sa deje sa mi 50% pravdepodobnosť toho, čo sa deje? Tak poďme niečo také toto, "Prehrať zvuk mňau." A oznámenia, opäť skladačky rastie , Aby sa zmestili, tak dlho, kým sa tvary zodpovedajú. To je to, čo je dôležité. Nechajte ma prejsť na Scratch tu a kliknite na tlačidlo "Play". Nič sa nedeje. Je to chyba? Nie, nie je nutné. To by mohlo byť, že len bol zvolený väčší počet. Tak ideme na to znova. Nič. [MEOW] David J. Malan: Tu to je. [MEOW] David J. Malan: Opäť. Nie [Mňaučanie] David J. Malan: Takže, ak ste niekedy hrali hru, samozrejme, kde veci sa deje náhodne, ako zbabelcami prichádza, alebo nie prichádza na obrazovku, alebo veci padajú, alebo nie klesá, to je len preto, že niečo výborný jednoduché, ako sa to deje. Vyberte si náhodné číslo, a ak je je to menej, než nejakú hodnotu, Možno, že to, alebo možno to. Môžeme začleniť , Že do stavu. Poďme robiť niečo iné. Dovoľte mi, aby som hodiť to preč. Môžete sa zbaviť vecí, ktoré jednoduchým pretiahnutím ho doľava a pustil. Nechaj ma ísť napred a to navždy blok a veľmi rýchlo niečo nepríjemné. Nechaj ma ísť napred a povedať: "Prehrať zvuk mňau." Ale ja nechcem byť príliš nepríjemné, tak nech mi chytiť tento blok, "Počkajte jednu sekundu" a oznámenia tam nie je miesto pre neho. Ale ak ste dostatočne blízko, chce tam ísť. Tak som sa pustil, a to bude rastú vyplniť blok. Takže teraz je to slučka. [Mňaučanie] David J. Malan: Som doslova robiť navždy. Znovu a znovu. To jednoducho nie je prirodzene znejúce. Nechaj ma ísť napred a zmeniť Ak nechcete jednu sekundu na dve sekundy a stlačte Enter. A čo je pekné o Scratch je že by ste mohli naprogramovať interaktívne. Vykonať zmenu, možno stlačte klávesu Enter alebo Prehrať znova, a to bude len ďalej. No, teraz, prečo to robíme niečo trochu krajší? Skôr než robiť všetko od začiatku, nechaj ma ísť napred a otvoriť zálohu z jedného, ​​že som dopredu pečené, s názvom "Pet mačka." A budeme odosielať všetky tieto súbory on-line, a problém nastaviť nulový vám povie, ako sa k nim dostať a otvoriť ich. A oznámenia, je to celkom jednoduché. Ale dopredu, zdá sa, že som chytil "Na večné časy" blok, takže mám slučku. A potom som dostal "keby" stave. Mám logický výraz. Tak v angličtine, len sa pozrel na to, a to najmä ak ste nikdy naprogramované, len intuitívne, čo to bude robiť, tento program? [Publikum klábosení] David J. Malan: Ak má Vaše domáce zviera mačka, mačka bude mňau, že jo? Vzhľadom k tomu, "navždy odškrtnutím" je ukazovateľ myši dotýka mačku. Takže aby bolo jasno, a ja som nepovedal predtým, všetky tieto puzzle kusy a skript, ktorý sme spojili ich do, aby som tak povedal, skript je synonymom programu, naozaj patrí do tejto mačky. A dôvod, prečo je-- pretože upozornenia ako je zvýraznený ten istý mačka tu, tu si môžete vytvoriť Druhá mačka alebo pes, alebo naozaj čo chcete graficky. Môžete importovať niečo z Photoshopu, alebo podobne, a integrovať niečo, ak si chcete, aby to pre projekt. A čo nájdete, nakoniec, je to, že vás Môžete pridať skripty, pridať puzzle kusy, jednotlivé znaky. Takže to všetko patrí k tento konkrétny mačka. Takže teraz, keď som do toho pustite a hrať tento program, nič sa nedeje. Ale to je beh. Program je v tomto navždy slučky druh čakanie na to, čo sa stane? [Publikum klábosení] David J. Malan: Ak chcete pohladiť mačku. Takže keď pohnem myšou smerom ho-- [Mňaučanie] David J. Malan: Takže teraz Ja som hladkala mačku. Medzitým môžeme mať dvojaký vetvu. Nechaj ma ísť napred a otvoriť up to pet mačka. Budeme tento post on-line rovnako. To je o niečo viac komplex, ale samo sebou môžete hádať, možno čo sa bude diať. [Mňaučanie] David J. Malan: Cat je mňaukanie, grand old time. Ale tento program je samozrejme s názvom "Nenechajte hýčkať mačku," tak jasne, chcem pohladiť mačku. [Revúci] David J. Malan: Nenechajte hýčkať mačku. Teraz sa poďme pozrieť na ďalší príklad. Ten sa bude volať "Ahoj, Ahoj, Ahoj," z dôvodov , Že bude jasné, pretože akonáhle som sa spustiť tento thing-- [SEAL Barking] David J. Malan: Veľmi ľahké napísať otravné stieracie programy. [SEAL Barking] David J. Malan: Teraz nepôjde do skvelého detailu so všetkými z nich, nevšimnúť, že je niekoľko nových funkcií tu. K dispozícii je premenná s názvom "tlmené" a potom je tu veľa podmienok. A teraz mi dovoľte, aby som len dráždiť vás tým, že ak ten chlap príliš nepríjemné, Môžem hit medzerník a on sa zastaví. Vzhľadom k tomu, role sa hrá tieto dva skripty je nasledujúci. Jeden z nich je na tom štekať každých niekoľko sekúnd. Ten druhý je len čaká pre mňa hit medzerníka. A keď to urobím hit medzerník to sa zmení stav tejto premennej, hodnota tejto premennej, je to zrejme s názvom "tlmené" Ja nevolal to niečo ako nuda n, Zavolal som mu je anglické slovo, "tlmené". Od 1-0 alebo 0-1. Z true na false alebo false na true. A tak si môžete skutočne teraz vidieť, že vás môže mať dva skripty, dva programy bežia súčasne, a obaja z nich môžu sedieť v slučke niečo robiť. Čakanie na človeka robiť niečo ako biť medzerníkom. [SEAL Barking] David J. Malan: A teraz že je na ceste znova. [SEAL Barking] David J. Malan: Tak čo ešte môžeme robiť s týmito príkladmi? Dobre, poďme do toho a robiť príklad s počítanie ovečiek. Budeme pokračovať aj v duchu tu of-- poďme otvoriť príklad ovce. A oznámenia, rovnako ako predtým, tentoraz, našťastie, je trochu menej nepríjemné. Raz som narazila hrať tady-- Ale nie, je to nepríjemné. Chystá sa BAA s určitou pravdepodobnosťou. Poďme sa hrať znova. [OVCE BLEETING] David J. Malan: Jediný rozdiel je sme zmenili kostým, aby som tak povedal, a my sme na polovicu a hovoriť čo to skutočný počet je. Tak poďme do toho a tento jeden krok ďalej. A dovoľte mi, aby som dráždiť vás jeden ďalší rys tu. Poďme ďalej a otvoriť program s názvom témy. Takže rovnako ako môžete mať jeden sprite, ktoré majú viac skriptov, môžete mať dva škriatkov, vták mačka, z ktorých každá má svoj vlastný scenár. A každý z nich môže pracovať súčasne. Ak ste niekedy počuli Slovo "multithreading" počítač "viacvláknové" znamená to môže robiť viac vecí naraz, a, naozaj, takže môžu poškriabať. A teraz všimnete vták je celkom hlúpy. Je to jednoducho robiť veci náhodne, odráža mimo obrazovku. Je zrejmé, že mačka bola naprogramovaná tak nejako sa hľadajú možnosti domov v na vtáka nasledujúcich dôvodov vždy ukázal na neho. Až nakoniec, keď zachytáva skutočné vtáka. Takže nebudem zaoberať detaily tu, ale môžete druh nahliadnuť rovnaké tvary, niektoré "Ak" podmienky, niektoré premenné, Možno, že niektorí slučky, sú nakoniec robí to isté. A teraz ma nechaj ísť dopredu a otvorte niečo bolo celkom iné, dráždiť niektoré z vás, a to najmä tie pohodlnejšie, Čo môžete vlastne robiť s tým. Chystám sa ísť dopredu a otvoriť tlačidlo tu. A to je super jednoduchý vyzerajúci program ale pozor, čo sa stane keď ja-- Sledujte, čo sa stane, keď otvorím túto verziu z toho, tu v prehliadači, scratch.mit.edu. A keď som sa na túto veľkú červenú tlačidlo, všimnite si, čo sa stane. Tak čo sa to tu deje? K dispozícii je v skutočnosti oveľa viac zložitosť deje pod kapotou, aj keď som sa realizovať to, alebo úprimne povedané, Dan Bradley zaviedla to tak jednoducho. Navrhol vlastný Scratch puzzle kus, známy ako rozšírenie Scratch, nazval ju Toggle. A čo Prepnúť robí, je, že pošle správy cez internet. A toto posolstvo sám vyzerá trochu záhadné. Ale to tiež, budete pochopiť, do konca termínu je. Správa, že to vlastne posiela vyzerá niečo také. Je to textový. Cryptic. Budete pochopiť v čase, keď dostaneme problém nastaviť sedem. Je to len posiela textovú správu cez internet na serveri. A že server je v konečnom dôsledku hovorí k tejto žiarovky, ktoré má jednu z tých pestrých žiaroviek v tom, že sama o sebe, hovorí na bezplatné Wi-Fi pripojenie na internet v sieti tu, kde miestne zariadenie sa tady-- a nakoniec, je to vlastne sústruženie, že svetlo zapína a vypína. Ale môžeme urobiť viac zaujímavé veci v pokoji. Všimnite si, čo Dan tiež pre nás urobil. Urobil niekoľko škriatkov, každý z ktorý má skript čaká na kliknutie. A keď som kliknite na červenú, to sa rozsvieti na červeno. Ak som si modré, ide namodralý. Zelená, žltá, oranžová. A to všetko sa deje podľa bude cesta von na internet, ustúpiť tu žiarovka, zapnutie a vypnutie. A ak môžete veriť to-- a to je možno jeden z najkomplexnejších Scratch projekty má niekto implemented-- to urobil, v spravodlivosť, v jeden deň. A to bola výzva, aby sme odhodili Dana, keď sme videli, sú binárne žiarovky, máme Scratch, ako Môžeme ich kombinovať? A naozaj, je to absolútne v tejto miestnosti niečo, čo niekto mohol urobiť semestra end-- Je to reimplemented binárne žiarovky pomocou rovnaké rozhranie, ktoré bolo na našej iPad v stredu. Takže teraz, keď som sa vlastne kliknite na znamienko plus sem, máme jednu, dve, tri. Môžem hit 16 a zase ten jeden na. 128, a tak ďalej. Teraz, keď to samo o sebe má a fúkané svoju myseľ, by ste mohli robiť veci oveľa dostupnejšie, nezahŕňa žiadny hardware iste. Len veci na obrazovke sám. A naozaj to, čo väčšina študentov nakoniec robí je nejaká hra, niektoré kus umeleckého diela, alebo nejaký druh interaktívne animácie. A poviem jeden z našich obľúbené je tento. A ja myslela, že keď sme mohol stlmiť svetlá, budeme mať pohľad na to finále Scratch projekt na záver. Ale čo budete mať na pamäti, ako Môžem dráždiť vás s jedným posledného detailu, krájanie začne budúci týždeň. Úradné hodiny začne budúci týždeň. Problém nulovania budú zverejnené CS50.harvard.edu ešte dnes. A budete uvítání v probléme nastavenie nuly na CS50 vlastné Zamyla Chan, ktorý vedie väčšinu našich návody. Jedná sa o vložené video v problémových sady , Ktorá bude držať za ruku cez mnoho počiatočné nastavenie a cez mnoho z možných rozhodnutí dizajnu. Takže ak ste niekedy mal ten cit Pri vyzdvihnutí domácu úlohu a premýšľal, kde mám začať? Bude mať tento pre vás odpoveď. A teraz, Konečný program od jedného zo svojich predchodcov v odpovedi na otázku, "Čo je líška hovorí?" [MUSIC YLVIS, "Čo FOX povedať?] YLVIS: (Spieva) Pes beží tkanina. Cat ide mňau. Bird ide pípanie a myš ide piskot. Krava ide Moo. Žaba ide kvákať. A slon ide toot. Kačice povedať, šarlatán a ryby ísť blub. A pečať ide ow ow ow, ale je tu jeden zvuk, ktorý nikto nevie, čo líška hovorí? A David J. Malan: To je pre CS50. Uvidíme sa na Puzzle deň a v pondelok. [APPLAUSE] [MUSIC YLVIS, "čo to líška povedať?"] Rozprávač: A teraz hlboko myšlienky, podľa Daven Farnham. Dnes som sa dostal do tvár s telefónnym zoznamom. Mätúce, pretože som na domáce sledovanie online.