[Vídeó spilun] [CAR DOOR gluggahleri] [CAR gangsetningu hreyfla] [TÓNLIST spila] -Moving Hægri meðfram í leit af góðum tíma og góðar fréttir. Með góðum vinum sem þú getur ekki missa. -Þetta Gæti orðið að vana. -Opportunity Drepur skulum bara að ná út og grípa það. -Já! -Together Við munum NAB það. -We'll Hitch ganga, strætó, eða sólargulur það. -Dammit. -We're Flytja rétt eftir. -Footloose Og ímynda ókeypis. -Getting Það er hálf gaman. Komdu deila því með mér. -We're Flytja rétt eftir. -We're Fara að deila álaginu. -Við Þurfum ekki kortið til fá þessa sýningu á veginum. -Hey Fozzy, ég vil að þú að snúa til vinstri ef þú kemur að vegamótum. -Já, Herra. Beygt til vinstri á vegamótum. Beygt til vinstri. -Ég Trúi þessu ekki. -Cruising Rétt eftir fundum ljósin á þjóðveginum. -Og Leið eða vegur minn. -Svo Treysta flakk mitt. -Movie Stjörnur með áberandi bílum og líf með toppi og niður. -We're Hugarflugsfundir stóru hæðirnar. -Já, Stormur er rétt. Ætti það að vera snjókoma? -Nei, Ég held ekki. -Moving Rétt eftir. -Footloose Og ímynda ókeypis. -Þú Ert tilbúinn fyrir stóra tíma. -er Það tilbúið fyrir mig? -Moving Rétt eftir. Flytja rétt eftir. Flytja rétt eftir. Flytja rétt eftir. -Ég Held að þú draga betur yfir. -Já, Herra. [END spilun] [Applause] DAVID J. Malan: Þetta er CS50. Og þetta er í lok viku 0, en upphafið að fallegri vináttu. Við erum svo spennt að vera hér við Yale University í fyrsta sinn með okkar vinur Scaz og Jason, og Andy. Allt 40 CS50 er TF áratugnum og CA er hér í Yale. Og þið öll. Og í raun, það er líklega kominn tími to-- [Applause] Svo, jafnvel þótt flest fyrirlestrum mun örugglega vera í Cambridge á þessu ári, Staðreyndin er sú að við hönnun og mjög mikið vísvitandi í CS50, Ég held að við séum að nálgast lið tæknilega og pedagogically, þar sem það getur verið betri í námi reynslu til að taka þátt með nokkrum Að námskeiðinu er efni á netinu. Reyndar reality-- og ef ég tel þetta philosophically-- er að fyrirlestrar eru ekki sérlega árangursrík leið til að skila nokkuð flókin upplýsingar. Vissulega yfir klukkustund plús löng haf af tími. Og reyndar á nokkurra minutes-- Ég man sjálfur í college-- þú detta út um stund, þú missir einhvern flókin efni, og þú ert farinn ansi mikið fyrir næstu 45 mínútur. Og raunin er sú að hvort þú ert hér í New Haven eða Cambridge eða utan, einfaldleiki hafa getu til að staldra við og hratt áfram, til baka, tengil á skyld auðlindir, leita fullur textalýsingu og þess háttar er tækifæri sem Ég þori að segja fyrir online nemendum okkar vel út New Haven, býður þeim tækifæri að virkilega grípa huglæg efni sem við kynna í fyrirlestrum allt betra. En á endanum í CS50, er Reynsla nemenda að einkennist svo, svo margt fleira með vandamál setur Námskeiðið er, eða vikulega Skilaverkefni er kafla er auðvitað undir kennslu félagar, kvöldi skrifstofutíma forystu Námskeiðið aðstoðarmenn og kennslu félagar og raunar svo Viðburðir og CS50 Puzzle Day, Hack-a-Thon CS50 er, CS50 Fair, vikulega lunches, og svo margt fleira. Og svo hvort þú ert hér í New Haven, eða stilla á úr fjarska, í dag í Cambridge, og við munum sjá þig aftur fljótlega, Staðreyndin er að þetta er einn og sama flokki. Og við erum svo spennt að vera hér allt saman í dag. Og svo í lok misseris, hvort hér eða fjarska vel vonandi þú stoltur, hamingjusamlega, og kannski með smá léttir, skyrta sem ber vitni að þér að hafa tekið CS50. Svo hvar did við fara burt á miðvikudag? Við kíktum á computational hugsun. Og það er til það sem við eimað tölvunarfræði við, að minnsta kosti fyrir nú. En við eimað það aðeins lengra inn amk þrír þættir þættir. Inntak, svo það er Vandamálið við erum að reyna að leysa? Framleiðsla, hvað er svara við erum að vonast til að fá? Og framsetning þar af. Og við munum ekki búa hér á eftir á tvöfaldur eða jafnvel ASCII, og þess háttar svo mikið, en frekar taka sem sjálfsögðum hlut að við getum tákna þessar upplýsingar, vegna þess að miklu meira áhugaverðum hlutum af þeim vandamálum eru ekki bara inntak og framleiðsla, en reiknirit sem fara í að leysa þau vandamál. Og þú gætir muna frá um daginn að við tók nokkuð hefðbundinn Hugmyndin um að einhver upp í nokkuð stórum símaskránni eða almennt stafrænt þessa dagana, bara mjög stór gögnum. A mjög stór tengiliðalista með hellingur af nöfnum í stafrófsröð flokkaður. Og við komust að á meðan ég gæti nálgast þetta vandamál einfaldlega með því að nota línulegan approach-- síðu eftir síðu, eða jafnvel tveir at a time-- við veruleika að því meira innsæi algorithm-- bara svona að deila og sigra vandamálið aftur og aftur, og again-- helminga það með hverjum tími, gaf okkur þetta græna niðurstöðu. Og það er svo mikill skjalla vegna þess að það bendir að jafnvel eins og þetta vandamál fær stærri og stærri, eins og raunin er þessa dagana með gögn setur og reality-- Facebook og Google leitarniðurstöður og like-- er reiknirit okkar framkvæma bara eins og í raun með þeim stærri bitum eins og það gerði jafnvel með smærri bit. Nú bidur það spurningin, hvað getum við leyst í raun álíka með þessa tegund af innsæi? Þessi tegund af skiptingu og sigra? Jæja, getum við gert eitthvað svona í dag hér. Við gætum tekið aðsókn. Svo kannski eins og 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11-- ekki að fara að vera allt að duglegur. Svo bíða, grunnskóla. 2, 4, 6, 8, 10, 12, 14, 16, 18 og svo framvegis. En við gætum gert aðeins betur? Ég er nokkuð viss um að ég get ekki gera þetta með því sjálfur. Þannig að ef þú munt húmor okkur fyrir aðeins stund, kom við hjá okkur reiknirit sem er bara þrjú skref, en það þýðir require-- ef þig ekki mind-- ekki allir af okkur að standa upp, ef þú vilt. Svo, með okkur öllum nú standa, skref einn af þessum reiknirit er eftirfarandi. Standa upp og úthluta sjálfur númer 1. Svo á þessum tímapunkti, bókstaflega allir í þessu herbergi vonandi er að hugsa með sjálfum sér: þó vandræðalega, númer 1. Nú stíga tveir þessum reiknirit er fara að taka eftirfarandi. Skref tvö, para burt með einhver standa, Bæta tölur þínar saman og samþykkja summuna inn sem nýja númerinu. Quick geðheilsan stöðva. Hvað tala er allir að hugsa um núna? Svo 2, nema kannski fyrir einn, klaufalegur, Lonesome manneskja. Ef við höfum oddatala af fólki í herberginu. Svo einn maður gæti samt verið númer 1, það er fínt. En Skref þrjú hér, einn af þú ættir að setjast niður. Hin ætti að fara aftur á skref tveir, og endurtaka, ef þú vilt. Svo ef enn standa, ættir þú að vera meðal þeirra fara aftur að stíga tvö. Halda áfram. Sumir enn standa. Svo, ef enn standa, para upp með einhverjum. Allt í lagi, minnkandi niður. Sumir enn standa. Ég hjálpa ef þörf krefur. Mundu takkann takeaway hér er hvernig mun hraðar er þetta en ég treysti. Svo skulum sjá. Ég get hjálpað út. Svo hvað númer eru þú enn að hugsa um? Áhorfendur: Ég er á 44. DAVID J. Malan: 44, svo þú ferð á undan og setjast niður. Hvað fjölda ertu að hugsa um? Áhorfendur: 74. DAVID J. Malan: 74. Allt í lagi, fara á undan og setjast niður. Hver annar er að standa? 86. Og er einhver annar enn standa? Hvað fjölda? Ég heyrði 67. Og þá í efstu? 32. Einhver annar enn standa og hugsa um númer? Oh, hi. Sorry. Strax aftur. 42. Einhver annar? Áhorfendur: 47. DAVID J. Malan: 47. Er einhver annar enn standa Hver hefur ekki verið talin? Svo síðasta fjölda fólks í herberginu sem hefur 497 sæti is-- sem allt eru filled-- er 390. Svo er þetta frábært. Við munum brátt ræða hugmyndina af villu í tölvuforriti. En við munum koma aftur til að áður en langur. En í orði, hvað gæti hafa gerst bara núna? Svo jafnvel þó að það voru þrír stórir skref til þessarar reiknirit, hver af þeim var bara svona einn stór aðgerð. Og það var þessi cyclicity við það þannig að ef þú varst enn standa, þú haldið að fara frá skrefi þrjú í tvö Skref þrjú gegn tveimur stíga þrjú til tvö. En hvað haldið að gerast á hverja ítrun? Hver lota þessa lykkju? Hvað var að gerast annars staðar í herberginu? Ekki aðeins það sama, en það var að gerast að helmingur af þér? Setjast niður. Og svo þar í liggur þetta innsýn, mikið eins og símaskrá td þannig að ef helmingur af þú ert sitja niður í hvert sinn, vandamálið er að byrja með kannski 400 manns, þá að 200 manns, en 100 manns, þá 50 manns, og svo framvegis. Og svo við tálga niður í kenning að aðeins einn mann, hugsa af heildarverðmæti allra. Nú veruleika, sumir þjóðfélagsmynd, og sumir tölur villur gæti stuðlað að því fullkominn galla. En í orði, en ég var enn að telja burtu, taka nokkur tugi skref, eða hundruð skrefum að telja ykkur, að telja roomful 500 eða svo fólk ætti að hafa tekið mun færri skref, vegna þess að þú getur aðeins skipt 500 og 1/2 svo oft. Og svo bara eins og með símann Bókaðu dæmi um daginn, gerði við höfum eitthvað lógaritmískum svo að segja, þar ef við vorum öll starfa í einröddun, og hunsa viðbót villur, myndum við hafa náð nákvæmlega þannig að keyra tíma? Nú til að vera sanngjarn, eins konar svikari, í að ég skuldsett annað úrræði. En það er bara ein af mér, Ég skuldsett hundruð þig. En það mætti ​​segja að vera dæmi um samhliða vinnslu, eða stöðu mála mjög mikið í tísku þar sem tölvur þessa dagana margar örgjörva, eða meira tæknilega, meira margar algerlega, og geta sannarlega gert margar hluti í einu, mikið eins og þú allt sem við erum að gera þarna, samhliða. En muna að það sem við einnig gerði á miðvikudag var að reyna að ná þessu innsæi og móta það í kóða. Eitthvað eins og gervi-kóða. Og í raun, og ég vona að þú munt fyrirgefa, það er eins og 80 gráður í hér. Þannig að ég ætla að taka þetta burt fyrir réttlátur a lítill hluti. Það sem ég hélt að við myndum gera er að umskipti nú að umsókn þar við eiga aftur áhorfendur, en skrifa forrit á ensku eins setningafræði, sem að leysa þetta vandamál hér. [Vídeó spilun] Hnetusmjör hlaup tími -Þetta er. Hnetusmjör hlaup tími. Hnetusmjör hlaup tími. Way ya! Way ya! Way ya! Way ya! Nú þar sem þú ferð! Þar sem þú ferð! Þar sem þú ferð! Þar sem þú ferð! Hnetusmjör hlaup! Hnetusmjör hlaup! Hnetusmjör hlaup! Hnetusmjör hlaup! Peanut, hnetusmjör hlaup! Hnetusmjör hlaup! Hnetusmjör hlaup með baseball kylfu. [END spilun] DAVID J. Malan: --that vídeó, en það er svolítið ávanabindandi, ef ekki svolítið pirrandi. En til að gera þetta, ég hélt að það sem við myndum gera er að reyna að skrifa forrit saman, sem við þurfum þrjú sjálfboðaliða. Verð að vera þægilegt á myndavél og internet. Sam, komdu upp. Purple skyrta, hérna, komdu upp. Og frá hérna, láttu mig fara aðeins lengra aftur. Crimson og blár skyrtur, komdu upp. Perfect. Komdu nú á. Komdu upp, koma á upp. Og hvað er nafnið þitt? Erica. David, gaman að hitta þig. Ef þú vilt taka þetta sæti hér. Þetta er Sam. Hvað er nafn þitt? Antonio. Antonio, gaman að hitta þig. Erica og Sam, ef þú vilt eins og að hafa sæti hér. Það sem við höfum komið undirbúin með, eins og þessir krakkar eru að uppgötva, er innihaldsefni sem að gera a hnetusmjör og hlaup samloku. Nú gæti þetta verið eitthvað sem þú tekur mjög mikið sem sjálfsagðan hlut. En við höfum gefið hver af þremur sjálfboðaliðum okkar here-- tveimur sjálfboðaliðum og Sam hér, brauðhleif hvers, plata, hníf, a jar hlaupi eða sultu, og krukku af smjöri hnetu. Og markmiðið framundan er að fara að vera fyrir þessum þremur að gera hnetusmjör og hlaup samloku. En það sem við erum að fara að gera er að búast sem audience-- síðan ykkur öllum vafalaust vita hvernig á að gera þetta svo vel í reality-- eru að fara að gefa okkur skref fyrir skref leiðbeiningar. Gervi-kóða, ef þú vilt. Svo ég ætla að leika hlutverk ritara hér. Og ég hef fengið smá til að gera lista, og svo hver af þér, einn í einu, kallar út möguleika kennslu, ég skrifa það niður, endurtaka eftir þörfum. Og þá þú krakkar eru að fara að gera a hnetusmjör og hlaup samloku Aðeins með því að gera það sem þú ert að segja. Svo hugsa um ykkur sem tölvur. Þú getur aðeins gert það sem þú ert að segja. Engar forsendur, engin spurning. Þú þarft bara að gera það. Svo sem langar til greiningar áhættu fyrsta kennsla til að smíða PBJ samloku? Á svölunum. Áhorfendur: Opnaðu poka af brauði. DAVID J. Malan: Opnaðu poka af brauði, ef þú vilt. Svo skulum sjá. Skulum iterate og fá smá nákvæmari. Góð leið til að byrja þó. Skref tvö, einhver annar. Nú vill enginn að sjálfboðaliði. Skref tvö, fyrir framan. Áhorfendur: Opnaðu innri poka af brauði eins og heilbrigður. DAVID J. Malan: Opnaðu innri poka af brauði eins og heilbrigður. Great, við að læra. Smá nákvæmari. Við skulum fá þetta vinna. Já, í grænu skyrtunni. Áhorfendur: [inaudible] DAVID J. Malan: Sneiðar af brauði. Varlega fjarlægja tvær sneiðar af brauði. Það er gott. Skref fjögur, einhver annar? Hérna, já? Áhorfendur: [inaudible] DAVID J. Malan: Place brauð á diskinn. Skref fimm? Skref fimm, já? Áhorfendur: [inaudible] DAVID J. Malan: Ofan of-- ó, hendi. Leggja hönd ofan á hnetusmjör. Er það það sem ég höfuð? Áhorfendur: Já, og skrúfa. DAVID J. Malan: And-- segja það aftur. Áhorfendur: [inaudible] DAVID J. Malan: Og setja Lokið við hliðina á hnetusmjör. Létt leggja hönd á Efst á hnetusmjör, og skrúfaðu og setja lok við hliðina á hnetusmjör. OK, stíga sex. Skref sex, einhver annar. Já? Áhorfendur: [inaudible] DAVID J. Malan: Segja það aftur. Áhorfendur: Endurtakið skref fimm aftur. DAVID J. Malan: Og endurtaka skref fimm ný, sem er að fara að búa til a hluti af a vandamál nú ef við erum að gera þetta skref fyrir skref. Svo nú erum við að fara aftur á skref fimm. Létt leggja hönd ofan af smjöri hnetu og skrúfaðu og setja lokið við hliðina á hnetusmjör. Þá grípa hnetusmjör og endurtaka skref fimm aftur. Þannig að við munum hunsa það óendanlegur lykkja, ef þú vilt. Skref sjö, einhver annar. Já, í bak. Áhorfendur: [inaudible] DAVID J. Malan: --on ofan á öðrum. Áhorfendur: [inaudible] DAVID J. Malan: Á hins vegar á hinum toppinn. Viltu bara koma upp hér? Hvernig get ég klára kennslu? Hvað er restin af kennslu? Áhorfendur: Hunsa að hluta. DAVID J. Malan: Hunsa að hluta. Við skulum byrja á. Skref sjö. Áhorfendur: [inaudible] DAVID J. Malan: Takið með andstæðar hand-- þetta er gott. Þetta er í raun gott. Áhorfendur: [inaudible] DAVID J. Malan: Og plast jar-- Áhorfendur: [inaudible] DAVID J. Malan: Og twist-- Áhorfendur: [inaudible] DAVID J. Malan: Fyrir tveimur sekúndum. Bara opna hnetusmjör jar. Ég vona að þú munt fyrirgefa. Svo skulum gera ráð við komum þangað. Opnaðu hnetusmjör jar. [Applause] DAVID J. Malan: Skref átta, við skulum fara. Skref átta, já, í bak. Áhorfendur: [inaudible] DAVID J. Malan: Good. Skref níu, já? Áhorfendur: [inaudible] DAVID J. Malan: --out af sem hnetusmjör jar. And-- og hvað? Áhorfendur: [inaudible] DAVID J. Malan: Og setja hníf aftur í hnetusmjör. Skref tíu. Skref tíu. Áhorfendur: [inaudible] DAVID J. Malan: Settu hnífinn út, og þá fjarlægja innsiglið. Nice. Af smjöri hnetu. Allt í lagi, skref 11. Áhorfendur: [inaudible] DAVID J. Malan: OK, grár tölva fylgja blár eða rauður tölvuna. Good. [Applause] DAVID J. Malan: Koma okkur heim. Par fleiri skref. Hvað er næst? Steps 12. Skref 12. Já? Áhorfendur: Settu einn af sneiðar af brauð varlega á einn af höndum þínum. DAVID J. Malan: Einn af höndum þínum. Og þá, stíga 13. Já? Áhorfendur: [inaudible] DAVID J. Malan: --on sneið af brauði. Good. Nokkuð gott. Skref 14, já. Áhorfendur: Afmá skref 13. DAVID J. Malan: Afmá skref 13. Við skulum fara á hlaupi. Það er 100- skref program, en við erum vorum á skrefi 15. Já. Áhorfendur: [inaudible] DAVID J. Malan: 7 í 13 með því að nota hlaup, því þá gekk svo vel. Endurtaktu skref 7 í 13, með því að nota hlaup. Svo grípa neðri hluta hlaup jar með annarri hendi ofan. Á hinn bóginn hins annar toppur, hunsa þann hluta, grípa með andstæðar höndum, lokið og plast jar neðst, og snúa í tvær sekúndur. Þá opna hlaup jar. Og loks, við skulum reyna að gefa okkur eitthvað ætilegt. Skref 16. Svo hvers vegna eigum við ekki að láta það þar. Þakka þér svo mikið að Þrír sjálfboðaliðar okkar. [Applause] Við höfum smá CS50 streitu boltanum fyrir þig. Það var að fara til vera a samloku but-- svo hvað var að benda, utan að hafa hluti af gaman með reiknirit? En raunin er sú að jafnvel þegar þú ert forritun tölva, þú þarft að vera frábær nákvæmur. Eins flókið eða erfið sem eigin tölvu gæti mjög vel verið að þér, á kosti þegar eitthvað fer úrskeiðis, Staðreyndin er að það er ansi heimsk tæki sem var fundin upp af okkur mönnum, og getur aðeins gert hlutmengi um hvað við do-- stundum vissulega faster-- en það veit ekki hvernig að gera ályktanir. Það veit ekki hvernig á að vera á sama bylgjulengd og þú. Það mun aðeins gera það hvað þú segir það. Og þú munt vera laust, kannski, eins og við að byrja skrifa raunverulegan kóða með því Fyrstu setur vandamál og víðar, hversu auðvelt það er að gera forsenda sem mönnum, og ekki ráð ég þarf að höndla að mál, eða að horn raunin, svo að segja, sem gæti mjög vel koma ef til dæmis Sam hafði aðeins squeezable jar hlaupi, en allir aðrir höfðu sumir glerkrukkur sem vel. Svo áður en við snúum okkar athygli að einhverju raunverulegu kóða, leyfa mér að kynna höfuð sjálfsögðu er hér í Yale. Vinir okkar Scaz, Andy, og Jason að koma upp og segja halló. [Applause] SCAZ: Við höfum misst Jason tímabundið. Hi aftur, allir. Mitt nafn er Scaz. Ég hef verið að kenna við Yale síðan 2001. Og þegar ég er ekki að kenna, Rannsóknin er í vélfærafræði og gervigreind. Og tilkynningu sem ég hef í dag er að byrja í nokkrar vikur, við erum að fara að vera að koma sumar ítarefni til CS50 að tala um vitsmunir hugbúnaður. Við erum að fara að tala um hvernig stöðum eins og Netflix og Hulu hægt er að mæla bíó sem þú might vilja til að horfa á. Þar sem við munum tala um hvernig bílstjóri-minna bíla vinna í raun. Og við munum vera fær um að jörð slíkt í þeim hugtökum sem þú ert að læra í þessum flokki í dag. Vegna þess að öll þessi atriði eru byggt á sama grunni. Og það er það sem þetta röð mun kanna. Þannig að ég er í raun að leita hlakka til að sjá meira af þér allt, og þú ert að fara að fá að sjá meira frá okkur öllum mjög fljótlega. Leyfðu mér að kynna þá Jason. JASON: Hæ allir. Mitt nafn er Jason. Ég fór því miður að Harvard sem háskólanámi. Það er að fara að fá skorið út á raunverulegri straumi. Og nú er ég hér sem lektor í tölva vísindi deild. Og ég er að hjálpa keyra námskeið með Scaz, Davíð og Andy. ANDY: Hey krakkar. Andy Ég heiti. Ég er í raun eina Yale nemandi á sviðinu núna. [Applause] Ég er í Berkeley College, upphaflega frá Solon, Ohio. Og ég var einn af þeim krökkum hvar, þegar ég kom til Yale, Ég hélt virkilega að ég myndi aldrei að líta á fjölda alltaf aftur. Og svo fattaði ég að þú þurftir bæði vísindi og QR ein að útskrifast. Og svo freshman vor minn, ég tók flokki, a CS, intro CS bekknum hér í Yale. Ég var eins og, þetta er eins og reyndar mjög flott. Og á meðan ég endaði reyndar upp lýsa Sem alþjóðlegt málefni meiriháttar, færni Ég lærði í CS og forritun eru svo við að allir sviði þú velur að gera. Og starfsfólk hér í Yale, við höfum verið svo erfitt í vinnunni að undirbúa sig fyrir ykkur. Og við hlökkum til að sjá allt í kafla og skrifstofutíma. Svo já. [Applause] DAVID J. Malan: Þakka þér. Svo rétt áður en flokkur hófst, við höfðum tækifæri að ganga um háskólasvæðið með cellphone og taka sumir selfies í vídeó formi í raun Fyrsta ferð mín háskólasvæðinu Yale hér. Og svo við héldum að við myndum deila gróft skera nákvæmlega þetta sem Scaz og Andy og Jason tók mig um háskólasvæðið. [Vídeó spilun] [Sírenur] -David. -Welcome Að Yale. -góða Að sjá þig. -Nice Að sjá þig. -Get Við fara í skoðunarferð? -Let Fara í skoðunarferð. -Road Ferð. Merki -Þessi hefur verið þar um hríð. -Whah, CS50. -Hurry! Fara, fara, fara, fara. Þú ættir [inaudible] Harkness Tower. -Og Við sáum að nokkrum sinnum. [Applause] -look Út fyrir hjólið! Ahh! Hi Frank. -Hvað Er upp, krakkar? -Hvernig Ert þú? -góða Að sjá þig. -Welcome Til the vídeó. Ekki bregðast of spennt. -Ég Elska Silliman. Ahh! -Það Er verið um þrjár klukkustundir síðan Jason hafði ís og Nutella. Þannig að við verðum að hætta aftur á Silliman fyrir smá. -Það Er ekki einu sinni [inaudible] enn, bara sú staðreynd að þeir hafa það hér er svo ótrúlegt. Dude, það er Nutella í hverri máltíð. -Það Var á síðasta ári líka. -Já. Segðu mikið um Yale svo langt. En ég það núna TD þarna. Og það er talið á háskólasvæðinu. -Here Við höfum Gothic arkitektúr. Heimsfræga. Við höfum sumir meira Gothic arkitektúr. Og smíði, og meira Gothic arkitektúr. Hi. Þetta er þar sem við erum með skrifstofutíma Þriðjudaga gegnum fimmtudögum í Hogwarts, sem [inaudible]. -Allt Í lagi. Það er það fyrir ferðina. Við erum á Yale University er Law School, þar Fyrirlesturinn í dag er um það bil að fara fram. Skulum höfuð í. [END spilun] DAVID J. Malan: Og sem færir okkur hér núna. Svo svona langt, við höfum verið með áherslu á sauðakóðanum, sem er þessi English-eins setningafræði. Það hefur engin tilskilin forskrift. Það er bara að nota sumir innsæi tungumál ef þú langar að útskýra hvað þú vilt gera. En við skulum byrja núna til að umskipti að kóða, eins og flestir myndu segja. En nánar tiltekið, eitthvað þekktur sem frumkóða. Þetta er tungumál sem menn skrifa að tölvur ultimately-- hugsanlega eftir nokkurn fjölda steps-- lokum skilur svo sem að vita hvernig á að gera eitthvað. Að þú sá svipinn af þetta kannski á miðvikudag. Þetta er dæmi um að ótrúlega, underwhelming þegar keyrt einfaldlega segir "halló heimur." Og það er skrifað á tungumáli sem heitir C, sem er setningafræðilega mjög svipuð til fullt af öðrum tungumálum sem þú might ekki vita, en gæti hafa heyrt um eins og Java, og C ++, og Python og Ruby, og þess háttar, og reyndar, við munum eyða miklu á önn með C, og síðan í átt miðað við enda önn, byggja á henni, og kynna hvaða fjölda annarra tungumála. Meðal þeirra PHP og JavaScript, gagnagrunnur tungumál kallast SQL. En með C, hvað við munum hafa þetta botn-upp skilning um nákvæmlega hvernig tölvur vinna, hvað þú getur gert við þá, og hvernig þú getur leyst vandamál allt betur eftir þetta layering að við ræddum á miðvikudag, og standa á herðar annarra. En meira um það að koma. Í dag skoðum við einfaldari umhverfi, en í grundvallaratriðum eins umhverfi þekktur sem grunni með vinir okkar á MIT Media Lab. Þetta er myndrænt forritunarmál, Scratch, þannig að þú getur dregið og falla hlutir sem líta út eins og stykki púsluspil að aðeins Öryggisræsipinni ef það gerir rökrétt eða forritanlegur vit til að gera það. En það er að fara að leyfa okkur að að tala um allt af sama forritun grundvallaratriði að sumir af þú gæti vita nú þegar, að margir af þú might ekki vita neitt án þess að þurfa að fá hika niður hreinskilnislega, í vitsmunalega uninteresting setningafræði semikommum, og sviga, og vitna, og þess háttar. Þar sem allir snemma á, eru truflun hvað eru áhugaverðar og virkilega gagnlegar hugmyndir. Svo skulum taka a fljótur litið á umhverfið hér, svo að þú veist hvað bíður. Og í raun, meðal leikjum sem við getur spilað eru nokkur forrit skrifað eigin fyrrverandi CS50 er nemendum. Einn af þeim, ég sjálfur, ég ætla að vera þessi maður skrifað í framhaldsnám fyrir mig. Ef ég gæti tekið einn sjálfboðaliða sem er til í að spila leikur í fyrsta skipti. Viss. Komdu upp. Hvað er nafn þitt? Áhorfendur: Angela. DAVID J. Malan: Angela, koma á upp. Svo Scratch hefur verið út fyrir nokkrum árum. Og þegar ég var í framhaldsnám, Ég var yfir skráðir í MIT, taka prófessor Mitchel Resnick er Auðvitað á námi tækni. Og við vorum meðal fyrstu nemendur í heiminum til raunverulega beta próf Scratch. Og verkefni mitt var það Angela hefur nú vingjarnlega boðist Til að spila heitir Oscartime. Þannig að ég ætla að fara á undan og tvísmella á táknið hér. Það er að fara að opna forritun umhverfi sem við munum fljótlega kafa. Ég ætla að fullur-skjár það fyrir Angela, hér. Ég ætla að lemja á græna merkja í bara smá stund. Og þá er allt fullt af rusli er að fara að falla af himni. Og þú ert að fara að nota músina hér að í raun að draga og sleppa Ruslið í ruslafötum Oscar. Svo ef þú vilt fara á undan og smelltu grænn fáni, leikurinn hefst. [TÓNLIST spila] Oh, ég elska ruslið. Nokkuð óhrein eða dingy eða rykugum. Nokkuð tötralegur eða Rotten eða ryðgaður. Já, ég elska ruslið. Ef þú vilt virkilega að sjá eitthvað Trashy, líta á þetta. Ég hef hér sneaker það er skörðótt og slitinn. Það er allt fullt af holum heldur og laces eru rifin. Gjöf frá móður minni í dag er ég fæddur. Ég elska það vegna it's-- DAVID J. Malan: --green þessum dögum bara vera að henda öllu í ruslið. Og svo það sem eitt af Eigið starfsfólk CS50 er did-- Jordan, sem þú gætir mæta today-- hefur í raun uppfærð þetta fyrir tímum í dag. Og svo leyfa mér að opna remix staðinn fyrir Angela. Og við munum spila þetta í staðinn fyrir nokkur augnablik þar nú þú ert fara að ákveða á milli hvort að kasta eitthvað í ruslið, eða endurvinna það eða rotmassa það. Svo er það hluti af þrýstingur á þig að fá þetta beint fyrir framan 392 til þinn 497 bekkjarfélagar hér í salnum, ef þú vilt. [Vídeó spilun] [TÓNLIST spila] -Ég Elska ég ruslið. Nokkuð óhrein eða dingy eða rykugum. Nokkuð tötralegur eða Rotten eða ryðgaður. Já, ég elska ruslið. Ef þú vilt virkilega að sjá eitthvað Trashy, líta á þetta. Ég hef hér sneaker það er skörðótt og slitinn. Það er allt fullt af holum og laces eru rifin. Gjöf frá móður minni í dag er ég fæddur. Ég elska það vegna þess að það er rugl. Oh, ég elska ruslið. Nokkuð óhrein, eða dingy, eða rykugum. Nokkuð tötralegur eða Rotten eða ryðgaður. Já, ég elska ruslið. Hér er meira Rotten efni. Ég hef hér nokkrar newspaper-- [END spilun] DAVID J. Malan: --are reyndar compostable. En þakka þér að sjálfboðaliða okkar, Angela. Við höfum streitu boltanum fyrir þig hér eins og heilbrigður. Svo þakka þér. Svo þetta var skrifað af mér. En nú einn af raunverulegum fyrrverandi nemanda sem innleitt þetta, sem er leikur. Allt í þessu tungumáli sem heitir Scratch, að við munum fljótlega afhýða aftur lag af. En ef við myndum like-- hvernig um annað sjálfboðaliði? Hægri. Komdu upp. Hvað er nafn þitt? Glance? Lance. Lance, komdu upp. Gaman að hitta þig. Koma á þennan hátt. Svo þetta gæti hafa þema þekki sum ykkar. En þú munt sjá líka að það getur verið gagnvirkni, þannig að þú gætir í raun að vera Hlutverk eðli hreyfingu. Gaman að hitta þig. David. Ég gef þér, Pikachu. Leiðbeiningar mun um að koma á skjánum. En í stuttu máli, þú ert að fara að vilt ná bragðgóður efni, og forðast sprengjur og aðra hluti. Með bendill alveg. Svo högg the rúm bar. -Pikachu. DAVID J. Malan: Afli efni á vinstri, grípa ekki efni á hægri. [TÓNLIST spila] Svo einn síðasta hér. Ef við gætum hafa einn meira sjálfboðaliði hér. Við héldum að við myndum endurskapa eitthvað from-- í gulu shirt-- frá miðvikudegi. Hvað er nafn þitt? Mary, komdu upp Maríu. Og muna á miðvikudag við kynntum hugmyndin um tvöfaldur, og tvöfaldur ljósaperur. Þetta er í raun nú framkvæmd þess sama tengi sem við höfðum á iPad með ljósi ljósaperur, en hér stafrænt veitt. Og frekar en að gera streitu ball-- gaman að hitta þig, David. Við tókum nokkrar ljós ljósaperur frá Cambridge. Ef þú getur, því að smella á þær ljósaperur til að snúa þeim á og burt, koma upp með the tvöfaldur framsetning segja 256. Og þú munt sjá í miðja, núverandi stemma. Þannig að einn er á. Svo er á lengst til vinstri hluti. MARY: Já, [inaudible] DAVID J. Malan: Jæja, þannig að við höfum just-- ó. Þannig að þetta er 128 dálki. Þannig að við erum allt að 128. Við verðum að komast að 256. Og þú getur tinker á og burt, ekkert stórmál. Eða þú getur högg að 128 oftar ef þú vilt. Allt í lagi, gott. 24. Já, fá nær. Nær! Oh, hvað er vandamálið þá? Svo er það málið? Svo hvað þurfum við að leysa þetta vandamál? Þannig að við þurfum annan bita. Og þetta er fullkomlega sanngjarnt í raun og veru, ekki satt? Ef þú vilt að telja frá fjölda 1 til 2 til 3 til 4 til að 5, 6, 7, 8, 9 að í raun rúlla yfir 10, þú ert að fara að þurfa frekari hluti. Svo skulum raunverulega baka hér, og koma upp with-- sem var augljóslega ætlað að vera sett upp. Þú getur ekki gert 256 með bara peru. Svo hvernig um Einfaldlega númer 50? Númer 50. Excellent. A stór umferð lófaklapp María og hennar eins og heilbrigður. Þakka þér. Svo topic-- þetta viljandi eins sem was-- vilja raunverulega koma aftur fram. Stærsta gildi sem þú getur tákna með átta bitum, eða einu bæti, er örugglega 256. En ekki ef þú byrjar talið frá 0, eins og við virðast halda að gera með því að hafa allar þessar bita burt. En nú skulum kafa í undirliggjandi framkvæmd þessu umhverfi, og stríða í sundur einhverja af þessum hugmyndum. Svo í smá stund við erum að fara að sjá nokkrar mismunandi grundvallaratriði forritun. Fyrsta sem við munum kalla yfirlýsingu. Raða af sagnir, ef þú vilt. Aðgerðir. Hlutir sem ætti að gera. Og á augnabliki sem þú munt sjá blokkir sem líta svona út. Segja "halló heimur," til dæmis. Eða bíða eina sekúndu. Eða spila hljóð meow. Og raunar umhverfið í sem við erum að fara að vera að gera þetta heitir Scratch. Og ef ég draga upp Scratch án forhlaða allir raunverulegur kóða, við skulum taka a fljótur líta á þetta notendaviðmót, svo að segja. Stjórnbúnaður sem við samskipti. Á the toppur vinstri hér af skjár, undir valmyndir, við sviðið, svo að segja. Svo er Scratch það sem við munum kalla Sprite. Það er eðli. Og hann er hægt að stjórna með því að skrifa forrit á hendur honum. Og hann verður fær um að fara upp og niður og vinstri og hægri í þessu umhverfi, ekki bara með því að færa mús, en kerfisbundið. Ég get sagt honum að ganga rétt, ganga vinstri, upp og niður eða þess háttar. Og ég get kynna aðra sprites eða stafi eins og heilbrigður. Reyndar, á the botn hér er þar sem þú munt sjá lista yfir sprites. Á því augnabliki, ég hef bara einn, en ég get búið til meira, og þeir birtast nákvæmlega þarna niðri. Svo ef þú til baka um stund, eins og Oscartime-- til dæmis, Oscar, á vinstri, ruslið getur, var Sprite. Og hlutur í miðju, endurvinnslu bin, var annar Sprite. Og rotmassa kassi var annar Sprite. Og hvert stykki af sorp eða recyclables sem var að falla af himni er einnig Sprite, sem hver um sig var forritað sig. Hvernig gera forrita þú? Jæja, hérna á hægri hönd hlið er forskriftir svæði. Og þetta er þar sem við getum draga og sleppa stykki púsluspil. Í viku, það er að fara að vera þar sem við skrifa equivalently kóða með meira af lyklaborð, en fyrir í dag það verður að draga og sleppa púsluspil stykki er litatöflur sem getur allt að finna hér til hægri í miðjunni. Reyndar, í miðju hér er það allt fullt af flokkum þraut stykki eða blokkir. Einn er tengjast hreyfingu, útlit, hljóð, penni fara upp og niður, gögn, stjórna viðburðir. Ekki alveg viss enn hvað allt þetta þýtt, en þú munt sjá að þeir eru búnir verið vel flokkaðar. Og til að skrifa forrit í Scratch, við skulum gera einmitt það. Ég ætla að byrja á undir Viðburðir og draga þetta einn hér. Þegar grænt merkja smellt. Nú hvers vegna það einn? Jæja muna að sjálfboðaliðum okkar kom upp, það fyrsta sem ég eða þeir voru smelltu þá grænn merkja efst í hægra horninu. Og það þýðir bara ræsa forritið. Svo þegar sá atburður gerist, hvað mig langar að gera? Ég ætla að fara undir Útlit, og ég ætla að gera "segja halló." Og ég ætla að breyta þessu og segja eitthvað eins og "halló Yale." Og nú ætla ég að þysja út, smelltu á græna fána, og voila, ég hef skrifað forrit. Það er ekki allt sem spennandi bara enn, en þetta er einmitt þar sem hver þeirra höfundur byrjaði, bæði með Pikachu, og þess tvöfaldur ljósaperur og Oscartime, og svo margir fleiri dæmi. Þú byrjar frábær einfalt, og þá getur þú byrjað að lag, og bæta við á lögun og virkni. Svo hvað eru þessi lög fara að samanstanda af? Jæja, utan yfirlýsingar, munum við einnig hafa hluti sem eru aðeins meira fancily kallað Boolean tjáning, eftir einhvern sem heitir Bool. Og Boolean tjáning er einfaldlega segð sem er annað hvort satt eða ósatt, já eða nei, 1 eða 0. Hvaða pólar eins og þessi. Það er annað hvort satt eða ekki. En við erum líka að fara að sjá Þeir sem gætu litið svona út. Svo til dæmis, er músin niður? Þeir eru eins konar spurningum, ef þú vilt. Músin er annaðhvort niður, satt eða það er ekki, rangar. 1 eða 0, ef þú vilt, tilhneigingu til að vera kortlagning. True er 1, falskur er 0. Jæja hvað um minna en þetta? Eða svo er þetta, minna en þetta? Það er spurning konar. Og ef þú setur tvo Tölurnar í það, annað hvort x er að fara að vera minna en y eða jafnt og y, eða hærri en Y, en þetta blokk við munum sjá, er bara að fara að svara þeirri spurningu, er þetta minna en það? Við gætum líka séð eitthvað svona. Snerta músina ábendingum. Svo í grunni, getur þú beðið spurningin, er Sprite snerta músina? Öðrum orðum, er bendillinn sveima yfir húfa, eða sem svarar? Við munum sjá Anding hlutina saman. Þú getur beðið tvær spurningar, og ganga úr skugga um að þau bæði gefa þér já eða sannur svör fyrir að ákvörðun um að gera eitthvað. En þá hvernig gera þú ákvörðun? Jæja, höfum við þessar aðstæður. Og við sáum þetta í okkar dæmi símaskránni. Horft til vinstri eða rétt fyrir Mike Smith. Og í því ástandi, sem þú gera eitthvað sem hugsanlega, ef Boolean tjáning er satt. Og reyndar, eftir löguninni núna. Það er þetta tákn núna í loftinu þar sem við getum fit-- ef ég baka eina slide-- að móta. Það er ekki alveg það sama stærð. Og reyndar, þú munt sjá að Scratch resizes hlutina virk að passa stykki púsluspil, en lögun er það sem er mikilvægt. Þessi hlutur lítur út eins að, og reyndar er það nokkurn veginn sama form sem ætti að passa í það. Og ef við viljum gera eitthvað þannig eða þannig, ef eða annað, við höfum þessa þraut stykki í grunni eins og heilbrigður. Nú ráð fyrir að þú vildir að gera ef annað hvort, eða annars. Með öðrum orðum, þriggja hátt punga í veginum. Jæja hvað getur þú gert bara eftir glancing á þetta? Ég get tekið þessa þraut stykki, og það virðist ekki passa, en aftur, Scratch er að fara að koma aftur stærð vel fyrir okkur. Ég gæti byrjað að lag þetta saman. Svo nú hef ég þríhliða gaffal ef þetta er satt, að gera þetta. Annars ef þetta annar hlutur er satt, fara þessa leið, annars fara á þessa hina áttina. Og í The Muppet Movie, sem gaffal í veginum, svo að segja, milli Yale eða Stanford, var nákvæmlega það, bara tvö skilyrði. Annað hvort að fara þessa leið, annars fara þannig. Jæja, lykkjur einnig til í forritun. Og við höfum notað þetta þegar í flokki og í sauðakóða kóða, og örugglega í þeim Scratch forrit eilífu. Scratch hefur þessa þraut stykki sem mun bara láta þig gera eitthvað eilífu. Og stundum þú vilt að gera eitthvað eilífu. Það er ekki endilega galla, það er vegna þess að þú vilt klukku til að halda áfram, eða leikur að halda áfram að spila. Eða þú getur tilgreint endanlegan fjölda skref, eins og með þetta endurtaka blokk hér, sem mun endurtaka eitthvað 10 sinnum. Við getum sett breytur, munum við fljótlega sjá. Og með breytum, svipað í anda algebrunni, eins og X, eða Y eða z. Það er eitthvað táknrænt að geta geymt sumir gildi, sumir stykki af upplýsingar, sem þú vilt kannski að muna til seinna. Besta dæmið um þetta gæti verið leikur þar sem þú þarft stöðuna, eins og í Pikachu. Hversu mörg stykki af köku og whatnot gerðir þú grípa? Jæja, það gæti verið breytilegt kallað skora sem byrjar á 0. Og þá í hvert skipti sem við caught stykki af köku eða sælgæti, eða þess háttar, það fær hækkar. Það verður bætt við einum í einu. Og svo breytilegum verslanir a stykki af upplýsingum eins og þessi. Þá er það fylki, og við munum koma aftur til þessar í viku eða tvær tíma, heldur array er góður af eins og að skrá eða Satchel, inni sem þú getur sett raunverulegur hluti. Það gerir þér kleift að vista fleiri en eitt stykki af upplýsingar. Og það gæti verið gagnlegt ef í leiknum, þú ert konar gangandi um tína það upp. Og kannski þú vilt halda allar þessar stykki af köku kring, og ekki bara borða þá einn eftir annan. Og þá er það áhugamaður reisa við munum koma til kallast aðgerðir eða aðferðir. Og þó að við erum að fara hraðar hér, við munum sjá að þetta eru mjög náttúrulega lausn á vandamálum sem við erum að fara fundur. Eins forrit okkar byrja fá stærri munum við byrja að taka eftir mynstrum í kóðinn sem við erum að skrifa, þraut stykki sem við erum draga og sleppa. Og um leið og þú tekur eftir þér að gera eitthvað aftur og aftur, eða verri enn afrita og líma forritun númer sem þú hefur skrifað, það er líklega tækifæri til að þáttur út hvað sem þú halda afritun og líma, og setja það í eitthvað sem kallast a "virka." En meira um þá í miklu frekari upplýsingar áður en langur. Og þá er það jafnvel áhugamaður lögun. Fyrir þá öruggari, eða taka APC eða sambærilegt, Scratch styður í raun það eins þræði og atburðum og fleira. Svo átta sig á að það hefur nokkuð hár loft, jafnvel þó að það er líka mjög meginatriðum aðgengileg fólkinu sem hafa aldrei forritað áður. Svo reyndar, við skulum taka a líta á einfalt forrit eða tvo. Við skoðuðum hvernig við Segja halló með grunni. Leyfðu mér að fara á undan og opna upp aðeins meira áhugavert forrit sem ég skrifaði í fyrirfram. Og þetta er kallað Pet Cat. Öll þessi forrit verður aðgengilegt á heimasíðu CS50 er. Reyndar, nú þegar. Svo er hægt að sækja þá, og spila með þeim, og með Heimadæmi 0, sem er einnig á heimasíðu námskeiðsins er, þú ert hvattir til að ganga í gegnum þetta. Og þar að auki höfum við Fjöldi ganga í gegnum myndbönd á netinu þar sem ég og Lið CS50 er sannarlega ganga í gegnum hvert af þessum dæmum á miklu hægar, mjög hratt forwardable, eða rewindable hraða, svo að hægt er að ganga í gegnum þetta í frístundum þínum eins og heilbrigður. Svo hér Scratch til vinstri. Hér er forrit á hægri sem ég hef nú þegar fyrirfram gert. Svo láta mig stækka á þessu. Og gæti einhver í ensku, vitandi það sem þú veist, bara héðan og hvernig Scratch virkar, svona segir í ensku setningu eða setningu, hvað þýðir þetta forrit gera greinilega? Já, í appelsínugulum bol. Áhorfendur: [inaudible] DAVID J. Malan: Já, ef þú bendillinn er á grunni kötturinn, spila meowing hljóð. En eftir því hvernig við látum það. Það er greinilega lykkja það, að eilífu. Og þá er það ástand, ef tjáningu. Og sameiginlega, hvað þá meina? Það þýðir þetta forrit er bara alltaf í gangi, og það er bara alltaf að bíða og horfa á og hlusta fyrir mig til að hreyfa músina mína yfir köttinn. Því í hvert sinn sem ég geri það, sem þú leggur, það er að fara að gera þetta. Leyfðu mér að ræsa forritið. Ekkert virðist vera gerast, en taka eftir því hvernig það er lögð áhersla nú í gulum línu. Það þýðir bara að það er í gangi. Og vegna þess að það er að eilífu lykkja, það er enn í gangi. Svo láta mig færa bendilinn mínum yfir grunni. [Meow] [Meow] Og ef ég flyt það burt, [Meow] hættir nú það, en forritið er enn í gangi. [Meow] Og svo yndisleg. [Meow] Svo skulum opna örlítið lengra dæmi kallað Ekki gæludýr ekki Cat. Og nú skulum sjá hvað gerist hér. [Meow] meowing. Svo það er lítið um farartæki flugmaður, ef þú vilt. --pet köttinn. Ég velti því hvers vegna. [Roar] [Meow] Svo hvernig var þetta verk? Jæja, þú getur konar ástæðu gegnum það innsæi, kannski. En við skulum líta á the raunverulegur kóða. Svo aftur, þegar grænn fáni er smellt gera þetta að eilífu. Hvað viltu gera eilífu? Jæja, ef snerta mús músina, þá spila hljóð sem er greinilega kallað Lion 5, sem er inni í þessu verkefni, annað spila hljóð meow, og þá bíða í tvær sekúndur, svo að það er ekki meowing sífellu. Í raun er hægt að mjög fljótt að byrja að ónáða þig og herbergisfélaga þína. Skulum við fjarlægja þessa blokk. Og taka eftir hvað er gott um grunni. Things bara svona draga og falla og Öryggisræsipinni. Svo aftur, vex það að fylla það sem þú vilt. En ef ég fjarlægja þetta, og þá högg leika, [COMPUTER blip SOUND] --it er góður af tripping yfir sjálft, því það er bókstaflega gera það sem ég er að segja. Það er að segja að eilífu að spila þennan hljóð, en Ég ætla ekki að gefa henni tækifæri til að klára. Og svo það væri padda. Og það er hvers vegna við þurftum Þessi hlutur hér núna. Svo skulum byrja í raun frá scratch-- konar orðaleikur örlítið intended-- þar sem við höfum nú köttinn fara. Þannig að ég ætla að gera þetta á flugu. Ég ætla að stækka hér, bara að fá mig byrja á döfinni. Og grænn fáni smellt. Og það er aðrar leiðir að byrja forskriftir. Við erum að fara að halda það einfalt hér. Og nú ætla ég að fara undan og fara undir Control. Og aftur, ef þú gleymir hvar hlutirnir eru, bara smella í kring, og að lokum að finna þá aftur. Svo ég vil að eilífu gera? Ég vil nota hreyfingu blokk sem ég veit til, að færa 10 skref. Svo skulum sjá hvað gerist hér ef ég spila þennan leik. Sem betur fer er það ekki fara of langt. Ég get samt konar grípa hann með skottið og draga hann til baka. En forritið er enn í gangi, svo hann er góður að berjast við mig. En það væri svona gott ef ég skilyrðum laga þetta í kóða. Vegna þess að þetta er not-- í raun er þetta mjög ekki skemmtilegur leikur fyrir einhver af öllum aldri. Svo skulum reyna að laga þetta með því að hafa einhvers konar skilyrði. Þannig að ég ætla að fara undir Control, og þá ef. Mér finnst þetta hugmynd. Svo eftir að flytja 10 skref, if-- láta mig vit þar sem ég er. Ég ætla að fara undir Sensing, og þá lítur ég get farið hér. róa að lögun leikjum. Stærð skiptir ekki, en það er að fara að vaxa að fylla. Og nú er þetta aðeins menu. Og nú mús pointer-- ég ekki vilja músina, ég vil brún. Svo er Scratch sviði nógur til vita þegar Sprite er snerta brún. Hvað vil ég að hann í raun og veru að gera? Leyfðu mér að fara á undan og breyta hreyfingu. Þú veist hvað? Ég ætla að hafa hann snúið. Svo á 15 gráður er ekki virkilega að fara að hjálpa mér. Ég vil að hann snúa og fara í hina áttina. Svo skulum sjá hvað gerist hér, ef ég högg Spila núna. OK, svona heimskur að leita, en það er að gera nákvæmlega það sem ég sagði. Og það er að snúa öllu Sprite. Nú kemur í ljós að ég get lagað þetta. Og ég vissi ekki hvernig að laga þetta í fyrstu. Ég þurfti góður við futz kring og sjá besta leiðin til að gera þetta. En ef ég fer to-- skulum sjá, hreyfingu. Oh, ég fann þetta. Reyndar Setja Rotation Style. Til vinstri, hægri, eða ekki snúa, eða allt í kring. Og það kemur í ljós að það er það sem ég vil. Og ég ætla að setja þetta er ekki mitt lykkja, vegna þess að ég þarf ekki að setja snúningur stíl mörgum sinnum. Ég ætla að setja það á the mjög toppur af þetta forrit þannig að það fær að setja einu sinni, og þá man. Og nú ætla ég að reyna þetta aftur. Leyfðu mér að hætta í áætluninni. Og nú að laga það galla. Þannig að ég ætla iteratively bæta við þetta. The program er að fá flóknari og stærri, en ég ætla að taka barn stíga svo að segja, og litlum bitum út af vandamálinu að fá það betra og betra. En þetta líka, er eins konar halta. Þú veist hvað? Myndi spyrja einhvern með mjög gott, frightful rödd eins og að koma upp? Einhver með rödd. Uh, já. Komdu upp. Í græna skyrtu. Svo kemur í ljós að það er einhver önnur skemmtileg hluti, fagurfræði og hljóð eins. Hér er meow. Ég smelli á Hljóð flipanum. [Meow] Það er meow. [Meow] [Meow] [Meow] --actually met eitthvað okkar eigin hér. Svo skulum gera einmitt það. Í stað þess að nota þessa köttur hljóð, við skulum fara á undan hér, og hvað er nafnið þitt? Nick, gaman að hitta þig. Það er David. Svo í smá stund, ég ætla að lemja á Record takkann. Og ef þú getur bara æpa í fartölvu, "ouch," eins og þig bara gekk inn í vegg, sem verður vel þegin. 1, 2. NICK: Ouch! DAVID J. Malan: Awesome. Og nú er hægt að gera smá breytingar hér. Fara að fá losa af rólegum hluta. Og ég held að er gott. Þakka þér kærlega. NICK: Pleasure. DAVID J. Malan: Ég hef bara nýtt nafn það "ouch," en nú er ég að fara að fara aftur til forskriftir mínum. Og takið eftir að það er örugglega hljóð hér. Og ég ætla að fara á undan og spila hljóð Úff, og ég ætla að gera það ef það er að snerta brúnir aðeins. Og þá er ég að fara að hafa það snúa í kring. Svo skulum sjá hvað gerist hér. Við skulum fara fullur skjár. [Vídeó spilun] -Ouch! Ouch! Ouch! Ouch! Ouch! Ouch! Ouch! Ouch! [END spilun] DAVID J. Malan: Svo þér grein sem við erum að fá smá heppinn. Ég ætla að hafa hann að færa eins og 100 skref í einu. Áhrif sem nú er að fara að be-- [COMPUTER Glitch SOUND] Svo innan þess. Svo tækifæri til að betrumbæta það frekar ef við viljum virkilega að. Svo nú skulum kynna aðra hugmynd. Að láta mig fara inn í einn sem heitir Telja kindur og nota eitthvað kallað breyta. Þetta er yndislega litla sauðfé og Ég breytti búning hans svo að segja. Svo jafnvel þótt vanræksla er köttur, þú getur hlaðið, þú getur teiknað, þú getur gert hvaða fjölda stafir á Sprite þinni. Hér er forrit sem er að fara að gera það á ensku? Byggt aftur á það sem þú veist núna. Hvað er þetta forrit að gera? Já, það er að fara að telja. Eitt númer í einu. Við höfum greinilega hafa þetta sett gegn. Ég veit ekki hvað það er, en kannski er það breytilegt. Það er bara gámur, x eða y. En orð gegn er meira lýsandi en x stærðfræðingur er eða y. Svo við getum notað ensku orð fyrir það. Forever, þýðir bara að halda að gera þetta. Segja gegn. Nú þar kom þetta frá? Jæja, það kemur í ljós að gegn er breytilegt. Svo það er bara annað ráðgáta stykki sem ég skapa fyrirfram. Og jafnvel þó að það gerist ekki að vera sú sama lögun hér, venjulega þú myndi segja eitthvað eins og halló hér. Þú getur einnig dregið breytu þannig að það er það sem er að segja. Þá er bara að bíða í smástund, ég að breyta gegn með einum, incrementing það með því að bæta einn. Þannig að nettó áhrif er þetta yndislega telja kindur. Þó hann er að telja sig. Nú er það mjög fljótt fara að fá leiðinlegur vegna þess að hann er að fara að gera þetta sannarlega að eilífu, en það er einmitt það sem Hönnun forritsins mælir. Lets reyna nú annað dæmi sem notar breytu. Þetta er einn hét Hi Hi Hi, sem er að fá pirrandi fljótt. Nú hefur þetta tvær forskriftir. Og svo aftur, við erum að taka barn stíga. Við byrjuðum með eitthvað frábær lítill, bætt við það, bætt við það. Nú vil ég að gera eitthvað jafnvel meira dynamic, svo ég vil vera að hlusta á tveir mismunandi hlutir í einu. Svo á vinstri, þegar grænn fáni er smellt Ég setti breytu sem ég skrifaði fyrirfram heitir Muted. Og ég setti geðþótta það til 0. Svo Scratch er ekki satt og rangar, en það hjartarskinn hafa 0 og 1. Svo ég get nálgast það að sömu hugmynd. Og þá að eilífu, ef rúm bar er þrýsta, þá setja breytu til 0. Eða hryggur. Ef Space er ýtt, og ef þögguð, breytan, er 0, þá setja þögguð til 1, annars sett þögguð 0. Þetta virðist svona eins og við erum bara að gera og losa vinnu. En hvað er áhrif? Í hvert skipti sem ég högg the rúm bar, hvað gerist breytu mínu heitir þögguð, rökrétt? Raða af fær hreifi. Það breytist frá 0 til 1, eða 1 til 0. Svo það tók nokkrar blokkir að tjá það, en allir Ég ætla að gera er að skipta um stöðu þessi breyta 0 eða 1, eða 0 eða 1 hvert sinn sem ég högg the rúm bar. Nú hérna, hvað er þetta að gera? Forever, ef þaggað er 0, þannig að ef þaggað er ósönn. Þannig að ef það er ekki skrúfað, er merkingarfræði þar, spila hljóð sjó ljón, og hugsa Hi Hi Hi fyrir tvo sekúndur, bíða í tvær sekúndur. Svo eftir nú þessir forskriftir eru í raun að fara að keyra samhliða, svo að maður getur að hlusta á eina aðgerð, hinn að taka ákvörðun byggða á þeim aðgerð. Og það er hægt að gera þetta að eilífu. [SEA LION Barking] [SEA LION Barking] Það er að fara að gera þetta að eilífu og [SEA LION gelta] eins og ég hef bara gert. Og nú er enn í gangi en ég hef "slökkt" leikinn. [SEA LION gelta] Og það er allt þetta strákur er núna líka. Skulum opna annað dæmi hér. Leyfðu mér að fara inn í Events, og nú þetta yndislega líka. En eftir það hefur tvær sprites. Svo ekki bara tveir forskriftir með einn Sprite, en tveir sprites. Og ef ég smelli á bláa strákur sem ég þegar hafa, ég sé hann sem eitt forrit upp hér að bókstaflega bara segir þetta, þegar ég fæ atburð, segja "Polo" tvær sekúndur. Þannig að ef þú hefur einhvern tíma spilað í laug, leikurinn Marco Polo, ef appelsína strákur handritið er einhver vísbending, virðist í hvert skipti sem ég högg the rúm bar, hvað er appelsína strákur að fara að gera? Hann er að fara að segja "Marco." Og þá er þetta ný blokk. Við höfum ekki séð þetta áður, en útvarpað atburð. Og ég gæti kalla það atburður eitthvað sem við viljum. Við munum koma aftur til þetta kannski fyrir löngu. En útsendingar atburð er leið fyrir einn Sprite að tala við aðra um raun liggur það skilaboð. Það er ekki skilaboðin sem þú sérð. Það er ekki eitthvað sjón. Það er tegund af tölvu skilaboð að hinn gaurinn er að hlusta á. Vegna Reyndar bláa strákur, muna er ekki með þegar grænt merkja smellt. Hann hefur í staðinn, þegar ég fæ atburð. Þegar hann fær afhent þetta í huga í bekknum, svo að segja, ætti hann að segja "Polo." Og svo er hrein áhrif að þegar ég högg græna fána, ekkert gerist. En þegar ég lenti á bil bar, segir hann "Marco" hann svarar með "Polo." En eina Sprite ég samskipti við er appelsínugult einn. Þannig að þetta er leið konar liggur skilaboð á milli sprites og fá þá senda við annað. Nú skulum líta á eitt síðasta einn hér kallast Málefni. Og eftir þetta með því að spila það. Svo þetta eru tveir sprites. Fuglinn er góður að fljúga í kring. Hann er skoppandi. Það er engin "ouch," en sama hugmyndin. En kötturinn virðist ansi klár. Hvað er kötturinn virðist gera? Og bíða eftir því. Hvað er kötturinn virðist gera? Það er ekki bara skoppandi. Hann er eftir fuglinn. Og svo virðist, there 'a vegur með blöndu af blokkum here-- og við skulum líta á köttinn alvöru hratt. Forever, ef snerta fuglinn, þá spila hljóðið Lion 4, hvað sem er. Við heyrðum það einu sinni. Annars benda til fugl, og færa eitt skref. Nú þegar það er staðreynd ein skrefið er það sem gefur fuglinn smá forskot í upphafi, en ef við í staðinn gera þetta 10, til dæmis, svo að sérhver endurtekning lykkju hann er flytja 10 skref tíma. Svo meira pláss. Við skulum sjá hvað gerist þá. [Ljónið öskra] ekki allt sem mikið betra. Svo nú skulum reyna að bæta á þessum smá iteratively, og koma aftur til að Hugtakið fall. Og örugglega einn af grundvallar takeaways í flokks hönnun. Ekki bara að skrifa forrit sem vinna og sem eru rétt, en eru vel hannað. Og hönnun er miklu meira huglægt, og þú munt fá betri á það með tímanum. En við skulum taka nokkur barnið skref í átt að byrja með forrit sem virkar, algerlega, en það er ekki mjög gott. Það er ekki mjög vel skrifuð. Svo hér er forrit sem gerir þetta. Hósti, hósti, hósti. Hvað er forritið líta út? Stemmir mér. Það er að segja sófi fyrir a annað, þá bíður það. Þá segir hann það aftur, þá bíður það. Þá segir hann það aftur, þá bíður það. Og þá mun forritið óbeint endar, því það er engin lykkja. En hvers vegna er þetta illa skrifuð forrit? Jafnvel ef þú hefur aldrei forritað áður? Eins og, hvað nuddar á röng leið, kannski hér? Já? Áhorfendur: [inaudible] DAVID J. Malan: Einmitt. Þú ert að endurtaka sjálfur aftur og aftur. Og bókstaflega, ég afrita og líma tveir af þessum blokkum aftur og aftur. Og það er einmitt svoleiðis geðheilsan skugga um að þú ættir að vera að gera. Bíddu nú við. Ætti ég virkilega að gera þetta? Svo er það þetta sem er augljós lausn kannski? Hafa einhvers konar lykkju. Og ég er ekki alveg muna hvað ráðgáta stykki er, en ef ég líta á næsta endurtekning hér, reyndar, það er ekki bara að eilífu lykkja, það er að endurtaka sumir tala af sinnum. Og svo ég hef tilgreint þrjú. Og nú eftir hversu mikið strangara, hvernig miklu meira gagnorðar þetta forrit er. Og í vissum skilningi, hvernig miklu meira haldist. Ef ég vil breyta orðinu frá hósta við eitthvað annað, eins Achoo, eins og hann er hnerri. Þá er ég að breyta henni í einu staður, og ekki þrír. Svo þetta þegar líður eins örlítið betri hönnun. Leyfðu mér að í staðinn opið hósti 2, Þriðja dæmið okkar. Tilkynning sem tölvunarfræðingur, Ég byrja að telja á 0, yfirleitt. Nú lítur þetta svolítið scarier á fyrst, en áhrifin eru þau sömu. Hósti, hósti, hósti. En það virðist vera í grundvallaratriðum nýtt í efsta hluta áætlunarinnar? Ég hef fjarlægt segja. Ég hef fjarlægt bíða. Og hvað hefi ég tengt í staðinn? Fall. A hósti blokk. Ég meina, hreinskilnislega, virðist ég góður af hálfviti ef ég var ekki bara að byrja með blokk sem er greinilega kallað "hósti," ef það er allt sem ég vil að hann geri. En það er ekki til í grunni. Frekar Ég fór til einn í litatöflu kallað fleiri blokkir hér, og ég draga þetta stóra fjólubláa hlutur hér sem leyfir mér að skilgreina hlutverk. Það leyfir mér í raun búa til eigin þraut mína stykki sem hægt er að kalla eitthvað sem ég vilja, sem getur gert allt sem ég vil, en það gefur honum nafn. Það gefur mér nýja, fjólubláa þraut stykki sem nú er hvað ég að segja það að gera. Þannig að þetta fjólublátt stykki hér samsvarar þessu hér. Og hvað þýðir það að gera? Það segir hósta fyrir a Annað, og þá bíður það. Og nú hef ég svona búin eigin sérsniðið ráðgáta stykki mitt, þannig að það hegðar sér nákvæmlega sama hátt. Svo ég geti haldið að gera þetta. Og reyndar, það er að fara að vera meira og fleiri tækifæri fyrir modularization, og til að hjúpa, flókið hver ofan á öðrum. En þetta Grunnhugmyndin, reyndar í vandamáli sagði 0. Það sem þú ert að fara að vera áskorun að gera er að að sækja grunni, eða bara nota það á vefnum, og bara hafa gaman með það. Við munum gefa þér að setja af kröfur, hafa hljóð, og sumir fjöldi stykki púsluspil. En þú munt gera nákvæmlega þetta. Og þú munt skilja að þú ert að fara að langar að taka nokkur barn stíga í upphafi, þar program fær fleiri og flóknari. En miðað er þetta Besta leiðin sem ég gæti gert þetta? Get ég forðast þetta eðlishvöt kannski, að afrita og líma? En áður en Heimadæmi 0, og áður en við frestað, hélt að við myndum taka upp einn meira sjálfboðaliði ef við gætum, fyrir endanlegri áætlun það er kannski mest mátun á öllum, enda staðnum í dag. Koma niður. Já. Já. Hvað er nafn þitt? Uh-ó. Það er allt í lagi. Báðir koma niður. Og ég hef mun takast á við þetta einhvern veginn innan þess næstu tíu sekúndur. Svo koma niður. Koma niður. Leyfðu mér að koma á hér. Koma á. Allt í lagi. Við skulum sjá hér. Svo eftir alvöru hratt hér, ef þú vilt koma á upp. Við munum gera tvær umferðir af þessu. Og hvað er nafnið þitt? SABRINA: Sabrina. DAVID J. Malan: Sabrina og? YING GEE: Ying Gee. DAVID J. Malan: Ying Gee. Gaman að hitta þig bæði. David. Svo hér er endanleg dæmi okkar kallað Erfiðasta leik Ivy er. Og hvers vegna er það ekki að þið gerið Level 1, og þú gera Level 2. Og við munum sjá hversu langt umfram það sem við förum í raun. Skrifað af nemanda á síðasta ári, endurblönduö af mér svo að þetta myndi fara yfir vel í New Haven. Og ég gefa þér leik sem er að fara að falið að færa örvarnar upp og niður, og fá Yale til the ljúka við lína. Hér við fara. [Vídeó spilun] [TÓNLIST - NFL ON FOX þema lagið] [TÓNLIST - MC HAMMER, "U getur ekki snerta  ÞETTA "] -U Getur ekki snerta þetta. U getur ekki snerta þetta. Get ekki snerta þetta. My, My, My, tónlistin mín lemja mig svo erfitt, gerir mig að segja, ó, herra minn. Þakka þér fyrir að blessa mig með huga að rím og tveir efla fætur. Það er gott þegar þú veist að þú ert niður. A frábær Dope Homeboy frá Oaktown. Og ég er þekkt sem slík og þetta a slá uh, getur þú ekki að snerta. Ég sagði þér Homeboy U getur ekki snerta þetta. Já, það er hvernig við lifum og þú veist U getur ekki snerta þetta. Horfðu í augun á mér, maður. U getur ekki snerta þetta. Yo, láta mig brjóstmynd angurvær lyrics. U getur ekki snerta þetta. Ferskt nýja ánægja og buxur. Þú fékkst það svona og þú veist þú vil dans. Svo fara út úr sæti og fá a Fly Girl og grípa þetta slá. Á meðan það er veltingur halda á dæla smá bita og láta þá vita hvað er að gerast. Svona. Svona. Cold í leiðangur svo draga á bak. Láta þá vita að þú ert of mikið og þetta er skref Hringbraut þú getur ekki snerta. Yo, ég sagði þér U getur ekki snerta þetta. Hvers vegna þú standa þarna maður? U getur ekki snerta þetta. Yo, hljóð í bjöllunni skólastarfið, sogskál. U getur ekki snerta þetta. Gefðu mér lag, taktur gera þá sviti það er það sem ég ætla að gefa þeim núna. Þeir vita þegar þú talar um Hammer þú talar um sýningu sem er efla. Og þétt söngvarar eru sviti svo framhjá þeim mic. Eða borði til að læra það það er að fara að taka og nú hann er að fara að brenna töflur. Legit annaðhvort vinna hörðum höndum eða þú might eins og heilbrigður að hætta. Þar sem þú veist U getur ekki snerta þetta. U getur ekki snerta þetta. Brjóta hann niður. Hætta. Hammer tíma. Fara með flæði í spuna ef þú getur ekki fært að þessu þá ertu sennilega dauður. Svo veifa höndum í loftið [inaudible] Þetta er það sigurvegari dans við þetta og þú ert að fara að fá þynnri. Færa renna rófuna bara fyrir mínútu skulum öll gera högg. Já. U getur ekki snerta þetta. U getur ekki snerta þetta. Þú færð betri efla Drengurinn U getur ekki snerta þetta. Hringinn aftur bjöllunni skólastarfið í. Brjóta hann niður. Hætta. Hammer tími DAVID J. Malan: Það er það fyrir CS50! Takk svo mikið fyrir að taka þátt okkur! Sjáumst utan. [END spilun] [Vídeó spilun] [TÓNLIST - "Seinfeld" þema lagið] -Hey David. -Hey, David. Hvernig er það að fara? -góða Starf, í dag. -Svo Hefur þú hugsað um hvað þú ert að fara að gera fyrir út brandara? -Nei, Ég fékk ekkert. -Hvað If-- hvað ef þetta er út brandari? -eins, Taka upp kerra? -Uh-Ha. Þú veist, það er um ekki neitt. -Svo Eins, engin saga, ekkert átök, engin lausn. Ég skil ekki. Hvað er það um þá? Ekkert. -Svo Við höfum út brandari er um ekkert, og við höfum enga leikara. Hver er að fara að vera í þessu? -Nei, Nei, nei. Ég meina, ég ætla að vera í því. -You'll Vera í henni? -Já! Fólk er alltaf að segja mér ég er persóna. -Ja, Ég meina, það er satt. En hver annar er að fara að vera í henni? Það getur ekki bara verið þú. -Þú Verður að vera í það, Gavin, Dan, Dan, Colton, Z'Myla, Alysse, Doug, David, allir. -Svo Það er um ekki neitt, og allir eru í henni? -Absolutely Ekkert. -Þetta Er fáránlegt.