[Powered by Google Translate] [MUSIC ROCK] [MUSIC - "HAPPY FLIMKIEN" il-fkieren] DAVID Malan: Illum, aħna jibdew esplorazzjoni tagħna ta 'l- fundamentali ta 'xjenza tal-kompjuter u l-introduzzjoni tagħna, issa, l-arti tal-ipprogrammar, li dan huwa biss eżempju wieħed. Iżda fl-istess ta 'soluzzjoni ta' problemi, nafu li Jum CS50 s Puzzle tradizzjonali hija għada. Jekk inti ħadthom għadha RSVPed għal dan l-avveniment, inti tista 'tmur cs50.net/rsvp. Inti tista 'ġġib timijiet ta' tnejn jew tlieta jew erba '. Inti ser tkun sfidata bi problemi bħall-waħda inti raw up hemm fil-bidu. Il-problemi kollha ġodda din is-sena jekk inti partook aħħar sena, u inti se jkollhom ċans allura li tirbaħ xi premjijiet fabulous. Fost dawn, Wii u xi ċertifikati rigal u simili, kollha filwaqt mdendlin mal CS50 istudenti u l-klassi u pizza u Facebook. Allura aktar fuq li għada jekk inti tixtieq. Dan allura huwa CS50, għal dawk tal inti jingħaqdu magħna għall- ewwel darba. U nafu li dan il-kors huwa partikolarment determinata li tikseb inti permezz dan il-kors lill-aħħar finali tiegħu, f'liema punt int se jkollu mhux biss għarfien ta 'dawn fundamentali tax-xjenza tal-kompjuter, iżda inti se jkollhom dan is-sett ħiliet prattiċi ħafna li inti tista 'mbagħad tieħu lura dipartiment tiegħek, jekk huwa xjenzi inġinerija, applikati matematika, x-xjenzi fiżiċi, naturali xjenza, jew simili. Tabilħaqq, dak hekk eċċitanti dwar ix-xjenza tal-kompjuter dawn jiem hija li huwa biss hekk applikabbli għall kull xorta ta 'oqsma. U anki jekk illum, aħna ser biss tobrox il-wiċċ ta ' tradizzjonali ħafna programmar bil-lingwa magħrufa bħala C, aħna ser minflok tħares lejn xi ħaġa imsejħa Scratch, xi ħaġa ma li din l-istorja imħabba cookie ġiet implimentata minn wieħed mill tiegħek predeċessuri fis-snin li għaddew, li tgħid l-istejjer, biex joħolqu logħob, biex joħolqu arti interattiv, u li attwalment jibdew biex nagħlaq tagħna imħuħ madwar xi wħud mill-constructs fundamentali li sottostanti programmazzjoni iżda f'kuntest, kif tkun taf tara, li l- ħafna inqas scary, li ħafna inqas arcane, minn se tara qabel fit-tul. U realizzata, wisq, għal dawk tal inti biss jingħaqdu magħna din semestru, l-frażijiet li fuqhom għandna ntemmet lecture l-Erbgħa, mhuwiex daqshekk importanti fejn inti tispiċċa relattiva għall tiegħek klassi f'din il-klassi, imma fejn int, sa l-aħħar semestru tal- fil-ġimgħa 11, jispiċċaw relattiva għall lilek innifsek dritt illum stess. Allura mingħajr aktar dewmien, dan huwa wkoll min jinnota li dawk inqas komdi, dawk x'imkien bejniethom, huma ukoll, permezz tad-disinn ta 'dan il-kors, ma f'xi żvantaġġ vis-a-vis dawk aktar komdi bidu fis-din il-klassi. Kif tkun taf tara matul il-ġimgħat li ġejjin, għandna differenti binarji għall-isfond lura diverġenti, sezzjonijiet għal dawk anqas komdu, aktar komda, dawk x'imkien bejniethom. Kif tkun taf tara dan il-weekend u ġimgħa d-dieħla, żewġ verżjonijiet tal- settijiet aktar problema fil edizzjoni standard u Hacker tnejn hekk li intom kollha tista 'tagħżel awto-fit-triq magħhom inti huma l-aktar komdu. Allura llum, aħna adsa fis din il-programmazzjoni lingwa imsejħa Scratch. Huwa lingwa ta 'programmar grafika, u madankollu jkollha l- istess karatteristiċi ta 'wħud mill-lingwi ta' livell ogħla Aħna ser tesplora aktar tard fil-semestru, fosthom C u JavaScript u PHP. Iżda huwa għaddej biex inessu biex jevitaw xi wħud mill-distrazzjonijiet kmieni ta 'sintassi, affarijiet simili semicolons, parentesi, u dettalji arcane oħra li,-ewwel daqqa t'għajn, huma biss mhux fil-livelli kollha intellettwalment interessanti u għandhom tendenza li jiksbu fil- il-mod minn xi fehim fundamentali. F'termini ta 'issa l-istruttura ta' appoġġ qabel, realizzati dan għodda, CS50 Iddiskuti, li se jkunu marbuta fuq il-kors tal- websajt aktar tard illum, huwa l-forum ta 'diskussjoni onlajn fl- li inti ser tkun kapaċi li jistaqsu mistoqsijiet ta 'xulxin u persunal, u huwa wkoll għodda, kif aħna ser tara ġimgħa d-dieħla, li aħna ser tuża pjuttost integratedly fil uffiċċju siegħa kif ukoll. Tabilħaqq, ħinijiet jibda nhar it-Tnejn, u franchement, l-ewwel ġimgħa tal-ħinijiet tal-uffiċċju hija essenzjali pjuttost baxx. Ma naħsibx li inti ser issib Scratch kollu li inaċċessibbli. Huwa pjuttost ta 'spjegazzjoni, kif Ser naraw, u iva, liema aħna ser tagħmel użu minnha għal-lum huwa li estratt xi wħud mill- ideat fundamentali li se, imbagħad, jippersistu matul il- bqija tas-semestru. Iżda jibda Tnejn, fi 8:00 PM permezz 23:00 se jkun uffiċċju siegħa Annenberg aktar minn waqfa moħħ. Sezzjonali 2 se tibda illejla, hekk f'xi din weekend, mur cs50.net/section, u tkun taf jintalbu għadd ta 'mistoqsijiet. Fost dawn, kif tiddeskrivi tiegħek livell ta 'kumdità bħala ta' llum? M'hemm l-ebda hard, regola malajr dwar min huwa li barmil. Huwa biss il-tip ta 'ħaġa li inti probabilment taf jekk inti huma fost dawk l-anqas komdu jew mod ieħor. U issa, walkthroughs. L-ispeċifikazzjoni sett problema għal din il-ġimgħa, kemm standard u edizzjoni Hacker bl-istess mod, huwa online fuq cs50.net minn issa. U tkun taf tara li l-ewwel minn dawn edizzjonijiet, il- edizzjoni standard kull ġimgħa, hija akkumpanjata minn xi ħaġa li aħna sejħa walkthrough kodiċi, sessjoni immexxi minn wieħed mill- fellows tagħlim kors li jiggwidawk, jipprovdu suġġerimenti dwar, u inti tikseb jistabbilixxi triq partikolari meta niġu biex jibdew dawn is-settijiet problema. Allura ma 'kull wieħed minn dawn problema settijiet, jekk int qatt jixtiequ għalik innifsek fejn nista tibda, inti tibda ma 'dawn walkthroughs. U fil-fatt, ippermettili jintroduċu Zamyla Chan, dan is-sena ta 'tagħlim sħabi li se jkun qed imexxi kull waħda minn dawn walkthroughs. Zamyla? [Applause] ZAMYLA Chan: Oh, hi kulħadd,. Jisimni Zamyla. I'ma inġinerija junior jistudjaw fl Winthrop Kamra. Imma jien jippruvaw u tajbin fl kif ħafna korsijiet tax-xjenza tal-kompjuter kif I tista ', u huwa għalhekk li jien verament eċċitati li jkun qed imexxi din walkthroughs is-sena. Walkthroughs, għalija, kien parti essenzjali tal-CS50 tiegħi esperjenza. Matul il-walkthrough, għal kull p-sett, aħna ser jgħaddu il-problema stabbiliti flimkien, ħarsa fuq il-problemi, it-tip ta ' jaqsmuhom up fis gdim maniġġabbli. I ser jagħtuk tips, tekniki, biex jinkiseb permezz ta 'u jkollna beda. Jien nittama li nara inti kollha fil-walkthroughs. Jekk inti ma tistax tagħmel dan fil-persuna, imbagħad jekk jogħġbok do tixgħel online. DAVID Malan:. Eċċellenti Grazzi, Zamyla. Allura jirrealizzaw li walkthroughs huma, fil-fatt, fuq il-ġimgħa wara nofsinhar, iżda dan huwa deliberatament permezz tad-disinn b'tali mod li anki jekk youd pjuttost ma jattendu klassi nhar ta 'Ġimgħa wara nofsinhar, il-videos se jkun f'idejn l-aktar malajr matul il-weekend. Allura jirrealizzaw li cs50.net se jkunu kollha ta 'l-Zamyla walkthroughs. U li hemm data tal-lum u l-ħin, 03:00, Harberd Hall, 104. U xi wħud mill-fellows tagħlim ppreparaw ukoll xi rimarki għalik in absentia biex jagħtuk daqsxejn ta ' perspettiva dwar liema esperjenza tagħhom u l-bidu fis- għeluq ta 'CS50 kien simili. Mela jekk nistgħu dim-dwal għal ftit mument, I jagħtik xi wħud mill-persunal CS50 s. JACKSON STEINKAMP: I ħa CS50 aħħar sena bħala freshman fil- jaqgħu, u huwa assolutament nefaħ my mind. I qatt ma ħadet xi klassijiet ta 'programmazzjoni qabel, u qatt daħal ma 'kwalunkwe xjenza tal-kompjuter esperjenza fil-livelli kollha. U biss, Smajt il-buzz dwar il-klassi u ddeċieda li jieħu dan. Julia MITELMAN: Kien verament gost, tassew involviment. I għadhom, sal-lum - I biss reċentement raw Għandi l-floppy disk li David tana fl-ewwel jum tagħna ta 'lecture. I kien mdendla fuq ħajt tiegħi. Din hija probabbilment ftit nerdy, imma I mdendla fil dwar tiegħi ħajt matul il-klassi bħala tifkira ta 'kif jiksaħ kien. TRAVIS Downs: Huwa hekk imbarazzanti. JACKSON STEINKAMP: Computer xjenza hija xi ħaġa li għandek għandek tipprova anki jekk int ma wieħed għal ix-xjenzi tradizzjonali. Huwa l-esperjenza tagħha stess, u CS50 se tagħmel żgur li int appoġġjati ukoll permezz ta 'dan ma' l-armata vera tagħha ta 'TFS. ALI NAHM: I ħa bħala freshman, u so I magħmula ħafna ta 'ħbieb ġodda. I wkoll ltqajna introdotti għal dan konċentrazzjoni kollha u iskola kollu ta 'l-inġinerija, u so I jirrakkomanda ħafna dan u nilqgħek familja CS50 tagħna. Yaniv YACOBY: CS50 biss tgħallem kif għandek tuża għodda li huma ġeneralment aċċessibbli. Inti biss bżonn laptop, għandek bżonn web browser, u inti ħtieġa li jitgħallmu jiktbu xi kodiċi, u inti tista 'verament jibni affarijiet pulita. KAREN Xiao: Huwa biss hekk jibred biex ikunu jistgħu jagħmlu xi ħaġa u lin-nies jużawh u lin-nies jarawha, u li l- dak I really love dwar dan. TIM MCLAUGHLIN: - sens ta 'komunità, naħseb, f'dan aktar minn kull kors ieħor stajt meħuda s'issa kors. Int mhux biss tieħu ieħor - int ma timla ieħor rekwiżit. Int mhux biss ser lectures u tmur taqsima. Imma int tagħmel tunnellata ta 'affarijiet li huma kollha dwar ipprogrammar u kollha dwar it-teknoloġija, iżda ma verament jħossu bħal klassi maġġoranza tal-ħin. Downs Travis: U fl-ewwel jum, huma mogħtija barra kejk, u I kien istantanjament mibjugħa. JACOB PRITT: kandju Ħieles u pizza. ZAMYLA Chan: - x'inhu l-livell interess tiegħek, I think li CS50, inti ser ikollok gost, u tkun taf tkun intellettwalment stimulata. MARKA GROZEN-SMITH: Huwa dejjem parti fil-klassi, u huwa parti kull lejl li jaħdmu fuq tiegħek p-sett. JACKSON STEINKAMP: Kull darba li inti finitura sett problema, inti se jħossu bħal inti stajt lest proġett. Melissa Niu: Kien sena freshman, u I kien sar shopping. Kelli erba 'klassijiet tiegħi lesta, u I kien fil Annenberg. U jien bump fis xi ħabib, u huwa jgħid, ħej, jien shopping din il-klassi imsejħa CS50, u inti għandek come miegħi. Spiċċaw tieħdu li jaqgħu, u wara dik il-klassi, I ħsibt forsi jien ser minuri fil CS. Imma hawn I am, tliet snin wara, xorta jistudjaw kompjuter xjenza u fil-fatt jagħmlu dan bħala maġġuri, u I imħabba kull mument ta 'dan. ROB Bowden: Għandi l-ebda idea. ALI NAHM: Ejja naraw. Melissa Niu: craziness. SPEAKER 1: inħoss bħal I d jkun ħafna cliché. I d biss jgħidu, bħal, biża '. Yaniv YACOBY: Aċċessibilità. JACOB PRITT: kandju Ħieles u pizza. TRAVIS Downs: Ma jistgħux nirrifjuta klassi li l-idejn out kejk. TIM MCLAUGHLIN:. Enerġetiċi Vipul Shekhawat: Essenzjali. ROB Bowden: Let me think ta 'risposta. I think I ltqajna xi ħaġa. Oh, god. Yeah, jien jisimni Rob Bowden, u dan huwa CS50. [Applause] DAVID Malan: Kull dritt, hekk ejja tibda żebgħa stampa tad-direzzjoni li aħna tista 'tmur, u ejja jintroduċu dan il-kunċett hawnhekk magħrufa bħala pseudocode. Allura pseudocode mhix programmazzjoni lingwa unto innifsu. Huwa xejn tekniku per se, imma huwa biss tip ta ' mod ġenerali ta 'tesprimi lilek innifsek pjuttost b'mod preċiż, pjuttost algorithmically, pjuttost proċeduralment, iżda mingħajr ma joqogħdu jinkwetaw dwar dak lingwa li qed jesprimu ruħek pulzieri Huwa xi mudell ta 'l-Ingliż u lingwi ta' programmar ma li jiġri li jkun familjari, hekk aħna tista 'tibda bil-miktub dan it-tip ta 'ħaġa kif immorru. U fil-fatt, Joseph, jista I tissellef inti up fuq il-palk li jkunu scribe hawn? Stajt marret quddiem hawn bil-quddiem u minsija li jpoġġu fuq xi kalzetti llum, u dan ser ikun fost aktar tagħna eżempji redikoli. Issa, I bżonn inti hawn fuq. I ser tagħmel il-parti kalzetti. Allura hawnhekk għandna pad scratch ftit. Dan huwa litteralment biss TextEdit fil Mac. Aħna mhux fil-fatt se jikteb programm Runnable, iżda aħna qed biss ser tibda Skeċċjar l ibbażata pseudocode fuq xi wħud mill-avukat inti tipprovdi lili hawn. Allura hawnhekk huwa pile tiegħi ta 'kalzetti fid-dar. Għandi l-ebda kalzetti fuq meta I jinxtegħel fil-għodu, u aħna issa ħtieġa li jikteb programm, algoriżmu ta 'tipi, li magħhom biex tikseb dawn kalzetti fuq saqajn tiegħi. U tul it-triq, ejja ara jekk irridu vjaġġ fuq, jew tiltaqa 'ma, xi wħud mill-ideat li int ser ikollhom jibdew ħsieb dwar ħafna aktar serjament meta jipprogrammaw lest programmi tiegħek ma jaġixxix pjuttost kif maħsub. So I joqogħdu bilqegħda hawn. Stajt ltqajna munzell tiegħi ta 'kalzetti. X'inhu l-ewwel ħaġa bniedem raġonevoli kieku do meta l-għan huwa li jitpoġġew fuq par kalzetti? Xi ħadd jagħti me pass wieħed, u wieħed biss pass. Yeah? UDJENZA: Ilwi l isfel. DAVID Malan: Ilwi l isfel, Okay. Pass 2. Pass 2. UDJENZA: Aqbad suletta tiegħek. DAVID Malan: Aqbad suletta tiegħek. Okay, l-ambigwità tant żgħira hawn, u dan huwa wieħed mill-ewwel xkiel blokki li aħna qed suppost deliberatament jiltaqgħu hawn. Huwa ftit ambigwa, hekk pick up suletta tiegħek. Fine, jien ser tieħu dan wieħed, imma kompjuter, tirrealizza fi ftit bit, mhux se jkollhom dik it-tip ta 'istint tal-bniedem għal ftit pick-eqreb wieħed. Aħna ser ikollhom jibdew, qabel twil, jesprimu nfusna b'mod aktar preċiż. Kull dritt, hekk pass 2 huwa pick up suletta tiegħek. Aħna ser teħodha. Pass 3. Fil-dahar. UDJENZA: Sib par tqabbil. DAVID Malan: Sib par tqabbil. Okay, għalhekk dan huwa tajjeb. I kellhom jagħżlu dan suletta. Allura l-għan huwa li tinstab suletta tqabbil, issa, imma dak jfisser? A bniedem raġonevoli li, ferm simili l-Erbgħa meta I biss kien jaf kif issib Mike Smith fil-ktieb tat-telefon, biss tip ta ' marru ma istint tagħhom. Iżda hawnhekk, huwa ovvjament dan suletta hawn, iżda tal-kompjuter mhux se jkun hekk istintiv. A kompjuter huwa se jkollu ġabra ta 'bits, kif aħna diskussi nhar l-Erbgħa, u dawk li huma organizzata b'xi fil-memorja. Iżda l-punt huwa li l-kompjuter għandha biss il-kapaċità li tħares lejn l-affarijiet wieħed fi żmien, u fil-fatt, anki aħna bnedmin - anki jekk tħoss bħal I glanced isfel u qasma 2 tard Naf fejn il-suletta hija, moħħ tiegħi u l-għajnejn tiegħi preżumibbilment ma a quick skim ta 'dawk kalzetti, u mbagħad maqfula fuq il-wieħed fil-kwistjoni. Allura jekk aħna tkun l-aktar intenzjonat issa bħala kompjuter, kif nista 'nsib dan il-par tqabbil? Ukoll, irridu jtenni. Irridu forsi loop matul dan mess ta 'kalzetti fuq il- art fejn I ngħid xi ħaġa simili GĦAL KULL suletta, pick it up, U JEKK l-istess forma u daqs bħala l-ieħor, imbagħad dot, dot, dot, aħna ser tkompli l-istorja. Allura għal kull suletta, so I pick up dan wieħed. I check hija din ugwali għal dan wieħed. Mhuwiex, so I twarrab ġenb. Imbagħad I jtenni mill-ġdid. Huwa dan wieħed ugwali? Le, mhuwiex, so I poġġih aside. Huwa dan wieħed? No Dan wieħed? Le, u oħrajn. U mbagħad finalment, wieħed jittama, I se jiltaqgħu ma 'din suletta hawn. Mela jekk huwa l-istess għamla, daqs, teħodha. U issa, x'għandhom ikunu pass li jmiss tagħna hawn? Yeah? UDJENZA: Identifika dritt mix-xellug. DAVID Malan: Okay, jidentifikaw lemin u xellug, sabiex fortunatament, dan it-tip ta 'xogħlijiet. A simetriċi ftit, jew stajt biss jintlibsu lilhom dak il-mod. Kull dritt, hekk stajt identifikat il-lemin. U issa, qabel we tipproċedi, let me punt dak Ġużepp qed tagħmel hawn bħala tip ta 'programmer versed. Għalhekk għal darb'oħra, hemm ebda mod wieħed kif isir dan, imma lil hinn minn sempliċiment numerazzjoni il-linji, Joseph diġà bdew jagħmlu dan tip ta 'indentazzjoni. Tabilħaqq, dan huwa konvenzjoni komuni ħafna fl-ipprogrammar, fejn meta inti tagħmel xi ħaġa iterattiv, looping stil, kif aħna qed timplika bil-frażi Ingliża "GĦAL KULL suletta, "il-konvenzjoni pseudocode u, kif aħna ser tara, lingwi normali ta 'programmazzjoni, huwa biss inċiż. Hit-ispazju bar għal xi ftit drabi, laqat il-ewlenin Tab jew simili, b'tali mod li nested taħt "GĦAL KULL suletta" hija l-blokki ta ' Jittieħed li għandek bżonn tagħmel bħala riżultat ta 'dak loop. Allura dak kollu li jwasslu semantikament. Issa sadanittant, il-"Jekk huwa l-istess forma u daqs," il- fatt li "Ħudu" hija inċiża wkoll ifisser biss dan huwa l-unika ħaġa li għandek tagħmel jekk din il-kundizzjoni, jekk dik il-fergħa, li furketta fit-triq, huwa fil-fatt veru. Allura issa hawn, aħna qed dwar il-pass 4, jidentifikaw lemin u xellug. Stajt identifikat id-dritt. Agħti me pass 5. U teknikament, nistgħu verament sejħa l GĦAL KULL ħaġa - inti għandek probabbilment jinnumera l-linji jekk aħna qed tmur biex tagħmel dan. JOSEPH: [inaudible] DAVID Malan: [inaudible]? Okay, multa, id-dritt, aħna ser tagħmel dan tiegħek mod. Kull dritt, hekk pass 5, kif nistgħu nagħmlu l-suletta dritt? Kif nistgħu tipproċedi jmiss, hawn? Iva? UDJENZA: Lift up riġel tal-lemin. DAVID Malan: Lift up riġel tal-lemin, Okay. Pass 6? Malajr. Yeah. UDJENZA: Sib tarf miftuħ tal-suletta. DAVID Malan: Okay, issib it-tarf miftuħ tal-suletta. Allura tajjeb. Allura hawn, onestament, l-istint komuni ħafna se jkun biss jitqiegħdu fuq suletta dritt, iżda li wisq huwa pjuttost ambigwu. Sakemm il-kompjuter jew bniedem jaf eżattament dak li tfisser, huwa mhuwiex ser ikun li tesegwixxi li, hekk hawn, stajt sabet li l-ftuħ ta 'l-istokk. Pass 7? UDJENZA: Touch għajnen tiegħek. DAVID Malan: sieq Touch. Okay, hekk issa we go - Kull dritt, jien ser jieħdu xi libertajiet hawn. Grazzi. Pass 8? Poġġi fuq suletta. Okay, hekk issa I, think we qed qrib biżżejjed biex issolvi tad tieħu dan wieħed fid-dar. Kull dritt, għalhekk dan imur up. I ser tieħu xi libertajiet ma 'dak li jfisser, fil-fatt. Poġġi l-suletta fuq. Kull dritt, issa pass 9? UDJENZA: Poġġi sieq isfel. DAVID Malan: Grazzi. Pass 9, mressqa marda isfel, u issa, aħna tista 'tirrepeti. Allura preżumibbilment, nistgħu issa tmur fil-pass 10 u jgħidu jidentifikaw xellug suletta, iżda li preżumibbilment diġà sar. U hekk imbagħad, nista sort ta irreperti dawn il-passi. Iżda dan it-tip ta 'iqajjem il-kwistjoni. Qabel, l-aħħar darba ridna li jirrepetu xi ħaġa, aħna ma kien iteratively, għal darb'oħra u għal darb'oħra, a GĦALL KULL loop biex ngħidu hekk. Ikun jagħmel sens li tuża loop sabiex jimmaniġġjaw kemm ix-xellug u l-suletta dritt? Minħabba li jħoss simili dawn l-operazzjonijiet huma pjuttost ħafna identika ħlief għall-fatt li wieħed jibda hawn u wieħed tibda hawn? Do we loop, jew nistgħu biss iżommu passi bil-miktub 10 u 11 u 12? UDJENZA:. Loop DAVID Malan: Okay, hekk loop. I attwalment jista 'jkollhom qal biss iżommu għaddejjin. Allura għaliex huwa dan il-każ? Ukoll, dan huwa fil-fatt l-ewwel ta 'tagħna mhux ovvju deċiżjonijiet tad-disinn, u fil-fatt, wieħed mill-metriċi li magħhom aħna ser jibdew jevalwaw, għalina u għalik, il- kwalità ta 'programm huwa kemm ukoll mfassla huwa. Have you jsir l-ammont ta 'xogħol meħtieġ minimu li x-xogħol isir l-aktar malajr, jew f'termini ta ' ħin tiegħek jew f'termini ta 'running time tal-kompjuter? Kemm operazzjonijiet ma li tieħu biex tesegwixxi? Allura forsi, din hija opportunità għal loop minħabba malli nibda ikkupjar u pasta, bħala Joseph effettiv kieku jibdew jagħmlu fil-mument, int tip ta 'ħela tiegħek żmien, u int qed doppjament espressiva. Iżda fl-istess ħin, dawn huma verament biss żewġ speċjali każijiet, tax-xellug u tal-lemin. U billi qabel, I jista 'jkollhom 10 jew 20 jew aktar kalzetti munzell, huwa definittivament jagħmel sens li ma jkollhom 50-linji ta ' Kodiċi qal tivverifika din suletta, allura dak li jmiss, allura dak li jmiss. Hawnhekk, huwa ftit inqas ovvji, u jien proposti li nistgħu jmorru jew mod. Aħna jista 'jkollhom jew li loop, għalkemm biss loops darbtejn, jew nistgħu sempliċiment kopja u paste biss ftit hawn biex x-xogħol isir. Iżda dan il-programm huwa Buggy, biex ngħidu hekk. Jista 'jkollha xi żbalji, żbalji, jew każijiet kantuniera, hekk li jitkellmu, li aħna ma verament tantiċipa. Xejn li marret ħażin dan iż-żmien, imma dak setgħet marret ħażin filwaqt li jesegwixxi dan il-programm? UDJENZA: Inti ma għandekx xi kalzetti. DAVID Malan: Allura jista 'jkun hemm l-ebda kalzetti hemmhekk tkun xi tkun. Mela ejja jikkunsidraw il-każ kantuniera. Mela jekk nistgħu iscroll lura sa pass wieħed, hekk pass wieħed kien liwja isfel, biex din kontrolli out. Pass 2, pick up suletta tiegħek, iżda mbagħad issib suletta tqabbil, jidentifikaw id-dritt. Aħna tip ta magħmula mazz sħiħ ta 'suppożizzjonijiet, u dan huwa, franchement, għaliex il-programm kultant crash. Jekk inti, il-programmer, għamlu ċerti suppożizzjonijiet, bħal żgur hemm għaddej li jkun kalzetti jew żgur hemm għaddej li jkun memorja jitħalla fil-kompjuter, żgur hemm għaddej li jkun hemm spazju disk jitħalla fuq il-hard drive - Ukoll, jekk inti tagħmel dawn is-suppożizzjonijiet, u li mhux, fil-fatt, ir-realtà, li jaf xi kultant dak tal-kompjuter se jagħmlu? U xi kultant, meta ikollok l-ballun bajja għażil jew l- Windows iffriżat jew simili, li preċiżament minħabba xi programmer ma tantiċipa dawk il-każijiet kantuniera hekk imsejħa. X'aktar setgħet marret ħażin f'dan il-programm? Yeah? UDJENZA: Inti ma għandekx riġel tal-lemin u riġel tax-xellug. DAVID Malan: Okay, jista 'ma jkollhomx kemm riġel tal-lemin u riġel tax-xellug, u għalhekk dan il-programm tista 'ma tkunx universalment applikabbli. Oħrajn? UDJENZA: Inti jista 'jkollok telgħet suletta orfni. DAVID Malan: I jista 'jkollhom telgħet suletta orfni, so a mhux tqabbil suletta li biss għandha l-ebda aħwa għaliex stajt mitlufa, huwa mqatta, huwa fil-ħasil xorta, jew simili. Allura li, ukoll, ma verament ġie ttrattat. Yeah? UDJENZA: Inti tista 'diġà għandhom kalzetti fuq. DAVID Malan: I jista 'diġà jkollhom kalzetti fuq. I ma attwalment check. JEKK inti ma għandekx kalzetti fuq, imbagħad tipproċedi biex tagħmel Linja wieħed u tnejn. U li jista 'jiġri. Inti torqod bil kalzetti tiegħek fuq u simili, sabiex li, wisq, każ kantuniera raġonevoli ħafna. U forsi wieħed ieħor? UDJENZA: Il-suletta huwa ġewwa barra. DAVID Malan: Allura l-suletta huwa ġewwa barra, hekk għamilna l-ebda żball verifika, fil-qosor. Aħna ma jiċċekkja jekk l-istat tad-dinja huwa kif aħna nistennew. Aħna ma jiċċekkjaw jekk aħna verament sabu dak li aħna qed tfittex. U anke jekk din hija tip ta 'eżempju redikoli jinvolvu kalzetti, fl-aħħar tal-ġurnata, dan huwa eżattament il- tip ta 'mentalità inti jeħtieġ li jkollhom waqt miktub programmi, anki fil Scratch kif ukoll fl-C, JavaScript, fil-PHP, għaliex inkella, programmi tiegħek se juru l- ekwivalenti ta 'dak ball bajja għażil jew biss jagħtu riżultati eżatti. Grazzi tant hawn għall scribe Joseph tagħna. [Applause] DAVID Malan: Kull dritt, iva, liema huwa, fil- fatt, programm tal-kompjuter? Ukoll, ejja tieħu t'għajn malajr fil- rappreżentant wieħed hawn. Allura dan huwa programm miktub b'lingwa imsejjaħ C. Ċ hija lingwi pjuttost qodma dawn il-ġranet, iżda ħafna aktar ġodda huma mibnija fuq quċċata ta 'dan. Tabilħaqq, PHP, waħda mil-lingwi tal-web iċċentrati Aħna ser jużaw lejn tmiem tul ta 'min, fih innifsu jkun dak li sejjaħ għal interpretu, programm li bil-miktub fis-C, iżda aktar fuq dik fil-ġimgħat f'ħafna minn issa. Iżda dan il-programm, u dan huwa dak li tfisser li jiktbu programm, għalkemm wieħed sempliċi ħafna. Għandna xi sintassi pjuttost mistur hawn, imma int tista ' probabbilment raden, anki jekk inti stajt qatt programmati qabel, liema dan il-programm ma. Tabilħaqq, I do not know dak printf hu, iżda jistampa ċertament conjures l-idea ta 'l-istampar xi ħaġa barra. U hekk iva, dan il-programm huwa finalment se jistampa il-kliem "Hello, Dinja." Issa, jekk għandek Mac jew PC jew kompjuter Linux, odds huma, għall-inqas jekk inti jitniżżel xi liberament software disponibbli, inti tista ġew miktub programmi fuq laptop tiegħek għal żmien pjuttost twil issa. Fuq Mac OS, per eżempju, hemm dan il-programm imsejjaħ Terminal li jiġi ma 'Mac, li normalment fl tiegħek Utilitajiet folder, u dan ġeneralment tiftaħ iswed u abjad jew tieqa abjad u iswed li fih inti għandek pront fejn inti tista tip jikkmanda. Allura dan huwa attwalment reminixxenti tal-kompjuters liema użati biex tkun qabel grafika user interfaces, GUIs, wasslilna. Issa, fil-Windows, inti għandek mekkaniżmu simili fil-forma tal-pront kmand. Imma dak li jien ser tagħmel hawnhekk hija tiftaħ, ejja ngħidu, TextEdit darb'oħra, hekk l-istess programm konna jużaw għall pseudocode mument ilu, u jien ser jimxi 'l quddiem u jiktbu program tiegħi ewwel. Inkludi stdio.h, tkun xi tkun li tfisser, int prinċipali null, tkun xi tkun li tfisser, u mbagħad fin-nofs hawn, printf ("bonjour, dinja."). U mbagħad mill-qrib kwotazzjoni, qrib paren, virgola. Issa jien ser jimxi 'l quddiem u biss hit Kmand-S. Jien ser biex jimxi 'l quddiem u ħlief dan bħala hello.c, sabiex il-konvenzjoni id-dinja ta 'programmar C huwa l-isem tal-fajl c dot. Jien ser biss jitqiegħed fil-direttorju dar John Harvard, hawn, ikklikkja Save, u issa jien se jmorru fuq għal dan tieqa terminal, li għal darb'oħra huwa dan pront iswed u abjad fejn I tista 'tesegwixxi jikkmanda. I tista 'taħdem programmi billi jittajpja l-isem tagħhom, mhux billi double-tikklikkja ikoni fis-sens tas-soltu. Imma l-ħaġa hija dwar C hija li lingwa bħal C 1 taqa f'din il-forma, xi ħaġa imsejħa kodiċi sors. Xi ħaġa li jistenna ftit simili Ingliż imma hi definittivament inqas bħal Ingliż minn pseudocode Ġużepp mument ilu. Huwa ftit aktar arcane. Jidher li jsegwu xi mudelli jew regoli. Il-fatt li għandi ċineg kaboċċi, semicolons, kwotazzjonijiet, braces angolu, jħoss bħal kompjuter ħarāet bil din tip ta 'lingwa. Imma jekk immur, issa, għal dan tieqa terminal, I tista 'taħdem kmand li għaddej biex jikkonverti dak il-kodiċi ta 'sors xi ħaġa imsejħa kodiċi ta 'oġġett. Li għaddej biex jikkonvertu l-Ingliż bħall-sintassi li żerijiet u dawk, l-istess xorta ta żero u dawk aħna tkellem dwar l-Erbgħa. Issa, jien ser tmexxi kmand imsejjaħ clang. Aktar dwar dan fil-ġimgħat li ġejjin, iżda huwa programm bi li nista jikkonvertu hello.c fis-mazz sħiħ ta 'żero u dawk. Issa, stajt run dan il-kmand. Stajt run clang, u mbagħad I qal jimxu lilek innifsek fuq dan il-fajl imsejħa hello.c, li I ħolqot mument ilu, u xejn jidher li jiġri. Iżda fil-fatt, jekk I poked madwar id-direttorju dar tiegħi, jiena nara li dan il-programm a.out stupidly jismu issa teżisti. Dan huwa biss l-isem default għal programm meta tikteb fil C. Nistgħu jiskarta dan eventwalment, iżda a.out huwa l- isem tal-programm I biss konvertita żero u dawk. U issa li l-żerijiet huwa s u dawk, Mac tiegħi, f'dan il-każ, jew PC Windows tiegħek, tista 'tifhem dawk bits, dawk żero u dawk. U hekk meta I hit Ikteb, I ara "hello, dinja!" Imma hija Buggy daqsxejn. I ma pjuttost jgħidu "bonjour dinja,: arja: -! Jharvard." Bl-ajru huwa l-isem tal-kompjuter tiegħi. Jharvard l-isem tal-kont, iva, liema ma I b'mod ċar jħalli barra mill-programm? Xi tip ta 'waqfa linja. I ma hit l-ekwivalenti ta Ikteb jew il-ġarr ritorn, u dan huwa, għal darb'oħra, xhieda tal-fatt li l-kompjuters tista ' biss tagħmel dak li jgħidulhom li jagħmlu. U l-fatt li jien ma tgħid il-kompjuter jimxu l- cursor għal-linja li jmiss - ukoll, huwa ċertament mhux se biss tagħmel dan presumptuously għalija. Mela jekk immur lura għall-programm tiegħi, u jien ngħid \ n - Allura \ N, kif aħna ser malajr tara, huwa l-mod ta ' jirrappreżentaw affarijiet stramb bħal karattri linja ġodda, affarijiet li kieku tkun ir-riżultat ta ' laqtu l-Enter. Iżda għal issa, biss jafu li laqtu l-Enter se biss tagħmel kodiċi tagħna ħarsa fard, sabiex id-dinja iddeċieda, inti taf dak, li żżomm affarijiet prettier, li dan jinżamm fuq linja waħda, ejja biss jgħidu \ N jirrappreżenta linja ġdida. Let me resave-fajl tiegħi, mur lura għall-tieqa terminal, u -ripetizzjoni a.out, Ikteb. Still Buggy, iżda għaliex? UDJENZA: [inaudible] DAVID Malan: Yeah, so I bżonn li recompile dan. Allura biex jikkompila programm sempliċiment ifisser jaqilbu mis-sors kodiċi għall-kodiċi oġġett, source code għall żero u dawk. Issa, is-sempliċi fatt li I hit Ħlief dan TextEdit m'għandha l-ebda effett fuq dawk żero u dawk minħabba I ewwel jeħtieġ li tell clang ħej, stajt mibdula dawk il-linji ta 'kodiċi, il- kodiċi tas-sors. Ikollok bżonn li jirriġeneraw a.out. Xejn jidher li ġara, iżda fil-kompjuter, fi linja tal-kmand, biex ngħidu hekk, jiġri xejn meta, li normalment ifisser kollox huwa tajjeb. Meta xi ħaġa ma jiġri, dan ifisser inti messed up, ġeneralment. Mela ejja issa mur a.out, u tabilħaqq issa, għandi "hello, dinja. " U issa, xi ngħidu dwar dawn żero u dawk? Fejn, fil-fatt, huma dawk? Well, I ma tistax verament biss tip ta 'poke madwar ħafna b'mod effettiv. Let me jiftħu TextEdit. Hawn a.out. Let me imorru quddiem u tiftaħ dan, u dan huwa dak li apparentement tiegħi Programm Dehra. Allura stajt miftuħa, mhux hello.c, iżda a.out. Iżda dan huwa attwalment mhux dak program tiegħi hija verament. Ovvjament, dan huwa xi tip ta 'karattri alfabetiċi. Nara l-ebda żero u dawk, iżda dan huwa minħabba a.out huwa programm. Żero u dawk - imma TextEdit, kif tissuġġerixxi l-isem, huwa bħad notepad fuq Windows, huwa biss editur test, dan huwa konfużjoni kollha ta 'dawk żerijiet u dawk li għalkemm dawn kienu, liema? Karattri ASCII. Allura lura nhar l-Erbgħa, aħna biss ħarāet bil din immappjar arbitrarja ta 'numri, jew bits, għall-ittri ta' l- alfabett u simboli punteġġjatura u simili. Allura TextEdit, li huwa editur test għamlet interpretazzjoni żbaljata dawk il-mudelli ta 'żero u dawk li huma mistennija li jkunu istampar kliem, bħal "hello, dinja." Huwa jesponuhom kif ASCII, u hu għalhekk li jistenna messy ftit. Issa, hemm xi ħjiel ta 'korrettezza fil hawn. Avviż jekk I jenfasizzaw, hemm ħjiel ta 'fatt "hello, dinja, "sabiex x'imkien f'dak il-programm huwa is-sentenza I kiteb. Imma ejja imorru quddiem u issa ara ma 'programm differenti. Din mhix waħda aħna ser tuża din ta 'spiss, iżda wkoll ma Mac u se jkun ġewwa ta 'l-appliance CS50. Let me imorru quddiem u tiftaħ ma 'programm imsejjaħ XXD. Lura fil-ġurnata, bosta programmi kienu ssemmew b'mod ġust cryptically, u għalhekk it-tendenza tkompli. Iżda-b ifisser bżiq dan il-programm kif binarja. Ma run. Uri lili bħala żero u dawk, u dan huwa l-Ċ program aħna biss kiteb. Issa, I, bħala bniedem hawn, jien onestament ma jkollu ebda idea dak li dawn it-tendenzi differenti ta 'żero u dawk jirrappreżentaw. Lura fil-ġurnata, I, bl punch cards tiegħi jew bħalhom, kieku attwalment ikollhom ħarsa sa liema dawn it-tendenzi differenti ta ' 01111000, attwalment jirrappreżentaw. Jew agħar, nixtieq bżonn tagħmel l-ippanċjar jew il-ħolqien ta 'dawn it-tendenzi ta' żero u dawk. Iżda għal issa, jieħdu fuq il-fidi li CPU, Intel ġewwa, sabiex biex ngħidu hekk, ġewwa ta 'kollha ta' kompjuters tagħna f'dawn il-jiem, jaf kif jinterpretaw dawn żero u dawk. U xi żero u dawk jfissirx istampar. Xi żero u dawk jfissirx play ħoss. Xi zeroes u dawk jfissirx jieħdu jintuza mill-utent mill-keyboard. Hemm kull xorta ta 'mudelli differenti, iżda aħna Thankfully, bħala bnedmin, biss ġeneralment bżonn ninkwetaw dwar l-ipprogrammar mill- dan pjuttost ogħla livell. U fil-klassijiet CS oħra jistgħu ma wieħed jidħol aktar fil-fond l isfel u jfittxu lejn affarijiet bħall-dawk żero u dawk, jew għadhom affarijiet oħra għadhom. Allura issa ejja jikkonvertu dan. Ejja jimxu malajr ħafna bogħod minn C u jimxu lejn xi ħaġa ftit aktar comforting, ftit aktar eċċitanti, f'dak nistgħu tikseb lura animazzjonijiet tagħna u ħsejjes u simili li b'mod ċar ikunu ħarbu magħna f'dan il- pjuttost primitive interface. Allura dan il-programm istess Ċ jistgħu jkunu rappreżentati issa f'dan lingwa ta 'programmar imsejjaħ Scratch kif ġej. Dan huwa l-ekwivalenti ta 'dan il-programm dinja bonjour miktub dan puzzle biċċa l-istil tal-lingwa imsejħa Scratch. So let me go l quddiem u tiftaħ dan il-programm ħafna. Huwa sejjaħ għal darb'oħra Scratch. Huwa liberament disponibbli, u din hija l-istess ħaġa aħna bdiet illum fuq. Allura dan hawnhekk huwa Scratch, u huwa maqsum ftit biċċiet differenti. Dwar id-dritt nett, aħna għandna l-istadju hekk imsejħa, u fil-fatt, li meta l-cookies mwettqa biss daqsxejn ilu. U fuq l-istadju huma affarijiet msejħa sprites, karattri, jew oġġetti, jew entitajiet. Hija ma verament jimpurtax kif inti taħseb minnhom, imma huma huma programmabbli, ħwejjeġ mobbli, u f'dan il-każ, dan programm li student kiteb tagħna għandha koppja ta 'gingerbread cookies, koppja ta 'cookies ċirkolari, mazz sħiħ ta' qlub, mazz sħiħ ta 'nuċċalijiet. Minħabba dan, hu jew hi kapaċi programm kull wieħed minn dawn karattri individwali separatament. Issa, dak ma jfisser għall-programm dawn il-karattri? Well, let me imorru quddiem u kklikkja fuq dan cookie naħa tax-xellug u iscroll fuq ix-xellug ta 'fuq hawn. Fl-xellug ta 'fuq tal-iskrin tiegħi issa hija l- hekk imsejħa skripts qasam. Dan huwa tip ta 'lavanja vojt, inizjalment, fuq liema nista drag u qatra biċċiet puzzle li, franchement, jagħmlu eżattament dak li jgħidu. Fuq nett ta 'dan il-munzell ta' biċċiet puzzle hija l-kelma Meta Bandiera Ħadra għafast, u jekk inti ma Avviż qabel, il-mod bdejt li l-kanzunetta cookie kienet tikklikkja, litteralment, aħdar bandiera. Allura li l-biċċa puzzle fil quċċata xellug hemm jfisser meta l- klikks tal-bniedem l-bandiera aħdar, ipproċediet biex tagħmel l-affarijiet li ġejjin. Issa, dak ma huma cookie tipproċedi biex tagħmel? I ma verament jafu kif jinterpretaw dan s'issa, iżda l- cookie apparentement stabbiliti groove tagħha għal żero, allura stennew tliet sekondi, imbagħad mibdula grupp tagħha għal waħda, allura stenniet tieni, allura mibdula tagħha lura groove għal wieħed. U allura dan fil-fatt qisu daqsxejn ta 'bug, m'għandux jkollhom jibdlu groove tagħha ġdid u għal darb'oħra sakemm huwa qed jinbidlu x'imkien ieħor, iżda din is-serje ta 'passi huwa dak tiddetta l-aġir ta 'dan cookie partikolari. Mela ejja fil-fatt scroll lura u mhux tħares lejn xi ħaġa pjuttost tant kumplessa s'issa. Let me imorru quddiem u mur File, New, u jiksbu lavanja nadif. Allura issa, I tabilħaqq żona iskrittura vojta, stadju vojta, bl Scratch tagħna Sprite default, u fuq ix-xellug ta 'fuq fuq l-iskrin tiegħi għandi l-pallet ta 'kull tal taghhom biċċiet disponibbli puzzle. U aħna mhux se jmorru permezz kważi li ħafna minn dawn l-affarijiet illum għaliex, għal darb'oħra, ħafna minnhom huma ta 'spjegazzjoni, iżda aħna se jippruvaw jikkategorizzaw lilhom u tfakkar l-similaritajiet ma 'dawn il-lingwi futuri li aħna se adsa. U fl quċċata xellug hawnhekk huwa l-ewwel Meta Bandiera Ħadra għafast, so let me drag dan hawn fuq, zoom out a bit. U jekk I ikklikkja l-bandiera aħdar, xejn verament jiġri minħabba I ma mehmuża ebda loġika, kwalunkwe stqarrija biex ngħidu hekk, biex dik il-bandiera aħdar, so let me go sal- Kategoriji minn hawn. Jien bħalissa fil-kategorija ta 'Kontroll. Jien minflok se jinżlu għall-kategorija Jistenna, u hemm mazz sħiħ ta 'affarijiet hawn li tgħid Say, Aħseb, Bidla Costume Kulur Iswiċċ,. Allura inti tista 'tagħmel affarijiet iblah mal-kostumi u ħsejjes u simili. Let me imorru quddiem u biss jgħidu Say, u issa avviż kif I drag u qatra din il-biċċa puzzle, li għaddej biex jridu lukkett fil-forma korrispondenti. Allura meta I aqbad u itlaq ġurdien tiegħi, huma lock flimkien, u issa jekk immur hawn fuq u kklikkja l-bandiera aħdar, il-qattus ma fil-fatt jgħidu bonjour għaliex dan huwa dak li hu ġewwa ta 'din il-kaxxa bajda. Aħna ser malajr tara li din il-kaxxa bajda huwa dak li jissejjaħ argument, jew parametru. Huwa mod ta 'jinbidlu l-imġieba ta', f'dan il-każ, puzzle biċċa, imma jekk irrid ngħid eżattament dak li għidt qabel, jgħidu bonjour, dinja, I issa tista 'tmur lura fuq hawn, ikklikkja play, u "hello, dinja" huwa dak qal. Allura aħna litteralment programmazzjoni issa. Huwa mhux kollha li konvinċenti ta 'programm, iżda mill-inqas huwa ftit xi ħaġa aktar konvinċenti minn dik jistenna, bi Ewwel daqqa t'għajn, bħal dan. U nistgħu malajr ħafna jiksbu l-aktar espressiva għaliex fil Scratch, bħal fil-lingwi l-oħra, hemm kollha xorta ta 'dikjarazzjonijiet, mhux biss Say jew stampar xi ħaġa, iżda inti tista 'tagħmel affarijiet simili ta' stennija, kif aħna biss raw ma ' il-cookie, xi numru ta 'sekonda. Inti tista 'tilgħab ħsejjes fl-ambjent ta' Scratch biss bħal inti tista 'fil-ħoss tal-kompjuter normali play programm. Tista 'tiċċekkja liema huma msejħa espressjonijiet Boolean. Allura issa, ejja nibdew biex iżżid toolkit tagħna xi terminoloġija li attwalment tirrigwarda l-eżempju li Joseph u jien ma hawn mal-kalzetti. Allura dikjarazzjonijiet huma biss dikjarazzjonijiet ta 'fatt. Agħmel dan. A direttiva għall-Sprite, jew me-bniedem, li jagħmel xi ħaġa. A espressjoni Boolean hija xi ħaġa li għandha valur, ta ' hekk imsejħa verità valur, li jew żero jew wieħed, falza jew vera, off jew fuq, l-ebda jew iva. Ma verament kwistjoni kif inti taħseb ta 'dan, imma hija istat binarja. Kif Nate diskuss fil-video l-Erbgħa, 2 affarijiet differenti. Għalhekk fl Scratch, espressjonijiet Boolean jiġri li tħares bħal dawn l-oġġetti blu hawn, u f'dan il-każ, il-kwistjoni marka jimplika li int tistaqsi mistoqsija. Huwa l-qattus, jew il-Sprite, li jmissu l-mouse pointer? Allura dan huwa biss eżempju wieħed ta 'blokka scratch li għaddej biex inessu biex jiċċekkjaw iva jew le, huwa l-ġurdien jmissu l- Sprite fuq l-iskrin? U dan jista 'jkun utli jekk inti fil-fatt tixtieq li tagħmel affarijiet bil-maws. Minbarra l-espressjonijiet Boolean, aħna għandna l-affarijiet bħall huwa l-maws 'l isfel, sabiex inti tista' tiskopri dak it-tip ta ' kwistjoni kif ukoll. Nistgħu nagħmlu l-matematika jekk inti fil-fatt tixtieq, u hemm użi attwalment aktar konvinċenti għal dan milli sempliċiment pur ta ' aritmetika, kif Ser naraw. Randomness Psewdo u jagħmlu program tiegħek jidhru li jaħsbu jew jġib ruħu differenti bbażata fuq xi valuri apparentement każwali, u allura għandna affarijiet simili espressjonijiet Boolean simili U. Mela jekk inti fil-fatt tixtieq li jiċċekkjaw żewġ valuri, Ser naraw fil Scratch li nistgħu attwalment test jekk dan huwa vera u dan huwa veru. Per eżempju, fil-każ ta 'kalzetti tiegħi, I jistgħu stajt fil- ħafna aħħar staqsa l-mistoqsija jekk suletta tax-xellug huwa fuq u tal-lemin suletta huwa fuq, nieqaf. Inti kollha magħmula għall-ġurnata, sabiex ikun opportunità għal dan. Mela ejja imorru quddiem u jippruvaw biċċa xi wħud minn dawn flimkien u jmorru fi ftit eżempji iktar konvinċenti minn dan wieħed. So let me aqbad hawn u jiftħu xi wħud mill-eżempji li dejjem se jkun fuq il-websajt tal-kors kif ukoll, u jiftħu hello2. Għalhekk fl hello2 hawn, għandna programm li qed jagħmel ftit affarijiet, imma hija ma nagħmilx hekk b'mod effettiv kif nistgħu. Allura hawnhekk jgħid "hello, dinja" għat-tieni waħda u mbagħad tistenna għat-tieni. U mbagħad ma darb'oħra, u mbagħad ma darb'oħra. Mela jekk jien ikklikkja l-bandiera aħdar, Scratch jgħid "Hello, dinja. Hello. Dinja, Hello, dinja. "U dan huwa ovvjament kandidat issa għal titjib. X'hemm-titjib marġinali, wieħed jittama, nistgħu issa tagħmel jekk Scratch jappoġġja l-kunċett? Xi tip ta 'linja. Xi tip ta 'ripetizzjoni, issa, ikun sbieħ, so let me fil-fatt jipprovaw dan. Let me fil-fatt imorru u jimxu dan. Allura avviż jista 'jinqata blokki faċilment daqs inti tista' żżid l- jehmiżhom. Let me go taħt Kontroll, iscroll stabbiliti hawn, u fil-fatt, hemm din il-biċċa puzzle hawn, Irrepeti u Forever u Forever Jekk. Allura hemm numru ta 'modi li jesprimu constructs looping fil Scratch. Il-wieħed I probabilment tixtieq hawnhekk mhix Forever minħabba I biss tridx dan iseħħ tliet darbiet, iżda probabbilment Irrepeti. So let me jkaxkru Irrepeti hawn fuq, drag u qatra, u issa minflok qal "bonjour, dinja" tliet darbiet separati, let me drag din il-biċċa puzzle fil hawn. U anki jekk ma jidhirx li jitwaħħal, il-programm huwa intelliġenti biżżejjed biex tirrealizza dan se jikbru biex timla, dan huwa l- forom dik il-kwistjoni, u mhux id-daqs assolut. Let me jibdlu l-ripetizzjoni għal tlieta, u issa let me go quddiem u drag Stenna Wieħed Tieni fil hemm ukoll. Huwa ser snap fil ukoll, u hekk issa jien ser jkaxkru dawn guys minn hawn u ftit tarmihom minħabba I ma jeħtiġuhom aktar. Let me zoom out u kklikkja l-bandiera aħdar issa, u aħna għandna l-istess programm, iżda, kif I mbassra qabel, aħjar mfassla għaliex inti tista 'jimmaġina kif bad dan il-programm se tikseb, ċertament estetikament, jekk kellek biex tibda l-ikkupjar u pasta, ikkupjar u pasta, jew jittrattienu u twaqqa l-affarijiet darn istess ġdid u għal darb'oħra. Issa, sempliċiment tgħid għalf fuq l-iskrin, l-istampar għall- iskrin, verament kollha mhux li eċċitanti, so ejja tiftaħ varjanza 3 hawn. U issa, kif tkun taf tara, dan ser malajr jiksbu annoying - [Meow] DAVID Malan: - imma hija wkoll tip ta 'ħelu. [Meow] DAVID Malan: Okay, hekk aħjar, u nistgħu ċertament jużaw dik transizzjoni istess Tkissir fi bċejjeċ dan up fis looping istruttura, imma ejja jagħmluha aktar interessanti xorta. Let me imorru quddiem u tiftaħ varjanza 4 hawn, fejn I jieħdu l-affarijiet pass ulterjuri. Allura skond dan, għalkemm dan huwa iblah fl-ewwel t'għajn, dak li huwa dan il-programm se jagħmlu? Huwa ser meow darba. Għaliex? Ukoll, wieħed huwa, safejn naf, dejjem inqas minn tnejn. M'hemm l-ebda kunċett ta 'randomness hawn. Stajt litteralment hard-kodifikati wieħed u tnejn, imma din hija Eżempju issa li attwalment jużaw espressjoni Boolean. Ħafna bħal kif Joseph għamlet fil pseudocode tiegħu, l-indentazzjoni IF issib kalzetti tqabbil imbagħad tagħmel dan li ġej, hawnhekk għandna espressjoni IF waħda hija anqas minn 2 Imbagħad - u fil-fatt aħna anke jkollhom xi ftit ta 'indentazzjoni, fejn il-vjola huwa kemmxejn indentati lejn il-lemin - Imbagħad int ser jilagħbu l-meow ħoss. Issa, f'dan il-każ, li wieħed huwa dejjem anqas minn tnejn, għalhekk dan huwa tip ta 'skart ta' kundizzjoni. Iżda aħna ser tkun tista, kif aħna ser tara, li plug affarijiet oħra fis dawn placeholders fejn wieħed u tnejn issa huma. Mela ejja issa javvanzaw għal eżempju 5 ta 'dawn bosta hellos u ħarsa lejn dak li dan il-programm għaddej biex tagħmel. Allura issa, f'sentenza Ingliż, kif ma dan Programm jaġixxu? UDJENZA: Meows nofs il-ħin. DAVID Malan: nofs Meow tal-ħin, għalhekk dan huwa mod ta ' jwasslu idea sempliċi ħafna. Anki jekk aħna jiġri li tkun qed tuża xi inugwaljanzi hawn f'xi numri, dan huwa verament ftit programmatical mod, mod preċiż, ta 'tgħid jekk il-munita jitla irjus, mur quddiem u meow. Jew bil-maqlub, jekk il-munita jitla 'dnub, ma meow. U f'dan il-każ, kif nistgħu jesprimu dak? Aħna ser pick numru każwali minn 1 sa 10, u jekk dik in-numru huwa inqas minn 6, imorru quddiem u meow. U kif ma din tikseb fil hawn? Ukoll għal darb'oħra, l-avviż biss il-jittrattienu u twaqqa u affarijiet lukketti fil-post. Allura issa ejja ara jekk dan randomness xogħlijiet. Let me imorru quddiem u kklikkja l-bandiera aħdar. [Meow] DAVID Malan: Okay. [Meow] DAVID Malan: Okay. Okay, tajba, hekk aħna ltqajna kapijiet, irjus, dnub effettiv. Dnub. [Meow] DAVID Malan: Kapijiet. [Meow] DAVID Malan:. Eċċellenti Huwa dejjem skomdi meta biss statistikament ikollok bad run, u huwa l-irjus, u l-programm fil-fatt ma xogħol bħala youd tama. Iżda dan iż-żmien, hija maħduma, u aħna jidhru li jkollhom, jekk aħna ma dan in-numru ta infinit ta 'drabi, odds 50%. Issa mill-ġdid, mhux kollha li interessanti, biss tagħmel qtates meow, so ejja ara jekk aħna ma tista 'quddiem din id-daqsxejn aktar hawn fil-verżjoni 6. Allura issa, aħna għandna verżjoni verament annoying - [MEOWS kull ftit sekondi] DAVID Malan: - u dan huwa dak magħruf, ġenerali, bħala infinita loop. Loop infinita Allura f'dan il-każ iħoss ħżiena. Huwa definittivament se tibda ħoss ħażina, u għadhom infinita loops mhumiex dejjem ħżiena. Tista 'taħseb ta kuntest programmi tal-kompjuter fejn youd fil-fatt tixtieq li loop infinita? Yeah? UDJENZA: Meta inti tixtieq li jiċċekkjaw kundizzjoni. DAVID Malan: Okay, meta inti tixtieq li żżomm kontroll kundizzjoni? Bħal dak? UDJENZA: [inaudible] DAVID Malan: Okay, tajba, hekk jekk kellek xi programm, xi tip ta 'ħaġa awtomazzjoni dar, fejn inti tixtieq li kontinwament monitor huwa xi ħaġa tal-każ. Huma l-dwal fuq? Huma l-dwal fuq għaliex forsi għandek timer, u inti tixtieq li tmur off, jista 'jkollok bżonn tagħmel xi ħaġa ġdid u għal darb'oħra. U fil-fatt, taħdit ta 'tajmers, kwalunkwe inti li arloġġi fuq il-kompjuter tiegħek jew arloġġi diġitali, li l- infinita loop. Hija tkompli taġġorna l-ħin għaliex dan huwa kontinwament verifika u l-iċċekkjar u l-kontroll għandu l-ħin inbidel, u jekk iva, oh, god tiegħi. L-arloġġ s finalment mibdula. Jeħtieġ juri li valur lilek. Allura billi ħafna mill-linji infinita ta 'żmien huma żball, jew għall-inqas għal deċiżjoni disinn fqir, xi kultant dawn ma jkollhom valur tagħhom. Ukoll, ejja avvanz ulterjuri hawn biex hello7. Allura issa l-programm se tikseb ftit aktar interattiv. Let me zoom fil hawn, u għal darb'oħra, dan huwa dak sbieħ dwar Scratch. U aħna ser tagħmel użu minnha biex tkun ċara, Scratch, biss illum u fil- problema ġimgħa d-dieħla stabbiliti. Iżda nhar it-Tnejn, aħna adsa fis C. F'dan il-programm hawn, dan huwa minnu, dejjem, dan li ġej. JEKK tmiss il-mouse pointer - issa, li hija l- kuntest hawn? Ukoll, u avviż li min s magħżul stabbiliti hawn fuq qiegħ dritt huwa l-qattus, Sprite waħda, sabiex dawn skripts, dan programm, japplika għalih speċifikament. Mela jekk li l-qattus huwa jmissu l-mouse pointer, allura huwa għaddej jilagħbu din il-isfel u stenna żewġ sekondi, u imbagħad irrepeti nauseum ad. Mela ejja imorru quddiem u hit play. Xejn jiġri, imma jekk irrid domestiċi tal- qattus issa, nista 'sempliċiment. [Meow] DAVID Malan: Adorable. [Meow] DAVID Malan: Okay, inqas annoying, iżda wkoll gets matt, hekk ejja jimxu fuq u ara jekk ma nkunux nistgħu tinjetta loġika ftit aktar. Dan kien eżempju 7. Hawn fl-eżempju 8, aħna qed tmur biex jintroduċi kundizzjoni IKTAR. Allura ħafna bħal furketta litterali fit-triq, fejn inti tista 'tmur xellug jew inti tista 'tmur dritt, kundizzjoni ta' programmazzjoni lingwa bħal Scratch, jew kif aħna ser tara C, jistgħu jippermettu li inti jmorru f'direzzjoni waħda jew oħra permezz ta 'IF IKTAR jinbena. Allura pjuttost litteralment, JEKK jmissu mouse pointer, dan se tilgħab xi ħoss, IKTAR li għaddej biex jilagħbu din il ieħor , ħoss meow. Issa, jekk inti tista 'tiddeduċi mill-isem ta' dawn il-ħsejjes, inti tista ' probabbilment raden dak dan il-programm kien ifisser li jevokaw l-idea ta '. Dan qattus huwa meowing heureusement. [Meow] DAVID Malan: B'xorti tajba, iżda ma pjuttost simili li tintmess. [Roars] DAVID Malan: Allura issa għandna qattus li se Yell fi inti. Kull dritt, ukoll, eżempju wieħed aħħar ma 'qtates hawn, u ejja verżjoni miftuħa 9 ta 'dan hawn. Allura issa, aħna għandna l-ħoss jmiss l-aktar tedjanti li stajt isibu, hekk aħna walrus jew iljun baħar hawn li għaddej biex tagħmel dan li ġej. [QOXRA SIĠILL] DAVID Malan: Okay, għalhekk dan se jmorru fuq sakemm inti figura kif dan il-programm tax-xogħlijiet. Allura dan iż-żmien, dan l-annimal għandha żewġ skripts, u x'hemm interessanti hawnhekk huwa li dawn skripts huma ser tesegwixxi b'mod parallel. Allura għaliex it-tnejn jibdew ma 'waħda bandiera aħdar għafast, huwa simili tmur bħal dan, u ż-żewġ programmi jibdew ġestjoni tiegħu ladarba anki jekk dawn qed looping għal dejjem. Għalhekk fl-iskrittura fuq, għandi xi loġika. Xi karatteristiċi ma li tipprovdi up hemm? [QOXRA SIĠILL] UDJENZA: [inaudible] DAVID Malan: Jekk huwa dak? [QOXRA SIĠILL] UDJENZA: Jekk siekta għal żero, li għaddej biex tibqa 'taqdi l- ħoss. [QOXRA SIĠILL] DAVID Malan: Okay, tajba. Allura IF siekta, tkun xi tkun din hija, dan il-ħaġa oranġjo huwa żero, Imbagħad jilagħbu l-ħoss iljun baħar u think "Oh, hi, "għal żewġ sekondi. Issa, jien ma nafx x'inhu siekta, imma żero iqajjem il- idea ta falza jew off. Mela jekk huwa siekta falza, hekk jekk le siekta, tibqa 'taqdi l-ħoss. Kull dritt, ukoll, kif nistgħu jiskonnettjaw din il-ħaġa? Well, ejja nħarsu lejn l-iskrittura 2 stabbiliti hemmhekk. L-iskript 2 jgħid stabbiliti siekta għal żero. Avviż huwa wkoll oranġjo, iva, liema Scratch ma hu huwa kuluri blokki fil-dell istess jekk tip huwa ta loġikament marbuta. Hekk biss bħala top up siekta kien oranġjo, u għalhekk hija siekta stabbiliti hawn imsemmi fil-blokk oranġjo. Iżda dan huwa assenjazzjonijiet varjabbli, hekk bħal fil alġebra, inti għandek xuy u z, fil-programmazzjoni għandek varjabbli, iżda dawn qed ġeneralment - nieqaf ejja għal mument u figura kif li twaqqaf dan Barking. Kif nista 'nagħmlu dan? [QOXRA SIĠILL] DAVID Malan: Okay. Hija waqfet. Okay. Hekk biss kif fl-alġebra ikollok varjabbli x, y, uz, iżda fl- programmazzjoni, wara varjabbli bħall x, y, uz hija ġeneralment frowned fuq għaliex qed mhuwiex f'kull espressiva. Huma jkollhom l-ebda tifsira semantika tkun xi tkun, hekk f'ħafna ipprogrammar ta 'lingwi, fatturi varjabbli jista' jkollhom sħiħa ismijiet sħaħ jew kliem jew frażijiet, bħal siekta, jiġifieri dak li jagħmlu. Allura din l-iskrittura tieni wkoll kien smigħ għal dejjem, u qal jekk iċ-ċavetta, l-Ispazju ewlenin keyboard, huwa ippressat, kwistjoni mark. Allura hemm kundizzjoni ma 'espressjoni Boolean li l- jmorru biex titwieġeb xi mistoqsija jew bil-verità jew falza, imbagħad għandi ġewwa ta 'dan IF-ċavetta ispazju hija ppressata U IF huwa siekta żero, sett siekta għal wieħed, IKTAR stabbiliti siekta għal żero. Allura dan furketta oħra fit-triq, u avviż kif stajt nested-tnejn IF kundizzjonijiet, huwa mod ta 'kkontrollar huwa l- Bar Ispazju ippressat għaliex jekk iva, jien la jridu jmorru din mod jew b'dak il-mod. U kif nista aqleb il-valur tal-siekta? I għandhom jiċċekkjaw huwa żero? Jekk iva, jagħmilha waħda, inkella jagħmel żero sa għalhekk toggle żewġ stati tagħha. Kull dritt, hekk aħna mbagħad xi wħud minn dawn fundamentali constructs. Aħna espressjonijiet Boolean, u tirrealizza, wisq, dawn huma mhux kollha li familjari. Fil-fatt, hawn screenshot malajr ta 'kors Harvard CS50 għodda shopping, u kwalunkwe websajt hemmhekk li tkun checkboxes u downs qatra jkollhom verament, dan il-ħin, kienu jużaw Espressjonijiet Boolean. F'dan il-każ hawnhekk, jekk tikklikkja l-Checkbox li jmiss ikbar minn jew ugwali għal 4.5, jew dak li jmiss istess kors fakultà, int tispeċifika espressjoni Boolean. Urini korsijiet li għalihom dik l-espressjoni hija vera. Jew il-lemin, ma tmurx kontra korsijiet jien teħid, jekk dan hija kontrollata, allura iva, inti tixtieq li tivverifika din il-kundizzjoni, inkella inti tixtieq li jinjoraha. Espressjonijiet Allura Boolean huma tip ta 'kollha madwar, iżda meta aħna tpoġġihom fil-kondizzjonijiet, jekk IF kundizzjonijiet, IF Elses, jew nistgħu saħansitra aktar fil-fond jissimulaw livelli, JEKK IKTAR JEKK IKTAR - b'tali mod li tip ta 'stat tenarji. Inti tista 'tmur b'dan il-mod jew dan il-mod jew il-mod. Nistgħu żżomm affarijiet nesting li jmorru f'direzzjonijiet differenti. Allura Scratch għandha dawn loops, bħal Forever. Huwa għandu dawn il-karatteristiċi simili Irrepeti 10, xi numru finit ta 'drabi. Għandna l-abbiltà issa jiġu stabbiliti varjabbli, hekk f'dan il-każ Stajt iddikjarat, per eżempju, kalzetti imsejħa varjabbli. Stajt initialized għal 0, u li l-énième direzzjoni nistgħu ħadu l hawn ma 'Joseph, fejn forsi I biss iżommu rekord ta 'kemm kalzetti nkun fuq u jtemm il-programm meta l-valur dak il-varjabbli hija 2. Dan ikun mod ieħor ta 'tip ta' jiġġeneralizzaw din problema u tagħmel xi ħaġa għal darb'oħra u għal darb'oħra. Ukoll, ejja imorru quddiem u issa jintroduċu xi affarijiet ġodda koppja. Allura dawk tal inti ma 'esperjenza programing minn qabel se jafu li ħafna ta 'lingwi jkollhom arrays, jew il-vetturi jew listi, u tabilħaqq, ikollu Scratch xi ħaġa bħal din, wisq. Mela ejja ara jekk aħna ma tistax tieħu l-affarijiet għall-livell li jmiss hawn. Jekk Għandi l-abbiltà, issa, ma 'dawn il-biċċiet puzzle li żid xi ħaġa, bħal kelma jew numru, għal varjabbli, nista ' jibdew jakkumulaw affarijiet. U dan huwa attwalment pretty apropos għal affarijiet bħal logħob, irwol-logħob fejn int-tip ta 'mixi madwar xi dinja fantasy ġbir affarijiet, picking affarijiet up, jaqilgħu punti, jew simili. Inti tista 'tixtieq li żżomm rekord ta' xi tip ta 'inventarju, u tabilħaqq, dan huwa dak waħda ta 'ex-studenti tagħna hawn għamlet il xi ħaġa imsejħa Fruitcraft RPG. So let me go l quddiem u tiftaħ dan il-ħaġa hawn, u Fruitcraft, aħna għandna din id-dinja up fil-quċċata. So let me go l quddiem u kklikkja l-bandiera aħdar. Avviż fuq quċċata xellug huwa xi tip ta 'inventarju. Li implimentati Scratch kif dak li aħna ser sejħa firxa jew lista, u issa għandna dan animazzjoni ftit. Hekk biss kif bdejna aktar kmieni ma 'din l-istorja imħabba cookie, u allura aħna avvanzati għall-qtates u iljuni tal-baħar, issa jista 'jkollna affarijiet li huma saħansitra aktar interattiv. U dan Guy blu ftit, I tista 'tibda biex jiċċaqalqu tiegħu dar ftit hawn. Allura jidher qisu hu ltqajna ħruġ stabbiliti hawn, hekk jien jużaw l-ċwievet vleġeġ, up, down, xellug dritt. U issa jien barra, so let dak li stajt ltqajna hawn. Id-Dehra ta 'oranġjo, u tabilħaqq, malli I tmissx il- oranġjo, jiġrilha plopped fis-inventarju tiegħi. Jekk immur minn hawn il-ċirasa, issa għandi xi ħaġa inkella fl-inventarju tiegħi. U din hija kollha sbieħ u ħelu, iżda jaħsbu dwar kif, issa, dan hija implimentata. Well, aħna għandna din l-idea ta 'lista, u li apparentement a biċċa puzzle li inti biss jgħidu dak li trid jżidu miegħu, żid oranġjo, żid ċirasa. Issa, dak li huwa dan Guy blu ftit tagħmel? Ukoll, hu tal Sprite. U preżumibbilment, il-larinġ u l-ċirasa - huma stess kienu sprites separati. U l-użu kundizzjonijiet espressjonijiet Boolean, il- Student kien probabbilment jistgħu jesprimu IF Guy blu hija ċirasa jmissu Imbagħad żid il-ċirasa kelma li tiegħu inventarju, u allura wkoll jaħbu l-Sprite ċirasa. Allura taħt il-barnuża, hemm probabbilment għadu ċirasa Sprite hemmhekk. Imxejna biss told din issir b'mod effettiv inviżibbli. Issa, jekk I iżommu mixi minn hawn, nistgħu wkoll nagħmlu dan Ħaġa prossimali, fejn I tista 'tmur u aqra l-sinjal. Mela jekk Guy blu jmissu sinjal, li jista 'jkollna din il-blokka Say bħad-qattus tkellem lilna fi kliem, bonjour, qabel, "Ghandek xi frott? Ġib sal-post tal-frott. "Kull dritt, hekk issa, apparentement, Għandi direzzjonijiet tiegħi. I tista 'tmur fuq hawn fil-post tal-frott, linja up myself bil-bieba. Issa, jien fil hawn. I tista 'tmur sa l-bniedem fuq il-counter. Huwa jiskopri li jien qrib tiegħu, u għalhekk ma għandhom ikunu pjuttost identiku jmissu, u I rebħu l-logħba. Allura hemm aħna għandna Fruitcraft RPG. Allura nistgħu nagħmlu l-affarijiet aktar avvanzati minn dan. Aħna tista 'żżid ħsejjes. Aħna tista 'żżid randomness psewdo. Aħna tista 'żżid il-kumplessità. Let me imorru quddiem hawnhekk, u minflok tagħmel dan myself, let me nuruk wieħed mill-sottomissjonijiet aktar sofistikati sirna aħħar sena minn xi ħadd ċerti jismu Blake. Jista aħna għandna waħda voluntier li huwa komdu li jidhru fuq kamera u huwa f'idejn għal playing a game? Kif dwar id-dritt hemmhekk? Come fuq up. Kull dritt, sabiex il-logħba li inti għadek unknowingly offriet li jilagħbu - [Applause] DAVID Malan: - hija xi ħaġa mill-imgħoddi imsejħa "Frogger." X'inhu l-isem tiegħek? Renda: Renda. DAVID Malan: Redna? Renda: Huwa simili Brenda ma 'b. DAVID Malan: Okay, Renda. David. Nizza biex jissodisfaw inti. Allura hawn "Frogger," u jekk nistgħu jgħollu l-volum eżatt ftit, inti dan ftit Żrinġ aħdar fuq il-qiegħ. Tista 'tuża xellug, lemin, u' l isfel, u mira tiegħek huwa li jaqsmu l-triq, jaqsmu l-xmara, u tmissx il-pads lily fil-quċċata. Aw. Wieħed aktar t - jerġa 'jagħmel, id-dritt? Let stop hit s. Ħadd ma raw dan. [Applause] [Applause] DAVID Malan: Yeah. Tajjeb ħafna x'isir. Eċċellenti, grazie. Allura li kien hemm Frogger. Issa li taf dak li inti stajt gotten infuskom fil, voluntier wieħed aktar għal differenti logħba sottomessa mill student ieħor. Inti tixtieq li ġejjin fuq up? X'hemm isem tiegħek? RICHARD: Richard. DAVID Malan: Richard. Kull dritt, Richard, come fuq up. [Applause] DAVID Malan: Inti għandek xi ħaġa li ser ħoss familjari malajr, hekk hawn huma l-istruzzjonijiet tiegħek. Allura fil-mument, xi biċċiet puzzle ser iscroll mill-iskrin li tfittex jew xellug jew dritt jew 'l isfel. Int ser ikollok hit-ċwievet vleġġa b'tali mod li jikkorrispondi għal dawk il-biċċiet puzzle lining up ma il-placeholders fuq quċċata. Allura meta tara vleġġa xellug, u li l-linji mat-xellug vleġġa, laqat il-vleġġa xellug. Inti tista 'tibda. [MUSIC - "AKTAR B'SAĦĦTU" Kayne WEST] DAVID Malan: Kull dritt, rawnd kbir ta 'applause għall Richard. [Applause] DAVID Malan: ħafna isir ukoll. Grazzi. [Applause] DAVID Malan: gost Allura u, apparentement, tip ta ' intimidanti kif jista 'jkun li jimplimenta xi ħaġa bħala apparentement sofistikata hekk kif dan, tirrealizza li l-istudent ma stipulati u biss jikteb dan kollu f'daqqa. Pjuttost, inti tista 'tkisser problema kif apparentement kumpless kif din f'biċċiet ħafna iżgħar, u dan, ukoll, hija ser tkun tema. L-agħar ħaġa li tista 'tagħmel fil-kitba ta' programm fil-maġġoranza f'kull lingwa huwa li joqogħdu bilqegħda, jiksbu verament eċċitati, ikteb l- ħaġa kkritikat kollha, u mbagħad ftit tama li taħdem mill- ħin int lest bil-miktub. Pjuttost, il-proċess ta 'programmazzjoni għandhom ġeneralment jkun ħafna deliberat, ħafna iterattiv, fejn inti biss jistabbilixxu passi żgħar ħafna għall infuskom, gidma daqs biċċiet tridu li gidma off, u sabiex ikollok dawn sanità kontrolli, miri ftit inti tista 'tilħaq. U allura inti tibni fuq quċċata ta 'dawk li jinħolqu aktar affarijiet sofistikati għadhom. Għalhekk per eżempju, kif nistgħu tmur dwar implimentazzjoni logħba bħal din? Ukoll, franchement, I ċertament tibda bi ftit appoġġ wieħed ewlieni fi żmien. Ejja biss timplimenta l-appoġġ għall-vleġġa xellug. Allura l-istudent kellhom b'xi mod joħolqu fil Photoshop, jew Scratch ruħha bl-użu editur grafika ftit, l- arrow ewlenin li qisu l-wieħed fil-quċċata xellug hemm, biss il-griż placeholder. Imbagħad l-istudent kellu ċifra barra dak x, y jikkoordinaw biex poġġih fejn li tqiegħed lilha fit-tieqa. 0, 0 hija sa hawn, hekk ikollok biex insemmu l-għadd ta ' pixels, jew tikek, biex jikkumpensaw dan vleġġa minn il-quċċata 'l-iskrin. U mbagħad darba li fil-post, il-programm tiegħek ma attwalment tagħmel xejn s'issa, sabiex inti mbagħad bżonn Sprite 2, għall- eżempju vleġġa ħadra li wkoll tipponta xellug, u inti imbagħad għandek bżonn biex tibda bil-miktub xi skripts għal dan. U tinnota, forsi, li dawn l-affarijiet bdiet ġejjin fil veloċitajiet differenti, u l-kuluri kienu differenti postijiet, u li għaliex l-istudent użat daqsxejn ta ' psewdo randomness. U billi randomness psewdo, I jfissirx biss pick numru bejn xi ħaġa u xi ħaġa għaliex inti tista ' jibdew affarijiet mappa, simili jekk in-numru huwa bejn wieħed u 5, ukoll, ejja jagħmlu l-ħaġa aħdar. Jekk huwa bejn 6 u 10, ejja jagħmlu l-biċċa puzzle aħmar minflok. Sakemm ikollok mod ta jiġġeneraw xi tip ta ' randomness, inti tista 'mbagħad tagħmel deċiżjonijiet ibbażati fuq dik randomness. U jien iżommu psewdo qal każwali għaliex hemm sigrieti maħmuġin ftit. Kompjuters ma jistgħux joħorġu bil numri bl-addoċċ. Huma jistgħu biss jagħmlu dak li qed told minħabba dawn qed magħmula mill-bniedem apparati. Huma ma jistgħux sempliċiment raden numru simili aħna bnedmin jħossu bħal nistgħu. A kompjuter għandu jagħmel xi ħaġa matematiċi li jevokaw l- illużjoni ta 'numru matematiċi, xi kultant bl-użu jum kurrenti ta 'żmien bħala kontribut għall jidhru dak Numru ta 'ritorn, iżda aktar fuq dak ieħor ħin. Għal issa, biss jafu li nistgħu jiġġeneraw randomness psewdo. Allura ladarba għandi l-abbiltà għall-vleġġa xellug biex jibdew li jidhru fi żminijiet differenti u b'veloċitajiet differenti, allura I tista 'tmur lura u żid xi wħud minn dawn IF kundizzjonijiet. JEKK din Sprite qed imiss l-ieħor, u l-vleġġa xellug ċavetta ġie ppressat - hekk tliet kondizzjonijiet f'dak il-każ. I jista 'juża dik U blokk forsi, f'dak il-każ - Imbagħad Irrid immur quddiem u inkrement-punteġġ. U fil-quċċata, aħna għandna punteġġ, aħna għandna biża ', Kessaħ, Good, u Boo. Allura hemm apparentament ħames varjabbli li dan l-istudent użati biex iżommu kont ta 'dawn metriċi varji. Hekk fil-qosor, ir-riżultat aħħari huwa aqwa. Huwa gost, huwa gost jilagħbu, huwa l-involviment, iżda dan mhuwiex fejn l-istudent beda. Hu jew hi bdiet fi sett ħafna iżgħar ta 'passi. Allura dak li huma xi blokki tal-bini oħra li nistgħu nisġa fis-dawn il-programmi? Ukoll, hemm dan il-kunċett ieħor fil-lingwi l-aktar, Scratch fosthom, magħruf bħala ħjut. Allura kompjuter jistgħu attwalment ma verament tagħmel affarijiet multipli fi żmien, għall-inqas mhux normalment. Pjuttost, kompjuter ġeneralment għandu biss wieħed CPU, u anke għalkemm kompjuters huma super fast u jistgħu, għalhekk, joħolqu l-illużjoni ta 'affarijiet multipli fuq darba - iċċekkjar mail tiegħek, jkollna instant , messaġġ istampar dokument - verament, kompjuter huwa biss jaqbeż minn istampar biex IMing biex email, id-dahar u lura u quddiem u lura tant mgħaġġel li aħna bnedmin witted bil-mod biss ma jirrealizzaw li huwa attwalment tħaddim ta 'dawk il-programmi ftit kull darba. Issa, din id-daqsxejn ta 'bajda jinsabu f'dawn il-jiem għaliex, illum, kompjuters ħafna tagħna huma liema huma msejħa multi-core, sabiex inti jkollhom waħda CPU iżda cores multipli, li huwa tip ta 'prodotti simili jkollhom CPUs multipli. U għalhekk kultant, kompjuters tista 'verament tagħmel affarijiet multipli fi żmien, iżda ġeneralment fi ħdan programm, programmi jiddependu fuq dawn l-affarijiet imsejħa ħjut. Allura ħajt huwa tip simili ta 'programm minjatura li jistgħu jeżistu flimkien mal-programm ieħor ta 'daqs żgħir u tista' taħdem b'mod parallel, jew għall-inqas tista 'taħdem taħt l-illużjoni li dawn qed taħdem fl-istess ħin. Allura Scratch jappoġġja dawn l-affarijiet imsejħa ħjut. Inti jista 'jkollhom scripts multipli fuq darba esekuzzjoni, eżatt kif aħna kien mal-iljun baħar, u dan jippermetti li fil-fatt allura jkollhom interazzjonijiet fost dawn il-sprites. Let me imorru quddiem hawn u iġbed up, ejja ngħidu, ħjut, u jilagħbu din kif ġej. Għandna żewġ sprites, li kull wieħed minnhom aħna ser tara għandha wieħed biss iskrittura. U tinduna jidher li hemm xi intelliġenza fil- qattus f'dan il-wieħed għaliex huwa jkollna aktar mill-qrib - [Roars] DAVID Malan: - u eqreb lejn l-għasafar ftit. Allura kif huwa l-operat għasfur? Ukoll, ejja tagħti ħarsa lejn l-għasafar l-ewwel. L-iskript għasafar qal meta l-bandiera aħdar huwa għafast, mur x ugwali negattiv 115 u y ugwali 150. So I biss dehret post każwali fejn jien ridt l- għasafar li tibda, u I biss plopped lilu hemmhekk mill-kontumaċja. Imbagħad Forever IF ma jmissux qattus, għalhekk din hija differenti tip ta 'kostruzzjoni looping, iżda istess idea, jagħmlu dan mill-ġdid u ġdid u għal darb'oħra. Sakemm int ma jmissux il-qattus, jimxu tliet passi, u jekk int fuq it-tarf, bounce, fejn huwa tip ta ' riflessjoni fis-sens tal-biljard. Allura li kif l-għasfur miexja madwar tip ta ' apparentement addoċċ, imma huwa biss għaliex dan huwa bouncing off il-ħitan f'dan il-każ. Issa l-qattus, sadanittant, hija tip ta 'qerq. Il-qattus, meta l-bandiera aħdar huwa għafast, iva, jibda fl- xi post, post każwali - inqas parzjalment bħala kull l-pick blokk aħdar każwali hemm - u mbagħad Forever IF li jmissu l-għasafar, jilagħbu l-ħoss iljun, u imbagħad jieqaf iskrittura. Allura meta I said jtemm, jew joħroġ qabel, hemm puzzle biċċa fil Scratch li se biss joqtlu l-programm f'dak punt għaliex dan huwa tip ta 'loġikament isir. Iżda xorta, hawn, l-avviż x'inhu jiġri. Punt lejn l-għasafar u jimxu pass wieħed. Allura dan il-punt lejn l-għasafar huwa tip ta 'vantaġġ l-qattus għandha f'dik huwa homing fil dwar l-għasafar jiċċaqalqu, u nistgħu Issa jagħmlu dan il-programm l-aktar interessanti. Minflok li jiċċaqalqu pass wieħed fi żmien għal kull ċiklu CPU, kull istrajk pedaġġ tal-qanpiena, biex ngħidu hekk, let me imorru quddiem u jiċċaqalqu, ejja ngħidu, ħames passi fi żmien bħala l-qattus. Ikklikkja run, u issa huwa verament jsib lilu malajr. Jekk aħna tirdoppja din wara 10 passi, li tip ta 'tmur dritt għalih. Issa, nistgħu nagħtu l-għasafar, forsi, daqsxejn ta 'vantaġġ. Ejja mur l-għasafar u jgħidu minflok ta 'ċaqliq tliet passi, ejja jimxu lilu 30 passi. Imma hu għadu ltqajna maqbuda fl-aħħar. Allura hawnhekk, għandna żewġ ħjut. Huwa ħabs fil Scratch ma 'żewġ skripts u żewġ sprites, iżda l-idea f'lingwi oħra hija li inti tista ' jiktbu, essenzjalment, programmi wisq bħal dan u għandhom lilhom jimxu verament, jew imaginarily, b'mod parallel. Issa, hemm ukoll dan il-kunċett fil-programmazzjoni magħrufa bħala avvenimenti, u din hija xi ħaġa li aħna mhux se tara fis-C, il- lingwa magħrufa bħala C. Aħna se tara li lejn tmiem is-semestru ta fl-ipprogrammar tal-web, meta aħna nintroduċu JavaScript u l- kunċett ta 'paġni tal-web tal-bini li huma dinamiċi u jinteraġixxu ma 'utenti. Allura f'dan il-każ, aħna għandna eżempju sempliċi ħafna ta '2 sprites, tifel u tifla, li kull wieħed minnhom ikollu rispettivi tagħhom ħjut, iżda b'xi dawn iż-żewġ huma inter-komunikazzjoni permezz ta 'xi ħaġa imsejħa avvenimenti. So let me aqbad hawn u zoom fuq iskrittura tal-boy, li tidher bħal dan. Meta bandiera aħdar għafast, dejjem jagħmel dan li ġej. Jekk l-Ispazju ewlenin, jew l-Avukatura Ispazju, hija ppressata, ngħidu Marco għal żewġ sekondi, li l-purament estetiċi fuq il- iskrin, buzzieqa diskors ftit, iżda mbagħad mxandra. Allura xandira ieħor huwa biċċa Scratch li l- rappreżentant ta 'klassi ta' funzjonalità fil-programmazzjoni li tippermetti programmi differenti, ħjut differenti, biex inter-komunikazzjoni, biex b'xi mod jibagħtu messaġġi, wieħed għall-ieħor. Tgħaddi biċċa karta fil-klassi huwa tip ta 'l-teknoloġija baxxa ekwivalenti. Allura xandira avveniment. I tista 'tibgħat dan il-messaġġ, u l-avveniment kelma huwa kompletament arbitrarju. Scratch kultant għandha dawn downs qatra, so I biss ħarāet ma 'kelma każwali bħal avveniment għaliex issa, dak li l-boy ma meta I agħfas il-muftieħ huwa li xandiriet dan l-avveniment. U jekk I ħarsa issa fil iskrittura l-tifla, b'kitba tagħha huwa super sempliċi għaliex kollha hi teħtieġ li tagħmel huwa li ma jaġixxux meta l-bandiera aħdar huwa għafast. Hija mfassla biex azzjoni meta hija tirċievi, kwotazzjoni unquote, "Avveniment", u f'dak il-punt, hi tal smigħ għalhekk l-avveniment hekk imsejħa għal darb'oħra u għal darb'oħra. Hekk kif hija tirċievi il-każ, hi għaddej biex shout Polo għal żewġ sekondi. U għalhekk inti tista 'forsi jiġi dedott minn dan eżattament dak li l- riżultat li jmiss se tkun. Let me ikklikkja l-bandiera aħdar. Xejn jiġri minħabba I bżonn tagħmel dak? UDJENZA: Bar Ispazju. DAVID Malan: Bar Ispazju. Boy jgħid Marco, girl jgħid Polo. Iżda li mhux iebes kodifikati per se. Li inter-komunikazzjoni bejn skripts, hekk issa għandna għandhom il-ħila li jagħmlu programmi aktar kumplessi fejn dawn iż-żewġ huma b'xi mod inter-komunikazzjoni. Allura f'liema direzzjonijiet nistgħu jieħdu din? Ukoll, fl-sett problema 0, verament, l-għan huwa li jieħdu pjaċir bil Scratch. Għall-edizzjoni Hacker, inti ser minflok tieħdu gost ma 'aktar verżjoni sofistikati ta Scratch imsejħa BYOB, Ibni Blokki Your Own, iżda l-idea hija l-istess. Int ser tkun kapaċi - Iva, li kien intenzjonat. Daħal minn Berkeley. BYOB hija l-verżjoni edizzjoni Hacker ta 'dan, iżda t-tnejn demografija, edizzjoni standard u edizzjoni Hacker simili, il- mira fil-idejn għall-ġimgħa li ġejjin huwa verament ftit li adsa fil fond, nikseb idejk maħmuġa bil-programmazzjoni, u jagħmlu xi ħaġa interessanti, jagħmlu xi ħaġa interattivi, jagħmlu xi ħaġa artistiċi, jagħmluhom gost xi ħaġa li fil-fatt juri, b'mod li sa tmiem il-ġimgħa, inti ser ikollok proġett, mhux biss għall-ewwel CS50 tiegħek pset, iżda inti ser ikollok ftit xi ħaġa li inti tista 'turi off fil Annenberg biex ħbieb jew saħansitra tal-familja mill uploading għall-websajt MIT. U hekk kif għidt nhar l-Erbgħa, nistennew 90% tal-klassi, ġeneralment, biex jagħmlu l-edizzjonijiet standard. Tirrealizza li hemm ukoll dan is-suq għal dawk minnkom li kieku ssib ruħek daqsxejn bored mal-punti bażiċi u verament irridu li adsa u inġenji ta 'viżjoni inti diġà jkollhom bi sfond qabel f'dan aktar faċli ambjent. So let me pull up eżempju wieħed ieħor li wieħed mill-ex tagħna studenti hawnhekk ma u għid ftit xi ħaġa permezz kanzunetta. Dan bl-istess mod, kif dan jilgħab, jaħsbu dwar kif inti tmur dwar implimentazzjoni ta 'dan il-programm bl-użu preċiżament dawn istess building blocks, xi ftit ta 'randomness psewdo, u ta' daqsxejn ta 'kanzunetta familjari. Jekk nistgħu jgħollu l-volum biss ftit? [MUSIC - "IT'S AĦRIĠ IRĠIEL" IL BNIET TEMP] DAVID Malan: Li lilha għall CS50. Aħna se tara int nhar it-Tnejn. [Applause]