[HISTORIKU ZHURMA] E bën këtë punë? PATRICK REBESCHINI: Ne mund të ketë filluar. NE RREGULL. E madhe. Le të fillojmë. Pra, kjo është kënaqësia ime më e madhe për ju të gjithë të mirëpritur sot këtu për leksionin e parë e, edhe, Hyrje për Computing dhe Programim. Gjithashtu i njohur si CS50 apo edhe, CPSC 100, zyrtarisht këtu në Yale. Pra, ne nuk mund të jetë më i ngacmuar për ju të gjithë të mirëpritur këtu. Emri im është Patrick Rebeschini. Unë jam mësuesi kreu për klasën. Unë jam këtu që përfaqëson një grup e rreth 60 anëtarëve të stafit që do të punojë me ju gjatë gjithë semestrit. Ky numër është pothuajse 60 prej nesh. Megjithatë, së bashku të jashtëzakonshme niveli i angazhimeve që ne kemi vënë në këtë klasës, bën CS50 klasit në Universitetin e Yale që ofron niveli më i madh i mbështetjes për të gjithë ju. Dhe ne nuk mund të jetë më krenar ofruar këtë klasë këtu përsëri. Në fakt, ashtu si ju së shpejti do të përjetojnë, CS50 është shumë më tepër se një klasë. Është një komunitet. Dhe ju do të jetë pjesë shpejt e këtij komuniteti. Ky është viti i dytë që Yale është ofruar këtë klasë. Ne po ndërtojmë në ekstrem Suksesi i vitit të kaluar, ku për herë të parë, këtu në këtë universitet, asistent universitare të mësuarit janë miratuar në klasë. Ajo filloi me kjo klasë vitin e kaluar. Pra, siç e dini, klasa është mësuar së bashku me Universitetin e Harvardit. Për të mësuar këtë kurs ne jemi relying-- mundemi llogarisin në ekspertizën e madhe e David Malan dhe ekipi Harvard. Kështu Davidi ka qenë mësimdhënia CS50 për të mirë, 10 vjet tani. Dhe çdo vit ai ka qenë shtyjnë kufijtë dhe përmirësimin e përvojën klasë. Përsëri, ne nuk mund të jetë më i lumtur për të vazhduar këtë bashkëpunim me ta. Në të vërtetë, një nga Pjesët më interesante, Unë i them duke këtë klasë tani, si në Harvard dhe këtu në Yale, është me të vërtetë e pabesueshme ndër-fekondim e ideve, me qëllim përmirësimin e përvojë për ju të gjithë të mësuar. Pra, si rezultat i kësaj të gjerë Bashkëpunimi në mes të dy universitet, CS50 është krenar për të njoftuar versionin e ri të këtij viti me ndryshime të dukshme. David të gjitha do të na thoni rreth tyre tani. Pra please-- këtë qenie tha, ju lutem bashkohet me mua dhe i mirëpritur për të dhënë një Raundi madhe e duartrokitje për të mirëpritur Davidin dhe Ekipi Harvard këtu në Yale. [DUARTROKITJE] DAVID Malan: Ju faleminderit. Faleminderit. Kjo është CS50, Harvard University-së dhe futja Universitetit Yale me intelektuale enterprises e shkencave kompjuterike dhe artin e programimit. Dhe çka do të thotë është se këtë kurs në fund të fundit, ka të bëjë me zgjidhjen e problemeve. Në të vërtetë shumë prej jush e fuqisë kanë dalë nga shkolla e mesme ose kanë kaluar dy viteve të fundit pyesin se çfarë disa nga miqtë tuaj vitin e kaluar ose në klasat e tjera. E megjithatë, realiteti është, pa marrë parasysh çfarë ne bërë në fund të ditës në këtë klasë, ajo do të jetë në lidhje me zgjidhjen e problemeve. Dhe si e tillë, ndoshta të marrë disa siguri në faktin se 73% e nxënësve që marrë këtë klasë, si këtu në Yale, si dhe në Harvard, asnjëherë nuk kanë marrë një klasë CS para. Pra, nëse ju jeni ulur këtu në audienca sot pyesin pse ju jeni ulur këtu në audiencë sot, ose ndoshta ju thjesht ndjekur së bashku me disa miq, ose ndoshta ju keni qenë një pak kurioz se çfarë shkenca kompjuterike dhe programimi, të realizuar se shumica e shokëve tuaj të të majtë dhe në të djathtë të ju janë shumë në të njëjtën demografike. Dhe me të vërtetë, nëse ne shikojmë në statistikat e vitit të kaluar brenda trupit të studentëve të CS50, dy këtu dhe në Harvard, 58% e nxënësve përshkruajnë veten si më pak të rehatshme. 9% është më e rehatshme. Dhe pastaj 33% është diku në mes. Dhe nuk ka asnjë përkufizim formal e asaj që do të thotë këto kova. Ju lloj di që ju jeni më pak të rehatshme nëse ju jeni. Ju jeni ndjeheni pak ankth me ndoshta duke qenë në klasë. Ju nuk jeni mjaft të sigurt nëse një kompjuter klasë shkenca është në fund të fundit për ju, dhe të kuptojë se ju jeni në kompani shumë të mirë. Dhe në të vërtetë nota, dhe vlerësimi, dhe reagime, dhe të gjithë që Struktura mbështetëse në klasë është në fund të fundit individualizuar shumë. Më shumë se më çdo klasë të tjera me dashje. Dhe me të vërtetë, ajo që në fund të fundit çështje në këtë klasë nuk është aq shumë ku ju deri në fund deri në raport me të tjerët, por ku, në javën e 11 ose e kaluar, dhe në lidhje me veten në javë 0 këtu ynë i parë. Pra, çfarë do të thotë kjo? E pra, kjo do të thotë e atyre 73% të studentët e vitit të kaluar se nuk e kishte marrë një klasë CS parë, nga fillimin e semestrit ata u dabbling në një gjuhë quajtur Scratch, të cilat ne vetë do të shihni sot këtu. Dhe në fund e Semestri i kishin shkuar me gjithë këtë listë të sfidave. Duke filluar me një gjuhë të quajtur c. Zbatimi, çfarë është në shikim të parë, duke shkuar të jetë pak e një sfidë për disa, por në mënyrë të drejtë gratifying një herë ju të marrë Super Mario kërcim lart dhe poshtë një piramidë zbatuar, edhe pse, me vetëm diçka që quhet art ASCII. Zbatimi year-- fundit çfarë nxënësit të vitit të kaluar më pas e pas kësaj u zbatuar tyre vet shifër Cezari dhe shifër Vigenere. Pra algoritme encryption me të cilën ju mund të Informacione përleshje dhe pastaj Unscramble informacioni për të dërguar mesazhe sekrete. Loja e 15. Nëse ju kujtohet nga fëmijërisë apo ndonjë favor të partisë, se lojë pak plastike, ku ju hyni numrat lart, poshtë, majtas dhe djathtas për të përpiqen për të marrë ato në mënyrë, në fakt zbatuar atë lojë dhe zgjidhjen e logjikën e nevojshme atje. Dhe pastaj ne dabbled në mjeko-ligjore vitin e kaluar. Pra, nga mesi i semestrit, Studentët të cilët nuk e kishin përdorur tastierë e tyre për këtë qëllim para, janë shkruar software të shërohen, si të thuash, JPEG ose fotografi se kemi pasur aksidentalisht fshihet nga një dixhital kartën e kujtesës nga një aparat fotografik. Shërimi mesazhe sekrete nga brenda e një imazh bitmap, dhe lloje të tjera të tilla e grafika si. Ne pastaj kaloi për dhënien e e tërë klasa një fjalor. Vetëm një fotografi të vërtetë të mëdha teksti me 150.000 fjalë anglisht. Dhe të gjithë u sfidua për të lexuar një farë mënyre, kështu që të flasin, këto fjalë në kujtesën. Në kujtesën e kompjuterit. Dhe pastaj t'iu përgjigjur pyetjeve i formës, është kjo një fjalë? A është kjo një fjalë? A është kjo një fjalë? Me të vërtetë vetëm zbatimin e një checker magji. Dhe pastaj duke sfiduar njëri- -tjetrin me një board-- madh një bord lider për të parë se kush mund të përdorni sa më pak e kujtesës, në shumë pak kohë për në fakt spell check dokumente të mëdha. Ne kaloi nga pas për zbatimin e vet serveri ato të internetit. Pra, jo duke e bërë faqet e internetit në gjuhë si HTML dhe CSS, në qoftë se ju jeni të njohur. Por në fakt zbatimit server që dëgjon në internet për kërkesat nga shfletuesit dhe pastaj duke iu përgjigjur këtyre kërkesave. Pastaj zbatimin e jona e-tregtisë si faqen e internetit, ku studentët mund të blejnë dhe shesin aksione. Vizatim në kohë gati reale stock quotes nga Yahoo Finance. Dhe duke i lejuar studentët të parë si zhvillohet portofolit të tyre. Dhe pastaj në fund një mash up Google News dhe Google Harta ku studentët nga termi me terma end kishte aftësinë për të klikoni, dhe rrumbullakët, dhe kërko në një hartë Google. Dhe pastaj të shohim të gjithë artikujt e lajmeve që janë proximal për ato zona të veçanta. Pra, me të vërtetë duke shkuar nga zero në 60. Dhe gjatë rrugës pasur atë që kemi pasur vitin e kaluar e quajtur, shtesa hacker. Që të rritur bar mëtejshëm për ato prej jush që mund shumë mirë të ketë një të mirë Sasia e përvojës që ishte në atë 9% e më të rehatshme. Pra, të kuptojnë se nuk ka një tavan shumë të lartë edhe brenda atyre Sfidat për studentët vjen nga një sfond të ndryshme. Sepse në fund ditë, ne jemi në fund të fundit përqendruar thjesht në këtë. Por ajo që e bën këtë do të thotë, zgjidhjen e problemeve? Pra, le të propozojë që ne gjej atë si kjo. Pra zgjidhja e problemeve është me të vërtetë vetëm këtë lloj foto. Pra, ju keni marrë inpute të disa problemeve, diçka që ju në të vërtetë doni për të zgjidhur. Qëllimi është për të marrë rezultate, një zgjidhje për këtë problem. Dhe pastaj në mes është ajo që ne do të thërrasë një kuti të zezë. Ju nuk domosdoshmërisht e di apo edhe kujdes se çfarë ka brenda asaj kutie të zezë. Të gjithë ju e dini është se kur ju ushqejmë të dhëna në të, ju shpresë për të marrë prodhim ose një zgjidhje prej saj. Dhe, ndërsa sot ne do të shikojmë si në hyrje dhe dalje, ne do të afat të gjatë, dhe mbi të Kursi i semestrit të gjithë, përqëndrohen në atë që është brenda asaj kutie. Dhe aty do të qëndrojnë diçka të quajtur algoritme. Hap pas hapi instruksionet për në fakt zgjidhjen e disa problemeve. Por ajo që është një shembull i disa inputeve? Kështu që ndoshta një gjë e thjeshtë në nivel fillimin e çdo viti shkollor, dikush mund të duan të marrin pjesëmarrjen. Pra, ne mund të bëjmë një, dy, tre, katër, pesë, gjashtë, dhe si do ta mbaj gjurmët e atij informacioni. Unë mund të shkojnë vetëm një, dy, tre, katër, pesë, gjashtë. Dhe vetëm përdorin lloj shifra të vetme. Ose unë në fakt mund të regjistroni ky term pak më të gjatë. Dhe si mund ta përfaqësojë të gjithë njerëzit në këtë dhomë? E pra, unë mund të bëjë diçka si, OK. Unë shoh një person. Në rregull. Unë po të shoh një person tjetër, një person i tretë, e kështu me radhë. Por askush nuk ka rëndësi njerëz të tillë. So fjalë për fjalë, shumica prej nesh, nëse ne jemi edhe do të nxjerrë asgjë në të gjitha, jeni me siguri do të shkojnë një dy tre katër, ndoshta të marrë një dashuroj pak, pesë, gjashtë, shtatë, tetë, nëntë, dhjetë dhe kështu me radhë. Dhe kjo është në fakt një sistem i quajtur unary. Uno, si uno duke nënkuptuar një, ku ju të ketë vetëm një letër e alfabetit. Ju keni marrë vetëm këtë shenjë hash. Dhe unë, për efikasitet, vetëm tërhoqi këto shenja hash, në fund të fundit Linjat si e drejtë. Por unë mund të kemi tërhequr si figura rrinë pak. Ku për të përfaqësuar një person, një input, Unë vetëm tërheq një shkop figurë ose një shenjë hash. Por kjo nuk është e gjitha që ekspresive. Nëse të gjithë që kam është këto hash shënon, le të vetëm shifrat shkop, se si mund të Unë përfaqësoj diçka si numri 15? Ose 15 njerëz në dhomë? Unë mund të ketë për të bërë diçka si 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15. Ajo thjesht nuk ka shkallë shumë mirë. Si inputeve të mëdha, ne nevojë për një sistem më të mirë se kjo. Dhe kjo rezulton se sistem që përdorin kompjuterat nuk është e gjitha që të ndryshme nga ajo që ju dhe unë e di. Në fakt, shumica e njerëzve në këtë dhomë, edhe nëse ju jeni në mesin e atyre më pak të të rehatshme, jo domosdoshmërisht e di si Mac tuaj apo PC të vërtetë punon, ndoshta ju keni të paktën dëgjuar, nën kapuç 0-së dhe 1 të. I ashtuquajturi sistem binar. Pra me të vërtetë, kompjuterët kanë më shumë se vetëm shënon hash në fjalorin e tyre, por jo aq shumë nga një Fjalori si ne njerëzit. Në të vërtetë, ne njerëzit nuk e përdorin binar. Bi që do të thotë 2, 0 dhe 1. Por decimal, deca që do të thotë 10, 0 deri 9. Pra, ne kemi shumë më tepër ekspresive aftësitë në botën tonë normale njerëzore. Por unë do të argumentojnë se këto sisteme, binar, dhe decimal, dhe çdo gjë në mes dhe më gjerë, janë në fakt të gjitha mjaft të njohur. Për shembull, e konsiderojnë ky shembull këtu, 123. Kështu që kjo është me të vërtetë, natyrisht, një numër ne e dimë si 123. Por të gjitha unë vetëm tërhoqi ishte vetëm kjo model i simboleve, glyphs mënyrë që të flasin. Lloj i formave në bord në shkumës. Por pse nuk kemi menjëherë dhe intuitivisht kuptojnë këtë si 123? E pra, në qoftë se ju ishit si Më në klasën e shkollës, ju ndoshta mësuar se kjo është kolona 1s, kjo është 10s kolona, kjo është 100s kolona. Dhe pse është kjo e dobishme? E pra, kjo është e thjeshtë aritmetike ju tani bëni për të marrë nga një model i simboleve për një numër ne e kuptojmë intuitive. Është ajo, 100 herë 1, dhe pastaj 10 herë 2, dhe 1 herë 3, e cila natyrisht është vetëm 100, dhe kjo është 20, dhe kjo është tre. Dhe kështu që në qoftë se ne shtoni ato together-- ah. Pra, aty qëndron lloj arsyetimi prapa pse këtë grup të simboleve do të thotë diçka të vërtetë dhe numerike. E pra, kompjuterat bëjnë e saktë të njëjtën gjë, por ata vetëm mund të llogariten si të lartë si një. Ndërsa unë kam qenë në gjendje të numërimin aq i lartë sa tre. Dhe në fakt, në qoftë se unë do mbajtur unë mund të shkojnë deri në nëntë në këtë sistem. Kompjuter kanë vetëm zero dhe ato në alfabetin e tyre. Pra, çfarë do të thotë kjo? E pra, kjo thjesht do të thotë se në qoftë se një kompjuter do të përfaqësojë, thonë se numri 0, ndoshta duke përdorur tre characters-- tre shkronjat e alfabetit në mënyrë që të flasin, kjo është si një kompjuter përfaqëson 0. Pra, jo të gjithë që frikshme deri tani. Kjo është pikërisht ajo që ne njerëzit do të bëjë. Dhe në fakt, shumica prej nesh do të vetëm injorojnë zero kryesor anyway. Një kompjuter, nëse dëshiron për të ruajtur numrin 1, rezulton do të bëjë këtë. Dhe një kompjuter për të ruajtur numri 2 nuk është e do të bëjë sistemin unary, që kam përmendur më herët. Është e vërtetë do të bëjë këtë. Dhe kjo është ndoshta ku model fillon të bëhet më pak i dukshëm për shumicën e folks. Kjo është 2, kjo është 3. Çuditërisht, kjo është tani 4. Dhe tani me të vërtetë ka duket të jetë ndoshta i fshehtë, por kjo nuk është nëse kemi parasysh ajo binar të vërtetë do të thotë. Kjo do të thotë se ju keni dy shkronjat e alfabetit tuaj. Kështu që dy karaktere të mundshme për çdo placeholder. Kështu që me të vërtetë do të thotë që ne jemi duke shkuar të duhet një vend 1s, 2s apo vend, një vend 4s dhe më pas 8 dhe 16, 32, dhe 64. Dhe çfarë është ndryshimi ka? Ashtu si këto janë 1, 2, 4, 8, 16, 32, 64. Dhe para se të kishim 110, 100.000, 10.000. Cila është ngjashmëria atje? Dhe çfarë është model? Po. STUDENT: Kompetencat e 2 në vend të kompetencave të 10. DAVID Malan: Po. Kompetencat e 2 në vend të kompetencat e 10. Dhe kështu që në qoftë se unë të kërkuar për të mbajtur shkuar, 8, 16 të dhe kështu forth-- por tani në qoftë se ju e keni këtë lloj e dhënë, tani sistemi binar është në fakt shumë i thjeshtë. Pse është ky model i 0-së në botën e kompjuterëve 0? Edhe për shkak se kjo është 4 herë 0, 2 herë 0, 1 herë 0 dhe ju merrni 0. Pse është ky numri 1? Arsyetimi i njëjtë, por tani ne kanë një 1 në 1 kolonë. Pse është kjo 2? Ne kemi një 1 në kolonën 2s. Dhe si mund të bëjë që unë përfaqësoj thonë, numrin 7 në binar? Thuaj louder. STUDENT: Tre 1s. DAVID Malan: Tre 1s. Pra 1, 1, 1 sepse ne vetëm duhet 4 plus 2 plus 1 më jep 7. Në rregull. Pra, nga atje sa nuk kemi përfaqësojnë 8 me 3 placeholders? Po. STUDENT: 1, 0, 0, 0. DAVID Malan: Po 1, 0, 0, 0. E megjithatë ndoshta, unë lloj e teknikisht duhet për të shtuar një placeholder për të bordit. Nëse unë dua të përshtaten që unë me të vërtetë duhet të bëni diçka si kjo. Kështu që unë në fakt duhet të përdorni tani kolona 8s, dhe kjo është në rregull. Por gjëja e çuditshme në informatikë është se kjo do të na kushtojë diçka. Ju nevojë për më shumë RAM në kompjuterin tuaj tani. Ju duhet më shumë memorie për shkak se keni nevojë për diçka fizike për të ruajtur se bit shtesë, kështu që të flasin. shifra binare. Dhe me të vërtetë të gjitha që ka ndodhur këtu, si sistem dhjetore, në qoftë se ne vazhdojmë të shtuar numrat e lart e lart dhe lart, ne do të shkojmë në 5 deri në 6 për 7 deri në 8 është si mbante 1, fjalë për fjalë. Dhe pastaj çdo gjë tjetër shkon prapa deri në zero. Por si nuk kemi të vërtetë përfaqësojnë këto gjëra fizikisht në një kompjuter? E pra, në fund të ditës, e vetmja input fizike që shkon në kompjuterin tim këtu është kjo kabllo të energjisë, në mënyrë që energjisë elektrike apo elektronet nga muri. Dhe kështu që si mund të merrni nga diçka fizike si kjo në fakt përfaqëson një ide si kjo në vend. E pra, çfarë mund të bëjmë? Ne mund të konsiderojmë se, të gjithë të drejtë, ndoshta në qoftë se energjia elektrike që rrjedhin Unë mund të ruajtur atë dhe të mbajë në të. Dhe në qoftë se unë jam duke mbajtur në për disa energji elektrike, që është vetëm do të në mënyrë arbitrare përfaqësojnë një 1. Dhe në qoftë se unë tërhiqni spinën dhe nuk ka asgjë atje, ju e dini se është vetëm duke shkuar për të përfaqësuar në mënyrë arbitrare një 0. Kështu që nëse diçka është atje, 1. Nëse asgjë nuk është atje, 0. Ose ju mund të bëni këtë pak më shumë vizuale. Këtu është një 0. Nuk ka asgjë të vazhdueshme interesante në lidhje me pjesën e pasme të telefonit tim. Por në qoftë se unë të lejojë pak bit e energjisë elektrike të rrjedhin, edhe pse kjo është një ndritshme pak këtu, elektrik dore im vazhdoi. Kështu që unë jam ruajtur një pagesë dhe prandaj, ky telefon tani përfaqëson një 1. Pra, 0 1. Pra, me 1 iPhone sa e lartë mund të I numërimin duke përdorur këtë lloj të qasjes së? Unë do të thotë për 1. Kjo nuk është e gjitha që bindëse. Pra, çfarë më shumë mund të bëjmë? E pra le të shohim, është dikush në e tyre Telefoni tani që unë mund të marrë hua? Çdokush që ka një telefon me një elektrik dore ndërtuar në? Mund të marrë hua? Unë nuk kam nevojë të hapur. Në rregull. Faleminderit. Më lejoni të marrë hua këtë. Në rregull. Pra, nëse unë tani lëviz dhe këtu, çfarë jam unë duke përfaqësuar tani? Po. Kështu që është një tre, sepse kjo është në kolonë 1s, kjo është në kolonën 2S. Pra, 1 plus 2 është 3. Dhe pastaj nëse ne përpiqemi për të marrë me të vërtetë creative-- oh, ju faleminderit. Shumë të përparësisë. Në rregull. Unë tani kanë tre iPhone. Në rregull. Dhe tani this-- unë nuk do të të bëjë më tej se kaq. Çfarë jam unë duke përfaqësuar tani? Vetëm sevens. Por unë e nevojshme fizikisht më shumë memorie në këtë rast. Por kjo është e gjitha ajo është. Ju mund të mendoni se çfarë po ndodh on-- falënderoj ju, duke filluar brenda telefonin tuaj si vetëm duke qenë një switch që është duke u kthyer në dhe jashtë. Dhe në qoftë se ju keni dëgjuar ndonjëherë tranzitor fjala. Ose në qoftë se ju keni dëgjuar ndonjëherë marketingut flasin Intel brenda, që është folur për llojin e pajisjeve kjo është brenda kompjuterit tuaj. Intel bën CPU, njësive të përpunimit qendrore, të cilat janë si trurin brenda e kompjuterit tuaj. Dhe këto CPU dhe gjërat që janë të lidhura të ketë shumë dhe shumë e ndizet vogël. Miliona, miliarda ndizet që mund të jetë ose në ose off. Pra kompjuterëve, fatmirësisht, si Macs dhe PC tonë, mund të llogaritet mënyrë më të larta se 7 ose 8 sepse ata kanë mënyrë më shumë se tre ose katër bit. Mënyrë më shumë se ekuivalenti e tre PUSI që ne vetëm kishte. Por tani kjo fillon të marrë mjaft jointeresant shpejt. Nëse unë tani duan të vërtetë të jetë në gjendje për të bërë diçka më interesante, Unë dua të jem në gjendje të hidhen për diçka si kjo. Pra ASCII, kjo nuk është me të vërtetë një të dobishme akronim, por Kodi standard amerikan për Informim shkëmbimi. Kjo thjesht do të thotë, disa vite më parë ne njerëzit vendosur, ju e dini se çfarë, ne duam të jetë në gjendje të bëjë më shumë me kompjuterët sesa vetëm numra. Ne nuk duam që ata të vetëm të jetë calculators të shtrenjta, ne do të donim për të të jetë në gjendje të bëjë gjëra të tilla si word processing, edhe pse shumë thjesht. Më vonë kemi pasur mail dhe media të tjera të tilla. Dhe kështu bota vendosi disa vjet parë sipas këtij sistemit ASCII, ju e dini se çfarë? Në lloje të caktuara të Programet çdo kohë ju shih ekuivalentin e numrit 65, si model të bit. Dhe ne mund të bëjmë të math këtu në bord. Modeli i bit që përfaqësojnë 65. A nuk mendojnë për atë si 65 në decimal. Mendoni se si në mënyrë arbitrare, por globalisht, në mënyrë të vazhdueshme si kryeqytet A. Dhe pastaj bota vendosur, ju e dini se çfarë? Le të marrin një tjetër model të bit. Dhe në qoftë se ne ndonjëherë parë Numri 66, le të vetëm marrin se që është B. Kapitali Fast përpara për H dhe unë, në qoftë se ju shihni 72 ose 73, që duhet të jetë H dhe një I, respektivisht. Dhe kështu për aq kohë sa të gjithë bota është dakord me këtë. Kështu që kur ju merrni një email, ose ju do të merrni një skedar në një shkop USB, ose diçka si that-- kur është ju shihni se modelin e bit, ju e dini se ajo duhet të jetë ky letër apo ndonjë letër tjetër. Por kjo është konteksti të veçantë, të drejtë. Një program email mund të interpretojnë këto si karaktere, por një makinë llogaritëse grafikët ose Llogaritësi mund të përfaqësojë ose të interpretojnë këto gjëra, natyrisht, si letra. Pra, me këtë fjalë, shqyrtim të shpejtë pak. Kjo është ndoshta një karakter tre e-mail që i është dërguar për mua. Nën kapuç kjo është e gjitha në 0s dhe 1s, por ne nuk e kujdesit. Ne jemi duke shkuar për të filluar për abstract mbi 0s dhe 1s në letra. Dhe në qoftë se unë shoh një model të 0s dhe 1s që me të vërtetë përfaqësojnë 72, hint, hint, 73, dhe pastaj 33, çfarë është mesazhi? STUDENT: [padëgjueshme] DAVID Malan: Pra, nëse ju mendoni se mbrapa vetëm një moment më parë, HI ishte mesazhi unë isha duke u përpjekur për komunikuar këtu sepse H është 72, I është 73, dhe tani 33-- ju nuk do të domosdoshmërisht e di këtë më parë, por kjo rezulton në qoftë se ju në të vërtetë shih më shumë tabelë dhe sistemit që njerëzimi rënë dakord vjet më parë, kjo është vetëm një pikë thirrje. Dhe me të vërtetë, nuk është një model i simbolet dhe numrat për çdo karakter që ju mund të keni në tastierën tuaj. Në rregull. Le abstrakte tej. Në qoftë se ne nuk duam të ketë vetëm gjëra të tilla si numra dhe shkronja, ne fakt duam të zbatojë grafika. E pra, në qoftë se ju keni ndonjëherë dëgjuar akronimin RGB. Është lloj i datës tani, por është ende lloj atje. RGB është e kuqe, jeshile, blu. Dhe kjo është vetëm një sistem për të thënë, ju e dini se çfarë, le të përdorim tre grupe të bit. Një grup prej 8 bit, një tjetër grup i 8 bit, dhe një tjetër grup prej 8 bit. Dhe le të përdorim këto bit për të ruajtur sa më shumë ne të kuqe duan në ekranin tonë, sa green ne duam në ekranin tonë, dhe sa blu ne duam në ekranin tonë. Dhe kjo thjesht do të thotë se në qoftë se ju kanë një lot-- një numër të madh të kuq, kjo do të thotë më jep një shumë të kuqe. Nëse ju keni një numër të madh për gjelbër, më jep një shumë të gjelbër. Dhe në qoftë se ju keni vetëm pak e blu apo një numër i vogël si 33, më jepni pak blu. Dhe në qoftë se ju ndodh që të kombinohen ato tre madhësive, si të thuash, ju merrni this-- ju mezi mund të shihni në projektor këtu, por kjo errët hije e verdhë ose ngjyrë kafe. Por kjo do të thotë, duke përdorur atë modeli i 8 plus 8 plus plus 8-- se model i 24 bit është si një kompjuter do të ruajtur atë hije të verdhë në një vogël dot një piksel në ekran. Pra, ne kemi shkuar nga 0s dhe 1s për dhjetore numrat në shkronjat e alfabetit. Ose më interesante, pika me ngjyrë. E pra, çfarë sigurisht pastaj vjen më pas? E pra, ajo që është një imazh që ju parë në Facebook, ose të marrë në një email? Apo si? Cili është definicioni teknikisht e një imazhi? Po. Çfarë është një imazh i përbërë nga, nëse ju duket me të vërtetë afër në ekranin tuaj? Po. Kjo është vetëm një bandë e tërë e pixels. Në fakt, në qoftë se ju merrni tuaj laptop ndoshta më vonë, dhe duken me të vërtetë afër në arsyetimet tuaja, në varësi se si i shtrenjtë laptop është dhe si të lartë të cilësisë në ekran është, ju mund të shihni shumë mirë të gjithë dots pak në ekran. Dhe këto pika ose pixels, që do të thotë nuk ka 24 bit përfaqësojnë çdo piksel në të cilat Fotografia që ju shihni në Facebook, apo se ju vetëm mori në iPhone tuaj kohët e fundit. Dhe kështu kjo është se si ne të merrni për gjëra të tilla si grafikë. E pra, çfarë është një video? Një video është vetëm një grup i grafika fluturon me ekran përsëri dhe përsëri dhe përsëri. Dhe kështu videos me të vërtetë, janë vetëm modele i bit përfaqësojnë rrjetet, rreshtave dhe kolona e pika, fluturon me imazhin e ekranit, pas imazhit, pas imazhit, alias filma. Pra, kjo është ajo për të hyrjeve dhe daljeve. Të gjithë ne kemi tani është një supozimin se, ju e di se çfarë, në qoftë se ne duam një kompjuter për të përfaqësuar informacion, ne kemi një sistem për të bërë atë. Ne mund të bëjmë atë me 0s dhe 1s në fund të ditës. Por ne mund abstrakte, kështu për të folur, në krye të kësaj në mënyrë që të përfaqësojnë më gjëra interesante. Dhe këtu në jashtë në CS50, dhe në shkenca kompjuterike në përgjithësi, ne tani të qëndrojë në supet të gjithë njerëzit që erdhën para nesh që artistikisht se nga. Dhe tani vetëm të supozojmë se kompjuterët mund të përfaqësojnë inputet dhe rezultatet. Por tani le të vërtetë të bëjë diçka me ta. Pra, një algoritmi është vetëm një grup e udhëzimeve, hap pas hapi, për zgjidhjen e disa probleme. Dhe çfarë mund të jetë një problem i tillë. Kështu që kjo është një shkollë të vjetër teknologji, një libër i telefonit. Dhe në brendësi të një libër telefon është një tërë bandë e emrave dhe numrave. Dhe këto emra janë në përgjithësi të renditura sipas rendit alfabetik. Pra, nëse kam kërkuar për të gjetur dikë në ky libër telefon si Mike Smith, çfarë është një tipik i njeriut do të bëni? E pra, ju mund të thjesht të hapur it up, shikoni në faqen e parë. Unë nuk e shoh Mike Smith. Kthehet në faqen e dytë, Unë nuk e shoh Mike Smith. Dhe vetëm do të mbajë dhe shkon. A është kjo qasje hap pas hapi e saktë? Po. Kjo është lloj i trashë, e drejtë. Kjo është joefikase, e drejtë. Për shkak se ajo do të marrë përgjithmonë për të marrë të Mike, por kjo është e saktë. Sepse në qoftë se Mike është këtu Unë me të vërtetë do ta gjejmë. Pra, çfarë është një pak më të person i arsyeshëm do të bëni? Ata ende mund të hapur në pjesën e përparme, dhe ndoshta fluturojnë nëpër librin e telefonit dy faqe në një kohë. Dy, katër, gjashtë, tetë. Unë nuk mund të vërtetë fizikisht të bëjë atë shumë mirë. Por, në teori, kjo duhet të jetë dy herë më shpejt, dy faqe në një kohë. A është e saktë kjo algorithm? STUDENT: [padëgjueshme] DAVID Malan: Jo domosdoshmërisht. Të mirë. Pse kjo paralajmërim? STUDENT: Për shkak se ai mund të jetë në një nga faqet që ju jeni skipping. DAVID Malan: Po. Pra, edhe në qoftë se unë të marrë më afër dhe më afër. Po në qoftë se ai është vetëm aksidentalisht, duke i keq fat, sandwiched midis dy faqeve se unë jam duke fluturuar mbi? Pra, ne kemi nevojë për një fix për këtë. Ne fakt duhet të pastaj thonë, prit një minutë, ndoshta në qoftë se ne do të shkojmë shumë larg, ndoshta në qoftë se ne e goditi pjesën T, për T vjen pas Smith, atëherë ne duhet të të paktën të dyfishtë përsëri të paktën një faqe. Pra ndreqshëm, por nuk ka një çështje e kushtëzuar atje. Pra, kjo është dy herë më shpejt, por ju mund të duhet të dyfishohet përsëri vetëm pak. Por askush në dhomën e tij, edhe në qoftë se ju vërtetë nuk e përdorin librat e telefonit më, do të fillojë në fillim. Çfarë do të bësh duke kërkuar për Mike Smith? Ju jeni duke shkuar për të shkuar rreth në S-së. Ose në qoftë se ju të vërtetë nuk kanë fletë mashtrojnë në letër, ju jeni duke shkuar për të shkuar të paktën afërsisht në mes. Dhe sigurisht jo për e përparme e librit. Ju jeni do të shikoni poshtë. Dhe matematikisht ju jeni me siguri shkuar për të parë seksionin M, e cila është afërsisht në mes. Dhe pastaj ju do të jeni të kuptojnë, se çfarë është e vërtetë? Ku është Mike? STUDENT: [padëgjueshme] DAVID Malan: Po. Pra, ai është më shumë se në këtë anë. Dhe kështu që çfarë mund të bëni? E pra, si mënyrë figurative dhe fjalë për fjalë mund të heq problem në gjysmë herë? Dhe ta dini se ju mund të hedhin Kjo pjesë e problemit larg. Dhe tani ne jemi të majtë me themel të njëjtin problem, por kjo është gjysma aq i madh. Dhe kështu që tani ajo është grup i udhëzime? Çfarë është algorithm për gjetjen e Mike Smith? Është e saktë të njëjtën gjë. Tani kjo ndodh të jetë M Seksioni dhe kjo është Z seksioni, por themelore formula është ende e njëjtë. Shko afërsisht në mes, shikoni poshtë, oh, mallkuar atë. Tani unë jam në seksionin T, Unë kam shkuar shumë larg. Por edhe këtu mund të ju të aplikojnë që të njëjtën logjikë. gjysma Hidhe e problemit larg dhe tani ne jemi u largua me një problem që është një e katërta e madhësisë. Dhe ne mund të përsërisë, dhe ne mund të përsëris, dhe ne mund të përsërisë deri teorikisht ka vetëm një faqe të lënë në e cila Mike ose është ose nuk është. Pra, çfarë është aq i fuqishëm në lidhje me këtë ide? Unë do të thotë në fund të fundit, kjo është goxha e intuitive. Askush nuk do të fillojë më së fillimi i librit të telefonit dhe rrokullisje 1000 faqe për të gjetur Mike Smith. Shumica e të gjithë në këtë dhomë do për të bërë afërsisht atë lloj algorithm shpëtuar për marramendës. Dhe kështu që pse e bëjmë këtë? E pra, e konsiderojnë efikasitetin. Konsideroni se sa më mirë këtë algorithm ishte duke e thyer atë në pjesët e saj përbërëse. Pra, çfarë nuk kam parë të bëjë? I kap librin e telefonit. Dhe një shkencëtar kompjuteri, dhe një programues, më në përgjithësi kjo rezulton, po ndodh të fillojë numërimi gjithçka në 0. Pse? E pra, kjo është pak e çuditshme që njerëzit të numëruar, në përgjithësi, duke u nisur nga një. Sepse ajo që është numri më i vogël ne në mënyrë të qartë mund të paraqesin në bazë edhe në matematikë vjetër tonë shkollor të klasës? E pra, kjo ishte 0, nëse kjo është në decimal ose binar. Dhe kështu që ju do të shihni në botë e informatikë dhe programimit, në mënyrë të veçantë, ne fillim duke llogaritur çdo gjë nga 0. Kështu që unë kap librin e telefonit hapin 0. Unë jam duke shkuar për të hapur të mesme librin e telefonit. Dhe kjo është me të vërtetë një shprehje e asaj që kam bërë. Dhe pastaj hap dy u vështrim në emrat. Hapi i tretë është pak ndryshe konceptualisht. Unë jam duke kërkuar veten një pyetje. Nëse Smith është në mesin e emrave, Unë jam duke shkuar për të marrë një vendim. Nëse ai është në mesin e emrave, atëherë unë jam duke shkuar për të thirrur Mike. Dhe unë jam duke shkuar për të marrë një vendim bazuar në atë pjesë të informacionit. Megjithatë, në qoftë se jo, nëse Smith është më parë në librin e të majtë, Unë jam duke shkuar për të hapur në mes i gjysmës së majtë të librit. Dhe pastaj këtu është zgjuarsia, Unë do të kthehem në hap dy. Unë jam duke shkuar për të zgjidhur të qëndrojnë mbi supet e mia dhe vetëm përsërisin veprën e kaluar kam bërë. Por puna që kam mbetur është pak, dhe më pak, dhe më pak. Por është ende duke shkuar për të punuar. Por në qoftë se Mike, në vend të kësaj, është vonë në librin e të djathtë, Unë jam duke shkuar për të hapur në mes i gjysmës së djathtë të librit, pastaj të kthehemi në hap dy. Por ka në fakt një skenar i katërt. Mike e as këtu, ose këtu ose këtu, or-- STUDENT: Jo atje. DAVID Malan: Jo atje. Dhe me të vërtetë, në qoftë se ne nuk e parashikojmë ky skenar katërt dhe i fundit programi ynë mund të jetë buggy ose të meta në një farë mënyre. Tjetër, lë në rast se ne nuk kemi gjetur Mike në të gjitha. Dhe me të vërtetë, në qoftë se ju keni vënë re ndonjëherë varur tuaj kompjuter, ose të gjitha nga një fjalë e papritur ose disa të tjera program vetëm shpërblej papritur, dhe nganjëherë ty gabim Mesazhi fjalë për fjalë është se. Ky program u largua papritur. Ajo mund të jetë për çdo numër arsyesh. Por ndonjëherë është e diçka e thjeshtë si kjo. Programues njeriut i cili ka shkruar se software nuk e kuptojnë se, oh, ka një radhë gjë që në fakt mund të ndodhë. Dhe në qoftë se ju nuk shkruani kodin për të kapur atë skenar të katërt, ajo është me të vërtetë e papritur ndonjëherë çfarë kompjuteri mund të vërtetë të bëjë. Tani le të thërrasin një disa nga këto gjëra. Kështu që në të verdhë këtu, të ketë kushte të theksuara që tani e tutje ne jemi vetëm shkuar për të thirrur funksione. Funksionet në botën e programimit janë vetëm si veprime, deklaratat e veprimeve. Pra marr, e hapur për të, shikoni në, e quajnë, të hapur, të hapur, u largua. Kjo është një funksion, një procedurë, një veprim, çdo numër të sinonime do të punojë si. Tani çfarë janë këto gjëra tashmë në të verdhë? Nëse tjetër, në qoftë tjetër, në qoftë se tjetër, këto janë ato që ne jemi duke shkuar për të thirrur kushtet në programimin, ose degët, vendim pikë, nëse ju do. Por si nuk e dini cilat pirun në rrugë për të marrë, kështu që të flasin? Ne kemi nevojë për të nxjerrë në pah kushtet në të djathtë aty, të cilat janë këto po, asnjë pyetje. Këto pyetje e vërtetë të rreme. Smith në mesin e emrave? Smith më parë në librin? Smith më vonë në libër? Këto janë pyetje të e cila ka një po, ose jo, ose ekuivalente e vërtetë, apo e rreme, ose ekuivalente, një ose zero përgjigje. Dhe ndërkohë ka vetëm një pjesë e fundit. Kjo këtu ka se çfarë lloj të efektit? Nëse janë apo jo të programit para, si do të përshkruajnë se çfarë hapi shtatë dhe 10 janë duke bërë? Çfarë thoni? STUDENT: Një hap rekursive. DAVID Malan: Një hap rekursive. Po, në thelb. Kjo është teknikisht përsëritës këtu në qoftë se ju jeni të njohur. Por ne do të kthehen në atë. Por është duke bërë diçka në mënyrë të qartë. Përsëri, kjo është inducing një cikli, një lak, të drejtë. Ju jeni fjalë për fjalë do mbështetur në një hap më parë. Dhe kështu në të vërtetë, kjo do të zbatojë një lloj të ciklit. Por ju nuk jeni duke shkuar për të marrë mbërthyer në këtë pafundësisht, e drejtë. Sepse në qoftë se ju jeni vazhdimisht duke kontrolluar është Mike këtu, ose në të majtë, apo jo këtu, përfundimisht ai nuk do të jetë atje. Dhe vetëm ju mund të lë krejt si për këtë linjë e fundit. Pra, kjo është ajo për fjalorin. Dhe kjo ishte ajo që ne do në përgjithësi e quajnë kodin pseudokod. Kjo nuk është një gjuhë e vërtetë. Është vetëm shumë të përmbledhur English, por ajo komunikon pikë. Nuk ka strukturë formale këtu. Ju përdorni vetëm se është pak fjalë, por fjalët si qarta si ju mund të komunikoni idenë tuaj. Tani sa i mirë është se algoritmi dhe sa më e mirë është ajo? E pra, ne nuk kemi për të marrë në të Specifikat e numrave apo ndonjë gjë si kjo. Por ne mund të shikojmë në formë të kësaj zgjidhjeje. Pra, nëse ne vetëm të tërheqë disa komplot xy këtu në aksin horizontal këtu. Le të vetëm thirrje madhësinë e problemit. Dhe një shkencëtar kompjuteri do zakonisht përdorin n si variabël këtu. Pra, n faqe, ose n njerëz në dhomë, ose çfarëdo qoftë ajo është që ju jeni duke u përpjekur për të numëruar. Dhe pastaj në boshtin vertikal, nga ana la, që do të jetë koha për të zgjidhur. Pra, sa sekonda e bën atë të marrë mua për të gjetur Mike Smith? Ose sa hapa nuk është marrë? Sa kthen faqe nuk është marrë? Pra, kjo është se sa kushton mua në kohë për të zgjidhur një problem. Dhe ne mund të tërheqim parë algoritme shpat, në qoftë se ju do të, si vetëm këtë vijë të drejtë në të kuqe. Dhe unë do të thërrasë atë n. Pse n? Pse është vetëm kjo në një marrëdhënie? E pra, në qoftë se Verizon ose çfarëdo kompani telefonike shton një faqe më shumë për libri telefon vitin e ardhshëm, që mund të shtyjë një Mike më hap më në fund, varësisht se ku është faqja. Dhe kështu që efekti mund vetëm të jetë për të shtuar një të dytë shumë. Apo edhe një faqe të kthehet. Një njeri në një raport. Në të kundërt, algorithm dytë. Sa më shpejt që ishte intuitive? Kur unë shkova dy faqe në një kohë? Po. STUDENT: [padëgjueshme] DAVID Malan: Po. Kështu ajo do të jetë dy herë më shpejt. Dhe ne do të nxjerrë që këtu në varësi të shkallës. Ajo ende është një vijë e drejtë, por më i ulët se vijën e kuqe. Për shkak se për disa numrin i faqeve, në qoftë se ajo merr ju këtë shumë hapa me algoritmi i parë, ajo do të marrë ju gjysma si shumë hapa me të dytën. Dhe kështu vija e verdhë përshkruan algoritmin e dytë është vetëm do të jetë nën të. Por ajo që është me të vërtetë i fuqishëm është që të mendoni për të tretë dhe të fundit, dhe amazingly më intuitive algorithm, që ka këtë formë. Teknikisht ne do të thërrasë kjo një kurbë logaritmike. Identifikohu bazë 2 të n në këtë rast. Por kjo nuk ka rëndësi. Ajo që ka rëndësi me të vërtetë është krejtësisht formë të ndryshme që ajo ka. Dhe ju mund të konsideroni se sa shumë më e shkurtër kjo linjë të vërtetë është në afat të gjatë. Është vazhdimisht në rritje. Ajo nuk hapem përkryer. Por ajo rritet ndonjëherë në mënyrë shumë më ngadalë si problemi merr më të mëdha. Dhe ju mund të mendoni për atë këtë way-- nëse Verizon nuk ka vetëm të shtoni një faqe të vitit të ardhshëm, por dyshe numri i faqeve në librin e telefonit, i pari algorithm fuqisë të marrë dy herë më shumë hapa. Nëse kjo është 1000 faqe këtë vit, 2,000 faqet vitin e ardhshëm, Mike mund të jetë se shumë më larg. Pra, kjo është 1000 hapa shtesë për të gjetur atë. Algoritmi i dytë mund të jetë vetëm 500 më shumë Hapat për të gjetur atë, sepse përsëri, Unë jam duke fluturuar nëpër të dy në një kohë. Por ajo që për algoritmin e tretë? Nëse Verizon dyfishon Madhësia e librit të telefonit vitin e ardhshëm nga 1000 deri në vitin 2000 faqe, sa hapa më shumë është algoritmi im i tretë do të marrë? Po, kjo është vetëm një. Dhe kjo është ideja e fuqishme. Ju mund të marrë 1000 faqe pickim nga se problemi në të njëjtën kohë. Dhe tani, nëse ju e konsideroni një skenar pa kuptim, por kjo lloj flet me Fuqia e këtij lloji të intuition-- qoftë një libër telefoni pasur, si, katër miliardë të faqet, ndjehet si një problem me të vërtetë i madh. Dhe me të vërtetë, ajo mund marrë më katër miliardë faqe kthehet për të gjetur Mike Smith në atë rasti me algorithm e parë. Por sa hapa do të marrë në algoritmin e tretë për të gjetur Mike në mesin e katër miliard copa letre? Pra katër miliardë të ju lot në gjysmë. Ju merrni dy miliardë. Pastaj një miliard, atëherë 500 milionë, 250 milionë, 125 million-- por ndjehet si kjo është e do të marrë një kohë. Unë mund të kenë nevojë 32 gishta për të numëruar deri që të lartë. Por kjo është me të vërtetë si pak si 32 faqe lot. Ju mund të shkoni nga katër miliardë në një faqe ndan numri origjinal i faqe në gjysmën 32 herë derisa ju jeni mbetur me vetëm se faqe të vetme. Tani, sigurisht, unë jam cheating këtu. Nuk është se ne jemi vetëm duke u lloj i trashë në tërësi me dy të parat algoritme. Unë jam cheating në një kuptim, ose me të vërtetë unë jam leveraging një supozim. Ajo që ishte e vërtetë në lidhje me librin e telefonit në formën e vet origjinale që lejoi mua që të përdorni edhe këtë algoritëm të tretë? Po? AUDIENCA: U renditura alfabetikisht. DAVID Malan: U renditura alfabetikisht, apo jo? Nëse do të ishte vetëm në mënyrë të rastësishme mënyrë, kjo është një humbje e kohës, kjo bisedë të tërë. Unë duhet të shikoni në çdo faqe në qoftë se është në mënyrë të rastit për të gjetur Mike Smith para se unë mund të konkludohet se ai është atje apo jo. Dhe kështu që ne qoshe kanë prerë është se unë kam Supozohet se dikush tjetër në ky rast bëmë punën për mua. Dhe në mënyrë që në fund të fundit fton pyetja, mirë, prit një minutë. Si mund të zgjidhur 1,000 faqet e emra dhe numra? Kjo është në fakt një tjetër problem, diçka ne do të kthehen në të ardhmen. Por kur ju mendoni rreth faqeve si Facebook dhe Google për Gmail dhe gjëra të tilla si Google Indekset e vet e kërkimit, kur ju keni miliona apo miliarda pjesë e të dhënave të ruajtura këto ditë, searching-- dhe të mos përmendur sorting ato problems-- është në fund të fundit një sfidë në vetvete. Dhe me të vërtetë, ky atëherë është vetëm një nga ato sfida se ne do të jetë në kërkim në. Pra, tani le të marrin një moment dhe të marrë një vështrim në CS50 në vetvete dhe do t'ju japë një ndjenjë të çfarë është në dyqan këtë semestër. Në të vërtetë, në qoftë se ju nuk e keni tashmë, do të marrë një sy në këtë URL. Dhe si Patrick aludoi për të, këtë vit ne jemi duke bërë një investim të rëndësishëm të gjithë më shumë në mbështetje të kursit Struktura në aspektin e Tas dhe AK, orarit të punës, seksione disponueshmërinë, dhe Materialet dixhitale në internet, si dhe. Në të vërtetë, në drejtim të kurs-së leksion, ne jemi këtu sot. Dhe pritjet këtë viti zyrtarisht i kursit duke marrë pjesë sot, gjatë së leksion të fundit, dhe një kurs afërsisht në mes të semestrit me çdo ligjëratë në mes vihen në dispozicion në përgjithësi në një pasdite e premte online, si për studentët Yale dhe studentët e Harvardit këtë vit. Në të vërtetë, një nga më të ndryshime thelbësore është se ne jemi adoptuar në Harvard një paradigmë shumë si ne e bëmë këtu fundit vit dhe tani këtë vit, në mënyrë që në mënyrë të ngjashme, ne ende filmit më të e ligjëratave të kursit në Cambridge por bëjnë ato në dispozicion më parë se ne kemi në të kaluarën në mënyrë që ata të ju, duke filluar në qoftë se ju do të doja të, për shembull, të marrë një fillim të kokës në materialet e në fundjavë të parë në vend se fundjavës së dytë, ju do të keni qasje në këto llojet e materialeve, kërkueshme, Embeddable, hyperlinkable të burimeve që kanë të bëjnë të gjitha më parë. Në kushtet e temave, që të ju jap një ndjenjë e trajectory-- të kursit dhe disa kjo mund të jetë zhargon për tani, por jo për kohë të gjatë, pjesa tjetër e siguroi. Ne do të fillojë sot, në fund të fundit, me duke kërkuar në një programimit Gjuha e quajtur Scratch. Ne do të kalojnë më pas javën e ardhshme për diçka të quajtur C dhe pastaj duke kërkuar në ndërtesë tjetër blloqe për zgjidhjen e problemeve, gjëra quajtur vargjeve dhe algoritme, si ne e përdorin kujtesën në avantazhin tonë dhe disavantazh, dhe gjëra të tilla si strukturat e të dhënave, dhe pastaj nga fundi bisht e Klasa e kërkuar në të mësuarit e makinës dhe duke kërkuar në një tjetër gjuha e quajtur Python, si punon web, si internet më shumë përgjithësisht punon, protokolle si HTTP, Gjuhë për bazat e të dhënave si SQL, JavaScript për web, dhe në fund të fundit lidhur të gjithë ata së bashku. Dhe kështu në të vërtetë, më së fund të ditës, ju nuk do të mësojnë në këtë Scratch klasës ose C ose Python apo SQL ose JavaScript. Ju në vend të kësaj do të në përgjithësi të mësojnë shkenca kompjuterike dhe themelet tij, dhe ju do të mësojnë se si të programit në çdo numër të këtyre Gjuhë gjatë rrugës. Pra me të vërtetë, një nga qëllimet e kursit në fund është për të marrë jashtë të gjithë kursi-së rrota trajnimit nga këto javët e fundit në mënyrë që pas kësaj, ju mund të ktheheni në fields-- tuaj nëse kjo është apo është Nuk shkenca kompjuterike ose inxhinieri, në natyrore shkencat, artet, shkencat humane, ose beyond-- dhe për të sjellë disa nga këto Idetë e kursit të dhe kjo fushë e ide dhe praktike aftësitë për domenin tuaj në mënyrë për të zgjidhur problemet në të. Ajo që ne do të bëjmë këtu ndërkohë në shumicën e enjte pas sot është me kokat kursin e kryesore ajo që ne do të thërrasë walkthroughs e përcakton problemit kursit së. Pra, çdo javë, kur ne kanë një problem të vendosur, ne do të të ecin nëpër në një vend si kjo sfidat rrjedhës së, ju ofron disa këshilla dhe truket dhe teknikat e projektimit. Por në qoftë se ju nuk jeni në gjendje për të bërë ato në person, realizuar ato njëjtë Burimet do të jetë i ngulitur nga një kurs të asistentë në problemin e vendos veten e tyre, po ashtu. Problemi përcakton këtë vit, ndryshe nga vitin e kaluar, bazuar në reagime, ende do të dalë të premteve. Por në vend se të qënit shkak pasuese e premte, duke i dhënë ju vetëm shtatë ditë, në mënyrë efektive do të jetë për shkak 10 ditë më vonë. Dhe në të vërtetë, kjo do të thotë se ata do të përputhen me një fundjavë. Por ne shpresojmë këtë vit sidomos kjo do të lejojnë studentët për të akomoduar më mirë dobësim dhe rrjedhën në oraret e tyre, nëse kjo është akademikë ose extracurriculars ose atletikë ose sezonin afatmesëm. Ju ose mund të para-load apo back-load Javën e juaj duke u fokusuar në CS50 bazuar të ngarkesës aktuale vet javës tuaj të kursit. Problemi vendos vetë do të mbulojë një gamë të gjuhëve, edhe pse ne do të fokusohemi kryesisht herët në C para se të përqëndrohet më pas në të lartë nivel, më shumë gjuhë web-centric. Dhe pastaj një çift i Pyetjet më të Shpeshta here-- duhet të marrë një klasë si CS50 si një të parë të vitit? Pra absolutisht. Dhe në të vërtetë, kjo nuk është domosdoshmërisht diçka ju duhet të shtyjë deri sa ju keni prerë dhëmbët tuaj në lloje të tjera të klasave. Por më tepër, e konsiderojnë që për shumë studentë, përfshirë veten time mbrapa në ditë, kjo është një fushë shumë të panjohura, veçanërisht në qoftë se ju kurrë nuk ka marrë një CSA AP ose diçka të tillë në shkollë të mesme. Por e kuptojnë se më herët, nëse kjo është ky kurs apo ndonjë kurs tjetër hyrës, tani është me të vërtetë koha më e mirë, Unë mendoj se, për të gjetur një rrugë të re, ose disa interes ri akademik, po ashtu. Dhe pastaj duke marrë me courses-- tjera kështu që një nga dallimet kryesore këtu kundrejt Harvardit është se ne vetëm marrë katër lëndë për semestër në Harvard për disa arsye. Dhe ju djema në fakt tërheq off disa 36 kurse në total gjatë katër viteve të tua, që do të thotë në përgjithësi katër apo pesë klasa. Dhe unë mendoj se është mjaft e drejtë të thuhet dhe hedh CS50, me dashje, është ndoshta nuk lloji i klasës që ju duhet në mënyrë tipike marrë me katër të tjerë kurse për një total prej pesë sepse psets janë nga hartuar mjaft intensive. Në të vërtetë, edhe unë mësova kjo mbrapa në ditë. Unë nuk do të përshkruaj CS50 dhe shkenca kompjuterike, programimi si aq shumë e vështirë sa është vetëm kohë. Kjo nuk është lloj gjë ku pas darke, ju mund të kthehen në konvikt tuaj dhomë, të ulen, dhe të fillojnë të duke u fokusuar në pset të menduarit, të gjithë të drejtë, Unë jam gonna të zhurmë this out sonte dhe pastaj lëvizje në të subjektit tim të ardhshëm të nesërmen. Ndonjëherë ju vetëm goditi një mur. Ju keni bugs në kodin tuaj. Ju nuk domosdoshmërisht e di si për të zgjidhur disa probleme. Dhe një nga karakteristikat kryesore të programimit për veten time në këtë ditë është që ju vetëm lloji i duhet të marrë një hap prapa disa herë, fle mbi të apo mendoni mbi të gjatë nga një goditje e lehtë ose ndonjë aktivitet tjetër, dhe pastaj të kthehen në atë të freskët. Dhe ju vetëm nevojë për këto dritaret e kohës. Dhe me të vërtetë, kjo është arsyeja pse ne kemi zgjatur sasinë e kohës në dispozicion për grupe problemit këtë vit dhe, për këtë URL I vendosur më parë që të çfarë ka të re këtë semestër, shkurtohet problemi përcakton në mënyrë që ata janë krejtësisht të jo më pak rigoroz, dhe takeaways janë jo më pak, por ka shumë çështje më pak para, një legwork shumë më pak se ju duhet të bërë në pjesën e përparme të çdo problemit vendosur, si ju do të shihni, para se të mund të në fakt zhyten në mish të tij. Pra, të kuptojnë se ata dhe të tjera Ndryshimet janë në horizont për të akomoduar më mirë nxënësit, por në fund të fundit për të siguruar që takeaways janë me të vërtetë aq i lartë sa të jetë e mundur. Kështu, ndërsa më shumë punë se sa ajo mund të jetë në një klasë tipike, ne shpresojmë se kthimi për ju dhe takeaways për ju dhe aftësitë dhe idetë me të cilën ju të dalë janë të gjitha më shumë bindëse, si rezultat i kësaj. Dhe për të marrë ju there-- dhe kjo është një nga takeaways kryesore, si Patrick aludoi earlier-- është Struktura mbështetja kursit së. Pra, jo vetëm që e bën të ketë një nga CS50 shtabet më të mëdha të kurseve në kampus. Ajo gjithashtu ka një nga më të më universitare. Në të vërtetë, CS50 vitin e kaluar ishte klasa e parë të ketë një staf mësimor universitare. Dhe testament për këtë sukses të bëjmë tani kurse shumë të tjera brenda Yale CS kanë që, po ashtu. Dhe për studentët, në mënyrë të veçantë, do këto Tas dhe asistentë kurs të jetë mbështetur një e tërë rrjet i burimeve mbështetëse, në mesin e tyre seksioneve ose recitime, mundësitë javore që të ketë diskutime më intime dhe shqyrtimet e materialit në shënjestër për këngë të ndryshme, për studentët më të rehatshme, më të rehatshme, apo diku në mes. Këto do të ndjekë disponueshmërinë e leksionet nga disa ditë në javë hënën dhe të martën. Dhe pastaj hours-- zyra një-në-një mundësi ndihmë nga AK kursit dhe Tas do të jetë të mërkurën dhe të enjten dhe të dielave në shumëfish herë, të gjitha të cilat do të postohen në faqen e internetit të kursit, edhe më shumë se vitin e kaluar, po ashtu. Por, çfarë është çelësi i CS50, nëse Nuk dyshim pak e pazakontë, është kultura kursit që ne kemi provuar për të kultivuar, si në Kembrixh për shumë vite dhe tani më të fundit në New Haven. Dhe në fakt, vjen kjo E shtunë, në qoftë se ju nuk keni dëgjuar, është Dita CS50 Puzzle, e cila ka nuk ka të bëjë me shkencën kompjuterike por është projektuar tërësisht për të dërguar një mesazh që shkenca kompjuterike është në lidhje me zgjidhjen e problemeve. Dhe me të vërtetë, në qoftë se ju dëshironi të partner me një ose dy ose tre miq dhe të formojnë një ekip për CS50 Puzzle Dita, të marrë një sy në reklamat që janë në mënyrë për të dalë. Dhe tre orë e pica dhe puzzles dhe shpërblime presin. Dhe me të vërtetë, për për herë të parë këtë vit, ajo nuk do të mbahet së bashku me Harvard. Ajo do të jetë këtu në mënyrë të pavarur në Yale. Kështu që të mbajë një sy jashtë për ata në qoftë se ju nuk keni. Më çdo të premte në semestrin nuk kemi të përpiqet të bëjë një klasë të madhe të ndjehen të vogël dhe për të sjellë rreth 50 studentë për drekë me stafin të kursit, me alumni, miqtë nga industria për të folur se çfarë jeta është si pas një klasë si CS50 dhe gjatë verë dhe pas diplomimit. Kështu që të mbajë një sy jashtë për ftesa për se. Për herë të parë ndonjëherë këtë vit do të kemi mbajë parë ndonjëherë CS50 coding contest, një zgjedhë-në optional mundësi në mes të semestrit, pasi të gjithë prej nesh kanë pasur disa gjashtë apo shtatë javë e programimit në C nën rripa e tyre për të konkurruar, nëse kështu do të choose-- përsëri në teams-- duke u përpjekur për zgjidhjen sa më shumë sfida si ju mund të në programimin me Miqtë e juaja ndaj të tjerëve. Dhe në drejtim të bishtit të semestrit do të çarter disa autobusë, në fakt kalojnë disa kohë në Kembrixh, në qoftë se ju do të si të bashkohen me ne, sepse ashtu-quajtur CS50 hackathon. Në 7 PM ne do të fillojmë. Rreth 9 pm, ne do të kemi pica. Rreth 1:00 të mëngjesit, ne do të kemi burritos. Dhe kushdo ende zgjuar nga ana udhëtim me autobus në shtëpi rreth 5:00 të mëngjesit, ne do të ndalet off për pancakes në IHOP në rrugën home-- një mundësi 12 orë për të zhyt veten me shokët e klasës dhe stafin në projektin e fundit të kursit, e cila është një mundësi për të shkuar edhe përtej vendos Problemi natyrisht s dhe të projektimit dhe të zbatojë më gjë me interes për ju, që në fund të fundit do të jenë të i paraqitur këtu në Commons. i parë drejtë ndonjëherë CS50 i fundit vit, një ekspozitë në fund-e-semestrit ose kremtimi i çfarë të gjithëve në klasë kishte kryer, sidomos ata, përsëri, i cili shkoi nga asgjë për diçka, nga zero në 60, që nuk ka sfond paraprak dhe ekspozuar, në fund të fundit, diçka për të gjithë kampus dhe, në qoftë se në internet, bota për të parë, po ashtu. Tani, këto këtu janë vetëm disa nga Tas dhe AK që e bën të mundur CS50. Më lejoni të ftoj çdo e atyre anëtarëve të stafit të cilët janë këtu për të dalë në skenë, si dhe kokat e rrjedhës së, për të ofruar disa fjalë të frymëzim, si edhe. ANDI: Hi, djema. Mund të ju djema të më dëgjojë? Faleminderit për t'u bashkuar me ne në këtë bukur, e enjte pasdite me shi. Emri im është Andi. Unë jam një i ri në Berkeley. Dhe së bashku me Stelios dhe verë, ne do të jetë mësimdhënia juaj tre koka asistentë për këtë vitin e ardhshëm. Kështu që, unë mendoj, shfaqje hands-- sa prej jush nuk kanë ndërmend të qënit një CS e madhe e as të vërtetë zhyten thellë në shkenca kompjuterike si një i madh këtu? Mbresëlënës. Kjo është e shkëlqyer. Kështu që unë jam në të vërtetë një çështjet globale dhe shkencë kognitive të mëdha. Unë fjalë për fjalë erdhi në Yale me qëllim e nuk ka për të parë në një Numri kurrë në jetën time. Kur erdha në Yale, kjo ishte diçka që kurrë nuk ka qenë në radar tim. Unë të kërkuar për të mësuar në lidhje me poezinë. Unë të kërkuar për të mësuar në lidhje me çështjeve ndërkombëtare. Unë të kërkuar për të mësuar në lidhje me vizatime me bojëra uji. Po, ne ofrojmë një klasë në vizatimet me bojëra uji. Por unë kurrë nuk ishte i interesuar në asgjë Rrjedhin lidhur. Por pastaj unë të vjetër mori, aq më shumë e kuptova se çdo fushë të vërtetë në disa Ndjenja punëson shkenca kompjuterike, ose nëse nuk është kompjuter shkenca, llogaritje. Në fakt, për globale im punët e projektit capstone, ne jemi duke përdorur analytics të dhënave për të analizuar sulmet terroriste për Boko Haram në Nigeri. Dhe në mënyrë që ju mund të shihni, pavarësisht nga ajo e madhe ju të përfundojë duke ndjekur apo çfarë janë interesat tuaja këtu në Yale janë, programimi dhe themelet e çdo aftësi janë super të dobishme. Dhe CS50 me të vërtetë është e pajisur mirë për të lloj japë një shumë të burimeve të saj për ju, pavarësisht nga sa rehat je ose sa i interesuar je në ndjekjen e klasës. Summer-së do të flasim pak bit për atë që ju djema janë do të mësojnë në lidhje me këtë vit. SUMMER: Hi, të gjithë. Unë jam Summer Wu. Unë jam një i ri në Morse. Dhe unë në fakt nisi si student CS50 veten time. Pra tre vjet më parë, unë kam qenë në një vit hendek. Unë kurrë nuk do të marrë një CS klasë në shkollën e mesme, por kam menduar se në kohën time të lirë, ajo do të jetë e ftohtë për të mësuar se si të kodit. Kështu që unë e bëri një kërkim të shpejtë Google, kërkuar atë që ishte në dispozicion në internet, dhe pashë këtë video me Muppets dhe DJ dhe faqet e internetit të ftohtë. Unë kam qenë si, unë dua të mësojnë se si për të bërë këtë. Kështu që unë e mori kursin, dhe unë vetëm ra në dashuri me të. Por mbaj mend po aq xheloz e fëmijët të cilët mund të ndjekin hackathon, të marrë pjesë Dita Puzzle, të marrë pjesë në zyra orë, të merrni ndihmë nga Tas në person. Dhe kështu që unë kurrë nuk imagjinuar se unë do të merrni shans të këtu të përfshirë në natyrisht se pari mori më të interesuar në kompjuter shkenca dhe është arsyeja pse Unë jam një shkenca kompjuterike madh sot. Kështu që unë do të paralajmërojë ju, këtë klasë do të zgjas ju. Ajo do të sfiduar ju. Por ajo gjithashtu do të mësojmë se si të bëni gjëra të që ju kurrë nuk imagjinuar ju mund. STELIOS: Hi, të gjithë. Emri im është Stelios. Unë jam një i vogël në Branford College dhe një i madh CS. Unë jam gjithashtu nga Athina, Greqi. Unë jam me të vërtetë duke kërkuar para për të përmbushur të gjithë ju, të biseduar me ju në seksionin, në orarit të punës, në dreka e premte. Unë jam i gëzuar me të vërtetë, sepse ne kemi vënë aq shumë përpjekje në krijimin e një mbështetje të veçantë Struktura për të gjithë ju për të bërë përvojën tuaj me sigurisht të mirë të mundshme. Dhe unë shpresoj se edhe pse pjesa më e madhe ju ndoshta nuk kanë marrë një CS Sigurisht më parë, unë shpresoj se kjo është CS50 për ju është ajo që ndez interes për të ndjekur më tej kompjuter shkenca në të ardhmen, siç ka bërë me kaq shumë njerëz në të kaluarën. Pra, ju falënderoj për të qenë këtu, i ngacmuar për të parë ju. Jason Hirschhorn. JASON Hirschhorn: Hi, të gjithë. Emri im është Jason Hirschhorn. Unë jetoj në Silliman. Dhe unë shkova në Harvard si undergrad dhe diplomuar në studimet sociale dhe minored në shkenca kompjuterike. Dhe një nga rolet e mia kryesore këtu është për të mbështetur këtë staf të mrekullueshëm si ata të gjithë të mbështesin. Në fakt, kjo nuk është e gjitha prej tyre. Nuk janë 55 studentë dhe diplomuarve këtu për t'ju mbështetur të gjithë. Dhe unë guxoj të them një e mirë pjesë të kursit për ju të gjithë po bëhet për të punuar me tyre, duke marrë të dinë ata, duke marrë për të parë ato, si në CS50 dhe jashtë CS50 këtë semestër dhe për shumë semestra që do të vijnë. Pra, shpresojmë se ju do të marrë më të Sigurisht, sepse shpresojmë se ju merrni për të bashkëvepruar me Stafi i mrekullueshëm ne kemi në skenë. SPEAKER: E pra, më lejoni të përfundojë duke thënë se ajo do të jetë kënaqësi. DAVID Malan: Mirë, në sajë të të gjithë ekipit tonë. Më lejoni të zbehtë dritat dhe të lejojë disa më shumë e ekipit tonë, si nga Kembrixh dhe New Haven, për të thënë hello si këta të paraqesë off. Dhe pas kësaj do të kalojnë në i pari i angazhimeve tona të programimit me këtë gjuhë quajtur Scratch. Pra, në sajë të ekipit. Le të zbehtë dritat dhe dëgjojmë nga disa të tjerë. [DUARTROKITJE] [VIDEO rishikim] -The Misioni i CS50 është për të bërë ju më të rehatshme me një mënyrë krejtësisht të re e të menduarit, ky mendim kompjuterike. -Ajo Ka bërë shkenca kompjuterike interesante, e cila është diçka që unë nuk të vërtetë kuptojnë ishte e mundur deri sa unë të marrë klasën. -I Ishte si, ee. Unë jam me të vërtetë përkthimin mendimet e mia në një kompjuter të drejtë tani. -Edhe Nëse ju nuk keni ndonjë sfond në shkenca kompjuterike apo ndonjë përvojë, kjo është në të vërtetë klasë për ju. -Pra, Unë patjetër dua studentët e mi të vetëm merakosem për shkenca kompjuterike. Jo vetëm programimit, por të menduarit si një shkencëtar kompjuteri është me të vërtetë ajo që unë dua të të përpiqet për të mësuar studente tim. -CS50 Është e vështirë dhe të dobishme. Përvoja -Një. -Extravaganza. -Ajo Na ka sjellë në nivelin e ardhshëm. [MUSIC Duke luajtur] -The NGP janë, mendoj unë, gjaku i kursit. -Jam Ngazëllyer që të ketë studentët e mi që unë jam duke ndihmuar duhet që aha moment për të realizuar atë që ata janë në fakt duke u përpjekur për të bërë, të kuptoj se si për të bërë një pset. -CS50 Patjetër një kurs të vështirë. Por, ndryshe nga ndonjë tjetër Natyrisht me të vërtetë në Yale, ajo ka një të madh të tillë, komunitet mbështetës. -ju Absolutisht nuk nevojë të dinë asgjë në lidhje me kodim të jenë në gjendje të marrin kurs. -Është E mahnitshme për të parë se sa larg njerëzit vijnë në një semestër. -ju Nuk ishin vetëm ulur në dhomën tuaj të të mësuarit për të kodit, por ajo ishte më shumë se vetëm një klasë. Kjo ishte një përvojë. -The Mënyra më e mirë për të mësuar konceptet dhe për procesin e tyre është duke i mësuar të tjerët. -Çfarë Është ndarja e telefonit? [MUSIC Duke luajtur] -Dhe Kjo është CS50. [MUSIC Duke luajtur] -Kjo Është CS50. -Got Një problem? Tear atë në gjysmë. [MUSIC Duke luajtur] Hedhin atë larg. DAVID Malan: Të gjithë të drejtë. Pra, le të tackle-- në pak bit, që ra fjala, është e qenë kjo traditë për disa arsye për 10 vjet për të shërbyer tortë më së të fillojë dhe në fund të CS50. Pra, ju pret në fund të Sot, përveç programeve mësimore, do të jetë një tortë si dhe Stafi i kursit për të thonë hello. Por tani, le të tranzicionit të e parë e gjuhëve tona, ku ne do të shpenzojnë me të vërtetë vetëm një javë dhe një Problemi i vendosur në këtë fushë, Scratch. Dhe ju do të gjeni nëse ju keni programuar më parë, shumë i ideve dhe Mundësitë janë të njohura për ju. Por ju do të gjeni se kjo është kënaqësi gjatë rrugës të kuptoj se saktësisht se si për të përkthyer disa nga idetë që ju tashmë e dini në këtë mjedis të veçantë me të vërtetë përshtypje familjen tuaj dhe miq me punën tuaj, të cilat mund të shkoni online, nëse kështu zgjedhin, më pas. Dhe në qoftë se ju nuk keni Përvoja e para dhe janë të mesin e shumicës së nxënësit më pak të rehatshme, kuptojnë se shumë nga idetë që vetëm hulumtuar me gjëra reality-- si librat e telefonit dhe të pranishëm dhe kështu forth-- përkthyer mjaft të bukur në një kompjuter, por jo në qoftë se ju përdorni, fillimisht, një gjuhë si kjo. Pra, ky është një program i shkruar në një gjuhë të quajtur C. Dhe ne do të shpenzojnë mjaft e kohës në C, në fund të fundit. Por shanset janë, kjo do të duket pak i fshehtë për ju në shikim të parë. Në fakt, nuk është një shumë e pazakontë sintaksë, kllapa, kllapa kënd, formatimin e teksteve kaçurrel, kuotat dhe pikpresje. Dhe me të vërtetë, në qoftë se ju të zhyten në programimit për herë të parë duke kërkuar në dhe duke u përpjekur për të krijuar gjëra si kjo, sinqerisht, ju merrni të zhytur kështu aq shpesh në vetëm budalla minutia se nuk ka asgjë intelektualisht interesante në lidhje me të. Por imagjinoni nëse ju mund të krijojë po ky program-- e cila, si ju mund të lloj të konkludoj, ndoshta printime "Hello, bota", disi apo të tjera. Ne mund të gjej të njëjtin ide në vetëm dy copa mister, nëse ju do. Në të vërtetë, Scratch është interesante sepse kjo është kjo gjuhë grafike. Ju mund të drag dhe drop këto copa mister se vetëm bashkoj nëse kjo ka kuptim logjik për ta bërë këtë. Dhe kështu në Scratch, ne së shpejti do të shohim, kjo është se si do të zbatojë të njëjtën program, me vetëm dy copa puzzle që shumë e shumë të bëjnë atë që thonë ata. Por ne do të shohim në një moment të vetëm që disa nga blloqet e ndërtimit që aludoi për të parë dhe disa të tjerë janë të gjitha që në fund të fundit do të përbëjnë disa nga programet tona të hershme. Ne do të kemi gjëra si functions-- vetëm veprimet që bëjnë diçka, si thonë hello, bota. Ne do të kemi sythe, gjëra që nxisin ciklet përsëri dhe përsëri, ashtu si ne bëri një moment më parë me kërkimin për Mike Smith. Variablave, si në algjebër, në qoftë se ju kemi x apo y, që mund të ruajë një numër. E pra, në një program, ju mund të vërtetë të ruajë më shumë se vetëm numrat. Ju mund të ruajë fjalë dhe fjali dhe grafika dhe gjëra të tjera ende. shprehjet Boolean, vetëm questions-- po ose jo, e vërtetë apo e rreme. Kushtet, vendimet e bërë bazuar në ato po / jo përgjigje. Dhe gjëra atëherë njohës si array dhe temat dhe ngjarjet dhe çdo numër të tjera karakteristika, por të gjitha prej të cilave hartë shumë të bukur për shumë blloqe miqësore si kjo. Kjo do të jetë një funksion, një copë purple mister që vetëm i thotë: ajo që emri i saj is-- në këtë rast, thonë. Dhe pastaj shpesh, nuk ka një kuti e bardhë që ju mund të shkruani ose terhiqe disa vlera në. Dhe kjo është ajo që është në përgjithësi quajtur një argument ose një parametër. Kjo është një mënyrë për të ndryshuar sjellja e parazgjedhur e një mister pjesë ose një funksion në mënyrë që ajo ka diçka me porosi për ju pëlqen duke i thënë: hello, bota, hello, Andy apo hello, Jason apo ndonjë dënimi të tjera në vend. Nëse ju doni të thoni se a lot-- fjalë për fjalë për gjithnjë ju mund të marrë një tjetër copë puzzle quajtur përgjithmonë dhe vetëm sandviç dy së ​​bashku si kjo. Dhe kjo loop, si foto sugjeron, do të thotë vetëm të thonë hello, bota përgjithmonë, përsëri dhe përsëri dhe përsëri. Ose, në qoftë se ju vetëm do të bëjë atë një numër i caktuar i kohës, ashtu si 50 herë, atje do të jetë një tjetër mister copë për that-- përsëritur 50 herë. Ndërkohë, në qoftë se ju doni të ketë një ndryshore në këtë gjuhë jemi gati për të luajtur me të, ju mund të përdorni një bllok portokalli si kjo. Dhe kjo është e ndryshueshme I arbitrare i kërkova për numër të plotë. Dhe unë vetëm vënë atë të barabartë me 0. Dhe kështu që ndoshta unë, në këtë case-- këtë variable-- përfaqëson rezultatin e dikujt në një lojë. Ju filloni në zero, dhe çdo herë që të bëjë një gol ose diçka të tillë, që ju të merrni një pikë shtesë. Ju mund të bëni pyetje në Scratch. Nëse do të drag and drop puzzle pjesë në një moment si ky, ju mund të bëni pyetje të tilla si, mirë, është i më pak se 50? Ndoshta keni nevojë për 50 pikë të fituar. Dhe kështu kjo do të jetë pyetja që ju do të kërkoni. Ose, më në përgjithësi, ju mund të thonë se është më pak se x y, ku ka dy variablave të përfshirë? Tani, kjo është një shumë më e madhe në shikim të parë, por me të vërtetë jo të gjithë që më komplekse. Kjo është vetëm një kombinim e kushteve dhe variablave dhe shprehje Boolean për të kërkuar tre questions-- është x pak se y? Nëse është kështu, të them kështu. Thuaj, x është më pak se y. Tjetër, në qoftë se x është më i madh se y, tjetër x duhet të jenë të barabartë me y. Dhe ndërsa me Mike Smith, ka qenë katër skenarë, këtu në botën e numrave, x është ose më pak se, më e madhe se ose e barabartë me. Të gjithë ne kemi tre forks në rrugë. Dhe pastaj nuk ka njohës copa mister si kjo për gjëra të tilla si vargjeve, ku ne jemi do të jetë në gjendje për të ruajtur informacione. Ne jemi duke shkuar për të parë blloqe që lejojnë na për të zbatuar temat e shumta, tjetër tipar ne do të përdorim, dhe pastaj edhe diçka që quhet ngjarje. Por, para se ne të merrni për të cilat pikë dhe për të krijuar edhe më, në fund të fundit, vetë custom ynë copa mister, le të në fakt të hapur vetë programin. Pra, kjo është Scratch. Është në dispozicion në scratch.mit.edu. Dhe ju jeni të mirëpritur për të luajtur tani ose më vonë, po ashtu. Kjo ndodh të jetë offline version. Për njerëzit të cilët nuk e bëjnë domosdoshmërisht kanë internet të madhe, ju mund të shkarkoni njëjtën software, si dhe. Dhe nuk ka të vërtetë vetëm tre Komponentët për këtë softuer. Në këndin e sipërm të majtë të ekran është lloj i fazës së që Scratch, i cili si parazgjedhje duket si një mace, jeton brenda. Ai mund të lëvizin lart, poshtë, majtas, dhe të djathtë dhe të bëjë ndonjë numër të gjërave të tjera, dhe mund të shikoni ndonjë numër të mënyra të bazuar mbi kostumeve që ju të caktojë atij. Por kjo është ajo që ne do të thërrasë një sprite, një lloj karakteri. Dhe ju mund të keni të shumta karaktere, si ne së shpejti do të shohim. Në mes tani të gjitha këto puzzle pjesë dhe këto kategori ose paletës tyre. Deri tani, unë klikuar mbi Motion. Dhe kështu që unë jam duke parë të gjitha të lëvizje të lidhura me copa mister apo blloqe, kështu funksionet që kanë të bëjë me duke shkuar lart, poshtë, majtas, ose djathtas ose disa operacion tjetër. Por në qoftë se unë klikuar mbi duket, ju mund të shohin gjëra të tilla si bllok të themi që pamë vetëm një moment më parë. Dhe në qoftë se unë klikoni mbi Kontrollin, ju do të shihni gjëra si përsëritje dhe përgjithmonë dhe në qoftë se blloku ne pamë një moment më parë. Dhe kështu që ju do të gjeni që ne vetëm do të zeroja sipërfaqja e disa prej mister copa së bashku, por kjo është e gjitha mjaft intuitiv dhe pikë dhe klikoni. Në të vërtetë, Scratch është projektuar për nxënësit më të vegjël për të ndihmuar për t'u dhënë atyre një dalje për të menduarit kreativ. E megjithatë mrekullisht, është e një gur shkelën mrekullueshme të pikërisht idetë që ne jemi duke shkuar për të shqyrtuar në C dhe Python dhe JavaScript, gjithashtu. Në anën e djathtë, në fund, këtu është ky, të ashtuquajturin Scripts zonë. Dhe ky është vetëm propozoj bosh me të cilat ju filloni për të shkruar një program. Dhe unë do pikërisht këtë. Tani, Unë të ndodhë që të dini se ku gjërat janë sepse unë e kam bërë këtë disa herë. Por unë e di se në bazë të kategoria Events, ka ky bllok here-- kur flamuri gjelbër klikuar. Dhe vini re në qoftë se unë zoom jashtë dhe përsëri në mbi këtu në skenë, Jetët zeroja brenda këtij pak bota drejtkëndëshe, majë e cila është një green flamur dhe një shenjë të kuqe stop. Kështu që të shkojnë dhe të ndaluar, respektivisht. Dhe kështu çfarë unë dua të bëj kur se flamuri gjelbër është klikuar? E pra, më lejoni të shkoj me atë që duket kategori. Dhe më lejoni të shkoj përpara dhe drag and drop këtë. Dhe vini re sa më shpejt që ajo merr të ngushtë, ata janë lloj magnetike. Pra, nëse unë tani le të shkojë, ajo snaps së bashku bukur dhe të pastër. Dhe unë jam duke shkuar për të shkuar përpara dhe thonë diçka si hello, bota për dy sekonda. Më lejoni të zoom jashtë dhe klikoni tani flamuri gjelbër, dhe thonë hello, bota. Në rregull. Pra, kjo është e gjitha mirë dhe të mirë. Jo të gjithë që emocionuese. Le të bëjnë atë një cuter pak. Dhe unë e di se në paraprakisht, Scratch ndodh të vijë me disa gjëra cute si kjo. Pra, luajnë Meow shëndoshë deri bërë. Pra, le ta bëjmë këtë. [MJAU] Aw, kjo është adorable. Dhe në qoftë se unë click it again-- [MJAU] Dhe perseri. [MJAU] Por unë mbaj duke pasur të vë në jetë Scratch. Por unë mund të bëj më mirë se kjo. Pse nuk I vetëm zvarrit tre prej tyre. Dhe tani kjo është tre herë më adorable. [Meowing] OK, në fakt, është pak i mërzitur. Pra, ne kemi nevojë për diçka në mes atje. Nëse unë shkoj në kontroll, ajo duket si ka në fakt një bllok prisni. Dhe kështu që vini re në qoftë se unë rri pezull mbi there-- dhe më lejoni të bëjë këtë një pak më i madh. Nëse unë rri pezull, ajo do të parakohshme në vend. Kështu që prisni një të dytë, prisni një të dytë. Le të goditur flamurin e gjelbër përsëri. [Meowing] OK, pak më e natyrshme, por jo shumë efikase. Pra, kjo është e saktë, nëse programi tim Qëllimi ishte meow tri herë. Por kjo nuk është shumë e mirë-projektuar. I lloj të prerë disa qoshet. Kam marrë një pak dembel. Çfarë ndjen like-- çfarë mund të duket të kanë bërë keq, do të thoni? Po? Po, në mes. AUDIENCA: Përdoret më shumë kujtesës se sa ju nevojitet për të për shkak se ju jeni duke përdorur aq shumë linja të ndryshme. DAVID Malan: Yeah, kështu që më shumë rreshta. Dhe kjo nuk do të jetë domosdoshmërisht e kujtesës, edhe pse ajo mund të shihet si në këtë mënyrë. Por është definitely-- ka tepricë. Dhe unë fjalë për fjalë lloj i zvarritur dhe ra të njëjtat gjëra. Dhe në qoftë se ju lloj i extrapolate-- nëse kjo nuk është e qartë here-- mirë, se si do të I meow 30 herë? Unë do të drag and drop, si, 30 çifte më të puzzle copë. Dhe sigurisht, ka një mënyrë më të mirë. Dhe ne kemi parë një mënyrë më të mirë. Çfarë intuitive do të të jetë mënyra më e mirë? Yeah, vetëm përdorni një lak. Nuk ka kopje dhe paste. Dhe me të vërtetë, në çdo kohë këtë Semestri nëse ju filloni gjetur veten zvarritur dhe duke rënë, apo me të vërtetë kopjimi dhe pasting, zakon i rrezikshëm për të marrë në, sepse kjo nuk është vetëm shumë maintainable. Për shembull, në qoftë se unë dua të ndryshojë të shëndoshë për diçka tjetër, Unë kam për të ndryshuar atë tani në tre vende në vend të vetëm një. Sepse në të vërtetë, në qoftë se unë të thyer këtë away-- Jam vetëm do të decouple atë si kjo. Më lejoni të rrëmbyer një bllok të përsëritur, dhe pastaj klikoni tre, shkruani tre, hedhin disa nga këto larg nga vetëm lënë të shkojnë. Dhe pastaj vërejmë nuk duket si ajo i përshtatet, por magnetically, ajo do të parakohshme, jo vetëm në vend por të rritet për të përshtaten formën. Pra, kjo është e mirë. Dhe tani, në qoftë se unë klikoni luajë. [Meowing] Very nice. Në rregull. Dhe tani ajo është shumë e lehtë për të ndryshojë, gjithashtu, sepse unë mund vetëm të ndryshojë një numër në një vend. Por kjo, gjithashtu, nuk është të gjitha që interesante. Le fakt kanë Scratch nuk meow, por të lëvizin. Më lejoni të shkoj në Lëvizje dhe të lëvizin 10 hapa brenda of-- uh, më lejoni të rregulluar këtë. Më lejoni të ketë të lëvizin 10 steps-- në fakt, le të mos e përsëritur. Më lejoni të rrëmbyer një bllok të kontrollit, dhe bëni si më poshtë përgjithmonë. Forever, lëvizin 10 hapa. Dhe kliko Play. NE RREGULL. Kështu që fatmirësisht, ai ndalet. Përndryshe, fëmijët do të marrë mërzitur shumë kur ata lloj humbasin cat e tyre. Por të paktën unë mund të zvarritet atë përsëri në ekran. Por kjo nuk është e gjitha që i madh i një loje ose animacion. Ajo do të jetë mirë në qoftë se ndoshta ai e mori veten jashtë buzë. Pra, çfarë bëjmë ne? Çfarë konstrukt nuk kemi nevojë të kemi E para të vendosë për të kërcej, a mendoni, edhe në qoftë se ju kurrë nuk kam parë Scratch më parë? Po, në shpinë. AUDIENCA: Ju duhet një nëse bllok ose nëse-atëherë. DAVID Malan: Yeah, kështu që disa lloj qoftë bllok ose nëse-atëherë. Pra, në fakt, ne kemi një nga këto këtu. Pra if-- aq më lejoni të qafe e lëvizjes. Më lejoni të zoom kështu që është më e madhe. Pra, si në lidhje me këtë. Forever, nëse Sensing-- ne nuk e kemi parë këtë më parë. Unë kam nevojë për një shprehje Boolean. Dhe kjo rezulton në qoftë prekur atë? Nëse prekur buzë, çfarë unë dua të bëj? E pra, nëse unë kthehem në Motion, rezulton, oh, unë mund të kthehet rreth. Më lejoni të zvarritet kjo këtu. Pse nuk mund të shkojnë përpara dhe të kthehet rreth 180 gradë? Dhe tani, më lejoni vetëm të lëvizë në fund. Unë mund të vënë në lëvizje në fillimi apo fundi. Por logjikisht, çdo herë që unë të lëvizur, I dëshironi të shikoni, jam prekur buzë? A jam prekur buzë? A jam prekur buzë? Kështu që logjikisht unë kthehet rreth nëse është kështu. Pra, le të goditur të luajë. NE RREGULL. Pra, kjo është pak buggy, kështu që të flasin. Dhe një bug është vetëm një gabim në një program kompjuterik. Por të paktën ajo është duke punuar. Dhe në fakt, unë mund të shkojnë në këtu. Dhe më lejoni të bëjë atë jo 10 hapa në një kohë, por kjo është e gjitha animacion është. Kjo është e gjitha një karikaturë apo edhe një film është. Më lejoni të lëvizin 20 hapa në një kohë. Pra, 20 herë më shumë gjëra janë duke ndodhur një herë, apo dy herë më shumë, në këtë rast. Dhe ai është duke lëvizur shpejt. Më lejoni të ndryshojë në 30. 100. 1,000. Dhe kjo do të vërtetë të shpejtë. Dhe kjo is-- yeah, OK. Deri tani ne jemi vetëm messing me të. OK, kështu buggy. Por ne mund të drag atë nga rruga këtu. Por ne mund të bëjë më shumë argëtim me këtë, too. Si në lidhje me this-- ai është me kokë poshtë. Por kjo rezulton Scratch-- dhe nuk ka në të vërtetë, Më duhet të hedh poshtë, asnjë akademik Vlera për atë që unë jam gati për të bërë. Por në qoftë se unë të hapur mikrofonin, le të ndaluar atë dhe të bëjë diçka si kjo. Ouch! [Qesh] Kjo ishte adorable. Faleminderit. Tani, kjo është ajo që zëri im duket si kur unë bërtas ouch. Unë nuk mendoj se ne kapur qeshura tuaj. Eshte ne rregull. Më lejoni të ruani këtë si "uf". Le të ruani këtë si "ouch". Dhe tani ne do të kthehemi në Scripts. Dhe tani unë need-- le të shohim, Sound. Oh, luajnë uf shëndoshë. Pra, nëse unë jam prekur buzë, më lejoni para play ouch, dhe pastaj të kthehet rreth. Dhe tani le të vënë atë në mes. [Duke thënë "OUCH"] Dy herë më shpejt. NE RREGULL. Por është e vërtetë duke bërë atë që unë jam duke thënë. Pra, kjo është në fakt e saktë, është e vetëm pak i bezdisshëm shpejt. Pra, le të shtoni diçka më interesante për këtë. Më lejoni të vërtetë të hapur ajo që kam bërë më parë, quajtur me vend Pet Mace, që e bën këtë. Këtu është script këtu. Çfarë është kjo do të të bëjë në aspektin anglisht? Çfarë është kjo projektuar për të bërë? Po, le të shkojë some-- vërtet? AUDIENCA: Kur ju manar cat, ajo Meows. DAVID Malan: Yeah, kështu që kur ju manar cat, ajo do të meow. Pra, me fjalë të tjera, nuk ka tani a përgjithmonë loop ende, e kombinuar me një kusht, të kombinuara me një shprehje Boolean, e kombinuar me një çift e funksioneve, efekti nga të cilat, një herë kam luajtur ky program, nuk është asgjë ndodh deri sa unë të lëvizur kursorin afër dhe më afër dhe më afër and-- [MJAU] Atëherë kjo është si petting cat. [MJAU] Vetëm një herë ju në fakt lëvizur kursorin mbi të. Tani, edhe unë whipped up nuk e përkëdhelur macja, e cila e bën këtë vend. [Meowing] Pra, ai është vetëm vazhdimisht meowing. [Meowing] Por në qoftë se unë të marrë shumë close-- [Meowing] [Roar] Pra, si e bën këtë punë? Tani unë vetëm duhet një dy rrugë pirun në rrugë. Nëse prekur treguesin e miut, pastaj të luajë zërin luan. Tjetër vetëm të luajtur Sound Meow, dhe pastaj të presin tre sekonda deri se kjo është lloj i bërë shumë të tranquilly. Në rregull. Pra, kjo është kombinuar disa ide më shumë ende. Le të marrin një vështrim në këtë shembull I whipped up quajtur temat. Dhe kjo është krejtësisht ndryshme në atë që thekson një tipar i shumë gjuhë programimi të quajtur temat, aftësia e një programi për fjalë për fjalë të bëjë dy gjëra në të njëjtën kohë. Në të vërtetë, këto ditë në qoftë se ju jeni duke përdorur Google Docs apo Microsoft Word, dhe dokumenti juaj është vazhdimisht duke u spell-kontrolluar edhe si ju type-- ose goditur Command-P ose Control-P dhe diçka të shtypura, ajo është shtypje, ndërsa ju vazhdoni të shtypni. Programet sot mund të vërtetë të bëjë të shumta gjëra në të njëjtën kohë, ashtu si në Scratch këtu. Kështu që këtu, unë kam dy sprites tani, një zog dhe një mace. Dhe në qoftë se unë klikoni mbi secilin prej ato karaktere në një kohë, Unë shoh tani zogu-së scripts në krye të drejtë. Tani unë shoh cat-së. Bird-së, cat-së. Pra, secili prej tyre kanë shkrimin e tyre. Por njoftim, ajo copë mister e ata të dy fillojnë me? Kur flamuri gjelbër klikuar. Dhe zogu, kur flamuri gjelbër klikuar. Kështu që kur unë klikoni flamurin e gjelbër, të dy këto Scripts ose programeve do të kandidojë në mënyrë paralele. Dhe ju do të vëreni se zogu është vetëm mindlessly kërcim off buzë. Macja në mënyrë të qartë ka qenë e programuar me një avantazh strategjik. And-- [Roar] Në rregull. Pra cat kapur të shpendëve në këtë rast. Pse eshte ajo? E pra, njoftimi i parë ne vetëm duhet zog vetëm mindlessly shkuar në këtë vend të parë, dhe më pas përgjithmonë, nëse nuk është prekur cat, vetëm lëvizin. Dhe në qoftë se ju jeni në buzë, fryrje. Dhe vetëm lëvizin. Dhe nëse ju jeni në buzë, fryrje. Por cat, ndërkohë, ka disa logjikën shtesë që thotë se this-- parë, vetëm kështu se kjo nuk është plotësisht i njëanshëm kundër zog, vëreni se unë kam përdorur një copë të gjelbër mister ka që në fakt zgjedh një numër të rastit. Një tipar i shumë gjuhëve është për të dhënë ju numrat e rastit apo pseudorandom. Pra, në këtë rast, macja në fillim zgjedh një numër të rastit në mes, si, 90 gradë dhe 180 gradë, në thelb, kështu se ka pak e grindje. Dhe pastaj përgjithmonë, nëse prekëse zog, luajnë të shëndoshë luan. Përndryshe, vetëm pikë në drejtim të zogut. Pika drejt zog. Pika drejt zogut, e cila është një puzzle copë në vetvete në këtë rast. E pra, ne mund të bëjmë një gjë tjetër këtu. Më lejoni të hapur programin ngjarjet këtu. Dhe këtu ne përsëri kemi dy sprites, të cilat duken si dy kukulla këtu. Dhe ajo që është interesante këtu është kjo. The guy orange ka këtë vendosur e puzzle copë këtu. Forever bëjë following-- nëse bar hapësirë ​​është i shtypur, pastaj thonë: Marco, dhe pastaj transmetuar një ngjarje. Dhe ndërkohë, djali blu këtu ka this-- kur ju të merrni në këtë ngjarje, thonë Polo. Pra, ajo rezulton në Scratch dhe në gjuhë të tjera, ka mënyra për dy programe ose dy scripts, në këtë rast, të komunikoj në mënyrë që kur kam goditi space bar, ai thotë Marco. Dhe një tjetër dëgjon që, në mënyrë të flasin, dhe thotë Polo në përgjigje. Kështu që ju mund të shkruani programe që në fakt bashkëveprojnë në këtë mënyrë. Dhe në qoftë se unë bëj këtë një vend, Unë mund të shtoni edhe variabla, vetëm duke përdorur një sprite në këtë rast. Kjo është veçanërisht i bezdisshëm. [SEAL leh] Tani, njoftimi për të drejtën ne kemi marrë disa logjika shtesë mbi këtu. Si mund të ndaluar këtë vulë nga leh? [SEAL leh] Ajo duket si në të djathtë Ana është ajo që është duke luajtur të shëndoshë. Por kjo është vetëm duke luajtur një shëndosha në qoftë se ajo është e vërtetë? Në qoftë se një portokalli variable-- block-- mbytur është zero. Si mund ta ndryshoj mbytur të jetë 1, që do të thotë e vërtetë, e bëjnë këtë mbytur? Me sa duket, dorëshkrim tjetër, unë mund të goditi space bar, dhe tani ai ndalon. Pra, ne mund të kemi këtë ndërkomunikime të gjithë Scripts, si dhe, vetëm me ndarjen e një ndryshore nëpër dy si kjo. Tani, kjo nuk është e gjitha se interesante. Le të shkojnë përpara dhe të bëjë këtë dhe të kombinuar shumë nga këto ide me këtë program këtu. Para se të bëjmë këtë, edhe pse, si në lidhje me një vullnetar? Më lejoni të marrë presion off për mua, sepse unë nuk të vërtetë luajnë këtë lojë. Le të ketë dikush ne nuk kanë parë më parë. Ju duhet të jenë të rehatshme vijnë deri në skenë këtu, në kamera. OK, eja up. Shumë i guximshëm. Si e ke emrin? IDRIS: Idris. DAVID Malan: Na vjen keq? IDRIS: Idris. DAVID Malan: Idris, nice to meet you. Eja up. Dhe tani, për vetë celularin tuaj telefon, ju të luajnë Pokemon GO? IDRIS: Jo. DAVID Malan: Really? IDRIS: Po. DAVID Malan: OK. Në rregull. E pra, nice to meet you. Ejani në më shumë. Unë nuk e bëjnë as. Pra, ne do të kuptoj se bashku se si të luajtur këtë, të cilën dikush në fakt shkoi dhe zbatuar në Scratch duke ndryshuar mace në thelb karaktere të ndryshme të gjithë së bashku. Dhe në qoftë se unë ekran të plotë këtë këtu, ne jemi duke shkuar për të parë lojën e mëposhtme së bashku. Ende ngarkimit, ende të ngarkimit. Eja. Më lejoni të bëjë këtë. Eja. Kjo lojë është aq i madh se ajo u rrëzua. Stand by. Provoni këtë herë më shumë. Eja. Në rregull. Atje shkojmë. NE RREGULL. flamuri gjelbër. Pra, këtu ne do të shkojmë. [MUSIC Duke luajtur] Zgjidhni nivelin e mesme këtu. Kliko djalë blu atje. Në rregull. Dhe ju mund të përdorni arrow keys-- lart, poshtë, majtas, djathtas. Tani, le të konsiderojmë si ne this-- dhe pastaj të shkojnë pas karakterit atje. Yep. Tani klikoni atë me miun. Oh, po. Leviz. Ku është shigjetë? Këtu ju shkoni. Pra klikoni mbi atje. Po. Në rregull. Deri tani, unë jam duke thënë se ju keni një top Poke, se nëse click it, ajo do të bëjë atë. Shume mire. Në praktikuar për sot, unë gjetur këtë version të lojës së në fakt nuk është shumë e vështirë. Pra, nëse ju doni të shkoni përsëri këtu, ecin poshtë në këtë top thes. Dhe pastaj të shkojnë të marrë një të drejtë. Provoni duke klikuar mbi të. Oh, në të vërtetë, kjo është dyqan, me sa duket. OK kështu që të mbyllet. Asnjëherë bërë që më parë. Ndoshta të shkojnë deri në këtë gjë këtu. Oh, ju shkoni atje. Prisni, ka një atje. Oh, ka një tjetër. NE RREGULL. Poshtë. Po, klikoni. OK, kjo është shumë e bukur. OK, bërë shumë mirë. Kjo lojë nuk është shumë e vështirë. NE RREGULL. Urime. Këtu, ne kemi një CS50 topin e stresit për ju. Por e konsiderojnë për vetëm një moment se çfarë disa prej takeaways janë atje. Më e lehtë se sa lojë e vërtetë, me sa duket. Por të gjithë ne kemi shkuar këtu është një karakter që ndoshta ka një lloj e lak lidhur me të. Kjo nuk është një mace. Është ky karakter në vend. Dhe kjo është vetëm loop vazhdimisht duke thënë, në qoftë se deri shigjetë presion, nëse shigjetë poshtë presion, nëse shigjeta majtas ose djathtas presion shigjetë presion, të shkojë deri ose poshtë ose majtas ose djathtas. Ose në qoftë se ka një tjetër copë puzzle atje që thotë se kur të prekur një sprite, kur prek një nga personazhet për topin Poke, në qoftë se prekur, pastaj të bëjë këtë. Kështu që të gjitha idetë që kemi përdorur deri tani me të vërtetë vetëm mund të aplikohet në këtë të veçantë kontekstuale për të luajtur këtë lojë, po ashtu. Më lejoni të shkojnë përpara dhe të tërheqë up një tjetër këtu, në fakt. Më lejoni të shkojnë përpara dhe të tërheqë up, le të themi, kjo. Kjo është diçka që ne feat. Bërë nga një prej tonë studentë në Kembrixh, dhe më pas unë shkova me dhe ndryshuar shumë e shumë çdo shembull i Harvardit të Yale këtë herë. Dikush do të donte të konkurrojnë kundër Ivies këtu në një akumulimin të gjitha këto ide? Eja poshtë, po. Si e ke emrin? DINA: Dina. DAVID Malan: Adina? DINA: Dina. DAVID Malan: Dina, vijnë më poshtë. Të gjithë të drejtë, Dina. Pra, kjo loja merr vështirë dhe vështirë, sepse në këtë lojë, ka variabla duke u përdorur si që janë vazhdimisht mbajtja e çfarë niveli ju jeni në lojë. Pra, nice to meet you. Eja këtu. Dhe kështu qëllimi këtu është për të zgjidhur të bëjë rrugën tuaj përmes një labirint se ky studenti zbatuar. Dhe vetëm për të vendosur bazat, çdo nga këto foto në ekran është sprite e vet, karakterin e vet. Pra, këto ishin nga macet e parazgjedhur, por studenti ndryshuar ato me logot e ndryshme Ivies këtu. Dhe pastaj ju do të shihni se vetëm duke përdorur kushtet dhe unazore dhe funksionet dhe më shumë, ju merrni këtë. [MUSIC Duke luajtur] [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Po, OK. Po, do të mbajë. Niveli i parë është shumë e lehtë. Ju keni marrë vetëm për të shkuar atje. Por përsëri, e konsiderojnë, kjo është vetëm një loop dëgjuar nga shigjeta keys-- lart, poshtë, majtas, djathtas. Dhe tani një bllok sensing. Very nice. [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Very nice. [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Very nice. Goxha e lehtë, Crimson. Në rregull. Levels-- uh-oh. [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Dhe përsëri, në këto tre kreshta e Harvardit, ju vetëm duhet logjikën duke thënë se në qoftë se në buzë, fryrje. [MUSIC - MC HAMMER "U MUND e prekni  KJO "] OK, çfarë jeni duke bërë është më interesante se pse. Very nice. Very nice. Uh Oh. [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Unë mendoj se ju duhet të sakrifikojë veten. [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Quick! [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Bukur. Eshte ne rregull. Ju do të merrni atë. Po, po! Very nice. [Brohorisnin] [MUSIC - MC HAMMER "U MUND e prekni  KJO "] E bukur! [MUSIC - MC HAMMER "U MUND e prekni  KJO "] E kuptova. Eja! Së dyti për nivelin e fundit. [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Në rregull. [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Po. Përdorimi i mirë i variablave këtu. [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Po. [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Bukur. [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Është në rregull. Ne morëm për të marrë në fund. Atje. Oh! [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Mund të kandidojë në fund sot, por kjo është gonna të jetë e vlefshme. [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Ti mund ta besh! Po! [Brohorisnin] [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Kjo është me të vërtetë e vështirë. [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Ne do të ju jap dy jetë më shumë. Mund të bëni atë? [MUSIC - MC HAMMER "U MUND e prekni  KJO "] Në rregull. Si për një raund të madh e duartrokitje megjithatë. Ju mori për të dytin në nivelin e fundit. Faleminderit. [DUARTROKITJE] Pra, kjo është vetëm për të thënë se sa ju mund të bëjë me këto lloje të gjëra. Dhe të kuptojnë, gjithashtu, se kur copa mister nuk exist-- dhe në të vërtetë, kjo do të jetë një e fuqive me problemin e parë vendos dhe beyond-- është që të në fakt të krijojë tuaj. Dhe kjo është vetëm një copë e njërit prej shembujt ju do të jetë në gjendje për të luajtur me online, ku në qoftë se ju nuk e kanë ndërtuar në Scratch diçka si një copë puzzle kollë, ju mund të vërtetë të bëjë atë vetë. Dhe kështu të gjithë këtë dhe më shumë pret. Dhe vetëm për të pikturuar një finale foto e vërtetë çfarë është përpara në dyqan për klasën për ju, bazuar në disa fotografi nga shokët e klasës kaluarën, më lejoni të zbehtë dritat një herë të fundit dhe për të ju tregojnë CS50. [MUSIC Duke luajtur] Në rregull. Kjo është ajo për CS50. Cake është shërbyer tani. [MUSIC Duke luajtur]