KRYETARI: Unë jam [e padëgjueshme]. Dhe unë jam një i lartë në Leverett House. Unë studiuar shkenca kompjuterike, dhe unë jam një TF për CS50. Si një studente, edhe unë nuk kanë një kompjuter portativ ose një smartphone. Unë nuk kishte asnjë përvojë programimit. CS50 ishte kursi më të paharrueshëm se Unë mora në Harvard, sepse ajo ishte një luftë, por ajo ishte me të vërtetë një Lufta fun në të njëjtën kohë. Dhe kam bërë shumë, të përhershme mahnitshme miqtë, dhe mësova shumë prej të vërtetë aftësitë e aplikueshme. Unë jam vetëm aq i kënaqur që unë nuk e lejova mia Mungesa e sfondit të jetë një justifikim për mua nuk marrin CS50. Unë jam [e padëgjueshme]. Unë jam një i lartë në Leverett House, klasa e 2014. Dhe e mora CS50. DAVID Malan: Pra, kjo është CS50. Ky është fundi i javës zero. Dhe kujtojnë ku ne filluam herë të fundit, ishte me këto llambat, të cilat ishin kaq popullore që ne shkoi dhe bleu disa më shumë sot. Kështu që unë mendoj se kjo do të jetë Gjëja tonë këtë vit - llambat tavolinë nëse keni dalë në skenë, të paktën deri sa ne të drejtuar nga. Por, ne kemi përdorur këto risjell, për të futur bazat e përfaqësimit të të dhënave. Ne kishim nevojë për të filluar rrugën e përfaqësuar informacioni në brendësi të një kompjuter. Dhe mënyra më e thjeshtë për të bërë këtë ishte me një përbërës, të energjisë elektrike. Dhe gjëja më e thjeshtë që ju mund të bëni me energjisë elektrike është kthejnë atë në dhe jashtë. Le rrjedhën e elektroneve apo jo. Dhe duke përdorur këto dy shtete themelore, off dhe on, ose false dhe e vërtetë, ose zero dhe një, kemi filluar të shohim se ne mund të ndërtojmë lart, në këtë rast, me dritë llamba, numra më shumë se vetëm zero dhe një. Ne të numëruara aq i lartë sa shtatë, për shembull, koha e kaluar. Por të gjithë ne duhet të bëni është të mbani hedhur llamba e më shumë dritë në atë problemi dhe, me të vërtetë, ne mund të përfaqësojë çdo numër që ne ndoshta mund të duan. E pra, ne kaloi shpejt atëherë më Të mërkurën për këtë bajt e vullnetarëve. 8 bits është ajo që ne zakonisht e quajmë një bajt, kështu që këtu kemi pasur tetë vullnetarë të mërkurën të cilët kolektivisht ishin përfaqësojnë tetë bit. Dhe kur duart e tyre shkuan up, ata ishin një. Dhe kur duart e tyre ishin poshtë, ka qenë një zero. Dhe ne kishim këto folks dalë më Pse skenë? Ajo që ne jemi në gjendje të bëjmë me Kjo sekuencë e bit? Për të krijuar një alfabet. Ne ishim në gjendje për të ndërtuar në krye të kësaj Mësimi mëparshme mësuar dhe në fakt të fillojë të bëjë më interesante informacion qe eshte te pakten më njohur për ne njerëzit. Dhe kjo do të jetë një e përsëritur Tema të gjithë 50, por edhe kompjuteri shkenca më në përgjithësi, kjo ide e Shtresëzim, ku, në fund të ditë, nëse ju me të vërtetë ka filluar bazat me një kompjuter, po, kjo është zero dhe ato. Dhe se kjo është nën vetëm të energjisë elektrike. Por, ne shumë shpejt të fillojë të marrë ato Detajet e nivelit të ulët për të dhënë dhe të fillojnë të shtresës në krye të kaluarën punuan bërë në mënyrë që ne, në fund të fundit, nga fundi i semestrit dhe, vërtetë, më përgjithësisht si shkencëtarët kompjuterike dhe programuesit, mund të bëjë disa të vërtetë gjëra të fuqishme nga leveraging punën që ne vetë e kemi bërë dhe gjithashtu duke qëndruar mbi supet e të tjerëve. Tani ne shpejt kaloi të mërkurën nga thjesht kanë nevojë për paraqesin informacione të dashur të bëjë diçka me të. Pra, çfarë ka ne define si një algoritmi? Një seri e udhëzimeve. Pra, kjo është një seri e udhëzimeve, një Numri i hapave që ju, një e njeriut, ose një kompjuter, më tipike, do të ekzekutojë njëri pas tjetrit në mënyrë për të arritur disa qëllime. Dhe Ne patëm një kohë disa gola fundit, njëri prej të cilëve ishte për të numëruar njerëz në dhomë. Dhe një tjetër shembull i tillë ishte për të gjetur Mike Smith në librin e telefonit. Kështu që ju mund të kujtojnë se unë grisi një telefon libër në gjysmën drejt këtij qëllimi up gjetjen e Mike Smith. Qëllimi i kësaj ishte që vizuale demonstrojnë, përsëri, se ne ishim fjalë për fjalë marramendës këtë problem në gjysmë, në gjysmë, në gjysmë, dhe shumë shpejt duke shkuar nga 1.000 faqet si në vetëm një faqe të vetme. Ata prej jush që e humbi këtë në E mërkurë, unë mendova që ne do të luajë përsëri disa pamjet e asaj që keni humbur. Le të marrë një sy. [Video playback] -Nuk shkojmë. 1500 faqet, linjë Nisë të pastër, lot legjitime. [VIDEO END rishikim] DAVID Malan: Kështu që ishte të mërkurën. Ne tranzicionit, megjithatë, të mërkurën tani për të dashur për të përfaqësuar algoritme në një farë mënyre disi standarde, jo vetëm duke i përshkruar ata verbalisht, por duke u përpjekur për të shprehur ato me shkrim ose në një ekran kompjuteri në mënyrë që ne të mund të fillojnë për të përmirësuar mbi të, dhe të modifikojë ata, dhe, përfundimisht, në të vërtetë analizuar se sa e saktë ose sa shpejt ata ishin. Pra, ne kemi prezantuar këtë nocion i pseudokod, i cili, në kushtet e laik, është ajo? OK, fjalët. Le të shkojmë pak më thellë se kaq. Anglisht, i sigurt, por janë të drejt ç'qëllim? Fjalët me të cilat për të krijuar ose për të përfaqësuar algoritme. Pra, nuk ka një gjuhë të njohur si pseudokod në të botës. Është vetëm se ju, në anglisht, ose çdo gjë që gjuha juaj e folur është, përdorin një lloj simbol i përciptë për të përcjellë një ide shumë shkurtimisht. Por ne do të shohim se, sigurisht me një Pseudokod anglisht, dhe kjo rezulton gjuhët më të programimit vetë janë derivat i gjuhës angleze në vetvete, ne do të gjeni se ka disa standarde mënyra për të përfaqësuar pseudokod dhe edhe kodin e programimit. Pra, si ju filloni për të parë edhe më të thjeshtë shembuj Sot, realizojnë këto njëjtat modele do të përsëritet javën e ardhshme. Pra pseudokod ishte një lloj i gjuhës ngjan një gjuhë programimi. Dhe shembulli i parë ne pamë me sy shkruar ishte kjo një. Ajo ishte vetëm një program tre hap, qëllimi i të cilit ishte për të numëruar numrin e njerëzve në një dhomë fjetore për që video të mërkurën. Por ka pasur disa aspekte interesante i këtij programi të thjeshtë. Dhe kjo do të jetë tema përsëritura. Pra, për ata që janë të panjohura me kjo, një, ne kemi prezantuar një ndryshore. Dhe ndoshta të gjithë në këtë dhomë është njohur me një variabël në Konteksti i algjebër. Por këtu në programimin, variabla janë, një, mund të jenë quhet çdo gjë që dëshironi. Ne kemi qenë duke përdorur n si një banak. Por ne mund të përdorni counter fjalë, ose, si ju do të shihni, shumica e ndonjë frazë që ju mund të pëlqen aq kohë sa është e përshkrues, por kjo është me të vërtetë vetëm një enë magazinimit. Kjo është një copë e kujtesës, numrin e disa bit, dhe kjo ndryshon nga kompjuter, se si bit shumë atje janë se compose se ndryshueshme. Por ne mund të vënë në vlerat e saj. Deri tani, ne kemi vënë vetëm numra. Por ne mund të vënë fjalët aktuale. Ne mund të vënë paragrafë. Ne mund të vënë imazhe - çdo gjë, me të vërtetë, ne mund të përfaqësojë me zero dhe ato, ne mund të vënë në ky nocion të nivelit të lartë e një variable. Pra mjaft i drejtë përpara atje. Dhe kjo është një linjë. Por, ne shumë shpejt lëvizur më nga një linjë të bëjë në fakt diçka me atë variabël. Dhe në përputhje tre, ne kemi përditësuar N. Ne incremented N. Dhe ne mund të shkruaj këtë ndonjë numër të mënyra. Por ndoshta më i dukshëm është vetëm për të thënë, të vendosur N barabartë me çfarëdo N është plus 1. Kështu që ishte rritja tonë. Ndërkohë, ka pasur një lak. Dhe kjo, gjithashtu, është ndoshta mjaft intuitiv. Një lak është vetëm diçka në një program kjo ndodh përsëri dhe përsëri, disa lloj i ciklit. Dhe kjo frazë kyçe këtu, për secilin, është në fakt shumë më të zakonshme në të gjithë gjuhët e programimit, duke përfshirë ato që ne do të shohim në kurs. Çdoherë ju shihni fjalën për të, ajo zakonisht përçon idenë se një loop, diçka ciklike, është gati të ndodhë. Por kjo vlen të përmendet një hollësi tjetër sintaktik. Fakti se Linja e tretë e ka prerë në fakt duke goditur bar hapësirë ​​disa herë është e qëllimshme. Sepse konventë e njeriut është e tillë që, kur ju jeni duke bërë diçka përsëri dhe përsëri, në një lak, filluar si on line dy, ju porosit çdo gjë që i përkiste në atë lak vetëm për të bërë të qartë se kjo është linja tre dhe jo, për shembull, Linja katër ose pesë, nëse ka pasur linja për pesë, ose që janë pjesë e asaj sythe. Pra, kjo vulë e thjeshtë përcjell këtë ide themelore. Pra, ne kemi aplikuar këtë algorithm, tani, për disa shembuj. Dhe kjo, gjithashtu, shembull i thjeshtë në botën reale. Por kjo do të jetë përfaqësues i se si ju do të shkoni në lidhje me testim tuaj zotërojë programet gjithnjë e më komplekse. Ju provoni një skenarë disa, disa përfaqësues inputet, dhe shihni nëse ju të merrni rezultatet e dëshiruara. Pra ky shembull kishte dy njerëz ulur në dhomë fjetore. Në të majtë është se pseudo kodin e njëjtë. Dhe kjo është një e shtënë ekran të shumë të Hapi i fundit i aplikimit të kësaj algoritmi të këtyre inputeve, ku ka ishin dy njerëz në dhomë dhe, kujtojnë, si ne hap përmes linjave një, dhe dy, tre, dhe dy dhe tre dhe bërë - deri në fund të atij algorithm, ne kishim numërohen me të vërtetë dy bursistët që janë në dhomën. Pra, atëherë ne u përpoq një shembull tjetër. Dhe ne i thamë çka nëse ekzistojnë zero njerëz në dhomë? A është ky kod ende të sakta? Dhe me të vërtetë kjo ishte. Kjo ndodh pikërisht kështu që dy linjë dhe, kështu, linjë të tre ose nuk shkojnë për të ekzekutuar. Ata nuk do të ndodhë në të gjitha sepse ata nuk janë të zbatueshme vetëm nëse ka zero njerëz në dhomë. Por jo një punë e madhe. Një linjë N initialized në zero, kështu që edhe pse vetëm një linjë e kësaj Programi në të vërtetë përfundon duke qenë të dobishëm, ajo ende jep përgjigjen e saktë, si tregohet nga portokalli zero në fund. Por pastaj ne kemi vendosur se ishte lloj i një algoritmi stupid. Ajo ishte mjaft i ngadalshëm. Sigurisht, unë mund të bëj dy, katër, gjashtë, tetë, dhjetë, kur numërimit njerëzit në një dhomë. Pra, ne kemi tweaked algoritmin, pseudokod, për të thënë, tani në përputhje dy, për secilën palë të njerëzve në dhomë, të vazhdojë të, në përputhje tre, rritje në nga dy për çdo përsëritje. Kështu që do të ketë punuar këtu për kjo palë e personave në dhomë. Por pastaj, nëse ju filloni të menduarit rreth këtë, dhe ajo nuk ka marrë kohë për të kuptojnë, prisni një minutë kjo është duke shkuar për të thyer, ai e thyen në çfarë çështje e thjeshtë? Nëse ka tre persona në dhomë, ose, më në përgjithësi, kur ka një numër i rastësishëm i njerëzve në dhomë, duke përfshirë edhe një. Ne do të humbas atë person këtu, sepse nuk ka palë të tilla. Pra, ne shpejt të drejtuar nga vend futur ajo shtesë konstrukte programimi me kodin pseudo. Pra një kusht, kemi quajtur kjo, ose nje dege. Dhe kjo është për qëllim të përcjellë, vizualisht, Ideja e degës, një pirun në rrugë ku ju mund ta bëni këtë ose, ndoshta, diçka tjetër. Dhe vërtet, ne kemi adresuar këtë çështje duke duke shtuar linjën 4, duke thënë, me të vërtetë, në Fundi shumë, në qoftë se një person mbetet, pastaj të shkojnë përpara dhe të llogarisin ata të veçantë. Pra, ju lloj i tyre rast i veçantë, kështu që për të folur, kështu që tani ne mund të trajtojë si edhe një numër i njerëzve dhe një numër i rastësishëm i njerëzve. Tani ka ndonjë numër mënyrash ne mund të kemi shprehur këtë. Dhe sinqerisht, unë mund kam qenë edhe më NIT picky kur ai erdhi për zgjedhjen time të Anglisht për pseudokod. Por të paktën fryma e Ideja është e përcolli. Nëse ju dorëzua këtë kod për një mik i cili nuk është në CS, ose kurrë nuk ka marrë CS, shanset janë se ata mund të kuptoj, dhënë tre persona në dhomë, si për llogarisin ata njerëz të bazuara në këto udhëzime. Dhe kjo është e gjitha me të vërtetë duam të arrijmë me pseudokod, disi standardizojnë mënyrën se si ne jemi duke shkuar për Idetë që përfaqësojnë në mënyrë që ne mund të të fillojë të bëjë më shumë e komplikuar gjë ende. Kështu që na çon atëherë, sot, në kodin aktual. Ne fillojmë të programojnë sot, megjithëse në një mjedis miqësor. Dhe pastaj ne tranzicion shumë shpejt për të një sintaksë më misterioze, por ai që ju do të shihni është krejtësisht e njëjtë si idetë e do të shohin manifestohet me kjo gjuhë të tjera sot. Është vetëm do të shikojmë pak më ndryshe. Pra, në vend se vetëm quajmë këtë kod, unë jam do të jetë pak më të saktë dhe thonë se, tani e tutje, kur shkrim një Programi, jeni të shkruar kodin burimor. Kjo është lloj i si pseudokod. Por ne do të shohim se kjo nuk është lloj i të lirshme kur është fjala për zgjedhjen e fjalëve që ju përdorni. Kur programing në një gjuhë, ju keni të përdorin fjalët, frazat, sintaksë, që njerëzit e tjerë kanë vendosur të paraqesin se gjuha veçanti. Pra pseudocodes është deri te ju. Një gjuhë programimi aktuale si C, si ne përfundimisht do të shohim, është standardizuar nga njerëzit e tjerë. Pra, si do të shkojmë në lidhje me shkrim disa kod burim? E pra unë jam duke shkuar për të shkuar përpara dhe të bëjë këtë. Unë jam duke shkuar për të shkuar përpara dhe hapur një dritare këtu. Më tepër në këtë javën e ardhshme. Por kjo është një pajisje e quajtur CS50 aplikim. Unë jam drejtimin e një pjesë e software në mia Mac, edhe pse ju mund të bëni të njëjtën gjë në një kompjuter Windows, që është duke i dhënë mua drejtimin e një iluzioni të ndryshme sistemit operativ krejt e drejtë këtu në një dritare në Mac tim. Unë sapo kam plot shfaqën atë kështu që ju nuk e bëni shikoni në fakt Mac OS drejtë tani. Ky është një sistem operativ e quajti Linux. Është shumë e popullarizuar. Është shumë e shpejtë. Është shumë e lirë, e cila e ka bërë atë shumë të bindëse, veçanërisht në Bota komerciale. Dhe më shumë se kah fundi i Semestri kur ne përdorim Linux mjaft pak për programimin e web dhe hosting faqet e internetit aktuale dhe projektet. Deri tani, vetëm e di se kjo është një desktop që është menduar për të duken paksa njohur për Windows dhe Mac OS. Ajo vetëm ka disa emra të ndryshëm dhe ikona për gjëra. Por kjo është e ashtuquajtura CS50 aplikim, një makinë virtuale që, duke filluar nga java e ardhshme, ju djema do të drejtuar në brendësi të një dritare on Mac apo PC tuaj. Për sot, unë jam duke shkuar për të hapur thjeshte e programeve. Ajo që quhet gedit. Dhe kjo është vetëm një editor grafik. Kjo është lloj i si Microsoft Word, por thjeshtë. Kjo është lloj i tekstit si edit ose Notepad. Është vetëm një program shumë i thjeshtë me e cila për të shkruar fjalët në ekran. Është pikërisht kështu që çfarë ndodh në qoftë se unë ruaj fotografi që kam krijuar, kur ky program në një shtrirje të veçantë si. c, në vend i. doc, ose. XLS, ose çfarëdo ju jeni të njohur me të, unë mund të vërtetë krijuar programe duke përdorur edhe kjo e thjeshtë editor teksti. Pra më lejoni të bëjë këtë. Më lejoni të shkojnë përpara dhe për të shpëtuar këtë Dosja e parë si hello.c. Dhe përsëri, ky user interface do bëhen të njohura për ju shpejt. Por tani për tani, unë jam vetëm duke shtypur në një emër file. Unë jam duke shkuar për të shpëtuar atë në Gjonit tim Harvard Business Directory shtëpi. Dhe tani unë kam këtë tab që tregon Unë jam me të vërtetë redaktimi një file i quajtur hello.c. Pra, asgjë tepër interesante ende. Dhe tani ajo do të të merrni mjaft i mistershëm. Unë jam duke shkuar për të zoom në, vetëm kështu që është më e dukshme. Dhe unë jam duke shkuar për të filloni të shtypni përfshijnë stdio.h, int kryesor, i pavlefshëm, i hapur kaçurrel shtrëngoj, një, dy, tre, katër hapësira kryeradhë e, f shtypura për shtyp diçka e formatuar, mbyll thonjëzat quote, "Hello, World" backslash, n, afër , të japin kuotën kllapë të mbyllur, pikëpresje, Enter, Backspace Backspace Backspace,, Backspace, të mbyllura Brace kaçurrel - Unë kam programuar. Të gjithë të drejtë kështu që kjo është një e thjeshtë super , program me të vërtetë, program që dikush fillon me programimin. Dhe të gjithë e bën atë, për të gjithë kompleksitetin e saj, është të shtypura jashtë në ekran, me mend se çfarë? Përshëndetje Të Gjithëve. Por kjo nuk është e mjaftueshme vetëm për të shkruar një program. Pra, kjo është kodi. Ky është kodi burim në një gjuhë e quajtur c. Është e shpëtoi aktualisht në një file i quajtur hello.c. Tani shikoni në pjesën e poshtme i ekran këtu. Më shumë për këtë, përsëri, në javët që do të vijnë. Por kjo është ajo që ne do të thërrasë një dritare terminali. Kjo është një keq, e zezë dhe të bardhë të shpejtë. Kjo është lloj i një ndërfaqe të shkollës së vjetër të një kompjuter që përgjithësisht nuk përdorni miun apo të tjera elementet grafike. Ajo thjesht përdor tastierën tuaj. Dhe unë mund të shtypni komandat në kjo keq shpejtë. Dhe për qëllime të sotme, unë jam vetëm do të shkruash në vijim - bëni përshëndetje. Dhe se programi, të bëjë, është vetëm një program që, në botën reale këto ditë, ne do të klikoni dy herë mbi. Por në këtë ndërfaqe për sot, ne jemi do të shkruash emrin e saj në këtë të shpejtë. të bëjë përshëndetje është fjalë për fjalë do të të bëjë më një program të quajtur përshëndetje. Dhe kjo do të bëjë kështu duke për një fotografi, vetëm duke parazgjedhur, i quajtur hello.c. Ajo do të supozojmë Unë dua një program C nga natyra se si ky kompjuter është konfiguruar. Kështu që unë shkoj përpara dhe e goditi të hyjë. Unë shoh disa dalje lakonike, por kjo do të bëhen të gjitha shumë njohur para se të gjatë. Kjo ka ndodhur për të drejtuar një përpilues, më shumë se në një moment, i quajtur tingëllimë. Por tani, unë kam marrë vetëm një tjetër keq të shpejtë. Dhe unë mund të shkoni përpara dhe tani shkruani dot çaj, për arsye jointeresante ne do kthehen në javën e ardhshme - përshëndetje. Pra, të gjitha këto përpjekje deri tani vetëm për të shkruaj thjeshtë e programeve që, sa më shpejt që unë hit Enter, e bën këtë. Kështu që unë kam shkruar programin tim të parë. Kështu që unë jam qëllimisht poking fun në këtë program shumë i thjeshtë për disa arsye. Një, është e vështirë për të marrë qef për marrjen e një klasë në qoftë se kjo është lojë e fundi. Por më shumë se kaq, ka një shumë e distractions këtu. Hera e parë që ju mësojnë të programit, për ato prej jush më pak të rehatshme, dhe edhe unë, mbrapa në ditë, kur kam parë pashë diçka si kjo - ju mund të lloj e figurës që, të gjithë të drejtë, këtë është në një botë të shtypura Hello. Por ka aq shumë çmenduri. Ka Sintaksa aq shumë në ekran që ajo merr në mënyrë shumë të Idetë e thjeshta, përndryshe thjeshtë,. Pra, ajo që ne jemi duke shkuar për të bërë sot, është që ne jemi do të vënë mënjanë C dhe vijnë përsëri në që të hënën. Dhe ne jemi duke shkuar për të përdorur një grafik gjuhë programimi të quajtur Scratch. Kjo është një gjuhë programimi, që unë aludoi për të mërkurën, që po ndodh për të na lejuar që të bëjmë të njëjtin lloj të gjëra por të kthehet një sy qorr, për sot, në formatimin e teksteve kaçurrel, me kllapat, të semicolons dhe të gjitha këto budallaqe distractions që të merrni në rrugën, në kjo dita e parë, e disa, shumë themelore ide interesante. Pra, për këtë qëllim, unë jam duke shkuar për të shkuar përsëri në tavolinën e punës time mbi këtu dhe ju prezantoj me alternativ ndaj atij që programi, e cila do te duket nje diçka pak dritë këtë. Kjo është se si ne jemi duke shkuar për të zbatuar atë programi i njëjtë sot - dy puzzle copa që, kur të kombinuara dhe klikuar mbi të, do të thonë të botës, Përshëndetje Të Gjithëve. Pra, le të vërtetë të shkojnë atje. Kështu që unë jam duke shkuar për të shkuar përpara dhe të hapur një website i njohur si scratch.mit.edu. Dhe kjo do të çojë mua në Kjo faqe e internetit këtu. Në paraprakisht, kam hyrë në këtë website dhe problemet e parë që do të ecin ju nëpërmjet disa prej këtyre hapave. Unë jam duke shkuar për të shkuar përpara dhe klikoni në dosjen time zeroja këtu. Dhe kjo është duke shkuar për të treguar mua disa projekte që unë kam krijuar në fakt paraprakisht. Dhe kjo rezulton se kjo grafike gjuhë programimi jo vetëm që është duke shkuar le të na program duke zvarritur dhe rënie këto copa mister, ju edhe nuk kanë nevojë për softuer të veçantë. Është ngulitur të gjitha brenda një shfletues kështu se ju mund ta bëni këtë, në teori, në kompjuterat tuaj tani, si disa prej jush mund të jetë, madje pa pasur nevojë software si aplikim CS50, i cili do të vijë javën e ardhshme. Kështu që unë jam duke shkuar për të shkuar deri në këndin e këtu dhe klikoni mbi Krijo. Dhe në një moment unë jam duke shkuar për të marrë një bosh Ekran nëpërmjet të cilat unë mund të fillojnë programe në këtë grafik programimin e mjedisit. Por këtë herë, ajo do të jetë shumë, shumë më e thjeshtë që në fakt të bërë kështu. Pra, në një moment të vetëm, kur Wi-Fi bashkëpunon, ne tani kemi këtë ekran. Pra, një turne të shpejtë verbale, por unë guxoj të them, sigurisht, kur ju zhyten në Seti i parë problem, ju do të gjeni këtë të gjithë shumë kapshëm dhe mjaft intuitiv. Por le të pikturoj një tablo mendore për vetëm një moment. Pra, nën këtë save shpejtë thënë Ndryshimet, ju jeni gati për të parë zeroja. Kjo është një sprite. Kjo është një karakter. Dhe ai jeton në atë që ne do të thërrasë një fazë, kjo drejtkëndësh i madh të bardhë në të cilën ai mund të lëvizin lart, poshtë, majtas, drejtë, dhe të bëjë, me të vërtetë, lloje të tjera të veprimeve. Ndërkohë, në mes të këtij përdoruesi interface, ne kemi një bandë e tërë e copa mister. Dhe ju do të shihni se ata thonë gjëra të tilla si 10 hapa për të lëvizur, u kthye 15 gradë, pikë në një drejtim të caktuar. Por ka kategori të blloqe deri këtu shumë. Pra, nëse unë shkoj te duket, ju do të shihni se nuk ka pjesë të tjera mister që me sa duket do të thoni për këtë CIT thonë hello, për të menduar, për të treguar vetë, të fshihet. Nëse unë të zbres për të tingujve, ajo rezulton nga ka mënyra për të luajtur tingëllon si mjaullin, për të ndaluar të gjithë tingujt, për të luajtur një daulle. Pra, histori të gjatë të shkurtër, ka një tërësi bandë e pjesëve puzzle që ju lejon për të treguar këtë mace, ose ndonjë numër të karaktere të tjera, çfarë të bëni. Por për të bërë këtë të gjithë ju ndodhë duhet te fillosh programimin. Dhe kjo kuti e madhe e bardhë, gri apo kuti, në anën e djathtë, ky është vendi ku Unë jam duke shkuar për të vërtetë drag dhe prisha ato copa mister. Ky është teksti im bosh ekuivalent dritare. Kështu që unë jam duke shkuar për të shkuar përpara dhe klikoni Kontrolli në mes. Ose më mirë, më lejoni të filloj nën Ngjarje. Nën Events stol, ju do të vëreni një disa gjëra që janë qëllimisht lakuar në krye në një mënyrë të tillë që ata ndoshta nuk do të bashkoj në top prej puzzle copë. Dhe kjo është për shkak se ata Demark fillimin e nje program, fillimi i nje script, kështu që të flasin. Pra, nëse unë shkoj përpara dhe tërhiqeni, kur gjelbër Flamuri klikuar mbi këtu, dhe pastaj unë duan të thonë se kjo mace diçka që në fillim. Kështu që unë jam duke shkuar për të shkuar nën duket panel. Dhe unë jam duke shkuar për të shkuar përpara dhe të kap thonë hello bllok, dhe Drag, dhe Drop, dhe le të shkojnë në mënyrë që ajo automatikisht ngërthen atje. Dhe pastaj njoftim mundem klikoni mbi tekstin. Dhe unë mund të pranoj që ajo të jetë më e specifike si, të themi, Hello world. Dhe tani ne kemi programin që unë pretendojnë është e barabartë me më shumë se Programi misterioz I zbatuar C në një moment më parë. Nëse unë shkoj tani në anën e majtë, njoftim nuk është një shenjë e madhe ndalesë dhe një flamur i madh i gjelbër. Më lejoni të zoom në për qartësi. Dhe tani, kur unë klikoni në këtë flamur të gjelbër, ju mund ndoshta me mend se çfarë kjo e parë Programi është tani duke shkuar për të bërë. Pra atje, gjithashtu, ne jemi të programimit, por ne nuk jeni në të vërtetë duke u bogged poshtë në disa prej atyre sintaksore, detajet minutë. Por le të provoni diçka të një pak më shumë interesante. Më lejoni të shkoj në dosjen time Scratch këtu. Dhe në fakt, më lejoni kështu që më lejoni të hapur një program të veçantë këtu për vetëm një moment, Maximize këtë dritare, Open File, dhe unë jam duke shkuar për të shkuar në e sotme Drejtoria burimi. Si gjithmonë, ju do të gjeni, sot dhe tutje, që të gjithë nga shembujt e sotme janë të arritshme brenda Kursin e internetit. Dhe unë jam duke shkuar për të shkuar përpara dhe të vini këtu deri një diçka pak më ndryshe. Ky këtu, për të cilat Unë kam nevojë për një vullnetar. Kush do të doja një tavolinë llambë sot? OK, si në lidhje me dikë pak - jeni në fund? Vijnë më poshtë. Tani, ju do të donte për të marrë pjesë, ose vetëm të thonë se të fillojë me llambë tavolinë? VANESSA: [padëgjueshme]. DAVID Malan: OK. Excellent, çfarë e keni emrin? Vanessa? David. Gëzohem që u njohëm. Pra, të vijë më lart dhe e Vanessa shkuar të marrë kontrollin e mia tastierë për vetëm një moment. Dhe çfarë kam bërë këtu, vetëm për kohën e hir, siç e kam kuptuar Wi-Fi ishte pak i ngadaltë, Scratch, Mjedisi programimin se ne jemi duke përdorur, mund gjithashtu të shkarkohet dhe të kandidojë në kompjuterin tuaj lokal. Pra, çfarë kam bërë paraprakisht të ligjëratës, në rast se ndodh, është që unë shkarkuar të gjitha dosjet që ne jemi gati për të luajtur me në mënyrë që ata mund të kandidojë një më pak shpejt të drejtë këtu në laptop tim. Pra, kjo është arsyeja pse tani unë jam duke parë një Mac-ndërfaqe specifike. Kështu që unë jam duke shkuar për të shkuar përpara dhe të hapë këtë. Unë jam duke shkuar për të shkuar përpara dhe tani ekran të plotë dritaren. Dhe si ju do të shihni, ne mund shumë shpejt, si ky student bëri, njëri prej paraardhësit tuaj, shkoni nga botë Hello për një shumë shumë më shumë bindëse aplikimit. Pra, këtu janë udhëzimet. Oh, dhe ne kemi një gjë tjetër. Mendova se do të jetë kënaqësi, pasi, Normalisht, ne do të jetë filmuar Kamerat këtë mënyrë. Mendova se do të jetë kënaqësi në qoftë se, Vanessa, ne mund të shohim botën përmes syve tuaj. Pra, këtu kemi disa Glass Google. [Gasps habitur] DAVID Malan: Ne vetëm do të jetë i dhënë larg llambat tavolinë sot. [Qeshura] Pra më lejoni të bëj një sugjerim këtë ide. Të gjithë të drejtë, kështu që prek këtë. OK, qelqi, të regjistroni një video. Të gjithë të drejtë, Vanessa? Tani, si një mënjanë se ka marrë asgjë të bëjë me Scratch, në qoftë se ju shikoni pak deri dhe në të djathtë, ju do të shihni qelqi literal, dhe ju duhet shihni një dritare të vogël drejtkëndëshe. Ju duhet të shihni të gjitha shokët e klasës tuaj duke u filmuar tani? Po. VANESSA: Po. DAVID Malan: OK. Pra, kjo është në rregull. Ne do të lëshojë këtë filmim më vonë. Për tani, kthejnë vëmendjen tuaj me ekran këtu. Dhe çfarë ka bërë paraardhësi juaj është vënë disa udhëzime në ekran thjesht duke përdorur nje program boje. Pra, ju jeni duke shkuar për të, në një moment, shtyp space bar për të filluar. Dhe pastaj disa copa mister po shkon të fillojnë të lëvizin deri në ekran. Dhe ju doni të goditur çelësat arrow, vetëm si në DDR reale, në përputhje me gjëra të rreshtuar me ato shigjeta. VANESSA: OK. DAVID Malan: Ju keni luajtur këtë më parë. VANESSA: Po. DAVID Malan: Të gjithë të drejtë, Vanessa, të shkojnë përpara dhe për të marrë atë larg. [MUSIC - Kayne WEST, "FUQISHME"] [Duartrokitje] DAVID Malan: Pra, le të tani të marrë një hap nga ajo. Pra, në mënyrë të qartë, kjo është lojë e fundi. Loja fund nuk është botë Hello. Por ju nuk keni për të bërë domosdoshmërisht gjëra që janë kaq interaktive. Ju gjithashtu mund të bëjë animacion. Kështu për shembull, një tjetër një nga tuaj Pasardhësit e bëri këtë program këtu, e cila tregon një histori më shumë se ajo ka zbatuar një lojë. Pra më lejoni të shkoj përpara dhe e hapur deri këtu Programi në të njëjtën directory tonë të burimit nga sot. Kjo thirrje, dhe le të fillojnë me të, një histori dashurie cookie. Dhe jo për të bërë këtë shumë akademike, por, si keni shikuar këtë, mendoj për veten se cili prej atyre të thjeshtë Konceptet e programimit ne kemi biseduar Rreth deritanishme - ndryshore, dhe sythe dhe kushtet, Paraardhësi juaj ndoshta ka përdorur vetëm për të zbatuar disa nga me visualizations. Ju shikoni këtu. Kështu që unë ju jap një histori dashurie cookie. [MUSIC - GREEN DAY, "HOLIDAY"] [CRASH] [MUSIC - breshka, "Lumtur së bashku"] DAVID Malan: Të gjithë të drejtë, kështu që nuk ka, kemi pasur një histori dashurie cookie. Por edhe atje - [Duartrokitje] DAVID Malan: Të gjithë të drejtë, madje edhe atje, mendojnë rreth, si ato zemrat shkoi nga poshtme te majë të ekran, ka qenë në fakt një grimë e randomness ndodh. Dhe me të vërtetë, ne do të shohim se edhe në thjeshte e mjediseve, si Scratch, si në C, ju mund të gjenerojnë numrat e rastit, ose iluzioni i numrat e rastit, kështu që loja është një pak më shumë interesante se ajo mund të të jetë nëse ju kishte absolutisht vështirë koduar gjithçka. Në lëvizjen që ju shihni, ka ka disa lloj reagimi. Sapo njeriu Gingerbread prek Gruaja Gingerbread, ajo duket për të lëvizur larg. Dhe kështu, me të vërtetë, ju mund të zbatojë, në shumicën e gjuhëve të programimit, nocioni të ngjarjeve, të cilit, nëse e prek dore Nga ana tjetër, që mund të shkaktojë disa e kodit tuaj burim të në fakt ekzekutuar. Ju mund të dëgjoni për të tillë gjëra në ekran. Pra, le të marrin një turne të shpejtë, pastaj, disa prej blloqeve të ndërtimit që ne mund të përdorin për të arritur disa prej këtyre qëllimeve. Kështu që këtu është ajo që ne do tutje thërrasë një deklaratë. Një deklaratë ndodh të jetë ngjyrë vjollcë në Scratch, një diçka të vogël si kjo, por kjo është arbitrar. Një deklaratë është vetëm një copë mister ose, më në përgjithësi, një udhëzim, që tregon kompjuteri për të bërë diçka, një deklaratë. Kështu që këtu është një mostër e thjeshtë. Thonë hello botë. Një tjetër mund të prisni një të dytë. Pra, kjo copë mister, i cili është mbështetur në Scratch, ne do të le tuaj karaktere pauzë për disa numri i sekondave. Kjo, gjithashtu, është vetëm një deklaratë. Këtu e ardhshëm, ne kemi një tjetër më shumë e interesante, të shëndoshë loja meow, dhe shigjetë pak do të thotë se në Scratch, kjo është një drop down menu. Kështu që ju mund të importojë tingujt. Ju mund të regjistroni tingujt dhe të bëjë të tjera gjërat fun në zeroja. Dhe kjo, gjithashtu, edhe pse, në fund të ditës, është vetëm një deklaratë. Por tani le të prezantoj një më shumë pjesë interesante, që njihet si një Shprehje Boolean. Capital B, të quajtur pas një shoku quajtur bool. Dhe një shprehje Boolean është vetëm një copë mister ose, më në përgjithësi, një pjesë e informacionit që është qoftë e vërtetë apo e rreme - një ose zero, po ose jo. Pra, kjo është vetëm një nga ata dy të kundërtat. Pra, një shprehje e tillë Boolean në Bota e Scratch duket si ky blu mister copë. Dhe kjo është një pyetje, miun poshtë, dhe që mund të jetë ose, i kurs, e vërtetë apo e rreme. Pra, me këtë copë mister në Scratch, mirë, ju do të jetë në gjendje për të zbuluar nëse një mister në qoftë se miu është, në fakt, të qenit mbajtur poshtë nga bashkëveprojmë njeriut me programin tuaj. Kjo është pak më abstrakte, por ato dy kuti të bardha janë vetëm për numra. Kështu që ju mund të bëni gjëra të tilla si kjo është e Numri më pak se tjetri? Dhe nëse është kështu, zeroja do të sillen në një mënyrë apo tjetër. Kjo është pak më grafike. Kjo është në qoftë se Sprite, nëse mace, për shembull, është në të vërtetë prekur treguesin e miut. Pra, nëse koka pak shigjetë është hovering mbi mace, atëherë kjo copë mister do të vlerësojë të vërtetë. Ajo do të jetë e vërtetë, në të cilin rast, në qoftë se ju përdorin këtë shprehje Boolean, si ne do të shohim në një moment, në një degë, ju mund të ta bëni këtë, ose ju mund të bëni që, ashtu si kishim një kusht që kontrolluar, ka një person më të fundit në dhomë? Nëse është kështu, shtoni një të tillë. Përndryshe, mos u shqetësoni më tej. Pra, një shprehje Boolean mund të jetë gjithashtu dhe-Ed bashku ose ose-ed bashku. Kështu që ju mund të kombinohen shprehje boolean dhe thonë se kjo dhe kjo duhet të jetë e vërtetë për të gjithë gjë të jetë e vërtetë. Dhe këtu është një shembull më të vërtetë bota. Nëse e keni përdorur CS50 Kurse për të bërë kurs pazar, këto kuti kontrolloni atje, ku në qoftë se ju kontrolloni kutinë e ardhshëm të kurseve, që do të thotë, po, vetëm më tregoni kurse për të cilat vlera Q është 4.5 ose më e lartë. Nëse ju zgjidhni atë, jo, nuk shqetësuar për këtë. Ose mënyrë të ngjashme, në të djathtë, nuk do të Konflikti me kurse unë jam duke marrë, kjo është e vërtetë apo e rreme. Kjo është vetëm një shprehje Boolean. Pra, të gjithë këtë kohë, kur ju keni përdorur faqet e internetit me kuti kontrolloni, ju jeni vetëm toggling ekuivalentin e një Boolean në shprehje dhe jashtë. Pra, në çfarë forme ju përdorni këto? E pra, në Scratch, ne do të shohim në një moment se ekzistojnë kushtet që duket si ky. Dhe kjo është lloj i ndjeshëm për shkak se shumë si në pseudokod, ne prerë lloj i U-formë puzzle copë, do të thotë se brendësi gjë i asaj U eshte duke shkuar për të ekzekutuar, ose jo, varësisht se ku është. Pra, nëse shprehja Boolean, pastaj çdo gjë që është brenda do të merrni ekzekutohet. Ndërkohë, ka një në qoftë / tjetër bllok. Pra, nëse ju doni një degë që shkon ky Mënyra ose që, Scratch na jep atë. Dhe sipas kësaj logjike, tani, edhe pse se copë mister është i qartë shumë e vogël pykë për diçka tjetër në brendësi të tij, copa mister zeroja, ata janë vetëm do të rritet. Kur ju drag and drop mbi diçka, ai thjesht do të rritet për të përshtaten çdo gjë që është që ju jeni duke u përpjekur për të bërë. Pra, ne mund të marrë dy nga këto gjëra dhe të bëjë një pirun tre rrugë në rrugë kështu që ju ta bëni këtë, ose atë, ose kjo gjë tjetër vetëm duke shturë tyre në atë mënyrë. Sigurisht, nëse ju bëni atë shumë shumë, ajo fillon të marrë shëmtuar. Por në këtë pikë, ju jeni në të vërtetë ndoshta nuk programimin shumë mirë. Dhe kështu që do të jetë e përsëritshme theme, gjithashtu, se e stilit. Vetëm sa mirë bëni në të vërtetë format kodin tuaj? Ose sa mirë mendoni ju të hartuar kodin tuaj? Por më shumë në atë në të ardhmen. Dhe tani ne kemi sythe. Ka një lak e bukur përgjithmonë në Scratch cila fjalë për fjalë do të thotë se - të bëjë çdo gjë që është në brendësi të kësaj përsëri, dhe përsëri, dhe përsëri. Ju mund të jetë më konkrete dhe të thonë, të bëjë gjënë e mëposhtme 10 herë. Ju gjithashtu mund të përdorni variabla. Ju mund të dalë me ndonjë emër në se pak drop down dhe të thonë, më jepni një ndryshore të quajtur n dhe vendosur kjo e barabartë me disa vlera. Dhe pastaj ju mund të ketë funksione. Por, më shumë në ato në një moment të vetëm. Më lejoni të kthehem tek tim Scratch interface. Dhe më lejoni të shkoj përpara këtë kohë. Dhe le të shkojë përpara dhe të hapur, le të themi, një shembull nga - kjo është pak më interesante. Më lejoni të shkojnë përpara, dhe, në fakt, më lejoni të vetëm të bëjë atë vetë. Unë nuk kam nevojë për të hapur këtë një të tillë. Më lejoni të shkoni tek File, New. Unë jam duke shkuar për të shkuar në Ngjarje. Unë jam duke shkuar për të shkuar kur flamuri i gjelbër klikuar, dhe unë jam duke shkuar për të shkuar në të shëndoshë. Dhe unë jam duke shkuar për të drag and drop kjo copë mister, luajnë Meow shëndoshë. Ajo shulat së bashku. Dhe tani, në qoftë se unë klikoni në flamurin e gjelbër - [Sound Meow] DAVID Malan: Adorable. OK, kështu që tani le të bëjmë një diçka të vogël më logjike vetëm për të demonstruar se mundemi, tani për tani. Unë jam duke shkuar për të larguar ky djalë nga ajo. Unë jam duke shkuar për të shkuar për të kontrolluar. Dhe unë jam duke shkuar për të rrëmbyer një kusht. Pra, nëse diçka atëherë. Pra, kjo është se si duket atje. Kështu që kam nevojë për një shprehje Boolean. Dhe më lejoni të shkoj përpara dhe të thonë, më lejoni të shkoj për të Operatorëve. Unë jam duke shkuar për të bërë diçka pak Mathy, vetëm për shkelma. Unë jam duke shkuar për të shkuar në këtu dhe thonë se, në qoftë se diçka që është më pak se sa diçka tjetër, të shkojnë përpara dhe të bëjë diçka. Deri tani, ju e dini çfarë, një bllok të rastit. Pra njoftim sa, nëse unë rri pezull mbi këtë gjë këtu, që do të parakohshme në atje. Deri tani, njoftim, unë jam duke filluar për të bërë diçka tashmë më logjikisht interesante. Nëse një numër të rastit ndërmjet 1 dhe 10 është më pak se, le të themi gjashtë. Nëse unë zgjedh Gjashtë, që në thelb do të thotë, nuk e mëposhtme me 50% probabiliteti. Është si Flipping një monedhë. Tani, unë mund të bëjë diçka të kushtëzuar. Dhe kjo diçka që unë jam duke shkuar të bëni është të luajnë të shëndosha. Deri tani, kur unë klikoni në ekran flamuri, kjo është si hedhur një monedhë. [Sound Meow] DAVID Malan: Ishte kokat ose gjësend atje. Le të bëjë atë përsëri. [Sound Meow] DAVID Malan: Heads përsëri. [Sound Meow] DAVID Malan: Heads përsëri. Uh, OK. Tails atë kohë. Pra, 50% të kohës, në qoftë se ne e bëjmë këtë pafundësisht të gjatë, ne do të merrni meows 50% dhe 50% silences. Pra atje, vetëm një ndërtesë themelore bllok që na lejon të bëjmë këtë. Por kjo është lloj i lodhshëm që kam për të mbajtur klikuar atë buton. Pra, le të vetëm drag dhe hedhin të gjithë ata larg. Nëse ju zvarritur ato në mes, ata do të fshini vetëm veten e tyre. Lejo të ngjitem për të kontrolluar. Lermë të shkoj përgjithmonë. Dhe kjo kohë, unë jam duke shkuar për të bërë diçka minorly bezdisshëm. [Qeshura] DAVID Malan: Dhe më lejoni të shkoj përpara dhe të bëjë kontrollin. Prisni një të dytë, vetëm në mënyrë të ajo nuk është shumë i bezdisshëm. [Sound Meow] DAVID Malan: Kjo nuk është e natyrshme. OK. [Sound Meow] DAVID Malan: Dhe njoftim se çfarë është, nice rreth Scratch, për ato prej jush që kanë përvojë para programing, ju nuk kanë nevojë për të filluar dhe të ndaluar. Ju nuk keni nevojë për të hartuar. Ju vetëm të ndryshojë atë, dhe programi do të përshtatet dinamike. Pra, kjo po bëhet një pak interesante. Por le të marrë atë një hap më tej. Më lejoni të shkojnë përpara dhe për të marrë Shpëtoj atë program. [Sound Meow] DAVID Malan: Kjo është ajo që ne do të thërrasë një bug në Scratch. Ai nuk duhet të mbajnë të bërë atë tingull. Pra, ne kemi Do ta tregoj atij për të ndaluar. Të gjithë të drejtë, kështu që tani unë jam do të shkojnë në - Unë do të le MIT di. Ne do të shkojnë mbi këtu në Forever. Dhe tani, unë dua të bëj diçka përsëri dhe përsëri. Unë jam duke shkuar për të shkuar në kontroll. Dhe le të shohim, unë jam duke shkuar për të drag në qoftë se im kusht atje. Deri tani njoftim logjikën. Kur flamuri gjelbër është klikuar, të bëjë diçka e përgjithmonë, por vetëm të bëjë që diçka, nëse kjo gjë është e vërtetë tjetër. Unë jam duke shkuar për të shkuar për të, le të thonë, ndjerë. Dhe unë jam duke shkuar për të shkuar përpara dhe të zgjedhin prekur dhe të heqë atë atje. Kjo është një shprehje Boolean. Dhe tani, vini re, në këtë rënie down menu, nuk janë disa vlera të paracaktuara. Kështu që unë mund të them, po ju prekur buzë i ekran? Apo jeni prekur treguesin e miut, shigjetë në ekran? Kështu që unë jam duke shkuar për të bërë këtë. Dhe nëse është kështu, atëherë unë jam duke shkuar për të shkuar përpara dhe të luajnë Meow shëndoshë. Deri tani unë lloj i kanë Fillimet e një lojë - një lojë adorable. [Sound Meow] DAVID Malan: OK, një adorable, game buggy. Më lejoni të presim, le të themi, një sekondë atje. Tani të luajë përsëri, duke klikuar flamuri gjelbër. [Sound Meow] DAVID Malan: Deri tani kjo është si petting një mace. [Sound Meow] DAVID Malan: Në rregull, tani kjo Unë kam bërë një paraprakisht. Shumë vonë, ajo merr lloj i lehtë të bësh gjëra idiote. Pra më lejoni të shkoj në këtu. Le të themi, që ishte Pet Cat. Le tani të hapë Mos Pet Cat. Tani, në qoftë se ne të luajë këtë një, ju mund të guess, nëse ju jeni duke kërkuar në ekran - [Sound Meow] DAVID Malan: Tani, nëse unë manar cat [Vrumbullon luani'S] DAVID Malan: Pra, në fakt nuk manar cat në atë rast. Deri tani ne kemi vetëm një shembull i një shermend që po ndodh në të dy drejtimet. Tani më lejoni të shkoj përpara dhe të të hapë një tjetër këtu. Kjo, gjithashtu, në mesin e burimit tonë Fotografi kodi për ditë. Pra më lejoni të shkoj përsëri në burimit tim Drejtoria dhe të shkojnë në, le të zgjedhin ky djalosh këtu dhe të shohim Çfarë është e ndryshme. Wow, të gjithë të drejtë, kështu që tani ajo është duke u pak më komplekse. Dhe para se të shohim se çfarë bën ky djalë, le të përpiqemi për të konkludoj, nga programi në anën e djathtë. Dhe tani zeroja në mënyrë të qartë na lejon të kanë Scripts shumta, të shumta programet që lidhen me një sprite, me një karakter, dhe, me sa duket, ata janë të dy duke shkuar për të kandiduar në analizohen përkrah. Për shkak se të dyja këto programe fillon me klikimeve flamurin kur gjelbër, kjo është nënkuptuar në një temë më të avancuar, me që disa prej jush mund të jenë të njohur, njohur si fillesë, ose multi-fillesë. Rezulton, histori të gjatë të shkurtër, kompjutera sot mund të bëjë në thelb të shumta gjëra njëherësh. Ose ata mund të bëjnë një gjë në një kohë kaq të shpejtë që ju as nuk vëreni se ajo është në të vërtetë duke bërë një gjë në një kohë. Por tani për tani, le të supozojmë se të dy këto programe janë duke shkuar për të ekzekutuar në të njëjtën kohë. Dhe njoftim, dy prej tyre kanë përgjithmonë mister copë. Pra, ata janë të dy duke shkuar për të mbajtur drejtimin derisa unë goditi shenjë të kuqe të ndaluar. Pra, çfarë do të bëni? Në anën e majtë, unë jam me sa duket deklaruar një ndryshore të quajtur mbytur. Kështu që unë nuk e quajnë atë diçka si N. mërzitshëm si unë e quajti atë mbytur ky Koha për të përcjellë kuptimin. I vënë atë të barabartë me zero. Le të mendojnë se si të rrejshme, ose le të mendoj se si False. Tani, përgjithmonë bëjë të mëposhtme. Nëse bar e tastierës së hapësirës është presion, atëherë në qoftë se mbytur barabartë me zero, pastaj të ndryshojë për të mbytur një të barabartë. Tjetër, i vendosur mbytur në zero. Pra, logjikisht, edhe pse kjo është një e tërë bandë e pjesëve puzzle kjo është vetëm duke thënë, kur unë goditi bar Hapësirë, çfarë duhet të bëj që të ndryshueshme quajtur mbytur? Ndryshimi atë nga një deri në zero, ose zero të një. Kjo është e gjitha. Pra, kjo është si duke e kthyer një kaloni dritë on ose off dhe duke kujtuar, me një variabël, që unë e kam bërë këtë. Ndërkohë, në anën e djathtë, në kushtet e laik, çfarë është qëllimi i dorëshkrim në të djathtë? STUDENT: Për të luajtur tingull luan deti. DAVID Malan: Për të luajtur tingull Detit Lion, në qoftë se ai nuk është mbytur, duke natyra e atij variabli. Pra, ne jemi për ndarjen e shtetit, kështu që të flasin, Informata për ndarjen e gjithë këtyre dy Scripts sepse, njoftim këtu, ne jemi përgjithmonë duke bërë në vijim. Nëse mbytur është zero, kështu që nëse ajo nuk është e mbytur - në qoftë se është mbytur false, pastaj të luajë ky tingull luan deti. Dhe mendoj për veten, hi, hi, hi, për dy sekonda, prisni një moment, dhe pastaj kontrolloni sërish. Pra, nëse ne do të shkojmë tani mbi këtu në të majtë, ku ky djalë është, dhe e goditi flamur të gjelbër, [SOUND SEA LION] DAVID Malan: Në ç'pikë bën kjo me të vërtetë i bezdisshëm? Sepse kjo thjesht do të vazhdojë përgjithmonë. Pra, ndonjëherë, sythe pafund, kështu që të flasin, janë të qëllimshme. Por në këtë rast, sa më shpejt që unë goditi bar Hapësirë, ai ndalet. Tani programi nuk ka lënë. Ajo është ende running në këto sythe. Por në qoftë se unë të marrë space bar përsëri - [SOUND SEA LION] DAVID Malan: Ai do të marr deri ku ai la off. Pra, nuk është një mënyrë për ne që të bëjmë diçka përsëri dhe përsëri, por, që kohë, vetëm kushtimisht. E pra, ndërsa ne jemi në këtë mënyrë të të bërit gjërat përsëri dhe përsëri, më lejoni të shkoni në një tjetër shembull të tillë këtu. Kjo ne do të thërrasë numëruar dele. Dhe ky djalë njoftim se çfarë bën. Kjo është në fakt një pak më shumë si pseudokod kemi luajtur me të në E mërkurë, ku ai vendos disa counter, të mendojnë për atë si është n përsëri, për të zero, ai e bën përgjithmonë në vijim. Ai thotë se vlera banak për një dytë, pret një të dytë, dhe pastaj counter ndryshon nga një. Dhe në këtë kontekst, që sapo Ajo do të thotë increments. Pra, shton ai njeri për të. Pra, kjo është fjalë për fjalë - kjo nuk është krejt ajo që ne mendojmë si dele e numërimit. Është delet duke bërë numërimin, gjithnjë, deri nga zero. Pra, ne mund të bëjmë gjëra të ngjashme atje, logjikisht. Por tani le të përpiqemi për të pastruar disa nga këto gjëra deri. Më lejoni tani të shkojnë përpara në një të thjeshtë shembull ku macja jonë është vetëm duke shkuar për të fillojnë kollitjes. Të gjithë të drejtë, kështu që këtu kemi kollë 0 - shkencëtarët kompjuter të fillojë numëruar nga 0. Pra, kjo mace është vetëm do të nxjerr me kollë tri herë. Dhe këtu është se si unë zbatuar atë. Kur flamuri gjelbër është klikuar, kollë, prisni, kollë, prisni, kollë, prisni. Dhe unë e bëri këtë vetëm duke zvarritur dhe duke rënë copa mister. Ose nëse ju filloni për të kallajxhi me Scratch, ju do të shihni ju në fakt mund të kopjuar copa në mënyrë që ju mund të bëni gjëra më shpejt pa zvarritje dhe në rënie nauseum ad. Por ne nuk jemi në rrugë të mirë këtu. Sepse si mund ta bëni atë kollë një kohë të katërt? E pra, unë mund të lloj të zbresin këtu. Unë mund të kopjuar dhe pastaj ngjisni këtë në atje. Si mund ta bëjë atë të nxjerr me kollë një kohë të pestë? E pra, kopjoni dhe ngjisni përsëri. Ose terhiqe rënie përsëri. Dhe shumë shpejt, ky program fillon për të marrë të vërtetë, të vërtetë të tepërta, me të vërtetë e gjatë, por me të vërtetë jointeresant. Por ka një mënyrë për të pastruar këtë. Cila është mënyra më e qartë për të pastruar këtë ide? OK, kështu që ne mund të vërtetë të vërtetë të shkojnë jashtë dhe, kur ju goditi hapësirë bar, e kanë atë kollë. Por në qoftë se unë vetëm dua të bëj diçka përsëritëse, kujtoj se ne nuk kemi disa kontrolli ndërton. Më lejoni të lëvizur këtë nga mënyrë, të shkojnë nën kontroll. Më lejoni të bëjë vetëm një përsëritje, themi, tri herë. Dhe tani më lejoni të vjedhin disa e këtyre puzzle copë. Më lejoni të parakohshme këtë në këtu. Më lejoni të hedhin këto larg krejt. Dhe tani, unë kam një të mirë hartuar programin. Pse? Nëse unë dua të ndryshojë numrin e herë kjo kollitet mace, të gjitha unë duhet të bëni është të ndryshojë një ndryshore, ose një vlerë, vend nga tre, në katër, ose pesë apo gjashtë. Ose unë mund të bëj diçka kushtimisht, madje, me hapësirë bar nëse kam kërkuar për të. Pra, ky është një parim i përgjithshëm. Pasi ju filloni kopjimi dhe pasting kodin, nëse kjo është në Scratch, ose në C, ju jeni duke bërë diçka gabuar, ka shumë të ngjarë. Ose të paktën, një herë ju keni tejkaluar disa numrat e kopjeve të arsyeshme dhe xhel, ndoshta ju jeni duke bërë diçka të gabuar. Por ju e dini se çfarë? Unë nuk të vërtetë si kjo. Kjo nuk është dizajn pastri. Uroj ka qenë një copë mister të quajtur kollë, sepse atëherë unë nuk do duhet të zbatojnë këtë veten time, mënyrë modës së vjetër, nga që thonë, dhe prisni - Çka nëse ata ishin vetëm një mister kollë copë. E pra, unë mund të bëjë në fakt atë. Më lejoni të shkojnë nën blloqet e më shumë, klikoni Bëni një bllok, dhe tani kam marrë këtë dritare këtu. Unë jam duke shkuar për të thirrur këtë kollë gjë. Unë jam duke shkuar për të shkuar përpara dhe klikoni OK. Dhe tani njoftim, unë të marrë një pikënisje të re copë që është lakuar në krye. Dhe ajo që unë jam duke shkuar për të bërë me këtë, unë jam i duke shkuar për të vjedhur vetëm këto blloqe. Unë jam duke shkuar për të vënë ato këtu. Dhe tani, me këto tre pjesë, unë kam zbatuar atë që unë jam duke shkuar për të thirrur një funksion, ose nje procedure, ose disa prej ju mund të dini atë si një metodë. Dallime të vogla në mes të fjalëve. Por tani për tani, le të vetëm e quajnë këtë një funksion. Kjo është vetëm një pjesë të re mister. Tani ajo është zbatuar si kjo. Por vini re se Scratch na ka dhënë një përfaqësim fizike e që e tërë bllokojë mbi këtu. Deri tani, unë mund vetëm drag mbi këtë këtu, thonë, të përsëritur tri herë, dhe çfarë do të ndodhë tani, kur kam luajtur Ky dorëshkrim, është vetëm një program po kandidon në një kohë. Ka vetëm një kur flamuri gjelbër klikuar. Por që bllokojnë purple quajtur kollë është efektivisht thënë Scratch, çdo koha që ju të shihni se pjesë mister, në fakt ekzekutojë këto hapa që unë ndodhë për të zbatuar me dorë. Pra, kjo është lloj i zoti. Por tani, mendoj se kam vendosur, unë nuk duan këtë cat vetëm për kollë. Unë dua që ai të jetë në gjendje te teshtimë si edhe. E pra, si mund të shkojmë në lidhje me zbatimin teshtij? E pra unë mund të pretty much bëjë të njëjtën gjë. Unë mund të bëjë një tjetër bllok. Unë mund të telefononi këtë teshtij, klikoni OK. Pastaj, mbi këtu unë në fakt mund kanë, më lejoni të kopjuar këtë - dhe nuk ka ku ju duhet të ndjehen si ju ndoshta nuk jeni duke bërë diçka në Mënyra më e mirë. Unë mund të them diçka si, achoo, për një të dytë. Prisni një të dytë. Tani unë kam një bllok të ri të quajtur teshtij. Dhe me të vërtetë, nuk është. Por kjo, gjithashtu, duhet të fillojnë të ndjehen - ndoshta nuk javën e parë të klasës, por by dytë - vetëm një pak të tepërta. Qartazi, ka disa tepricë këtu. Pra më lejoni të propozojnë, në vend të kësaj, që ne përsosin ky përkufizim si vijon. Më lejoni të shkoj deri në menynë time file. Unë nuk jam duke shkuar për të shpëtuar këtë version. Unë jam duke shkuar për të shkuar në njërën prej Fotografi mi premade këtu. Dhe unë jam duke shkuar për të shkuar përpara dhe të hapur deri kollë 2. Uh se ishte kollë 2. Më lejoni të shkojnë përpara dhe të hapur deri kollë 3, cila është kjo directory burimi. Kollë dhe 3 njoftim - oh, unë i thashë Historia në mënyrë të gabuar. Më lejoni të shërohen nga kjo histori. Historia Unë për qëllim të them mbaron me kollë 4 - ajo është atje. Pra, çfarë nëse unë, në vend të kësaj, të përcaktojë një pjesë e madhe mister i quajtur përcaktojnë, thonë fjalën e n herë. Teshtitjes është vetëm, me sa duket, në Scratch, achoo. Pra, ne e shprehim atë si një fjalë, vetëm për shkak se është kufizim të programit. Dhe një kollë është [kollë], por kollë, C-O-U-G-H. Pra, kjo është vetëm dy fjalë të ndryshme duke bërë, në thelb, e njëjta gjë. Kështu që unë mund të bëjë në fakt një bllok i ri si kjo. Unë nuk e përdorin këtë opsion menu para. Por kur ju klikoni Bëni Blloku, ju mund të zgjidhni disa opsione. Dhe ju mund të them se ky bllok në fakt merr disa inpute, përndryshe njohur si argumente, ose parametrave, kështu që ju mund të modifikoj sjelljen e bllok tuaj. Pra, çfarë kam bërë një moment më parë u I quajtur këtë bllok Thuaj. Dhe atëherë thashë, ai merr a string input. Dhe tani vini re, by default, ajo thotë string 1. Një varg është vetëm një fjalë, ose një frazë, për qëllimet tona. Por unë jam vetëm duke shkuar për të vënë disa Teksti placeholder atje, ashtu si në një Faqja e internetit, kur ju shikoni emrin, ose password, dhe pastaj ajo zhduket kur ju filloni të shtypni. Kjo është gjithçka që është. Dhe tani unë jam duke shkuar për të shtoni një input numrin. Dhe unë jam duke shkuar për të thirrur këtë n - por kjo është goxha arbitrare. Dhe pastaj vetëm një etiketë, vetëm për të bërë Ky bllok vetë pak më shumë shpjegues - herë, kjo është ajo që unë vetëm e bëri. Dhe rezultati përfundimtar është që të shkoj një bllok që duket si kjo. Dhe tani vini re, unë jam duke përdorur një bllok të përsëritur. Por në vend se kodim hard tre, unë jam zvarritje dhe në rënie n në atje kështu që unë mund parametrize funksionin. Unë mund të bëjë këtë funksion të bëjë diçka një numër i ndryshëm i kohës bazuar në që vlera. Dhe vini re, të themi, kjo është ajo që kam bërë këtu, në qoftë se unë terhiq fjalë, unë mund të them se nuk Fjala e vështirë koduar, por çdo gjë është e kaluar në për një sekondë. Ndërkohë, si mund ta ri-zbatuar kollë? Unë në vend që të përcaktojë si kollë kollë thënë n herë. Pra me pak fjalë, unë jam duke shkuar me këtë shpejt, por ideja themelore është që sa më shpejt si ju filloni duke parë në programin tuaj se, prisni një minutë, unë kam bërë diçka mjaft si kjo para, Unë mund faktor në dukje disa të përbashkët Funksionalitetin? Mund Unë tretem atë që unë jam duke bërë në disa ideve themelore? Kjo është ajo që ne jemi duke bërë këtu. Dhe unë kam bërë pirg këto gjëra, vizualisht, në krye të njëri-tjetrit sepse kjo është testament për atë idenë e duke filluar me binar, duke shkuar në ASCII, duke bërë programet grafike, lloj Idetë layering gjithnjë e më komplekse në krye të njëri-tjetrit. Ideja e njëjtë këtu. Kam filluar nga zeroja, zbatimin kollitjes, kollitjes atëherë është realizuar me të vërtetë vetëm duke thënë diçka. Pra më lejoni të zbatojë në vend Nocioni i thënë diçka. Dhe në krye të kësaj, unë mund të zbatojë achoo, ose kollë? Dhe ne mund të bëjmë më shumë të tilla variante ende. Pra nga ky parim themelor, ne mund të fillojmë të bëjmë gjithnjë e programeve komplekse. Më lejoni të hapë këtë. Ne fakt mund të ketë sprites shumta bashkëveprojmë në ekran në një herë. Nëse unë shkoj në directory tim burim dhe kap një Temat ashtuquajturit, kujtojmë se një thread është vetëm me të vërtetë aftësinë nga dy Scripts për të drejtuar krah Pala në të njëjtën kohë. Njoftim tani, kemi dy Sprite një zog dhe një sprite mace, dy prej të cilave kanë Scripts tyre. Pra njoftimit, kur unë klikoni mace, unë të marrë këto skenare. Kur klikoj zog, Kam marrë këto skenare. Pra, secili prej këtyre djemve ka Programet e tij. Kur unë tani klikoni flamurin e gjelbër, njoftim se ajo që ky program nuk është kanë cat, tepër ngadalë, ndjekje zogun. Por macja ka avantazhin e të pasurit qenë programuar në një mënyrë të tillë se ska rëndësi se ku zog është, macja shkon drejt tij. Ne mund të luajnë atë lojë shumë më të shpejtë. Pra, në qoftë se unë jam në mace, vëreni se unë jam përdorur, le të themi të lëvizë një hapa. Le të ketë atë të shkojë në pesë hapa të një kohë, kështu që pesë dots në një kohë. Më lejoni kliko Play. [Vrumbullon luani'S] DAVID Malan: Në rregull, tani ne mund të të vërtetë t'i japë cat përparësi. 10 hapa në një kohë. [Vrumbullon luani'S] DAVID Malan: Të gjithë të drejtë, kështu që shumë shpejt, ajo merr një avantazh të vogël per te mace. Por unë do të tundë dorën time në disa nga detajet. Por arsyeja që se rruga është duke filluar një pak të ndryshme çdo herë është se unë jam duke bërë një grimë e randomness. Unë jam në të vërtetë duke vënë cat në një Drejtimi ndryshme bazuar në ku unë duan që ai të fillojë në mënyrë që çdo herë game, ose animacion, eshte nje pak më ndryshe. Tani, më lejoni të prezantoj një të tjera të ndërtojnë këtu. Pra, në këtë rast, kemi pasur funksione. Ka gjithashtu do të jetë një copë mister i njohur si një grup, apo një listë, që ju lejon të ruani të shumta Vlerat brendësi të një ndryshore. Ne pamë temat, dhe tani ka Ngjarje. Kështu që këtu është një ngjarje e përdorimit këto dy djema këtu. Dhe në qoftë se unë i hapur deri file i quajtur Ngjarje nga shembujt e sotme, ne do shohim një program që duket pak si kjo. Dhe tani vini re këtë djalë - kështu që unë kam njoftim blu Muppet klikuar - vetëm ai bën në vijim. Ai nuk do të ketë njërin prej atyre copa jeshile puzzle flamurit. Ai ka një kur kam marrë ngjarje - kështu që disa Fjala arbitrare. I shtypur vetëm nga ngjarje atje - ai do të thotë, Polo, për dy sekonda. Pra, ata prej jush të cilët janë të njohur me këtë lojë mund të dini ku po shkon kjo. Nëse unë tani klikoni mbi Muppet portokalli, programi i tij e bën këtë. Gjithmone, nëse hapësirë ​​bar keyboard shtypur, ai do të thotë, Marco, për dy sekonda në ekran. Por ai është gjithashtu do të përdorni këtë njohës bllokojë njohur si transmetim. Ai do të transmetojë të japin kuotën e , mbyll thonjëzat "ngjarje". Ndërkohë, djalë blu, risjell, është dëgjuar për mbyll thonjëzat citoj, "ngjarje". Pra, në njëfarë mënyre, tani, ne mund të kemi dy sprites bashkëveprojmë. Dhe kur ne të merrni për programimin e web, më vonë në afat, në mënyrë të ngjashme do të këtë të jetë e dobishme që të ketë faqen tuaj te internetit të bëjë diçka në përgjigje të, për shembull, një klik të tastierës. Pra më lejoni të shkoj përpara dhe të goditi space bar. Orange guy thotë Marco. Blue guy thotë Polo. Nëse unë bëjë atë djalë përsëri portokalli thotë Marco, blu djalë thotë mëngë. Pra, le të marrin këtë një hap më tej. Këtë herë, ne do të shkojmë, ndoshta, vetëm disa minuta më shumë këtu. A kemi - tavolinë llambë, vijnë më poshtë. Ju jeni të drejtë në fund. OK, ju mund të dyja të dalë. Ne kemi llambat tavolinë për të gjithë. Come on. Unë nuk e di nëse ne mund të vazhdojmë kjo shaka qesharake deri të gjithë semestër, pse. Të gjithë të drejtë, vijnë më poshtë. Dhe në ndërkohë, ne kemi duke ndjekur shembuj për të tërhequr deri, vetëm për përshpejtojë gjërat tani, të tilla që ne të ketë një manifestim nga një tjetër Paraardhësi i juaji përdorur blloqet themelore të ndërtimit të njëjtat. Cili është emri juaj? JOHN: John. DAVID Malan: John. Gëzohem për mua ju. Dhe? SETZ: Setz. DAVID Malan: Setz, nice për mua ju. Gjoni, në qoftë se ju dëshironi për të ardhur i pari, kjo është një i vjetër Loja shkollë quajtur Frogger. Ju përdorni tastierën për këtë si. Dhe qëllimi është për të marrë të gjithë rrugë dhe ujë. [MUSIC Frogger dhe luan ZANORE] DAVID Malan: Më vjen keq, asnjë tavolinë llambë për ju sot. Të gjithë të drejtë, Setz, do ju të doja të vijnë më lart? Të gjithë të drejtë, le ta bëjmë atë përsëri. SETZ: A përdorni shigjetat? DAVID Malan: Vetëm arrow keys. Lart, poshtë, majtas, djathtas. [MUSIC Frogger dhe luan ZANORE] DAVID Malan: Ne do të thërrasë ato shpërblime ngushëllimi sot, atëherë, shumë mirë bërë. Këtu, për të dy prej jush, Gjonit dhe Setz. Urime, të gjithë të drejtë. Pra, përsëri, si kjo lojë luan, mendoni se çka po ndodh? Një, nuk ka në mënyrë të qartë një shumë e levizjes. Por, ne kemi parë se si, me mace dhe zog shembull, se si ju mund të bëni iluzion i mocionit vetëm duke lëvizur disa Numri i pixels përsëri dhe përsëri. Dhe në qoftë se ju keni një bllok përgjithmonë, ju mund të keni këto Makina bërë këtë përgjithmonë. Ne kemi aftësinë për të kanë disa randomness. Pra, kjo lojë nuk duhet të jetë saktësisht të njëjtën çdo herë. Këto trungje, ato makina, mund të fillojë në herë më pak të ndryshme në mënyrë që Loja vetë është më interesante me çdo loje loje. Dhe Ndërkohë, ne kemi parë aftësinë për të dëgjuar space bar. Por në mënyrë të qartë, në Scratch, ju gjithashtu mund të dëgjoni për lart, poshtë, majtas, djathtas, dhe me të vërtetë ndonjë kyç në tastierë. Dhe ju gjithashtu mund të bëjë disa gjëra të tjera. Më lejoni të shkojnë përpara dhe të kthehemi në versionin e internetit. Më lejoni të shkoj në mbledhjen tonë e shembuj këtu. Dhe nën studion time, video e cila është, në thelb, nje folder on scratch.mit.edu. Ne kemi versionet e internetit të të gjitha këto projekte. Dhe le të shohim nëse unë mund të merrni mia kompjuter për të bashkëpunuar këtu. Kjo është shkruar nga një prej miqve tanë në MIT, i quajtur Move Butterfly. Dhe një herë këtë hap, kjo është shkuar në fakt përdorin më shumë Computer hardware tim. Scratch ndodh për t'u zbatuar me Flash. Flash mund të bisedoni me Webcam tuaj, në qoftë se ju keni një të tillë. Pra, nëse unë shkoj përpara dhe ekran të plotë këtë këtu, klikoni jeshile, njoftimin e flamurit se mesazhi i flash i sigurisë është thënë, nuk ju duan të të lejojë që të përdorni webcam time? Normalisht, ju duhet ndoshta thonë Deny. Por në këtë rast, ne do të themi lejojnë. Atëherë unë jam duke shkuar për të treguar Chrome për të lejuar këtë të mirë. Dhe tani, në një moment të vetëm, ju shihni mua, yep, mua. Dhe në qoftë se dora ime shkon deri - Unë kam marrë për të mos lëvizur mia koka në të njëjtën kohë. Ka gjithashtu një reflektim në ekran. Come on, ne do të shkojmë atje - ju mund të lëvizin atë në ekran, sepse ka edhe copa mister - oh, ju e di se çfarë është, ajo është për shkak se edhe ju shihni ekran projektor pas meje. Pra, ne kemi një Infinite pak gjë ndodh atje. Të gjithë të drejtë, kështu që unë do të luajnë këtu poshtë. Ka të shkojmë. Pra, ka edhe një copë mister që thotë, kur ju shikoni lëvizjes nën një nga sprites, qe mund të ketë atë shkojnë lart, poshtë, majtas, djathtas apo si. Pra, ne kemi një grimë e realitetit virtual ndodh këtu, si edhe, të gjitha brenda Bumçi shfletuesin tim, vetëm këtu duke përdorur webcam time. Pra, çfarë është pastaj në horizont. Seti i parë Problemi, si ju do të shihni, ose faqen e internetit do të shkoni në internet më vonë sonte në cs50.net, është shumë e shumë do të jetë e hapur përfundoi. Dhe të zbatojë një projekt zeroja me interes për ju, një lojë, një ndërveprim, diçka artistike, dhe sfiduar veten për të përdorur ndonjë numër e këtyre puzzle copë. Dhe kjo mund të jetë ose interaktive në këtë mënyrë. Ose ajo mund të jetë diçka më shumë qëllimisht bërë për të treguar një histori. Dhe vërtet, kjo është ajo ku ne do të përfundojë off sot, me një shembull përfundimtar. Më lejoni të shkoj në Scratch në nivel lokal. Më lejoni të shkojnë përpara dhe të hapur këtë, dhe të luajë një program i fundit i shkruar nga një nga paraardhësit tuaj, domethënë se një here. Mirë, të ngrenë volumin për këtë një të tillë. [Duke luajtur muzikë] Transmetuesi: Në CS50 ardhshëm, David fton një vullnetar skenë. DAVID Malan: Për këtë demonstratë, ne jemi duke shkuar për nevojë për një vullnetar. Dëshironi të vijnë më poshtë? Cili është emri juaj? Moving on.