[Zenelejátszás] -Alright! -Ez CS50. -Ez CS50. -Ez CS50. [MUSIC - IGGY azálea, "divatos"] Az én kedvenc memória CS50 volt, amikor mentem Puzzle Day. -Probably Csak az idő munkával töltött problémás készletek a barátaimmal, és az emberek, akik wold végül is én blockmates. Az én legjobb memória CS50 a Hackathon. -A CS50 Hackathon. -Hackathon. -Hackathon. -Hackathon. -A Hackathon Rob Bowden. Csak mindent róla. [MUSIC - IGGY azálea, "divatos"] Az én kedvenc memória, amikor én voltam szakasz és játszottam a tekintélyes szerepet Egy csomópont [? A Linked?] [? List. ?] Mikor mi minden van szabad Dropbox tér és David volt, mint, keresse meg a helyet. És olyan volt, mint, hely mindenkinek! [MUSIC - IGGY azálea, "divatos"] Az én tanácsot bármilyen bejövő tanulónak lehet, hogy tényleg működik a P-készletek a barátokkal. -Office Óra nagyon sok a barátod. -Legyen A legtöbbet a tapasztalat és megfelel annyi embert, amennyit csak tudsz. Ne félj segítséget kérni. -start A P-sorozat a hét elején. -Szerintem A legnagyobb dolog az, hogy kihasználni az összes erőforrás hogy CS50 van. -Menj A munkaidő a hét elején. -Definitely Nézni a nadrág. Ne késlekedik a P-készletek. -Legyen Biztosan talál egy nagy csoport Az emberek dolgozni P-egység. Akkor van egy nagyon szórakoztató és kap munkát együtt. Ne félj, hogy tolja magát. Megy a hacker kiadás néha. -Write Dolgokat a papírt, mielőtt Ön érj a számítógép. -CS50 Igazán nagy a amely módja annak, hogy segítséget. Az én egy tanácsot az alvás. Azt valaki azt mondta, hogy? Alvás, az biztos. Ez könnyű, hogy ne, de neked kell csinálni, azt hiszem. -Én Mondjuk tényleg mentálisan felkészült mert te fogod szeretni. [MUSIC - IGGY azálea, "divatos"] -Ez CS50. -Ez CS50. -Ez CS50. [MUSIC - IGGY azálea, "divatos"] -Ez CS50. [Taps] David J. MALAN: Tehát ez CS50 és ez a vége a hét 0. És ez csak néhány A CS50 munkatársat, aki várja, hogy ne csak a szakaszok és munkaidőben, hanem, Továbbá, ez a jövő hétvégén A CS50 Puzzle Day. Ami szintén nem mind a programozás. Sőt, ez várható, hogy nem kell programozni semmit, hanem megoldani a problémákat a elméje és a barátok mellett van. Mi lesz még néhány A barátaink a Facebook-- Ha regisztrál itt-- aki Az elmúlt néhány évben, ténylegesen írásban ezeket a kihívásokat velünk. És így, ők lesznek azok, akik végül futó Puzzle Day. És így, akkor lehet megtámadni, és pontosan a dolgokat és a problémák, hogy az emberek a Facebook szeretnek gondolkodni. Annak érdekében, hogy holnap lesz. Regisztrálj a cs50.harvard.edu/register. Most egy szó egy pár A személyzet, különösen. Ez itt Ansel Duff, aki valójában egy A társszerzők ilyen bináris izzók, hogy láttuk szerdán, ráadásul CS50 saját Dan Bradley. Ansel Duff szintén korábbi újonc advisee az én 3 évvel ezelőtt és tényleg még építette ezt a pulpitus. Ő elment, hogy nem mérnöki tudományok és így tovább. Most, a kép itt valójában Ansel 3 évvel ezelőtt a CS50 Hackathon amikor kölcsönkért az egyik lufi, ragadt, hogy a laptop, és, hogy a következő 12 néhány furcsa óra, összpontosított az utolsó projekt, szünetet csak megnyitni zsák cukorka a Hackathon. De ő folytatta az utóbbi időben, hogy töltik az elmúlt nyáron velünk, mivel CS50 a személyzetnek, és Most a diákok ebben a félévben, saját 3D-s nyomtató. És dióhéjban a 3D-s nyomtatók olyan eszköz, amely úgy néz ki, elég, mint ezt. Töltöd meg a műanyag orsó hogy beolvasztják a készülék és amit építeni dolgokat szó szerint a semmiből. Csakúgy, mint egy tintasugaras nyomtató, elkezd kiköpte kis pontok műanyag hogy a forma együtt egész, tárgyakat. És így Ansel például korábban ezen a nyáron, van egy iPhone 5 és úgy döntött, hogy nagyon szeretett volna hogy támassza meg az asztalán. De ő nem akarta, hogy kimegy és vesz valamit Az Apple Store, vagy a hasonló, így Leültem, és elkezdtem rajzolni valamit. Vett néhány mérést , hogy milyen vastag és milyen széles az iPhone volt, kihúzta ezt kép itt, úgy döntött, hogy meg akarja van egy 75 fokban dönthető ahogy azt bámulta neki az asztalán ott. Ezután fordult ez, a szoftver, egy 3D-s CAD modell hogy nézett egy kicsit valami ilyesmi. Aztán azzal folytatta, végül, hogy valóban létre azt. Tehát valójában, ha valakinek itt, talán egymás után, hogy tudok dobni, meg an-- ott van emberek az iPhone 5., és itt van még két. Nos, nem is felülmúlta, CS50 saját Cheng Gong is meghatározott ezen a nyáron építeni jó néhány dolgot, és, Sőt, a következő okok miatt még mindig homályos, már lassan nyomtatás egy sereg elefánt A ingakar és fatörzsek. Egy pár, amelyek valójában itt, ha bárki most elvártnál egy elefánt. Rendben,. de mi Cheng is tett Számunkra ő nagyon kedves létrehozott egy kamera mert az elefánt, akár hiszed, akár nem, tart két és fél óra nyomtatni. Még az iPhone állvány vett egy óra és fél nyomtatni. És mi Cheng ment előre, és nem jött létre egy szép kamera előtt a 3D-s nyomtató, filmre egy órát és fél, mint Ansel design nyomtatott. Mi eltakarja néhány szexi zene, annak érdekében, hogy ezt nézni meg, hogy a 3D nyomtatás működik. És bár ez valójában műanyag, észre, hogy ha ez egy olyan terület, az Ön számára tudományosan, vannak emberek között őket Jennifer Lewis itt A School of Engineering, akik valójában dolgozó 3D nyomtatás műanyag tárgyakat. De még egyre, biológiai anyagok megoldani fiziológiai problémák az emberre. De itt van egy kis valamit CS50. [LOUD MECHANIKUS ZAJOK] David J. MALAN: Ez nem hangzik ilyesmi a valóságban, de ez sokkal hűvösebb nézni az, hogy a sebesség, és ezt a hangot. Most szerdán, hogyan nem először ide? Elkezdtünk beszélni számítógép tudomány és megkérdezte, mi volt az. És ez egy sor dolgot, és van olyan sok különböző irányba amelyben akkor irány kúra után, mint a CS50. Sőt, ha felvette egy azok nem hivatalos útmutatók CS kívül, a füzet, amely általunk biztosított, hogy te gondolt vesz csak CS50, vagy talán csinál egy másodlagos, vagy talán még koncentrálva CS, ne fordítsa át ezt. És akkor megjelenik egy diagram a vége felé, hogy a azt mutatja, hogy a sok különböző irányba CS hogy mehetsz ki. De ma, akkor a hangsúly ismét a valóban az egyik alapvető nézeteit, talán, ahol van bemenetek problémák, van kimenetei problémák, és van algoritmusok, amellyel létre azok kimenetek azoktól bemenet. És az egyik ilyen példa, volt Természetesen ez a telefonkönyv itt. És példaként menni keresztül egy algoritmust, hogy helyes volt. Aztán egy másik volt korrekt, de egy kicsit gyorsabban. Aztán egy másik, hogy egy kicsit drámai, de alapvetően gyorsabb. Igaz, ez a telefon könyvben azt állította, már mintegy 1000 oldal. És hányszor volt már tépni a telefonkönyv fél találni valakit, mint Mike Smith, maximális, 1000 oldalas könyv? Szóval, 10 ide vagy oda. És ha egyszer téptem ezt a dolgot fél, vagy egyszerűen csak, több érett, fele-fele, ez csak 10 oldal 1000-ből. És ha extrapolálni, egy kis irreálisan a telefonkönyvben, de ha ez a telefonkönyvben voltak 4 milliárd oldalt benne, így teljesen ormótlan fizikailag, hány alkalommal Ön osztja a 4 milliárd oldal telefonkönyv félidőben? Tehát ez valójában 32, ide vagy oda. És így 32-szer csak, ki 4 milliárd oldalt, lehet találsz valakit, mint Mike Smith. És ez a hatékonyságot. Ez egy jó algoritmus, mondhatnám. De aztán költözött, hogy hogy megpróbálja hivatalossá azt. És javasoltam ezt pszeudokódja kódot. Pszeudókód kód nem valami formális. Ez nem olyasmi, amit memorizálni. Ez csak valami, amit kifejezni meglehetősen ösztönösen is angol, vagy bármely nyelv igazán, hogy közvetíti ötleteit tömören. De mi a kulcs pszeudokódja kód az, hogy próbálja meg előre az összes lehetséges esetek megtörténhet. És valóban, ebben pszeudokódja kód, ott valóban három esetben minden alkalommal, amikor megosztotta a telefonkönyvben. Mike lehet, hogy a bal oldalon. Mike lehet, hogy a jobb oldalon. Vagy lehet, hogy jobb oldalon vagyok. Vagy egy negyedik sarok eset, hogy úgy mondjam. A rossz forgatókönyv lehet az egyik which-- mi történik? Mike csak nem A telefonkönyv egyáltalán. És a programok crash-- amikor Mac és PC-szoftver, hogy a srácok fut a számítógép néha lefagy vagy váratlanul kilép, általában azt jelenti, hogy az, hogy néhány programozó, néhány ember, mint te hamar, elcseszte, és néhány hibát. Lehet, hogy nem számít arra, hogy talán ott nem Mike Smith a telefonkönyvben. És ha valóban nem írja kód helyzeteket kezelni, mint az, általában kiszámíthatatlan dolgok történhetnek. A készülék képes fagyasztható. Meg lehet újraindítani. A program kilép. És ezért az összes ilyen ostobaságokat, hogy esetleg találkoztak a tényleges az élet csak a számítógépek, egyre inkább csak magyarázza el ezzel intuíció és ez a megértés, hogy mi a valójában folyik a motorháztető alatt. Most próbáljuk, hogy egy pillantást egy általánosabb probléma. Ahelyett, hogy részvétel egy olyan helyen, mint a ez, ami elég lassú lenne hogy nem egy, kettő, három, négy. Vagy talán kettő, négy, hat, nyolc. Nézzük összpontosít, hanem a hogyan lehet hivatalossá az algoritmus által a folyamat amely vehettünk részvétel. És az út mentén, kezdjük alkalmazni néhány nómenklatúra hogy fogjuk használni ma, amikor valójában kezdeni programozási nyelven. Szóval adok most egy négy perces videó hogy össze barátainkkal Ted, a szervezet. Mely által szállított script és vitték animátorok viseli, és valójában egy 2D-s animáció, amit egy algoritmus. Ha tudnánk homályos a fények. [Zenelejátszás] Narrátor: A Mi az algoritmus? A számítógép-tudomány, egy algoritmus egy sor utasítások megoldása néhány probléma lépésről-lépésre. Jellemzően algoritmusok végre a számítógépek, de az emberek olyan algoritmusokat is. Például, hogy milyen lenne megy a számolás az embereknek a száma egy szobában? Nos, ha te, mint én, akkor azt valószínűleg pont minden ember egyszerre csak egy és számolni a nulla. Egy, kettő, három, négy, és így tovább. Nos, ez az algoritmus. Tény, próbáljuk kifejezni azt a kicsit hivatalosan pszeudokód kódot. Angol-szerű szintaxist hasonlít egy programozási nyelv. Legyen n egyenlő 0-ra. Minden ember a szobában, be az N értékét az n + 1. Hogyan kell értelmezni a pszeudokód? Hát az egyesen kijelenti, hogy úgy mondjam, a változó úgynevezett N kezdőértékéül értéke 0-Ez most azt jelenti, hogy a elején a algoritmus, a dolog ami vagyunk számláló értéke 0-ra. Végtére is, mielőtt elkezdjük számolás már nem számít semmit. Hívás ez a változó n csak egy konvenció. Tudtam volna nevezte leginkább semmit. Most kettesen demarks a kezdete egy hurok, sorozata lépéseket, amelyek lehetővé ismételje meg bizonyos számú alkalommal. Tehát a példánkban, a lépés vagyunk figyelembe számol ember a szobában. Beneath vonal kettő vonal harmadik, amelyet a pontosan hogyan megyünk a számolás. A behúzás azt jelenti, hogy ez vonal három, amelyek megismételnek. Tehát a pszeudokód kód mondás, hogy a megkezdése után 0 hogy minden egyes személy a szoba fogjuk növelni n 1 Most van ez az algoritmus helyes? Nos nézzük bumm rajta egy kicsit. Működik, ha vannak két ember a szobában? Lássuk. A vonal egyik azt inicializálni n 0-ra. Minden a két ember, Ezután növeljük n 1. Tehát az első utam a hurok, frissítjük n 0-ról 1. A második utam, hogy ugyanaz hurok, akkor frissíteni n 1-2. És igen, ez az algoritmus a végén, n értéke 2, ami valóban megfelel a szám Az ember a szobában. Eddig jó. Mit szólnál egy sarokban eset mégis? Tegyük fel, hogy vannak 0 ember A room-- rajtam kívül, aki csinál számlálás. A vonal egyik, hogy újra inicializálni n 0-ra. Ezúttal azonban, vonal három nem hajtja végre egyáltalán mivel nincs olyan ember a szobában. És így n is 0, ami valóban megfelel a száma, akik a szobában. Elég egyszerű, nem? De számít az emberek egyesével elég hatékony is, nem? Természetesen mi is jobban. Miért nem számít két ember egy időben, helyett számolás egy, kettő, három, négy, öt, hat, hét, nyolc, és így tovább. Miért nem számít kettő, négy, hat, nyolc, és így tovább? Még hangzik gyorsabb. És ez biztosan az. Nézzük kifejezni ezt optimalizálás pszeudokód kódot. Legyen n egyenlő 0-ra. Minden pár ember szoba, meg az N értékét az n + 2. Elég egyszerű változás, ugye? Ahelyett, hogy számít az emberek egy olyan időpontban, Mi ehelyett számolni őket kettesével. Ez az algoritmus által, így, kétszer olyan gyors, mint az utolsó. De ez igaz? Lássuk. Működik, ha vannak két ember a szobában? A vonal egyik, hogy inicializálni n 0-ra. Az, hogy egy pár ember, Ezután növeljük n 2. És így ez algoritmus n értéke 2 végén, ami valóban megfelel a szám Az ember a szobában. Tegyük fel, a következő, hogy vannak nulla ember a szobában. A vonal egyik azt inicializálni n 0-ra. Mint korábban, sor három nem hajtja végre az egészet mivel nincs olyan pár ember a szobában, és így n is 0-ra. Amely valóban megfelel a több ember a szobában. De mi van, ha van három ember a szobában? Hogyan működik ez az algoritmus viteldíj? Lássuk, az egyesen, mi inicializálni n 0-ra. Egy pár olyan ember, Ezután növeljük n 2. De akkor mi? Nincs egy teljes pár ember a szobában, így kettesen már nem érvényes. És így ez algoritmus végén, n még mindig 2, ami nem helyes. Valójában ez az algoritmus mondják, hogy legyen a hibás, mert a hiba. Nézzünk jogorvoslatot néhány új pszeudokódja kód. Legyen n egyenlő 0-ra. Minden pár ember szoba, meg az N értékét az n + 2. Ha valaki továbbra is páratlan, Az N értéke n + 1. Megoldani ezt a problémát, most már be sorban négy feltételt, más néven a ág, csak végrehajt ha van egy ember van nem párosítható másik. És most, hogy a van egy, vagy három, vagy páratlan számú ember a szobában, ez az algoritmus most számolni őket. Tehetünk még jobb? Nos, lehet számolni hármasával, vagy négyes, sőt ötös tíz, de azon túl, hogy ez lesz, hogy egy kicsit nehéz pont. Végén a nap, akár végre a számítógépek vagy az emberek, algoritmusok csak egy sor utasítást amellyel a problémák megoldása érdekében. Ezek csak három. Mi a probléma ugye megoldani egy algoritmus? David J. MALAN: Szóval szándékosan, egy nagyon egyszerű program, algoritmus egy nagyon egyszerű, megvalósításának valami nagyon egyszerű, számítva a több ember a szobában. De nézzük kötekedik szét néhány reprezentatív funkciók, hogy itt valójában hasznos lesz, még akkor is, ha végrehajtása legtöbb komplex szoftver. Így például, ebben az első sorban, mi hívjuk a változó, és algebra, akkor általában ismerik az x és y és Z néha, és így tovább. De a programozás, változó még mindig vannak, a végén a nap, nagyon hasonló. De talán egyszerűbb gondolkodni a változó, mint csak egy konténer. És valóban, ez a bizonyos bitek számát végre valahogy a merevlemezen vagy a számítógép memóriájában, hanem inkább az, hogy a jövőben. Ez csak egy konténer. És ha azt mondod, valamit mint hagyja, hogy n egyenlő 0, Hát ez olyan, mint hív ez üveg tál itt n, csak egy tetszőleges nevet, és üzembe semmi kezdetben. Így az értéke ennek a tál most nulla. És persze, ha úgy érzékeljük a következő sorban, hogy valóban növekmény néhány sora kód, mivel ebben a harmadik sorban van, 1, ez olyan, mintha azt mondom, amit az a N aktuális értékét, ez 0, plusz 1, tesz valamit, mint egy ping-pong labda itt. Most ezt az értékét változó egyszerűen 1. És akkor nagyon gyorsan extrapolálni, de most már 2, most már 3, és így tovább. Szóval ez az egész egy változó. Ez egy darab tároló valójában tárolni adatokat. Most ez egy ping-pong labda. Már csak egy szám. De lehet szó a szótár, mint a helyesírás-ellenőrző Utaltam szerdán az egyik tavalyi probléma készletek. Most egy másik fontos gondolat, hogy hasonlóan elég intuitív azt állítják, az, hogy egy hurok. És a hurok a folyamat A számolás mindenkinek természetesen, hogy ugyanazt dolog újra és again-- vagy egy egy időben, vagy két egy időben. És ki tudja fejezni ezt az angol, vagy pszeudokódja kód, tetszőleges számú módon, de ezzel a pontoknál "a" nagyon gyakori módja csinálja. Minden ember a teremben, ezt. Újra és újra. És az a tény, hogy ez az tagolt, vonal három, csak azt jelenti, hogy amit kéne csinálni az a dolog, ami beljebb alatt a kettesen is. Csak egy ember egyezmény, de közös egy mint látni fogjuk a tényleges magasabb szintű programozási nyelv. Most kicsit érdekesebb, ha kap egy sarokban ügyben. Például, a sarokban eset volt, amikor ott három ember, vagy öt, vagy hét, vagy páratlan számú ember a szobában, mert csinálja kettesével fékek végül, mert a fog hogy hiányzik valaki, akár a legelején és a legvégén attól függően, hogy hogyan csinálod. És így, most már ez az ág, vagy állapot, ha egy személy is, akkor megy előre, és kezelni, hogy az egyik magányos ember, aki nem kap párosítva valaki mással. Szóval, ez az, amit neveznék Egy állapot, vagy egy ág. Most pszeudokódja kód általánosabban is írásban megoldani tetszőleges számú probléma. És amit azt hittem, hogy nem itt van, hogy egy pillanatra meghívni mondjuk CS50 a saját Rob Bowden a színpadon hogy csatlakozott két önkéntesek akik fogalmam sincs, hogy mi vár. A kéz, lement, amint mondtam. Mi lenne, ha a véget ér, gyere fel. És mi a helyzet a távolabbi el, mi a módja a hátsó. Hátsó sorban, gyere fel a kezekkel. Rendben, és mi a neve? ANITA: Anita. David J. MALAN: Anita. Oké, örülök, hogy találkoztunk. Hadd mutassam be, hogy Rob Bowden. Ez Anita. És mi a neve? Kiersten: Kiersten David J. MALAN: Kiersten. Kiersten, gyere fel és megfelelnek Rob Bowden és Anita. Örülök, hogy találkoztunk. Kiersten: Örülök, hogy találkoztunk. David J. MALAN: Rendben, Rob. ROB BOWDEN: Örülök, hogy találkoztunk. David J. MALAN: Anita. Kiersten: Szia Anita. David J. MALAN: És a több száz osztálytársaival. Szóval, most hadd menjek előre, és húzza akár csak egy egyszerű program itt Mac OS, hogy akkor hadd valójában írd le néhány megjegyzés. És ha akartok minden, hogy egy pozíció egy olyan iskolában, hadd menjen előre, és elindul a lista A pszeudokód kód, ha úgy tetszik. És mit akarok itt, végül a típus az Ön számára néhány utasítást, hogy a közönség tagjai valójában fog mondani nekünk. Hadd menjek előre, és csak megváltoztatni ezt a számozott lista egyeztetni mit csinálunk ott. És mit fogok csinálni a segítséget, a levelet a program A pszeudokód, amellyel ezek a srácok mennek hogy végre egy mogyoró vaj és lekvárral. Szóval talán apropó, hogy mutatni valamit néhányan lehet, hogy láttam az interneten csak egy rövid bosszantó pillanatot. [MUSIC BUCKEWHEAT BOYS "mogyoróvaj  Zselés idő "] David J. MALAN: OK. Ez elég. Tehát itt közben, van egy pár Google üvegek fogunk fel CS50 saját Rob Bowden hogy a világot az ő szemével. És mi megteszünk minden tőlünk telhetőt a poszt termelés valójában szőni a felvételt, amit Rob lát most, ebbe a tényleges előadás videó, a két önkéntesek mellé. Szóval, mit fogok csinálni az, hogy én leszek a gépíró. Megvan a cél itt a tulajdonképpen írás egy programot amellyel, hogy végső soron, a mogyoróvajat és kocsonya szendvics, de ez a három fog viselkedni mintha azok a számítógépek. És a számítógépek, a végén a nap, valóban elég buta eszközök. Ők szuper gyors, de csak igen, szó szerint, amit mondanak nekik. Nem lehet csak mondani, hogy a mogyoró vaj és lekvárral. Meg kell programozni őket erre. Meg kell mondani nekik pontossággal, mi a teendő, kisebb dolgok rettenetesen, és remélhetőleg, mulatságosan félrecsúszott. Tehát azt mondta, szükség van Egy call-ki a közönség mit kell lépni egy lehet, ha a cél itt az, hogy a mogyoró vaj és lekvárral. Igen? KÖZÖNSÉG: [nem hallható] a zsák kenyeret. David J. MALAN: Nyissa meg a zsák kenyeret. Tehát, ha a három versenyző lenne szeretné, hogy folytassa ezt az szó szerint. Nyissa ki a zsák kenyeret. [Közönség Nevet] David J. MALAN: Szóval dolgozni rajta. Rendben. Tehát a második lépésre, hogy-- vigyük ezt tovább. Igen, az első. KÖZÖNSÉG: [nem hallható] a kenyeret. David J. MALAN: Mi ez? Közönség: Vegye ki a kenyér. David J. MALAN: Vegye ki a kenyér. Hasonlóan rövid. Köszönöm. [Taps] David J. MALAN: Ennyi? OK, így a második lépésre megy hogy távolítsa el a kenyeret. Rendben, valaki akar írjon nekünk egy hosszabb mondatot? Valaki más? Egy kicsit több [nem hallható]. Nem, semmit. Igen? Közönség: Place két szeletek egymás mellett. David J. MALAN: Helyezze két szeletek egymás mellett. [Közönség Nevet] David J. MALAN: Helyezze két szeletek egymás mellett. Negyedik lépés. Igen? Közönség: Fogd a kéz és állítsa be könnyedén a tetején a mogyoróvaj fedelet. [Közönség Nevet] KÖZÖNSÉG: [nem hallható] mellett a mogyoróvajat. David J. MALAN: Mi? Tegyük fel, hogy újra. Közönség: Csavarja le a fedelet, és tegye finoman mellett a mogyoróvajat. David J. MALAN: Tedd finoman mellett a mogyoróvajat. OK, folyamatban van. Step öt. Kiváló. Igen? Vedd fel a kést. David J. MALAN: Vedd fel kést. OK, menj hat. Igen? Közönség: Tartsa kés a fogantyút. David J. MALAN: Tartsa kés a fogantyút. Tartsa kés a fogantyút. Hét lépés. Igen? KÖZÖNSÉG: [nem hallható] kést mogyoró vaj és a kicsit ki [nem hallható]. David J. MALAN: Tedd kés in-- I hallottam "hozott kést mogyoróvaj és megteszi, mint a kis ki, amennyire csak lehetséges. " By the way, távolítsa el a papírt először. Rendben, lépjen kilenc. Kilencedik lépés. Kilencedik lépés. Még nem ténylegesen szendvicset még. Igen? Közönség: A kést a mogyoróvaj, alkalmazni mogyoróvaj az említett kenyér. David J. MALAN: A kés mogyoróvaj alkalmazni mogyoróvaj mondta kenyér. [Közönség Nevet] David J. MALAN Rendben 10. lépésben. 10. lépés. Igen? Közönség: Taste mogyoró vaj minőség biztosítása. [Közönség Nevet] David J. MALAN: 11. lépés. 11. lépés. 11. lépés. Gyerünk. Igen? Ott. Közönség: Óvatosan vedd fel kocsonya. David J. MALAN: Óvatosan vedd fel kocsonya. OK, majd a másik keze fel. Mögötted. Igen, kék. Közönség: Rendben, vegye fedelet [nem hallható], igen, vegye le fedelét a kocsonya. [Közönség Nevet] David J. MALAN: A zselé. Ha ha. [Közönség Nevet] David J. MALAN: És? KÖZÖNSÉG És alig söpörni minden [nem hallható]. [Közönség Nevet] Közönség: Természetesen, mielőtt [nem hallható], vegye ki a papírt zselé. David J. MALAN: Vegye ki a papírt zselé. 14. lépés. Már majdnem ott vagyunk. Igen? Közönség: Invert zselé üveg mielőtt minden esik ki. David J. MALAN: Invert zselé üveg előtt zselé kiesik. 15. lépés. Közönség: vissza a kupakot. David J. MALAN: vissza a kupakot. 16. lépés. Igen? KÖZÖNSÉG: [nem hallható] David J. MALAN: Mondd még egyszer. Közönség: Vedd kupakot a kocsonya. David J. MALAN: Ki a kocsonya. Így really-- Hoppá. Gyerünk. Helyezze vissza a kupakot. Tedd cap-- Azt mondta, távolítsa el a kupakot a kocsonya. Érzem, vagyunk egy kicsit hurok. 17. lépés. Igen? KÖZÖNSÉG: [nem hallható] David J. MALAN: Mondd még egyszer. KÖZÖNSÉG: [nem hallható] David J. MALAN: Menj vissza step-- KÖZÖNSÉG: [nem hallható] David J. MALAN: Vegye kupakot mogyoróvaj. Igen? Közönség: vidd az összes zselé a kenyér. David J. MALAN: Dobd minden a zselés a kenyér. David J. MALAN: Már majdnem ott vagyunk. 19. lépés. Közönség: Távolítsuk el a felesleges zselé. David J. MALAN: Haha, zselé. [Taps] David J. MALAN: Miért nem we-- még egy lépés, hogy ez a haza. Még egy lépés, és azután fogunk szolgálni szendvicseket. Igen? KÖZÖNSÉG: [nem hallható] David J. MALAN: Bár minden szendvics remains-- Nézzük francia Ez-- enni. [Nevetés] David J. MALAN: Rendben, köszönöm Önt önkéntesek itt. [Taps} David J. MALAN: Van néhány szép elválás ajándékok minden van. Saját mogyoróvaj, zselé, és a kenyér, hogy haza. Köszönöm. Kiersten: Köszönöm. David J. MALAN: [nem hallható] szívesen. [Taps] David J. MALAN: Szóval, ez az, a Persze, egy nevetséges példa. Nem igaz? De ez a fajta mutatják, hogyan az emberek csak úgy világosság biztosra. És az a tény, voltam beszél egy másik ember, ő csak tudja, mit jelent. Számítógépek nem fognak hogy tudja, mit jelent, esetén is, mint vagyunk arról, hogy nem ma, programozás valamit Scratch, a drag and drop, puzzle darab stílus nyelvet. Is tervezett a fiatal gyerekek, akkor hogy ilyen kifejezett és így szó szerint a mit akar a programot csinálni. Most végül, vagyunk lesz programozás nem pszeudokódja kódot, Angol, mint a szintaxis, de kód, vagy még pontosabban, a forráskód. Forráskód csak a képzelet módja leírására kód ténylegesen levelet a billentyűzet, ami nem az angol önmagában. Ez a C vagy Java vagy C ++ vagy valami így, amint azt hamarosan látni. És valóban, csak megijeszteni a Néhány közületek, első pillantásra, ez egy program nyelven írt hívott C. De ENSZ-pánik egy pár van, Ön lesz teljesen értem, mi folyik itt on jön a következő hétfőn, amikor jön valami ilyesmi. Őszintén szólva, ez egy régebbi nyelv. Ez elég bonyolult, de képviselő A sok nyelven ezekben a napokban, hogy a sok a zárójelek és göndör zárójelek és idézőjelek és pontosvessző. És sok ez szintaktikai dolog, hogy nem egyáltalán intellektuálisan érdekes. Valóban, ez egy tökéletes kikapcsolódás A nagyon egyszerű ötletek amelyek bámult minket az arca. Ez a program, mivel lehet, hogy csak gondolom, nyomatok valakinek a számítógép képernyőjén a "Helló vessző világ." Ennyi. Olyan világosan, ott egy csomó dolog, ami útjában a néhány nyilvánvalóság ott, de ez meg fog nagyon gyorsan csúszik el, és teljesen intuitív. Sőt, mit fogunk csinálni ma csöpögtet ez meglehetősen bonyolult látszó program, amely újra meg fog jönni megérteni, hogy gyorsan, de valami sokkal egyszerűbb. Mondjuk mit értünk. Rajzoljunk egy képet, amit gondolunk, útján ezek a puzzle darabokat itt. Tehát ez egy programozási nyelv ismert Scratch. Úgy alakult a MIT Media Lab. És mit fog látni a probléma beállított nulla, amely később kerül kiadásra ma este, mi lesz akkor megy ez URL itt scratch.mit.edu. És van egy web alapú felület, amelyen keresztül akkor írja meg az első programot. Vagy azoknak, a korábbi tapasztalat, a második program, hanem olyan környezetben, amely az talán egy kicsit szokatlan, és hogy fog törekedni, hogy hozzon létre valami Ezzel a nagyon vizuális környezetben. Most mit fogok csinálni itt ez megnyitja a program maga. Ez létezik, nem csak a böngésző, hanem egy letölthető program így valójában használják ha nem rendelkezik internet-hozzáféréssel. És azt fogom tenni, hogy itt, a Sanders, csak Abban az esetben, a Wi-Fi nem együtt szuper is. És mit fogok csinálni a pont ki néhány jellemzője ennek a programnak. Tehát, hogy világos legyen, én csak dupla rákattintott az ikon az asztalon, vagy azzal egyenértékű elment scratch.mit.edu, és ez húzta fel az ablakot. Ez egy programozási környezet. Ez egy olyan szoftver, amely néhány barátunk az MIT-n azt írta, hogy nézzük minket és írsz programok a nyelv nevű Scratch. Most ez történik, hogy a macska, aki szintén nevezett Scratch és ez a világ, amelyben él. Ez az a szakasz, hogy úgy mondjam, hogy téglalapot a bal felső sarokban. És nem kell, mint egy macska. Tudod, hogy úgy nézett ki, mint semmit, és te is sok ilyen sprite, vagy karakterek, a programban. Közben itt a távoli jobb, egy nagy üres lappal. És ez az, ahol egy pillanat alatt, fogunk kezdeni programozás húzással ezek a grafikus puzzle darabok, amelyek megfelelő itt a közepén. És van ez így többen, mint a fogunk időt itt osztályban mert rájössz, hogy ezek mind meglehetősen intuitív. Ismét azt tervezték a gyermekek számára, de használni, hogy ugratni szét néhány ilyen alapvető elképzeléseit változók, hurkok, körülmények, és hamarosan, a dolgok szerű funkciók és események és a szálak és egyéb extra dolgot fogunk kap nemsokára ténylegesen létre valamit a semmiből. Szójáték szándékozott. Most mit fogok csinálni itt kattintson az nem mozgás, hanem ellenőrzés. És ez csak egy kategorizálása itt-- és látok egy másik szín beállítása blokkok. De észre néhány ismerős szavakat. "Ha" és "else if" és "ismétlés". És akkor valószínűleg kitalálni ez emlékeztet a fióktelep, vagy a körülmények láttunk, és még a hurok konstrukció. Tehát hasonló blokkokat itt. De a legérdekesebb az egyik ez itt. Ha ezt a zöld zászló kattint, ezt, azok számára, akik előzetes programozás tapasztalat, egyenértékű a fő funkciója. De azok számára ismeretlen, Ez a puzzle darab amely útnak indul az egész programot. Ez szó szerint azt jelenti, ha én megyek, ebben programot, és kattintson a zöld flag-- ami látható itt, a bal felső sarkában a UI, így látja a zöld zászlót mellett a piros stoptábla? Amikor rákattintok, hogy a program fog futni. Most fogok csinálni valamit szuper egyszerű a Scratch. Én megyek előre és megy a néz panel itt, ahol van egy csomó A lila puzzle darab, és én megyek előre, és nem valami szuper egyszerű, mint, mondjuk. És aztán értesítés ezt szöveget a fehér doboz az editable-- fogom mondani "Helló világ" mint mi tette, hogy a szöveges verzió egy perce. És most, ha megyek, és kattintson erre a zöld zászló, én most programozva. Ez nem egy különösen érdekes program de tettem a számítógép valamit. Elkezdtem egy programot, és azt tette, amit mondtam, hogy igen. Nos, én továbbra is drag and drop egyre több és több ilyen puzzle darab és fognak összekapcsolódni, de hadd pofon néhány terminológia itt hogy majd meglátjuk visszatérő egész folyamán, és tényleg az egész számítástechnika és programozása általában. Ez az "azt mondják" blokk, a lila, nézzük csak elkezd hívás nyilatkozatot. Olyan, mint egy ténymegállapítás. Tedd ezt. Szóval, ez a kategória utasításokat, hogy lehet etetni egy számítógép részeként egy program vagy egy algoritmus. És hogy világos legyen, akkor már talán magától értetődőnek hogy van programokat a számítógépen. És ők milyen algoritmusok, hanem a program valóban egy csomó algoritmusok hogy néhány emberben írt. Ők csomagolt fel, és eladták, hogy így, vagy pedig felkerül a honlapon az Ön számára letölthető. Tehát a program csak egy csomó nullák hogy valahogy az emberek létre. És azok a minták a nullák és dolgokat képviselnek azok, végső soron, mint "azt mondják hello world", vagy "játék ez a zene ", vagy" játszani ezt a videót " vagy "küldjön egy e-mailt." De majd jön vissza így több részlet, amit Egy program, ha, magad, írni őket. Itt egy másik statement-- "Várj egy kicsit." Én nem használtam még, de ha azt akarom, a programot a szünet egy pillanatra tenni valamit, azt lehet mondani, hogy erre. Várj egy percet. Most egy másik lehet "hangok". Szóval, ez egyedülálló a semmiből, akkor képes lejátszani hangokat. Szóval, egy nyilatkozatot talán használata, itt "hangok". Közben logikai kifejezés, így ez a szakértő szó névadója csak egy srác nevű úr Bool, és ez az egész kérdés. Igaz vagy false-- az egér le? A logikai kifejezés csak néhány kifejezés az angol ez vagy igaz, vagy hamis. Be vagy ki. Vagy egy vagy zérus. Lehet gondolni, hogy bármely számos módon, de ez sem igaz, vagy ez hamis, végül. Tehát "egér le kérdőjel" ez lenne a logikai kifejezés. És azt hiszem, mások, talán. Például, "a bal oldali szám kevesebb, mint a helyes számot? " Ez is lenne Egy logikai kifejezés. "Kevesebb, mint" egy logikai kifejezés. Ez is "megható egérmutatót." Nem vagyok benne biztos, hogy miért nevezte egérmutatót. Ez csak azt jelenti, hogy a kurzor, a nyíl a képernyőn, érintse meg a macska, például. Vagy valami más szempont a képernyő. És ez egy kérdés, megint, és hogy jelöli a logikai kifejezés. Valami, ami lehet, hogy szeretné használni a feltétel. Így fogunk jönni, hogy csak egy pillanatra. Akkor "és" a dolgokat. Tehát, ha azt szeretnénk, hogy ellenőrizze, ha ezt a helyzet, és ez a helyzet, akkor egy "és a" blokk, mint ez. És itt van ez a feltétel. Figyeljük meg az alak a kis nyílás a tetején sárga puzzle-darab, ez emlékeztet a forma hogy mi csak látta, hogy egy perce. Mindegyik logikai kifejezések ezeket a hegyes élek a bal és a jobb oldalon. És ez azért van, mert MIT emberek határozott hogy vizuálisan közvetíti formák, akkor milyen segíteni az embereknek, a diákok és a gyermekek számára egyaránt, hogy milyen töltse ki az üres szó. Most, hogy a Puzzle, amely nyílás egy kicsit kicsi, és mint látni fogjuk a programban, A Scratch, nőni fog, hogy illeszkedjen. Ez megtartja alakját, végül. Tehát a feltétel hadd dönt "Tegyek valamit, vagy nem?" A logikai kifejezés az aktuális kérdés Ön használ dönteni tudok menni A bal vagy menjek jobbra amikor találkozik ezzel a úgynevezett villa az úton? Egyszerre két ága. Ha valami igaz, nem ezt, különben megy az úton, vagy egyszerűen csak nem csinál semmit minden, mivel ez a blokk hallgatólagos. Hasonlóképpen tudjuk fészek ezeket a dolgokat. Tehát, ha azt szeretnénk, hogy megháromszorozza villát a út, vagy ezt vagy ezt vagy azt, akkor csak fészek ezeket a dolgokat együtt. És már indul is, hogy egy kicsit csúnya, végül, az biztos, de a logika még mindig ugyanaz. Akkor szó szerint olvasható ezt fentről lefelé és azt mondja, amit az means-- ha ezt igaz, ezt, mást, ha mást. A hurok nem lesz egyszerűbb a Scratch. Örökre tegye a következőket. Most lehet, hogy nem hiszem, hogy sokat tehetnek azért, mert ott nem sok hely között a felső és az alján a kirakós darab nyitás. De látni fogod azt Scratch fog nő, hogy illeszkedjen a sok puzzle darab ahogy azt szeretnénk, hogy szorítsunk ott. A másik loop lehet kifejezni ismétlődik. Ha előre tudják, "Én akarsz valamit 10-szer, " ha csak mondani Scratch tenni valamit 10-szer. És közben, mi lehet változókat. Tehát itt van egy önkényes, ez ebben az esetben, narancs, és ez egy forgószél túra. Ismét talál ez nagyon hozzáférhető ha egyszer elkezd mutatva és kattintva. Én neveztem el n változó, de én volna nevezte el, amit csak akarok, és én vagyok a beállítás, itt, ez önkényes például nulla. Most látta a programot, mint a Hello a világ egyáltalán nem olyan meggyőző, úgyhogy valóban nyit valamit hogy egy korábbi diák készült. Hadd menjek előre, és nyissa fel, például ez itt, amiért szívesen hogy egy önkéntes. Rendben, hogy about-- menjünk tovább. Igen, gyere fel. Mi a neve? ABBY: Abby. David J. MALAN: Abby, gyere fel. Így már valaha játszottam ez a játék előtt? ABBY: Nem David J. MALAN: Rendben. David, örülök, hogy találkoztunk. Gyere át. És mi a programozás háttér, ha van ilyen. ABBY: Megtanultam néhány C ++. David J. MALAN: Már megtanultam néhány C ++. És mi a játék játszani háttérben? ABBY: Nem sok. David J. MALAN: OK, így elviszem. Tehát itt van, hogy a játék nem fog működni. Én megyek előre, és kattintson a zöld zászló, amely van itt a jobb felső sarokban. Most az elődje az osztályban adott néhány utasítást itt. És csak egy pillanatra, hogy azt mondja: "hely kezdeni." Így megy előre, és nyomja meg a szóköz. Számítógépes játék: Pikachu. David J. MALAN: És a cél az, hogy elkapni a élelmiszer, ahogyan azt ott a bal oldalon. És a [nem hallható] [GAME zenelejátszás] David J. MALAN: Aww, nos, köszönöm a játékot. Van itt egy kis búcsúzó ajándék az Ön számára. Van CS50 stressz labda, ha szeretne választani. Rendben, jó, hogy találkoztunk. Köszönöm, hogy eljöttek, és kihívást jelent. Így már több stressz labda, így csináljuk még egy példát, hogy motiválja. Egy önkéntes? Rendben, mi a helyzet itt előtte. Mi a neve? Phillip: Phillip. David J. MALAN: Phillip. Gyere fel, Phillip. Szóval, Phillip lesz megtámadta egy másik játék hogy az egyik elődei írt részeként probléma beállított nulla, úgynevezett Ivy legnehezebb játék. És majd meglátjuk, csak egy pillanat, hogy mi jelent meg. Phillip, örülök, hogy találkoztunk. Mi a háttere? Phillip: sokat kódolás. Csináltam egy kis játék is. David J. MALAN: OK. Van egy csomó játék is. És játszott ez a játék előtt? Phillip: No David J. MALAN: All jobb, hogy itt vagyunk. Én megyek előre majd kattintson a zöld zászlót. [GAME MUSIC] [MUSIC MC Hammer "U nem érintheti E"] Phillip: [nem hallható] David J. MALAN: [nem hallható] Phillip: [nem hallható] [Nevet] [MUSIC MC Hammer "U nem érintheti E"] David J. MALAN: [nem hallható] Átrágja azt. Phillip: [nem hallható] David J. MALAN: Gyerünk. [MUSIC MC Hammer "U nem érintheti E"] David J. MALAN: Rendben. Gratulálok. [Taps] David J. MALAN: Mi lesz post, hogy online később így hogy akkor késlekedik vele is. Princeton jön a következő, utána. Így most csak a ténylegesen jár a nulláról kell kezdeni, hogy úgy mondjam, és valóban épít-ig tudjuk ugratni egymástól néhány ilyen ötletet és kap valami még bonyolultabb végére. Én megyek át ide, és megyek hogy menjen előre, és hozzon létre egy új fájlt. Tehát ismét, a probléma meg fog járni végig néhány ilyen lépést. De én csak go a Fájl menü, és én azt mondta: "az új," annyira, mint a Microsoft Szó, vagy olyan programot, mint az. És menjünk előre now-- és mi végre "Hello World" egy perce de csináljunk valamit, egy kicsit csinosabb. Én megyek fel az eseményekre. És én fogom csinálni ", ha zöld zászló kattintott. " És akkor fogom használni, mondjuk, egy ág. Így fogom használni, egy "ha" feltétel. , És vegyük észre, hogy amint közelebb rá, azt akarja, hogy pillanatok alatt össze. Szóval hadd menjen, és nem pattan együtt. És most tudok valami érdekeset. Ha lapozni itt, megyek hogy egy csomó blokkok. Ha elmegyek "adatok" - hadd zoom in-- van valami a változókat. Ha elmegyek "mozgás", akkor látszólag be a dolgokat. Ha elmegyek "piaci szereplők" - ó, ez érdekes, Tudok felvenni egy véletlen számot. Hadd tegyek valamit csak bizonyos valószínűséggel, csak azért, mert. Én megyek előre, és húzza át a puzzle-darab, ez az, hogy kevesebb, mint blokk, így ez csak "Ez a szám kevesebb, mint az egy?" De én nem akarok egy kemény kód a szám mert ez elég értelmetlen. Így fogom húzni ezt a darabot itt, és észre, hogy nem akad, és most hadd menjen előre, és azt mondják: "ha A szám, ami felvette véletlenszerűen kevesebb, mint hat, akkor a következő. " Most miért kevesebb, mint hat? Milyen valószínűséggel ez ténylegesen fog adni nekem, csak ösztönösen? Mintegy 50%, igaz? Ha a szám, hogy a képzeletet véletlenszerűen 1 és 10 közötti kevesebb mint hat, egyértelműen ez az egyik, két, három, négy vagy öt. És így, hogy fog adni nekem a 50% a valószínűsége, hogy mi történik? Jól csináljunk valami hasonló ez "hangok miau". És észre, megint, A puzzle darab nő hogy illeszkedjen, mindaddig, amíg az alakzatok egyezik. Ez az, ami fontos. Hadd menjek át a Scratch itt, majd kattintson a "play". Semmi sem történik. Ez egy bug? Nem, nem szükséges. Lehet, hogy csak az a nagyobb számot választották. Így csináljuk újra. Semmi. [Miau] David J. MALAN: Ott van. [Miau] David J. MALAN: Again. Nr. [Nyávog] David J. MALAN: Tehát, ha már valaha játszott játék, persze, ahol dolog történik véletlenszerűen, mint a rossz fiúk jönnek-e vagy sem jön a képernyőn, vagy dolgok hullanak, vagy nem csökken, ez csak azért, mert valami szuper egyszerű, mint ez történik. Válassz egy véletlen számot, és ha ez kevesebb, mint valamilyen érték, talán ezt vagy talán csinálni. Mi lehet beépíteni hogy egy feltétel. Csináljunk valami más. Hadd dobja azt el. Lehet megszabadulni a cucc csak húzza le balra és elengedte. Hadd menjek előre, és nem egy örökké blokk és nagyon gyorsan csinál valami bosszantó. Hadd menjek előre, és mondják, hogy "hangok miau". De én nem akarom, hogy túl bosszantó, hadd fogd ezt a blokkot, "Várj egy pillanatra," és értesítés nincs több hely. De ha megy elég közel, akar menni. Szóval hadd menjen, és ez lesz nőnek, hogy töltse ki a blokk. Így most ez a hurok. [Nyávog] David J. MALAN: vagyok szó szerint ezt örökre. Újra és újra. Ez csak nem természetes hangzású. Hadd menjek előre, és ezen változtatni hogy nem egy másik, hogy két másodpercig és nyomja meg az Entert. És mi a szép a Scratch hogy lehet programozni interaktív. Hogy a változás, talán nyomja meg az Enter vagy a Play ismét, és akkor csak menj tovább. Nos, most miért nem tesszük egy kicsit csinosabb? Ahelyett, hogy tegyen meg mindent a semmiből, hadd menjen előre, és nyit egy előzetes tett egy, hogy én elősütött, az úgynevezett "Pet a macskát." És feltesszük az összes ezeket a fájlokat az interneten, és probléma állítsa nulla megmondja azokhoz való hozzáférés módja és nyissa őket. , És vegyük észre, ez elég egyszerű. De előre, úgy tűnik, hogy megragadta a "örökké" blokk, így van egy hurok. Aztán van egy "ha" feltétel. Van egy logikai kifejezés. Tehát az angol, csak nézett ez, különösen, ha soha nem programozott előtt, csak ösztönösen, Mi ez fog tenni, ez a program? [Közönség CHATTER] David J. MALAN: Ha kisállat a macska, a macska fog miau, igaz? Mert "örökké akadálytalan" van az egérmutatót érjen a macskát. Tehát egyértelmű, és én nem mondtam ezt megelőzően, az összes ilyen puzzle darab, és a forgatókönyvet, hogy egyesítettük őket, hogy úgy mondjam, a script egyet program igazán tartozik ez a macska. És az ok ez-- mert értesítés hogy ez ugyanaz a macska itt van kijelölve, itt lehet létrehozni egy második macska vagy kutya, vagy tényleg amit akarsz grafikusan. Akkor lehet importálni valami a Photoshop, vagy a hasonló, és integrálni valamit, ha szeretnénk, hogy ez a projekt. És mit talál, végső soron az, hogy te adhat szkriptek, add puzzle darab, az egyes karakterek. Tehát ezek mind tartoznak ez a bizonyos macska. Tehát most, ha megyek előre, és játszani ez a program, semmi sem történik. De ez fut. A program ebben az örökké hurok, fajta várja, mi fog történni? [Közönség CHATTER] David J. MALAN: a kedvtelésből tartott macska. Tehát, ha mozgok az egér felé him-- [Nyávog] David J. MALAN: Most Én petting, a macska. Eközben tudjuk, hogy a kettős ág. Hadd menjek előre, és nyissa meg fel ne kisállat a macska. Feltesszük ezt online is. Ez egy kicsit bonyolult, de nem szólt akkor hiszem, talán mi fog történni. [Nyávog] David J. MALAN: Cat nyávog, régi nagy idő. De ez a program természetesen az úgynevezett "Ne Pet a Cat" olyan világosan, azt akarom, hogy a kedvtelésből tartott macska. [Ordítozó] David J. MALAN: Ne pet a macska. Most vessünk egy pillantást egy másik példát itt. Ez lesz az úgynevezett "Hi, Hi, Hi," miatt hogy tiszta lesz, mert amint én vezetem ezt dolog-- [SEAL BARKING] David J. MALAN: Nagyon könnyű levelet bosszantó Scratch programot. [SEAL BARKING] David J. MALAN: Most nem fog menni be nagy részletességgel az összes ilyen, de észre van egy Néhány új funkciók itt. Van egy változó, a "tompa" és akkor ott van egy csomó körülmények között. És most hadd csak ugratni azzal, hogy hogy ha ez a fickó is bosszantó, Én nyomja meg a szóközt, és megáll. Mert a szerepet, amelyet a E két szkriptek a következő. Egyikük csinál a ugat néhány másodpercig. A másik csak arra vár, számomra, hogy nyomja meg a szóközt. És ha megüt a szóközt, ez meg fog változni az állam ennek a változónak az értékét E változó, hogy ez látszólag a "tompa" Nem hívtalak valami unalmas, mint a N, Hívtam, hogy egy angol szó, "tompa". 1-ről 0 vagy 0-1. True-ról false vagy hamis igaz. És így valóban most látni, hogy lehet két írás, két program fut egyszerre, és mindkettő lehet ülni egy hurok csinál valamit. Várakozás az ember, hogy nem valami hasonló ütő szóköz. [SEAL BARKING] David J. MALAN: És most ő úton újra. [SEAL BARKING] David J. MALAN: Szóval mi mást Lehet, mi ezekkel a példát? Nos, menjünk előre, és nem egy például bárányokat számolnia. Folytatjuk ezt mintájára itt of-- nyissuk fel a juhok példa. És értesítés, ugyanúgy, mint korábban, ez egy, Szerencsére, egy kicsit kevésbé bosszantó. Egyszer hit játszani itt-- Ó, nem, ez bosszantó. Ő fog BAA bizonyos valószínűséggel. Játsszunk újra. [JUH BLEETING] David J. MALAN: Az egyetlen különbség az, megváltoztattuk a ruha, hogy úgy mondjam, és mi megfelezve, és azt mondják mi, hogy a tényleges szám. Hát menjünk előre, és ezt egy lépéssel tovább. És hadd kötekedik Önnek Egy másik funkció itt. Menjünk előre, és nyissa fel a program neve szálak. Annyira, mint akkor egy sprite, amelyek több scriptek, akkor két sprite, a madár egy macska, amelyek mindegyike saját script. És mindegyik lehet működik egyszerre. Ha valaha is hallott a szó "többszálas" a számítógép "többszálú" eszköz meg tudja csinálni több dolgot egyszerre, és valóban, így lehet a semmiből. És most észre a madár olyan buta. Ez csak a dolgok véletlenszerűen, pattogó le a képernyőn. Világos, hogy a macska már programozva hogy ilyen van, akik képességek hogy otthon a madár, mert ő mindig mutat rá. Míg végül ő elkapja a tényleges madár. Tehát nem fogok lakni a részletek itt, de akkor milyen bepillantást az azonos alakú, néhány "Ha" körülmények között, néhány változót, talán néhány hurkok vannak végül ugyanazt a dolgot. Most hadd menjen előre, és nyissa akár valami más teljesen, ugratni néhányan, különösen azok sokkal kényelmesebb, mit tud valójában köze ehhez. Én megyek előre és nyissa fel gomb itt. És ez egy szuper egyszerű látszólagos program de nézzük, mi történik amikor Én-- Nézd mit történik, ha kinyitom ezt a verziót is, itt a böngészőben, scratch.mit.edu. És amikor rákattintok a nagy piros gomb, vegyük észre, mi történik. Szóval, mi folyik itt? Van valójában sokkal több bonyolultság folyik a motorháztető alatt, bár én már végre ez, vagy őszintén, Dan Bradley hajtott végre, ez így egyszerűen. Ő tervezte az egyéni Scratch puzzle darab, mint egy ismert Scratch kiterjesztése, nevezte Toggle. És mi Toggle tesz, küldi egy üzenetet az interneten keresztül. És hogy az üzenet maga úgy néz ki, egy kicsit rejtélyes. De ez is, akkor érthetőnek kifejezés végére. Az üzenet, hogy valójában küld úgy néz ki, egy kis valamit, mint ez. Ez csak szöveg. Rejtélyes. Meg fogod érteni, hogy az idő megkapjuk a probléma beállított hét. Ez csak küldött szöveges üzenet az interneten, hogy a szerveren. És hogy a szerver, végül, beszél ez a villanykörte, amely van egy ilyen díszes izzók benne, hogy maga beszél A Wi-Fi a hálózatban van, ahol a helyi eszköz le itt-- és, végül, ez valójában fordult, hogy a fény be-és kikapcsolása. De többre is képes érdekes dolgok is. Figyeljük meg, milyen Dan is tett értünk. Tette több sprite, minden amely egy script vár egy kattintással. És ha rákattintok piros, megy piros. Ha kapok kék, megy kékes. Zöld, sárga, narancs. És mindez történik a megy kiutat fel az internetre, ide le, hogy a villanykörte, be-és kikapcsolása. És ha lehet hinni it-- és ez talán az egyik legösszetettebb Scratch projektek valaki implemented-- tette, a méltányosság, a nap. És ez volt a kihívás, mi dobta le Dan, amikor láttuk, hogy a bináris izzók, van Scratch, hogyan tudjuk kombinálni őket? És valóban, ez teljesen valami valaki ebben a teremben tehet a félév end-- Ő újraírásra bináris izzók használata ugyanazt a felületet, hogy a volt a mi iPad szerdán. Tehát, hogy most, ha én valóban kattintson a plusz ide, van egy, kettő, három. Én is sújtotta a 16, és kapcsolja be, hogy az egyik be. 128, és így tovább. Nos, ha ez egyedül és fújt a fejedben, akkor a dolgok sokkal könnyebben elérhető, nem jár semmilyen hardvert biztosan. Csak dolgokat a képernyőn is. És valóban, amit a legtöbb diák végén csinál valamiféle játék, néhány darab művészi munka, vagy valamilyen interaktív animáció. És ezt mondom az egyik kedvence volt ez. És azt gondoltam, hogy ha is homályos a fények, elvisszük egy pillantás ezt a végső Scratch projekt következtetést. De mit fogsz kell szem előtt tartani, mivel Én ugratni egy részletet, vágás kezdődik a jövő héten. Fogadóóra kezdődik a jövő héten. Probléma beállított nulla felteszik CS50.harvard.edu ma. És akkor fogad A probléma beállított nulla a CS50 saját Zamyla Chan, aki vezeti a legtöbb walkthroughs. Ezek a beágyazott videók A probléma készletek ami tartsa a kezét a sok A kezdeti, és a sok a lehetséges tervezési döntéseket. Tehát, ha valaha is volt, hogy az érzelem amikor felvette a házi feladat és kíváncsi, hol is kezdjem? Ő lesz a válasz az Ön számára. És most, a végleges program az egyik a elődei a válasz arra a kérdésre, "Mit jelent a róka mondani?" [MUSIC YLVIS, "Mi a FOX mondani?] YLVIS: (ének) kutya megy Woof. Macska megy miau. Bird megy csipog és az egér megy vinnyog. Tehén megy moo. Béka megy károgás. És az elefánt megy dudál. Kacsa mondjuk kuruzsló és hal megy blub. És a tömítés megy ow ow ow, de van egy hang, hogy senki sem tudja, mit mond a róka mondani? És David J. MALAN: Ez az a CS50. Látni fogjuk, hogy a Puzzle nap és hétfőn. [Taps] [MUSIC YLVIS, "Mi a FOX mondani?"] Narrátor: A Most mély gondolatok, a Daven Farnham. Ma már elütötte a szemben egy telefonkönyv. Zavaros, ahogy vagyok otthon nézi az interneten.