[Powered by Google Translate] [ROCK MIZIK] [Klas Mizik - "BIG YO" tòti a] DAVID Malan: Jodi a, nou kòmanse eksplorasyon nou an nan fondamantal nan syans òdinatè ak entwodiksyon nou an, kounye a, a Art nan pwogramasyon, nan yo ki ki se jis yon egzanp. Men, nan Venn an menm nan rezoud pwoblèm, konnen ke Jou tradisyonèl CS50 nan devinèt se demen. Si ou pa te ankò RSVPed pou evenman sa a, ou ka ale nan cs50.net/rsvp. Ou ka pote ekip nan de oswa twa oswa kat. Ou pral defi ki gen pwoblèm tankou sa yo, ou te wè 'kanpe depi nan konmansman an. Tout pwoblèm nouvo ane sa a si ou partook ane pase a, epi ou pral gen yon chans Lè sa a, pou pou genyen kèk prim Fabulous. Nan mitan yo, yon wii ak kèk sètifika kado ak tankou, tout pandan y ap pandye soti ak CS50 elèv yo ak lòt elèv nan klas ak pitza ak Facebook. Se konsa, plis sou sa demen si ou ta renmen. Sa a Lè sa a, se CS50, pou moun nan nou rantre nan nou pou la premye fwa. Ak konnen ke sa a se kou patikilyèman detèmine jwenn ou atravè kou sa a nan fen final li yo, nan ki pwen ou ap gen pa sèlman yon konpreyansyon sou sa yo fondamantal nan syans òdinatè, men w ap gen sa a seri konpetans trè pratik ke ou ka Lè sa a, pran tounen nan depatman pwòp ou a, si li nan jeni syans, aplike matematik, syans fizik yo, natirèl syans, oswa tankou an. Vreman vre, yo sa ki nan se konsa eksitan sou syans òdinatè sa yo jou se ke li se jis pou aplikab a tout kalite jaden yo. E menm si jodi a, nou pral sèlman grate sifas la nan yon trè tradisyonèl lang programmation li te ye tankou C, n ap olye gade nan yon bagay yo rele grafouyen, yon bagay ki gen ki te ke istwa renmen bonbon aplike pa youn nan ou chèf anvan nan ane sot pase yo, rakonte istwa, yo kreye jwèt, yo kreye entèaktif atizay, ak aktyèlman kòmanse vlope nou lespri alantou kèk nan konstwi yo fondamantal ki underlie pwogramasyon men nan yon kontèks, jan ou pral wè, se sa ki anpil mwens pè, ki nan anpil mwens Esoteric, pase ou pral wè anvan lontan. Ak reyalize, tou, pou moun nan nou jis rantre nan nou sa a semès, fraz yo ki sou kote nou te fini konferans Mèkredi a, li se pa konsa pou sa enpòtan ki kote ou fini relatif nan ou kamarad klas nan klas sa a, men ki kote ou, nan fen semès la nan semèn 11, fini relatif nan tèt ou dwa jounen jòdi a. Se konsa, san brwi pi lwen, sa a se tou vo anyen ke sa yo mwens konfòtab, sa yo ki yon kote nan ant yo, se tou, nan konsepsyon nan kou sa a, pa nan nenpòt ki dezavantaj vis-a-vis sa yo pi konfòtab vini nan klas sa a. Kòm ou pral wè sou semèn ki vini, nou gen diferan tren pou background tounen disparate, seksyon pou moun ki mwens konfòtab, pi konfòtab, sa yo ki yon kote nan ant. Kòm ou pral wè nan fen semèn sa ak semèn pwochèn, de vèsyon an pi pwoblèm kouche nan tou de edisyon estanda ak aker konsa ke ou tout ka oto-chwazi desann chemen an ak kote ou yo ki pi konfòtab. Se konsa, jounen jodi a, nou plonje nan sa a pwogramasyon lang yo rele grafonyen moun. Li se yon lang programmation grafik, e ankò li gen nan karakteristik menm nan kèk nan lang yo pi wo nivo nou pral eksplore pita nan semès la, nan mitan yo C ak JavaScript ak PHP. Men, li a pral pèmèt nou pou fè pou evite kèk nan distraksyon yo bonè nan sentaks, bagay sa yo tankou virgules, parantèz, ak lòt detay Esoteric ki, nan zye premye, yo se jis pa nan tout enteresan entelektyèlman epi yo gen tandans jwenn nan wout la nan kèk konpreyansyon fondamantal. An tèm de kounye a estrikti nan sipò devan ou, reyalize sa a zouti, CS50 Diskite, ki pral lye sou la nan kou sou sit wèb pita jodi a, se fowòm nan diskisyon sou entènèt nan ki ou pral kapab poze kesyon nan chak lòt ak anplwaye yo, ak li la tou yon zouti, menm jan nou pral wè semèn pwochen, ke nou pral itilize byen integratedly nan biwo èdtan kòm byen. Vreman vre, yo lè biwo kòmanse nan Lendi, ak franchman, premye a semèn nan lè biwo louvri se kle san patipri ki ba. Mwen pa panse ou ap jwenn grate tout sa ki inaksesibl. Li nan olye klè, kifè, menm jan nou pral wè, epi konsa sa ki nou pral itilize li pou jodi a se ekstrè kèk nan la lide fondamantal ki pral, lè sa a, pèsiste pandan tout la rès semès la. Men, kòmanse Lendi, nan 8:00 PM nan 11:00 PM pral biwo èdtan nan Annenberg sou repo nan sèvo. Koup de pral kòmanse aswè a, se konsa nenpòt moman sa a fen semèn, ale nan cs50.net/section, epi ou pral ap mande yon kantite kesyon yo. Pami yo, ki jan ou ta dekri ou nivo konfò kòm nan jodi a? Gen nan pa gen difisil, règ vit ke konnen ki moun ki la nan ki bokit. Se jis sòt nan nan bagay ki pwobableman ou konnen si ou se yo ki pami sa yo ki mwens konfòtab la oswa otreman. Epi, koulye a, valktroug. Spesifikasyon nan seri pwoblèm pou semèn sa a, tou de estanda ak edisyon aker sanble, se sou entènèt la nan cs50.net kòm nan kounye a. Epi ou pral wè ke premye a nan nan sa yo edisyon, se estanda edisyon chak semenn, te akonpaye pa yon bagay nou rele yon solisyon kòd, yon sesyon ki te dirije pa youn nan zanmi ansèyman kou a gide w nan, bay konsèy sou fason pou, ak fè ou jwenn desann yon chemen an patikilye lè li rive kòmanse sa yo aparèy televisyon HD pwoblèm. Se konsa, avèk chak nan sa yo pwoblèm kouche, si w ap janm vle pou tèt ou kote mwen kòmanse, w ap kòmanse ak sa yo valktroug. Ak an reyalite, pèmèt mwen prezante Zamyla Chan, sa a parèy ansèyman ane a ki pral mennen chak ak tout youn nan sa yo valktroug. Zamyla? [Aplodisman] ZAMYLA Djaki: Oh, hi, tout moun. Non mwen se Zamyla. Mwen se yon jinyò jeni etidye nan Winthrop House. Men, mwen eseye ak anfòm nan kòm anpil kou syans konpitè jan mwen kapab, ki se poukisa mwen vrèman eksite yo dwe ki mennen sa a valktroug ane a. Valktroug, pou m ', yo te yon pati esansyèl nan CS50 mwen eksperyans. Pandan solisyon an, pou chak p mete-a, n ap ale nan pwoblèm nan mete ansanm, gade sou pwoblèm yo, kalite divize yo moute nan mòde metrize. Mwen pral ba w konsèy, teknik, pou jwenn jiska ak nan trape te kòmanse. Mwen espere wè ou tout nan valktroug yo. Si ou pa kapab fè li nan moun, Lè sa a, tanpri fè melodi nan sou entènèt. DAVID Malan: Excellent. Mèsi, Zamyla. Se konsa, reyalize ke valktroug yo, tout bon, sou yon Vandredi apremidi, men sa a se fè espre nan konsepsyon pou ke menm si ou ta pito pa ale nan klas sou yon Vandredi apremidi, videyo yo pral moute tout pi vit a sou fen semèn nan. Se konsa, reyalize ke cs50.net pral tout la Zamyla valktroug. Epi ki gen yon dat jodi a ak tan, 3:00 PM, Harberd Hall, 104. Ak kèk nan zanmi yo ansèyman te tou prepare kèk remak pou ou nan absantya l 'ban nou yon ti jan nan pèspektiv tankou sa ki eksperyans yo vini nan ak pral soti nan CS50 te tankou. Se konsa, si nou te ka bese limyè yo sèlman pou moman yon, mwen ba ou kèk nan anplwaye CS50 a. JACKSON STEINKAMP: Mwen te pran CS50 ane pase a kòm yon elèv nevyèm ane nan la tonbe, epi li absoliman kònen lide m '. Mwen pa janm te pran nenpòt klas pwogramasyon anvan, epi pa janm te vini nan ak nenpòt ki syans konpitè fè eksperyans nan tout. Ak jis, mwen tande Buzz la sou klas la ak deside pran li. JULIA MITELMAN: Se te vrèman plezi, reyèlman angaje. Mwen toujou, nan jou sa a - Mwen te jis dènyèman te wè mwen gen ki gen kapasite a flou jan David te ban nou sou premye jou nou an konferans. Mwen te pann l 'sou miray m' yo. Sa a se pwobableman yon ti kras nerdy, men mwen te pandye nan sou mwen miray pandan klas la kòm yon rapèl sou kouman fre sa te pase. Travis Downs: Se konsa anbarasan. JACKSON STEINKAMP: Odinatè syans se yon bagay ou ta dwe eseye menm si ou pa gen yon sèl pou syans yo tradisyonèl. Li nan eksperyans pwòp li yo, ak CS50 pral fè w ke ou ap sipòte byen atravè li ak lame otantik li yo nan TFs. Ali nam: Mwen te pran li kòm yon elèv nevyèm ane, ak Se konsa, mwen te fè yon anpil nan nouvo zanmi. Mwen menm mwen te te resevwa prezante sa a konsantrasyon tout ak tout lekòl nan jeni, ak Se konsa, mwen trè rekòmande pou li ak akeyi ou nan fanmi CS50 nou an. YANIV YACOBY: CS50 jis anseye ou kouman yo sèvi ak zouti ki se lajman aksesib. Ou jis bezwen yon konpitè pòtatif, ou bezwen yon navigatè entènèt, epi ou bezwen aprann ekri kèk kòd, epi ou ka vrèman bati bagay sa yo byen òdone. Karen Xiao: Se jis pou fre pou kapab fè yon bagay epi yo gen moun sèvi ak li epi yo gen moun wè li, e ke an ki sa mwen reyèlman renmen sou li. TIM McLaughlin: - yon sans kominote, mwen panse, nan sa a kou plis pase nenpòt ki kou lòt Mwen te pran byen lwen tèlman. Ou pa jis ap pran yon lòt - ou pa ap ranpli yon lòt egzijans. Ou pa jis ap ale nan konferans ak ale nan seksyon. Men, ou ap fè tòn bagay sa yo ke yo tout sou pwogram ak tout bagay sou teknoloji, men li pa fè reyèlman santi tankou yon klas pi fò nan tan an. Downs Travis: Sou premye jou a, yo te kenbe yo gato, ak Mwen te imedyatman vann. JACOB PRITT: gratis sirèt ak pitza. ZAMYLA Djaki: - kèlkeswa nivo enterè ou, mwen panse ke ki CS50, ou pral gen plezi, epi ou ap entelektyèlman stimulé. MARK GROZEN-SMITH: Li nan toujou yon pati nan klas yo, ak li nan yon pati chak swa ap travay sou seri p-ou. JACKSON STEINKAMP: Chak fwa ou fini yon seri pwoblèm, ou pral santi tankou ou te fini yon pwojè. Melissa NIU: Li te ane nevyèm ane, epi mwen te fè fè makèt. Mwen te gen klas kat mwen pare, ak mwen te nan Annenberg. Apre sa, mwen frape nan yon zanmi ou, e li te di, hey, mwen fè makèt klas sa a yo rele CS50, epi ou ta dwe vin avè m '. Te fini pran li ki tonbe, epi apre ke tout klas, mwen te panse petèt mwen pral minè nan CS. Men, isit la mwen, twa ane pita, toujou ap etidye òdinatè syans ak aktyèlman fè li kòm yon gwo, epi mwen te renmen chak moman nan li. ROB Bowden: Mwen pa gen okenn lide. Ali nam: Ann gade pou wè. Melissa NIU: foli. Oratè 1: mwen santi mwen tankou mwen ta dwe pran anpil kliche. Mwen ta jis di, renmen, pè. YANIV YACOBY: Aksè nan. JACOB PRITT: gratis sirèt ak pitza. Travis Downs: Yo pa ka vire desann yon klas ki men soti gato. TIM McLaughlin: énèrjik. VIPUL SHEKHAWAT: Esansyèl. ROB Bowden: Kite m 'panse a yon repons. Mwen panse ke mwen te resevwa yon bagay. Oh, bondye. Yeah, Bowden Rob non mwen an, ak sa a se CS50. [Aplodisman] DAVID Malan: Tout dwa, se konsa kite la kòmanse nan penti yon foto nan a nan direksyon kote nou ka ale, e kite yo prezante konsèp sa a isit la li te ye tankou pseudocode. Se konsa, pseudocode se pa yon pwogram lang di tèt li. Li nan pa gen anyen teknik se pou chak, men li la jis sòt de yon jeneral fason pou eksprime tèt ou san patipri jisteman, jistis algorithmically, san patipri prosedural, men san yo pa gen enkyetid sou ki lang ou ap eksprime tèt ou pous Li nan kèk modèl nan angle ak lang programmation ak kote ou rive yo yo konnen yo, pou nou ka kòmanse ekri sa a sòt de bagay sa jan nou ale. Ak an reyalite, Jozèf, te kapab mwen prete ou moute sou etap yo dwe sekretè isit la? Mwen te ale vè lavan isit la nan avans e li bliye mete sou kèk chosèt jodi a, e sa a pral nan mitan plis nou egzanp ridikil. Koulye a, mwen bezwen ou chèf pou gouvènen isit la. Mwen pral fè pati nan chosèt. Se konsa, isit la nou gen yon pad grafouyen ti kras. Sa a se literalman jis TextEdit nan yon Mac. Nou pa aktyèlman pral ekri yon pwogram ègzekutabl, men Nou jis ap pral kòmanse eskis soti pseudocode ki baze sou sou kèk nan konsèy la ou bay m 'isit la. Se konsa, isit la se pil m 'lan nan chosèt nan kay la. Mwen pa gen okenn chosèt sou lè mwen reveye nan maten an, ak nou koulye a bezwen ekri yon pwogram, yon algorithm nan kalite, ak ki jwenn sa yo chosèt sou de pye m 'yo. Ak nan tout wout la, se pou yo wè si nou vwayaj sou, oswa rankontre, kèk nan lide yo ke ou ap ale nan gen kòmanse panse sou pi plis oserye lè pwogramasyon Si nou pwogram ou a pa konpòte byen kòm gen entansyon. Se konsa, mwen chita isit la. Mwen te gen pil m 'lan nan chosèt. Ki sa ki nan premye bagay la yon rezonab moun ke yo ta fè lè objektif yo se yo mete sou yon pè chosèt? Yon moun ban m 'yon sèl etap, epi sèlman etap youn. Yeah? ODYANS: bese atè. DAVID Malan: bese atè, Okay. Etap de. Etap de. ODYANS: Ranmase chosèt ou. DAVID Malan: Ranmase chosèt ou. Okay, anbigwite konsa ti tay isit la, ak sa a se youn nan premye a baryè ke nou ap sipoze fè espre rankontre isit la. Li se yon ti kras Limit, se konsa ranmase chosèt ou. Fine, m ap pran yon sèl sa a, men yon òdinatè, reyalize nan jis yon ti jan, pa pwal gen ki sòt de ensten imen jis chwazi youn ki pi pre a. Nou pral gen kòmanse, anvan lontan, eksprime tèt nou plis pwesizeman. Tout dwa, se konsa etap de se ranmase chosèt ou. Nou pral pran li. Etap twa. Nan tounen an. ODYANS: Jwenn yon pè matche. DAVID Malan: Jwenn matche pè. Oke, kidonk sa a se yon bon bagay. Mwen te gen chwa sa a chosèt. Se konsa, objektif la se sa yo jwenn yon chosèt matche, kounye a, men ki sa sa vle di? Yon moun ki rezonab ke yo te, anpil tankou nan Mèkredi lè mwen jis te konnen kouman jwenn Mike Smith nan yon liv telefòn, jis kalite li pati avèk ensten yo. Men, isit la, li nan evidamman sa a chosèt isit la, men yon òdinatè a pa pral yo dwe tèlman entwitif. Yon òdinatè ki pral gen yon koleksyon Bits, menm jan nou diskite nan Mèkredi, ak sa yo se òganize yon jan kanmenm nan memwa. Men, pwen an se ke yon òdinatè la gen sèlman kapasite nan fè yon gade nan bagay sa yo yon sèl nan yon tan, epi an reyalite, menm nou moun - menm si li santi l tankou mwen regarda desann separe ak yon dezyèm pita Mwen konnen ki kote chosèt la se, nan sèvo m 'ak je m' prezimableman t 'yon rapid koudèy nan sa yo chosèt, ak Lè sa a, fèmen sou youn nan nan kesyon. Se konsa, si nou kapab tout plis ekspre a kounye a kòm yon òdinatè, Kouman mwen ka jwenn sa a pè matche? Oke, nou dwe repekte. Nou dwe petèt riban sou sa a dezòd nan chosèt sou la etaj kote m 'di yon bagay tankou POU CHAK chosèt, chwazi li moute, epi si fòm la menm ak gwosè kòm youn nan lòt, lè sa a dot, dot, dot, nou pral kontinye istwa a. Se konsa, pou chak chosèt, se konsa mwen ranmase yon sèl sa a. Mwen tcheke sa a egal a yon sèl sa a. Li pa nan, se konsa mwen mete nou sou kote bò. Apre sa, mwen repekte ankò. Èske sa se yon sèl egal? Non, li pa nan, se konsa mwen mete l 'sou kote. Èske sa se yon sèl? No Sa a youn? Non, ak pou fè. Lè sa a, finalman, èspere ke, mwen pral kontre sa a chosèt isit la. Se konsa, si li nan fòm la menm, gwosè, pran li. Epi, koulye a, ki sa ki ta dwe etap pwochen nou yo isit la? Yeah? ODYANS: Idantifye dwa soti nan bò gòch. DAVID Malan: Oke, idantifye dwat ak gòch, se konsa erezman, ki kalite travay. Te Yon simetrik ti kras, oswa mwen jis chire yo ki fason. Tout dwa, Se konsa, mwen te idantifye bò dwat la. Epi, koulye a, anvan nou kontinye, kite m 'pwen soti ki sa Jozèf yo te fè isit la kòm sòt de yon pwogramè vèrs. Se konsa, ankò, gen nan pa gen fason youn nan fè sa, men pi lwen pase jis Genyen liy ki, Jozèf te deja kòmanse fè sa sòt de mark. Vreman vre, sa a se yon konvansyon trè komen nan pwogramasyon, kote lè ou yon bagay repete, loupin style, kòm nou ap qui avèk fraz angle a "pou chak chosèt, "konvansyon an nan pseudocode ak, menm jan nou pral wè, lang programmation nòmal, se jis itilize. Frape ba a espas yon fwa kèk, frape kle a Tab oswa tankou an, pou ke enbrike anba "pou chak chosèt" se moso nan bagay ke ou bezwen fè kòm yon konsekans ki riban. Se konsa, sa a, se tout sa ki nan liy moral Semantics. Koulye a, pandan se tan, "Si li nan fòm la menm ak gwosè," a la se lefèt ke "Pran li" utilize plis jis vle di sa a, se bagay la sèlman ou ta dwe fè si ke kondisyon, si sa branch lan, ki fouchèt nan wout la, se an reyalite vre. Se konsa, kounye a isit la, nou ap sou etap kat, idantifye dwat ak gòch. Mwen te idantifye dwat. Ban m 'senk etap. Ak teknikman, nou te ka vrèman rele la pou chak bagay - ou ta dwe pwobableman nimewo tout liy yo si nou pwal fè sa. JOSEPH: [fèbl] DAVID Malan: [fèbl]? Okay, amann, tout dwa, nou pwal fè li fason ou. Tout dwa, se konsa etap senk, ki jan nou fè chosèt la dwa? Ki jan nou kontinye vini yo, isit la? Wi? ODYANS: Leve dwa janm yo. DAVID Malan: Leve dwa janm, Okay. SIZYÈM ETAP? Byen vit. Yeah. ODYANS: Jwenn yon fen louvri nan chosèt la. DAVID Malan: Oke, jwenn fen a louvri nan chosèt la. Se konsa, bon. Se konsa, isit la, franchman, yon ensten trè komen ta jis pou mete yo sou chosèt dwa, men sa twò se jistis Limit. Sòf si òdinatè a oswa moun konnen ekzakteman ki sa sa vle di, li pa pral fè egzekite ki, se konsa isit la, mwen te jwenn ouvèti a nan stock la. Etap sèt? ODYANS: Manyen zòtèy ou. DAVID Malan: zòtèy Touch. Oke, kidonk kounye a nou ale - Tout dwa, mwen pral pran kèk libète isit la. Mèsi. Etap uit? Mete sou chosèt. Oke, kidonk koulye a, mwen, panse ke nou ap ase pre sòt de pran yon sèl sa a nan kay la. Tout dwa, kidonk sa a ap moute. M ap pran kèk libète ak sa li vle di, aktyèlman. Mete chosèt la sou. Tout dwa, kounye a etap nèf? ODYANS: Mete pye desann. DAVID Malan: Mèsi poutèt ou. Etap nèf, yo mete pye l 'atè, e kounye a,, nou ka repete. Se konsa, prezimableman, nou kapab kounye a ale nan etap 10 ak di idantifye kite chosèt, men sa a prezimableman deja fè. Se konsa, lè sa a, mwen ka sòt de repete etap sa yo. Men, sa a sòt de amèn kesyon an. Anvan, ki dènye fwa nou te vle repete yon bagay, nou te fè li iterativman, ankò e ankò, yon POU CHAK riban pou pale. Li ta fè sans yo sèvi ak yon riban yo nan lòd yo okipe tou de bò gòch la ak chosèt la dwa? Paske li santi l tankou operasyon sa yo yo se bèl anpil eksepte pou lefèt ke yon sèl kòmanse isit la ak yon sèl kòmanse isit la? Èske nou riban, oswa nou jis kenbe ekri etap 10 ak 11 ak 12? ODYANS: Loop. DAVID Malan: Oke, kidonk riban. Mwen aktyèlman ka gen te di jis kenbe prale. Se konsa, poukisa se ka sa a la? Bon, sa a se aktyèlman premye a nan evidan ki pa nou an desizyon konsepsyon, ak an reyalite, youn nan mesures yo ak ki nou pral kòmanse nan evalye, pou tèt nou ak pou ou, bon jan kalite nan yon pwogram se jis ki jan byen fèt li ye. Eske ou te fè kantite lajan an minimòm nan ki nesesè pou travay jwenn travay la fèt pi vit la, swa an tèm de tan ou oswa an tèm de kouri tan òdinatè a? Konbyen operasyon fè sa ki li pran yo egzekite? Se konsa, joui, sa a se yon opòtinite pou yon riban paske le pli vit ke mwen kòmanse kopye ak kole, jan Jozèf efektivman ta kòmanse fè nan yon moman, ou se kalite gaspiye ou tan, epi w ap yo te doubl espresif. Men, an menm tan an, sa yo se reyèlman jis de espesyal ka yo, kite la ak dwa. Ak Lè nou konsidere ke anvan, mwen ta ka gen 10 oswa 20 oswa plis chosèt nan yon pil, li definitivman fè sans pa gen 50 liy nan kòd li di tcheke sa a chosèt, lè sa a pwochen yon sèl la, Lè sa a, youn nan pwochen. Isit la, li nan yon ti kras mwens evidan, epi mwen ta pwopoze ke nou t 'ka ale swa fason. Nou te ka gen swa ke riban, byenke li sèlman pasan de fwa, oswa nou te ka tou senpleman kopi ak keratin jis yon ti jan isit la yo nan lòd jwenn travay la fèt. Men, pwogram sa a se buggy, se konsa pale. Li ta ka gen kèk erè, erè, oswa ka kwen, se konsa pale, pou nou de nou pa t 'reyèlman antisipe. Pa gen anyen ale mal tan sa a, men sa ki te kapab ale mal pandan y ap egzekite pwogram sa a? ODYANS: Ou pa gen okenn chosèt. DAVID Malan: Se konsa, pat kapab gen chosèt la tou. Se konsa, kite a konsidere ka sa a kwen. Se konsa, si nou te ka Scroll tounen moute nan etap yon sèl, se konsa etap yon sèl te bese atè, se konsa ke tcheke deyò. Etap de, ranmase chosèt ou, men ou Lè sa a, jwenn matche chosèt, idantifye dwat. Nou kalite te fè yon pakèt antye nan sipozisyon, e sa se, franchman, poukisa pwogram pafwa aksidan. Si ou menm, pwogramè a, te fè sipozisyon sèten, tankou Wi, gen k ap pase yo dwe chosèt oswa siman gen k ap pase yo dwe memwa kite nan òdinatè a, siman gen k ap pase yo dwe espas ki gen kapasite kite sou kondwi a difisil - Byen, si w fè sa yo sipozisyon, ak sa a pa, an reyalite, reyalite, moun ki konnen sa ki pafwa òdinatè a nan pwal fè? E pafwa, lè ou jwenn boul la nan plaj bondi oswa jele Windows oswa tankou an, ki nan pwesizeman paske gen kèk pwogramè pa t 'antisipe ka sa yo kwen sa yo rele. Ki lòt bagay te kapab ale mal nan pwogram sa a? Yeah? ODYANS: Ou pa gen yon janm dwat ak yon janm gòch. DAVID Malan: Oke, pa ka gen tou de yon pye dwat ak yon gòch janm, epi konsa pwogram sa a pa ka inivèsèl ki aplikab yo. Lòt moun? ODYANS: Ou ka gen ranmase yon chosèt on òfelen. DAVID Malan: Mwen ka gen ranmase yon chosèt on òfelen, konsa yon ki pa matche chosèt ki jis pa gen okenn frè ak sè paske mwen te pèdi li, li la chire, li la nan lave an toujou, oswa renmen an. Se konsa, sa, tou, pa te reyèlman te okipe. Yeah? ODYANS: Ou ta ka deja gen chosèt sou. DAVID Malan: mwen ta ka deja gen chosèt sou. Mwen pa t 'aktyèlman tcheke. Si ou pa gen chosèt sou, lè sa a kontinye nan fè liy ak yon de. Ak ki ta kapab rive. Ou tonbe nan dòmi ak chosèt ou sou yo ak sou tankou a, se konsa ki, tou, yon ka kwen trè rezonab. E petèt yon lòt? ODYANS: chosèt la se andedan deyò. DAVID Malan: Se konsa, chosèt la se andedan soti, sa nou te fè sa pa gen okenn erè kont kouran, nan kout. Nou pa t 'tcheke si eta a nan mond lan se kòm nou espere. Nou pa t 'tcheke si nou aktyèlman yo te jwenn ki sa nou ap chèche pou. E menm si sa a se sòt de yon egzanp ridikil ki enplike chosèt, nan fen jou a, sa a se egzakteman nan sòt de attitude ou bezwen gen pandan y ap ekri pwogram yo, menm nan grate osi byen ke nan C, nan JavaScript, nan PHP, paske otreman, pwogram ou an ap genyen nan ekivalan nan ki boul plaj bondi oswa jis sede rezilta enkòrèk. Se konsa, anpil mèsi isit la jwenn Jozèf sekretè nou an. [Aplodisman] DAVID Malan: Tout dwa, se konsa sa ki, nan reyalite, yon pwogram òdinatè? Oke, kite a pran yon ti koutje sou rapid nan yon reprezantan yon sèl isit la. Se konsa, sa a se yon pwogram ekri nan yon lang yo rele C. C se jistis fin vye granmoun jou sa yo, men anpil nan yo plus lang yo bati sou tèt li. Vreman vre, yo PHP, youn nan lang yo web-santre nou pral itilize nan direksyon fen tèm nan, pou kont li genyen sa ki rele yon entèprèt, yon pwogram ki nan ekri nan C, men plis sou sa nan semèn anpil soti nan kounye a. Men, pwogram sa a, ak sa a se sa li vle di ekri yon pwogram nan, kwake yon trè senp. Nou gen kèk sentaks jistis skre isit la, men ou kapab pwobableman devine, menm si ou pa janm te pwograme anvan, sa ki pwogram sa a ap fè. Vreman vre, mwen pa konnen ki sa printf se, men enprime sètènman konjur moute lide nan enprime soti yon bagay. Se konsa, se wi, pwogram sa a finalman pral enprime soti mo yo "Hello, Mondyal la." Koulye a, si wi ou non ou gen yon Mac oswa yon PC oswa yon òdinatè Linux, chans yo se, omwen si ou telechaje kèk libreman disponib lojisyèl, ou ta ka yo te ekri pwogram sou laptop pwòp ou yo pou kèk tan kounye a. Sou Mac OS, pou egzanp, gen nan pwogram sa a rele Tèminal ki vini ak yon Mac, sa se anjeneral nan ou Itilite folder, epi li jeneralman ouvè yon nwa ak blan oswa yon fenèt blan ak nwa nan ki ou gen yon rapid nan ki ou ka tape kòmandman. Se konsa, sa a se aktyèlman okoumansman de ki sa òdinatè itilize yo dwe anvan itilizatè grafik interfaces, GUIs, yo te vini ansanm. Koulye a, nan Windows, ou gen yon mekanis menm jan an nan fòm nan nan èd memwa nan lòd. Men, sa ki mwen pral fè isit la se louvri moute, kite la di, TextEdit ankò, se konsa menm pwogram lan nou te lè l sèvi avèk pou pseudocode yon ti moman de sa, e mwen pral ale pi devan epi ekri pwogram premye m 'yo. Mete stdio.h, kèlkeswa sa ki vle di, int prensipal anile, kèlkeswa sa sa vle di, ak Lè sa a, nan mitan an isit la, printf ("hello, nan lemonn."). Lè sa a, fèmen quote, fèmen paren, virgules. Koulye a, mwen pral ale pi devan epi jis frape Kòmandman-S. Mwen pral ale pi devan epi sove sa a kòm hello.c, se konsa konvansyon an nan mond lan nan pwogram C se non dosye dot c la. Mwen pral jis mete nan anyè Kay Jan Harvard la, isit la, klike sou Save, epi kounye a mwen pral ale sou sa a fenèt tèminal, ki ankò se sa a èd memwa nwa ak blan kote m ka egzekite kòmandman. Mwen ka jere pwogram lè ou tape non yo, pa pa doub-klike ikon nan sans dabitid. Men, bagay la se sou C se ke yon lang tankou C premye vini nan fòm sa a, yon bagay yo rele kòd sous. Yon bagay ki sanble yon ti kras tankou angle, men se definitivman mwens tankou angle pase yon pseudocode Jozèf yo moman de sa. Li se yon ti kras pi plis Esoteric. Li sanble yo swiv kèk modèl oswa règ. Reyalite a ke mwen gen aparèy òtopedik Curly, virgules, quotes, aparèy òtopedik ang, santi l tankou yon òdinatè te vini ak sa a sòt de lang. Men, si m 'ale, kounye a, nan fenèt sa a tèminal, mwen ka kouri nan yon te bay lòd pou a pral konvèti ki kòd sous se yon bagay yo rele kòd objè. Sa a pral konvèti angle ki tankou sentaks zewo ak moun yo, kalite yo menm nan zewo ak moun yo nou te pale osijè de Mèkredi. Koulye a, mwen pral kouri nan yon lòd yo rele sonnen. Plis sou sa a nan semèn kap vini, men li nan yon pwogram ki gen ki mwen ka konvèti hello.c nan yon pakèt antye nan zewo ak inite. Koulye a, mwen te kouri lòd sa a. Mwen te kouri rezone, ak Lè sa a, m 'te di kouri tèt ou sou sa a ranpli rele hello.c, ki mwen kreye yon moman de sa, e pa gen anyen sanble rive. Men, tout bon, si mwen poked alantou anyè lakay mwen, mwen ta renmen wè ke sa a a.out pwogram estipid te rele kounye a egziste. Sa a se jis non an default pou yon pwogram lè ekri nan C. Nou ka pase sou desizyon sa a evantyèlman, men a.out se nan non yo nan pwogram nan mwen jis konvèti nan zewo ak inite. Epi, koulye a ki zewo li a ak moun yo, Mac mwen an, nan ka sa a, oswa PC Windows ou a, ka konprann sa yo Bits, sa yo ki zewo ak inite. Se konsa, lè m 'frape Antre, mwen wè "hello, mond!" Men, li la yon buggy ti jan. Mwen pa t 'byen di "hello, mond: lè: -! Jharvard." Lè a se non an nan òdinatè mwen an. Jharvard nan non an nan kont lan konsa, sa ki mwen te byen klè retire okenn pati nan pwogram nan? Gen kèk kalite repo liy. Mwen pa t 'frape ekivalan a nan Mete oswa retounen nan cha, ak sa a se, ankò, siyen kontra Bondye lefèt ke òdinatè kapab sèlman fè sa ou di yo fè. Ak lefèt ke mwen pa t 'di òdinatè a deplase nan kurseur nan liy nan pwochen - byen, li la sètènman pa pral jis fè li lògèy pou mwen. Se konsa, si m 'ale tounen nan pwogram mwen an, epi mwen di \ n - Se konsa, \ n, jan nou pral byento wè la a, se yon fason a nan ki reprezante bagay sa yo etranj tankou karaktè liy nouvo, bagay sa yo ki ta, nòmalman, rezilta a nan frape kle a antre. Men, pou kounye a, jis konnen ke frape kle a antre nan ta jis fè kòd nou gade enpè, se konsa mond lan deside, ou konnen ki sa, kenbe bagay sa bèl pase, nan kenbe l 'sou yon liy, kite la jis di \ n reprezante yon liy dwat nouvo. Kite m 'resave dosye m' yo, tounen nan fenèt la tèminal, ak re-kouri a.out, Antre. Toujou buggy, men poukisa? ODYANS: [fèbl] DAVID Malan: Yeah, Se konsa, mwen bezwen compile li. Se konsa, te rekeyi yon pwogram jis vle di konvèti li nan men sous kòd nan kòd objè sous kòd, nan zewo ak inite. Koulye a, reyalite a sèlman ke mwen frape Save nan sa a TextEdit pa gen okenn pote sou moun zewo ak moun yo, paske mwen premye bezwen enseye rezone hey, mwen te chanje liy sa yo nan kòd, an kòd sous. Ou bezwen relanse a.out. Pa gen anyen sanble li te rive, men nan yon òdinatè, nan yon liy lòd, se konsa pale, lè pa gen anyen k ap pase, ki souvan sa vle di tout bagay byen. Lè yon bagay rive, sa vle di ou messed moute yo, jeneralman. Se konsa, kite a kounye a ale nan a.out, ak tout bon, koulye a, mwen gen "hello, nan lemonn. " Epi, koulye a, sa ki sou sa yo zewo ak moun yo? Ki kote, an reyalite, moun sa yo ki? Bon, mwen pa ka fè sa vrèman jis kalite Deploge alantou trè efektivman. Kite m 'louvri moute TextEdit. Isit la nan a.out. Kite m 'ale pi devan epi louvri sa a, e sa se aparamman sa mwen pwogram sanble. Se konsa, mwen te louvri, pa hello.c, men a.out. Men, sa a se aktyèlman pa sa ki pwogram mwen vrèman se. Klèman, sa a se kèk kalite karaktè alfabetik. Mwen pa wè okenn zewo ak moun yo, men sa a se paske a.out se yon pwogram. Zewo ak moun yo - men TextEdit, kòm non an sijere, li nan jis tankou notepad sou Windows, se jis yon editè tèks, kidonk li a konfizyon tout moun ki zewo ak moun yo kòm menm si yo te, ki sa? Karaktè ASCII. Se konsa, sonje nan Mèkredi, nou jis te vini ak sa a abitrè kat nan nimewo, oswa Bits, nan lèt yo nan la alfabè ak senbòl ponktiyasyon ak tankou la. Se konsa, TextEdit, ke li nan yon editè tèks la misinterpreting sa yo modèl nan zewo ak moun yo ki yo sipoze enprime mo, tankou "alo lemonn,." Li nan ki montre yo kòm ASCII, ak Se poutèt sa li sanble yon sal ti kras. Koulye a, gen kèk sijesyon nan ekzaktitid nan isit la. Avi si mwen mete aksan sou, gen yon allusion nan aktyèlman "hello, mond, "se konsa yon kote nan pwogram sa a se fraz la mwen te ekri. Men, kite a ale pi devan epi wè koulye a ak yon pwogram diferan. Sa a se pa yon sèl nap itilize ki souvan, men tou li vini ak yon Mac epi li pral andedan nan aparèy la CS50. Kite m 'ale pi devan epi louvri yon pwogram ki rele XXD. Retounen nan jou a, pifò pwogram yo te rele jistis cryptically, e konsa tandans nan kontinye. Men,-b vle di krache pwogram sa a soti kòm binè. pa kouri li. Montre li nan m 'menm jan zewo ak moun yo, e sa se C a pwogram nou jis te ekri. Koulye a, mwen, kòm yon moun isit la, Mwen franchman pa gen okenn lide ki sa sa yo modèl divès kalite zewo ak moun yo reprezante. Retounen nan jou a, mwen menm, ak kat kout pyen m nan oswa m renmen an, ta gen aktyèlman yo gade jiska sa ki sa yo modèl divès kalite 01111000, aktyèlman reprezante. Oswa pi mal, mwen ta bezwen fè pwensonaj la oswa kreyasyon an nan sa yo modèl nan zewo ak inite. Men, pou kounye a, pran sou konfyans nan Bondye ki yon CPU, Intel andedan, se konsa pale, andedan nan tout nan òdinatè nou jou sa yo, konnen ki jan yo entèprete sa yo zewo ak inite. Ak kèk zewo ak moun yo vle di ekri ak lèt ​​detache. Gen kèk zewo ak moun yo vle di jwe yon son. Gen kèk zero ak moun yo vle di pran opinyon itilizatè ki sòti nan yon klavye. Genyen nan tout kalite modèl diferan, men nou Erezman, kòm moun, se sèlman jeneralman bezwen enkyete sou pwogram nan nivo sa a san patipri ki pi wo. Ak nan lòt klas CS ka ou fouye desann pi fon ak gade nan bagay sa yo tankou sa yo ki zewo ak moun yo, oswa ankò lòt bagay toujou. Se konsa, kounye a kite a konvèti sa a. Kite yo deplase trè vit lwen C ak deplase li nan yon yon bagay yon ti kras pi plis rekonfòte, yon ti kras plis enteresan, nan ki nou ka jwenn tounen Animations nou yo ak son ak tankou la ki klèman gen chape nou nan sa a san patipri primitif koòdone. Se konsa, ka nan pwogram sa a menm nan C ap reprezante kounye a nan sa a lang programmation rele reyur jan sa a. Sa a se ekivalan a nan pwogram sa a mond alo ekri nan sa a devinèt style moso lang yo rele grafonyen moun. Se konsa, kite m 'ale pi devan epi louvri moute pwogram sa a trè. Li nan ankò rele grafonyen moun. Li nan lib ki disponib, ak sa a se menm bagay la nou te kòmanse jodi a sou. Se konsa, sa a isit la se grafouyen, epi li kase moute nan yon kèk moso diferan. Sou bò dwat la trè tèt, nou gen sèn nan sa yo rele, ak tout bon, sa se kote bonbon yo fè jis yon ti jan de sa. Yo, epi sou etap sa yo bagay sa yo rele sprit, karaktè, oswa objè, oswa antite. Li pa reyèlman gen pwoblèm ki jan ou panse a yo, men yo yo se pwogramasyon, bagay sa yo mobil, ak nan ka sa a, sa a pwogram ke elèv nou an te ekri a gen yon koup nan Gingerbread bonbon, yon koup la bonbon sikilè, yon pakèt antye nan kè, yon pakèt antye nan linèt. Poutèt sa, li oubyen li se anmezi nan pwogram chak nan sa yo karaktè moun separeman. Koulye a, kisa sa vle di nan pwogram sa yo karaktè? Oke, kite m 'ale pi devan, epi klike sou sa a bonbon men gòch ak woulo liv sou a gòch nan tèt isit la. Nan bò gòch nan tèt nan ekran m 'koulye a, se la sa ki te rele Scripts zòn nan. Sa a se sòt de yon adwaz vid, okòmansman, sou ki mwen kapab trennen ak gout moso devinèt sa, franchman, fè ekzakteman ki sa yo di. Nan tèt la anpil nan sa a pil nan moso devinèt se pawòl Bondye a Lè Green Flag klike, epi si ou pa t 'avi anvan, wout la mwen te kòmanse ke chante bonbon te klike, literalman, yon drapo vèt. Se konsa, ke moso devinèt sou bò gòch tèt la vle di lè a klik imen drapo a vèt, t'ap fè bagay sa yo. Koulye a, ki sa yo te bonbon kontinye nan fè? Mwen pa vrèman konnen ki jan an ka esplike nou rèv sa a ankò, men bonbon aparamman mete renur li nan zewo, Lè sa a, li tann twa segond, Lè sa a, li chanje gwoup li yo nan yon sèl, Lè sa a, li tann yon dezyèm fwa, Lè sa a, li chanje li yo renur tounen nan yon sèl. Lè sa a, sa sa a aktyèlman sanble yon ti jan nan yon ensèk, pa ta dwe oblije chanje renur li yo ankò, li ankò sòf si li a te chanje yon lòt kote, men sa a seri etap se sa ki nan dikte konpòtman sa a bonbon an patikilye. Se konsa, kite a aktyèlman woulo liv retounen lakay yo epi pa gade yon bagay byen se konsa konplèks ankò. Kite m 'ale pi devan epi ale nan File, New, epi pou yo jwenn yon adwaz ki pwòp. Se konsa, kounye a, Mwen menm, mwen gen yon zòn script vid, yon etap vid, ak reyur luten default nou an, epi sou bò gòch nan tèt sou ekran m 'mwen gen palèt a nan tout nan yo moso devinèt ki disponib. E nou pa pwal ale travèse prèske anpil moun ki nan bagay sa yo jodi a paske, ankò, Pifò nan yo se klè, kifè, men nou pap eseye kategorize yo ak pwen soti resanblans yo ak lang sa yo nan lavni yo ki n ap plonje. Ak sou bò gòch tèt isit la se premye fwa a Lè Green Flag klike, Se konsa, kite m 'trennen sou sa isit la, rale soti yon ti jan. Men, si mwen klike sou drapo a vèt, pa gen anyen vrèman k ap pase paske Mwen pa t 'tache nenpòt lojik, nenpòt ki deklarasyon konsa pale, nan ki drapo vèt, se konsa kite m 'ale jiska la kategori sou isit la. Mwen kounye a nan kategori a kontwòl. Mwen olye pral desann ale nan kategori a sanble, ak gen nan yon pakèt antye de bagay sa yo isit la ki di Di, Panse, chanje koulè, kostim Bouton. Se konsa, ou ka fè bagay komik ak kostim ak son ak tankou la. Kite m 'ale pi devan epi jis di Di, e kounye a, remake jan mwen trennen ak gout pyès sa a devinèt, li pral vle Obtenir nan fòm ki koresponn lan. Se konsa, lè m 'ale pi devan epi kite ale nan sourit m' yo, yo fèmen ansanm, e kounye a, si mwen ale sou isit la, epi klike drapo a vèt, chat la nan reyalite salye paske sa a kisa ki andedan nan bwat sa a blan. Nou pral byento wè ke ti kare sa a blan se sa ki rele yon agiman, oswa paramèt yon. Li se yon fason pou chanje konpòtman an nan, nan ka sa a, yon devinèt moso, men si mwen vle di ekzakteman ki sa m 'te di anvan, di hello, mond, mwen kapab kounye a ale tounen sou isit la, klike sou jwe, ak "hello, mond" se sa ki nan te di. Se konsa, nou literalman pwogramasyon kounye a. Li pa tout sa ki impérieux nan yon pwogram, men omwen li nan yon yon bagay ti kras pi plis irezistib pase ki sanble, nan premye gade, tankou sa a. Epi nou ka trè vit jwenn tout plis espresif la paske se nan grafouyen, tankou nan lòt lang yo, gen nan tout kalite deklarasyon, pa sèlman di oswa enprime yon bagay, men ou ka fè bagay sa yo tankou ap tann, kòm nou jis te wè ak bonbon a, gen kèk nimewo nan segonn. Ou ka jwe son ki nan anviwònman an nan grate jis tankou ou kapab nan yon òdinatè nòmal son jwe pwogram nan. Ou ka tcheke ki sa yo rele ekspresyon Boolean. Se konsa, kounye a, kite la kòmanse pou ajoute pou djakout zouti nou kèk tèminoloji ki aktyèlman gen rapò ak egzanp lan ke Joseph ak mwen te fè isit la ak chosèt yo. Se konsa, deklarasyon yo se jis deklarasyon ki nan reyalite. Fè sa. Yon direktiv pou luten la, oswa m 'imen an, fè yon bagay. Yon ekspresyon Boolean se yon bagay ki te gen yon valè, yon sa yo rele verite valè, ki nan swa yon zewo oswa yon sèl, ki fo oswa ki vre, koupe oswa sou, pa gen okenn oswa wi. pa reyèlman gen pwoblèm ki jan ou panse a sa a, men li nan yon eta binè. Kòm Nate diskite nan videyo Mèkredi a, de bagay diferan. Se konsa, nan grafouyen, ekspresyon Boolean rive gade tankou bagay sa yo ble isit la, ak nan ka sa a, kesyon an mak implique ke ou ap mande yon kesyon. Èske chat la, oswa luten la, manyen konsèy an sourit? Se konsa, sa a se jis yon egzanp sou yon blòk reyur ki k ap pase pèmèt nou tcheke Wi oswa Non, se sourit la manyen an luten sou ekran an? Lè sa a kapab itil si ou aktyèlman vle fè bagay sa yo avèk sourit ou a. Anplis de ekspresyon Boolean, nou gen bagay sa yo tankou se sourit la desann, konsa ou ka detekte ki kalite kesyon tankou byen. Nou ka fè matematik si ou aktyèlman vle, ak gen nan aktyèlman plis irezistib itilize pou sa a pase jis pi bon kalite nan aritmetik, menm jan nou pral wè. Pseudo randonès ak fè pwogram ou an parèt yo panse oswa konpòte yon fason diferan ki baze sou kèk valè w pèdi o aza, ak Lè sa a, nou gen bagay sa yo tankou ekspresyon Boolean tankou AK. Se konsa, si ou aktyèlman vle tcheke de valè, nou pral wè nan Grate ke nou ka aktyèlman teste si sa a se vrè ak sa a se verite. Pou egzanp, nan ka a nan chosèt m 'yo, mwen te kapab te nan la trè fen poze kesyon sa a si chosèt gòch se sou yo ak sou dwa chosèt se sou li a, kite fimen. W ap fè tout pou yon jou a, se konsa ke ta pwal genyen yon opòtinite pou sa. Se konsa, kite a ale pi devan epi eseye moso kèk nan sa yo ansanm ak ale nan yon koup nan egzanp plis irezistib pase yon sèl sa a. Se konsa, kite m 'ale pi devan isit la ak louvri moute kèk nan egzanp yo ki ap toujou sou sit entènèt kou a nan kòm byen, ak louvri moute hello2. Se konsa, nan hello2 isit la, nou gen yon pwogram ki la ap fè yon kèk bagay sa yo, men li pa nan fè li kòm efektivman kòm nou ta ka. Se konsa, isit la li di "hello, mond" pou youn dezyèm ak Lè sa a, tann pou yon dezyèm fwa. Lè sa a, fè li ankò, epi Lè sa a, fè li ankò. Se konsa, si mwen klike sou drapo a vèt, grate di "Hello, lemonn. Hello, lemonn. Hello, lemonn. "Men sa se evidamman kandida kounye a pou amelyorasyon. Ki sa ki nan amelyorasyon nan majinal, èspere ke, nou ka kounye a fè si reyur sipòte konsèp la? Gen kèk kalite riban. Gen kèk kalite repetisyon, kounye a, ta dwe nice, se konsa, kite m ' aktyèlman eseye sa. Kite m 'ale aktyèlman yo epi li deplase sa a. Se konsa, avi ka Koupe pati blòk kòm fasil tankou ou ka ajoute nan tache yo. Kite m 'ale anba kontwòl, desann isit la, ak tout bon, gen nan pyès sa a devinèt isit la, Repete ak pou tout tan ak Pou tout tan Si. Se konsa, gen nan yon nimewo nan fason de jan pou eksprime konstwi loupin nan grafonyen moun. Yon sèl la mwen pwobableman vle isit la se pa pou tout tan paske mwen sèlman vle sa a rive twa fwa, men pwobableman Repete. Se konsa, kite m 'trennen Repete sou isit la, trennen ak gout li, epi kounye a olye pou yo li di: "hello, mond" twa fwa apa, kite m 'trennen pyès sa a devinèt nan isit la. Ak menm si li pa sanble yo anfòm, pwogram nan se entelijan ase yo reyalize li ap grandi yo ranpli, kidonk li a nan fòm ki matyè ak pa gwosè a absoli. Kite m 'chanje repetisyon nan twa, epi kounye a kite m' ale pi devan epi trennen Tann yon dezyèm nan la kòm byen. Li nan ale nan menen nan kòm byen, ak konsa koulye a mwen pral trennen mesye sa yo sou isit la ak jis voye yo jete paske mwen pa bezwen yo ankò. Kite m 'rale soti, epi klike drapo a vèt, koulye a, e nou gen menm pwogram lan, men, jan mwen prevwa anvan, pi bon ki fèt paske ou ka imajine ki jan move pwogram sa a ta jwenn, sètènman estetik, si ou te gen nan kòmanse kopye ak kole, kopye ak kole, oswa trenen ak jete menm bagay sa yo reprize ankò epi ankò. Koulye a, senpleman di bagay sou ekran an, enprime nan ekran, reyèlman tout pa sa ki enteresan, kidonk kite a louvri yon twazyèm divèjans isit la. Epi, koulye a, jan ou pral wè, sa a pral byen vit jwenn anmèdan - [Meow] DAVID Malan: - men li la tou kalite bèl. [Meow] DAVID Malan: Oke, kidonk pi bon, epi nou ka sètènman sèvi ak ki menm tranzisyon nan chenkin sa a moute nan yon loupin estrikti, men kite a fè li plis enteresan toujou. Kite m 'ale pi devan epi louvri moute yon divèjans katriyèm isit la, kote mwen pran bagay yon sèl etap pi lwen. Se konsa, dapre sa a, enbesil menm si sa a se nan premye gade, ki sa ki nan pwogram sa a pwal fè? Li nan ale nan Meow yon fwa. Poukisa? Oke, se yon sèl, osi lwen ke mwen konnen, toujou mwens pase de. Gen nan pa gen nosyon nan randonès isit la. Mwen te literalman difisil-kode ak yon de, men sa a se yon egzanp kounye a nan aktyèlman lè l sèvi avèk yon ekspresyon Boolean. Anpil tankou jan Jozèf te fè nan pseudocode l 'yo, dekoupaj an SI ou jwenn matche chosèt EPI fè bagay sa yo, isit la nou gen yon ekspresyon SI se yon sèl mwens pase de EPI - ak nan reyalite nou menm gen yon ti kras nan mark, ki kote koulè wouj violèt nan yon ti kras utilize a dwat a - Lè sa a ou ap ale nan jwe Meow a son. Koulye a, nan ka sa a, ke yon moun se toujou mwens pase de, kidonk sa a se kalite yon fatra nan yon kondisyon. Men, nou pral kapab, menm jan nou pral wè, nan ploge lòt bagay nan sa yo placeholders kote yon ak de kounye a yo ye. Se konsa, kite a kounye a avanse a egzanp senk nan sa yo plizyè hellos ak gade nan ki sa pwogram sa a nan pral fè a. Se konsa, koulye a, nan yon fraz angle, ki jan sa a pwogram konpòte? ODYANS: Meows mwatye tan an. DAVID Malan: mwatye Meow a nan tan an, kidonk sa a se yon fason pou liy moral yon lide trè senp. Menm si nou rive yo dwe lè l sèvi avèk kèk inegalite isit la nan kèk nimewo, sa a se vrèman jis yon programmatical fason sa a, yon mwayen egzak, li di si pyès monnen an vini leve tèt, ale pi devan epi Meow. Oswa sans, si pyès monnen la vini leve ke, pa Meow. Ak nan ka sa a, ki jan nou eksprime sa? Nou pral chwazi yon nimewo o aza de 1 a 10, epi si sa nonb ki se mwens pase 6, ale pi devan epi Meow. Ak ki jan sa te jwenn nan isit la? Oke ankò, remake jis trenen ak jete nan ak bagay sa yo seri nan plas li. Se konsa, kounye a kite a wè si sa a randonès travay. Kite m 'ale pi devan epi klike sou drapo a vèt. [Meow] DAVID Malan: Okay. [Meow] DAVID Malan: Okay. Okay, bon, konsa nou te resevwa tèt, tèt, ke efektivman. Ke. [Meow] DAVID Malan: Heads. [Meow] DAVID Malan: Excellent. Li nan toujou lè gòch jis estatistik ou jwenn yon move kouri, epi li nan tout tèt, ak pwogram nan aktyèlman fè sa ki pa travay kòm ou ta espere. Men, tan sa a, li te travay, ak nou yo sanble yo genyen, si nou te fè sa nimewo sa a yon enfini nan fwa, 50% chans. Koulye a, ankò, se pa tout sa ki enteresan, jis fè chat Meow, kidonk kite a wè si nou pa ka avanse sa yon ti jan pi lwen isit la nan vèsyon sis. Se konsa, kounye a, nou gen vèsyon vrèman anmèdan - [MEOWS CHAK kèk segond] DAVID Malan: - ak sa a se sa ki li te ye, jeneral, kòm yon enfini riban. Riban Se konsa, enfini nan ka sa a santi l mal. Li definitivman pral kòmanse sonnen move, epi ankò enfini pasan yo pa toujou move. Èske ou ka panse a kontèks nan pwogram òdinatè ki kote ou ta aktyèlman vle yon riban enfini? Yeah? ODYANS: Lè ou vle tcheke yon kondisyon. DAVID Malan: Oke, lè w vle kenbe tcheke yon kondisyon? Menm jan ak ki sa? ODYANS: [fèbl] DAVID Malan: Oke, bon, kidonk si w te gen kèk pwogram nan, kèk jan de bagay konsa automatisation lakay ou, kote ou vle toujou ap pou kontwole a se yon bagay ka-a. Èske limyè yo sou? Èske limyè yo sou paske petèt ou gen yon revèy, ak ou vle yo ale a, ou ta ka bezwen fè yon bagay ankò epi ankò. Ak an reyalite, pale de time, nenpòt nan nou ki te revèy sou òdinatè w lan oswa mont dijital, sa se yon enfini riban. Li kontinye rete mete ajou tan an paske li nan toujou ap tcheke epi tyeke epi tyeke gen tan an chanje, e si se konsa, o, Bondye mwen an. Nan revèy la finalman chanje. Li bezwen montre ki valè ou. Se konsa, Lè nou konsidere ke pi fò nan pasan yo tan enfini se yon erè, oswa omwen yon desizyon konsepsyon pòv, pafwa yo fè gen menm valè yo. Oke, kite la avanse pli lwen isit la yo hello7. Se konsa, kounye a pwogram nan ap resevwa yon ti kras pi plis entè. Kite m 'rale nan isit la, epi ankò, sa a se sa ki nan bèl sou grafonyen moun. Epitou, n ap sèvi ak li nan dwe klè, grafouyen, jis jounen jodi a ak nan pwoblèm semèn pwochen an mete. Men, nan Lendi, nou plonje nan C. Nan pwogram sa a isit la, li fè sa, pou tout tan, sa ki annapre yo. SI manyen konsèy an sourit - kounye a, ki moun ki nan la kontèks isit la? Oke, ak avi ke moun ki nan chwazi desann isit la nan pati anba dwa se chat la,, youn luten pou sa yo Scripts, sa a pwogram nan, aplike nan l 'espesyalman. Se konsa, si ke chat an touche konsèy an sourit, lè sa a li pral yo jwe sa a desann e rete tann de segonn, ak Lè sa a, repete nauseum anons. Se konsa, kite a ale pi devan epi frape jwe. Pa gen anyen k ap pase, men si mwen vle bèt la chat, koulye a, mwen kapab tou senpleman. [Meow] DAVID Malan: Adorable. [Meow] DAVID Malan: Oke, mwens anmèdan, men tou, vin mat, se konsa kite yo deplase sou ak wè si nou pa ka enjekte yon ti kras lojik plis. Se te sèt egzanp. Isit la nan egzanp uit, nou ap ale nan prezante yon kondisyon lòt bagay. Se konsa, anpil tankou yon fouchèt literal ki nan wout la, nan ki ou ka ale kite oswa ou ka ale dwat, yon kondisyon nan yon pwogram lang tankou grafouyen, oswa kòm nou pral wè C, ka pèmèt ou ale nan yon direksyon oswa yon lòt via yon konstwi SI lòt bagay. Se konsa, byen literalman, SI manyen konsèy sourit, sa a ap jwe kèk son, LÒT li a pral jwe sa a lòt son, Meow. Koulye a, si ou ka dégager soti nan non an nan sa yo son, ou kapab pwobableman devine sa ki nan pwogram sa a vle di ke yo sorselri moute lide nan. Sa a chat se meowing san pwoblèm mwen tap. [Meow] DAVID Malan: bonheur, men li pa byen renmen yo manyen. [K'ap gwonde] DAVID Malan: Se konsa, kounye a nou gen yon chat ki moun ki va rele nan ou. Tout dwa, byen, yon dènye egzanp ak chat isit la, ak kite a louvri vèsyon nèf nan sa a isit la. Se konsa, kounye a, nou gen pwochen son an pi annwiyeu ke mwen te kapab jwenn, konsa nou gen yon mors oswa lyon lanmè isit la ki a pral fè bagay sa a. [Ekors SEAL] DAVID Malan: Oke, kidonk sa a pral ale sou jiskaske ou konnen ki jan pwogram sa a travay. Se konsa, tan sa a, sa a bèt te gen de Scripts, ak sa ki nan enteresan isit la se ke sa yo Scripts yo ale nan egzekite nan paralèl. Se konsa, paske yo tou de kòmanse ak yon sèl drapo vèt klike, li nan tankou ale tankou sa a, ak tou de pwogram kòmanse ap kouri li yon fwa menm si yo ap loupin pou tout tan. Se konsa, nan script nan tèt, mwen gen kèk lojik. Ki sa ki karakteristik yo ki bay moute a? [Ekors SEAL] ODYANS: [fèbl] DAVID Malan: Si li nan ki sa? [Ekors SEAL] ODYANS: Si muet a zewo, li te ale nan kenbe jwe nan kònen. [Ekors SEAL] DAVID Malan: Oke, bon. Se konsa, si muet, kèlkeswa sa sa a se, bagay sa a zoranj se zewo, EPI jwe son an lyon lanmè ak panse "O, hi, "pou de segonn. Koulye a, mwen pa konnen sa muet se, men zewo konjur a moute lide nan ki fo oswa ki la. Se konsa, si muet ki fo, se konsa si se pa muet, kenbe jwe son an. Tout dwa, byen, ki jan nou enfim bagay sa a? Oke, kite la gade nan script la dezyèm anba isit la. Script Dezyèm di mete muet a zewo. Avi li la tou zoranj konsa, sa ki reyur se li koulè blòk nan lonbraj la menm si sòt li nan nan lojikman ki gen rapò. Se konsa, jis kòm muet tèt moute te zoranj, se konsa muet t 'desann isit la mansyone nan blòk zoranj. Men, sa a se yon devwa varyab, se konsa jis tankou nan aljèb, ou gen x ak y ak Z, nan pwogram ou gen varyab, men yo ap jeneralman - poz kite l 'a pou yon ti moman ak figi ki jan yo sispann sa a abwaman. Kouman pou mwen fè sa? [Ekors SEAL] DAVID Malan: Okay. Li te rete. Oke. Se konsa, jis kòm nan aljèb ou gen varyab x, y, ak z, men nan pwogramasyon, li te gen varyab tankou x, y, ak z se jeneralman dezaprouve sou yo paske yo se pa nan tout ki ekspresif. Yo pa gen okenn siyifikasyon semantik tou sa, se konsa nan pifò lang programmation, varyab ka gen plen non véritable oswa mo oswa fraz, renmen muet, yo di sa y'ap fè. Se konsa, sa a script dezyèm tou t ap koute pou tout tan, epi li di: si kle a, Espas kle a klavye, se bourade, make kesyon. Se konsa, gen nan yon kondisyon ki gen yon ekspresyon Boolean ki nan ale nan reponn yon kesyon swa di laverite oswa fo, Lè sa a, mwen gen andedan nan li si se kle nan espas bourade AK SI muet se zewo, mete muet nan yon sèl, LÒT mete muet a zewo. Se konsa, sa a fouchèt lòt nan wout la, ak avi ki jan mwen te pare solèy de la SI kondisyon yo, se yon fason pou tcheke a nan Bar Espas bourade paske si se konsa, mwen swa vle ale sa a fason oubyen fason ki. Ak kijan mwen Invert valè a nan muet t? Mwen gen yo tcheke se li zewo? Si se sa, fè li se youn, fè l 'lòt zewo rive Se poutèt sa aktive eta de li yo. Tout dwa, konsa nou gen Lè sa a, kèk nan sa yo fondamantal konstwi. Nou gen ekspresyon Boolean, ak reyalize, tou, sa yo, se pa tout sa ki familye yo. An reyalite, isit la nan yon Ekran rapid nan Harvard la kou CS50 zouti fè makèt, ak nenpòt sit entènèt yo deyò ki gen kaz ak Downs gout te reyèlman, tout tan sa a, te lè l sèvi avèk Ekspresyon Boolean. Nan ka sa a isit la, si ou klike sou toulède kaz nan pwochen kou pi gran pase oswa egal a 4.5, oswa pwochen an menm pwofesè, w ap di egzakteman kisa yon ekspresyon Boolean. Moutre m 'kou pou ki sa ekspresyon ki vre. Oswa ki adwat la, fè sa ki pa an konfli avèk kou mwen pran, si ki tcheke wi, Lè sa a, se wi, ou vle tcheke ki kondisyon, lòt bagay ou vle inyore li. Se konsa, Boolean ekspresyon yo se sòt de tout otou, men lè nou mete yo nan kondisyon yo, si wi ou non, si kondisyon yo, SI ELSEs, oubyen nou ka menm simule pi fon nivo, SI LÒT SI Lòt Bagay - pou ki nan sòt de yon eta tèrsyèr. Ou ka ale nan fason sa a oswa nan fason sa a oswa fason sa a. Nou kapab kenbe bagay sa yo nidifikasyon yo ale nan direksyon diferan. Se konsa, reyur gen sa yo pasan, tankou pou tout tan. Li te gen karakteristik sa yo tankou Repete 10, gen kèk fini kantite fwa. Nou gen kapasite a kounye a yo mete varyab, se konsa nan ka sa a Mwen te deklare, pou egzanp, yon varyab chosèt rele. Mwen te inisyalizèd a 0, e ke la ankò yon lòt direksyon nou te ka yo te pran moute isit la avèk Jozèf, annakò ak sa petèt mwen jis kenbe tras nan konbyen chosèt mwen gen sou yo ak sou mete fen nan pwogram la lè valè varyab sa a se 2. Ki ta ka yon lòt fason nan sòt de jeneralizasyon ki pwoblèm ak fè yon bagay ankò epi ankò. Oke, kite la ale pi devan epi kounye a prezante yon koup nouvo bagay. Se konsa, moun nan nou ki gen eksperyans anvan pwogramasyon pral konnen ke yon anpil nan lang gen ranje, oswa vektè oswa lis, ak tout bon, reyur gen yon bagay tankou sa a, tou. Se konsa, kite a wè si nou pa ka pran bagay sa yo nan yon nivo pwochen isit la. Si mwen gen kapasite nan, kounye a, ak sa yo moso devinèt ajoute yon bagay, tankou yon mo oubyen yon nimewo, nan yon varyab, mwen kapab kòmanse akimile bagay sa yo. Ak sa a se aktyèlman oporten bèl pou bagay sa yo tankou jwèt, wòl-jwe jwèt kote w ap kalite ap mache otou kèk nan mond fantezi kolekte bagay sa yo, davwa bagay yo, touche pwen, oswa renmen an. Ou ta ka vle kenbe tras nan kèk kalite envantè, ak tout bon, se sa ki youn nan ansyen elèv nou yo isit la te fè avèk yon bagay yo rele Fruitcraft rp. Se konsa, kite m 'ale pi devan epi louvri moute bagay sa a isit la, ak nan Fruitcraft, nou gen mond sa a moute nan tèt. Se konsa, kite m 'ale pi devan epi klike sou drapo a vèt. Avi sou bò gòch tèt se kèk kalite envantè. Sa se aplike nan reyur kòm sa nou ap rele yon etalaj oswa yon lis, e kounye a, nou gen sa a animasyon ti kras. Se konsa, menm jan nou te kòmanse pi bonè ak istwa sa a renmen bonbon, ak Lè sa a, nou avanse chat, ak lanmè lyon, kounye a nou ka gen bagay sa yo ke se menm plis entè. Lè sa a ti kras nèg ble, mwen ka kòmanse pou avanse pou pi alantou l ' ti kay isit la. Se konsa, li sanble li te gen yon sòti desann isit la, se konsa mwen lè l sèvi avèk kle yo flèch, moute, desann, yo kite dwat. Epi, koulye a mwen deyò, kidonk kite sa ki mwen te gen isit la. Sanble yon zoranj, ak tout bon, kòm pli vit ke mwen manyen la zoranj, li vin plopped nan envantè m 'yo. Si m 'ale sou isit la yo seriz yo, koulye a, mwen gen yon bagay lòt moun nan envantè m 'yo. Ak sa a se tout bèl ak cute, men panse osijè de kòman, kounye a, sa a se aplike. Oke, nou gen sa a nosyon nan yon lis, e ke se aparamman yon moso devinèt ke ou jis di sa ou vle ajoute nan li, ajoute zoranj, ajoute seriz. Koulye a, ki sa ki sa a ti kras nèg ble ap fè? Oke, li se yon luten. Ak prezimableman, zoranj la ak seriz yo - yo menm yo te sprit apa. Ak lè l sèvi avèk kondisyon yo ki nan ekspresyon Boolean, elèv te pwobableman kapab eksprime ide yo SI ble nèg se manyen seriz lè sa a ajoute seriz yo nouvèl la nan li envantè, ak Lè sa a, tou kache luten nan Cherry. Se konsa, anba kapo a, gen pwobableman toujou se yon Cherry luten la. Nou te jis rakonte l 'bay vin efektivman envizib. Koulye a, si mwen kenbe mache sou isit la, nou ka fè tou sa amon bagay, kote mwen ka ale pou li epi li siy nan. Se konsa, si ble nèg manyen siy, nou ka gen sa a blòk diz jis tankou chat la te pale ak nou nan mo, hello, byen bonè, "Got kèk fwi? Pote l 'bay plas la fwi. "Tout dwa, pou kounye a, aparamman, Mwen gen direksyon m 'yo. Mwen ka ale sou isit la nan plas la fwi a, dwat tèt mwen moute ak pòt la. Koulye a, mwen ta nan isit la. Mwen ka ale jwenn nonm lan bò kontwa an. Li te detekte sa mwen m tou pre l ', se konsa li pa gen yo dwe byen idantik manyen, epi mwen gen te genyen jwèt la. Se konsa, gen nou gen Fruitcraft rp. Se konsa, nou ka fè bagay sa yo menm ki pi avanse pase sa. Nou kapab ajoute son. Nou kapab ajoute pseudo randonès. Nou kapab ajoute konpleksite. Kite m 'ale pi devan isit la, ak olye ke fè sa tèt mwen, kite m 'moutre ou youn nan observation yo pi plis sofistike nou te resevwa ane pase a ki sòti nan yon yon moun yo te rele Blake. Èske nou ka gen yon sèl volontè ki se konfòtab parèt sou kamera, epi se la ap moute pou jwe yon jwèt? Kouman sou dwa genyen? Vini non sou yo. Tout dwa, se konsa jwèt la ki di ou gen jis enkonsyaman volontè yo jwe - [Aplodisman] DAVID Malan: - se yon bagay ki soti nan pase yo rele "Frogger." Ki jan ou rele? RENDA: RENDA. DAVID Malan: Redna? RENDA: Se tankou Brenda ak yon b. DAVID Malan: Oke, RENDA. David. Bèl al kontre ou. Se konsa, isit la nan "Frogger," epi si nou te ka ogmante volim nan jis yon ti jan, se ou ki sa a ti kras vèt krapo sou anba a. Ou ka itilize agoch, adwat, leve, li desann, epi objektif ou se travèse lari a, travèse rivyè a, ak touche Tanpon yo yon bèl ti flè nan tèt la. Aw. Youn nan pi plis t - refè, tout dwa? Se pou nou sispann frape. Pa gen moun ki te wè sa. [Aplodisman] [Aplodisman] DAVID Malan: Yeah. Trè byen fè. Ekselan, di ou mèsi. Se konsa, ke te gen Frogger. Kounye a ke ou konnen ki sa ou te vinn tèt nou nan, youn plis volontè pou yon diferan jwèt soumèt pa yon lòt elèv yo. Ou vle yo vini sou a? Ki sa ki nan non ou? RICHARD: Richard. DAVID Malan: Richard. Tout dwa, Richard, vini sou yo. [Aplodisman] DAVID Malan: Ou gen yon bagay ki pral son abitye byento, se konsa isit la yo se prensip ou yo. Se konsa, nan yon moman, kèk moso devinèt yo ale nan woulo liv moute soti nan ekran an ki gade swa kite oubyen dwa monte oswa desann. W ap ale nan gen frape kle yo flèch nan yon fason ke li koresponn ak moso sa yo devinèt doubli ak placeholders yo nan tèt. Se konsa, lè ou wè yon flèch bò gòch, epi li liy moute ak bò gòch la flèch, frape flèch la bò gòch. Ou kapab kòmanse. [Klas Mizik - "pi fò" KAYNE WEST] DAVID Malan: Tout dwa, gwo wonn nan aplodisman pou Richard. [Aplodisman] DAVID Malan: Trè byen fè. Mèsi poutèt ou. [Aplodisman] DAVID Malan: Se konsa, plezi ak, w pèdi, sòt de entimidasyon kòm li ta kapab aplike yon bagay tankou w pèdi sofistike tankou sa a, reyalize ke elèv la pa t 'pati ak jis ekri sa a tout moun nan yon fwa. Olye de sa, ou ka kraze yon pwoblèm kòm w pèdi konplèks tankou sa a nan pi piti anpil ti moso, epi sa a, tou, se pral gen yon tèm. Bagay ki pi mal la ou ka fè nan ekri yon pwogram nan pifò nenpòt lang se yo chita, jwenn vrèman eksite, ekri a antye bagay modi, ak Lè sa a, jis espere ke li ap travay pa la tan ou fini ekri. Olye de sa, pwosesis la nan pwogram yo ta dwe jeneralman gen anpil ekspre, trè repete, annakò ak sa ou jis mete etap ki piti anpil pou nou, moso mòde-gwosè ou vle mòde koupe, epi pou ke ou gen sa yo saniti chèk, jalons ti kras ou ka rankontre. Lè sa a, ou bati sou tèt nan sa yo kreye plis bagay sa yo sofistike toujou. Se konsa, pou egzanp, ki jan nou ta ka ale sou mete ann aplikasyon yon jwèt tankou sa a? Oke, franchman, mwen ta sètènman kòmanse pa jis sipòte yon sèl kle nan yon tan. Se pou nou jis aplike sipò pou flèch la bò gòch. Se konsa, elèv la te gen nan yon jan kanmenm kreye nan fotoschop, oswa nan Grate tèt li lè l sèvi avèk ti kras editè a grafik, ki se yon kle flèch ki sanble yon sèl ki nan tèt kite a, jis kontneur a gri. Lè sa a, elèv la te gen nan konnen sa ki x, y kowòdone mete l ', ki kote yo mete l' nan fennèt la. 0, 0 se leve isit la, kidonk, ou gen figi soti ki kantite piksèl, oswa pwen, nan konpanse ki flèch soti nan tèt la nan ekran an. Lè sa a, yon fwa sa a, se nan plas, pwogram ou a pa aktyèlman fè anyen ankò, kidonk, ou Lè sa a, bezwen yon luten segonn, pou egzanp yon flèch vèt ki la tou lonje dwèt kite, epi ou Lè sa a, bezwen kòmanse ekri kèk Scripts pou li a. Epi ou avi, petèt, ki bagay sa yo te kòmanse vini nan vitès diferan, ak koulè yo te nan diferan kote, ak sa a, se paske elèv la te itilize yon ti jan nan pseudo randonès. Ak pa randonès pseudo, mwen jis vle di chwazi yon nimewo ant yon bagay e yo yon bagay paske ou kapab kòmanse bagay sa yo kat yo, tankou si kantite a se ant youn ak senk, byen, kite a fè bagay la vèt. Si li la ant 6 ak 10, kite la fè moso nan devinèt wouj olye. Se konsa, toutotan ou gen yon fason de génération kèk kalite randonès, ou ka Lè sa a, pran desizyon ki baze sou ki randonès. Apre sa, mwen kenbe li di pseudo o aza paske gen yon ti sekrè sal. Odinatè pa kapab vini ak nimewo o aza. Yo kapab sèlman fè sa y ap di paske yo ap moun yo te fè ki bay sipò. Yo pa ka jis devine yon nimewo tankou nou moun santi tankou nou kapab. Yon òdinatè ki gen fè yon bagay matematik sorselri a moute ilizyon nan nimewo matematik, pafwa lè l sèvi avèk la aktyèl jou nan tan kòm yon antre n ap kalkile konnen ki sa ki nimewo retounen, men li plis sou tan sa a yon lòt. Pou kounye a, jis konnen ke nou ka jenere pseudo randonès. Se konsa, yon fwa mwen gen kapasite a pou flèch la bò gòch yo kòmanse parèt nan fwa diferan ak nan vitès diferan, Lè sa a, Mwen ka ale retounen lakay yo epi ajoute kèk nan sa yo, si kondisyon yo. SI sa a luten an touche yon sèl nan lòt, AK flèch la bò gòch kle ki te bourade - se konsa twa kondisyon yo nan ka sa a. Mwen kapab itilize ke AK bloke petèt, nan ka sa a - Apre sa, mwen vle ale pi devan epi kantite nòt la. Ak nan tèt, nou gen yon nòt, nou gen Awesome, Fre, Bon, ak bou. Se konsa, gen nan aparamman senk varyab ki elèv sa a itilize nan kenbe tras nan sa yo mesures divès kalite. Se konsa, nan kout, rezilta nan fen se etonan. Li amizan, li la plezi yo jwe, li la angaje, men sa a se pa kote elèv la te kòmanse. Li te oswa li te kòmanse nan yon seri pi piti anpil nan etap. Se konsa, sa yo se kèk blòk bilding lòt ke nou kapab mare nan pwogram sa yo? Oke, gen nan konsèp sa a lòt nan pifò lang, Grate nan mitan yo, yo konnen kòm fil. Se konsa, yon òdinatè ka aktyèlman pa vrèman fè bagay sa yo miltip nan yon tan, nan omwen pa konn. Olye de sa, yon òdinatè jeneralman jis gen yon CPU, e menm menm si òdinatè yo Super vit ak kapab, Se poutèt sa, kreye ilizyon a nan fè bagay miltip nan yon fwa - tcheke lapòs ou a, ap resevwa yon moman mesaj, enprime yon dokiman - reyèlman, yon òdinatè se jis sote soti nan enprime IMing Hamelin, retounen lakay yo epi retounen lakay yo epi retounen ak lide tèlman vit ke nou dousman moun enjenyeu jis pa reyalize ke li la aktyèlman kouri pwogram sa yo yon ti jan nan yon tan. Koulye a, sa yon ti jan nan yon blan kouche jou sa yo, paske, sèjousi, òdinatè anpil nou yo se sa ki yo rele milti-debaz, kidonk, ou gen yon sèl CPU men am miltip, ki se kalite tankou gen plizyè proseseur. Se konsa, pafwa, òdinatè kapab vrèman fè bagay sa yo plizyè nan yon moman, men jeneralman nan yon pwogram, pwogram konte sou bagay sa yo rele fil. Se konsa, yon moso fil se sòt de tankou yon pwogram Miniatures ki kapab egziste ansanm ak yon lòt pwogram Miniature ak ka kouri nan paralèl, oswa omwen ka kouri anba ilizyon a ki yo ap kouri ansanm. Se konsa, reyur sipòte bagay sa yo rele fil. Ou ka gen Scripts miltip pwomenad a yon fwa, menm jan nou te fè ak lyon an lanmè a ansanm ak sa a pèmèt nou aktyèlman Lè sa a, gen echanj nan pami sa yo sprit. Kite m 'ale pi devan isit la e ki rale moute, kite la di, fil, ak jwe sa a jan sa a. Nou gen de sprit, chak ki moun nou pral wè jis gen yon script. Epi ou avi gen sanble ap kèk entèlijans nan a chat nan yon sèl sa a paske li te vin pi pwòch - [K'ap gwonde] DAVID Malan: - ak pi pre zwazo a ti kras. Se konsa, kouman se opere nan zwazo? Oke, kite la pran yon gade nan zwazo a an premye. Script la zwazo di lè se drapo a vèt klike, ale nan x egal negatif 115 ak y egal 150. Se konsa, mwen jis kalkile soti yon kote o aza kote mwen te vle a zwazo yo kòmanse, epi mwen jis plopped l 'la pa defo. Lè sa a, pou tout tan SI li pa manyen chat, se konsa sa a se yon diferan kalite tise loupin, men lide menm, fè sa ankò, li ankò epi ankò. Se konsa, lontan ke ou pa ap manyen chat la, deplase twa etap, ak si ou se sou rebondisman nan kwen,, kote li a sòt de yon refleksyon nan sans biya. Se konsa, lè sa a jan zwazo a ap deplase alantou kalite w pèdi aza, men li la jis paske li nan rebondi koupe mi yo nan ka sa a. Koulye a, chat la, pandansetan, se kalite poul la. Chat la sa, lè se drapo a vèt klike, se wi, kòmanse nan kèk kote, yon kote o aza - omwen an pati tankou pou chak chwazi nan o aza blòk vèt la - ak Lè sa a, pou tout tan SI manyen zwazo a, jwe son an jenn ti lyon, ak Lè sa a, sispann script. Se konsa, lè m 'te di mete fen nan, oswa sòti anvan, gen nan yon devinèt moso nan reyur ki pral jis touye pwogram lan nan ki pwen paske li nan kalite lojikman fè. Men, otreman, isit la, avi sa ki pral rive. Pwen nan direksyon zwazo a ak deplase yon sèl etap. Se konsa, pwen sa a nan direksyon zwazo se kalite yon avantaj chat la gen nan ke li nan otogidaj nan sou zwazo a deplase, epi nou kapab kounye a fè pwogram sa a tout plis enteresan an. Olye pou yo k ap deplase yon etap nan yon tan pou chak sik CPU, pou chak frape nan nimewo telefòn nan klòch a, se konsa pale, kite m 'ale pi devan epi deplase, kite la di, senk etap nan yon moman kòm chat la. Klike sou kouri, e kounye a li reyèlman jwenn l 'byen vit. Si nou double sa a pi lwen a 10 etap, li kalite ale dwa pou li. Koulye a, nou kapab bay zwazo a, petèt, yon ti jan nan yon avantaj. Se pou nou ale nan zwazo a ak di olye pou yo k ap deplase twa etap, kite yo deplase l '30 etap. Men, li toujou te resevwa kole nan fen an. Se konsa, isit la, nou gen de fil. Li nan prizon nan reyur ak de Scripts ak de sprit, men lide a nan lòt lang yo se ke ou kapab ekri, ki esansyèlman, pwogram twò anpil tankou sa a epi yo gen yo kouri vrèman, oswa imaginarily, nan paralèl. Koulye a, gen nan tou konsèp sa a nan pwogram li te ye tankou evènman yo, e sa se yon bagay nou pa pral wè nan C, lang li te ye tankou C. Nou pral wè l 'rive sou fen semès la nan pwogram entènèt, lè nou prezante JavaScript a ak nosyon nan paj wèb bilding ki yo dinamik ak kominike ak itilizatè. Se konsa, nan ka sa a, nou gen yon egzanp trè senp nan de sprit, ti gason ak ti fi, chak nan yo gen rèspèktif yo fil, men yon jan kanmenm sa yo de yo se entè-kominike nan chemen nan yon bagay yo rele evènman yo. Se konsa, kite m 'ale pi devan isit la ak rale nan sou script ti gason an, ki sanble sa a. Lè vèt drapo klike, pou tout tan fè bagay sa a. Si se espas ki la kle yo, oswa Bar a Espas, bourade, di Marco pou de segonn, ki nan piman ayestetik sou la ekran, yon bil diskou ti kras, men Lè sa a, pase. Se konsa, difizyon se yon lòt moso reyur ki nan reprezantan nan yon klas de fonctionnalités nan pwogramasyon ki pèmèt pwogram diferan, fil diferan, entè-kominike, nan yon jan kanmenm voye mesaj, yon sèl nan yon lòt. Pase yon moso papye nan klas se sòt de teknoloji a ki ba ekivalan. Se konsa, emisyon evènman. Mwen ka voye voye mesaj sa a, ak evènman nan mo se konplètman abitrè. Grafouyen pafwa gen sa yo Downs gout, Se konsa, mwen jis li moute soti deyò ak yon mo o aza tankou evènman paske koulye a, ki sa ki ti gason an fè lè mwen peze kle a se li emisyon evènman sa a. Men, si mwen gade kounye a nan script ti fi a, li se script Super senp paske tout li bezwen fè se pa sa aji lè se drapo a vèt klike. Li se fèt nan aksyon lè li te resevwa quote, unquote, "Evènman", ak nan pwen sa a, li te tande Se poutèt sa pou evènman an sa yo rele ankò epi ankò. Le pli vit ke li resevwa ke evènman, li te ale nan rele Polo pou de segonn. Se konsa, ou ka petèt dégager sa a soti nan sa ki la egzakteman pwochen rezilta a pwal. Kite m 'klike sou drapo a vèt. Pa gen anyen k ap pase paske mwen bezwen fè ki sa? ODYANS: Bar Espas. DAVID Malan: Bar Espas. Boy di Marco, ti fi di Polo. Men, ki pa nan difisil kode se pou chak. Sa a se entè-kominikasyon ant Scripts sa, koulye a nou gen kapasite nan fè pwogram menm plis konplèks kote sa yo de yo se yon jan kanmenm entè-pou yo kominike. Se konsa, nan sa ki direksyon nou ka pran sa a? Oke, nan seri pwoblèm 0, reyèlman, objektif la se pran plezi ak grafonyen moun. Pou edisyon an aker, ou pral olye pran plezi ak yon plis sofistike vèsyon an reyur rele BYOB, Bati Blòk poukont ou, men lide a se menm bagay la. Ou pral kapab - Wi, sa ki te ekspre. Li te soti nan Berkeley. BYOB se vèsyon an edisyon aker sa a, men tou de a, démographie, estanda edisyon ak edisyon aker sanble objektif nan yon men pou yon semèn k ap vini se reyèlman jis plonje nan gwo twou san fon, pran men ou sal ak pwogramasyon, epi fè yon bagay ki enteresan, fè yon bagay entèaktif, fè yon bagay atistik, fè plezi yon bagay yo aktyèlman demontre, se konsa ke nan fen semèn nan, ou pral gen yon pwojè, pa sèlman pou pset premye fwa ou CS50, men ou pral gen yon ti kras yon bagay ke ou ka montre wete nan Annenberg zanmi oswa fanmi menm pa transfere li nan sit entènèt MIT a. Se konsa, jan mwen te di nan Mèkredi, nou espere 90% nan klas la, jeneralman, fè edisyon yo estanda. Reyalize ke gen nan tou sa a priz pou moun nan nou ki ka otreman jwenn tèt ou yon ti jan raz avèk Basics yo ak reyèlman vle plonje nan ak navèt yon vizyon ou deja genyen ak eksperyans nan sa a zanmitay plis anviwònman. Se konsa, kite m 'rale moute yon lòt egzanp wè yon sèl nan ansyen nou an elèv yo isit la te fè ak di yon ti kras yon bagay nan chante. Sa Menm jan tou, tankou sa a jwe, panse osijè de kòman ou ale sou mete ann aplikasyon pwogram sa a lè l sèvi avèk pwesizeman sa yo menm bilding blòk, yon ti kras nan randonès pseudo, ak yon ti jan nan chante ki familye. Si nou te ka ogmante volim nan jis yon ti jan? [Klas Mizik - "lapli ap tonbe GASON" TIFI metewolojik la] DAVID Malan: Sa a se li pou CS50. Nou pral wè ou nan Lendi. [Aplodisman]