[Daqq ta mużika] 

-Alright! 

-Dan Huwa CS50. 

-Dan Huwa CS50. 

-Dan Huwa CS50. [MUSIC - Iggy AZALEA, "fancy"] 

Memorja favoriti -My minn CS50 kien meta I marru għall Puzzle Jum. 

-Probably Biss fil-ħin qattgħu jaħdmu fuq settijiet problema mal-ħbieb tiegħi u nies li wold eventwalment issir blockmates tiegħi. 

-My Aħjar memorja minn CS50 huwa l-Hackathon. -Il CS50 Hackathon. 

-Hackathon. 

-Hackathon. -Hackathon. -Il Hackathon -Rob Bowden. Just kollox dwar lilu. 

[MUSIC - Iggy AZALEA, "fancy"] 

Memorja favoriti -My huwa meta I kien fuq palk u I kellu l-irwol prestiġjuż ta 'node [? fil-Marbuta?] [? Lista. ?] 

-Meta Aħna kollha ltqajna ispazju Dropbox liberu u David kien simili, jfittxu taħt sedili tiegħek. U li kien simili, spazju għal kulħadd! 

[MUSIC - Iggy AZALEA, "fancy"] 

Parir -My għal kwalunkwe student deħlin kieku jkun li verament jaħdmu fuq P-settijiet mal-ħbieb. 

Sigħat -Office huwa ferm ħabib tiegħek. 

Għamla l-aktar ta 'esperjenza tiegħek u jiltaqa nies kemm tista '. 

-Don't Jibżgħux jistaqsu għall-għajnuna. -Start P-settijiet kmieni fil-ġimgħa. -I Jaħsbu l-akbar ħaġa hija li jieħdu vantaġġ tar-riżorsi kollha li CS50 għandha. 

-Go Li ħinijiet tal-uffiċċju kmieni fil-ġimgħa. 

-Definitely Tara l-xorts. 

-Don't Procrastinate fuq P-settijiet tiegħek. Għamla żgur li int issib grupp kbir ta 'nies li jaħdmu fuq P-settijiet. Inti tista 'jkollha lott ta' gost u jiksbu xogħol magħmul flimkien. 

-Don't Jibżgħux biex timbotta lilek innifsek. Mur għall-Hacker edizzjoni kultant. 

Affarijiet -Write fuq il-karta qabel Qatt touch kompjuter tiegħek. 

-CS50 Huwa verament kbir fuq jipprovdu modi biex tikseb l-għajnuna. 

-My Biċċa waħda ta 'pariri huwa l-irqad. Has xi ħadd qal li? Sleep, għall-żgur. Huwa faċli li ma jagħmlux, iżda inti stajt ltqajna biex tagħmel dan, I think. 

-I Ngħid verament tkun ippreparata mentalment għaliex int ser imħabba tiegħu. [MUSIC - Iggy AZALEA, "fancy"] 

-Dan Huwa CS50. 

-Dan Huwa CS50. 

-Dan Huwa CS50. [MUSIC - Iggy AZALEA, "fancy"] 

-Dan Huwa CS50. 

[Applause] 

DAVID J. Malan: Allura dan huwa CS50 u dan huwa l-aħħar ta 'f'Ġimgħa 0. U li kien biss ftit tal-persunal CS50 ta li jistennewkom mhux biss fit-taqsimiet u ħinijiet tal-uffiċċju, iżda, ukoll, dan il-weekend li ġejjin fi Puzzle CS50 Jum. Li, għal darb'oħra, mhuwiex kollha dwar l-ipprogrammar. Tabilħaqq, huwa mistenni li inti mhux se jkollhom xejn programm, iżda pjuttost isolvu problemi jużaw wits u ħbieb flimkien inti. 

Aħna se tkun magħquda bis xi tal-ħbieb tagħna fil Facebook-- jekk tirreġistra here-- li għall-aħħar bosta snin, attwalment ġew miktub dawn l-isfidi magħna. U għalhekk, dawn se jkunu dawk finalment running Jum Puzzle. U għalhekk, inti ser tkun sfidata ma preċiżament il-tip ta 'affarijiet u problemi li folks fil Facebook simili biex jaħsbu dwar. Allura li hija għada. Reġistru fil cs50.harvard.edu/register. 

Issa kelma fuq koppja tal-persunal, b'mod partikolari. Dan hawnhekk hija Ansel Duff, li huwa attwalment wieħed mill-ko-awturi ta 'dawn binarja basal li rajna nhar l-Erbgħa, minbarra stess Dan Bradley CS50 tal. Ansel Duff kien ukoll eks advisee freshman ta 'minjiera 3 snin ilu u hu attwalment saħansitra mibnija dan lectern. He marret fuq biex tagħmel xjenzi inġinerija u aktar. Issa, stampa tiegħu hawnhekk huwa attwalment Ansel 3 snin ilu fil-Hackathon CS50 meta hu mislufa wieħed ta 'tagħna blalen, staġnati lill laptop tiegħu, u, għal dak li jmiss 12 wħud fard sigħat, iffukat fuq il-proġett finali tiegħu, billi jieħdu waqfiet biss biex tiftaħ boroż ta 'kandju fil-Hackathon. 

Imma hu marru fuq aktar reċentement biex jonfqu dan is-sajf passat magħna, peress CS50 għall-istaff tagħha, u issa studenti dan is-semestru, 3D printer tiegħu stess. U fil-qosor 3D printers huwa mezz li jistenna pjuttost bħal dan. You imla bil rukkell tal-plastik li jiddewweb mill-apparat u inti tibni affarijiet litteralment mix-xejn. Ferm simili printer inkjet, tibda jobżoq out tikek ftit tal-plastik dik il-formola flimkien biex jiffurmaw oġġetti sħaħ. U hekk Ansel per eżempju, aktar kmieni dan is-sajf, għandu iPhone 5 u ddeċieda hu verament riedu li jsalvaw it up fuq l-iskrivanija tiegħu. Imma hu ma riedx go out u jixtru xi ħaġa mill-maħżen Apple jew bħalhom, hekk hu poġġa bilqiegħda u beda tpinġija xi ħaġa. Huwa ħa kejl ftit kif ħoxna u kif wiesgħa iPhone tiegħu kien, fassal din id-dehra hawn, huwa ddeċieda li ried li jkollhom tilt 75 grad kif kien tluq fil lilu fuq l-iskrivanija tiegħu hemmhekk. Huwa mbagħad mdawwar dan, bl-użu software, ġo mudell 3D CAD li ħares ftit xi ħaġa bħal din. U mbagħad huwa ipproċediet, finalment, li attwalment joħolqu dan. Allura fil-fatt, jekk kwalunkwe inti hawn, forsi fir-ringiela li I tista tarmi li, jkollhom an-- hemm aħna għandna folks ma iPhone 5, u hawn għandna żewġ aktar. 

Issa, li ma għandux outdone, l CS50 stess Cheng Gong jistabbilixxu wkoll dan is-sajf biex jibnu pjuttost ftit affarijiet u, fil-fatt, għal raġunijiet li għadhom mhux ċar, kien bil-mod istampar armata ta 'ljunfanti ma 'armi artikolazzjoni u bagolli. Koppja ta 'liema huma attwalment hawn jekk xi ħadd se issa like-- iljunfant. Kull dritt,. imma dak Cheng għamlet ukoll għalina huwa hu ħafna ġentilment twaqqaf kamera minħabba li iljunfant, jemmnu jew le, jieħu xi sentejn u sigħat u nofs li jistampaw. Anki l-istand iPhone ħadet siegħa u nofs biex jistampaw. U dak Cheng marru quddiem u ma twaqqaf kamera sbieħ quddiem ta 'dan il-printer 3D, iffilmjati għal siegħa u nofs bħala disinn Ansel stampat. Aħna sovrapposta xi sexy mużika lilha sabiex li jtik din tfittex lejn kif istampar 3D xogħlijiet. U anki jekk dan huwa attwalment fil-plastik, jirrealizzaw li jekk dan huwa qasam ta 'interess għalik akkademikament, hemm folks, fost minnhom Jennifer Lewis hawn fl-Iskola ta ' Inġinerija, li huma attwalment taħdem fuq l-istampar 3D oġġetti tal-plastik. Iżda anke, dejjem, materjali bijoloġiċi li ssolvi problemi fiżjoloġiċi għall-bnedmin. Iżda hawnhekk huwa xi ftit xi ħaġa minn CS50. 

[Loud MEKKANIKU ħsejjes] DAVID J. Malan: Ma ħoss xi ħaġa bħal dik fir-realtà, iżda huwa ħafna cooler sabiex isegwu din f'dak veloċità, u ma 'dak tal-ħoss. 

Issa, nhar l-Erbgħa, kif aħna ma l-ewwel tikseb hawn? Bdejna nitkellmu dwar il-kompjuter xjenza u staqsejna dak li kien. U huwa dwar numru ta 'affarijiet, u hemm f'direzzjonijiet differenti tant fejn inti tista 'ras wara kors bħal CS50. Fil-fatt, jekk inti telgħet waħda ta 'dawk il-gwidi mhux uffiċjali li barra CS, il-ktejjeb li konna pprovduti, jekk int taħseb li tieħu biss CS50, jew forsi tagħmel sekondarja, jew forsi anke tikkonċentra fl CS, do flip permezz ta 'dak. U tkun taf tara dijagramma lejn it-tmiem li turi li inti l-direzzjonijiet differenti ħafna f'CS li inti tista 'tmur off fil. 

Iżda għal-lum, aħna ser tiffoka, għal darb'oħra, fuq verament waħda mill-veduti fundamentali, forsi, fejn inti għandek inputs għall-problemi, għandek outputs mill problemi, u inti għandek algoritmi li biex joħolqu dawk outputs minn dawk l-inputs. U eżempju wieħed tali, kien ta ' Naturalment, dan il-ktieb tat-telefon hawn. U aħna użati bħala eżempju biex tmur permezz ta 'algoritmu li kienet korretta. U allura wieħed ieħor kien korrett, iżda ftit aktar mgħaġġel. U allura wieħed ieħor li kien ftit aktar drammatika, iżda fundamentalment aktar mgħaġġel. 

Dritt, dan phone book aħna mitluba kienet madwar 1,000 paġni. U kif ħafna drabi ma I jkollhom li tiċrita l-ktieb tat-telefon fil nofs li ssib xi ħadd bħal Mike Smith, maximally, fil 1,000 ktieb il-paġna? Allura, 10 jagħtu jew jieħu. U hekk darba I Tore dan ħaġa fil nofs, jew sempliċiment, aktar maturely, maqsum min-nofs, huwa biss 10 paġni minn 1,000. U jekk inti testrapola, ftit anormalment għal ktieb tat-telefon, imma jekk dan il-ktieb tat-telefon kellhom xi 4 biljun paġni fiha, hekk kompletament dens fiżikament, kemm ħinijiet do inti taqsam 4 biljuni paġna phone book fil nofs? Allura huwa attwalment 32, jagħtu jew jieħu. U hekk 32 drabi biss, barra ta 4 biljun paġni, tista issib xi ħadd bħal Mike Smith. U li l-effiċjenza. Li l-algoritmu tajba, daresay. 

Imma allura aħna mċaqalqa minn dik li jippruvaw biex tifformalizza dan. U jien propost dan il-kodiċi pseudocode. Kodiċi pseudocode mhix xejn formali. Mhuwiex xi ħaġa li għandek memorize. Huwa biss xi ħaġa inti tesprimi pjuttost intuwittivament jużaw Ingliż, jew kwalunkwe lingwa verament, li twassal l-ideat tiegħek konċiż. Imma x'hemm ewlieni dwar kodiċi pseudocode huwa li inti tipprova tantiċipa kollha ta 'l- każijiet possibbli li jista 'jiġri. U fil-fatt, f'dan il-pseudocode kodiċi, kien hemm verament tliet każijiet kull darba I maqsuma l-ktieb tat-telefon. Mike jista 'jkun lejn ix-xellug. Mike jista 'jkun lejn il-lemin. Jew hu jista 'jkun dritt fuq il-paġna jien fuq. Jew f'kawża kantuniera, biex ngħidu hekk. Xenarju bad jista 'jkun wieħed which-- dak li qed jiġri? Mike biss mhux fl l-ktieb tat-telefon fil-livelli kollha. 

U meta programmi crash-- meta Mac u PC software li inti guys run fuq il-kompjuters tiegħek kultant prekarja jew quits għarrieda, li ġeneralment ifisser li xi programmer, xi bniedem bħalek hekk, biss invitat up u għamel xi żball. Forsi ma kinitx tantiċipa li forsi hemm ebda Mike Smith fil-ktieb tat-telefon. U jekk inti ma attwalment jiktbu kodiċi li jimmaniġġjaw sitwazzjonijiet bħal dik, ġeneralment imprevedibbli affarijiet jista 'jiġri. Magna tiegħek jistgħu jiffriżaw. Hija tista 'reboot. Il-programm jista nieqaf. U hekk dawn kollha stupidities li inti tista ' ikunu ltaqgħu magħhom fl attwali tiegħek ħajja biss jużaw il-kompjuters, dejjem se jkun biss spjegat bogħod minn dan intuition u dan il-fehim ta 'x'inhu attwalment għaddejjin taħt il-barnuża. 

Issa ejja jippruvaw jieħdu ħarsa fi problema aktar ġenerali. Pjuttost milli tieħu attendenza f'post bħal dan, li għandu jkun pjuttost kajman biex jagħmlu waħda, tnejn, tlieta, erbgħa. Jew forsi tnejn, erba, sitta, tmienja. Ejja tiffoka, minflok, fuq kif nistgħu jifformalizzaw l-algoritmu tal-proċess mill- li aħna nkunu nistgħu nieħdu attendenza. U tul it-triq, ejja nibdew biex japplikaw xi nomenklatura li aħna ser tuża llum meta aħna attwalment jibdew programmar f'lingwa. So I jagħtuk issa, video erba 'minuti li aħna jitqiegħdu flimkien mal-ħbieb tagħna mill TED, l-organizzazzjoni. Li biha aħna fornuti b'kitba u huma miġjuba animaturi tagħhom tbati, u fil-fatt ħolqot 2D animazzjoni ta 'dak algoritmu huwa. Jekk nistgħu dim-dwal. 

[Daqq ta mużika] Narrator: X'hemm algoritmu? Fix-xjenza tal-kompjuter, algoriżmu huwa sett ta 'struzzjonijiet solvuti xi-pass-pass problema. Tipikament, algoritmi huma esegwiti minn kompjuters, iżda aħna bnedmin għandna algoritmi ukoll. Per eżempju, kif kieku inti tmur dwar għadd in-numru ta 'nies fil-kamra? Ukoll, jekk int simili me, youd probabilment punt f'kull persuna waħda f'ħin wieħed u l-għadd up minn żero. Wieħed, tnejn, tlieta, erba ', u ibqa' sejjer hekk. Ukoll, li algoritmu. Fil-fatt, ejja jippruvaw jesprimu hu daqsxejn aktar formalment kodiċi pseudocode. Sintassi Ingliż-bħal dik tixbaħ lingwa ta 'programmar. 

Ħalli n ugwali 0. Għal kull persuna fil-kamra, sett n ugwali għal n plus 1. Kif tinterpreta l-pseudocode? Well linja waħda jiddikjara, biex ngħidu hekk, varjabbli imsejħa n u initializes valur tiegħu għal 0 Dan biss ifisser li fil- bidu ta 'algoritmu tagħna, il-ħaġa li aħna qed għadd għandu valur ta '0. Wara kollox, qabel nibdew għadd aħna ma jingħaddx xejn s'issa. Sejħat dan il-varjabbli n huwa biss konvenzjoni. I setgħet sejħitilha xejn aktar. Issa linja żewġ demarks l-bidu ta 'loop, sekwenza ta 'passi li se jirrepetu xi numru ta 'drabi. Għalhekk fl-eżempju tagħna, il-pass aħna qed teħid qed isserraħ nies fil-kamra. Taħt linja tnejn huwa linja tlieta li jiddeskrivi eżattament kif aħna ser tmur dwar għadd. Il indentazzjoni jimplika li huwa linja tlieta li se jirrepeti. Allura bil-kodiċi pseudocode hija qal hu li wara li jibdew minn 0 għal kull persuna fil- kamra aħna ser iżidu n b'1 Issa dan huwa algoritmu korretta? Well ejja bang fuq hija daqsxejn. 

Taħdem jekk ikun hemm żewġ persuni fil-kamra? Ejja naraw. Fl linja waħda aħna initialize n għal 0. Għal kull wieħed minn dawn iż-żewġ persuni, aħna mbagħad inkrement n b'1. Għalhekk fl-ewwel vjaġġ permezz tal- loop, aħna aġġornament n 0-1. Fuq it-tieni vjaġġ permezz ta 'dak istess loop, aħna aġġornament n 1-2. U għalhekk, minn din tal algoritmu aħħar, n huwa 2, li tabilħaqq jaqbel man-numru ta 'nies fil-kamra. S'issa, hekk tajjeb. 

Kif dwar il-każ kantuniera għalkemm? Ejja ngħidu li hemm 0 nies fil-room-- minbarra me, li l- tagħmel għadd. F'linja waħda, aħna napprovaw initialize n għal 0. Din id-darba għalkemm, linja tlieta ma jeżegwixxix fil-livelli kollha peress li ma hemmx persuna fil-kamra. U hekk n tibqa 0, li tabilħaqq logħbiet in-numru ta 'nies fil-kamra. Pretty sempliċi, id-dritt? Iżda għadd poplu wieħed fi żmien hija pjuttost ineffiċjenti, wisq, l-ebda? Żgur nistgħu nagħmlu aħjar. Għaliex ma jgħoddux żewġ persuni fi żmien, minflok għadd wieħed, tnejn, tlieta, erba ', ħames, sitt, seba', tmienja, u ibqa 'sejjer hekk. Għaliex ma jgħoddux tnejn, erba, sitta, tmienja, u l-bqija? Huwa anki ħsejjes malajr. U huwa żgur huwa. 

Ejja tesprimi din ottimizzazzjoni fil-kodiċi pseudocode. Ħalli n ugwali 0. Għal kull par ta 'nies kamra, sett n ugwali għal n plus 2. Pretty bidla sempliċi, id-dritt? Pjuttost milli joqgħod nies wieħed fi żmien, aħna minflok għadd minnhom tnejn fi żmien. Tal Dan algoritmu, b'hekk, darbtejn aktar malajr bħala l-aħħar. Imma huwa korrett? Ejja naraw. Taħdem jekk ikun hemm żewġ persuni fil-kamra? F'linja waħda, aħna initialize n għal 0. Għal dik par wieħed ta 'nies, aħna mbagħad inkrement n b'2. U hekk minn tal dan algoritmu aħħar n huwa 2, li tabilħaqq jaqbel man-numru ta 'nies fil-kamra. 

Ejja ngħidu li jmiss li hemm żero nies fil-kamra. Fl linja waħda aħna initialize n għal 0. Bħal qabel, linja tlieta ma jeżegwixxix dan kollu peress ma jkunx hemm xi pari ta 'nies fil-kamra, u għalhekk n tibqa 0. Liema tabilħaqq jaqbel mal- numru ta 'nies fil-kamra. Imma x'jiġri jekk ikun hemm tliet persuni fil-kamra? Kif jaħdem dan nol algoritmu? Ejja naraw, f'linja waħda, aħna initialize n għal 0. Għal par ta 'dawk in-nies, aħna mbagħad inkrement n b'2. Imma allura dak? Ma jkunx hemm ieħor full par ta 'nies fil-kamra, hekk line tnejn m'għadux japplika. U hekk sa tmiem dan algoritmu, il- n għadu 2 li mhijiex korretta. Tabilħaqq tal dan algoritmu qal li tkun Buggy minħabba li għandu żball. 

Ejja rimedju ma 'xi kodiċi pseudocode ġdid. Ħalli n ugwali 0. Għal kull par ta 'nies kamra, sett N ugwali għal n plus 2. Jekk persuna waħda tibqa abbinata, sett N ugwali għal n plus 1. Biex issolvi din il-problema partikolari, konna introdotti fil-linja erbgħa f'kondizzjoni, inkella magħruf bħala fergħa, li tesegwixxi jekk hemm persuna waħda aħna ma setgħux par ma 'ieħor. U hekk issa, jekk hemm waħda, jew tlieta, jew kwalunkwe numru fard ta 'nies fil-kamra, dan algoritmu issa se jgħoddu għalihom. Nistgħu nagħmlu anke aħjar? Well, nistgħu għadd f'għadd ta 'tlieta, jew fours, jew saħansitra livell ta 'għajxien u għexieren, imma lil hinn minn dak, li għaddej biex tikseb diffiċli ftit għall-punt. 

Fl-aħħar tal-ġurnata, kemm jekk esegwiti minn kompjuters jew bnedmin, algoritmi huma biss sett ta 'struzzjonijiet li biex isolvu problemi. Dawn kienu biss tlieta. Liema problema kieku inti issolvi ma 'algoritmu? 

DAVID J. Malan: Allura deliberatament, programm sempliċi ħafna, algoritmu sempliċi ħafna, għall-kisba xi ħaġa sempliċi ħafna, għadd tal- numru ta 'nies fil-kamra. 

Imma ejja tease apparti xi wħud mill-rappreżentant karatteristiċi hawnhekk li huma attwalment ser ikunu utli anki meta implimentazzjoni l-aktar kumplessa ta 'software. Allura per eżempju, f'dan l-ewwel linja, għandna nsejħu l-varjabbli, u minn alġebra, int ġeneralment familjari jużaw xuy u z kultant, u ibqa 'sejjer hekk. Iżda fil-programmazzjoni, varjabbli għadhom, fl-aħħar tal-ġurnata, simili ħafna għal dak. Iżda huwa forsi aktar sempliċi biex jaħsbu ta 'varjabbli biss bħala kontenitur. U, fil-fatt, huwa xi numru ta 'bits implimentat b'xi fil-hard disk tiegħek jew fil-memorja tal-kompjuter tiegħek, iżda aktar fuq li fil-futur. Huwa biss kontenitur. U jekk inti tgħidli xi ħaġa bħall let n ugwali 0, Ukoll li bħal ssejjaħ dan il-ħġieġ skutella hawn n, biss isem arbitrarja, u t-tqegħid xejn inizjalment. Allura l-valur ta 'dan bowl dritt issa huwa żero. U ovvjament jekk inti jipperċepixxu fil-linja sussegwenti, li attwalment inkrement xi linja ta ' kodiċi, bħal f'dan il-tielet linja hawn, minn 1, dan huwa simili qal x'inhu l- valur kurrenti ta 'n, li għamilhom 0, flimkien ma' 1, tpoġġi xi ħaġa bħal ping pong ball fil hawn. Issa l-valur ta 'dan varjabbli hija sempliċement 1. U inti tista 'malajr ħafna estrapolati, iżda issa huwa 2, issa huwa 3, u l-bqija. Allura li kollox varjabbli huwa. Huwa biċċa ta 'ħażna attwalment jaħżnu xi data. Għal issa huwa ballun pong ping. Hemm huwa numru. Iżda jista 'jkun kliem fil- dizzjunarju, bħall-jespliċitaw kontrollur I allużjoni għall nhar l-Erbgħa għall- wieħed ta 'settijiet problema sena li għaddiet. 

Issa ieħor idea ewlenija, li bl-istess mod hija pjuttost intuwittivi I ser jargumenta, huwa dak ta 'loop. U l-linja fil-proċess ta 'kif jingħaddu kulħadd huwa, ovvjament, tagħmel l-istess Ħaġa darb'oħra u again-- jew wieħed fi żmien jew tnejn fi żmien. U inti tista 'tesprimi din bl-Ingliż, jew kodiċi pseudocode, fi kwalunkwe numru ta 'modi, iżda bl-użu dan prepożizzjoni "għal" huwa mod komuni ħafna ta 'kif isir dan. Għal kull persuna fil-kamra, jagħmlu dan. Għal darb'oħra u għal darb'oħra. U l-fatt li huwa indentata, linja tlieta, ifisser biss li dak int suppost tagħmel hija l-għalf thats inċiża taħt il-linja tnejn innifsu. Just konvenzjoni tal-bniedem, iżda waħda komuni kif aħna ser tara fil ogħla attwali lingwi ta 'programmar livell. 

Issa ftit aktar interessanti hija meta ikollok fil-każ kantuniera. Per eżempju, kantuniera każ kien meta hemm kienu tliet persuni, jew ħamsa, jew seba ', jew kwalunkwe numru fard ta 'nies fil-kamra, għaliex tagħmel dan billi brejkijiet twos eventwalment minħabba tiegħek tmur titlifx xi ħadd, jew fil- bidu nett jew it-tmiem ħafna jiddependi fuq kif inti tagħmel dan. U għalhekk, issa, għandi din il-fergħa, jew kundizzjoni, jekk persuna waħda tibqa, imbagħad imorru quddiem u jimmaniġġjaw li wieħed persuna lonesome li ma jiksbu paired ma 'xi ħadd ieħor. Allura dak hu li aħna kieku ssejjaħ kundizzjoni, jew fergħa. 

Kodiċi Issa pseudocode b'mod aktar ġenerali jista 'jkun miktub sabiex issolvi kwalunkwe numru ta 'problemi. U dak li ħsibt aħna'd nagħmlu hawnhekk huwa li tieħu mument li jistiednu nistgħu ngħidu li CS50 stess Rob Bowden fuq il-palk li jiġu magħqudin b'żewġ voluntiera, li jkollhom l-ebda idea dak li jistenna. A idejn niżlet malli I qal li. Kif dwarek fuq il- jieqafx hawn, come fuq up. U kif madwar minn farther bogħod, kif madwar mod fil-dahar. Lura ringiela, come fuq up bl-idejn tiegħek up. Alright, u x'hemm isem tiegħek? 

ANITA: Anita. 

DAVID J. Malan: Anita. Okay, sbieħ li jissodisfaw inti. Let me jintroduċu inti Rob Bowden. Dan huwa Anita. U dak huwa l-isem tiegħek? 

KIERSTEN: Kiersten 

DAVID J. Malan: Kiersten. Kiersten, come fuq up u jilħqu Rob Bowden u Anita. Nizza li jissodisfaw inti. KIERSTEN: Nizza li jissodisfaw inti. DAVID J. Malan: Alright, Rob. ROB Bowden: Nizza li jissodisfaw inti. DAVID J. Malan: Anita. KIERSTEN: Hi Anita. DAVID J. Malan: U tiegħek diversi mijiet klassi. Allura, issa let me imorru quddiem u iġbed up biss sempliċi program hawn fuq Mac OS li ser let me attwalment LOGHOME xi noti isfel. U jekk inti guys tixtieq li kull tieħu pożizzjoni fuq waħda minn dawk l-iskejjel hemmhekk, let me imorru quddiem u tibda lista tal-kodiċi pseudocode, jekk inti se. U dak li nixtieq li nagħmlu hawnhekk, finalment, huwa tip għalik xi struzzjonijiet li tagħna membri tal-udjenza huma attwalment ser recite għalina. Let me imorru quddiem u biss tbiddel dan għal lista nnumerati biex jaqblu ma 'dak li aħna kienu qed jagħmlu up hemm. U dak li jien ser tagħmel ma għajnuna tiegħek, huwa jikteb programm fil pseudocode, li magħhom dawn guys huma għaddejjin biex timplimenta karawett butir u sandwich jelly. Allura huwa forsi apropos li juru xi ħaġa xi wħud minnkom tista raw fuq l-internet għal ftit mument annoying qasira. 

[MUSIC BUCKEWHEAT BOYS, "butir tal-karawett  JELLY TIME "] DAVID J. Malan: OK. C'est biżżejjed ta 'dak. Allura hawnhekk sadanittant, I jkollhom par ta 'Google Nuċċali li aħna ser jitqiegħdu fuq stess Rob Bowden CS50 tal biex tara d-dinja permezz ta 'għajnejn tiegħu. U aħna ser nagħmlu l-almu tagħna fil-kariga produzzjoni li attwalment nisġa l-footage ta 'dak Rob huwa jara issa, fis dan lecture attwali video b'żewġ tagħna voluntiera ħdejn lilu. Allura dak li jien ser tagħmel huwa, I ser tkun l-shorthand. Għandna l-għan hawnhekk ta ' attwalment kitba ta 'programm li biex jagħmlu, finalment, ta ' butir tal-karawett u sandwich jelly, iżda dawn it-tliet huma ser jaġixxu daqslikieku huma kompjuters. U kompjuters, fl-aħħar tal-ġurnata, huma attwalment apparati pretty mutu. Huma qed super fast, iżda jistgħu biss do, litteralment, dak li huma told. Inti ma tistax biss jgħidu tagħmel karawett butir u sandwich jelly. Inti għandek għall-programm biex tagħmel dan. Int għandek jgħidulhom bi preċiżjoni dak li tagħmel, inqas l-affarijiet imorru horribly u, nisperaw, divertenti awry. 

Allura ma 'dak imsemmi, għandna bżonn sejħa waħda-out mill-udjenza għal dak għandha żżid waħda tkun, jekk l-għan hawnhekk huwa li tagħmel karawett butir u sandwich jelly. Iva? 

UDJENZA: [inaudible] l-borża ta 'ħobż. DAVID J. Malan: Iftaħ il-borża ta 'ħobż. Mela jekk it-tliet kontestanti kieku tixtieq li tipproċedi sabiex tagħmel dan litteralment. Iftaħ il-borża ta 'ħobż. 

[UDJENZA Laughing] DAVID J. Malan: Mela ejja jaħdmu fuq dan. Kull dritt. Allura pass tnejn, how-- ejja tieħu din ulterjuri. Yeah, fl-quddiem. 

UDJENZA: [inaudible] il-ħobż. 

DAVID J. Malan: X'hemm li? 

UDJENZA: Neħħi l-ħobż. DAVID J. Malan: Neħħi l-ħobż. Bl-istess mod konċiż. Grazzi. 

[Applause] DAVID J. Malan: Li dan? OK, hekk pass tnejn qed jiġri li tkun tneħħi l-ħobż. Alright, xi ħadd tixtieq li tikteb lilna sentenza itwal? Xi ħadd ieħor? A ftit aktar [inaudible]. Le, xejn issa. Iva? 

UDJENZA: Post tnejn flieli ħdejn xulxin. 

DAVID J. Malan: Post tnejn flieli ħdejn xulxin. 

[UDJENZA Laughing] 

DAVID J. Malan: Post tnejn flieli ħdejn xulxin. Pass erbgħa. Iva? 

UDJENZA: Ħu tiegħek idejn u sett huwa ħafif fuq quċċata ta 'l-għatu butir tal-karawett. 

[UDJENZA Laughing] UDJENZA: [inaudible] li jmiss għall-butir tal-karawett. DAVID J. Malan: What? Jgħidu li għal darb'oħra. 

UDJENZA: Ħoll l-għatu u poġġi bil-mod li jmiss għall-butir tal-karawett. 

DAVID J. Malan: Poġġi dan bil-mod li jmiss għall-butir tal-karawett. OK, progress. Pass ħamsa. Eċċellenti. Iva? 

Pick up sikkina. DAVID J. Malan: Aqbad sikkina. OK, pass sitta. Yeah? 

UDJENZA: Żomm sikkina mill-manku. DAVID J. Malan: Żomm sikkina mill-manku. Żomm sikkina mill-manku. Pass sebgħa. Iva? 

UDJENZA: sikkina [inaudible] fil-karawett butir u kif ftit barra [inaudible]. 

DAVID J. Malan: Poġġi sikkina in-- I smajna "sikkina tpoġġi fil-butir tal-karawett u tieħu bħala ftit barra kemm jista 'jkun. " Mill-mod, neħħi l-karta l-ewwel. Kull dritt, pass disa. Pass disa. Pass disa. Aħna ma attwalment magħmula sandwich s'issa. Iva? UDJENZA: Bl-użu sikkina fil-butir tal-karawett, japplikaw butir tal-karawett fuq qal ħobż. 

DAVID J. Malan: Bl-użu sikkina fl butir tal-karawett, japplikaw butir tal-karawett fuq qal ħobż. 

[UDJENZA Laughing] DAVID J. Malan: All pass dritt 10. Pass 10. Iva? 

UDJENZA: karawett Togħma butir biex jiżguraw kwalità. 

[UDJENZA Laughing] DAVID J. Malan: Pass 11. Pass 11. Pass 11. Come fuq. Yeah? Hemm dritt. 

UDJENZA: B'attenzjoni pick up jelly. 

DAVID J. Malan: B'attenzjoni pick up jelly. OK, u mbagħad idejn ieħor kien sa. Dritt lura int. Yeah, bil-blu. 

UDJENZA: Kull dritt, neħħi għatu minn [inaudible], yeah, neħħi l-għatu mill-jelly. 

[UDJENZA Laughing] 

DAVID J. Malan: Mill jelly. Ha ha. 

[UDJENZA Laughing] DAVID J. Malan: U? UDJENZA: U bilkemm jiknes kwalunkwe [inaudible]. [UDJENZA Laughing] UDJENZA: Of course, qabel [inaudible], neħħi l-karta mill jelly. DAVID J. Malan: Neħħi karta mill jelly. Pass 14. Aħna kważi hemm. Iva? 

UDJENZA: Aqleb flixkun jelly qabel kollox jaqa 'barra. 

DAVID J. Malan: jelly Aqleb flixkun qabel jelly jaqa 'barra. Pass 15. 

UDJENZA: Issostitwixxi l-għatu. 

DAVID J. Malan: Issostitwixxi l-għatu. Pass 16. Yeah? 

UDJENZA: [inaudible] DAVID J. Malan: Say li għal darb'oħra. UDJENZA: Ħu għatu off ta 'jelly tiegħek. DAVID J. Malan: Off jelly tiegħek. Allura really-- Oops. Come fuq. Issostitwixxi l-għatu. Poġġi cap-- You qal Neħħi l-għatu mill-jelly. Jħossu bħal aħna qed fil-daqsxejn ta 'loop. Pass 17. Iva? 

UDJENZA: [inaudible] DAVID J. Malan: Say li għal darb'oħra. UDJENZA: [inaudible] DAVID J. Malan: Mur lura għall step-- UDJENZA: [inaudible] DAVID J. Malan: Neħħi għatu mill-butir tal-karawett. Iva? 

UDJENZA: Drop l- jelly fuq il-ħobż. 

DAVID J. Malan: Drop kollha il-jelly fuq il-ħobż. DAVID J. Malan: Aħna kważi hemm. Pass 19. 

UDJENZA: Neħħi jelly żejjed. 

DAVID J. Malan: Haha, jelly. 

[Applause] DAVID J. Malan: Għaliex ma we-- wieħed pass aktar biex jieħu din id-dar. Wieħed pass aktar u mbagħad aħna ser iservu sandwiches. Iva? 

UDJENZA: [inaudible] 

DAVID J. Malan: Filwaqt kwalunkwe sandwich inċiż let remains-- tal this-- jieklu. 

[Rires UDJENZA] 

DAVID J. Malan: Kull dritt, nirringrazzja inti voluntiera tagħna hawn. 

[Applause} 

DAVID J. Malan: Għandna xi sympathique firda rigali għal kull minnkom. Butir tal-karawett tiegħek, jelly, u ħobż biex iġibu lura d-dar. Grazzi. 

KIERSTEN: Grazzi. DAVID J. Malan: [inaudible] milqugħa. [Applause] DAVID J. Malan: Allura, dan huwa, Naturalment, eżempju redikoli. Right? Iżda dan ma tip ta 'juri kif aħna bnedmin ħu ċarezza għall mogħtija. U l-fatt stajt ġiet tkellem lil bniedem ieħor, hu jew hi biss jaf dak li jfisser. 

Kompjuters mhumiex ser li tkun taf dak li jfisser, anke meta jużaw, bħala aħna qed waslu biex jagħmlu llum, programmazzjoni xi ħaġa fil Scratch, drag u qatra, lingwa stil biċċa puzzle. Anke mfassla għall żgħażagħ tfal, għandek li jkun hekk espliċitu u hekk litterali ma dak li trid program tiegħek biex tagħmel. Issa finalment, aħna qed ser ikunu programmazzjoni mhux fil-kodiċi pseudocode, Ingliż bħall sintassi, imma kodiċi jew, b'mod aktar xieraq, kodiċi sors. Kodiċi tas-sors huwa biss il-mod fancy għad-deskrizzjoni kodiċi inti fil-fatt jiktbu bil-keyboard li l- mhux bl-Ingliż per se. Huwa fis-C jew Java jew C ++ jew xi ħaġa bħal dik, kif aħna ser dalwaqt tara. 

U fil-fatt, biss biex biża ta ' Ftit tal inti, ewwel daqqa t'għajn, dan huwa programm miktub f'lingwa imsejħa C. Iżda biex un-biża ftit tal inti, inti se kompletament jifhmu x'inhu għaddej fuq come Tnejn li jmiss meta niġu għal xi ħaġa bħal din. Franchement, dan huwa lingwa anzjani. Huwa pjuttost arcane, imma hija rappreżentattiva ta 'lott ta' lingwi dawn il-jiem li jkollhom lottijiet ta 'parentesi u kaboċċi braces u marki kwotazzjoni u semicolons. U ħafna ta 'dan Jittieħed sintattika li mhix fil-livelli kollha intellettwalment interessanti. Tabilħaqq, huwa ta 'distrazzjoni utter mill-ideat sempliċi ħafna li huma tluq magħna fil-wiċċ. Dan il-programm, kif inti tista 'biss raden, prints għal iskrin tal-kompjuter ta 'xi ħadd il-kliem "virgola Hello dinja." Li dan. Allura ċar, hemm lott ta 'għalf li l- jkollna fil-mod ta ' xi obviousness hemmhekk, iżda li għaddej biex malajr ħafna slip bogħod u tkun kompletament intuwittivi. 

Tabilħaqq, dak li aħna qed tmur biex tagħmel llum hija jiddistillaw dan pjuttost kumpless programm tfittex, li għal darb'oħra inti ser jiġu biex jifhmu malajr, iżda għal xi ħaġa ferm aktar sempliċi. Ejja ngħidu biss dak li rridu nfissru. Ejja tfassal stampa ta 'dak li jfisser, permezz ta 'dawn il-biċċiet puzzle hawn. 

Allura dan huwa l-ipprogrammar lingwa magħrufa bħala Scratch. Hija ġiet żviluppata minn Media Lab MIT. U dak li inti ser tara fil-problema sett żero, li se jiġu rilaxxati aktar tard tonight, aħna ser ikollhom inti tmur biex dan URL hawn scratch.mit.edu. U dawn ikollhom web interface bbażati via li inti se jikteb ewwel programm tiegħek. Jew dawk tal inti ma qabel esperjenza, it-tieni programmi tiegħek, iżda f'ambjent li huwa probabbilment ftit familjari u dik se push inti biex joħolqu xi ħaġa jużaw dan l-ambjent ħafna viżwali. 

Issa, dak li jien ser tagħmel hawn huwa tiftaħ il-programm innifsu. Hija teżisti mhux biss bħala web browser, iżda wkoll bħala programm downloaded sabiex inti tista 'attwalment jużaw dan jekk inti ma għandekx aċċess għall-internet. U jien ser tagħmel dan fil hawn, fl Sanders, biss f'każ li l-Wi-Fi ma jikkooperaw super tajjeb. U dak li jien ser tagħmel hu punt out ftit karatteristiċi ta 'dan il-programm. Allura, biex tkun ċara, I jkollhom biss double għafast l-ikona fuq id-desktop tiegħi, jew ekwivalenti marret għall scratch.mit.edu, u huwa miġbud sa dan il-tieqa. Dan huwa ambjent programmazzjoni. Huwa biċċa ta 'softwer li xi wħud mill-ħbieb tagħna fil MIT kiteb li ejja us u tikteb programmi b'lingwa imsejħa scratch. 

Issa dan jiġri li jkun qattus li wkoll jismu Scratch u dan huwa tiegħu dinja li jgħix fiha. Dan huwa l-istadju, biex ngħidu hekk, li rettangolu fuq il-kantuniera ta 'fuq tax-xellug. U hu ma jkollhom dehra ta 'qattus. Inti tista 'tagħmel lilu ħarsa bħal kull ħaġa u inti jista 'jkollhom ħafna sprites bħal dawn, jew karattri, fi programm. Sadanittant, matul hawn fuq il-bogħod dritt, huwa lavanja vojt big. U dan huwa fejn, fil-mument, aħna ser tibda l-ipprogrammar billi jittrattienu u twaqqa dawn puzzle grafika biċċiet li huma tajba hawn fin-nofs. U hemm mod aktar minnhom minn aħna ser jqattgħu ħin fuq hawn fil-klassi għaliex inti ser issib li dawn qed kollha pjuttost intuwittivi. Għal darb'oħra, huwa ddisinjat għat-tfal, iżda aħna jużawha biex tease apparti xi wħud minn dawk ideat fundamentali ta 'varjabbli, loops, kondizzjonijiet, u, dalwaqt, l-affarijiet bħall-funzjonijiet u avvenimenti u ħjut u affarijiet oħra fancy aħna ser jiksbu biex qabel twil biex effettivament joħolqu xi ħaġa minn Scratch. Pun maħsuba. 

Issa, dak li jien ser tagħmel hawnhekk hija ikklikkja fuq mhux mozzjoni, iżda l-kontroll. U dan huwa biss kategorizzazzjoni tal here-- u nara differenti kulur sett ta 'blokki. Iżda avviż kliem familjari ftit. "Jekk" u "inkella jekk" u "ripetuti." U inti tista 'probabbilment raden thats reminixxenti tal-fergħa, jew il-kondizzjonijiet rajna, u anke-kostrutt looping. Allura aħna għandna blokki simili hawn. Iżda l-aktar interessanti wieħed huwa dan wieħed hawn. Meta din il-bandiera aħdar huwa għafast, dan, għal dawk programing minn qabel esperjenza, huwa ekwivalenti għal funzjoni prinċipali. Iżda għal dawk familjari, dan huwa l-biċċa puzzle li se tagħti bidu program kollu tagħna. Huwa letteralment ifisser meta mmur, f'dan programm, u ikklikkja flag-- aħdar li tista 'tara up here fil- rokna tax-xellug ta 'fuq tal-UI, hekk tara l-bandiera aħdar li jmiss għall-sinjal waqfien aħmar? Meta I ikklikkja li, tiegħi programm se run. Issa, jien ser tagħmel xi ħaġa super sempliċi ma Scratch. Jien ser jimxi 'l quddiem u jmorru l-panel jistenna hawn, fejn għandi mazz ta 'biċċiet puzzle vjola, u jien ser jimxi 'l quddiem u jagħmlu xi ħaġa super sempliċi bħal, ngħidu. U avviż then-- dan test fil-kaxxa bajda huwa editable-- jien ser ngħid "Hello dinja," bħad aħna għamlet f'dak testwali Verżjoni mument ilu. U issa jekk immur u kklikkja dan bandiera aħdar, I issa jkunu programmati. Mhuwiex partikolarment programm interessanti, imma I magħmula l-kompjuter tagħmel xi ħaġa. I bdew programm u ma dak I told li tagħmel. Issa, I jistgħu jkomplu drag u qatra aktar u aktar ta 'dawn il-biċċiet puzzle u dawn qed tmur biex jorbtu ma 'xulxin, iżda ejja SLAP xi terminoloġija hawn fuq li aħna ser tara rikorrenti matul il-kors, u verament matul xjenza tal-kompjuter u l-ipprogrammar aktar ġenerali. 

Dan "jgħidu" blokk, vjola, ejja biss tibda ssejjaħ dikjarazzjoni. Huwa bħal dikjarazzjoni ta 'fatt. Agħmel dan. Għalhekk, huwa kategorija ta ' istruzzjonijiet li inti jista għalf kompjuter bħala parti ta 'programm jew algoritmu. U biex tkun ċara, inti stajt probabbilment meħuda għall mogħtija li inti għandek programmi fuq il-kompjuter tiegħek. U dawn qed tip ta 'algoritmi, iżda programm huwa verament mazz ta 'algoritmi li xi bnedmin kiteb. Huma ppakkjati it up u huma mibjugħa sabiex inti, jew huma stazzjonati fuq websajt għalik biex tniżżel. Allura, a program huwa biss mazz sħiħ ta 'żerijiet u dawk li, b'xi mod, il-bnedmin maħluqa. U dawk mudelli ta 'żerijiet u dawk jirrappreżentaw affarijiet, finalment, bħal "jgħidu bonjour dinja" jew "play din il-mużika "jew" play dan il-video " jew "ibgħat email." Iżda aħna ser terga 'lura fl mod f'aktar dettall liema programm huwa meta inti, yourself, jiktbu għalihom. 

Hawn statement-- ieħor "Stenna għat-tieni wieħed." I ma jużaw dan s'issa, iżda jekk irrid programm tiegħi biex nieqaf għal mument biex jagħmel xi ħaġa, I jista 'jgħidlek biex tagħmel dan. Stenna tieni waħda. Issa wieħed ieħor jista 'jkun "ħoss play." Allura, dan huwa uniku għall Scratch, dan għandu l-abbiltà li jilagħbu ħsejjes. Allura, dikjarazzjoni I jista użu, hawn, "ħoss play." Sadanittant, l-espressjoni Boolean, għalhekk din hija kelma fancier imsemmija wara biss Guy jismu Mr bool, u din hija kollha dwar kwistjoni. Veru jew false-- huwa l-maws 'l isfel? A espressjoni Boolean huwa biss xi espressjoni bl-Ingliż li huwa jew vera jew falza. Jew fuq jew barra. Jew wieħed jew żero. Inti tista 'taħseb li fi kwalunkwe numru ta 'modi, imma huwa la vera jew dan falza, finalment. Allura "maws 'l isfel mark mistoqsija," li jkun espressjoni Boolean. U inti tista 'taħseb ta' oħrajn, forsi. Per eżempju, "huwa n-numru xellug anqas min-numru dritt? " Li, wisq, ikun espressjoni Boolean. "Inqas minn" hija espressjoni Boolean. 

Dan wieħed, wisq, "mouse pointer jmissux." M'inix ċert għaliex dawn sejħitilha mouse pointer. Dan ifisser biss, hija l-cursor, huwa l- vleġġa fuq l-iskrin, li jmissu l-qattus, per eżempju. Jew xi aspett ieħor ta 'l-iskrin. U huwa kwistjoni, għal darb'oħra, u li jiddenota espressjoni Boolean. Xi ħaġa li inti tista ' tixtieq li tuża f'kundizzjoni. Allura aħna ser jaslu għal dan fi ftit mument. Tista "u" affarijiet flimkien. Għalhekk, jekk inti tixtieq li jiċċekkjaw jekk dan huwa l-każ u li huwa l-każ, inti tista 'tuża "u" block bħal dan. U hawnhekk dik il-kundizzjoni. Avviż tal-forma tal-ftuħ ftit fil-quċċata ta 'din il-biċċa puzzle isfar, huwa reminixxenti tal-forma li aħna biss raw mument ilu. Kull wieħed minn dawn l-espressjonijiet Boolean jkollhom dawn truf osservat fuq ix-xellug u lemin. U dan għaliex folks MIT iddeċieda li permezz ta 'forom viżwalment ġarr, inti tista 'tip ta' tgħin lin-nies, studenti u tfal ukoll, għall tip ta 'timla l-vojt litteralment. 

Issa li puzzle-- li ftuħ huwa ftit żgħira, u kif aħna ser tara fil-programm, fil Scratch, se jikber biex tajbin. Hija se żżomm il-forma tagħha, finalment. So kundizzjoni ejja inti tiddeċiedi "Nagħmel xi ħaġa jew le?" A espressjoni Boolean hija l-kwistjoni attwali inti qed tuża biex tiddeċiedi nista mur l-OR xellug do mmur lejn il-lemin meta I jiltaqgħu dan hekk imsejħa furketta fit-triq? Inti jista 'jkollhom żewġ fergħat. Jekk xi ħaġa huwa veru, do dan, inkella mur il-mod, jew tista 'biss tagħmel xejn fuq kollu, dan blokk implikat. Bl-istess mod, nistgħu bejta dawn l-affarijiet. Mela jekk inti tixtieq li jittripplika furketta fil- triq, jew jagħmlu dan jew dan jew dak, Tista 'biss bejta dawn l-affarijiet flimkien. U tibda tikseb ftit ikrah, eventwalment, għall-żgur, iżda l-loġika għadu l-istess. Tista 'litteralment taqra dan fuq għal isfel u jgħid dak li means-- jekk dan huwa veru, tagħmel dan, inkella jekk inkella. 

A loop ma jiksbu aktar sempliċi fil Scratch. Forever tagħmel dan li ġej. Issa inti tista 'ma taħseb tista 'tagħmel ħafna għaliex hemm mhux ħafna spazju bejn il-quċċata u l- qiegħ ta 'dan il-ftuħ biċċa puzzle. Imma inti taf tara Scratch se jikbru li tajbin biċċiet puzzle ħafna kif inti tixtieq CRAM fil hemmhekk. Loop oħra tista 'tkun espressa bil jirrepeti. Jekk inti taf minn qabel, "I trid tagħmel xi ħaġa 10 darbiet, " inti tista 'biss tell Scratch li tagħmel xi ħaġa 10 darbiet. U, sadanittant, nistgħu jkollhom varjabbli. Allura hawnhekk wieħed arbitrarja, huwa oranġjo f'dan il-każ, u dan huwa tour whirlwind. Għal darb'oħra, inti ser issib dan ħafna aċċessibbli ladarba tibda tipponta u tikklikkja. Stajt jismu n varjabbli tiegħi, imma I setgħet imsemmija hija xejn nixtieq, u jien iffissar hawnhekk, fil- dan l-eżempju arbitrarja, għal żero. 

Issa jaraw programm bħal bonjour dinja mhux kollha li konvinċenti, Mela ejja attwalment jiftħu xi ħaġa li student eks magħmula. Let me imorru quddiem u tiftaħ, per eżempju, dan wieħed hawn, għal liema Nixtieq imħabba li jkollhom voluntier. Kull dritt, kif about-- ejja go farther. Iva, come fuq up. X'hemm isem tiegħek? 

Abby: Abby. DAVID J. Malan: Abby, come fuq up. Allura qatt lagħbu din il-logħba qabel? Abby: No DAVID J. Malan: Kull dritt. David, sbieħ li jissodisfaw inti. Come fuq matul. U dak huwa l-ipprogrammar tiegħek isfond, jekk ikun hemm. 

Abby: Stajt tgħallmu xi C ++. DAVID J. Malan: You ħadthom tgħallmu xi C ++. U dak li huwa logħba tiegħek playing isfond? 

Abby: Mhux ħafna. DAVID J. Malan: OK, hekk aħna ser jieħdu dik. Allura hawnhekk kif il-logħba ikun sejjer jaħdem. Jien ser jimxi 'l quddiem u ikklikkja l-bandiera aħdar, li huwa up hawn fil-kantuniera. Issa predeċessur tiegħek fil-klassi tak xi struzzjonijiet hawn. U fi ftit mument, huwa jgħid "spazju biex tibda." Allura aqbad u laqat l-spacebar. 

GAME KOMPJUTER: Pikachu. DAVID J. Malan: U l-għan huwa li jaqbdu l-ikel, kif muri hemm fuq ix-xellug. U biex [inaudible] 

[MUSIC jilagħbu logħba] 

DAVID J. Malan: AWW, ukoll, thank you for playing. Għandna hawn ftit firda rigal għalik. Għandna CS50 stress ball, jekk inti tixtieq li jagħżlu. Kull dritt, tajba biex jissodisfaw inti. Grazzi għall ġejjin u sfida. Allura aħna għandna aktar blalen istress, hekk ejja jagħmlu waħda aktar eżempju biex jimmotivaw. A voluntier? Kull dritt, kif madwar dritt hawn quddiem. X'hemm isem tiegħek? 

PHILLIP: Phillip. 

DAVID J. Malan: Phillip. Come fuq up, Phillip. Allura, Phillip se tkun kkontestat ma logħba oħra li wieħed mill-predeċessuri tiegħek kiteb bħala parti mill-problema sett żero, imsejħa agħar Game Ivy tal. U aħna ser tara fi ftit mument x'hemm mfisser b'dan. Phillip, sbieħ li jissodisfaw inti. X'inhu l-isfond tiegħek? PHILLIP: Magħmul lott ta 'kodifikazzjoni. Magħmul logħob ftit, wisq. 

DAVID J. Malan: OK. Qbilna ħafna ta 'logħob, wisq. U qatt lagħbu din il-logħba qabel? 

PHILLIP: Nru DAVID J. Malan: All dritt, so here we go. Jien ser jimxi 'l quddiem u kklikkja l-bandiera aħdar. 

[MUSIC GAME] 

[MUSIC MC Hammer, "U MA TISTAX touch dan"] 

PHILLIP: [inaudible] DAVID J. Malan: [inaudible] PHILLIP: [inaudible] [Laughing] [MUSIC MC Hammer, "U MA TISTAX touch dan"] DAVID J. Malan: [inaudible] Moħriet permezz tiegħu. PHILLIP: [inaudible] DAVID J. Malan: Mur quddiem. [MUSIC MC Hammer, "U MA TISTAX touch dan"] DAVID J. Malan: Kull dritt. Prosit. 

[Applause] 

DAVID J. Malan: Aħna se post li online aktar tard hekk li inti tista 'procrastinate miegħu kif ukoll. Princeton taqa up li jmiss, wara dik. 

Allura issa ejja attwalment jipproċedi li jibdew mill-bidunett, biex ngħidu hekk, u fil-fatt jibnu sa nistgħu tease apparti xi wħud minn dawn l-ideat u biex tikseb xi ħaġa anke aktar kumplessi mill-aħħar. Jien se jmorru fuq hawn u jien ser jimxi 'l quddiem u toħloq fajl ġdid. Għalhekk għal darb'oħra, is-sett problema se jimxu inti permezz xi wħud minn dawn il-passi. Imma, kollha I ma kien go għall-menu File u I qal "ġodda," tant bħal Microsoft Word, jew kwalunkwe programm bħal dik. 

U ejja imorru quddiem now-- u aħna implimentata "Hello dinja" mument ilu, imma ejja do xi ħaġa cuter ftit. Jien ser jitla 'għal avvenimenti. U jien se tagħmel "meta bandiera aħdar għafast. " U mbagħad jien ser tuża, nistgħu ngħidu, fergħa. So jien ser tuża "jekk" kundizzjoni. U avviż kif malli I nikseb qrib lilha, trid snap flimkien. So I let go u snaps flimkien. U issa I tista 'tagħmel xi ħaġa interessanti. Jekk I iscroll permezz hawn, jien ser biex tara mazz sħiħ ta 'blokki. Jekk I mur "data" - let me zoom in-- hemm xi ħaġa dwar fatturi varjabbli. Jekk I mur "mozzjoni," inti tista ' apparentement jduru madwar l-affarijiet. Jekk I mur "operaturi" - oh, dan huwa interessanti, I tista 'pick numru bl-addoċċ. So let me tagħmel xi ħaġa ma biss b'xi probabbilità, biss għaliex. Jien ser jimxi 'l quddiem u drag din il-biċċa puzzle, dan huwa li inqas minn blokk, dan huwa biss "Huwa dan in-numru inqas minn dak waħda?" Imma ma rridx kodiċi hard numru minħabba li jkun pretty inutli. So I m ser drag din il-biċċa hawn, u avviż kif snaps fi, u issa let me imorru quddiem u jgħidu "jekk in-numru li s qabad saltwarjament huwa inqas minn sitta, jagħmel dan li ġej. " Issa għaliex anqas minn sitta? X'inhu probabilità huwa dan effettivament ser jagħti me, just intuwittivament? Madwar 50%, id-dritt? Jekk in-numru li l raden saltwarjament bejn 1 u 10 huwa inqas minn sitta, b'mod ċar huwa wieħed, tnejn, tlieta, erba ', jew ħames. U hekk li għaddej biex tagħti me a 50% probabbiltà ta 'dak li jiġri? 

Well ejja nagħmlu xi ħaġa bħal dan, "play meow ħoss." U avviż, għal darb'oħra, l-biċċa puzzle tikber li jitwaħħal, sakemm il-forom jaqblu. C'est x'hemm importanti. Let me go fuq biex Scratch hawn u ikklikkja "play." Xejn jiġri. Huwa li bug? Le, mhux meħtieġ. Dan jista 'jkun biss li numru akbar ġie magħżul. Mela ejja jagħmlu mill-ġdid. Xejn. 

[Meow] DAVID J. Malan: Hemm huwa. [Meow] DAVID J. Malan: Għal darb'oħra. No 

[Meowing] DAVID J. Malan: Mela jekk inti stajt qatt lagħbu logħba, ta 'kors, fejn Jittieħed qed jiġri saltwarjament, bħall-guys ħżiena huma ġejjin jew le ġejjin fuq l-iskrin, jew affarijiet qed jaqgħu jew ma jaqgħux, li jinsab biss minħabba xi ħaġa super sempliċi bħal dan qed jiġri. Pick numru bl-addoċċ, u jekk huwa inqas minn xi valur, forsi jagħmlu dan jew forsi tagħmel dan. Nistgħu jinkorporaw li fis-kundizzjoni. Ejja nagħmlu xi ħaġa differenti. 

Let me tarmi dik bogħod. Inti tista 'teħles ta' għalf minn biss jittrattienu off lejn ix-xellug u kiri go. Let me imorru quddiem u jagħmlu dejjem blokk u malajr ħafna tagħmel xi ħaġa annoying. Let me imorru quddiem u jgħidu "play meow ħoss." Imma jien ma jridux li dan ikun wisq annoying, so let me grab din il-blokka, "Stenna-tieni waħda," u avviż hemm l-ebda aktar spazju għal dan. Imma jekk inti tmur qrib biżżejjed, trid li jmorru hemm. So I let go u se jikber biex timla l-blokk. Allura issa, dan huwa loop. [Meowing] DAVID J. Malan: Ninsab litteralment tagħmel dan għal dejjem. Għal darb'oħra u għal darb'oħra. Dan huwa biss mhux sounding naturali. Let me imorru quddiem u jbiddlu dan li mhux wieħed tieni, għal żewġ sekondi u hit Ikteb. U x'hemm sbieħ dwar Scratch huwa li inti tista 'programm interattiv. Agħmel bidla, forsi hit Ikteb jew Play darb'oħra, u se biss iżommu għaddejjin. Well, issa għaliex ma nagħmlu xi ħaġa cuter ftit? Pjuttost milli tagħmel dak kollu mill-bidu nett, let me imorru quddiem u tiftaħ avvanz magħmula wieħed, li jien minn qabel moħmija, imsejjaħ "Pet l-Kat." U aħna ser post kollha ta ' dawn il-fajls fuq l-internet, u l-problema jistabbilixxu żero se jgħidlek kif ikollhok aċċess għalihom u dawn jinfetħu. U avviż, dan huwa pjuttost sempliċi. Iżda bil-quddiem, I jidhru li grabbed a "dejjem" blokk, hekk stajt ltqajna loop. U allura stajt ltqajna "jekk" kundizzjoni. Stajt ltqajna espressjoni Boolean. 

Allura bl-Ingliż, biss glancing fil dan, speċjalment jekk inti stajt qatt programmati qabel, biss intuwittivament, dak li huwa dan se tagħmel, dan il-programm? 

[Chatter UDJENZA] 

DAVID J. Malan: Jekk inti pet il-qattus, il-qattus se meow, id-dritt? Għaliex "dejjem unchecking" huwa l-mouse pointer li jmissu l-qattus. Allura biex tkun ċara, u I ma jgħidu dan qabel, kollha ta 'dawn puzzle biċċiet u l-iskrittura li għandna kkombinahom, biex ngħidu hekk, b'kitba huwa sinonimu ma programm, verament, jappartjeni għal din il-qattus. U r-raġuni għaliex is-- avviż kif dan l-istess qattus hawnhekk hija enfasizzata, stabbiliti hawn inti tista 'toħloq tieni qattus jew kelb jew verament xi ħaġa li trid grafikament. Inti tista 'importazzjoni xi ħaġa minn Photoshop, jew bħalhom, u jintegraw xi ħaġa jekk inti tixtieq li tagħmel dan għal proġett. U dak li inti ser issib, finalment, huwa li inti tista 'żżid skripts, żid puzzle biċċiet, għal karattri individwali. Allura dawn kollha jappartjenu għall dan qattus partikolari. Allura issa jekk I jimxi 'l quddiem u play dan il-programm, xejn jiġri. Iżda tkun qed taħdem. Il-programm huwa f'dan dejjem loop, tip ta 'stennija għal dak li jiġri? 

[Chatter UDJENZA] 

DAVID J. Malan: Biex domestiċi il-qattus. Mela jekk jien jimxu maws tiegħi lejn him-- 

[Meowing] 

DAVID J. Malan: Allura issa Jien petting-qattus. Sadanittant, jista 'jkollna fergħa doppja. Let me imorru quddiem u tiftaħ up ma domestiċi-qattus. Aħna ser post dan online ukoll. Dan huwa xi ftit aktar kumplessi, iżda mingħajr ma tgħid inti tista 'raden forsi x'inhu jiġri. 

[Meowing] 

DAVID J. Malan: Cat huwa meowing, ħin qodma grand. Iżda dan il-programm huwa ta 'kors imsejħa "Ma Pet il Cat," hekk b'mod ċar, nixtieq li pet-qattus. 

[ROARING] 

DAVID J. Malan: M'għandekx domestiċi il-qattus. Issa, ejja tagħti ħarsa fi eżempju ieħor hawnhekk. Dan wieħed se jissejħu "Hi, Hi, Hi," għal raġunijiet li se jkun ċar, għaliex malli I run dan thing-- 

[Barking SEAL] DAVID J. Malan: Faċli ħafna biex jiktbu programmi Scratch annoying. [Barking SEAL] DAVID J. Malan: Issa aħna mhux se jmorru fid-dettal ħafna ma 'dawn kollha, imma avviż hemm koppja ta 'fatturi ġodda hawn. Hemm varjabbli, imsejħa "siekta," u allura hemm mazz ta 'kundizzjonijiet. U għal issa, let me biss tease inti billi qal li jekk dan Guy gets wisq annoying, I tista 'tolqot l-spacebar u hu waqfiet. Minħabba r-rwol li kellha mill dawn iż-żewġ skripts hija kif ġej. Waħda minnhom hija tagħmel l- Barking kull ftit sekondi. L-oħra hija ftit stennija għalija li tolqot l-spacebar. U jekk I do hit l-spacebar, li għaddej biex jibdlu l-istat ta 'dan il-varjabbli, il-valur ta 'dan il-varjabbli, li apparentement imsejħa "siekta," I ma sejħa xi ħaġa boring bħal n, I sejħitilha kelma Ingliża, "siekta." Minn 1 sa 0 jew 0-1. Mill vera biex falza jew falza vera. U għalhekk inti tista 'attwalment tara issa, li inti jista 'jkollhom żewġ skripts, tnejn programmi running simultanjament, u tnejn minnhom jistgħu jiġu seduta fil-loop tagħmel xi ħaġa. Stennija għall-bniedem biex jagħmlu xi ħaġa bħal laqtu spacebar. [Barking SEAL] DAVID J. Malan: U issa hu fit-triq tiegħu mill-ġdid. [Barking SEAL] DAVID J. Malan: Allura x'iktar tista nagħmlu ma 'dawn l-eżempji? Well, ejja imorru quddiem u tagħmel pereżempju fir-għadd tan-nagħaġ. Aħna ser tkompli din fuq il-linji hawn of-- ejja jiftħu l-eżempju nagħaġ. U avviż, ħafna bħal qabel, dan wieħed, Thankfully, huwa ftit inqas annoying. Ladarba I hit play here-- Oh no, dan huwa annoying. Huwa se baa b'xi probabbilità. Ejja jilagħbu din darb'oħra. 

[BLEETING NAGĦAĠ] DAVID J. Malan: L-unika differenza hija konna mibdula l kostum, biex ngħidu hekk, u aħna qed tnaqqas bin-nofs u jgħidu dak dak in-numru attwali huwa. Well ejja imorru quddiem u tieħu dan il-pass wieħed ulterjuri. U let me tease inti ma Karatteristika waħda oħra hawn. Ejja imorru quddiem u tiftaħ programm imsejjaħ Threads. Tant simili inti tista 'jkollha waħda Sprite, li skripts multipli, inti jista 'jkollhom żewġ sprites, għasfur fl qattus, li kull wieħed iskrittura tagħhom stess. U kull wieħed minnhom jista ' joperaw simultanjament. Jekk inti stajt qatt semgħu l- kelma "multithreading" kompjuter huwa "multithreaded" tfisser hija tista 'tagħmel affarijiet multipli fuq darba, u, tabilħaqq, sabiex tista 'Scratch. 

U issa avviż-għasafar hija tip ta 'dumb. Huwa biss tagħmel affarijiet bl-addoċċ, bouncing off-iskrin. Ovvjament il-qattus ġie pprogrammat li tip ta 'jkollhom li jfittxu kapaċitajiet dar fuq l-għasafar minħabba hu dejjem tipponta lejn lilu. Sakemm finalment, huwa qabdiet l-għasafar attwali. So I mhux se nitkellem dwar id-dettalji hawn, imma int tista tip ta ' glimpse l-istess forom, xi "Jekk" kundizzjonijiet, xi varjabbli, forsi xi loops, huma finalment tagħmel l-istess ħaġa. 

Issa let me imorru quddiem u tiftaħ up xi ħaġa oħra għal kollox, tease xi wħud minnkom, partikolarment dawk aktar komda, dak li inti tista 'attwalment tagħmel ma' dan. Jien ser jimxi 'l quddiem u jiftħu Button here. U dan huwa super programm sempliċi seeming, iżda jaraw dak li jiġri meta I-- Watch dak jiġri meta I tiftaħ din il-verżjoni ta 'dan, hawn fil-browser, scratch.mit.edu. U meta I ikklikkja dan aħmar big buttuna, avviż x'jiġri. Allura x'inhu għaddej hawn? Hemm effettivament kumplessità ħafna aktar tmur fuq taħt il-barnuża, anki jekk stajt implimentati dan, jew franchement, Dan Bradley implimentat dan hekk sempliċiment. Huwa fasslet puzzle Scratch custom biċċa, magħrufa bħala estensjoni Scratch, hu sejjaħ dan Toggle. 

U dak Toggle ma huwa jibgħat messaġġ fuq l-internet. U li messaġġ innifsu jistenna ftit cryptic. Iżda dan, wisq, inti ser jifhmu sa tmiem tul ta. Il-messaġġ hu attwalment jibgħat jistenna ftit xi ħaġa bħal din. Huwa biss it-test. Mistur. Int ser tifhem lilu mill-ħin irridu jiksbu l-problema sett sebgħa. Huwa biss jibgħat messaġġ testwali fuq l-internet għal server. U li server huwa, finalment, tkellem lil din bozza tad-dawl, li għandha wieħed minn dawk bozoz tad-dawl fancy fiha li, hija stess, qed jitkellem għall-Wi-Fi fin-netwerk hawn, fejn apparat lokali isfel here-- u, finalment, huwa attwalment tidwir li d-dawl u jintfew. Iżda nistgħu nagħmlu aktar affarijiet interessanti għadhom. Avviż dak Dan għamlet ukoll għalina. Huwa għamel sprites multipli, kull wieħed li għandha b'kitba stennija għal klikk. U jekk I ikklikkja aħmar, din tmur aħmar. Jekk niġi blu, din tmur blueish. Aħdar, isfar, oranġjo. U dan kollu qed jiġri permezz jmorru mod fuq l-internet, lura stabbiliti hawn għall- bozza tad-dawl, u jintfew. 

U jekk inti tista 'temmen it-- u dan huwa forsi wieħed mill-Scratch aktar kumplessi proġetti xi ħadd ikollu implemented-- huwa ma kien, fil-ġustizzja, fil-jum. U li kien l-isfida aħna threw isfel li daN meta rajna jkollhom basal binarja, għandna Scratch, kif nistgħu jgħaqqdu lilhom? U, tabilħaqq, dan huwa assolutament xi ħaġa li kulħadd f'din il-kamra tista 'tagħmel billi end-- semestru huwa hu basal binarja reimplemented jużaw l-istess interface li kien fuq iPad tagħna nhar l-Erbgħa. Allura li issa, jekk I attwalment ikklikkja l-plus hawn fuq, aħna għandna waħda, tnejn, tlieta. I tista 'tolqot l-16 u dawwar dak fuq. 128, u ibqa 'sejjer hekk. 

Issa jekk dik waħedha għandha u minfuħa moħħok, inti tista 'tagħmel affarijiet ferm aktar aċċessibbli, ma tinvolvix xi hardware ċertament. Just affarijiet fuq l-iskrin innifsu. U, tabilħaqq, dak li ħafna studenti jispiċċaw jagħmlu xi tip ta 'logħba, xi biċċa xogħol artistiku, jew xi tip ta 'animazzjoni interattiva. U jien se ngħid waħda ta 'tagħna Favourites kien dan wieħed. U ħsibt jekk aħna jista dim-dwal, aħna ser tagħti idea f'dan finali Proġett Scratch fil-konklużjoni. Imma dak li inti ser għandu jżomm f'moħħu, bħala I tista 'tease inti ma wieħed dettall aħħar, sezzjonali se tibda ġimgħa d-dieħla. Uffiċċju siegħa se tibda ġimgħa d-dieħla. Problema sett żero se jkunu stazzjonati CS50.harvard.edu aktar tard illum. U int se tkun milqugħa fl problema sett żero biex stess Zamyla Chan CS50, l li gwidi aktar ta 'walkthroughs tagħna. Dawn huma integrati videos fis-settijiet problema li se żżomm f'idejk permezz ta 'lott tal-up sett inizjali u permezz ta 'ħafna tad-deċiżjonijiet possibbli tad-disinn. Mela jekk inti stajt qatt kellhom li l-emozzjoni meta picking up a assenjazzjoni huiswerk u mintix, fejn nista tibda? Hi se jkollhom din ir-risposta għalik. U issa, programm finali minn wieħed mill-predeċessuri tiegħek Bi tweġiba għall-mistoqsija "X'tagħmel l-volpi jgħidu?" [MUSIC YLVIS, "X'tagħmel l-FOX JGĦIDU?] 

YLVIS: (KANT) Dog tmur woof. Cat tmur meow. Bird tmur tweet u maws tmur squeak. Cow tmur moo. Żrinġ tmur croak. U l-iljunfant tmur toot. Papri jgħidu quack u ħut jmorru blub. U s-siġill tmur ow ow ow, iżda hemm wieħed ħoss li ħadd ma jaf, dak ma l-volpi jgħidu? U 

DAVID J. Malan: Li lilha għall CS50. Aħna se tara inti fil Puzzle Jum u nhar it-Tnejn. 

[Applause] 

[MUSIC YLVIS, "X'INHU does IL JGĦIDU FOX?"] 

Narrator: U issa fil-fond ħsibijiet, billi Daven Farnham. Illum sibt hit fil- imb'wiċċ ma 'ktieb tat-telefon. Konfużjoni, kif jien fil home jaraw online.