SPEAKER: Én [hallható]. És én vagyok a vezető a Leverett House. Tanulok számítástechnika, és én vagyok a TF CS50. Mint újonc, nem is kell egy laptop vagy egy okostelefon. Nem volt programozási tapasztalat. CS50 volt a legemlékezetesebb persze, hogy Vettem a Harvardon, mert a harc, de ez egy nagyon szórakoztató harc ugyanabban az időben. És egy csomó csodálatos, állandó barátok, és megtanultam egy csomó nagyon alkalmazható készségeket. Én csak annyira örülök, hogy nem hagyja, hogy a nincs háttér lehet mentség számomra nem veszi CS50. Én [hallható]. Én vagyok a vezető a Leverett House, osztálya 2014. És vettem CS50. DAVID MALAN: Tehát ez CS50. Ez az a hét végére nulla. És emlékszem, amikor elkezdtük az utolsó alkalom, volt ezekkel a lámpákkal, melyek annyira népszerű, hogy elment, és vásárolt még ma. Szóval azt hiszem, ez lesz a dolog ebben az évben - asztali lámpa, ha jön a színpadra, legalábbis addig, amíg elfogy. De használta ezeket felidézni, bemutatni alapjait képviselete adatokat. Szükségünk így kezdeni képviselő információ belsejében egy számítógép. És a legegyszerűbb módja, hogy volt, egy összetevő, villany. És a legegyszerűbb dolog, amit tehetünk villamos kapcsolja be és ki. Legyen az elektronok áramlását, vagy sem. És a két alapvető állam, off és, vagy a hamis és igaz, vagy nulla és egy, kezdtük látni, hogy mi is építeni fel, ebben az esetben, a fény izzók, több számot, mint csak nulla és egy. Mi számít magas, mint hét, például utoljára. De meg kell tennie, hogy folyamatosan dobás egyre izzók, hogy problémát, és tényleg, akkor képviselt olyan szám, amit esetleg akar. Nos, átalakultak gyorsan, akkor a Szerda erre byte önkéntesek. 8 bit, amit általában hívni egy byte, Tehát itt volt nyolc önkéntesek Szerdán akik együttesen voltak képviselő nyolc bit. És amikor a kezüket ment fel, hogy volt egy ember. És amikor a keze le volt a nulla. És mi volt ezeknek az embereknek gyere fel a színpadra, miért? Amit képesek vagyunk tenni ezt a sorozatot a bitek? Hogy hozzon létre egy ábécét. Tudtuk építeni a tetején, hogy előző leckében tanult, és valóban kezdeni, hogy sokkal érdekesebb információt, ami legalább még ismerős nálunk, embereknél. És ez lesz a visszatérő téma az egész 50, hanem a számítógépes tudomány még általánosabban, ez az ötlet rétegezés, ahol a végén a nap, ha valóban megkezdte a Alapvető tudnivalók a számítógép, igen, ez nullák. És alatta, hogy ez csak villamos. De nagyon gyorsan kezdeni, hogy ezeket a alacsony részletek biztosra és elkezd réteget a múltbeli dolgozott történik így, hogy mi végső soron a a végén a félév, és tényleg, általánosabban, számítógépes szakemberek és a programozók, tehetünk néhány igazán erőteljes dolgot kihasználva munka hogy mi magunk is tettem, és azt is állva a vállán mások. Most gyorsan átalakultak szerdán mindössze szüksége, hogy jelentenek információkat akarnak kell vele valamit. Szóval, mit is meg egy algoritmust? Egy sor utasításokat. Tehát ez egy sor utasítást, a lépések számát, hogy a humán, vagy egy számítógépet, még jellemzőbben, lenne végrehajtja az egyik a másik után annak érdekében, elérni bizonyos cél. És volt néhány célokat utoljára, amelyek közül az egyik az volt, hogy számolni ember a szobában. És egy másik ilyen példa az volt, hogy Mike Smith a telefonkönyvben. Szóval lehet felidézni, hogy elszakadt a telefont könyv fél felé a végén találni Mike Smith. A cél az volt, hogy, hogy a vizuális bizonyítják, újra, hogy mi volt, szó szerint tépte ezt a problémát fél, fél, fél, és nagyon gyorsan haladva, mint 1000 oldal hogy csak egyetlen oldalt. Azok, akik ezt nem fogadott Szerda, azt gondoltam, hogy játszani néhány felvételt, amit nem fogadott. Vessünk egy pillantást. [VIDEÓ LEJÁTSZÁS] -Tessék. 1500 oldal, Nice clean vonal, jogos szakadás. [END VIDEÓ LEJÁTSZÁS] DAVID MALAN: Szóval ez volt szerda. Mi átmenet azonban szerdán már hogy akarja, hogy képviselje algoritmusok valamilyen kissé megszokott módon, nem csak leírja őket szóban, de próbálja kifejezni írásban, vagy a számítógép képernyőjén, hogy mi is kezd javít, és módosíthatja őket, és végül, valóban elemezni, hogy mennyire helyes vagy milyen gyorsan voltak. Így vezette be ezt a fogalmat A pszeudokód, amely laikus szempontból, mi? OK, szavak. Menjünk egy kicsit mélyebbre, mint a. English, persze, van, de felé, mi a vége? Szavakat, amelyekkel létrehozni vagy hogy képviselje algoritmusok. Szóval nincs egy nyelven ismert mint pszeudokód a világon. Csak, hogy te, az angol, vagy a Bármi legyen is a beszélt nyelv, használata egyfajta felületes jelölés közvetíteni egy ötlet nagyon tömören. De majd meglátjuk, hogy minden bizonnyal egy English pszeudokódját, és kiderült, legtöbb programozási nyelv magukat azok a származékos termékek az angol is, fogjuk találni, hogy van néhány általános módon képviselő pszeudokódja és is programkód. Szóval, ahogy kezdődik, hogy még a legegyszerűbb példák ma, észre ezeket azonos minta megismétlődik a jövő héten. Így pszeudokódját volt valamiféle a nyelv hasonló egy programozási nyelv. És az első példát láttunk vizuálisan írták le volt ez. Csak három lépés program, a célja az volt, hogy számolja meg a az emberek egy kollégiumi szobában , hogy a videó szerdán. De volt néhány érdekes szempontok Ennek legegyszerűbb programot. És ez lesz a visszatérő témák. Így azok számára, akik ismerik a ez az egyik, bevezettük a változót. És valószínűleg mindenki ebben a teremben ismeri a változó a összefüggésben algebra. De itt, programozás, változó van, az egyik, lehet hívott, amit csak akarunk. Már a n, mint egy számlálót. De lehet használni a szót pult, vagy, amint látni fogja, a legtöbb olyan kifejezés, amely tetszeni, amíg ez leíró, de ez tényleg csak egy tároló. Ez egy darab memória, bizonyos számú bit, és változik számítógéppel, hogyan sok bit van, hogy össze, hogy a változó. De nem tud értékeket is. Eddig még csak fel számokat. De nem tud tényleges szavakat. Azt is fel bekezdések. Azt is fel képeket - Semmit sem tudunk képviselt nullák, akkor tegye Ezt a magasabb szintű fogalom változó. Így szép egyenes továbbít ott. És ez az egyesen. De nagyon gyorsan haladt a vonal egyik, hogy ténylegesen valamit a változó. És sorban három, frissítettük N. We növekszik N. És lehet írni ezt tetszőleges számú módon. De talán a legnyilvánvalóbb csak azért, hogy azt mondják, meg az N értékét az bármi N + 1. Szóval ez volt a növekmény. Közben volt egy hurokban. És ezt is, valószínűleg elég intuitív. A hurok csak valamit egy programban ez történik újra és újra, néhány ilyen ciklus. És ez a legfontosabb mondat Itt az egyes, a valójában nagyon gyakori az egész leginkább programozási nyelvek, beleértve a is látni fogjuk során. Bármikor látod a szó, hogy általában sugallja, hogy a loop, valami ciklikus, fog történni. De érdemes megjegyezni, egy egyéb szintaktikai részleteket. Az a tény, hogy a harmadik sorban van valójában bentebb miután megüt a szóköz néhányszor szándékos. Mivel az emberi konvenció, hogy, ha csinálsz valamit, újra és ismét a hurok, mert kezdődött a kettesen, Ön francia bármi tartozott az, hogy a hurok, csak világossá tenni, hogy ez vonal három, és nem, például, vonal négy vagy öt, ha volt vonalak vagy öt, amely része, hogy a hurkok. Tehát ezt az egyszerű behúzás közvetíti, hogy az alapötlet. Ezért alkalmazzák ezt az algoritmust, Most, hogy néhány példát említsünk. És ez is egyszerű példa a valós világban. De ez lesz reprezentatív hogyan megy a tesztelés saját egyre összetettebb programokat. Megpróbál egy pár forgatókönyvet, néhány képviselők bemenet, és nézd meg, hogy a kívánt kimenet. Így ez a példa két ember ül a kollégiumi szobájában. A bal oldalon, hogy ugyanaz pszeudo kódot. És ez egy képernyőképet az igen utolsó lépés az alkalmazás e algoritmus a bemenet, ahol két ember a szobában, és emlékszem, ahogy végig egy sor, és két és három, és két három és kész - végére, hogy algoritmus, mi volt valóban számít a két fickó, akik a szobában. Azután kipróbáltunk egy másik példát. És mi azt mondtuk mi van, ha van nulla ember a szobában? Ez még mindig a helyes kódot? És valóban az volt. Ez csak azért történik, hogy a vonal két , és így három vagy vonal nem fog végrehajtani. Ők nem fog megtörténni egyáltalán mert ők egyszerűen nem alkalmazható, ha a ott nulla ember a szobában. De nem nagy ügy. Egyesen inicializálni N nulla, így még akkor is csak egy sor a program valóban végül is hasznos, még mindig kapjuk a helyes választ, mint jelzi a narancssárga nullához az alján. De aztán úgy döntöttünk, hogy ez egyfajta ostoba algoritmus. Ez elég lassú. Bizonyára én is két, négy, hat, nyolc, tíz, amikor a számláló ember egy szobában. Így csípett az algoritmus, a pszeudokódját, mondani, most sorban két, Minden pár ember a szobában, folytassa, összhangban három növekmény A két egyes iteráció. Annak érdekében, hogy működött volna itt ez a pár személy a szobában. De aztán, ha elkezd gondolkodni ezt, és nem tart sokáig, hogy észre, várj egy percet, ez fog törni, megszakad milyen egyszerű eset? Ha van három ember a szobában, vagy általában, ha van egy páratlan számú ember a szoba, köztük egy. Mi fog hiányozni ez a személy itt, mert nincsenek ilyen párok. Tehát gyorsan kezelni, hanem bevezetése milyen további programozási szerkezeteket A pszeudo kódot. Tehát egy állapot, amit az úgynevezett , vagy egy ág. És ez azt jelentette, hogy közvetíteni, vizuálisan, a ötlete ág, egy villát az úton ahol akár erre vagy talán valami más. És valóban, mi ennek a kérdésnek a hozzátéve, 4. sor, mondván, tényleg, a A legvégén, ha egy ember marad, akkor megy előre, és számold őket különlegessé. Szóval egyfajta különleges esetben őket, így beszélni, hogy most már képes kezelni mind páros számú embert és páratlan számú ember. Most van tetszőleges számú módon tudtuk kifejezték ezt. És őszintén szólva, nem tudtam volna még nit válogatós, amikor jött az én választott Angol a pszeudokód. De legalább a szelleme az ötlet eljut. Ha átadta ezt a kódot, hogy egy barátjának aki nem a CS, vagy még soha nem vett CS, esély tudtak kitalálni, adott három ember a teremben, hogy hogyan számolni azokat az embereket alapján az ezeket az utasításokat. És ez mind nagyon szeretnénk elérni A pszeudokódja valahogy szabványosítása hogyan fogjuk a ami ötleteket, hogy mi is kezdjék el bonyolultabb dolog is. Annak érdekében, hogy elvezet minket akkor, ma, a tényleges kódot. Kezdjük a mai program, bár barátságos környezetben. Aztán átmenet nagyon gyorsan egy misztikus szintaxis, de az egyik, látni fogja alapvetően ugyanaz, mint a Az ötletek látni nyilvánul meg a ez a másik nyelv ma. Ez csak fog kinézni egy kicsit más. Tehát ahelyett, hogy csak hívja ezt a kódot, én vagyok lesz egy kicsit pontosabb és azt mondják, ezentúl írásakor a program írsz forráskódot. Ez olyan, mint pszeudokódja. De majd meglátjuk, hogy ez nem valami laza ha jön a választás a szavak hogy használja. Amikor programozási nyelven, akkor használni a szavakat, a mondatokat, a szintaxis, hogy más emberek úgy döntött, képviseli az adott nyelvet. Tehát pseudocodes csak rajtad áll. Egy igazi programozási nyelv, mint a C, hiszen akkor végül látni, szabványosított mások. Szóval hogyan megy az írásról néhány forráskód? Hát én megyek előre, és erre a célra. Én megyek előre, és nyit egy ablakot itt. Erről bővebben a jövő héten. De ez egy olyan eszköz, az úgynevezett A CS50 készülék. Futok a szoftver az én Mac, de akkor nem ugyanaz a dolog Windows számítógépen, hogy ad nekem az illúzió fut egy másik operációs rendszer teljesen igaz itt egy ablak a Mac-emet. Most teljes szűrni azt, így nem valóban látni Mac OS most. Ez egy operációs rendszer nevű Linux. Ez nagyon népszerű. Ez nagyon gyors. Ez nagyon szabad, amelynek eredményeképpen nagyon kényszerítő, különösen a üzleti világban. És még az, hogy a vége felé a félév, amikor a Linux egy kicsit webes programozási és hosting tényleges weboldalak és projektek. Tehát most, csak tudom, hogy ez egy asztali ami azt jelentette, hogy meg homályosan ismerős a Windows és a Mac OS. Csak van néhány különböző nevek és ikonok a dolgokat. De ez az úgynevezett CS50 készüléket, a virtuális gép, hogy a kezdve a jövő héten, akkor a srácok fuss belsejében egy ablak a saját Mac vagy PC. Mára fogok nyitni a legegyszerűbb program. Úgy hívják gedit. És ez csak egy grafikus szerkesztő. Ez olyan, mint a Microsoft Word, de egyszerűbb. Ez olyan, mint a szöveg szerkesztése vagy jegyzettömb. Ez csak egy nagyon egyszerű program amely írni szavakat a képernyőn. Ez csak azért, hogy mi történik, ha én meg fájlokat hozok létre, ha a program egy speciális kiterjesztéssel. c helyett a. doc vagy. xls, vagy bármi más már ismeri, én tényleg hozzon létre programokat használja még ezt az egyszerű szövegszerkesztő. Hadd csinálni. Hadd menjek előre, és mentse el a fájl először hello.c. És ismét, ez a felhasználói felület megismerik a gyorsan. De most, én csak gépelés a fájl nevét. Meg fogom menteni az én John Harvard könyvtárában. És most már ez a lap, amely azt jelzi, Én valóban szerkesztése nevű fájlt hello.c. Így nem túl érdekes még. És most fog hogy elég rejtélyes. Megyek a nagyításhoz, csak így jobban látható. És én fogom kezdeni gépelni is stdio.h, int main, üres, nyitott göndör zárójel, egy, kettő, három, négy, terek A behúzás, nyomtatási f, a nyomtatott valami formázott, idézet idézet vége, "Hello, world" backslash, n, közel idézet, zárt zárójel, pontosvessző, be backspace, backspace, backspace, backspace, zárt zárójel - Én programozni. Rendben, így ez egy végtelenül egyszerű, programot, tényleg, a program valaki indul programozás. És ez minden, a maga teljességében, a nyomtassa ki a képernyő, tudod mit? Hello world. De ez nem elég csak a írni egy programot. Szóval ez a kód. Ez forráskód a nyelv a c. Ez mentett jelenleg nevű fájlt hello.c. Most nézd meg az alján A képernyő itt. Többet erről, ismét a az elkövetkező hetekben. De ez az, amit majd hívni egy terminál ablakot. Ez egy villogó, fekete és a fehér gyors. Ez a fajta egy régi iskola interfész egy számítógép, amely általában nem használni az egeret, vagy más grafikai elemekkel. Csak használja a billentyűzetet. És én parancsokat a a villogó prompt. És a mai célú vagyok majd írja be a következő - hogy helló. És a program, hogy, csak egy program, a valóságban ezek a nap, mi lenne kattintson duplán. De ezen a felületen a mai, mi majd írja be a nevét a prompt. hogy helló szó fog hogy nekem a program neve helló. És ez meg fog erre a keresett Egy fájl csak a alapértelmezett, az úgynevezett hello.c. Meg fog fel akarok C program a természet, hogy ez a számítógép van beállítva. Szóval megy előre, és nyomd meg az Entert. Látok néhány rejtélyes kimenet, de ez lesz túl ismerős nemsokára. Ez történt futtatni egy fordító, még az, hogy egy pillanat, az úgynevezett csenget. De most, itt van csak egy villogó azonnali. És megy előre, és most írja dot slash, mert érdektelen miatt fogjuk gyere vissza jövő héten - Hello. Tehát mindez erőfeszítés eddig csak írja a legegyszerűbb programok, amint Enter, csinálja. Szóval írtam az első program. Szóval szándékosan dugta szórakozás ebben a nagyon egyszerű program egy pár oka. Az egyik, hogy nehéz, hogy izgatott arról szól, hogy egy osztály, ha ez a játék végén. De több, mint, hogy van egy sok a zavaró tényező itt. Amikor először megtanulni program, Azoknak, kevésbé kényelmes, és még én is, vissza a nap, amikor először látott ilyet -, akkor milyen ábra, rendben, ez a van a nyomtatási hello world. De van olyan sok figyelemelterelés. Annyi szintaxis a képernyőn , hogy ez lesz, ahogy a nagyon egyszerű, egyébként egyszerű, ötleteket. Szóval, mit fogunk csinálni ma vagyunk megy, hogy félre C és gyere vissza, hogy a hétfőn. És fogunk használni a grafikus programozási nyelv nevű Scratch. Ez egy programozási nyelv, amit utalt szerdán, hogy megy lehetővé teszi számunkra, hogy nem ugyanazt a dolgot de szemet huny, a mai, A kapcsos zárójelek, a zárójel, a pontosvessző, és ezek a hülye zavaró, hogy útban van, az az első napon, néhány alapvető, szép érdekes ötlet. Tehát felé, hogy a végén, én megyek vissza az asztalra ide, és be, hogy a másik, hogy, hogy az program, amely fog kinézni kis valami könnyű ez. Így fogjuk végrehajtani, hogy az ugyanez a program ma - két puzzle darabokat, hogy amikor egymásba és kattintott, azt fogja mondani, hogy a világ, hello world. Úgyhogy valóban oda. Szóval megyek előre, és nyissa meg a website néven scratch.mit.edu. És ez vezet engem ezen a honlapon itt. Előre, már bejelentkezett ebbe honlap és az első problémák végigvezeti Önt néhány ilyen lépéseket. Én megyek előre, és kattintson én semmiből mappában. És ez fog mutatni nekem Bizonyos projektek, hogy már valóban létre előre. És kiderül, hogy a grafikus programozási nyelv nem csak folyik hogy hadd program húzással és csökken ezek a puzzle darabokat, akkor nem is kell külön szoftvert. Ez mind ágyazva a böngésző, így hogy meg tudod csinálni, elméletben, a a számítógépek most, ahogy néhányan lehet, hogy, anélkül, hogy szüksége szoftver, mint a CS50 készülék ami jön a következő héten. Szóval megyek fel a felső sarokban itt és kattintson a Create. És egy pillanat alatt fogok kapni egy üres képernyőn keresztül, amit lehet kezdeni programozás a grafikus programozási környezet. De ebben az időben, akkor lesz sok, Sokkal egyszerűbb azt ténylegesen. Tehát csak egy pillanat, amikor a Wi-Fi együttműködik, most már a képernyőn. Tehát egy gyors szóbeli túra, de merem állítani, Természetesen, ha belevetik magukat a első probléma meg, akkor találta ezt mind nagyon hozzáférhető és meglehetősen intuitív. De fessük a mentális kép csak egy pillanatra. Tehát ez alatt prompt mondás mentés módosításokat, akkor arról, hogy semmiből. Ez egy sprite. Ez egy karaktert. És él, hogy mit fogunk hívni a színpadon, ez a nagy fehér téglalap amely tudja mozgatni fel, le, balra, jobb, és nem, tényleg, egyéb intézkedéseket. Eközben, a közepén felhasználó felület, van egy csomó puzzle darab. És látni fogod, hogy azt mondják a dolgokat, mint hogy 10 lépés, fordult 15 fokkal, pontot egy bizonyos irányba. De van kategóriák blokk fel itt is. Ha megyek, úgy néz ki, látni fogja, hogy Vannak más puzzle darabok látszólag fogja mondani ezt a cit köszönni, gondolkodni, hogy megmutassa magát, elrejti magát. Ha lemegy a Hangok, kiderül, van módon játszani hangzik miau, hogy állítsa le az összes hangot, hogy játsszon a dob. Tehát hosszú történet rövid, van egy egész csomó puzzle darab, amely lehetővé teszi mondani ez a macska, vagy akárhány más karakter, hogy mit kell tennie. De ahhoz, hogy ez az egész történik meg kell kezdeni a programozást. És ez a nagy fehér doboz, vagy szürke doboz, a a jobb oldali, ez az, ahol Megyek valóban fogd és csepp a puzzle darabokat. Ez az én üres szöveg ablak egyenértékű. Szóval megyek előre, és kattintson Irányítsd a közepén. Vagy inkább, hadd kezdjem up alatt Events. Az események pad, észre fogod venni, a néhány dolog, amelyek szándékosan ívelt tetején oly módon, hogy valószínűleg nem a retesz tetején a puzzle darab. És ez azért van, mert a start körvonalazhatóvá A program, a kezdete egy script, hogy úgy mondjam. Ha megyek előre, és húzza, amikor zöld zászló kattintott ide, aztán akarom mondani macska valamit először. Szóval megyek alá a panel úgy néz ki. És én megyek előre, és megragad a köszönjön blokk, és húzza, és vidd, és engedd el úgy, hogy automatikusan reteszeli ott. Aztán észre tudok kattintson a szöveget. És felülbírálhatja azt, hogy több specifikus, mint, mondjuk, hello world. És most már a program, azt állítom, egyenértékű az, hogy sokkal több misztikus programot elkészítettem C-ben egy perce. Ha megy át most a bal oldalon, észre van egy nagy stoptábla és egy nagy zöld zászló. Hadd nagyítani a világosság. És amikor most kattintson a zöld zászló, akkor talán kitalálni, mi az első program most fog csinálni. Tehát ott is, mi programozás, de akkor nem is igazából, hogy leragadt néhány ilyen szintaktikai, apró részleteket. De próbáljuk valami kicsit érdekes. Hadd menjek be a Scratch mappában. És tényleg, hadd hadd nyit külön programot itt csak egy Jelenleg ez az ablak maximalizálása, fájl megnyitása, és én megyek a mai forrás könyvtárba. Mint mindig, talál, ma és kezdve, hogy a mai példák elérhető belsejében a kurzus honlapján. És én megyek előre, itt, és válasszon egy kicsit valami más. Ez itt, ami Kéne egy önkéntes. Ki szeretne egy asztali lámpa ma? OK, hogy valaki egy kicsit - van a végén? Gyere le. Nos, szeretne részt venni, vagy csak annyit kezdődik a asztali lámpa? Vanessa: [hangtalan]. DAVID MALAN: OK. Kiváló, mi te neved? Vanessa? David. Örülök, hogy megismerhetem. Gyere hát, és Vanessa megy hogy átvegye az irányítást az én billentyűzet egy pillanatra. És mit tettem itt, csak az idő a kedvéért, mivel rájöttem, a Wi-Fi egy kicsit lassú, Scratch, a programozási környezetben vagyunk Használat is le lehet tölteni, és fut a helyi számítógépen. Szóval, mit tettem előre előadás, a esetben, ha megtörténik, hogy én letöltött az összes fájlt vagyunk arról, hogy játszani úgy, hogy lehet futtatni egy kicsit gyorsan itt az én laptop. Szóval ezért most látok a Mac-specifikus felület. Szóval megyek előre és nyissa fel ezt. Én megyek előre, és most teljes képernyő az ablakot. És látni fogod, hogy nagyon gyorsan, mivel ez a diák volt, az egyik az elődei, megy hello world egy sokkal sokkal vonzóbb alkalmazás. Tehát itt van az utasításokat. Ja, és van egy másik dolog. Azt gondoltam, hogy jó lenne, mivel általában, mi lesz forgatás kamerák ezen a módon. Azt gondoltam, hogy jó lenne, ha Vanessa, láttuk a világot a szemed. Tehát itt van néhány Google Glass. [Astonished GASPS] DAVID MALAN: Mi csak akkor ad távol asztali lámpa ma. [Nevetés] Hadd cue ezt fel. Rendben, érintse meg ezt. OK, Üveg, videofelvétel. Rendben, Vanessa? Most, amikor egy félre, amely semmi köze Scratch, ha megnézi kissé, és a jobb, majd meglátod a szó üveg, és meg kell megjelenik egy kis téglalap alakú ablak. Látnia kell az összes osztálytársai hogy filmezik most? Igen. Vanessa: Igen. DAVID MALAN: OK. Szóval ez rendben van. Majd engedje ezt a felvételt később. Egyelőre viszont a figyelmet A képernyő itt. És mi az elődje tett, egy kis a képernyőn megjelenő utasításokat csak használja a festék program. Így fogsz, egy pillanat alatt, nyomja meg a szóköz kezdeni. És akkor néhány puzzle darabok mennek hogy kezdenek mozogni felfelé a képernyőn. És azt szeretné, hogy elérje a nyilakat, csak mint a valós DDR szerint a dolgok sorakoznak azokkal nyilak. Vanessa: OK. DAVID MALAN: Már játszani ezt korábban. Vanessa: Igen. DAVID MALAN Rendben, Vanessa, megy előre, és vigye el. [ZENE - Kayne West, "erősebb"] [Taps] DAVID MALAN: Akkor most már egy lépést ettől. Olyan világosan, hogy ez a játék végén. A játék végén nem hello world. De nem kell feltétlenül tennie dolgok, hogy olyan interaktív. Megteheti animáció. Így például, egy másik a utódai tette ezt a programot itt, amely egy történetet mesél el, mint ez végre egy játék. Hadd megy előre, és nyissa fel itt programot az ugyanabból a forrásból könyvtárba a mai. Ez egy hívás, és kezdjük is, a cookie-szerelmi történet. És nem az, hogy ezt is tudományos, de ahogy nézem ez, gondolom, a el, melyik az egyszerű programozási fogalmak beszéltünk a eddig - változók, és a hurkok, és feltételek volt elődje valószínűleg használni csak , hogy végre néhány a képi. Látod itt. Szóval adok egy sütit szerelmi történet. [ZENE - GREEN DAY, a "Holiday"] [CRASH] [ZENE - a teknősök, "Happy Together"] DAVID MALAN: Rendben, tehát, mi volt a süti szerelmi történet. De még ott is - [Taps] DAVID MALAN: Jól van, még ott is, gondolni, mint szívvel ment aljától a képernyő felső részén, volt valójában egy kicsit véletlenszerűség folyik. És valóban, látni fogjuk, hogy még a legegyszerűbb környezetekben, mint például a Scratch, mint a C, akkor létre véletlen számok, vagy az illúzió véletlen számok, úgy, hogy a játék egy kicsit érdekesebb, mint amilyennek lehet, ha egyáltalán kemény kódolt mindent. A mozgalom, amit látsz, ott van valami érzékenységet. Amint a mézeskalács ember megérinti A mézeskalács nő, ő Úgy tűnik, hogy el kell mozdulni. És így, sőt, akkor végre, a legtöbb programozási nyelv, a gondolat, események, ahol ha az egyik kezet érinti Másrészt, néhány, amelyek kiváltó a forráskód ténylegesen végre. Tudod hallgatni az ilyen dolgokat a képernyőn. Szóval vessünk egy gyors túra, akkor a néhány az építőelemek tudjuk használni eléréséhez néhány ezeket a célokat. Tehát itt az, amit mi a továbbiakban hívja a nyilatkozatot. Nyilatkozat történetesen lila Scratch, egy kis valamit, mint ez, de ez önkényes. A nyilatkozat csak egy puzzle-darab, vagy általában olyan utasítás, amely mondja a számítógép nem valami, a nyilatkozatot. Tehát itt egy egyszerű minta. Mondd hello world. Egy másik lehet várni egy pillanatra. Szóval ez a puzzle-darab, amely támogatja A Scratch, akkor hagyd, hogy a karaktereiből szünetet néhány másodpercek száma. Ez is csak egy nyilatkozatot. Itt a következő, van egy másik, érdekes, játék hang-miau, és A kis nyíl azt jelenti, hogy Scratch, ez egy legördülő menüből. Így lehet importálni hangokat. Vehetünk fel hangokat, és nem más vicces dolgokat Scratch. És ez is, bár, a végén a nap, csak egy nyilatkozatot. De most nézzük be egy érdekes darab, hogy az ismert, mint a Logikai kifejezés. Capital B, névadója egy fickó BOOL. És egy logikai kifejezés csak puzzle-darab, vagy általánosabban, a darab olyan információt, amely igaz vagy hamis - egy vagy nulla, igen vagy nem. Szóval, ez csak egyike azoknak a két ellentét. Tehát egy ilyen logikai kifejezés a világában Scratch néz ki kék puzzle darab. És ez feltettem egy kérdést, az egér le, és hogy lehetnek, a Persze, igaz vagy hamis. Tehát ez a puzzle darab Scratch, nos, akkor képes lesz arra, hogy érzékeli, ha a puzzle ha az egér, sőt, mivel lenyomva az emberi interakciós a programmal. Ez az ember egy kicsit elvont, de a két fehér doboz csak a számokat. Így meg tudod csinálni a dolgokat, mint ez a szám kevesebb, mint a többi? És ha igen, Scratch fog viselkedni az egyik vagy a másik utat. Ez az ember egy kicsit grafikus. Ez, ha a sprite, ha a macska, a Például, valójában érinti a egérmutatót. Tehát, ha a kis nyíl fej lebeg át a macska, akkor ez a puzzle darabot értékelni fogja, hogy igaz. Ez igaz lesz, ebben az esetben, ha ezt a logikai kifejezés, ahogy fogjuk látni egy pillanatra, egy ág, akkor vagy ezt, vagy meg tudod csinálni, hogy a hasonlóan volt egy feltétellel, hogy ellenőrzött, van még egy utolsó személy a szobában? Ha igen, adjunk hozzá egy. Egyébként, ne aggódj tovább. Tehát egy logikai kifejezés is and-ed együtt, vagy or-ed egymással. Így össze logikai kifejezések és azt mondják ezt, és ez igaznak kell lennie az egész dolog, hogy igaz legyen. És itt van egy valós példa. Ha már használta CS50 tanfolyamok csinálni természetesen vásárlás, ezek a jelölőnégyzetek ott, ahol, ha megnézed, hogy jelölőnégyzetet a tanfolyamok, hogy azt mondják, igen, csak azt mutatják meg tanfolyamokat, amelyek a Q értéke 4.5 vagy magasabb. Ha törli azt, nem, nem aggódj. Vagy hasonlóképpen, a jobb nem Konfliktus tanfolyamok veszem, Ez vagy igaz, vagy hamis. Ez csak egy logikai kifejezés. Tehát egész idő alatt, ha már használt honlapok jelölőnégyzetek, csak most változni fog az egyenértékű a logikai kifejezést be-és kikapcsolása. Tehát milyen formában használja ezeket? Nos, Scratch, majd meglátjuk, egy pillanat alatt hogy vannak olyan körülmények, amelyek néz ki. És ez a fajta értelmes, mert sok mint pszeudokódját, akkor beljebb az a fajta U alakú puzzle darab, átlag hogy valami belül, hogy U fog végrehajtani, vagy sem, attól függően, függően, hogy hol van. Tehát, ha logikai kifejezés, akkor bármi bent lesz végrehajtva. Közben van egy if / else blokk. Tehát, ha egy ágat, hogy megy ez így vagy úgy, Scratch ad nekünk. És ezt a logikát, most, annak ellenére, hogy a puzzle darab túlságosan kicsi az ék valami mást belsejébe, A semmiből puzzle darabokat, ők csak fog növekedni. Ha húzza át valamit, akkor csak nőni, hogy illeszkedjen bármi A te akar csinálni. Így lehet, hogy két ilyen dolgot, és hogy három módon útelágazáshoz így hogy vagy ezt, vagy azt, vagy ez a másik dolog, amit csak a fészkelő őket az említett módon. Természetesen, ha nem, hogy túl sok, kezd csúnya. De ezen a ponton, akkor valójában valószínűleg nem programozás nagyon jól. És így, hogy lesz visszatérő téma, az is, hogy a stílus. Hogy mennyire jól van valójában formázza a kódot? Vagy milyen jól tervezzük meg a kódot? De még az, hogy a jövőben. És most már hurkok. Van egy szép örökre hurok Scratch ami szó szerint azt jelenti, hogy - do bármi belül még egyszer, és újra, és újra. Lehet, hogy több konkrét, és azt mondják, hajtsa végre a következő dolog, amit 10-szer. Tudod is használ változókat. Akkor jön a bármilyen nevet, hogy kis legördülő, és azt mondják, adj egy változó neve n, és állítsa az egyenlő néhány értéket. És akkor lehet funkciókat. De még ezeken csak egy pillanatra. Hadd menjek vissza a Scratch felület. És hadd menjen előre, ebben az időben. És menjünk előre, és nyisd ki, mondjuk, egy példát - ez egy kicsit érdekes. Hadd menjek előre, és valóban, hadd tenni magam. Nem kell megnyitni ezt. Hadd menjen a Fájl, Új. Fogok menni Events. Én megyek, amikor zöld zászló kattintott, és én megyek a Sound. És fogok drag and drop a puzzle-darab, játék hang miau. Ez zárak össze. És most, ha rákattintok a zöld zászló - [MEOW SOUND] DAVID MALAN: imádnivaló. OK, így most tegyünk valamit, egy kicsit logikusabb annak bemutatása, hogy tudjuk, egyelőre. Megyek kinyitásához ez az a fickó. Én megyek irányítani. És fogok megragad egy állapot. Tehát, ha valamit, akkor. Szóval így néz ki ott. Szóval kell egy logikai kifejezés. És hadd menjen előre, és azt mondják, hadd menjen operátorok. Fogok csinálni valamit kicsit Mathy, csak a hecc kedvéért. Én megyek itt, és azt mondják, ha a valami kisebb, mint valami más, megy előre, és csinálni valamit. Tehát most, tudod mit, véletlen blokk. Tehát észre, hogy, ha lebeg át ezt dolog itt, hogy fog illeszkedni ott. Tehát most, értesítést, kezdek csinálni valami már logikusabb érdekes. Ha egy véletlen számot 1-től 10 kevesebb, mint, mondjuk hat. Ha úgy döntök, hat, amely lényegében azt jelenti, a következőket kell tennie 50%-os valószínűsége. Ez olyan, mint essek egy érmét. Most tehetek valamit feltételesen. És hogy valami fogok csinálni a játék a hang. Tehát most, amikor rákattintok a képernyőn zászló, ez olyan, mint feldobás egy érme. [MEOW SOUND] DAVID MALAN: Ez fejek vagy miegymás ott. Csináljuk újra. [MEOW SOUND] DAVID MALAN: Heads újra. [MEOW SOUND] DAVID MALAN: Heads újra. Pfuj, OK. Tails abban az időben. Így 50%-át az idő, ha ezt végtelen hosszú, mi lesz 50% meows és 50% csend. Tehát, csak egy alapvető épület blokk, amely lehetővé teszi számunkra, csinálni. De ez elég fárasztó, hogy van hogy rákattint a gombra. Úgyhogy csak fogd és dobd az összes ilyen van. Ha vonszolta őket, hogy a középső, akkor csak törölni magukat. Hadd menjek fel, hogy ellenőrizzék. Hadd menjen örökké. És ebben az időben, azt fogom tenni valami minorly bosszantó. [Nevetés] DAVID MALAN És engedj el előre, és nem ellenőrzés. Várjon egy pillanatra, csak hogy ez nem túl rács. [MEOW SOUND] DAVID MALAN: Ez nem természetes. OK. [MEOW SOUND] DAVID MALAN: Vegyük észre, hogy mi, szép a Scratch, azok számára, akik már korábbi programozási tapasztalattal rendelkezik, akkor nem kell elindítani és megállítani. Nem kell lefordítani. Csak változtatni, és a program alkalmazkodni fog dinamikusan. Tehát ez már a kicsit érdekes. De nézzük, hogy egy lépéssel tovább. Hadd menjek előre, és kap Szabadulj meg a program. [MEOW SOUND] DAVID MALAN: Ez az, amit mi majd hívja a hiba Scratch. Nem kellene tartani, ezt a hangot. Szóval mi megmondjuk neki, hogy hagyja abba. Rendben, most én vagyok megyek be - Majd MIT tudni. Elmegyünk ide to Forever. És most, akarok valamit újra és újra. Fogok menni vezérlés. És lássuk, megyek, hogy húzza én, ha a feltétel is. Tehát most észre a logika. Amikor a zöld zászló kattint, akkor valami örökre, hanem csak azt, hogy valamit, ha ez a dolog igaz. Fogok menni, nézzük mondjuk, érzékelés. És én megyek előre, és válassza megható és vidd el oda. Ez egy logikai kifejezés. És most, észre, hogy ez a csökkenés menüből, vannak néhány előre beállított értékeket. Így azt mondhatom, maga megható a képernyő szélén? Vagy Ön megható az egérmutatót, A nyilat a képernyőn? Így fogom csinálni. És ha igen, akkor én megyek előre, és a játék hang miau. Tehát most valahogy a kezdetét a játék - egy aranyos játék. [MEOW SOUND] DAVID MALAN: OK, egy aranyos, Buggy játék. Hadd várjon, mondjuk, egy pillanatra. Most újra játszani, kattintson a zöld zászlót. [MEOW SOUND] DAVID MALAN: Tehát most már mint simogat egy macskát. [MEOW SOUND] DAVID MALAN: Jól van, most ez a Egy tudtam tenni előre. Nagyon későn, nem lesz olyan könnyen hülyeségeket csinálni. Hadd menjen ide. Mondjuk, hogy volt a Pet kat. Nézzük most nyitott Ne Pet a macska. Ha most játszani ezt, tudod kitalálni, ha nézi a képernyőt - [MEOW SOUND] DAVID MALAN: Most, ha a macska kisállat [Oroszlán ordít] DAVID MALAN: Szóval valójában nem kisállat a macska ebben az esetben. Így most már csak egy példa a ág, ami folyik a két irányban. Most hadd menjen előre, és nyitott egy másik itt. Ez is, többek között a forrás kód fájlok a nap. Hadd menjek vissza a Forrás könyvtárba, és menj be, válasszunk egy ez a fickó itt látni mi más. Wow, minden rendben, így már egyre egy kicsit bonyolultabb. És mielőtt azt látjuk, amit ez a fickó csinál, próbáljuk következtetni, a program a jobb oldali. És most scratch egyértelműen lehetővé teszi, hogy több scriptek több programot, amely egy sprite, egy karaktert, és úgy tűnik, Mindketten fognak futni lockstep. Mivel mind a két program indul A mikor zöld zászló kattintás, ez hint egy bonyolultabb téma, és amelyek közül néhány az lehet, hogy ismerős, ismert threading, vagy multi-threading. Kiderült, hogy rövidre fogjam, számítógépek ma lényegében nem több dolgot egyszerre. Vagy lehet hogy egy dolgot egy időben, így gyorsan, hogy nem is veszi észre, hogy ez valóban csinál egy dolog egy időben. De most tegyük fel, hogy mind a ezeket a programokat fog végrehajtani a ugyanabban az időben. És vegyük észre, mindkettő örökre puzzle darab. Így ők is fognak tartani fut amíg nem nyomja meg a piros stoptábla. Szóval, mit fognak csinálni? A bal oldalon, én látszólag nyilvánító nevű változó némítva. Szóval nem nevezném valami ilyesmi unalmas, mint N. hívtam némítva a idő közvetíteni jelentését. Én meg azt nulla. Gondoljunk, hogy hamis, vagy gondoljunk, hogy a hamis. Most örökre tegye a következőket. Ha a billentyűzet szóköz van nyomva, aztán, ha tompa nulla, majd változtassa némítva egyenlő egy. Else, meg tompa nullára. Tehát logikus, bár ez egy teljesen csomó puzzle darab, ami csak azt mondom, amikor megüt a szóköz, mit kell tennem, hogy a változó nevű némítva? Változás, hogy az egyik nulla, vagy nulla egy. Ez minden. Tehát ez, mint amikor egy villanykapcsoló be-vagy kikapcsolása és az emlékezés, a változó, hogy én már megtettem. Eközben a jobb oldalon, laikus szempontból, mi a célja a A script a jobb? DIÁK: A játék az oroszlánfóka hang. DAVID MALAN: játszani Sea Lion hang, ha nem némítva, a természete, amely változó. Szóval közös állam, hogy úgy mondjam, az információk megosztását között a két szkriptek, mert észre itt vagyunk örökre a következő módon. Ha tompa nulla, így ha ez nem elnémítva - ha némítva hamis, akkor játszani a Sea Lion hangot. , És azt gondolja, hi, hi, hi, mert két másodpercig, várjon egy pillanatot, majd ellenőrizze újra. Tehát, ha most elindulunk itt a bal oldalon, , ahol ez a fickó, és nyomja meg a zöld zászlót, [SEA LION SOUND] DAVID MALAN: A mi pont nem ez igazán bosszantó? Mivel ez csak örökké. Így néha végtelen hurkok, hogy úgy mondjam, nem szándékos. De ebben az esetben, amint azt nyomja meg a szóköz, hogy megáll. Most a program nem tud kilépni. Még mindig működik ezekben a hurok. De ha kapok a szóköz újra - [SEA LION SOUND] DAVID MALAN: Meg fog felvenni ott, ahol abbahagyta. Tehát van egy módja számunkra, hogy valami újra és újra, de hogy idő, csak feltételesen. Nos, míg mi ebben a szellemben csinál dolgokat újra és újra, hadd menj be egy másik ilyen példa itt. Ez hívjuk bárányokat számolnia. És észre, amit ez a fickó csinál. Ez valójában egy kicsit több, mint a pszeudokódját játszottunk a Szerda, amely állít néhány számláló, gondolni hogy az n ismét az nulla, aki örökké a következőket. Azt mondja, a számláló értéke egy második, vár egy második, majd változik a számláló eggyel. És ebben az összefüggésben, hogy csak azt lépésekben is. Így hozzáad egy hozzá. Szóval ez a szó - ez nem elég, amit gondolunk , mint bárányokat számolnia. Ez a juhok csinál a számlálás, örökre, szemben a nulla. Így nem tehetünk hasonló dolgokat ott logikusan. De most nézzük meg, hogy tiszta néhány ilyen dolgokat. Hadd menjek előre, már egy egyszerű Például ahol a macska csak úgy kezd köhögés. Rendben, itt van köhögés 0 - számítógépes szakemberek indul számlálás 0-tól. Tehát ez a macska csak megy köhögés háromszor. És itt van, hogyan hajtják végre, hogy az. Ha a zöld zászló kattint, köhögés, várj, köhögés, várj, köhögés, várj. És én ezt csak húzással és csökken puzzle darab. Vagy ha elkezd bütykölni Scratch, látni fogja, akkor tényleg ismétlődő darabokat, hogy meg tudod csinálni dolgok gyorsabban húzás nélkül és csökken a csömörig. De mi nem vagyunk a legjobb úton van. Mert hogyan tudom rávenni, hogy köhögés negyedik alkalommal? Nos, én is valahogy megy idelent. Tudtam példányban, majd be ezt ott. Hogyan tudom rávenni, hogy köhögés ötödször? Nos, másolja újra. Vagy húzza csepp újra. És nagyon gyorsan, ez a program elindul hogy nagyon, nagyon redundáns, nagyon hosszú, de nagyon érdektelen. De van egy módja annak, hogy tiszta a fel. Mi a legkézenfekvőbb tisztítani ezt fel? OK, így már valóban igazán megy , és, ha bejön a tér Bár, hogy neki köhögés. De ha csak azt, hogy valami ismétlődő, emlékeztetni arra, hogy mi van bizonyos ellenőrzési konstruálja. Hadd mozog ki ezt a Így megy ellenőrzés alatt. Hadd csak nem egy ismétlés, mondjuk, három alkalommal. És most hadd lopni Ezen puzzle darab. Hadd pattintsa itt. Hadd dobja ezeket el teljesen. És most, van egy jobb megtervezett program. Miért? Ha meg akarom változtatni a hányszor ez a macska köhög, minden, amit meg kell hogy megváltozik egy változó, vagy egy érték, inkább a három, négy, vagy öt vagy hat. Vagy én is tenni valamit feltételesen, sőt, a helyet bar ha akartam. Tehát ez egy általános elv. Miután elkezdte másolás és beillesztés kódot, hogy ez a Scratch, vagy C, csinálsz valamit baj van, nagy valószínűséggel. Vagy legalábbis, ha egyszer már meghaladta a néhány ésszerű számú másolatok és paszták, akkor valószínűleg csinál valamit rosszul. De tudod mit? Én nem nagyon szeretem ezt. Ez nem a legtisztább design. Bárcsak lenne egy puzzle-darab az úgynevezett köhögés, mert akkor nem kell végrehajtani ezt magamban, a régi módon, a miután mondani, és várj - mi lenne, ha ők is csak köhögés puzzle darabot. Nos, valójában csinálni. Hadd menjek alatt több blokkot, kattintson Készíts egy blokk, és most, hogy ez a ablak itt. Fogom hívni ezt a dolgot köhögés. Én megyek előre, és kattintson az OK gombra. És most észre, kapok egy új kiindulási darab, ami ívelt a tetején. És mit fogok csinálni ezt, én vagyok majd csak lopni ezeket a blokkokat. Fogom őket itt. És most, a három darab, én már végre, mit fogok hívni funkciót, vagy olyan eljárás, vagy néhány tudjátok, mint egy módszer. Enyhe különbségek a szavakat. De most, most csak hívja ezt a funkciót. Ez csak egy újabb puzzle-darab. Most már végre, mint ez. De észrevettem, hogy Scratch adott nekünk fizikai reprezentációja, hogy az egész blokkolja ide. Tehát most, csak húzza át a itt, mondjuk, ismételje meg háromszor, és mi fog történni most, amikor játszom ez a script, csak egy program fut egy időben. Csak egy, ha zöld zászló kattintott. De, hogy a lila blokk hívott köhögés hatékonyan mondja Scratch, minden alkalommal, amikor látjuk, hogy a puzzle-darab, valójában végre ezeket a lépéseket, hogy történik végre kézzel. Szóval ez ilyen ügyes. De most tegyük fel, hogy úgy döntöttem, én nem akar ez a macska, csak köhögni. Azt akarom, hogy képes tüsszentés is. Nos, hogyan megyünk a végrehajtási tüsszentés? Nos, én is elég sok nem ugyanaz a dolog. Tudtam, hogy egy másik blokk. Én is hívni ezt a tüsszentés, kattintson az OK gombra. Aztán itt azt ténylegesen is, hadd másolatot a - és van, ahol meg kell érezni, mint a akkor valószínűleg nem csinál valamit a legjobb módja. Tudnék mondani valami ilyesmit, achoo, egy pillanatra. Várjon egy pillanatra. Most van egy új blokknak nevezett tüsszentés. És valóban, ott van. De ez is, meg kell kezdeni érezni - talán nem az első héten az osztály, de a második - csak egy kicsit felesleges. Nyilvánvaló, hogy valami redundancia itt. Hadd javasolja, ahelyett, hogy e meghatározás pontosítása az alábbiak szerint. Hadd menjek fel a Fájl menüben. Nem fogom menteni ezt a verziót. Én megyek az egyik az előre elkészített fájlok itt. És én megyek előre és nyissa fel a köhögés 2. Hoppá volt köhögés 2. Hadd menjek előre, és megnyitja köhögés 3. amely a forrás könyvtárba. Köhögés 3. és észre - ó, azt mondtam A történet nem a megfelelő sorrendben. Hadd felépüljön ez a történet. A történet, amit el akartam mondani végződik köhögés 4 - ott van. Mi van, ha én, hanem meg nagyobb puzzle darabot hívott meg, mondjuk szó n-szer. Tüsszögés csak úgy tűnik, A Scratch, achoo. Így fejezzük ki, mint egy szó, csak azért, mert ez a kényszer a program. És egy köhögés [Köhögés], de a köhögés, C-O-U-G-H. Szóval ez csak két más szavakkal során lényegében ugyanaz a dolog. Szóval ténylegesen, hogy a Új blokk, mint ez. Én nem ezt a menüpont előtt. De ha kattintson a Make Block, lehet választani néhány lehetőséget. És azt lehet mondani, hogy ez a blokk valóban némi bemenet, különben ismert érvek és paramétereket, így a hogy lehet módosítani a viselkedését a blokk. Tehát, amit tettem egy perce volt, Felhívtam a blokk mondani. És akkor azt mondtam, hogy úgy egy string input. És most észre, alapértelmezés szerint, azt mondja karakterlánc 1. A karakterlánc csak egy szó, vagy a kifejezés, a céljainknak. De én csak lesz egy kis helyőrző szöveget is, csakúgy, mint a honlap, ha látod felhasználónév, vagy jelszót, és eltűnik, amikor a elkezdi beírni. Ez minden, ami van. És most fogok Szám hozzáadásához be. És én fogom hívni a N - de ez elég önkényes. És akkor csak egy címke, csak azért, hogy a blokk egy kicsit én magyarázó - idő, ez az, amit én csináltam. És a végeredmény az, hogy kapok egy blokk, amely úgy néz ki, mint ez. És most észre, én vagyok a ismételt blokk. De ahelyett, hogy kemény kódolás három, én vagyok áthúzza n ott így tudja paraméterezése a funkciót. Tudom, hogy ez a funkció nem valami eltérő számú alkalommal alapuló ez az érték. És észre, azt mondják, ez az, amit tettem Itt, ha húzza szó, azt mondhatom, nem a kemény kódolt szó, de mindegy telt el egy pillanatra. Eközben, hogyan tudom újra végrehajtani köhögés? Én inkább meg köhögés, mint mondván köhögés n-szer. Tehát röviden, megyek át a gyorsan, de az alapötlet, amint elkezdi látni a programban hogy, várj egy percet, megtettem valami nagyon hasonlót korábban, tudok tényező néhány gyakori funkció? Tudok bomlik, mit csinálok a néhány alapvető ötletet? Ez az, amit itt csinálunk. És én már egymásra ezeket a dolgokat, vizuális, a tetején egy másik mert bizonyíték arra, hogy az ötlet a kezdve a bináris, majd ASCII, hogy grafikus programok a fajta réteg egyre komplexebb ötletek egymás tetejére. Ugyanaz ötlet. Elkezdtem a semmiből, végrehajtási köhögés, aztán rájött a köhögés tényleg csak mond valamit. Hadd helyett végre a fogalma mond valamit. És a tetején, hogy tudok végre achoo, vagy köhögés? És mi is többet, mint változatok is. Tehát az alapelv, akkor elkezd csinálni egyre összetettebb programokat. Hadd nyissa meg ezt. Mi is valójában több sprite kölcsönhatásban a képernyőn egyszerre. Ha bemegy a könyvtárba és a forrás megragad egy úgynevezett téma, emlékeztetnek arra, hogy a szál csak nagyon a képesség két lefutó szkriptek egymás oldalán ugyanabban az időben. Figyeljük meg most, mind a madár sprite és egy macska sprite, mindkettő saját szkripteket. Tehát észre, amikor rákattintok a macska, kapok ezek a szkriptek. Amikor rákattintok a madár, Kapok ezeket a szkripteket. Tehát minden ilyen fickók is saját programokat. Amikor most kattintson a zöld zászló, észre hogy mi ez a program nem az, a macska, hihetetlenül Lassan, üldözni a madarat. De a macska az előnye, miután programozva, oly módon, hogy nem számít, ha a madár az, hogy a macska megy felé. Tudunk játszani, hogy a játék sokkal gyorsabb. Tehát, ha én vagyok a macska, észre, hogy én vagyok segítségével, mondjuk mozog egy lépésben. Vessünk rá mozogni öt lépés a egy időben, így öt pont egy időben. Hadd kattintson játszani. [Oroszlán ordít] DAVID MALAN: Rendben, most már igazán ad a macska az előnye. 10 lépés egy időben. [Oroszlán ordít] DAVID MALAN: Jól van, nagyon gyorsan, lesz egy kis előnye a macska. De majd integetni a kezem egyes részleteket. De az oka annak, hogy ez az ösvény kezdve egy kicsit más minden alkalommal az, hogy csinálok egy kis véletlenszerűség. Én valójában mutatva a macska egy más irányba alapján hol akarom kezdeni, hogy minden egyes alkalommal a játék, vagy az animáció, a kicsit más. Nos, hadd mutassam be az egyik más konstrukció itt. Tehát ebben az esetben volt funkciókat. Van még lesz egy puzzle-darab néven egy tömb, vagy egy listát, , amely lehetővé teszi, hogy tárolja több értékek belül változó. Láttuk szálak, és most van Events. Tehát itt van egy eseményt ez a két fickó itt. És ha megnyitja a fájl neve Események a mai példa, mi lesz lát egy program, amely úgy néz ki, Egy kicsit olyan, mint ez. És most észre ez a fickó - így észre már a kék Muppet kattintott - ő csak a következőket teszi. Nem kell egy ilyen zöld zászló puzzle darab. Van egy, ha kapok esemény - így néhány tetszőleges szót. Én éppen most adta ki esemény van - ő fogja mondani, Polo, két másodpercig. Tehát azok, akik ismerik ez a játék lehet, hogy tudja, ha ez megy. Ha most kattintson a narancssárga Muppet, a program nem az. Mindig, ha a billentyűzet szóköz elfojtott, ő fogja mondani, Marco, két másodpercig a képernyőn. De ő is fogja használni ezt a szakértő blokkolja az úgynevezett broadcast. Meg fog sugározni idézet idézet vége, "esemény". Eközben a kék srác, emlékszem, az hallgatta idézet idézet vége, "esemény". Tehát valahogy, most mi lehet két sprite kölcsönhatásban. És amikor a webes programozás, később a kifejezés, hasonlóan fog ez előnyös, hogy a website tenni valamit válaszul, a Például, egy kattintás a billentyűzeten. Hadd megy előre, és nyomja meg a szóköz. Orange fickó azt mondja Marco. Kék fickó azt mondja Polo. Ha újra meg újra narancssárga fickó azt mondja, Marco, kék fickó azt mondja, póló. Szóval vessünk egy lépéssel tovább. Ezúttal, megyünk, talán, csak pár percet itt. Van még - asztali lámpa, gyere le. Igazad van a végén. OK, akkor is jön. Van asztali lámpa mindenkinek. Gyerünk. Én nem tudom, hogy tudjuk tartani a ez nevetséges gag-ig minden félévben, mégis. Rendben, gyere le. És addig is, mi van a következő példák, hogy húzza fel, csak azért, hogy felgyorsítja a dolgokat most, úgy, hogy mi Van egy másik megnyilvánulása elődje a tiéd a ugyanazok az alapvető építőkövei. Mi a neve? JOHN: John. DAVID MALAN: John. Örülök, hogy nekem, hogy. És? SETZ: Setz. DAVID MALAN: Setz, örülök, hogy nekem, hogy. John, ha szeretné, hogy jöjjön fel először, ez egy régi iskola játék neve Frogger. Használja a billentyűzetet erre is. És a cél az, hogy az egész Az utca és a víz. [Frogger zene és a hang PLAYS] DAVID MALAN: Sajnálom, nem asztali lámpa van ma. Rendben, Setz, ugye szeretném, hogy jöjjön fel? Rendben, csináljuk újra. SETZ: Nem tudom használni a nyilakat? DAVID MALAN: csak a nyilakat. Fel, le, balra, jobbra. [Frogger zene és a hang PLAYS] DAVID MALAN: Majd hívjuk őket vigasz díjak ma, akkor nagyon jól sikerült. Itt mind a ketten, John és Setz. Gratulálok, rendben. Tehát újra, mert ez a játék játszik, gondolom, hogy mi folyik itt? Egy, ott egyértelműen a sok mozgás. De láttam, hogy hogyan, a macska és a madár Például, hogy hogyan lehet, hogy a illúzió mozgás mellett csak mozgó néhány pixelek száma újra és újra. És ha van egy örökké blokk, akkor ezeket autók ezt örökre. Megvan a képessége, hogy egy kis véletlenszerűség. Szóval ez a játék nem kell pontosan ugyanaz minden egyes alkalommal. Ezek a naplók, az autók, akkor kezdődik némileg különböző időpontokban úgy, hogy a Maga a játék sokkal érdekesebb minden játék. És Közben láttuk a képessége hallgatni a szóköz. Világos azonban, hogy a Scratch, igaz is hallgatni fel, le, jobbra, balra, és Tényleg egy gombot a billentyűzeten. És azt is meg néhány más dolog. Hadd menjek előre, és vissza hogy az internetes verzió. Hadd menjek be a gyűjtemény A példák itt. És a Saját Studio, videó, amely , lényegében egy mappát scratch.mit.edu. Megvan a web verziója az összes ilyen projekt. És nézzük meg, tudok én számítógép együttműködni itt. Ezt írta az egyik barátunk A MIT, az úgynevezett Mozgassa a Butterfly. És ha ez nyit, ez majd ténylegesen használni több a számítógép hardver. Scratch történik végre kell hajtani a Flash. Flash beszéljen a webkamera, ha van egy. Ha megyek előre, és ez a teljes képernyő Itt kattintsunk a zöld zászlót, értesítés hogy a Flash biztonsági üzenet azt mondja, szeretne lehetővé teszi, hogy használni a webcam? Normális esetben, ha kell talán mondani tagadni. De ebben az esetben, azt fogja mondani, hogy. Akkor én elmondom Chrome , hogy lehetővé tegye ezt is. És most, csak egy pillanatra, látsz engem, igen, én. És ha a kezem emelkedik - Van, hogy nem mozdul a fej ugyanabban az időben. Van is tükrözi a képernyőn. Gyere, itt is vagyunk - tudod mozgatni a képernyőn, mert van még puzzle darab - Ó, te tudja, mi az, hogy azért, mert azt is látni a kivetítőn mögöttem. Tehát van egy kis végtelen dolog folyik ott. Rendben, fogok játszani itt. Ott vagyunk. Tehát van még egy puzzle-darab, amely azt mondja, amikor azt látja mozgás alatt az egyik sprite, akkor lehet, hogy menni fel, le, balra, jobbra, vagy hasonlók. Tehát van egy kis virtuális valóság megy itt is, mind a határában a böngészőm, csak itt a saját webkamerát. Szóval mi majd a horizonton. Az első probléma készlet, mint látni fogod, vagy a honlapon megy online később ma este cs50.net, elég sok lesz nyitott. És végre egy Scratch projekt az Ön számára, a játék, a interakció, valami művészi, és kihívást magát, hogy bármely szám Ezen puzzle darab. És ez lehet akár interaktív ezen a módon. Vagy lehet valami szándékosan arról, hogy meséljen el egy történetet. És valóban, ez az, ahol mi lesz a végén ki ma, egy utolsó példa. Hadd menjek be Scratch helyben. Hadd menjek előre, és nyissa meg ezt, és a játék utoljára írt program egy az elődök, azaz hogy az ember itt. Jó, növelje a hangerőt ez. [MUSIC PLAYING] Srácok A következő CS50, David felkéri önkéntes színpadon. DAVID MALAN: Ehhez a bemutató, mi lesz szüksége egy önkéntes. Szeretne gyere le? Mi a neve? Lépjünk tovább.