[MIZIK jwe] Sa a se CS50-- Harvard entwodiksyon Inivèsite a entelektyèl nan antrepriz nan syans òdinatè ak atizay la nan pwogram. Apre sa, non mwen se David Malan, ak Mwen te jis panse sa a maten, li te gen étonant 20 ane jodi a depi dènye chita kote ou nèg fè kounye a. Li te 1996. M 'te yon sophomore, epi mwen te pran CS50 pou tan an trè premye. Apre sa, mwen pa te menm vinn moute nè a yo pran l 'tèt mwen ane nevyèm ane, an pati paske nan moman an. Odinatè syans m ' te kalite renmen, me. M 'te yon ti jan nan yon geek ap grandi moute, men mwen pa t 'reyèlman gen nenpòt entelektyèl enterè nan sa ki parèt jis gen yon pakèt antye nan moun pwogramasyon tout tan tout tan an. Apre sa, mwen te pè yo dwe onèt. kou ak òdinatè syans nan plis jeneralman te gen ak nan yon sèten mezi, toujou gen sa a repitasyon nan yon jaden nan pran prekosyon, si sèlman paske se konsa anpil nan nou se enkoni ak li epi li toutafè si sou li. Lè li vrèman pa t 'jouk mwen vin achte klas sa a ki sophomore fall-- e menm si sa, mwen sèlman ki enskri paske professor-- la youn nan konseye premye fwa mwen, Brian Kernighan kounye a nan Princeton-- pèmèt m 'nan pran pas la klas febli. Ak tout bon, Se poutèt sa jodi a nou pèmèt epi ankouraje elèv yo pran klas sa a chita / unsat. Ak sèlman lè sa a, pa nan nan fen semès la mwen te reyalize tankou, wow, sa a pa t 'tankou yon jaden abitye. Vreman vre, sa a te yon trè abilite jaden, ak plis ankò excitingly, espesyalman pita sou, jan mwen te kou nan Art dramatik 101 ak Latin Yon ak Lè sa a evantyèlman grad akeyoloji lekòl la, t 'Mwen vrèman kòmanse wè nan entèseksyon nan jaden sa a, òdinatè syans, ak syans imanitè yo, syans natirèl, atistik-la, medikaman, ak renmen an. Se konsa, sa a, se sa ki nan jis pou pwòp sou syans òdinatè finalman, kòm nou espere ou pral see-- se Application li yo nan lòt jaden yo sa yo, ak ki jan ou kapab pran ti gout nan jodi a ak semès la ide ak ladrès pratik tounen nan domèn pwòp ou a, ak aktyèlman eksplore entèseksyon sa a nan travay atistik yo liberal ak syans yo. Se konsa, 73% nan nou, si dènye ane se okenn endikasyon, pa janm te pran yon kou CS anvan. Se konsa, si, tankou m ', se ou ki santi yon ti jan ti kras pè, oswa franchman ou pa reyèlman asire w ke poukisa w ap menm isit la. Petèt ou jis swiv kèk zanmi nan men Sanders kounye a. Sa a totalman amann. Objektif la isit la se yo zen ou menm ak rasire ou ke si ou gade nan bò gòch la ak sou bò dwat la, w ap ale nan wè kamarad klas ak kòm eksperyans ti kras oswa ki kòm anpil ke ou tèt ou ka genyen. Ak tout bon, nou pral pataje kèk demografik pita jodi a tankou sa ki démographie yo nan klas la tipikman sanble. Antan te ajoute reassurance-- epi nou sa a vle di depi m 'te pran plis pase kou a kèk ane ago-- nan progranm kou a nan se sa a men ki sa ki finalman zafè nan kou sa a se pa tèlman kote ou fini moute relatif nan kamarad klas ou, men ki kote ou nan semèn 11, nan fen a semès, fini relatif nan tèt ou nan semèn 0, ki se kote nou la a jodi a. Lè sa a se sa m 'reyalize tout moun sa yo ane de sa. Apre sa, mwen konnen yon anpil nan klas di sa a, men li la laverite espesyalman nan syans òdinatè. Nan fen jounen an, jaden sa a se abitye jan li te ye m ' ak ta ka nou la a, se reyèlman jis sou rezoud pwoblèm. Ak jan sa yo, li gen sa a Application yo ka resevwa jaden yo ak lòt. Men, an reyalite, si nou te eseye distile ki sa sa a vle di, sa a se rezoud pwoblèm nan sans li yo, mwen daresay. Genyen input-- se konsa tou sa li se ke ou ap eseye rezoud. Genyen pwodiksyon, ki se èspere ke solisyon an ak sa yo ki pwoblèm. Lè sa a,, menm jan nou ta di nan syans òdinatè, gen nan bwat nwa sa a nan la mitan ke ou fè pa nesesèman gen pran swen sou kijan li fonksyone. Ou menm, ou evantyèlman ta ka aplike sa ki andedan ki bwat. Men, pou rezon jodi a ak plis ankò jeneralman nan lavi yo, tout sa ou pran swen sou se ke pwoblèm sa yo jwenn rezoud. Ak sa ki kou sa a se finalman sou se eksplore entèseksyon an nan entrain sa yo ak rezilta, ak sa yo sa yo rele algoritm, menm jan nou pral byento wè, ki aplike ki sa ki anba a, kapo a. Men, entrain sa yo ak sa yo outputs-- sa ki aktyèlman vle di? Oke, nan fen a nan jounen an, nou bezwen kèk fason pou reprezante enfòmasyon. Sa a se laverite espesyalman nan yon òdinatè, ki kòm anpenpan ak konplèks kòm li ta ka sanble, se yon aparèy bèl bèbè. Li pran electricity-- si wi ou non soti nan yon kab oswa yon batri kòm input-- ak Lè sa a li pwodwi kèk repons preprogramed sou ekran an. Men, ki jan nou jwenn nan kòmanse a fini la? Oke, sa k ap yon pwoblèm dwe rezoud? Oke, petèt nou ta ka, nan kòmansman an nan nenpòt ki semès, eseye pran prezans nan yon chanm tankou sa a. Se konsa, mwen ta ka fè tankou yonn, de, twa. Oswa petèt, si mwen te fè li sòt de kenbe tras nan moi nan kenbe tras nan things-- Mwen te kapab byen vit kouri soti nan dwèt. Se konsa, mwen ta ka jis fè regle marks-- youn moun, de, twa, kat, senk, sis, sèt, uit. Apre sa, tout moun nan nou te pwobableman gen fè a, si wi ou non sou men ou oswa sou yon moso papye. Lè sa a se aktyèlman jis yon bagay yo rele unèr Notasyon kote si ou gen yon sèl lèt nan alfabè ou, youn oswa regle make nan ka sa a, pou chak D 'ou vle konte, ou bezwen mete desann youn nan sa yo letters-- youn nan mak sa yo. Tout dwa. Sa a tout amann ak byen ak sa ki pa tout sa ki konplike. Men, òdinatè yo se pa tout ki pi plis konplike. Vreman vre, pi fò nan pwobableman ou konnen menm si ou te pa reyèlman konsidere kòm sa sa vle di, ki òdinatè sèlman konprann zewo ak ones-- sa yo rele sistèm nan binè. Nou moun, pa kontra, yo, se pou pi plis sofistike tèl degre jan nou konprann zewo nan nines. Men, menm si binè se, nan premye gade, pa tout sa ki yo konnen yo, li vire soti li nan jis tankou sistèm yo ak lide sa yo ke nou deja konnen. Se konsa, pou egzanp, konsidere sa a. Sa a se jis yon sekans nan senbòl. Apre sa, tout nan nou, lè ensidan nan li, pwobableman panse 123-- pa gen anyen reyèlman enteresan la. Men, poukisa se li nimewo sa a, 123? Sa yo se sèlman glif sou screen-- a jis modèl ke yon moun ta ka te trase oswa tape. Men, si w ap tankou m ', ou pwobableman sonje nan lekòl klas yo ke gen sòt de kolòn oswa kote isit la. Genyen plas youn nan ak nan plas dis an ak kote san an. Ak rezon an ke sa a se 123 ak pa jis yon modèl nan twa senbòl se paske, nan kou, si nou gen yon yon sèl nan plas la san moun, ou fè matematik la nan 100 fwa yon sèl, ak Lè sa a de nan plas dis an. Se poutèt sa se 10 fwa 2, ak Lè sa a twa nan plas yon sèl la ak sa a, se 1 fwa 3. Men, lè ou ajoute tout moun ki leve, nan kou, ou jwenn 100 plis 20 plis 3. Se konsa, nou te kòmanse avèk jis yon modèl nan symbols-- yon alphabet-- men lè sa a nou trase siyifikasyon sou li pa fason pou kolòn sa yo. Oke, li sanble ke òdinatè yo se reyèlman pa tout sa ki diferan de m 'avè ou. Men, olye pou yo lè l sèvi avèk pouvwa nan 10, se konsa yo speak-- 1, 10, 100, 1,000, 10,000 plas ak pou forth-- yo aktyèlman jis itilize pouvwa nan 2-- se konsa yon sèl, 2, 4, ak Lè sa a si nou mete plis chif, 8, 16, 32, 64, 128, ak pou fè. Se konsa, sa a se ki jan yon òdinatè ta ka repwezante nimewo a 0, jis tankou nou moun. 0, 0, 0-- epi ou ka pwobableman devine sa modèl nan zewo ak inite, si yon òdinatè kapab sèlman pale 0 oswa 1-- sa modèl ki pral reprezante Nimewo nou moun yo konnen kòm 1? Yeah-- 0, 0, 1. Tout dwa. Se konsa, 0, 0, 1 se ki jan nou reprezante 1, se konsa ou ka enkline Lè sa a, ki reprezante nimewo a 2, si ou gen plas kat la ak kote de la kòm kote nan yon sèl, ou ta ka di, byen, si nou te gen yon 1 nan plas yon sèl nan a, e kounye a, nou vle konte jiska 2, ou ta ka fè sa, epi kite sa a yo dwe yon zewo. Men, nan kou sa a se pa ki jan sistèm an desimal travay swa. Si ou mete yon chif nan tou de nan sa yo kolòn, ou te gen fè aritmetik la. Se konsa, sa mwen te nimewo aksidantèlman jis reprezante? Se konsa, li 3, paske 2 fwa 1 plis 1 fwa 1, nan kou, ba nou twa. Se konsa, sa a ta ka de. ti jan nan sòt de viraj, se konsa pale, kòm 0 vin tounen yon yon sèl, anpil tankou yon 9 wòl sou ak vin tounen yon 0 lè ou pote 1 an. Sa a Lè sa a, ta dwe twa nan kou. Four-- yon lòt bagay enteresan k ap pase, kote yo menm ki woule sou epi ou pote 1 an, se konsa pale. Se konsa, sa a, nan kou, se 4. Men, si ou vit pou pi devan koulye a, sa ki nan nimewo a pi gwo pral yo dwe ki yon òdinatè ka reprezante? Se konsa, li jis sèt nan ka sa a, dwa? Paske ou gen yon yon sèl nan kat la, yon yon sèl nan de a, yon yon sèl nan yon sèl la. Se poutèt sa se 4 plis 2 plis 1. Se konsa, ki ba ou sèt. Ak tout bon, li ta sanble nan premye gade ki òdinatè ka konte pa pi wo pase sa a. Men, sa a nan kou se pa vre. Ki sa nou moun fè lè nou vle yo konte pi wo pase tankou 999? Jis pote yon sèl la ak jis ajoute yon chif katriyèm sou bò gòch. Se konsa, tout bon nou te kapab. Nou te kapab gen yon uit a mete ak kote yon 16th a, ak kote yon 32 an, 64, 128-- epi ou ka jis kenbe prale sou jiska Infinity. Se konsa, zewo sa yo ak ones-- sa yo rele system-- a binè yo se sa ki yon syantis òdinatè ta jeneralman rele yon ti jan, oswa binè chif. Men koulye a,, ki jan nou jwenn nan la konsèp oswa grafik yo ki nan bagay sa yo nan yon òdinatè aktyèl? Nou sanble yo dwe sote yon etap isit la. Oke, D 'a sèlman nan fen nan jounen an, nan konpitè pòtatif m 'isit la se sa a koule nan elektrisite. Menm si li te gen yon long tan depi ou te panse sou oswa pa janm te panse sou ki jan elektrisite ap travay, gen nan elektwon ap koule tankou dlo nan oswa soti, e ke sa a kalite m 'lan nan opinyon. Se konsa, si sa a, se tout sa ki nou ap ap resevwa kòm opinyon isit la, sa nou kapab fè ak enfòmasyon sa? Bon, nou ta ka panse nan yon zewo kòm jis yon absans nan elektrisite. Pa gen anyen ki flowinw, pa gen anyen se k ap deplase, pa gen anyen k ap pase. Se jis default la state-- zewo. Men, si gen elektrisite ap koule tankou dlo, poukisa pa fè sa nou jis abitrèman, men globalman toujou, rele ke yon yon sèl. Se konsa, tou senpleman pa ki pa gen pouvwa a, nou gen yon zewo, repons lan se wi pouvwa a, nou gen yon yonn-okenn pouvwa, wi pouvwa. Ak nan fason sa a, lè l sèvi avèk yon bagay plis fizik oswa elektwonik nou kòmanse aplike sa a nosyon nan yon bagay swa yo te youn oswa yon zewo. Vreman vre, nou te ka jis fè l 'sou isit la. Se konsa, isit la, mwen pa gen twa men uit anpoul limyè, chak nan ki gen switch pwòp li yo. Se konsa, si mwen te vle reprezante nimewo a sèt isit la, Mwen ta ka vire sou sa yo twa anpoul limyè. Ak tout bon, andedan nan òdinatè mwen an se milyon, dè milya de bagay sa yo ke yo se jis pi piti pase sa, ki rele tranzistò, switch, ke ou jis vire sou yo ak sou. Se konsa, sa yo yo big-- relativman big-- switch andedan laptop-- mwen anpil, anpil, anpil, anpil plis switch. Men, tout yo fè se egzakteman that-- vire yon bagay sou, vire yon bagay la. Apre sa, jan sa yo, yon òdinatè ka reprezante, ak sa yo dè milyon oswa dè milya nan tranzistò, anpil ak anpil nan zewo ak inite. Apre sa, nan lòt pyès ki nan konpitè toujou ki pèmèt ou magazen enfòmasyon ki dire lontan, se konsa ke lè ou rale nan ploge, ou pa pèdi li. Men, sa a yon istwa pou yon lòt jou. Se konsa, sa nou ka fè ak Bits sa yo? Ta ka nou jis pran presyon an koupe nan mele l ta ka yon moun vle vin moute isit la epi yo ofri moute yon Demo? Mwen te wè men sa a an premye. Kijan ou rele? MADAY: Maday. DAVID Malan: Maday, vin sou yo. Nice al kontre ou. MADAY: Nice al kontre ou. DAVID Malan: Vini non nan fason sa. Mwen pa pral gen lèv ou leve. Tout dwa. Se konsa, isit la, nou genyen, notice-- yon sèl, two-- nou pral modifye ki out-- yonn, de, kat, uit, 16, 32, 64, 128. Sa a se ekspre. Genyen uit Bits isit lan-- binè zewo digits-- ak inite. Ak yon ti jan se yon inite itil nan measure-- pa tankou itil yon inite mezi sou tèt li. Anjeneral ou vle omwen wit nan bagay sa yo, a.k.a. yon multiple. Se konsa, nou gen yon multiple nan Bits isit la. Se konsa, si nou te vle defi ou ak, pou egzanp, òtograf soti, nan binè, valè sa a isit lan-- 42. Vle pran yon koud nan sa? MADAY: [fèbl]. DAVID Malan: Yeah, jis pouse nan ti kras switch blan nan devan. Men, ou vle eple soti 42, ak moute pou sezi se sa a estrès CS50 boul si ou jwenn sa a. Tout dwa. Se konsa, ou gen 32. Nou ap ale nan bezwen 42. Se poutèt sa se yon uit, se konsa sa a, se 40. Apre sa, excellent-- trè joliman fè. Mèsi. [Aplodisman] Tout dwa. Se konsa, nou gen yon sèl plis boul estrès. Se pou yo fè sa a yon fwa plis si nou kapab. Yon lòt volontè? Gratis boul estrès, free boul estrès. OK. Plis pase isit la nan mitan an, ou vle desann? Tout dwa. Mwen konnen. Gen nou ale. Se konsa, nimewo yo isit lan-- vini sou desann. Kijan ou rele? DAVEY: Davey. DAVID Malan: Davey. OK. Vini non sou moute, Davey. Nice al kontre ou. Ak sa ki nou ap ale nan gen ou spell-- si ou te ka retade ankò gen pou sèlman yon sèl moment-- se nimewo a 50. Men,, men, men men, men, sa yo, se leman lekòl klas pou yon rezon. Jis te resevwa yon ti kras pi difisil yo, tout dwa? Genyen toujou uit. Tout dwa. Se konsa, sa nou gen sou la? Nou gen 32. Nice. 32 plis 16 ba nou 48-- konsa fèmen. Ak bèl bagay. Felisitasyon a Davey kòm byen. [Aplodisman] Tout dwa. Se konsa, nou ka fè sa tout lajounen, ak li pa jwenn tout sa ki anpil plis enteresan ak plis enteresan. Men, sa ki nan vrèman point-- la se ki jan relativman senp li se, nan fen jounen an, ki sa yon òdinatè fè nan magazen enfòmasyon, nan magazen entrain ak finalman magazen oswa reprezante moun rezilta. Men, nimewo pou kont li yo pa tout sa ki enteresan. Se konsa, moun, kèk ane de sa, deside, ou konnen ki sa? Li ta dwe nice si òdinatè pa t 'jis kalkilatris pou aritmetik operasyon, men aktyèlman te kapab fè bagay sa yo tankou pwosesis mo, oswa imel, oswa enkarnasyon plis modèn nan sa yo kalite teknoloji. Se konsa, mond lan deside abitrèman, men inivèsèl, ke si ou vle nan magazen kapital la lèt A nan yon òdinatè, ou konnen ki sa? Se pou nou jis tout dakò nan magazen kèk modèl nan zewo ak ones-- bits-- ki finalman reprezante kantite an desimal 65. Nou pral jis tout dakò sou sa. 66 ta ka repwezante B, 67 ta ka repwezante C, ak gen nan grap nan modèl lòt kote nan zewo ak moun yo, oswa nimewo kache, ki ta reprezante lòt lèt toujou. Se konsa, si ou kalite mantalman absòbe sa a pou yon moman, Mwen fè espre mete A jiska Mwen, kote H yon 72 ak mwen se 73. Si yon òdinatè lè sa a, nan yon kontèks yon pwogram pwosesis mo oubyen yon yon e-mail, devwale anba kapo a gen sa yo modèl nan modèl bits-- nan Bits reprezante 72, Lè sa a, 73, Lè sa a, 33-- ki sa sa a ta ka eple nan ke pwogram? Se konsa, hi, ak Lè sa a yon bagay. Nou pa nesesèman konnen, men tout bon 33-- pa sou tablo a earlier-- te tou senpleman yon pwen esklamasyon. Se konsa, 72 te H, 73 se mwen, 33 k ap pase yo dwe genyen yon pwen esklamasyon toujou. Men, sa a tout bon ak bon, ak nan reyalite sèjousi, olye ke jis itilize sèt oswa uit Bits, gras a yon bagay rele Unicode kòm opoze ASCII tounen nan jou a, nou aktyèlman ka reprezante menm plis karaktè enteresan pase jis sa yo orijinal angle partial lèt yo. Men, nou kapab tou reprezante menm bagay neater tankou koulè. Si ou te janm tande pale akwonim nan Rgb, wouj, vèt, ble, ki jis vle di ke yon òdinatè tipikman sèvi ak twa kouche nan bits-- kèk nimewo nan Bits ki reprezante yon nimewo pou konbyen wouj ou vle, yon lòt seri Bits pou konbyen lajan vèt ou vle, ak yon lòt nimewo fikse pou konbyen lajan ble ou vle. Se konsa, yon nimewo gwo vle di anpil bagay nan wouj, ti kantite vle di pa gen wouj. Se konsa, sa yo, se kalite nan valè mitan isit la. Se konsa, ban m 'kèk wouj, ban m' kèk vèt, ak ban m 'yon ti kras nan ble. Men, si ou melanje sa yo twa tout koulè nan koulè ansanm, nan ka sa a, ou jwenn lonbraj sa a nwar nan jòn oswa mawon. Men, sa modèl nan uit plis uit plis eight-- se konsa 24 bits-- gòch a dwat, se ki jan yon òdinatè ta ka repwezante ki koulè an patikilye. Koulye a, sa a se jis yon dot sou yon ekran. Si ou gade reyèlman fèmen nan televizyon ou ou òdinatè, ou ap wè pwen oswa piksèl. Men, si ou gen yon griy antye nan piksèl, orizontal ak vètikal, ou gen imaj. Lè sa a, si ou pran yon imaj ak Lè sa a lave montre tèt ou yon lòt imaj, yon lòt imaj, yon lòt imaj, yon lòt imaj, reyèlman vit, ou nan kou gen sinema. Se konsa, remake kote nou te kòmanse. Nou te kòmanse ak zewo sa yo ak inite. Nou te travay soti nan gen desimal nimewo, ki jan nou reprezante yo. Koulye a, nou gen lèt nan alfabè a. Men, nan lòt kontèks rete tann, nou ka sèvi ak yon tijan plis Bits ak reprezante koulè. Le pli vit ke ou gen nan kapasite yo reprezante koulè, ou gen kapasite a reprezante foto ak jif anime ak lòt karaktè sa yo sou ekran an. Men, lè ou gen yon pakèt antye nan imaj vole pa imen an nan yon fwa, li sanble foto mouvman, ak pou ou jwenn videyo kòm byen. Se konsa, lè l sèvi avèk sa yo trè primitif senp fè nou gen wout ki pase nan reprezante finalman tout nan fòm sa yo nan medya yo. E nou te distrè ankò ak ankò e ankò, jiskaske nou jwenn nan nivo ki pi ba li nan yon nivo sa a pi wo a. Se konsa, ki ba nou sa a lide jeneral nan distraksyon. Men, nou te kòmanse isit la. Isit la kounye a, nou ta ka reprezante nan yon òdinatè entrain nou yo ak zewo ak moun yo, rezilta nou yo nan zewo ak moun yo, men sa ki ale andedan bwat la? Sa a kote òdinatè syans vin enteresan. Sa a kote ou aktyèlman pote ou lespri pwòp pote yo rezoud pwoblèm. Nou kapab kounye a ladann, pou la rès semès la, wi. Mwen konnen tou sa ki jan binè. Mwen sonje ki jan ASCII oswa Unicode-- kat nan letters-- travay. Epi li sètènman kanpe di rezon ki nou te kapab reprezante wouj ak vèt ak ble, epi yo reprezante miltimedya kòm byen. Men, sa a se bagay la enteresan. Sa a se sa ki fè yon moun kapab nan rezoud pwoblèm. Apre sa, yonn pwoblèm sa yo nou renmen fè, tout bon, ap pran prezans, oswa fè sa algorithmically. Epi ankò, m ta ka fè sa. Mwen ta ka fè yon sèl, de, twa, kat senk, sis, sèt, uit nèf. Apre sa, mwen te kapab ekri li desann nan kenbe tras nan li. Men, sa a jis ki jan mwen ta reprezante enfòmasyon an. Oswa mwen ta ka fè sa a faster-- de, kat, sis, uit, dis, 12, 14, 16, 18, 20, 22-- li santi l tankou de fwa osi vit men li la toujou pral pran yon anpil tout tan. Men, li vire soti, si nou ogmante ankò yon lòt resource-- ak tout bon òdinatè jou sa yo gen proseseur miltip oswa sèvo. Li sanble òdinatè kapab fè anpil bagay nan yon fwa, ak tout bon nou, nan sal sa a, ta ka reprezante egzakteman sa a. Se konsa, li nan yon ti kras sosyalman gòch, men si ou ta imè m ' pou jis yon pwosesis twa etap, se pou m 'mande tout moun nan plas gen jis leve kanpe pou yon moman. Kanpe. Se konsa, panse nan tèt ou, nimewo yonn-se konsa tout moun nan sal sa a, eksepte pèp la ki pa t ' oblijra, ap panse nimewo yon sèl. Se konsa, ki se nimewo ou kounye a. Sa se premye etap la, oswa kòm yon syantis òdinatè oswa yon pwogramè ta tipikman fè, nou ap ale yo kòmanse konte nan zewo. Si nimewo ki pi piti a nou kapab reprezante ak sa yo anpoul limyè se zewo, pa jis kite yo tout koupe, mwen ta ka kòm byen jis kòmanse konte soti nan zewo se olye pou yo yon sèl. Se konsa, se sa ki syantis òdinatè fè. Se konsa, etap zewo, leve kanpe, panse a nimewo a yon sèl. Pwochen etap la se sa a men pè koupe ak yon moun kanpe epi ajoute nimewo ou yo ansanm. Bèl bagay. Se konsa, nan moman sa a nan tan, literalman tout moun k ap patisipe ap panse ki gen nimewo a 2, eksepte pou yon moun enpè si nou gen yon nonb enpè nan moun ki nan sal la. Epi, koulye a Twazyèm etap la isit la ki pral dwe sa a men yonn nan nou ta dwe chita. Youn nan ou ta dwe chita, epi si w ap toujou kanpe, tounen nan etap yon sèl. Tout dwa. Tout dwa. Se konsa, plis ak plis moun ta dwe dwe chita desann. Remake sa a te pwovoke yon loop-- kèk kalite sik. Gen kèk nan ou ta dwe malabiyman kole, pral retounen ak lide ant etap yon sèl ak de, yon sèl ak de, yon sèl ak de. Se byen. premye ensèk nou an. Nou pral fè fas ak sa. Tout dwa. Kite m 'eseye SPUR bagay ansanm. Nan teyori, yon sèl moun se kanpe kòm tout moun kontinye ap pè la. Men, kite m 'pi vit bagay yo ak moun yo te toujou kanpe. Ki nonb n'ap fè lide a? 46. OK. Ale pi devan epi chita. Ou nèg yo ap toujou kanpe. Ki moun ki nan toujou kanpe? Ki nonb n'ap fè lide a? OK. Se konsa, nou pral tounen vin jwenn ou. Nan do a? Kisa sa ye? 22. OK yon lòt moun moute top-- yeah? 34. OK. Plis pase isit la sou regleman m 'yo moute isit la? 132, trè bèl. 22? OK. Ki moun ki la toujou kanpe? Plis pase isit la? 46, trè bèl. 72. Mwen pa ka nòmal pi lontan ankò. Yeah? 30, bèl. Plis pase isit la? 23? 23. Apre sa, mwen panse ke sa ka tout moun eksepte ou nèg, pa gen presyon. Oh, rete tann. 28? Jis uit. OK. Jis uit. Desann isit la? 30. 23. 24. 18. Sa a se aplikasyon ki pi mal la nan sa a algorithm tout tan. OK. Se konsa, nenpòt lòt moun? Nenpòt moun ki lòt bagay? OK. Youn nan pi plis. 16? OK. 16. Tout dwa. Se konsa, si mwen pa t 'manke nenpòt moun ki nan ekla a isit la, lè m 'frape Antre, nou pral wè, algorithmically a, kantite total nan moun ki nan Sanders. Paske ankò, li nan tankou si tout moun jan ou chita bò tab la, te pase nimewo ou nan nan yon lòt moun, nan yon lòt moun, nan yon lòt moun, se konsa ke nan teyori, nan fen a, se sèlman youn gòch moun ta dwe kite kanpe. Men, sa a amann. Nou akselere bagay yo manyèlman. Li nan espesyalman difisil yo wè nan espas sa a an patikilye. Ak nimewo a total moun nou panse ke gen isit la se 546. Kantite total mwen te men pa zanmi yo ansèyman, ki moun ki fè li fin vye granmoun lan lekòl ralanti fason sa a, te 820. [Ri] [Aplodisman] Se byen. Se konsa, siman lè sa a, gen pinèz sa yo. Epi sa a, amann. Se konsa, panse tounen sou sa a premye fwa yon bagay nan ou ekri pa nesesèman travay. Sa a te rive m 'isit la tou. Men, kite a kounye a konsidere ki jan nou ta ka aplike ide sa a menm nan yon bagay ou ta ka te wè anvan, ki se sa a fin vye granmoun isit lan-- teknoloji lekòl yon reyèlman gwo liv telefòn. Apre sa, ta kwè ke liv sa a telefòn gen 1,000 paj ak 1,000 non ak nimewo par andedan nan li. Oke, nou te ka kalite aplike yon menm jan an lide a pwoblèm sa a trè fizik, jis lè l sèvi avèk mwen. Mwen jis kalite janm pwofite sou pesonn pa swe nou tout ki ak anpil ak anpil diferan proseseur oswa sèvo egzekite kèk algorithm. Men, si li nan jis ti kras fin vye granmoun m ', mwen ka toujou ogmante ke sans menm nan yon lide nan divize ak viktwa ke pwoblèm ankò e ankò, annakò ak sa mwatye nan nou, mwatye nan nou, mwatye nan ou, mwatye nan nou, teyorikman kenbe chita, jiskaske nou te rete, teyorikman, ak jis yon sèl moun. Se konsa, nan lekòl sa a fin vye granmoun technology-- nou pa fè sa bezwen sa a map-- sa a teknoloji lekòl fin vye granmoun, nou ta ka kòmanse kap chèche yon moun renmen Mike Smith, yon paj nan yon tan. Apre sa, mwen wè ke pa gen okenn, Mike se pa isit la. Mwen se toujou nan seksyon an A. Evantyèlman, mwen jwenn tèt mwen nan seksyon an B. Lè sa a se yon algorithm etap-pa-etap enstriksyon. Kòmanse nan kòmansman ak yon paj nan nan yon moman, gade pou Mike Smith. Èske sa se correct-- sa a algorithm oswa apwòch? Yeah, li nan kòrèk. Si Michèl nan isit la, evantyèlman Mwen pral jwenn l 'la. Men, li la pa efikas. Li nan evidamman trè dousman. Se konsa, mwen ka ogmante nan twosies menm apwòch. Mwen kapab fè sòt de de, kat, sis, uit, 10, 12. Li nan de fwa osi vit. Mwen pral pou li ale nan Mike pi vit si li se la. Èske li kòrèk? Wi, men m 'te tande yon pa gen okenn little--. Koulye a, mwen tande yon pa gen okenn. Yeah. Genyen yon ensèk ki kapab. Petèt Mike jis aksidantèlman vin Sandwitch ant de paj, paske mwen vole nan sa a de nan yon tan. Se konsa, omwen nou bezwen kèk kalite ranje kondisyonèl. Mwen bezwen di, hey, si mwen frape yon moun ki gen Non kòmanse ak yon T olye pou yo yon S, Mwen pi bon double tounen omwen yon paj. Se konsa, buggy an premye, men fixable. Men, pa youn nan nou yo ale nan gade pou Mike Smith nan yon telefòn 1,000 paj liv yon paj nan yon tan. Ki sa ki nan yon moun nòmal pral fè? W ap ale nan ale nan la a S, si ou te konnen kote la a S. Ou ta ka ale apeprè nan mitan an oswa yon ti kras fose rive sou fen a. Apre sa, mwen gade desann isit la ak Mwen se nan seksyon an M. Men, sa ki ou konnen sou pwoblèm sa a kounye a, ke nou pa t 'nesesèman konnen anvan ak tout moun nan nou jis konte tèt nou équivalant? Oke, Mike se byen klè ale yo dwe nan sa a mwatye nan liv la si li se isit la nan tout paske li nan Ranje. Se konsa, ou kapab trè dramatically-- [Aletman] Mwen konnen. [Aplodisman] Li nan aktyèlman reyèlman fasil si ou fè li desann kolòn vètebral la a. Men, ou ka Lè sa a, voye jete mwatye nan pwoblèm nan ale. Koulye a, mwen kite avèk problem-- nan menm jwenn Mike Smith nan yon telefòn book-- men kounye a liv telefòn kòmanse nan M ak ale nan Z, men li la mwatye kòm gwo. Men sa se sa ki nan enpresyonan. Jis tankou nan teyori, ou nèg, lè nou tout chita bò tab la sèlman mwatye nan yon moman, pwoblèm nan te resevwa mwatye kòm gwo, mwatye kòm gwo, ankò e ankò. Se konsa, te pwoblèm sa a vin nan menm pwoblèm men mwatye kòm gwo. Kounye a li nan yon pwoblèm 250 paj. Le pli vit ke mwen reyalize, o, mwen se nan seksyon an T aksidantèlman. Mwen te ale twò lwen. Mwen ka voye jete ke mwatye nan liv la telefòn ale. Koulye a, mwen se desann nan yon ka nan pwoblèm nan. Epi ou ka repete, repete, repete jiskaske, nan teyori, w ap kite avèk sèlman yon sèl paj. Men, si Mike se nan paj sa, Mwen kapab kounye a rezoud pwoblèm sa. Men, ki jan byen vit m te rezoud li? Nan pwemye ka a, li te pran m 'tankou petèt 1,000 etap sa yo jwenn Mike Smith. Li ta ka yo te pran mele l Mwen ranmase liv telefòn ak mwen te kòmanse kap yon paj nan yon moman, ak Mike ta kapab 1,000 paj pita. Dezyèm apwòch petèt pran m '500 etap, paske mwen vole nan de nan yon tan. Ak apwòch nan twazyèm menm si, li nan espesyalman gen anpil pouvwa. Men, kite a konsidere sa nou aktyèlman te fè ak apwòch sa a twazyèm. Mwen pral gen sa m 'pral rele jis sa yo deklarasyon isit la, yon sèl nan yon tan. Ranmase yon liv telefòn. Louvri nan mitan an nan liv la telefòn. Gade nan non. Lè sa a, bagay sa yo jwenn yon ti kras plis entelektyèlman enteresan, si li toujou senp. Si Smith se nan mitan an non sou sa paj kounye a, Lè sa a, fè yon bagay kondisyon. Se tankou yon fouchèt nan wout la. Rele Mike. Si Michèl se nan mitan non yo nan paj sa, rele Mike. Men, se sèlman fè liy kat si liy pye bwa, si ou vle, se vre. Repons lan nan kesyon se wi. Lòt Bagay si Smith se pi bonè nan book-- la nan lòt mo, si mwen se nan seksyon an M ak M 'ap chache yon moun ki bò gòch la, lè sa a sa pou m 'fè se yon bagay trè sanblab. Apre sa, mwen ta dwe louvri nan mitan an nan mwatye a gòch nan liv la. Se konsa, ale kite, ak Lè sa a tounen nan etap de. Gade nan non yo la. Se konsa, nan lòt mo, fè menm bagay la, men sou yon pwoblèm sa a te mwatye. Ou konnen ki sa lòt bagay? Si Smith se pita nan liv la ki baze sou paj la M 'ap chache a, ouvè a mitan an nan la dwat mwatye liv la ak Lè sa a ale tounen lakay ou ankò nan etap de, else-- gen nan yon posibilite katriyèm isit la. Mike a swa isit la oswa yo bò gòch la oswa sou bò dwat la oswa ou pa la. Ak isit la nou pi bon konsidere sa a. Men, an reyalite, si ou janm genyen òdinatè w lan jis aksidan sou ou, ki se pafwa, men se pa toujou, nan rezilta nan jis yon pwogramè moun pa ka akonpli, o tire, gen nan aktyèlman sa a katriyèm senaryo. Men, si ou pa ekri kòd okipe ki senaryo, pafwa ou pa konnen sa ki òdinatè a ta ka fè. Ak tout bon yon pwogram ta ka aksidan. Men, nan ka sa a, mwen te panse sou li, epi mwen te di, lòt moun kite fimen, paske se sa katriyèm lan lojik posib senaryo. Koulye a, kite yo jis ajoute kèk vokabilè pou nou ka kòmanse lanse alantou tèm ki yo otreman bèl entwisyon. Tout moun nan bagay sa yo mwen te jis make nan jòn isit la, Mwen jis ale nan nan fonksyon oswa pwosedi yo. Yo ap jis kalite aksyon yo. Se konsa, ranmase, ouvè a, gade nan, rele, louvri, louvri, quit-- sa yo, se jis aksyon, oswa nou pral rele yo plis fòmèlman, fonksyon. Pandan se tan, kounye a nan jòn, Mwen te make bagay that-- kite yo jis kòmanse rele yo kondisyon oswa branch yo. Sa yo se pwen desizyon kote ou ta ka al fè wout sa a, fason sa a, oswa kèk lòt direksyon toujou. Se konsa, moun yo pral kondisyon. Epi, koulye a yon sèl sa a se yon ti kras amateur. Se pou yo rele kesyon sa yo ekspresyon Boolean, apre yon moun ki gen yon siyati bouleen. Ak yon ekspresyon Boolean se jis yon bagay sa a, se swa vre oubyen fo, wi oswa ki pa gen. Se konsa, li kesyon an ki gen repons ou pran swen sou, konsa tankou nan yon kondisyon fè yon decision jwenn tounen yon repons, ak Lè sa a ale bò gòch oswa dwa, oswa yon bagay lòt tout ansanm. Lè sa a, anfen, sa yo liy isit lan-- tounen nan etap de, tounen nan etap two-- nou te ka aplike ide sa a nan diferan fason. Lè sa a, moun nan nou ak ta ka eksperyans pwogram te fè oswa ka imajine fè sa yon lòt jan. Men, pou rezon jodi a, li la jis lide ki fè konnen enpòtan. Sa a se pwovoke sa nou pral jeneralman rele yon loop-- kèk kalite sik, paske li nan fè m 'fè yon bagay ankò. Koulye a, kite yo jis konsidere ki jan bon algorithm sa a se. Li nan kòrèk. Si Mike a nan liv la, li nan youn nan moun kat scenarios-- ankò e ankò e ankò, nou pral jwenn li. Men, ki jan bon sa li ye? Oke, nou pa gen yo dwe twò fòmèl isit la. Men, kite a jis trase yon bagay, x ak y, yo ka resevwa yon sans de fòm nan pwoblèm sa a. Sou aks-x la isit la se gwosè a nan pwoblèm mwen. Apre sa, yo yon aks-y isit la yo pral tan an yo rezoud. Se konsa, petèt sa a se kantite paj. Petèt sa a se segonn oswa paj turns-- kèlkeswa sa. Sepandan ou vle konte se sa foto sa a pral reprezante. Epi sa algorithm premye, mwen pral a dekri kòm jis yon liy dwat. Si gen nan n paj nan liv la telefòn, lè sa a li ta ka pran m 'menm jan anpil kòm etap n jwenn Mike. Si Verizon oswa konpayi an telefòn ajoute yon sèl plis paj ane pwochen an, li ta ka pran m 'yon sèl plis étape- yon sèl plis inite nan tan jwenn Mike. Se konsa, gen nan jis yon sèl sa a nan yon sèl rapò. Li se yon pant liy dwat. Pandan se tan, ki dezyèm algorithm si mwen pral de nan yon de time--, kat, sis, uit, oswa double-- ale atravè tout paj sa yo de fwa nan yon moman, de nan yon moman, li la toujou dwat liy. Genyen kounye a yon youn a de rapò, men jis yon ti kras pi ba yo. Se konsa, si gen nan sa a paj anpil sou tablo a isit la nan jòn, ki ta ka pran m 'sa a etap anpil oswa segonn, otreman li k ap pase yo pran m ' de fwa tankou anpil sou liy lan wouj. Men, liy la vèt se Takeaway a reyèl. Sa a se sa nou jeneralman rele yon boutèy demi lit logorithm-- nan n, kote n se nimewo a nan paj. Men, li la fòm nan sa ki zafè jodi a, paske nou pa gen menm panse osijè de trase pwen. Reflechi sou yon senaryo ekstrèm. Sipoze Verizon demen double nan kantite paj nan ke liv telefòn, soti nan 1,000 a 2,000. Nan algorithm a premye, mwen ta ka gaspiye yon siplemantè 1,000 etap kap chèche Mike, jis paske Verizon double gwosè a nan liv la. Dezyèm lan algorithm li ta ka pran m 'yon siplemantè 500 etap. 1,000 plis paj, m 'ale de nan yon time-- 500 plis etap sa yo jwenn Mike. Men, sa twazyèm algorithm se kalite majik. Verizon double nimewo a nan paj soti nan 1,000 a 2,000, men ki jan anpil plis etap fè li pran m 'nan gade pou Mike? Se jis yon sèl, paske mwen ka jis chire liv telefòn yon lòt fwa ankò ki sòti nan yon pwoblèm 2,000 paj nan yon 1,000 paj pwoblèm, ak vwala. Mwen te pran yon mòde masiv soti nan li. Men, si ou ale reyèlman ekstrèm, ta kwè ke liv la telefòn konpayi te gen yon bagay fou tankou yon liv telefòn 4 milya de dola paj. Oke ki jan anpil etap ta ka li pran jwenn Mike Smith nan yon 4 milya de dola liv telefòn paj? Li se yon nimewo gwo, men jis 4 milya dola nan 2 milya dola a 1 milya dola ak 500 milyon dola, 250 million-- toujou son tankou nimewo gwo, men mwen trè byen vit ap resevwa nan pi piti valè. Ak an reyalite, si m 'fè matematik la dwa, mwen ka sèlman divize 4 milya de dola pa apeprè 32 fwa anvan Mwen jwenn desann nan sèlman yon sèl. Se konsa, si ke liv telefòn yo te 4 milya dola paj lontan, pa gen kontra gwo. Nan yon kèk segond, petèt 32 segonn, mwen te kapab divize l 'nan mwatye ak evantyèlman jwenn Mike oswa konkli ke li se pa la. Epi sa a, sans nan yon algorithm yon algorithm bon. Epi sa a, youn nan la objektif nan yon klas tankou sa a, ap eseye figi konnen kouman pou m rezoud pwoblèm nan pa sèlman kòrèkteman, tankou mwen toujou te konnen ki jan fè li se youn paj nan yon time-- men kòrèkteman ak byen. Kouman pou mwen konsepsyon bon solisyon ak pwoblèm? Se konsa, kite a pran yon moman isit la ak ba ou yon sans kounye a nan CS50 kou a itself-- prezante manm pèsonèl yon kou kèk nan. Jis anvan 2:00, nou pral pran yon ti peryòd repo kout pou ke moun nan nou ki ap fè makèt ka kanna deyò epi yo pran yon gade nan kèk lòt klas yo epi gade rès la nan sa a sou entènèt. Men, pou kounye a, kite m 'entwodui CS50, klas nan tèt li, ak patikilyèman ki sa ki nouvo. Se konsa, sezon prentan ki sot pase a, nou te pase byen yon ti jan nan time-- anplwaye kou a nan ak I-- panse sou sa li ye nou vle CS50 yo dwe, ak pral tounen nan premye prensip, se konsa pale, yo konsidere sa li ye nou vle kou sa a yo gade tankou yo epi yo dwe tankou pou elèv li yo. Se konsa, ou pral wè nan pwoblèm mete zewo kòm byen, yon envitasyon pran yon gade nan ki URL ki rezime kèk nan motivasyon yo dèyè nan yo Karakteristik nan sezon otòn 2016. Se konsa, kòm ou ka te rete ranmase grap lòj soti nan TL: feyè a DR, progranm jodi a osi byen ke nan katalòg la kou, ane sa a nan CS50, w ap sèlman espere ale nan today-- se konsa travay byen done-- ak konferans ki sot pase a sou Novanm 21yèm. Epi w ap akeyi men se pa espere ale nan moun konferans nan mitan an, paske sa n ap fè ane sa a, se tire nan tan reyèl materyèl kou a. Se konsa, tout bagay pral rete kounye a ak enkòpore pi bon jan nou can-- evènman aktyèl ak konvèsasyon ki jan ta ka dwe gen nan endistri an nan mond, men fè ke materyèl disponib, kòm yon rezilta, menm earlier-- ranpli ak relve nòt tèks plen ak searchability ak lyen ki mennen nan lòt resous. Ak tout bon, nou te te reklame pou kèk tan epi nou kwè koulye a sa a, ke nou ka kreye, nimerik, yon pi plis Immersion, se yon plis irezistib eksperyans edikatif, kòm opoze ranmase isit la kèk 23 fwa nan moun, tande yon moun renmen m ' tou senpleman pale sou syans òdinatè, kòm opoze a angaje plis aktivman. Se konsa, ou pral wè nan progranm kou a nan yon chema nan semès la isit la, ansanm ak lè konferans pral dwe filme-li, nan ki w ap akeyi men se pa espere, ak ki lè yo pral dwe lage sou sit entènèt kou a. Ak sa ki nou pral fè isit la sou Mèkredi kòmanse semèn pwochèn, se yon anpil plis kouche, ak sèlman moun jan ki vle patisipe, se yon ti mache sa yo rele nan, kote mwen ansanm ak tout chèf kou a nan pral aktyèlman fè bagay sa yo yon ti kras plis entim desann isit la nan òkès ​​la seksyon, toujou gen kèk teknoloji ak mache nan la seri pwoblèm semèn aktyèl la, epi yo ofri ou particularly-- si nan mitan moun ki mwens comfortable-- tout pi plis nan konsèy ke ou ta ka vle oswa bezwen pou defi semèn nan. Apre sa, Menm jan an tou, pou moun ki pa kapab ale nan moun ki nan moun, pa gen okenn kontra gwo. Se la va gen Menm jan an tou ki te dirije pa youn nan anplwaye ansyen kou a nan, Zamalya, opòtinite nan menm entegre nan pwoblèm nan kouche tèt yo. Pwoblèm kouche ane sa a yo pral lage sou vandredi e pa gen ankò fè sèt jou apre sa, men 10 jou later-- fè espre sipèpoze youn ak pwoblèm mete, se konsa yo nan pi bon akomode, nou espere, mare ak koule nan orè elèv, espesyalman lè midterms oswa atletik oswa akademik oswa extracurriculars yo gen tandans vini e li ale espesyalman mitan-semès. Sa ta dwe ba ou yon ti kras plis diskresyon kòm si ou devan chaje semèn ou a ak CS50 oswa chaj tounen li sou fen semèn sa a pito. Se konsa, gade nan progranm kou a nan isit la pou orè a ladan l '. Men, ou pral remake tou nan mitan chanjman sa yo ane sa a, pou moun plis abitye avèk pwogram nan tan lontan an, nou pral kòmanse semès la kòm nou pral jodi a nan grafouyen, konsantre espesyalman sou lang lan rele C, ak Lè sa a tranzisyon pa PHP, men nan yon lang yo rele Piton rive sou fen semès la nan yon kontèks la nan pwogram sou sit wèb ★ ansanm ak SQL ak JavaScript, HTML, CSS, e ankò plis. Ak nan repons a yon FAQ, li nan tout bon ka a ki CS se pa tankou pè jan mwen yon fwa te panse li te, men li se kòm travay anpil jan mwen te gen tande sa te vle di. Men sa se di nan ki isit la gen kèk demografik soti nan sezon otòn 2015 kò elèv, kijan liy ki orizontal ble reprezante nimewo an mwayèn nan èdtan rapòte. Men, ou pral wè yon mwayèn de sis a 10 a 12-- petèt 16 oswa sa ak pou fè, men ki gen segondè divèjans yo dwe klè. Se konsa, reyalize ke gen se pa sèlman elèv yo pi alèz ak mwens alèz nan kou a, men yon sipò ki koresponn estrikti yo ka resevwa elèv sa yo nan semès la avèk siksè. Vreman vre, nan repons a yon FAQ, yo ta dwe ou pran CS50 kòm yon premye ane? Absoliman. Ak nan reyalite, mwen regrèt pa jwenn wout mwen oswa jwenn yon jaden nouvo ki premye ane kòm byen. Apre sa, ou ta dwe pran CS50 ak lòt kou, sètènman kòm well-- ak konsèy an jeneral nou ta ka bay elèv, ki CS50 la pwobableman pa ki kalite klas oswa klas Intro ke ou ta dwe pran ki gen twa lòt oswa kat lòt klas p-mete. Men, si ou ap pran de lòt p-seri klas, yon lòt bagay, ak CS50, absoliman metrize. Mwen te gen anpil elèv nan la sot pase fè sa byen avèk siksè. Epi jwenn ou nan direksyon ki fini liy avèk siksè, kou a gen sections-- tren diferan pou elèv mwens konfòtab, pi alèz, ak yon kote nan ant, kijan nan la nan kou premye seri pwoblèm, ou pral mande a dekri tèt ou. Men, si ou se yo ki pami moun ki mwens konfòtab, li nan ki kalite bagay ke ou jis olye konnen. Ak tout bon, ki te gen nan ap grandi demografik nan CS50 pou byen yon kèk ane. Kòm nan otòn dènye pou egzanp, 58% nan klas la dekri tèt yo kòm nan mitan moun mwens konfòtab, ak 9% nan mitan moun plis konfòtab, ak Lè sa a lòt elèv yo gen nan wouj dekri tèt yo kòm yon kote nan ant. Men, ou pral wè isit la sijè yo an jeneral ak orè nan seksyon, nan tout ki yo ofri nan moun, nan tan reyèl, ak nan nan kou anplwaye etonan nan zanmi ansèyman ak kou asistan, kèk nan moun ou pral rankontre nan jis yon moman. Seksyon tèt yo, menm jan ou pral wè, yo pral gen lendi ak madi ak mèkredi, se konsa yo pou pèmèt ou al plonje nan apre angaje, si ou se konsa chwazi, nan la nan kou konferans pi bonè semèn sa a. Lè sa a, lè biwo, ki sètènman, ak chak ane pase, gen pa gen okenn mwens nan yon defi pou kou a. Ak ane sa a, nou ap planifye pa sèlman yo kenbe biwo hours-- youn sou yon sèl opòtinite pou èd pou elèv yo sou mèkredi jedi ak dimanch, dènye a nan tout sa yo yo te nan apremidi a pa konsepsyon diminye kèk nan estrès la ki toujours rive ak byen ta lannwit p-settting ak yon dat limit looming-- men lè biwo ap tou ap ofri sou lendi ak madi ak Mèkredi, ak vandredi ak samdi, gras a zanmi nou an nan HSA. CS50 kounye a gen espas pwòp li yo pou elèv ak anplwaye CS50, anlè 67 mòn Auburn Street, dwa gen nan Harvard Square. vizyon an pou ki se ke CS50 nan TFs ak CAs pandan tout semèn nan, bèl anpil nan pifò jou, pral gen pou sipò. Se konsa, si ou te gen kèk kesyon sou yon p-seri oswa w ap santi yon ti kras bloke oswa yon ti kras konfonn, ak èk, ou te gen yon inèdtan oswa mwatye yon èdtan ant klas, espesyalman nan square-- a ka ou pòp nan epi yo gen kesyon sa a reponn nan gen sa konfizyon clarified-- anpil nan Lespri Bondye a, w ap abitye, nan matematik la pwòp kesyon matematik sant depatman an, men bèl anpil nan revèy la pou chak [? Gcal?] Ke nou ap afiche sou entènèt. Leson patikilye ki disponib pou sa a tou elèv yo, se gratis tou soti nan nan nan kou pwòp anplwaye si ou ta renmen plis entim yon sèl sou yon sèl, oswa de oswa twa kamarad klas sèlman, k ap travay ak youn nan manm pèsonèl kou a. Ak tout bon, sa yo isit la yo se jis kèk nan manm pèsonèl kou a nan, yon kèk nan ki moun ou pral rankontre nan jis yon ti moman. An reyalite, CS50 nan pwòp tèt ansèyman parèy, ak tèt kou asistan, ak presèpteur, te kapab vini sou moute, pèmèt yo di alo. [Aplodisman] Oratè 1: [fèbl]. [Aplodisman] Oratè 2: [fèbl]. [Aplodisman] Oratè 3: [fèbl]. [Aplodisman] DAVID Malan: Apre sa, pèmèt nou pote sou tablo de nan CS50 nan pi anplwaye granmoun yo, Rob ak Zamayla kòm byen. [Aplodisman] Vreman vre, tou de Rob ak Zamayla te la avè nou pou lontan, pou m 'te kapab ale nan achiv CS50 nan epi jwenn SD sa a trè pye nan yo k ap patisipe sou sèn tèt yo kèk ane de sa. ROB: [fèbl]. [Aplodisman] Zamayla: [fèbl] [Aplodisman] DAVID Malan: Mèsi poutèt ou. Se konsa, nan adisyon a sa yo manm ekip isit la, CS50 gen yon ekip nan prèske 100 manm pèsonèl, tout moun yo ap disponib pou seksyon ak lè biwo ak anpil plis. Antan Rob di tou, sa a se ekzamine a ki pi enpòtan nan CS50 nan 10 ane sa yo ke Mwen te nan [fèbl]. [Fèbl] konsantre espesyalman nan bay yon estrikti sipò, rediksyon lwen yon anpil nan èstime ki te gen akimile nan 10 zan devlopman nan repete sou kouche pwoblèm kou a. Se konsa, ane sa a, pa sèlman nan klas men tou nan fòm lan nan pwoblèm kou a nan ansanm, ou ta dwe jwenn bagay sa yo gen plis senp, régler, pi pi fasil pou metrize pase nan ane ki sot pase, menm jan nou koule kèk nan bagaj a sa a, se devlope pa nati nan en ane apre ane ak iteration. Se konsa, nouvo a ak amelyore kòmanse jodi a. Ou ap rankontre kèk plis nan nan anplwaye kou a soti nan [fèbl a] nan 2:30, kote nou sèvi, kòm yon tradisyon, gato. Genyen yon gato ti jan pi plis pase sa, men ou pral rankontre Erin ak Tobias ak lòt moun toujou. Se pou m 'ba ou yon toune anvan nou tande soti nan kèk nan manm yo anplwaye lòt nan klas la, nan sa ki ap tann kòm byen. An reyalite, nou toujou kòmanse CS50 nan semès sa a ap vini Samdi, ak sa yo rele jou CS50 devinèt. Li te gen anyen fè ak syans òdinatè se pou chak, Men, se avèk sou pwoblèm rezoud plis jeneralman. Men, si ou se konsa chwazi patisipe, pou chak kèk nan envitasyon yo, ou ta ka gen pou wè pòt tonbe oswa sou sèn nan isit la, li nan yon opòtinite nan ekip gen de osinon twa oswa kat, yo patisipe pou Jwèt kastèt ak pitza ak prim ak more-- sa a Samdi, rete sou estasyon yo pou plis. Ou ap jwenn twò ke chak Vandredi, nan Dife ak glas, CS50 pote yon pakèt antye nan elèv yo nan manje midi, fè yon gwo klas santi yo plis entim, epi jeneralman pote ansanm ansyen elèv ak zanmi soti nan endistri pale sou sa yo te te jiska depi diplome. Menm jan an tou, ane sa a, yo pral nou inogire premye tout tan tout tan CS50 a 50 kodaj contest-- yon mitan-semès opòtinite yo ki pèmèt tout moun sou yon opt nan baz, gen yon defi nan san kont kamarad klas, ankò nan ekip ki gen de oswa twa oswa kat, lè l sèvi avèk sèlman ki pwogram konprandr ke ou Lè sa a, gen anba senti ou apre jis sis oubyen sèt semèn nan klas la, ak patisipe nan sa a kalite konpetisyon online-- si ou ta renmen ranfòse pwòp ou a konpetans tout pi plis nan nan ki defi. Nan fen semès la se sa yo rele CS50 Hackathon-- la yon opòtinite ki kòmanse nan 7:00 PM fini nan 7:00 AM, ak sou wout la yo 12 èdtan aswè nan ki plonje nan project-- final kou a nan yon opòtinite nan konsepsyon ak aplike anyen ki pi nan enterè nou koulye a ak ansèyman ou konsèy parèy la. Anviwon 9:00 AM fè nou tipikman sèvi pitza, 1:00 AM, Philippe la, ak kèk nan nou ki toujou reveye nan 5:00 AM, yo navèt bussed desann nan wout epi li IHOP pou manje maten. Lè sa a, nan kèk jou plita se CS50 nan sa yo rele fare-- yon fen nan egzibisyon semès nan selebrasyon nan jis ki jan lwen anpil nan CS50 elèv yo te soti nan semèn zewo tout wout la nan semèn, ak kenbe nan tèt ou ke 73% nan moun ki kamarad klas ak ou ane sa a gen pa janm pran yon klas CS anvan. An reyalite, yo Renfòse kòm anpil, isit la se yon kèk plis ap fè fas ki soti nan pèsonèl CS50 la. Oratè 4: [fèbl]. Oratè 5: [fèbl]. Oratè 6: [fèbl]. Oratè 7: [fèbl]. Oratè 8: [fèbl] Oratè 9: [fèbl]. Oratè 4: [fèbl]. Oratè 10: [fèbl]. Oratè 11: [fèbl]. Oratè 12: [fèbl]. Oratè 13: [fèbl] Oratè 14: [fèbl]. Oratè 13: [fèbl]. Oratè 15: [fèbl] Oratè 16: [fèbl]. Oratè 11: [fèbl] Oratè 5: [fèbl]. DAVID Malan: Gen kèk nan ekip la yo tèt yo fè makèt klas yo. Men, si manm sa yo nan anplwaye CS50 se isit la, te kapab vini sou moute sèlman pou moman yon. CS50 nan TFs ak CAs ak [? anplwaye?] manm isit lan-- sa yo, se jis yon kèk nan yon sèl la faces-- nan moun ou jis wè, ak yon other-- ak kèk yon lòt moun kèk toujou. Poukisa nou pa nou ale pi devan epi pèmèt ou nèg yon ti repo senk minit. Si ou bezwen kanna soti nan klas magazen, sa a, se amann. Ak nan senk minit, nou pral rezime, pran yon gade nan grafouyen premye a nan lang programmation nou an, satisfè anplwaye kou a nan isit la kèk plis, epi konsantre finalman sou pwoblèm mete zewo. Se konsa, nou ap tounen nan senk minit. [Aplodisman] Tout dwa. Se konsa, nou yo tounen. Ak nan nou an rete tan jodi a, objektif la se li nan yon nivo jaden an ap jwe an tèm de kèk tèminoloji, an tèm de kèk ide. Paske tout bon, tankou pou chak kèk nan tablo yo pi bonè, gen a pwal yon seri de nivo eksperyans nan nan klas la, kèk nan ki gen elèv yo gen pran kèk pwogram anvan, kèk nan yo te pa gen. Se konsa, ak pwoblèm sa a premye mete ak ak sa a premye lang nou gen yon opòtinite yo kòmanse yo pran pou yo akòde apre jodi a kèk vokabilè komen ak lide. Epitou, n ap fè sa pa fason pou premye languages-- kou a nan nan adisyon a C ak Piton ak JavaScript ak SQL ak HTML ak CSS, nou pral konsantre okòmansman ak jis pou pwoblèm mete zewo sou lang grafik sa a, ki rele Grafouyen, devlope pa Media Lab MIT'S desann wout la, ede elèv yo ak timoun yo espesyalman eksprime tèt yo algorithmically-- nan yon fason plis ki konsistan ak sa nou ta ka rele panse enfòmatik. Lè li nan yon lang itil paske trè byen vit nan semèn kap vini nan semèn yon sèl, nou tranzisyon nan yon pi plis lang tradisyonèl ak Esoteric rele C, ki se piman textuelle. Ou sèlman sèvi ak klavye ou nan lòd yo ekri enstriksyon tankou sa yo sou ekran an. Men, menm si ou pa janm te wè yon lang programmation anvan, nan jis regardant nan sa a, tout se pou li skre, ou ka pwobableman devine ke pwobableman simagri Alo Mondyal. Men, gen nan yon anpil nan Massachusetts Institute of Technology sou tèt la. Gen regle la etranj senbòl oswa regle tag moute tèt. Genyen parantèz yo ang, kèk parantèz, aparèy òtopedik Curly, semi-colon-- gen nan jis tèlman vizyèl sentaks ki vin nan chemen an. Nou kòmanse kou a ak Grafouyen konsa tankou yo ka resevwa sot pase tout moun ki entelektyèlman distraksyon entérésan, epi konsantre olye sou lide yo. An reyalite, sa a ta kapab anvan. Sa a, pou sa a, semèn va apre. Sa a, nan ka sa grafik lang grafouyen, ki jan pou ou ta aplike ki menm program-- yon pwogram ki lè kouri, tou senpleman di alo nan lemonn. Ak sa ki nan bèl sou grafouyen se ke li nan pwogram sa a grafik anviwònman ki sèvi ak moso devinèt oswa blòk, ke se sèlman interrupteur ansanm si li fè sans lojik yo fè sa. Se avèk Scratch ou ka devlope Animations ak jwèt entèaktif ak atizay, ak nenpòt ki kantite bagay sa yo ke ou ta ka imajine nan tèt ou pwòp ou a, ak aplike yo tou senpleman pa trenen ak jete moso devinèt. Ak tout bon, nou pral gen kapasite nan eksprime sa yo panse kèk nan lide yo menm ke mwen jis mansyone yon moman Anons sa pibliye depi nan yon kontèks la nan Mike Smith ak chèche bagay sa yo yon telefòn book-- tankou fonksyon, jis aksyon, bagay sa yo tankou pasan ki fè bagay ankò e ankò, varyab, ki se yon bagay nou pral prezante, men li la abitye petèt soti nan aljèb jis kèk kalite kontneur nan magazen kèk valè ou ta ka bezwen later-- ekspresyon Boolean, kote sa yo repons lan se wi pa gen okenn oswa vre fo kesyon soti nan anvan. Kondisyon moun sa yo ki fouchèt nan la road-- moun branch se konsa pale. Lè sa a, gen kèk amateur karakteristik nou pral wè menm jodi a, rele ranje ak fil ak evènman, ke nou pral Lè sa a, revize sou tan nan diferan lang. Men, Scratch pèmèt nou yo eksplore tout nan sa yo. Se konsa, isit nan grafouyen, sa a koulè wouj violèt blòk se sa ki yon fonksyon se tipikman ale nan sanble. Sa a moso devinèt koulè wouj violèt ki gen kèk mo tankou di, ki se aksyon an, ak Lè sa a li ta ka gen yon agiman oswa yon parameter-- kèk fason nan kalite Pèrsonalizasyon ki sa sa blòk fè konsa ke li pa nan pre-detèmine pa MIT sa blòk koulè wouj violèt sa a di. An reyalite, ou ap wè nan yon moman sa a mwen se kapab tape mo sa yo tankou mond hello, oswa alo David, oswa alo Zamayla, oswa kèlkeswa sa mwen vle, nan agiman an ak sa yo ki devinèt piece-- ti bwat la blan la. Pandan se tan, si mwen vle yon riban, nou pral wè ke gen nan moso devinèt ki gade yon ti kras zoranj tankou sa a. Apre sa, fòm yo kalite sijere ke yon bagay k ap pase ankò e ankò nan yon sik. Se konsa, si mwen vlope yon di alo blòk mond ak yon pou tout tan bloke nan grafouyen, li nan jis ale nan kenbe li di alo mond pou tout tan, byen literalman. Pandan se tan, gen nan yon lòt di ki kalite bouk nan grafouyen ke nou pral see-- yon repete block-- kote, si ou konnen davans konbyen fwa ou vle bouk la al touye yon nimewo fini nan fwa nan fact-- ou ka presize ki lè ou tape nan yon nonb oswa menm rakorde nan yon varyab, tankou x oswa y kòm nou pral wè. An reyalite, varyab tankou mwen menm mwen nan ka sa a, ki se yon non komen pou yon varyab nonb antye relatif ki jis estoke yon number-- yon nonb antye relatif ta ka, itilize sa a blòk zoranj la a yo mete yon varyab tankou m a zewo. Isit la nan yon egzanp nan vèt nan yon ekspresyon Boolean nan grafonyen moun. Menm si sa a sanble tankou yon matematik lèt an poud, inegalite matematik tankou sa a reyèlman yo ekspresyon Boolean. Sa a se swa vre oubyen fo. Mwen se mwens pase 50. Li nan swa yon repons lan se wi oswa ki pa gen repons oswa vre oubyen fo repons. Epitou, n ap jeneralman rele moun ekspresyon Boolean. E li pa gen yo dwe 50. Li kapab x mwens pase y, pi gran pase y, egal a y-- nenpòt ki kantite lòt kesyon ta ka mande. Koulye a, nan premye gade, sa a ta ka gade toudenkou byen fonse isit la, ak li ye. Men, konsèp ki gen bon konprann, li nan bèl abitye soti nan anvan. Si x se mwens pase y, pase di kòm anpil. Lòt Bagay si x gen plis pouvwa pase y, Lè sa a, di kòm anpil. Lòt Bagay di x egal a y. Se konsa, nou gen yon egzanp gen nan yon scenario-- twazyèm sèlman twazyèm possibility-- x la se swa pi gran pase, mwens pase, oswa egal a. Se konsa, nou gen yon fouchèt twa fason nan wout la. Apre sa, remake sa ki nan fre Scratch isit lan--, li ta sanble, gen sèlman yon sèl devinèt moso, nan ka sa a, nan si lòt moun blòk. Men, ki ta sanble yo vle di ou ka sèlman gen yon fouchèt de fason nan wout la. Ou ka ale gòch la oswa dwa, men sa ki sou ke twazyèm senaryo? E si x egal y? Pa gen kontra gwo. Pran yon sèl pyès devinèt, mete yon lòt andedan youn nan li yo kreye ekivalan a semantik nan si, lòt moun si, else-- epi kounye a ou gen fouchèt twa fason ou nan wout la. E kòm nou pral wè, nan moso Scratch devinèt ka lonje ak grandi, se konsa ke yo bachote plis bagay nan yo. Ou pa gen nan anfòm tout bagay nan gwosè default li yo. Sa a se yon bagay nou pral byento wè yo rele yon etalaj. Se tankou yon list-- kèk fason pou estoke moso miltip nan enfòmasyon nan yon varyab, pa sèlman yon nimewo. Sa yo nou pral wè yon reprezantan nan yon bagay yo rele milti-anfile. An reyalite, tout nan ou Macs yo ak PC yo jou sa yo sipòte milti-anfile, ki vle di ou kapab literalman fè miltip bagay sa yo nan yon tan. Ou ka gen Microsoft Word moute nan la premye plan, k ap travay sou kèk redaksyon an. Ou ta ka gen yon navigatè nan ouvèti a jan nou koumanse G-mail oswa Facebook oswa renmen an. Òdinatè w lan kapab fè miltip bagay jodi a paske li se milti-Threaded, ak pwogram yo ap nan nan patikilye yo tou milti-Threaded. Genyen bagay sa yo rele evènman kòm byen nan mond lan nan grafouyen, ak Lè sa a gen nan yon fason tou, fè moso pwòp devinèt koutim nou si bagay sa yo pa aktyèlman egziste nan davans. Se konsa nou motive sa a jan sa a. Gen kèk ane de sa, lè m ' premye dekouvri grafouyen, lè m 'te aktyèlman yon grad elèv nan MIT, nou tèt nou te charger yo fè devwa lakay. Apre sa, mwen implemented-- ki, nan retrospective, te yon desizyon trè pòv paske li nan chante sa a, pi rajan nan mond lan pou koute pou uit èdtan pandan l ap travay sou homework-- ou men yon bagay mwen te rele Oscar Tan, ki se petèt yon chante yo konnen yo. CS50s posede lòt bò larivyè Jouden Hayashi, youn nan plis manm ansyen anplwaye nou yo, te modènize li pou 2015 ak kounye a 2016, depi tounen nan jou a, Mwen te gen tout bagay jis ale nan fatra ka Oscar a. Koulye a, nou sipòte resiklaj ak konpostaj. Men, nan penti foto a nan sa nou ka fè isit la ak motive kèk nan nivo egzanp yo pi ba, nou te ka jwenn yon lòt volontè yo jis vini sou moute ak jwe premye fwa mwen devwa tout tan? Vini non sou yo. Kijan ou rele? HENRY: Henry. DAVID Malan: Henry, vin sou yo. Vini non sou yo. Head swa fason, ak ou pral wè nan yon moman, Mwen pral ale pi devan epi frape nan drapo vèt nan men nan tèt dwat kwen, ki vle di ale. ti kras sispann siy icon la ki pral di sispann, e ke sa a lè ou kòmanse epi yo sispann pwogram nan. Nice al kontre ou. Tout dwa. Se konsa, nou ap ale nan wè enstriksyon yo sou ekran an nan jis yon moman. Epi jis pa jwe jwèt sa a pou yon kèk seconds-- kwè mwen, nou pa ap ale nan vle jwe tout wout la nan end-- la ou pral jwenn yon sans de sa ki pwogram nan fè. Apre sa, pi plis pase jis konsantre sou Henry ke yo te bon oubyen move nan jwèt sa a, konsantre ki jan yo te li aplike pa m ' orijinal ak Lè sa a lòt bò larivyè Jouden. Nan lòt mo, kote yo varyab yo? Ki kote yo pasan yo? Ki kote yo fonksyon yo? Epitou, n ap wè si nou pa wè moun anba kapo a. Jis klike ak trennen fatra bwat la ki apwopriye yo. [MIZIK jwe] Tout dwa. Sa a trè bon. Poukisa nou pa nou sispann li a. Mèsi. Felisitasyon a Henry. Mèsi. [Aplodisman] Just imajine debogaj pwogram sa a. Si gen nan yon pwoblèm de minit nan song-- la men se konsa sa k ap pase sou isit la vrèman? Kòm konplike kòm li ta ka kòmanse sanble yo jwenn sou tan, tout bon pi plis ak plis bagay te kòmanse tonbe, sa ki nan enteresan sou sa a kalite example-- epi nou pral wè yon kèk others-- se ke si ou gade pase konpleksite a oswa bagay konplike la nan jwèt la, gen nan yon bilding trè senp blòk ki play-- tout nan yo ki, si ou distile yo bay moun blòk bilding, yo trè aksesib ak realizabl pou tèt yo. Pou egzanp, li nan gen kèk tan, men mwen se trè asire w ki sa mwen okòmansman te fè lè fè jwèt sa a la pou premye fwa Mwen te konplètman tankou ranvwaye. Mwen pa t 'konsantre l' sou nan lojik oswa moso yo devinèt, Mwen konsantre sou grafik yo ki ak jwenn post la lari ak bwat la fatra ak nan tout sa. Men, moun te voulu engredyan an premye. Ak yon lòt fwa mwen fini pita ak tap mete deyò fondasyon an toupatou, Mwen deside, kite m 'jis fè yon sèl moso nan sezon otòn fatra nan syèl la. Epitou, n ap wè Scratch sipòte bagay sa yo rele karaktè sprit ki ka gen kostim diferan sou sa yo gade diferan. Se konsa, mwen mete yon fatra kostim sou yon sèl luten sa yo. Apre sa, mwen jis bezwen li soti tonbe nan syèl la. Se konsa, li vire soti, grafouyen, tankou pifò lang programmation, sipòte nimewo o aza oswa teknikman pseudocode nimewo o aza, se konsa ke pa trenen ak jete moso devinèt sèten, Mwen te kapab gen fatra a soti nan bò gòch la an premye. Lè sa a, tan kap vini an li tonbe, ki soti nan dwat a ak Lè sa a soti nan mitan yo. Apre sa, tout jwèt la t 'te jis gen fatra tonbe sot nan syèl la. Ou pa t 'kapab pwen nan li oswa klike sou li. Ou pa t 'kapab louvri bwat la fatra. Ou pa t 'kapab fè anyen. Men, li te yon etap ti bebe nan direksyon vizyon ultim m 'yo. Apre sa, mwen aktyèlman aplike kèk kalite nan kèk se konsa ke si ou te klike sou ak trennen sou pyès la nan fatra sou bwat la fatra, Oscar a kouvèti ta ouvè epi fèmen. Pa gen anyen ta rive nan fatra a, men omwen kouvèti a ta louvri ak fèmen. Se konsa, Lè sa a, tcheke, etap de nan de. Lè sa a se sa k ap pase yo dwe kle nan tou de pwoblèm mete zewo ak nan pwogram plis jeneralman, se pran sa yo etap ti bebe trè ekspre. Paske pa sèlman li pèmèt ou santi onètman akonpli pi plis quickly-- li a nan pi move bagay nan mond lan pou yo eseye aplike tout nan Oscar Tan, Lè sa a, èdtan apre frape drapo a vèt, e pa gen anyen travay jan yo espere paske kote ou menm kòmanse dbug oswa nan rézoudr ke pwogram? Se jis akablan yo. Se konsa, se vre wi: anbrase ide sa a nan pran etap ti bebe steps-- ankò ak again-- bati yon bagay sa a, se, nan fen a, vrèman enpresyonan ak konplèks, men an premye, se pa prèske kòm anpil sa. An reyalite, se pou yo fè sa. Kite m 'ale pi devan and-- Grafouyen tèt li egziste sou entènèt la nan Scratch.MIT.edu, epi ou pral te di kòm anpil ankò nan pwoblèm mete zewo, spesifikasyon la pou ki se deja sou sit entènèt CS50 la. Men, sa a se sa Grafouyen tèt li se. Apre sa, nan vrèman jis twa zòn prensipal. Nan tèt la kite gen se etap nan sa yo rele. Sa a se grafonyen moun. kostim a default se yon chat. Lè sa a se mond lan rektangilè nan kote ou ka move-- leve, desann, agoch, dwa ak kèk lòt bagay. Nan mitan an isit la yo se kategori nou an oswa palettes nou an nan moso devinèt, ak koulè diferan vle di bagay diferan. Men, si ou pike alantou, ou ap wè bagay sa yo tankou pasan ak kondisyon ak varyab ak lòt engredyan. Lè sa a, sou isit la se zòn nan Scripts. Sa a se kote mwen kapab trennen ak gout moun moso devinèt fè bagay sa yo. Se konsa nou fè yon bagay sa yo. Kite m 'ale pi devan and-- e mwen konnen kote li ye. Se konsa, mwen ale nan imedyatman klike sou kote mwen konnen bagay pare yo dwe, men montre epi klike ak poking alantou yo se inevitab. Se konsa, lè drapo vèt klike, sa m 'vle fè? Mwen pral fè sa. Mwen pral trennen devinèt koulè wouj violèt sa a moso, di alo pou de segonn, ak kite m 'rale nan. Apre sa, mwen pral chanje sa a yo dwe sa m 'vle l' bay be-- alo nan mond lan pou de segonn se amann. Koulye a, mwen pral klike sou drapo vèt, oswa si mwen reyèlman vle, Mwen kapab plen ekran li ak Lè sa a tounen. Li pral jis kenbe tout bagay nan yon sèl fenèt. Green flag-- alo nan lemonn. Tout dwa. Se pa tout sa ki enteresan. Se pou m 'ale pi devan epi fè sa. Kite m 'eseye yon lòt yon sèl. Lè drapo vèt clicked-- kite nan fè yon bagay tankou yon son. Apre sa, remake ke soti nan ti bwat la pou gratis ou jwenn yon son chat, kòm se luten la default. Se konsa, kounye kite m 'ale pi devan epi frape drapo a vèt kounye a. [Meowing] Aw. Sa a adorabl. Mwen pwogramasyon. Se konsa, sa m 'fè? Sa a se ekivalan a nan yon pwogram. Li nan evidamman super senp. Li pa t 'reyèlman pran tout sa ki anpil efò ak MIT te fè pi fò nan travay la, men mwen yo te rele yon fonksyon. Mwen te itilize yon fonksyon. Mwen te fè kèk aksyon, lè l sèvi avèk jis ki yon sèl pyès devinèt koulè wouj violèt. Bon, si mwen vle fè twa meows nan yon ranje? Kite m 'ale pi devan epi fè de ak twa. Apre sa, remake ke lè ou hover ki tou pre yon moso devinèt, yon ti kras liy blan parèt sòt de mayetik, epi li pral menen ansanm lè ou kite ale. Se pou nou wè sa ki rive isit la. [Meowing] Genyen yon ensèk. Mwen sèlman tande youn Meow. Poukisa ta ka ki ta dwe ye? Yeah? Yeah. Nou pa vrèman tande l ', men sa a bon entwisyon. Yo ap tout jwe nan menm tan an. Poukisa? Oke, òdinatè a se jis ale fè sa ou di l 'bay fè. Se konsa, si ou di, jwe son, jwe son, jwe son, men ou pa di l 'bay jwe jiskaske w ap fè, jwe jiskaske w ap fè, li pral ka kònen nan pwogram nan reyèlman vit epi sèlman sa ou di l 'bay fè. Se konsa, mwen aktyèlman bezwen ranje sa a nan yon koup nan fason. Mwen te kapab jis fè sa, debarase m de sa a. Kite m 'eseye sa a devinèt lòt piece-- jwe Meow son jiskaske fè, ak Lè sa a trennen twa nan sa yo ak click Play. [Meowing] Li pa vrèman very-- remèsye you-- trè natirèl. Se konsa, poukisa pa I-- kite m 'ale nan kontwole isit la. Nice. Rete tann yon dezyèm, epi kounye a kite m 'ale tounen a son, ak jwe son jiskaske fè, ak Lè sa a, kite m 'jwenn rete tann yon dezyèm fwa. Lè sa a, kite m 'ale epi pou yo jwenn yon sèl plis son, ak isit la nou ale. [Meowing] Yon ti kras plis natirèl, men sa a se pa trè efikas. Tankou mwen te resevwa anwiye, tout ap li yon ti tan, klike dèyè, yo soti ak reyèlman fotokopi work-- mwen bèl anpil w kopye e kole. Vreman vre, si mwen Kontwole klike oswa dwa klike, Mwen te kapab gen sèlman kopye ak kole. Ki sa ki ta gen yon pi bon konstwi yo sèvi ak? Ki sa ki lide yo devan? Yeah, se konsa yon bouk. Ak an reyalite, si nou poked alantou li, nou ta ka jwenn egzakteman sa. Kite m 'ale nan Evènman ou pito kontwòl. Se konsa, repeat-- mwen pa fè sa vle li nan dwe 10 fwa. Sa a pral jwenn anmèdan byen vit. Men, mwen pral repete twa fwa. Kite m 'ale tounen nan son ak jwe son an jouk li fè. Kite m 'ale tounen nan kontwòl ak jis rete tann yon dezyèm fwa. Apre sa, avi, ou ta ka panse ke li pa anfòm, men ankò si mayetik ou kite l ' menen nan plas, li ap grandi nan ranpli. Ki sa ki nan li jwe kounye a? [Meowing] OK. Nice. Lè sa a se sa ki ta dwe rele yon pwogram ki la tou kòrèk. Li meowed twa fwa san patipri natirèlman, men li la pi bon ki fèt. Mwen lè l sèvi avèk mwens èkse. Mwen pa t 'kopye epi kole anyen. Mwen jis itilize yon pi bon ide. Koulye a, sa a se toujou pa tout sa ki enteresan ak Scratch pa fè anyen. Se konsa nou fè yon lòt bagay pito. Se pou nou fè yon bagay pou tout tan. Epi ou konnen ki sa? Mouvman sanble enteresan. Se pou yo gen l 'deplase 10 etap ak frape jwe kounye a. OK. Oke nou kapab kalite trennen l 'tounen, epi li la toujou kouri paske l ap fè sa a pou tout tan. Se konsa, riban an ap fè ki sa li di yo fè, men sa a se pa tout sa ki enteresan. Se pou yo fè sa a. Kite m 'ajoute yon blòk kontwòl, ak sèvi ak youn nan kondisyon sa yo pou premye fwa. Se konsa, li k ap pase pou avanse pou pi 10 steps-- 10 pwen, 10 piksèl sou ekran an lè sa a li k ap pase yo mande kesyon sa a. Si gen yon bagay se vre, lè sa a fè yon bagay andedan blòk sa a. Se konsa, li vire soti kèk gen yon antye pakèt moun sou Boolean ekspresyon kesyon nan repons lan se wi la pa gen okenn oswa vre fo form-- kite m 'fè sa. Si touching-- ak Lè sa a gen nan sa a gout ti kras desann meni. Mwen kapab paramètres li. Si manyen edge-- kite nan fè yon bagay tankou sa. Se konsa, si manyen edge-- kite m 'ale tounen nan mouvman. Epi poukisa pa fè sa nou jis vire toutotou 180 degre? Tout dwa. Se konsa, pou tout tan, deplase 10 etap. Si w ap manyen la kwen, vire 180 degre. Epi sa a, pa nan fen pwogram nan paske w ap nan yon pou tout tan bloke, se konsa li k ap pase yo al ankò, li ankò e ankò. Se konsa, kite a wè sa ki rive. OK. Yon buggy ti kras, men kalite fre. Epi nou ka ajoute nan sa a kèk bagay komik ki pa tout sa ki entelektyèlman enteresan. Men, si nou frape sa a ti kras mikwofòn button-- Ouch. Kite m 'netwaye sa a leve. Kite m 'amelyore sa a kòm yo ta di sou televizyon. Debarase m de ki leve, Save, ak kounye a ale jiska Scripts. Koulye a, kite m 'ale pou fè son pou. Kite m 'ba li yon non. Mwen pral rele Ouch sa a. Epi, koulye a jwe Ouch son. Avi li parèt nan la ti kras gout desann meni. Ann wè. [Ouch] [Ri] Men, nou ka chanje t l 'sou vole a. Nou kapab gen de fwa tankou anmèdan. [Ouch] Oswa si nou fè l 'tankou 1,000 etap nan yon time-- OK. Se konsa, nou ap ale nan kite ke yon moun pou kont li. Se konsa, ankò, bati blocks-- mwen te kòmanse ak yon bagay super senp, ak Lè sa a mwen te ajoute yon karakteristik, te ajoute yon karakteristik, te ajoute yon karakteristik. Apre sa, mwen pa gen okenn ankò bezwen enkyete sou ki jan premye a nan karakteristik sa yo te aplike jan mwen kontinye kouch bagay sa yo sou tèt. Se konsa, an reyalite, kite m 'fè yon lòt isit la. Kite m 'ale pi devan epi louvri yon dosye ki Mwen te fè nan avanse, ki rele mouton. Se konsa, li te gen yon yon ti kras diferan karaktè ki sanble tankou sa a. Se pou m 'wè si mwen pa kapab fè yon bagay lè l sèvi avèk yon vann san preskripsyon nan sa a case-- yon varyab sa yo rele. Mwen pral ale pi devan epi anba Events-- kite m 'jwenn yon drapo vèt klike. Lè sa a, kite m 'ale nan Done, ki mwen konnen ki soti nan jis jwe otou anvan, se kote varyab ye. Men, mwen pral ale pi devan epi trennen sa a. Se konsa, yon varyab rele vann san preskripsyon, ak Mwen pral inisyalize li a zewo. Mwen kapab rele li anything-- x oswa y oswa z-men nan pwogramasyon, rele yon bagay nan yon Semantics itil fason sa a, tankou vann san preskripsyon, ki dekri sa li ye, li nan yon anpil pi fasil li kòd ou a pita. Kite m 'ale pi devan epi pou yo jwenn yon pou tout tan bloke isit la. Ak kite m 'ale nan sanble yo paj ak fè yon blòk Di. Men, sa ki nan fre sou varyab se mwen pa bezwen jis tape nan yon bagay tankou alo mond, ki nou te deja fè, mwen kapab olye pou ale nan Done ak trennen varyab m 'yo, e menm menm si fòm nan pa fè sa byen gade tankou li ta dwe anfòm, li ap grandi yo ranpli. Apre sa, mwen pral jis di kontwa an pou yon second-- spoiler-- li te ale nan konte. Nou pral di li pou yon dezyèm fwa. Lè sa a, mwen pral ale ak gen l 'se pou yonn tann dezyèm lan, se konsa li pa konte moute twò vit. Lè sa a, anfen, chanje vann san preskripsyon pa yonn-nan lòt mo, kantite kontwa an pa youn plis valè ak fè sa pou tout tan. Se konsa, bann mouton li yo tou, tankou yon pwogramè, konte ki ant 0. Men, si nou rete tann lontan ase, li pral fè sa a pou tout tan. Men, sa a pa egzakteman vre, paske an reyalite, menm jan nou pral dekouvri nan semèn yon sèl, nonm antye relatif ak òdinatè plis jeneralman, teknikman gen sèlman yon finite-- byen, olye òdinatè, lè yo reprezante nonm antye yo, sèlman gen yon nimewo fini nan miyèt moso. Moun sa yo ki anpoul limyè gen ka sèlman konte tèlman wo anvan w ap soti nan anpoul limyè. Ak yon òdinatè tou, sèlman gen anpil memwa, sèlman gen anpil tranzistò, se konsa li ka sèlman konte tèlman wo. Se konsa, li sanble ke bann mouton li yo, Mwen panse ke, ka konte nan 2 milya dola oswa yon bagay trè gwo. Se konsa, nou pa ap ale nan rete tann pou sa a rive. Men, evantyèlman kèk ensèk pral rive ki ka gen kèk mond anpil reyèl divizyon. Men, pi lwen pase bann mouton li yo, ki jis entwodui yon varyab. Se pou nou ale pi devan epi louvri moute yon bagay mwen te fè nan avanse isit la yo rele Bèt kay Cat-- la Bèt kay chat an sou isit la. Apre sa, remake isit la li a kèk blòk, men lè drapo vèt klike, pou tout tan fè sa ki annapre yo. Si w ap manyen sourit la pointer-- se konsa kurseur a sou ekran an, arrow-- jwe son Meow a ak Lè sa a rete tann de segonn. Epi jis fè sa pou tout tan. Jis toujou ap rete tann yo wè si pointer-- la si chat la se manyen konsèy la. Se konsa, mwen frape jwe. Pa gen anyen k ap pase. Men, jan mwen deplase kurseur a sou chat la, [Meowing] Men, si mwen avanse pou li ale, pa plotaj chat la ankò. Se konsa, kèk lojik kondisyonèl pare solèy andedan nan yon riban. Kouman sou egzanp sa a, fè espre rele pa Bèt kay chat la? Ki sa ki nan sa a pral fè? [Meowing] Poukisa ou ta dwe pa bèt kay chat la? [Meowing] OK. Se konsa, sa a se yon egzanp yon si lòt bagay. Li se yon pwen desizyon ak paske li te chita nan riban an, yo ap tou de ap resevwa w tcheke yo. Eske se vre? Eske se vre? Eske se vre? Eske se vre? Ak evantyèlman, youn nan moun ki pral aplike ak sa ou tande swa Meow a oswa gwonde nan lyon an nan ka sa a. Oke, kite la fè yon yon sèl yon ti kras plis anpenpan ke mwen te fè nan avanse too-- fil. Se konsa, yon ti moso fil se jis yon bagay ki yon òdinatè kapab fè. Se konsa, yon pwogram milti-Threaded se yon pwogram ki ka fè miltip bagay sa yo nan yon fwa. Apre sa, tout nan egzanp sa yo konsa byen lwen te gen sèlman yon sèl script, se konsa yo speak-- yon pwogram tankou sa a moute isit la. Men, remake pwogram sa a gen de sprites, de karaktè. Youn nan se yon zwazo. Youn nan se yon chat. Apre sa, remake lè m 'klike sou sa yo desann gòch, yo chak gen Scripts pwòp yo oswa pwogram ki asosye ak yo. Ak tou de nan sa yo pwogram, avi, kòmanse ak lè vèt clicked-- drapo kite a gade nan cat-- la lè vèt drapo klike. Se konsa, tout bon, lè m 'frape jwe kounye a, de bagay yo ap mache rive nan yon fwa. Chat la ak zwazo a se tou de ale nan opere ansanm yo kreye sa a efè. Epi ou ta ka imajine sa k ap pase. Genyen yon bouk ak lòt zwazo ki ak chat la se nan yon riban. Zwazo a se jis rebondi tankou Mwen te ye anvan an lè m 'te di Ouch. Men, chat la byen klè gen yon avantaj. Genyen yon lòt blòk kèk ki pwen chat la fè espre zwazo a nan ka sa a isit la. Se konsa, nou te kapab toumante apa, pa gade nan blòk sa yo, sa k ap pase. Men, engredyan nan kle isit la se youn. Zwazo a, se konsa ke jwèt sa a se pa konplètman boring-- oswa animation-- sa a kòmanse nan yon direksyon ki o aza. Apre sa, se òdinatè a davwa ke yo yon nimewo ant 90 ak 180 esansyèlman, se konsa ke li nan yon yon ti kras diferan animasyon chak fwa. Lè sa a, remake isit la, si la chat se manyen zwazo a, lè sa a jwe lyon an kat sound-- gwonde la. Men, pandan se tan nan la la zwazo palèt, nou gen sa a. Pou tout tan, si se pa manyen chat la, jis kenbe k ap deplase twa etap. Lè sa a, isit la nan yon lòt moso devinèt. Si ou se sou kwen an, rebondisman. Se konsa, zwazo a se jis kalite gard pwòp biznis li yo, jis vole alantou ak rebondi, ak li vrèman chat la ki te gen lojik la kondisyonèl detèmine si li te kenbe zwazo a. Tout dwa. Se konsa, kite a fè yon lòt isit la, yon sèl sa a yo te rele Hi hi hi. Apre sa, yon sèl sa a isit la jis fè sa a nan yon riban pou tout tan. Men, ki jan nou notice-- sispann sa a pwogram trè anmèdan? Frape bar nan espas. Paske si mwen fè sa, program-- nan men gòch remake li a toujou ap listening-- se laprès la espas kle. Si ba a espas bourade, e si se konsa, ki sa li fè? Li fè sa ki yon teknik trè komen. Li kouche yon varyab egal a kèk valè. Men, li baskile ki valè. [? Se konsa, aparans?] ki baze sou I shape-- gen yon varyab ke mwen te ekri nan avanse rele Muet, ki jis di repons lan se wi oswa ki pa gen. Èske son an muet oswa ou pa? Vre oubyen fo? Apre sa, avi, m ap di sa a men si muet se zewo, lè sa a chanje nan yon sèl, lòt mete bèbè li a zewo. Se konsa, jis baskile valè a soti nan zewo nan yon sèl. Mwen te kapab gen done-- chanje li soti nan de a twa ak twa a de oswa kat nan senk oswa kat nan sis. Men, li pa gen pwoblèm sa ki nimewo mwen sèvi ak, toutotan m'a kenbe chanje li opoze an. Ak sa ki pi nenpòt pwogramè ta jis chwazi zewo ak yonn-fo ak vre, koupe ak on-- ki reprezante sa a. Lè sa a se toujou kouri. Si m 'frape bar nan espas ankò [SEAL son] Pwogram nan se toujou kouri. Paske gen nan sa a lòt script ki di, pou tout tan fè sa ki annapre yo. Si varyab la muet egal zero-- Se konsa, si ou pa ap muet se logic-- la si li nan fo oswa ki pa gen, lè sa a jwe son an, paske ou pa ap muet. Ou ta dwe jwe son an ak Lè sa a panse hi hi hi pou de segonn ak Lè sa a rete tann, epi ki fè sa ankò, li ankò e ankò. Se konsa, nan fason sa a nou gen yon fason pou moun to-- pou pwogram yo kominike. Apre sa, yo pa bezwen dwe kòm ki gen dat kòm lòt moun. An reyalite, poking around-- pa gen Pun intended-- yon moun te pase yon kantite lajan gwo tan sou entènèt la mete ann aplikasyon PokemonGo nan grafonyen moun. Li menm geolocates ou nan Cambridge oswa Allston isit la. Se konsa, si ou vle wè sa moun twò ka fè se sa a men meni trè anpenpan. Klike sou isit la. Sa a se m 'ak kle flèch mwen kounye a. Mwen pral kouri dèyè sa a. Klike sou. Epi, koulye a ou klike sou Pokeball la. Mwen vle di, mwen panse ke w ap sipoze klike Pokeball la. Tout dwa. Se konsa, mwen te fè sa. Mwen ka ale sou isit la. Apre sa, moun sa a aplike kèk plis PokeBalls sou isit la twa PokeBalls. Nou pral afiche yon ap mennen nan sa a sou entènèt pou ou ka jwe. Men, avi gen nan jis kèk blòk bilding de baz yo. Li sanble yon anpil amateur, epi li se. Sa a se enpresyonan ak plis ankò pase nou ta tipikman atann, sètènman pou pwoblèm mete zewo. M 'pa konnen konbyen tan moun sa a te pase sou entènèt. Men, li la tout jis yon riban. Genyen yon ap jwe son. Genyen kèk kalite riban koute pou si wi ou non mwen se frape flèch la monte oswa desann nan flèch oswa kite la ak dwa a, ak Lè sa a si se konsa, li nan k ap deplase li kèk kantite piksèl. Lè sa a, si mwen klike sou yon lòt luten, gen nan kèk kalite si kondisyon la. Yeah, sa a ap resevwa twò entans. Nou pral sispann. Li nan tout moun sa yo blòk bilding de baz yo. Pa gen okenn lòt lòt engredyan pase sa yo nou te gade deja. Men, isit la, kite m 'fè yon sèl seri final la nan egzanp ki pentire yon foto twò nan sa ou kapab fè isit la. Isit la nan yon pwogram trè senp ki jis fè sa a men tous, tous, tous. Apre sa, baze sèlman sou sa ki nou te gade konsa byen lwen, kote se evidan an opòtinite pou amelyorasyon. Pwogram sa a se kòrèk. Li touse twa fwa, ki se sa m 'gen entansyon. Men, li la mal aplike. Li nan seryezman fèt. Poukisa? Yeah. Li pa yon riban. Epitou, se pa tèlman ke li pa yon riban, li nan ke gen nan yon anpil nan èkse. Gen kopye ak kopye kòd, se konsa pale. Apre sa, solisyon an pwobableman se vre yon riban. Se pou m 'ale pi devan ak amelyore sou sa. Men, mwen pral trennen sa yo sou isit la. Kite m 'ale pi devan epi pou yo jwenn yon repete blòk, chanje sa a nan twa. Mwen pral jete kèk nan blòk sa yo. Apre sa, ou pral avi li a trè entwisyon. Ou trennen ak gout ak bagay sa yo parèt epi yo disparèt evantyèlman. Apre sa, mwen ka jis trennen sa a nan isit la, ak koulye a, mwen gen yon vèsyon cleaner toujou. Men, ou konnen ki sa? Genyen opòtinite sa a kounye a pou abstraction-- yo kòmanse yo defini nouvo vokabilè ki MIT pa t 'antisipe. Genyen rete tann ak repete ak pou tout tan epi si, men sa ki si mwen vle entwodui tous nan mo kòm yon blòk? E si mwen vle yon moso devinèt objektif ki gen nan lavi a se yo touse? Oke, kite pou yo gade nan vèsyon sa-a isit la, ki mwen te fè jan sa a. Maji, mwen te kreye pyès sa a devinèt isit la, ki Scratch pèmèt ou fè. Ak tout bon C ak Piton ak JavaScript yo ale nan pèmèt ou fè sa a tou. Ou ka kreye pwòp ou koutim moso ki ou rele sa ou vle. Nan ka sa a, tous santi l tankou yon definisyon rezonab. Lè sa a, ak moso sa yo desann isit la ou ka defini ki sa li vle di. Mwen trennen ak tonbe soti nan sa a palèt isit lan-- plis blocks-- sa a koulè wouj violèt gwo blòk, kote mwen tape nan tous kòm non an nan moso nouvo devinèt m 'yo. Lè sa a, m ap di nenpòt ki lè yon itilizatè rele sa a nouvo moso tous devinèt, fè yon di ak yon rete tann. Se konsa, moute isit la nan blòk repete mwen, Mwen ka jis touse twa fwa. Apre sa, mwen ta diskite, espesyalman si kounye a ou kache detay sa a. Ki moun ki traka ki jan tous se aplike? Tout sa mwen pran swen sou kòm yon pwogramè ke mwen ka ap touse. Mwen pa pran swen ki jan di se aplike. Mwen jis pran swen ke nan chat ka di yon bagay. Mwen kapab résumé lwen ke detay ak sèlman konsantre sou sa ki nan sou ekran an isit la. Men, mwen ka pran sa a etap youn pi lwen. Remake isit la, mwen gen aplike bouk la twa fwa. Men, e si olye mwen gen tan pwan vèsyon sa-a? Ak sa ki si olye pou nan vèsyon sa-a isit la, Mwen jis chanje moso devinèt mwen an pran yon diskisyon ak opinyon pou tèt li? Epi sa D 'kapab yon nimewo tankou twa. Koulye a, si mwen ekri yon pwogram e mwen vle chat la yo touse, Mwen ka aktyèlman di devinèt la moso konbyen fwa yo touse, paske nan pati anba a isit la, yon amateur vèsyon nan sa yo moso devinèt koutim pèmèt m 'presize ke tous aktyèlman pran yon input-- pran yon agiman tankou sa a. Epi ou konnen ki sa? Petèt mwen reyalize, rete tann yon minit. Touse se same-- la li nan fondamantalman lide a menm jan ak etènye. Se jis nan yon diferan mo sou ekran an. Mwen kapab résumé lwen pli lwen ak aplike sa a vèsyon final la nan yon touse, ki nan premye gade se yon fason pi konplèks kap. Men, remake sa m 'te fè. Mwen gen kounye a generalized-- genericized really-- moso sa a devinèt yo dwe rele di yon mo n fwa. Epi, koulye a mwen gen de moso devinèt nouvo desann isit la defini tous n fwa. Ak sa ki fonksyon an tous fè? Ki sa ki moso devinèt koutim mwen fè? Li jis rele blòk la di, pase nan pawòl Bondye a mwen vle di, pase nan nimewo a nan fwa mwen vle di. Paske koulye a, mwen ka aplike etènye pa senpleman di achoo, nan ka sa a, gen kèk kantite fwa. Se konsa, mwen ap stratifikasyon ak stratifikasyon. Epi ankò, kle a isit la se pa ki jan mwen aplike li, men reyalite a ke si mwen jis literalman deplase sa yo sou ekran an, gade ki jan senp si se pa bèl pwogram mwen an kounye a sanble. Paske li fè sa li di, mwen te distrè lwen ki sa ki andedan ki bwat nwa. li k ap pase yo yon bwat koulè wouj violèt isit la, men mwen te rankontre lwen sa ki andedan paske mwen pa pran swen ki jan li fonksyone. Mwen jis pran swen kounye a ke li fonksyone. Ak tout bon, nan pwoblèm mete zewo, sa a se egzakteman ki kalite stratifikasyon nan lide ou pral gen opòtinite pou yo eksplore. Li nan egzakteman opòtinite nan aplike pou rezoud pwoblèm teknik, nan sa a pwobableman yon abitye anviwònman. Epi si ou pa te pwograme anvan oswa pwograme anvan, w ap jwenn ke gen nan yon ti kras yon bagay nan anviwonman sa a pou tout moun. Se avèk pwoblèm mete youn nan tan yon semèn la, nou pral favorize tranzisyon konsantre sou yon nivo ki pi wo ak lang rele C-- ou pito yon pi ba lang nivo rele C-- sa a, se menm plis pwisan, menm si li nan yon ti kras plis skre nan premye gade. Men, ou pral reyalize pou chak TL jodi a: DR, ke pwoblèm sa a mete gen yon pi kout fenèt nan tan pase sa nan lavni, tou senpleman paske ou ta dwe jwenn li san patipri aksesib. Epi yo pa enkyete w si ou ajoute klas la ta. Nou pral adrese ke anvan lontan. Apre sa, anvan nou ajoune pou gato, se pou yo fini ak jis yon gade de-minit nan sa ki ap tann nou isit la nan CS50. [MIZIK jwe] Tout dwa. Sa a li pou CS50. Nou pral wè ou talè konsa. Gato se kounye a sèvi. [MIZIK jwe] Oratè 17: Eske ou te tande nan yon sabatik, Chèf? Oratè 18: Petèt gen nan plis anba kapo a.