Oratè: mwen se [fèbl]. Apre sa, mwen se yon wo grade nan LEVERETT House. Mwen etidye syans òdinatè, ak mwen se yon TF pou CS50. Kòm yon elèv nevyèm ane, mwen pa t 'menm gen yon laptop oswa smartphone yon. Mwen pa te gen okenn eksperyans pwogram. CS50 te kou a pi memorab ki Mwen te pran nan Harvard paske li te yon batay, men li te yon vrèman lit plezi an menm tan an. Apre sa, mwen te fè yon anpil nan pèmanan etonan, zanmi, ak mwen te aprann yon anpil nan reyèlman ladrès ki aplikab yo. Mwen se jis pou kontan ke mwen pa t 'kite m' mank de background gen yon eskiz pou m ' pa pran CS50. Mwen se [fèbl]. Mwen se yon wo grade nan LEVERETT House, klas nan 2014. Apre sa, mwen te pran CS50. DAVID Malan: Se konsa, sa a se CS50. Sa a se nan fen zewo semèn. Men, sonje kote nou te kòmanse, dènye fwa a, te la avèk sa yo lanp yo, ki te tèlman popilè ke nou te ale ak achte kèk plis jodi a. Se konsa, mwen panse ke sa a pral bagay nou ane sa a - lanp biwo si ou vini sou sèn nan, omwen jiskaske nou kouri soti. Men, nou itilize sa yo sonje, prezante Basics yo nan reprezantasyon nan done. Nou bezwen fason yo kòmanse ki reprezante enfòmasyon andedan nan yon òdinatè. Men, wout la pi senp yo fè sa ki te ak yon sèl engredyan, elektrisite. Epi bagay la pi senp ou kapab fè avèk elektrisite se vire l 'sou yo ak sou li koupe. Se pou koule nan elektwon oswa ou pa. Men, lè l sèvi avèk sa yo de eta debaz yo, nan ak sou, oswa fo ak verite a, oswa zewo ak yon sèl, nou te kòmanse wè ke nou te ka bati leve, nan ka sa a, ak limyè anpoul, plis nimewo pase jis zewo ak yon sèl. Nou konte kòm yon wo sèt, pou egzanp, dènye fwa. Men, tout sa nou dwe fè se kenbe voye pi plis ak plis limyè anpoul a ki pwoblèm, epi, reyèlman, nou ka reprezante nenpòt ki kantite ke nou ta ka pètèt vle. Oke, nou favorize tranzisyon byen vit Lè sa a, sou Mèkredi sa a multiple pou volontè yo. 8 Bits se sa nou jeneralman rele yon multiple, se konsa isit la nou te gen wit volontè nan Mèkredi ki kolektivman te ki reprezante uit miyèt moso. Men, lè men yo te ale moute, yo te yon yon sèl. Men, lè men yo te desann, te gen yon zewo. Epi nou te gen sa yo jan moute vin sou poukisa etap? Ki sa nou ap kapab fè ak sa a sekans Bits? Pou kreye yon alfabè a. Nou te kapab bati sou tèt de sa anvan yo leson te aprann ak aktyèlman kòmanse fè plis enteresan enfòmasyon sa a, se omwen plis abitye nan nou moun. Lè sa a ki pral gen yon renouvlab tèm nan tout 50, men tou, òdinatè syans plis jeneralman, ide sa a nan stratifikasyon, ki kote, nan fen a jou, si ou reyèlman te kòmanse a Basics ak yon òdinatè, repons lan se wi, li nan zewo ak moun yo. Men, anba ke li nan jis elektrisite. Men, nou trè byen vit kòmanse pran moun ki detay nivo ki ba pou yo akòde epi yo kòmanse kouch sou tèt sot pase yo te travay fè sa ke nou, finalman, pa fen semès la, epi, reyèlman, plis jeneralman kòm syantis konpitè ak pwogramasyon, ka fè kèk vrèman bagay sa yo pwisan pa swe travay ke nou tèt nou te fè ak tou kanpe sou zepòl yo nan lòt moun. Koulye a, nou byen vit favorize tranzisyon nan Mèkredi ki soti nan jis bezwen yo reprezante enfòmasyon yo vle fè yon bagay ak li. Se konsa, sa t 'nou defini yon algorithm kòm? Yon seri enstriksyon yo. Se konsa, li nan yon seri de enstriksyon, yon kantite etap oumenm, yon moun, oswa yon òdinatè, plis tipikman, ta egzekite youn apre lòt la yo nan lòd reyalize kèk objektif. Men, nou te gen yon objektif kèk dènye fwa, youn nan ki te konte moun ki nan sal la. Men, yon lòt egzanp sa yo te jwenn Mike Smith nan yon liv telefòn. Se konsa, ou ka sonje ke mwen chire yon telefòn liv nan mwatye nan direksyon sa a fini jwenn Mike Smith. Rezon ki fè ke vizyèl te demontre, ankò, ke nou te literalman chire pwoblèm sa a nan mwatye, nan mwatye, nan mwatye, ak anpil byen vit ale nan 1,000 tankou paj jis yon sèl paj sèl. Moun nan nou ki rate sa a sou Mèkredi, mwen te panse nou ta jwe tounen kèk pye nan ki sa ou rate. Ann pran yon gade. [Lèktur videyo] -Gen nou ale. 1500 paj, Nice liy pwòp, lejitim dlo. [Lèktur videyo END] DAVID Malan: Se konsa, sa ki te Mèkredi. Nou tranzisyon, menm si, nan Mèkredi kounye a vle reprezante algoritm nan kèk fason, pa sèlman yon ti jan estanda ki dekri yo vèbalman, men eseye eksprime yo alekri oswa sou yon òdinatè ekran pou nou te kapab kòmanse amelyore sou, epi modifye yo, epi, evantyèlman, aktyèlman analize jis ki jan ki kòrèk oswa konbyen vit yo te ye. Se konsa, nou prezante sa a nosyon nan pseudocode, ki, nan tèm pwofàn la, se ki sa? OK, mo yo. Ann al yon ti kras pi fon pase sa. Lang angle, asire w, yo men nan direksyon sa ki fen? Mo ak ki kreye oswa ki reprezante algoritm. Se konsa, gen nan pa gen pale yon sèl lang li te ye kòm pseudocode nan mond lan. Se jis nan ke ou, nan lang angle, oswa kèlkeswa lang pale ou a, sèvi ak yon sòt de notasyon supèrfisyèl tansmèt yon lide trè suksen. Men, nou pral wè sa, sètènman ak yon Pseudocode lang angle, ak li vire soti pi pwogram lang tèt yo yo se derive nan angle tèt li, nou pral jwenn ke gen nan kèk estanda fason pou reprezante pseudocode ak tou pwogramasyon kòd. Se konsa, jan ou kòmanse wè menm ki pi senp la egzanp jodi a, reyalize sa yo modèl menm pap repete an semèn pwochèn. Se konsa, pseudocode te gen kèk kalite nan lang fè l sanble souvan yon lang programmation. Men, premye egzanp lan nou te wè vizyèlman ekri sa a te yon sèl. Li te sèlman yon pwogram nan etap twa, objektif nan yo ki te konte kantite moun ki nan yon chanm dòtwa pou ki videyo nan Mèkredi. Men, te gen yon kèk aspè ki enteresan nan pwogram sa a ki pi senp. Lè sa a yo pral tèm renouvlab. Se konsa, pou sa yo ki abitye avèk sa yo, yon, nou prezante yon varyab. Ak pwobableman tout moun nan sal sa a se ki abitye avèk yon varyab nan la kontèks nan aljèb. Men, isit la nan pwogram, varyab yo, yon sèl, yo ka rele anyen nou vle. Nou te lè l sèvi avèk n kòm yon vann san preskripsyon. Men, nou ta ka itilize vann san preskripsyon nan mo, oswa, kòm ou pral wè, ki pi nenpòt ki fraz ki ou ta renmen toutotan li la deskriptif, men li vrèman jis yon veso pou konsève. Li se yon ti moso nan memwa, gen kèk nimewo nan Bits, epi li varye nan òdinatè, ki jan Bits anpil gen ki konpoze varyab sa a. Men, nou ka mete valè nan li. Se konsa, lwen, nou te sèlman mete nimewo yo. Men, nou ka mete pawòl vrè. Nou ka mete paragraf yo. Nou ka mete imaj - anyen, reyèlman, nou ka reprezante ak zewo ak moun yo, nou ka mete nan sa a nosyon nivo ki pi wo nan yon varyab. Se konsa, bèl dwat devan la. Epi sa a, liy yon sèl. Men, nou trè byen vit te deplase sou soti nan liy youn nan aktyèlman fè yon bagay ki gen varyab sa a. Men, nan liy twa, nou mete ajou N. Nou enkremante N. Men, nou te ka ekri sa a nenpòt ki kantite fason. Men, petèt evidan ki pi se jis vle di, mete N egal a tou sa n se plis 1. Se konsa, sa ki te enkreman nou an. Pandan se tan, te gen yon bouk. Lè sa a yon sèl, tou, se pwobableman trè entwisyon. Yon sikui se jis yon bagay nan yon pwogram sa ki ap pase ankò e ankò, gen kèk kalite sik. Lè sa a fraz kle a isit la, pou chak, se aktyèlman trè komen nan pifò pwogram lang, ki gen ladan yo menm nou pral wè nan kou a. Nenpòt ki lè ou wè pawòl Bondye a pou yo, li tipikman tradwi lide ki fè konnen yon bouk, yon bagay conjoncture, se sou rive. Men, li la vo anyen yon sèl lòt detay Massachusetts Institute of Technology. Lefèt ke liy twazyèm gen aktyèlman dantle pa gen frape nan espas bar fwa kèk se ekspre. Paske konvansyon moun se sa yo ki, lè w ap fè yon bagay ankò, li ankò, nan yon bouk, kòm kòmanse sou liy de, ou indent nenpòt ki bagay ki te fè pati ak sa yo ki bouk jis fè klè ke li nan liy twa epi yo pa, pou egzanp, liy kat oswa senk, si te gen liy pou oswa senk, ki yon pati nan ki pasan. Se konsa, sa a mark senp tradwi lide sa a de baz yo. Se konsa, nou aplike sa a algorithm, kounye a, nan yon kèk egzanp. Lè sa a, tou, ki senp egzanp nan mond lan reyèl. Men, li la pral fè reprezantan nan ki jan ou ta ale la pou l teste ou posede pwogram de pli zan pli konplèks. Ou eseye yon senaryo kèk, gen kèk reprezantan entrain, ak wè si ou jwenn rezilta yo vle. Se konsa, egzanp sa a te gen de moun ki chita nan chanm nan dòtwa. Sou bò gòch la se ke Kòd menm pseudo. Lè sa a se yon piki ekran an trè a dènye etap nan aplikasyon an nan sa a algorithm ak sa ki entrain, kote ki gen te de moun ki nan sal la, epi, sonje, kòm nou etap nan liy yon sèl, ak de, ak twa, ak de ak twa ak fè - nan fen ki algorithm, nou te gen tout bon konte zanmi yo de ki gen nan sal la. Se konsa, Lè sa a, nou te eseye yon lòt egzanp. Nou te reponn sa si gen zewo moun ki nan sal la? Èske sa se Kòd toujou kòrèk? Ak tout bon li te. Li jis pou rive ke liy de epi, konsa, liy twa oswa pa ale nan egzekite. Yo pa ap ale nan rive nan tout paske yo ap jis pa aplikab si gen nan zewo moun nan sal la. Men, pa yon kontra gwo. Liy yon sèl initialisé N a zewo, se konsa menm si yon sèl liy nan sa a pwogram aktyèlman fini moute yo te itil, li toujou vin bay repons ki kòrèk la, kòm sa endike nan zoranj la zewo nan pati anba a. Men, Lè sa a, nou deside sa ki te kalite yon algorithm estipid. Li te trè dousman. Se vre wi, mwen kapab fè de, kat, sis, uit, dis, lè konte moun ki nan yon chanm. Se konsa, nou tweaked algorithm a, nan pseudocode, yo di, kounye a nan liy de, pou chak pè moun ki nan sal la, kontinye nan, nan liy twa, enkreman nan pa de sou chak iteration. Se konsa, ki ta yo te travay isit la pou sa a pè moun ki nan sal la. Men, lè sa a, si ou kòmanse reflechi sou sa a, epi li pa pran tan reyalize, rete tann yon minit, sa a se ale nan kraze, li kraze nan sa ki senp ka? Si ta gen twa moun nan sal la oswa, plis jeneralman, lè gen nan yon enpè kantite moun ki nan la chanm nan, ki gen ladan yon sèl. Nou ta manke moun sa a isit la paske pa gen okenn pè sa yo. Se konsa, nou byen vit adrese pa olye entwodwi sa ki plis pwogram konstwi kòd la pseudo. Se konsa, yon kondisyon, nou rele li, oswa branch yon. Epi li vle di ke yo transmèt, vizyèlman, nan lide nan branch lan, yon fouchèt nan wout la kote ou ka swa fè sa oswa, petèt, yon lòt bagay. Ak tout bon, nou adrese pwoblèm sa a pa ajoute liy 4, lè li di, vrèman, nan fen anpil, si yon sèl moun ki rete, Lè sa a, ale pi devan epi konte yo espesyal. Se konsa, ou sòt nan ka espesyal yo, se konsa pale, se konsa ke kounye a nou ka okipe tou de yon nimewo menm moun nan pèp ak yon nimewo enpè de moun. Koulye a, gen nenpòt ki nimewo nan fason nou te ka yo te eksprime sa a. Men, franchman, mwen te kapab ve yo te menm plis lav serye lè li rive nan chwa mwen nan Angle pou pseudocode la. Men, omwen Lespri Bondye a nan se lide a vize. Si ou tonbe nan men sa a Kòd nan yon zanmi ki moun ki pa nan CS, oswa pa janm te pran CS, chans yo se yo te kapab konnen, bay twa moun nan chanm nan, ki jan yo konte moun sa yo ki baze sou enstriksyon sa yo. Epi sa a, tout vrèman ke nou vle akonpli ak pseudocode, yon jan kanmenm estandadize ki jan nou pral sou ki reprezante ide pou nou ka konmanse ap fè pi plis konplike bagay toujou. Se konsa, ki mennen nou lè sa a, jodi a, aktyèl kòd. Nou kòmanse nan pwogram jodi a, kwake nan yon anviwònman zanmitay. Lè sa a, nou tranzisyon trè byen vit nan yon sentaks plis Esoteric, men se yon sèl ki ou pral wè se fondamantalman menm bagay la tou kòm lide a va wè nan manifeste ak sa a lòt lang jodi a. Li nan jis pral gade yon ti kras diferan. Se konsa, olye ke jis rele sa a Kòd, mwen se pral gen yon ti kras pi plis egzak ak di, koulye a, lè li ap ekri yon pwogram nan, w ap ekri kòd sous. Li nan kalite pseudocode tankou. Men, nou pral wè li pa sòt de lach lè li rive w ap chwazi mo sa yo ke ou itilize. Lè pwogramasyon nan yon lang, ou gen yo sèvi ak mo sa yo, fraz yo, sentaks a, ke lòt moun te deside reprezante ki lang patikilye. Se konsa, pseudocodes se jiska ou. Yon lang programmation aktyèl tankou C, kòm n ap pètèt wè la a, se ofisyèl pa lòt moun. Se konsa, ki jan nou ale sou ekri kèk Kòd sous? Oke mwen pral ale pi devan epi fè sa. Mwen pral ale pi devan epi louvri moute yon fennèt isit la. Plis sou semèn sa a kap vini an. Men, sa a se yon aparèy yo rele aparèy la CS50. Mwen kouri yon moso nan lojisyèl sou mwen Mac, menm si ou ka fè menm bagay la sou yon òdinatè Windows, se sa ki bay m 'ilizyon an kouri yon diferan opere sistèm tout ansanm dwa isit la nan yon fenèt sou Mac mwen. Mwen te jis plen tès depistaj l 'konsa ou pa fè sa aktyèlman wè Mac OS kounye a. Sa a se yon sistèm opere rele Linux. Li trè popilè. Li trè vit. Li trè gratis, ki te fè li trè konvenkan, espesyalman nan la komèsyal nan lemonn. Ak plis ankò sou sa nan direksyon nan fen a semès lè nou sèvi ak Linux byen yon ti jan pou wèb la nan pwogramasyon ak hosting sou sit entènèt aktyèl ak pwojè yo. Se konsa, kounye a, jis konnen ke sa a se yon Desktop ki nan vle di ke yo gade vagman abitye nan fenèt ak Mac OS. Li jis gen kèk non diferan ak ikon pou bagay sa yo. Men, sa a se CS50 nan sa yo rele aparèy, yon machin virtuel yo ki, kòmanse nan semèn kap vini, ou mesye yo ap kouri andedan nan yon fenèt sou ou pwòp Mac oswa PC. Pou jodi a, mwen pral louvri moute ki pi senp lan nan pwogram yo. Li rele jdi. Lè sa a se jis yon editè grafik. Li nan kalite tankou Microsoft Pawòl, men ki pi senp. Li nan kalite tèks tankou modifye oswa Notepad. Se jis nan yon pwogram trè senp ak yo ekri mo sou ekran an. Li jis pou sa k ap pase ke si mwen sove dosye ke mwen kreye lè pwogram sa a nan yon ekstansyon espesyal tankou. c, olye pou nan. doc, oswa. xls, oswa kèlkeswa sa w ap abitye ak, mwen kapab aktyèlman kreye pwogram lè l sèvi avèk menm sa a ki senp editè tèks. Se konsa, kite m 'fè sa. Kite m 'ale pi devan epi sove sa a pote premye kòm hello.c. Li di ankò, sa a koòdone itilizatè yo pral vin abitye ba ou byen vit. Men, pou kounye a, mwen jis tape nan yon Non dosye-a. Mwen pral pou konsève pou l 'nan Jan m' Harvard lakay anyè. Koulye a, mwen gen sa a tab ki endike Mwen tout bon koreksyon yon dosye rele hello.c. Se konsa, pa gen anyen twò enteresan ankò. Epi, koulye a li pral jwenn bèl skre. Mwen pral rale nan, jis se konsa li a pi vizib. Men, mwen pral kòmanse sezisman gen ladan stdio.h, Int prensipal yo, anile, louvri Curly atèl, yonn, de,, twa, kat espas nan mark, f ekri an lèt detache, pou ekri an lèt detache yon bagay formate, unquote quote, "Hello, mond" antislach, n, fèmen quote, fèmen parantèz, virgules, antre nan Backspace, Backspace, Backspace, Backspace, fèmen Curly atèl - Mwen te pwograme. Tout dwa se konsa sa a se yon senp super pwogram nan, reyèlman, pwogram lan ki nenpòt moun ki kòmanse koupe pwogram avèk yo. Apre sa, tout li fè sa, pou tout konpleksite li yo, se enprime soti sou la ekran, devine ki sa? Bonjou nan lemonn. Men, li la pa ase jis yo ekri yon pwogram nan. Se konsa, sa a se kòd. Sa a se Kòd sous nan yon lang yo rele c. Li nan sove kounye a nan yon dosye rele hello.c. Kounye a gade nan pati anba a nan ekran an isit la. Plis sou sa a, ankò, nan semèn yo ap vini yo. Men, sa a se sa nou ap rele yon tèminal fenèt. Li se yon kliyote, nwa ak blan èd memwa. Li nan sòt de yon koòdone lekòl fin vye granmoun nan yon òdinatè ki jeneralman pa fè sa sèvi ak yon sourit oswa yon lòt eleman grafik. Li jis sèvi ak klavye ou. Apre sa, mwen ka tape kòmandman an sa a kliyote èd memwa. Men, pou rezon jodi a, mwen se jis ale nan tape sa ki annapre yo - fè hello. Epi pwogram, fè, se jis yon pwogram ki, nan mond reyèl la sa yo jou, nou ta doub klike sou. Men, nan sa a koòdone pou jodi a, nou ale nan tape non li nan sa a èd memwa. fè alo se literalman ale nan fè m 'yon pwogram ki rele hello. Epi li pral fè sa kap pou yon dosye, jis pa default, rele hello.c. Li nan ale nan asime Mwen vle yon pwogram C pa nati sou fason sa a sou òdinatè se configuré. Se konsa, mwen ale pi devan ak frape antre. Mwen wè kèk pwodiksyon skre, men sa a ap vin tout twò yo konnen yo anvan lontan. Sa te rive kouri nan yon du, plis sou sa nan yon moman, yo rele sonnen. Men, koulye a, mwen te gen jis yon lòt kliyote èd memwa. Apre sa, mwen ka ale pi devan koulye a ak tape dot koupe, pou entérésan rezon ki fè nou pral tounen vin jwenn semèn pwochèn - hello. Se konsa, tout nan efò sa a konsa byen lwen jis ekri pi senp lan nan pwogram sa, le pli vit ke mwen frape Antre, èske sa. Se konsa, mwen te ekri pwogram premye m 'yo. Se konsa, mwen fè espre poking plezi nan pwogram sa a trè senp pou yon koup nan rezon ki fè. Youn, li difisil jwenn eksite sou pran yon klas si sa a se jwèt la fini. Men, plis pase sa, gen yon anpil nan distraksyon moute isit la. Premye fwa ou aprann nan pwogram, pou moun nan nou mwens konfòtab, ak menm mwen, li tounen nan jou a, lè m 'premye wè yon bagay tankou sa - ou kapab kalite nan figi sa, tout dwa, sa a se nan yon mond ekri an lèt detache hello. Men, gen nan distraksyon anpil. Genyen sentaks anpil sou ekran an ke li vin nan fason a nan anpil senp, otreman senp, lide. Se konsa, sa nou pral fè jodi a se nou ap pral mete sou kote C ak vin tounen nan nan Lendi. Epi nou ap ale nan sèvi ak yon grafik lang programmation rele grate. Sa a se yon lang programmation, pou m ' mansyone nan Mèkredi, ki k ap pase yo ki pèmèt nou fè kalite la menm nan bagay men vire yon je avèg, pou jounen jodi a, aparèy òtopedik yo Curly, parantèz yo, virgules yo, ak tout bagay sa yo estipid distraksyon ki jwenn nan fason a, nan jou sa a an premye, nan kèk trè debaz yo, lide ki enteresan. Se konsa, Se poutèt sa, mwen pral ale tounen nan Desktop mwen an sou isit la ak entwodui ou nan altènatif la nan ki pwogram nan, ki se pral gade yon ti kras yon bagay limen sa a. Sa a ki jan nou pral aplike sa menm pwogram jodi a - de devinèt moso ki, lè yo anklanche ak klike sou, yo pral di nan mond lan, alo lemonn. Se konsa, kite a aktyèlman ale la. Se konsa, mwen pral ale pi devan epi louvri yon sou sit wèb li te ye kòm scratch.mit.edu. Lè sa a ap mennen m 'nan sit entènèt sa a isit la. Nan davans, mwen te louvri sesyon an sa a sit entènèt ak pwoblèm yo an premye ki ap mache ou atravè kèk nan etap sa yo. Mwen pral ale pi devan epi klike sou sou katab grate m 'isit la. Lè sa a ki pral fè m ' kèk pwojè ke mwen te aktyèlman kreye an davans. Men, li sanble ke sa a grafik lang programmation pa sèlman ki pral kite nou pwogram nan antrenman ak jete sa yo moso devinèt, ou pa menm bezwen espesyal lojisyèl. Li nan tout anbake nan yon navigatè konsa ke ou ka fè sa a, nan teyori, sou òdinatè ou kounye a, tankou kèk nan nou pouvwa byen, se, san yo pa menm bezwen lojisyèl tankou aparèy la CS50, ki pral vini an semèn pwochèn. Se konsa, mwen pral moute al kwen nan tèt isit la, epi klike sou Kreye. Ak nan yon moman mwen pral jwenn yon vid ekran atravè kote mwen ka kòmanse pwogramasyon nan sa a grafik pwogramasyon anviwònman. Men, tan sa a, li pral yo dwe anpil, pi senpl ki aktyèlman fè sa. Se konsa, nan jis moman sa yon, lè Wi-Fi a kowopere, nou genyen kounye a sa a ekran. Se konsa, yon rapid vwayaj vèbal, men mwen bay gabèl di, sètènman lè ou plonje nan la premye seri pwoblèm, ou pral jwenn sa a tout trè aksesib epi san patipri entwisyon. Men, kite a penti yon foto mantal sèlman pou moman yon. Se konsa, anba sa a sove èd memwa li di chanjman, ou se sou yo wè grate. Sa a se yon luten. Li se yon karaktè. Apre sa, li viv sou sa nou pral rele yon sèn, sa a gwo rektang blan sou ki li kapab deplase leve, desann, yo kite, dwat li, li fè sa, reyèlman, lòt kalite aksyon yo. Pandan se tan, nan mitan an nan sa a itilizatè koòdone, nou gen yon pakèt antye nan devinèt miyèt moso. Men, ou ap wè ke yo di bagay sa yo tankou deplase 10 etap, yo te tounen 15 degre, pwen nan yon direksyon ki sèten. Men, gen nan kategori nan blòk jouk la a tou. Se konsa, si m 'ale nan sanble, ou ap wè ke gen nan moso devinèt lòt ki aparamman ap di sa a cit di hello, panse, yo montre tèt li, kache tèt li. Si m 'desann nan son, li vire soti gen nan fason yo jwe son tankou Meow, yo sispann tout son, yo jwe yon tanbou. Se konsa, depi lontan istwa kout, gen nan yon antye pakèt moun sou moso devinèt ki pèmèt ou di sa a chat, oswa nenpòt ki kantite karaktè lòt, sa yo dwe fè. Men, fè sa-a tout rive ou bezwen kòmanse pwogram. Lè sa a gwo bwat blan, oswa gri bwat postal, sou bò nan men dwat, sa a se kote Mwen pral aktyèlman trennen ak gout moso sa yo devinèt. Sa se tèks vid mwen ekivalan fenèt. Se konsa, mwen pral ale pi devan epi klike sou Kontwòl nan mitan yo. Oswa olye, kite m 'kòmanse moute anba Evènman. Anba ban Evènman, ou pral avi yon kèk bagay ki fè espre yon fòm koub sou tèt la nan yon fason ke yo pwobableman pa antidemaraj sou la tèt moso yo devinèt. Epi sa a, paske yo Demark kòmanse nan nan yon pwogram, kòmanse nan yon script, se konsa pale. Se konsa, si mwen ale pi devan ak trennen, lè vèt drapo klike sou isit la, ak Lè sa a, mwen vle sa a chat yo di yon bagay nan premye. Se konsa, mwen pral ale anba sanble la panèl. Men, mwen pral ale pi devan epi gen tan pwan an di alo blòk, ak trennen, ak gout, ak kite ale konsa ke li otomatikman verouyaj la. Lè sa a, remake mwen kapab klike sou tèks la. Apre sa, mwen ka pase sou desizyon li gen plis espesifik renmen, di, alo nan lemonn. Epi, koulye a nou gen pwogram nan ke mwen reklamasyon ki ekivalan a ki pi plis Esoteric pwogram mwen aplike nan C yon ti moman de sa. Si mwen ale sou kounye a sou bò nan men gòch li yo, remake gen yon siy arè gwo ak yon gwo drapo vèt. Kite m 'rale nan pou klè. Lè m 'koulye a klike sou sa a drapo vèt, ou ka pwobableman devine kisa sa a premye pwogram se kounye a pral fè. Se konsa, gen, tou, nou ap pwogramasyon, men nou pa ap aktyèlman ap resevwa anbourbe desann nan kèk nan sa yo Massachusetts Institute of Technology, detay minit. Men, kite a eseye yon bagay yon ti kras pi plis enteresan. Kite m 'ale nan folder scratches m' isit la. Men, aktyèlman, kite m 'konsa, kite m' louvri moute yon pwogram separe isit la pou jis yon moman, Maksimize fenèt sa a, Pote Open, ak Mwen pral antre nan jodi a anyè sous. Kòm toujou, w ap jwenn, jodi a ak pati, pou tout nan egzanp jodi a yo aksesib andedan nan sit entènèt kou a. Men, mwen pral ale pi devan isit la ak chwazi moute yon yon bagay ti kras diferan. Sa a yon sèl isit la, pou ki Mwen bezwen yon volontè. Ki moun ki ta renmen yon lanp biwo jodi a? OK, ki jan sou yon moun yon ti kras - ou sou fen a? Vini non sou desann. Koulye a, ou ta renmen patisipe, oswa jis di kòmanse ak lanp lan biwo? Vanessa: [fèbl]. DAVID Malan: OK. Excellent, sa ki nan ou Non? Vanessa? David la. Nice al kontre ou. Se konsa, vini sou leve, li nan Vanessa pral yo pran kontwòl mwen klavye sèlman pou moman yon. Ak sa ki mwen te fè isit la, jis pou tan an poutèt, tankou mwen te reyalize nan Wi-Fi te yon ti jan ralanti, grate, nan pwogramasyon anviwònman ki nou ap lè l sèvi avèk, kapab tou gen pou telechaje epi kouri sou òdinatè lokal ou an. Se konsa, sa m 'te nan avanse, ki se konferans, nan ka sa rive, se mwen telechaje tout dosye yo nou ap sou yo jwe avèk sa yo ke yo ka kouri yon pi plis ti kras byen vit dwa isit la sou laptop mwen. Se konsa, Se poutèt sa, koulye a mwen wè yon koòdone Mac-espesifik. Se konsa, mwen pral ale pi devan epi louvri moute yon sèl sa a. Mwen pral ale pi devan kounye a epi yo plen ekran fenèt la. Men, kòm ou pral wè, nou kapab trè byen vit, kòm elèv sa a te fè, youn nan chèf anvan ou, ale soti nan mond alo nan yon anpil pi plis irezistib aplikasyon an. Se konsa, isit la yo se enstriksyon yo. Oh, e nou gen yon lòt bagay. Mwen te panse li ta dwe plezi, depi, nòmalman, nou pral tal filme kamera nan fason sa. Mwen te panse li ta enteresan si, Vanessa, nou te kapab wè mond lan nan je ou. Se konsa, isit la nou gen kèk Glass Google. [Sezi glous] DAVID Malan: Nou pral sèlman bay lwen biwo lanp jodi a. [Ri] Se konsa, kite m 'siy sa a yo. Tout dwa, se konsa manyen sa a. OK, vè, dosye yon videyo. Tout dwa, Vanessa? Koulye a, kòm yon sou kote ki te pran pa gen anyen fè ak grafouyen, si ou gade yon ti kras leve, li sou bò dwat la, ou ap wè glas la literal, epi ou ta dwe wè yon ti kras fenèt rektangilè. Ou ta dwe wè tout kondisip ou ke yo te filme-li kounye a? Wi. Vanessa: Wi. DAVID Malan: OK. Se konsa, sa a, se amann. Nou pral lage sa a pye pita. Pou kounye a, vire atansyon ou nan ekran an isit la. Ak sa ki te te wa anvan ou fè a se mete kèk enstriksyon sou ekran an jis lè l sèvi avèk yon pwogram penti yo. Se konsa, w ap ale nan, nan yon moman, laprès bar nan espas yo kòmanse. Lè sa a, kèk moso devinèt yo pral yo kòmanse deplase moute ekran an. Men, ou vle frape kle yo flèch, jis renmen nan reyèl DDR, an akò ak bagay sa yo doubli ak moun kèk flèch. Vanessa: OK. DAVID Malan: Ou te jwe sa a anvan. Vanessa: Yeah. DAVID Malan: Tout dwa, Vanessa, ale pi devan epi pran byen lwen ou. [Klas Mizik - KAYNE WEST, "pi fò"] [Aplodisman] DAVID Malan: Se konsa, kite a kounye a pran yon etap soti nan sa. Se konsa, byen klè, sa a, se jwèt la fini. Jwèt la fen se pa mond hello. Men, ou pa bezwen nesesèman fè bagay sa yo ke yo, se pou entèaktif. Ou kapab tou fè animasyon. Se konsa, pou egzanp, yon lòt youn nan ou siksesè te fè pwogram sa a isit la, ki rakonte yon istwa plis pase li aplike yon jwèt. Se konsa, kite m 'ale pi devan epi louvri moute isit la yon pwogram nan anyè menm sous nou yo soti nan jodi a. Sa a rele yon sèl, ak kite la kòmanse ak, yon istwa renmen bonbon. Men, pa fè sa-a twò akademik, men, jan ou gade yon sèl sa a, panse tèt ou ki nan tout sa yo ki senp pwogram konsèp nou te pale sou konsa byen lwen - varyab, ak pasan, ak kondisyon, t 'te wa anvan ou pwobableman itilize jis aplike kèk nan vizuèl yo. Ou wè isit la. Se konsa, mwen ba ou yon istwa renmen bonbon. [Klas Mizik - GREEN JOU, "jou ferye"] [Aksidan] [Klas Mizik - tòti YO, "HAPPY ANSANM"] DAVID Malan: Tout dwa, se konsa gen, nou te gen yon istwa renmen bonbon. Men, menm gen - [Aplodisman] DAVID Malan: Tout dwa, menm la, panse osijè de, tankou moun yo kè al nan anba a nan tèt la nan ekran an, te gen aktyèlman yon ti jan nan aleyatwa pral sou. Ak tout bon, nou pral wè ke menm nan la ki pi senp nan anviwònman, tankou Grafouyen, tankou nan C, ou ka jenere nimewo o aza, oswa ilizyon an nimewo o aza, se konsa ke jwèt la se yon ti kras pi plis enteresan pase sa li ta ka dwe si ou te gen absoliman difisil kode tout bagay. Nan mouvman an ke ou wè, gen gen kèk kalite reyaksyon. Le pli vit ke nonm sa a Gingerbread manyen fanm lan Gingerbread, li sanble pou avanse pou pi lwen. Se konsa, tout bon, ou ka aplike, nan pi pwogram lang, nosyon nan evènman, annakò ak si yon men manyen lòt men an, ki kapab deklanche kèk nan kòd sous ou a aktyèlman egzekite. Ou ka koute pou sa yo bagay sa yo sou ekran an. Se konsa, kite a pran yon vwayaj rapid, lè sa a, nan kèk nan blòk yo bilding nou kapab itilize reyalize kèk nan objektif sa yo. Se konsa, isit la nan sa nou pral koulye a rele yon deklarasyon. Yon deklarasyon k ap pase yo koulè wouj violèt nan Grafouyen, yon yon bagay ti kras tankou sa a, men sa a abitrè. Yon deklarasyon se jis yon devinèt moso oswa, plis jeneralman, yon enstriksyon, ki di òdinatè a fè yon bagay, yon deklarasyon. Se konsa, isit la nan yon echantiyon ki senp. Di alo nan lemonn. Yon lòt ki ta ka yon dwe rete tann yon dezyèm fwa. Se konsa, sa a devinèt moso, ki se sipòte nan grafouyen, nou pral kite ou karaktè pran yon poz pou kèk kantite segonn. Sa a, tou, se jis yon deklarasyon. Isit la kap vini an, nou gen yon lòt plis enteresan yon sèl, Meow son jwe, ak flèch la ti kras vle di ke nan grafouyen, sa a se yon gout desann meni. Se konsa, ou ka enpòte son. Ou ka anrejistre son ak fè lòt bagay sa yo plezi nan grate. Epi ki, tou, menm si, nan fen nan jounen an, se jis yon deklarasyon. Men koulye a, se pou yo prezante yon plis enteresan moso, ki li te ye kòm yon Boolean ekspresyon. Kapital B, rele apre yon parèy yo te rele bouleen. Men, yon ekspresyon Boolean se jis yon moso devinèt oswa, plis jeneralman, yon moso nan enfòmasyon ki swa vrè oswa fo - youn oswa zewo, wi oswa non. Se konsa, li nan jis youn nan moun ki de sitwon. Se konsa, yon sèl sa yo ekspresyon Boolean nan la mond nan scratches sanble sa a ble devinèt moso. Epi li mande yon kesyon, sourit desann, epi ki ka swa dwe, nan Natirèlman, vrè oswa fo. Se konsa, avèk pyès sa a devinèt nan grafouyen, byen, ou pral kapab detekte si yon devinèt si sourit la se, an reyalite, yo te ki te fèt desann nan entèraksyon imen an ak pwogram ou an. Sa a yon sèl nan yon ti kras plis abstrè, Men, moun de bwat blan yo se jis pou chif yo. Se konsa, ou kapab fè bagay sa yo tankou sa a nimewo pi piti pase lòt la? Men, si se konsa, grafouyen ap konpòte yon fason oubyen yon lòt la. Sa a yon sèl nan yon ti kras plis grafik. Li nan si luten la, si chat la, pou egzanp, se aktyèlman manyen la konsèy sourit. Se konsa, si tèt la flèch ti kras se elikopte sou chat la, lè sa a sa a moso devinèt ap evalye vre. Li pral vre, nan ka sa a, si ou sèvi ak sa a ekspresyon Boolean, jan nou pral wè nan yon moman, nan yon branch, ou ka swa fè sa, oswa ou ka fè sa, anpil tankou nou te gen yon kondisyon ki tcheke, ki gen la yon sèl moun ki plis dènye nan chanm nan? Si se konsa, ajoute yon sèl. Sinon, pa enkyete w pi lwen. Se konsa, yon ekspresyon Boolean kapab tou gen pou ak-ed ansanm oswa oswa-ed yo ansanm. Se konsa, ou ka konbine ekspresyon Boolean ak di sa a ak sa a fèt pou laverite pou tout bagay la yo dwe vre. Ak isit la se yon egzanp nan mond plis reyèl. Si ou te itilize CS50 Kou yo fè kou fè makèt, sa yo bwat chèk la, kote si ou tcheke ke bwat pwochen nan kou, ki pral di, wi, sèlman montre m 'kou pou ki valè a Q se 4.5 oswa pi wo. Si ou dezaktive l ', pa gen okenn, pa fè sa enkyete sou sa. Oswa Menm jan tou, sou bò dwat la, pa fè sa Konfli ak Kou Mwen Lè w ap pran, sa a, se swa vrè oswa fo. Se jis nan yon ekspresyon Boolean. Se konsa, tout tan tout tan sa a lè ou te itilize sou sit entènèt ak bwat chèk, ou se jis toggling ekivalan a nan yon Boolean ekspresyon sou yo ak sou. Se konsa, nan sa ki fòm ou itilize sa yo? Oke, nan grafouyen, nou pral wè nan yon moman ke gen kondisyon ki gade tankou sa a. Epi sa a, kalite sansib paske anpil tankou nan pseudocode, nou dantle sòt nan U-ki gen fòm moso devinèt, vle di ki andedan anyen nan sa U se ale nan egzekite, oswa ou pa, sa depan de sou kote li ye. Se konsa, si Boolean ekspresyon, Lè sa a, tou sa ki andedan pral jwenn egzekite. Pandan se tan, gen nan yon blòk si / lòt bagay. Se konsa, si ou vle yon branch ki ale sa a fason oubyen ki, grate a ba nou sa. Lè sa a lojik, kounye a, menm si ke moso devinèt se byen klè twò piti bon rapò sere yon lòt bagay andedan nan li, moso yo devinèt grate, yo ap jis ale nan grandi. Lè ou trennen ak gout plis pase yon bagay, li pral jis grandi nan anfòm tou sa li se w ap eseye fè. Se konsa, nou ka pran de nan bagay sa yo ak fè yon fouchèt fason twa nan wout la pou ke ou swa fè sa, oswa ke, oswa bagay sa a lòt jis pa fè nich yo nan ki fason. Natirèlman, si ou fè sa twò anpil, li kòmanse jwenn lèd. Men, nan pwen sa a, w ap aktyèlman pwobableman pa pwogramasyon trè byen. Se konsa, ki pral renouvlab tèm, tou, sa yo ki an style. Jis nan ki pwen aktyèlman fòma Kòd ou a? Oubyen kòman pou byen ou desine Kòd ou a? Men, plis sou sa nan tan kap vini an. Epi, koulye a nou gen pasan. Genyen yon bèl pou tout tan bouk nan scratches ki literalman vle di ke - fè tou sa ki andedan sa a ankò, ak ankò, li ankò. Ou ka gen plis konkrè ak di, fè sa ki sa yo 10 fwa. Ou kapab tou itilize varyab. Ou ka vini ak nenpòt Non nan ki ti gout desann ak di, ban m 'yon varyab yo rele n ak mete li egal a kèk valè. Lè sa a, ou ka gen fonksyon. Men, plis sou sa yo ki nan jis moman sa a. Kite m 'ale tounen nan mwen Grafouyen koòdone. Men, kite m 'ale pi devan tan sa a. Li kite yo ale pi devan epi louvri moute, kite a di, yon egzanp ki soti nan - sa a, se yon ti kras plis enteresan. Kite m 'ale pi devan, ak, aktyèlman, kite m 'jis fè li tèt mwen. Mwen pa bezwen louvri yon sèl sa a. Kite m 'ale nan dosye, New. Mwen pral pou yo ale nan Evènman. Mwen pral pou yo ale nan lè drapo vèt klike, ak mwen pral pou yo ale nan son. Men, mwen pral trennen ak gout sa a moso devinèt, jwe Meow son. Li seri yo ansanm. Epi, koulye a, si mwen klike sou drapo a vèt - [SOUND Meow] DAVID Malan: adorable. OK, se konsa kounye a kite a fè yon bagay yon ti kras plis ki lojik jis demontre ke nou kapab, pou kounye a. Mwen pral ouvriers sa a soti nan ke nèg. Mwen pral pou yo ale nan kontwòl. Men, mwen pral gen tan pwan yon kondisyon. Se konsa, si yon bagay lè sa a. Se konsa, sa a, se ki jan li sanble la. Se konsa, mwen bezwen yon ekspresyon Boolean. Men, kite m 'ale pi devan epi di, kite m 'ale nan operatè yo. Mwen pral fè yon bagay yon ti kras mathy, jis pou anvwaye. Mwen pral yo ale nan isit la ak di, si yon bagay se mwens pase yon lòt bagay, ale pi devan epi fè yon bagay. Se konsa, kounye a, ou konnen ki sa, yon blòk o aza. Se konsa, remake ki jan, si mwen hover sou sa a bagay isit la, ki pral menen an la. Se konsa, koulye a, avi, mwen kòmanse fè yon bagay deja pi plis lojikman enteresan. Si yon nimewo o aza ant 1 ak 10 se mwens pase, se pou yo di sis. Si mwen chwazi pou sis, ki esansyèlman vle di, fè bagay sa yo ak 50% pwobabilite. Se tankou ranvèrsan yon pyès monnen. Koulye a, mwen ka fè yon bagay kondisyon. Men, ke yon bagay mwen pral fè se jwe son an. Se konsa, koulye a, lè mwen klike sou ekran an drapo, se tankou yo tap voye yon pyès monnen. [SOUND Meow] DAVID Malan: Li te chèf oswa etajèr la. Se pou yo fè l 'ankò. [SOUND Meow] DAVID Malan: tèt ankò. [SOUND Meow] DAVID Malan: tèt ankò. Phew, OK. Ke tan sa a. Se konsa, 50% nan moman an, si nou fè sa enfiniman lontan, nou pral resevwa 50% meows ak 50% tèr. Se konsa, gen, jis yon bilding debaz blòk ki pèmèt nou fè sa. Men, sa a se kalite fatigan ke mwen gen kenbe klike ke bouton. Se konsa, kite a jis trennen 'voye jete tout moun ki lwen. Si ou trennen yo nan mitan an, yo pral jis efase tèt yo. Kite m 'ale jiska kontwole. Kite m 'ale nan pou tout tan. Men, tan sa a, mwen pral fè yon bagay minorly anmèdan. [Ri] DAVID Malan: Se pou m 'ale pi devan epi fè kontwòl. Rete tann yon sèl, dezyèm lan, jis pou li pa twò griyaj. [SOUND Meow] DAVID Malan: Sa a pa natirèl. OK. [SOUND Meow] DAVID Malan: Lè avi sa ki, bèl sou grafouyen, pou moun nan nou ki gen eksperyans anvan pwogramasyon, ou pa bezwen yo kòmanse epi yo sispann. Ou pa bezwen konpile. Ou jis chanje li, ak pwogram lan ap adapte dynamique. Se konsa, sa a se jwenn yon ti kras ki enteresan. Men, kite a pran li yon sèl etap pi lwen. Kite m 'ale pi devan epi pou yo jwenn debarase m de pwogram sa a. [SOUND Meow] DAVID Malan: Sa a ki sa nou pral rele yon ensèk nan grate. Li pa ta dwe kenbe fè ki son. Se konsa, nou nou pral di l 'yo sispann. Tout dwa, se konsa koulye a, mwen se ale nan antre nan - Mwen pral kite MIT konnen. Nou pral ale sou isit la yo pou tout tan. Epi, koulye a, mwen vle fè yon bagay ankò e ankò. Mwen pral antre nan kontwòl. Li kite yo wè la a, mwen pral trennen si mwen kondisyon la. Se konsa, kounye a remake lojik la. Lè yo drapo a vèt klike, fè yon bagay pou tout tan, men se sèlman fè sa yon bagay si bagay sa a lòt se verite. Mwen pral pou yo ale nan, se pou yo di, kèk. Men, mwen pral ale pi devan epi chwazi manyen ak gout li a. Sa se yon ekspresyon Boolean. Koulye a, avi, nan sa a gout desann meni, gen kèk valè predefini. Se konsa, mwen ka di, ou menm ki manyen kwen nan ekran an? Oswa ou manyen konsèy la sourit, flèch la sou ekran an? Se konsa, mwen pral fè sa. Men, si se konsa, Lè sa a, mwen pral ale devan ak jwe son Meow. Se konsa, koulye a, mwen kalite gen nan kòmanse nan yon jwèt - yon jwèt adorabl. [SOUND Meow] DAVID Malan: OK, yon adorabl, jwèt buggy. Kite m 'rete tann, se pou yo di, yon sèl dezyèm la. Koulye a, jwe ankò, pa klike drapo a vèt. [SOUND Meow] DAVID Malan: Se konsa, kounye a li nan tankou karès yon chat. [SOUND Meow] DAVID Malan: Tout dwa, kounye a sa a yon sèl mwen t 'fè an davans. Trè an reta, li vin kalite fasil fè bagay sa yo estipid. Se konsa, kite m 'ale nan isit la. Se pou nou di, ki te bèt kay chat la. Se pou yo kounye a louvri pa bèt kay chat la. Koulye a, si nou jwe yon sèl sa a, ou ka devine, si ou gade nan ekran an - [SOUND Meow] DAVID Malan: Koulye a, si mwen karese chat la [Gwonde lyon] DAVID Malan: Se konsa, pa aktyèlman karese chat la nan ka sa a. Se konsa, kounye a nou jis gen yon egzanp yon branch ki k ap pase nan de direksyon. Koulye a, kite m 'ale pi devan epi louvri yon lòt isit la. Sa a yon sèl, tou, nan mitan sous nou yo Kòd dosye pou jounen an. Se konsa, kite m 'ale tounen nan Sous mwen anyè epi ale nan, se pou yo chwazi nèg sa a isit la ak wè sa ki nan diferan. Wow, tout dwa, se konsa kounye a li nan ap resevwa yon ti kras plis konplèks. Men, anvan nou wè sa ki nèg sa a fè, kite a eseye dégager, ki soti nan pwogram nan nan bò nan men dwat. Epi, koulye a grate byen klè pèmèt nou gen Scripts miltip, plizyè pwogram ki asosye ak yon sèl luten, ak yon sèl karaktè, ak, aparamman, yo ap tou de pral kouri nan lockstep. Paske tou de nan pwogram sa yo kòmanse ak lè vèt klik drapo, sa a se Sa anpeche nan yon sijè ki pi avanse, ak ki kèk nan ou ka yo konnen yo, li te ye kòm anfile, oswa milti-anfile. Vire soti, depi lontan istwa kout, òdinatè jodi a ka esansyèlman fè plizyè bagay sa yo nan yon fwa. Oswa yo ka fè yon sèl bagay nan yon moman konsa vit ke ou pa menm remake ke li la aktyèlman ap fè yon sèl bagay nan yon tan. Men, pou kounye a, se pou yo asime ke tou de pwogram sa yo yo ale nan egzekite nan an menm tan. Ak Avi, tou de nan yo gen pou tout tan devinèt miyèt moso. Se konsa, yo ap tou de ale nan kenbe kouri jouk tan mwen frape siy pou kanpe a wouj. Se konsa, sa yo yo ale nan? Sou bò men gòch, mwen se aparamman deklare yon varyab rele muet. Se konsa, mwen pa t 'rele l' yon bagay tankou raz tankou pèsonaj mwen rele l 'muet sa a tan yo bay siyifikasyon. Mwen mete l 'egal a zewo. Se pou nou panse sa Fo kòm, oswa kite a panse a ki Fo kòm. Koulye a, pou tout tan fè bagay sa a. Si yo ba espas klavye a nan bourade, Lè sa a, si muet egal zewo, Lè sa a, chanje muet nan yon sèl egal-ego. Lòt Bagay, mete muet a zewo. Se konsa, lojikman, menm si sa a, se yon antye pakèt moun sou moso devinèt sa a, se jis di, lè mwen frape bar nan espas, sa ki ta dwe m 'fè ak varyab la rele muet? Chanje li soti nan yon a zewo, oswa zewo nan yon sèl. Sa a tout. Se konsa, li tankou vire yon switch limyè limen oubyen etenn epi sonje, ak yon varyab, ke mwen te fè sa. Pandan se tan, sou bò nan men dwat, nan tèm pwofàn la, ki sa ki bi pou yo script la sou bò dwat la? ELÈV: Pou jwe son an lyon lanmè. DAVID Malan: Pou jwe lanmè lyon son, si li se pa muet, pa nati varyab sa a. Se konsa, nou ap pataje nan eta a, se konsa pale, pataje enfòmasyon nan tout sa yo de Scripts paske, remake isit la, nou se pou tout tan ap fè sa ki annapre yo. Si muet se zewo, se konsa si li pa muet - si muet se fo, Lè sa a, jwe sa a son lyon lanmè. Men, panse nan tèt ou, hi, hi, hi, pou de segonn, tann yon ti moman, ak Lè sa a, tcheke ankò. Se konsa, si n 'al jwenn kounye a sou isit la sou bò goch la, nan kote sa a Guy se, ak frape a vèt drapo, [SEA LION SOUND] DAVID Malan: Nan ki moman fè sa a jwenn vrèman anmèdan? Paske sa a pral jis ale sou pou tout tan. Se konsa, pafwa, pasan enfini, se konsa pale, se ekspre. Men, nan ka sa a, le pli vit ke mwen frape bar nan espas, li sispann. Koulye a, pwogram lan pa te kite. Li nan toujou kouri nan sa yo pasan. Men, si mwen jwenn bar nan espas ankò - [SEA LION SOUND] DAVID Malan: Li k ap pase yo chwazi moute kote l 'sispann. Se konsa, gen se yon fason pou nou fè yon bagay ankò e ankò, men, ki tan, se sèlman kondisyon. Oke, pandan ke nou ap nan sa a venn pou fè bagay sa yo ankò e ankò, kite m ' ale nan yon lòt egzanp sa yo isit la. Sa a yon sèl nou pral rele konte mouton. Ak Avi sa nèg sa a fè. Li nan aktyèlman yon ti jan pi plis tankou nan pseudocode nou te jwe ak sou Mèkredi, kijan li te kouche kèk vann san preskripsyon, panse a li se kòm N ankò, yo zewo, li pou tout tan fè sa ki annapre yo. Li di valè kontwa an la pou yon sèl dezyèm lan, tann yon dezyèm fwa, ak Lè sa a, chanje kontwa an pa youn. Ak nan kontèks sa a, ki jis vle di ogmantasyon li. Se konsa, li ajoute youn nan li. Se konsa, sa a se literalman - li pa byen sa nou panse nan kòm konte mouton. Li nan bann mouton li yo ap fè konte a, pou tout tan, moute soti nan zewo. Se konsa, nou ka fè bagay ki sanble la, lojikman. Men koulye a, se pou yo eseye netwaye kèk nan bagay sa yo moute. Kite m 'ale devan kounye a nan yon senp egzanp kote chat nou se jis ale nan kòmanse touse. Tout dwa, se konsa isit la nou gen tous 0 - syantis konpitè kòmanse konte soti nan 0. Se konsa, sa a chat se jis ale yo touse twa fwa. Men, isit la nan ki jan mwen aplike sa. Lè yo vèt drapo klike, tous, rete tann, ap touse, rete tann, ap touse, rete tann. Apre sa, mwen te fè sa jis pa trenen ak jete moso devinèt. Oswa si w kòmanse Tinker ak grate, ou pral wè ou kapab aktyèlman kopi moso pou ke ou ka fè bagay sa yo pi vit san yo pa trenen ak jete nauseum anons. Men, nou pa sou wout la pi byen isit la. Paske jan mwen fè l ' ap touse yon tan katriyèm? Oke, mwen te kapab sòt de desann isit la. Mwen te kapab kopi ak Lè sa a, kole sa a nan la. Kouman pou mwen fè l 'ap touse yon tan senkyèm? Oke, kopye epi kole ankò. Oswa trennen gout ankò. Men, trè byen vit, pwogram sa a kòmanse jwenn reyèlman, reyèlman redondants, reyèlman long, men vrèman entérésan. Men, gen se yon fason nan pwòp sa a leve. Ki sa ki nan wout la evidan nan pwòp sa a leve? OK, se konsa nou te ka aktyèlman vrèman ale deyò epi yo, lè ou frape espas ki la ba yo, yo gen l 'ap touse. Men, si mwen jis vle fè yon bagay repetitively, sonje ke nou gen kèk kontwòl konstwi. Kite m 'deplase sa a soti nan la fason sa a, ale anba kontwòl. Kite m 'jis fè yon repete, di, an twa fwa. Epi, koulye a kite m 'vòlè kèk nan sa yo moso devinèt. Kite m 'menen sa a nan isit la. Kite m 'voye jete sa yo lwen tout ansanm. Epi, koulye a, mwen gen yon pi bon ki fèt nan pwogram nan. Poukisa? Si m 'vle chanje kantite fwa sa a touse chat yo, tout mwen gen yo se chanje yon varyab, oswa valè yon sèl, olye nan twa, a kat, oswa senk, oswa sis. Oswa mwen te kapab fè yon bagay kondisyon, menm, ak espas ki la defann si mwen te vle. Se konsa, sa a se yon prensip jeneral. Yon fwa ou kòmanse w kopye e kole Kòd, si li la nan grafouyen, oswa nan C, w ap fè yon bagay sa ki mal, gen plis chans. Oswa omwen, yon fwa ou te depase kèk nimewo ki rezonab kopi ak kole, w ap pwobableman fè yon bagay mal. Men, ou konnen ki sa? Mwen pa fè sa vrèman tankou sa a. Sa a se pa konsepsyon an propr. Mwen swete te gen yon moso devinèt yo rele ap touse paske lè sa a mwen pa ta gen aplike sa a tèt mwen, fin vye granmoun wout la alamòd, pa li te gen di, epi rete tann - sa yo si yo te jis yon moso devinèt tous. Bon, mwen ka aktyèlman fè sa. Kite m 'ale anba plis blòk, klike sou Fè yon blòk, epi kounye a mwen jwenn sa a fenèt isit la. Mwen pral rele sa a tous bagay. Mwen pral ale pi devan epi klike OKE. Epi, koulye a avi, mwen jwenn yon kòmanse nouvo moso ki nan yon fòm koub sou tèt la. Ak sa ki mwen pral fè ak sa a, mwen se ale nan jis vòlè sa yo blòk. Mwen pral mete yo isit la. Epi, koulye a, ki gen twa pyès sa yo, mwen te aplike sa mwen pral rele yon fonksyon, oswa pwosedi yon, oswa kèk nan ou ta ka konnen li kòm yon metòd. Diferans ti tay nan mitan mo yo. Men, pou kounye a, kite yo jis rele sa a yon fonksyon. Sa a se jis yon moso devinèt nouvo. Koulye a, li se aplike tankou sa a. Men, remake ke scratches te ban nou yon fizik reprezantasyon nan ke tout bloke sou isit la. Se konsa, koulye a, mwen ka jis trennen sa a sou isit la, di, repete twa fwa, ak sa ki pral rive koulye a, lè mwen jwe sa a script, se sèlman yon sèl pwogram ap kouri nan yon tan. Genyen sèlman yon sèl lè vèt drapo klike. Men, ki blòk koulè wouj violèt rele tous se efektivman di grafouyen, chak fwa ou wè ke moso devinèt, aktyèlman egzekite etap sa yo ke mwen rive aplike manyèlman. Se konsa, ki nan kalite byen òdone. Men koulye a,, ann sipoze ke mwen deside, mwen pa fè sa vle sa a chat jis ap touse. M 'vle li kapab si w ap estènye kòm byen. Oke, ki jan nou ka ale sou mete ann aplikasyon etènye? Oke mwen te kapab bèl anpil fè menm bagay la. Mwen te kapab fè yon lòt blòk. Mwen te kapab rele sa etènye, klike sou OK. Lè sa a, sou isit la mwen te kapab aktyèlman yo te, kite m 'kopi sa a - ak gen nan kote ou ta dwe santi tankou w ap pwobableman pa fè yon bagay nan fason ki pi bon. Mwen te kapab di yon bagay tankou, achoo, pou yon dezyèm fwa. Rete tann yon dezyèm fwa. Koulye a, mwen gen yon blòk nouvo rele etènye. Ak tout bon, gen li se. Men, sa a, tou, ta dwe kòmanse santi - petèt pa nan premye semèn nan klas, men pa dezyèm lan - jis yon redondants ti kras. Klèman, gen kèk èkse isit la. Se konsa, kite m 'pwopoze, olye de sa, ke nou rafine definisyon sa a jan sa a. Kite m 'ale jiska meni dosye mwen. Mwen pa pwal pou konsève pou vèsyon sa-a. Mwen pral antre nan youn nan dosye premade m 'isit la. Men, mwen pral ale pi devan epi louvri moute tous 2. Whoops ki te tous 2. Kite m 'ale pi devan epi louvri moute tous 3, ki se anyè sa a sous. Touse 3 ak remake - o, mwen te di istwa a nan lòd la mal. Kite m 'retabli de istwa sa a. Istwa a mwen vle di ke yo di fini ak tous 4 - gen li se. Se konsa, sa si mwen, olye de sa, defini yon moso devinèt pi gwo rele defini, di mo n fwa. Etènye se jis, aparamman, nan grafouyen, achoo. Se konsa, nou eksprime li kòm yon mo, jis paske sa a, se la contrainte nan pwogram nan. Ak yon tous se [TOUS], men tous, C-O-U-G-H. Se konsa, sa se sèlman de mo diferan fè, esansyèlman, menm bagay la. Se konsa, mwen ka aktyèlman fè yon nouvo blòk tankou sa a. Mwen pa t 'sèvi ak opsyon sa a meni anvan. Men, lè ou klike sou Fè blòk, ou ka chwazi kèk opsyon. Epi ou ka di ke sa a blòk aktyèlman pran kèk entrain, otreman li te ye kòm agiman, oswa paramèt, se konsa ke ou ka modifye konpòtman an nan blòk ou. Se konsa, sa m 'te yon ti moman de sa te Mwen te rele sa a blòk di. Lè sa a, mwen te di, li pran yon kòd opinyon. Epi, koulye a avi, pa default, li di fisèl 1. Yon fil se jis yon mo, oswa yon fraz, pou rezon nou an. Men, mwen jis ale nan mete kèk tèks kontneur la, jis tankou nan yon sit entènèt, lè ou wè non itilizatè, oswa modpas, ak Lè sa a, li disparèt lè ou kòmanse sezisman. Sa a tout sa ki. Epi, koulye a mwen pral ajoute yon D 'nimewo. Men, mwen pral rele sa n - men sa a trè abitrè. Lè sa a, jis yon etikèt sou, jis fè sa a blòk yon ti kras plis pwòp tèt ou eksplikasyon - fwa, se sa ki mwen jis te fè. Men, rezilta nan fen se ke mwen jwenn yon blòk ki sanble tankou sa a. Epi, koulye a remake, mwen lè l sèvi avèk yon blòk repete. Men, olye ke difisil kodaj twa, mwen se trenen ak jete n nan gen Se konsa, mwen ka paramètres fonksyon an. Mwen ka fè fonksyon sa a fè yon bagay yon kantite diferan nan fwa ki baze sou ki valè. Ak Avi, di, sa a se sa m 'te isit la, si mwen trennen mo, mwen kapab di se pa yon difisil mo kode, men tou sa se te pase nan pou yon dezyèm fwa. Pandan se tan, ki jan mwen re-aplike ap touse? Mwen olye defini tous kòm li di tous n fwa. Se konsa, nan kout, m ap ale atravè tout sa a byen vit, men lide a debaz la se pi vit kòm ou kòmanse wè nan pwogram ou an ki, rete tann yon minit, mwen te fè yon bagay byen tankou sa a anvan, mwen ka faktè soti kèk komen fonksyonalite? Èske mwen ka dekonpoze sa m ap fè nan kèk lide debaz? Sa a ki sa n ap fè isit la. Apre sa, mwen te anpile bagay sa yo, vizyèlman, sou tèt youn ak lòt paske li nan siyen kontra Bondye a ki lide nan kòmanse ak binè, ale nan ASCII, fè pwogram grafik, sòt de stratifikasyon de pli zan pli konplèks lide sou tèt youn ak lòt. Menm lide isit la. Mwen te kòmanse nan grate, mete ann aplikasyon touse, Lè sa a, touse reyalize se vrèman jis li di yon bagay. Se konsa, kite a mwen olye pou aplike nosyon nan li di yon bagay. Yo, epi sou tèt de sa, mwen ka aplike achoo, oswa tous? Men, nou te ka fè plis tankou varyant toujou. Se konsa, ki soti nan prensip sa a debaz yo, nou kapab kòmanse fè de pli zan pli pwogram konplèks. Kite m 'louvri moute yon sèl sa a. Nou ka gen aktyèlman sprites miltip kominike sou ekran an nan yon fwa. Si m 'antre nan anyè sous mwen yo ak gen tan pwan yon sèl Threads rele, sonje ke yon fil se jis vrèman kapasite a nan de Scripts kouri bò pa bò an menm tan an. Avi kounye a, gen tou de yon zwazo luten ak yon chat luten, tou de nan yo ki gen Scripts pwòp yo. Se konsa, avi, lè mwen klike sou la chat, mwen jwenn sa yo Scripts. Lè m 'klike sou zwazo a, Mwen jwenn sa yo Scripts. Se konsa, chak nan sa yo nèg gen pwogram pwòp tèt li. Lè m 'koulye a klike sou drapo a vèt, remake ke sa pwogram sa a fè, se gen chat la, ekstrèmman dousman, kouri dèyè zwazo a. Men, chat la gen avantaj la pou yo gen te pwograme nan yon fason ki pa gen matyè kote zwazo a se, chat la ale nan direksyon l '. Nou ka jwe jwèt sa yo pi vit. Se konsa, si mwen se sou chat la, remake ke mwen se lè l sèvi avèk, se pou yo di deplase yon sèl etap. Se pou yo gen l 'deplase senk etap nan yon tan, se konsa senk pwen nan yon tan. Kite m 'klike sou jwe. [Gwonde lyon] DAVID Malan: Tout dwa, kounye a nou kapab vrèman bay chat la avantaj la. 10 etap nan yon tan. [Gwonde lyon] DAVID Malan: Tout dwa, se konsa trè byen vit, li vin yon avantaj ti kras pou chat la. Men, mwen pral balanse men m 'nan kèk nan detay yo. Men, rezon ki fè ke chemen an se kòmanse yon ti kras diferan chak fwa se ke m ap fè yon ti jan nan aleyatwa. Mwen aktyèlman montre chat la nan yon diferan direksyon ki baze sou kote mwen vle l 'yo kòmanse pou ke chak fwa jwèt la, oswa animasyon a, se yon ti kras ti jan diferan. Koulye a, kite m 'prezante yon sèl lòt konstwi isit la. Se konsa, nan ka sa a, nou te gen fonksyon. Genyen tou pral gen yon moso devinèt li te ye kòm yon etalaj, oswa yon lis, ki pèmèt ou nan magazen miltip valè andedan nan yon varyab. Nou te wè fil, epi kounye a gen nan Evènman. Se konsa, isit la nan yon evènman lè l sèvi avèk mesye sa yo de isit la. Men, si mwen louvri moute dosye a rele Evènman soti nan egzanp jodi a, n ap wè yon pwogram ki sanble yon ti kras tankou sa a. Epi, koulye a remake sa a Guy - se konsa avi mwen gen ble a Muppet klike - li sèlman fè sa ki annapre yo. Li pa gen youn nan moun ki moso vèt devinèt drapo. Li gen yon lè mwen resevwa evènman - Se konsa, kèk mo abitrè. Mwen jis tape soti evènman gen - li te ale nan di, Polo, pou de segonn. Se konsa, moun nan nou ki yo abitye avèk jwèt sa a ka konnen kote sa a se pral. Si m 'koulye a klike sou Muppet la zoranj, pwogram li yo fè sa a. Pou tout tan, si bar nan espas klavye siprime, se li ki pral di, Marco, pou de segonn sou ekran an. Men, li la tou ale nan sèvi ak sa a amateur bloke li te ye kòm difizyon. Li k ap pase nan emisyon quote unquote, "evènman." Pandan se tan, nèg la ble, sonje, se koute pou unquote quote, "evènman." Se konsa, yon jan kanmenm, kounye a, nou ka gen de sprites kominike. Lè nou ale nan pwogram entènèt, pita nan tèm nan, menm sa a pral gen avantaje yo gen sit entènèt ou a fè yon bagay an repons a, pou egzanp, yon klike nan klavye la. Se konsa, kite m 'ale pi devan epi frape bar nan espas. Orange nèg di Marco. Blue nèg di Polo. Si m fè l nèg ankò zoranj di Marco, ble nèg di polo. Se konsa, kite a pran etap sa a yon sèl pi lwen. Tan sa a, nou pral ale, pwobableman, jis yon kèk plis minit isit la. nou genyen - lanp biwo, vin sou desann. Ou gen rezon sou fen a. OK, ou ka tou de vini. Nou gen lanp biwo pou tout moun. Vini non sou. Mwen pa konnen si nou ka kenbe sa a Bayonne ridikil moute tout semès, menm si. Tout dwa, vin sou desann. Ak nan entre-temps la, nou gen la swiv egzanp ki rale moute, jis akselere bagay sa yo koulye a, sa yo ki nou gen yon manifestasyon soti nan yon lòt predesesè sa a pou ou lè l sèvi avèk la menm blòk bilding debaz yo. Ki sa ki nan non ou? JOHN: Jan. DAVID Malan: Jan. Nice m 'ou. Lè? SETZ: Setz. DAVID Malan: Setz, bèl m 'ou. John, si ou ta renmen vin moute premye, sa a se yon fin vye granmoun jwèt lekòl yo te rele frogger. Ou sèvi ak klavye a pou sa a kòm byen. Men, objektif la se jwenn atravè lari a ak dlo. [Frogger mizik ak jwe SOUND] DAVID Malan: Mwen regrèt, pa gen okenn lanp biwo pou ou jodi a. Tout dwa, Setz, ou ta renmen vini sou fè a? Tout dwa, se pou yo fè l 'ankò. SETZ: Mwen sèvi ak flèch yo? DAVID Malan: Jis kle yo flèch. Leve, desann, agoch, adwat. [Frogger mizik ak jwe SOUND] DAVID Malan: Nou pral rele yo ankourajman prim jodi a, lè sa a, trè byen fè. Isit la, pou tou de nan nou Jan, yo Setz. Konpliman yo, tout dwat. Se konsa, ankò, kòm jwèt sa a jwe, reflechi sou sa k ap pase sou? Youn, gen nan byen klè yon anpil nan mouvman. Men, nou te wè ki jan, ak chat la a ak zwazo egzanp, ki jan ou ka fè nan ilizyon nan mouvman pa jis k ap deplase kèk kantite piksèl ankò e ankò. Men, si ou gen yon blòk pou tout tan, ou ta ka genyen sa yo machin fè sa pou tout tan. Nou gen kapasite nan gen kèk aleyatwa. Se konsa, jwèt sa a pa dwe fè egzakteman menm chak fwa a. Moun sa yo ki mòso bwa, sa yo ki machin, ka kòmanse nan yon ti kras diferan fwa se konsa ke nan jwèt tèt li se pi plis enteresan avèk chak jwe jwèt. Men, Pandan se tan, nou te wè kapasite nan pou koute bar nan espas. Men, byen klè, nan grafouyen, kapab nou menm tou nou koute pou jiska desann,, agoch, adwat, ak reyèlman nenpòt ki kle sou klavye a. Epi ou ka tou fè kèk lòt bagay. Kite m 'ale pi devan epi tounen vèsyon an sou entènèt. Kite m 'ale nan koleksyon nou nan egzanp isit la. Ak anba Studio m 'yo, videyo ki se, esansyèlman, yon katab sou scratch.mit.edu. Nou gen vèsyon yo entènèt nan tout nan pwojè sa yo. Li kite yo wè si mwen kapab resevwa m ' òdinatè pou kolabore pou isit la. Sa a se ekri pa youn nan zanmi nou yo nan MIT, ki rele Deplase Papiyon la. Ak yon lòt fwa sa a ouvè, sa a se ale nan aktyèlman sèvi ak plis nan pyès ki nan konpitè òdinatè mwen an. Grafouyen k ap pase nan kapab aplike ak Flash. Flash ka pale ak webcam ou a, si w gen youn. Se konsa, si mwen ale pi devan epi ekran plen sa a isit la, klike sou drapo vèt, avi a ki mesaj sekirite Flash la ap di, ou vle pèmèt yo sèvi ak webcam mwen an? Nòmalman, ou ta dwe pwobableman di Refize. Men, nan ka sa a, n ap di pèmèt. Lè sa a, mwen pral di Chrome yo ki pèmèt sa a kòm byen. Epi, koulye a, nan jis moman sa a, ou wè m ', wi, m'. Men, si men m 'ap moute - Mwen te gen pa pou avanse pou pi m ' tèt an menm tan an. Genyen tou yon refleksyon sou ekran an. Vini non sou, gen nou ale - ou kapab deplase li sou ekran an paske gen tou moso devinèt - oh, ou konnen ki sa li se, li la paske nou menm tou nou wè ekran an pwojektè dèyè do m '. Se konsa, nou gen yon enfini ti kras bagay pral sou la. Tout dwa, se konsa mwen pral jwe desann isit la. Gen nou ale. Se konsa, gen nan tou yon moso devinèt ki di, lè ou wè mouvman anba youn nan sprites yo, ou ka gen li ale leve, l 'atè, agoch, adwat oswa renmen an. Se konsa, nou gen yon ti jan nan reyalite vityèl ale sou isit la kòm byen yo, tout nan la limit nan navigatè m 'yo, jis isit la lè l sèvi avèk webcam mwen. Se konsa, sa ki nan Lè sa a, sou orizon an. Seri nan pwoblèm premye, kòm ou pral wè, oswa sou sit wèb la pral ale sou entènèt pita aswè a nan cs50.net, se trè anpil yo pral louvri te fini. Epi aplike yon pwojè scratches nan enterè ou, yon jwèt, yon entèraksyon, yon bagay atistik, ak defi tèt ou yo sèvi ak nenpòt ki kantite nan sa yo moso devinèt. Epi li ka swa gen entèaktif nan fason sa a. Oswa li kapab yon bagay ki pi fè espre te fè nan rakonte yon istwa. Ak tout bon, ki nan kote nou pral fini sou jodi a, ak yon sèl egzanp final la. Kite m 'ale nan scratches lokalman. Kite m 'ale pi devan epi louvri sa a, epi yo jwe yon dènye pwogram ekri pa yon sèl ki te chèf anvan ou, sètadi ke yon moun isit la. Bon, ogmante volim nan pou yon sèl sa a. [Jwe mizik] Konteur: Nan CS50 kap vini an, David envite yon volontè Sur. DAVID Malan: Pou sa a demonstrasyon, nou pral bezwen yon volontè. Èske ou ta renmen vin sou desann? Ki sa ki nan non ou? Deplase sou.