[MIZIK jwe] [MIZIK jwe] DAVID Malan: Tout dwa. Sa a se CS50. [MIZIK jwe Tritonal, Lajan Kach Lajan Kach,  "Parya"] [MIZIK jwe] Oratè 1: Mwen pral Frans, ak w ap ale, tou. [MIZIK jwe] DAVID Malan: Sa a se CS50, entwodiksyon Inivèsite Harvard la entelektyèl nan antrepriz nan syans òdinatè ak atizay yo nan program-- ak la pou premye fwa nan istwa, Yale University nan kòm byen. Vreman vre, si wi ou non w ap isit la nan Cambridge oswa nan New Haven oswa Miami oswa Saint Louis oswa Amstèdam oswa nenpòt kote atravè mond lan pran CS50, òdinatè syans E50, CS50X, CS50 AP, nou tout nou yon sèl ak menm bagay la. Byenveni nan CS50. Ki sa nou en- [Aplodisman] [Ri] [Aplodisman] Se konsa, mwen fè yon erè tèt mwen kèk tan de sa lè m 'te kòmanse koupe kolèj. Apre sa, mwen te rive nan kolèj, ak mwen deside franchman, bwa nan zòn konfò m 'yo. Mwen te fini deklare yon konsantrasyon, oswa yon pi gwo, nan gouvènman an. Foumi ki te sitou yon fonksyon nan m ' ke yo te bèl abitye ak gouvènman oswa omwen istwa oswa mwen reyèlman te renmen lwa konstitisyonèl nan lekòl segondè. Se konsa, lè mwen te resevwa isit la, mwen kalite nan gravitated nan direksyon bagay sa yo ak ki mwen te deja konnen yo. Dwa? Bondye padon m 'fè mal nan klas la. Mwen sètènman te vle rete nan zòn konfò mwen, epi li pa t 'jouk ane sophomore ke mwen finalman leve nè a nan etap pye nan yon sal klas rele CS50. Ak nan pwen sa a, mwen te finalman reyalize sa, mwen Bondye, devwa te kapab aktyèlman dwe plezi. Vreman vre, mwen te youn nan timoun sa yo ke nan Vandredi aswè lè P-ansanm sa yo, ta dwe lage, mwen ta tounen nan chanm mwen ak plonje nan P-ANSANM nwit la la a. Se pou m ', sa ki te yon siy ke sa a te yon jaden pou mwen. Men, sa ki te pi enpòtan te nan reyalite ki mwen te fè leve nè sa a yo eksplore dlo abitye avèk wout yo m ' epi pou yo jwenn pi lwen pase zòn pwòp konfò mwen ak franchman, mwen sèlman te kapab fè sa ane sophomore lè yo pran klas sa a pase / febli. Vreman vre, li te trè dènye jou a ki Mwen finalman chanje sou yo ak finalman deklare CS kòm konsantrasyon mwen, mete gov nan pwen ki dèyè do m '. Se konsa, nou pa ap mete soti nan kou sa a yo vire nou tout ki nan élèves CS oswa konsantratè, men pito ba ou yon opòtinite èspere ke ale pi lwen pase mond lan ak kote ou ap kounye a abitye epi pote tounen soti nan mond sa a ladrès ak konesans ak konprandr ke ou ka aplike nan ou pwòp mond, si wi ou non sa a, se nan Syans imanitè yo, syans sosyal, syans natirèl, oswa pi lwen toujou. Vreman vre, si w ap santi yon ti kras odasyeu sou ke yo te nan sal sa a se pou kont li nan klas sa a, reyalize ke si istwa se okenn endikasyon, 72% nan nou pa janm te pran yon kou CS anvan. Se konsa, li pa tout vle di pa ka a ke elèv la chita sou bò goch la oswa sou bò dwat la oswa nan devan oswa dèyè ou konnen byen lwen plis sou CS oswa pwogram an patikilye pase ou. Sa a pa an reyalite ka-a. Ak tout bon, anpil nan estrikti nan sipò ke nou te mete kanpe nan sa a kou sou plizyè ane ki sot pase yo ki te pou egzakteman sa reason-- bay yon sou ranp ki toujou sòti menm jan kòmsadwa ak jis kòm yon wo ever-- men pant lan nan ki pèmèt elèv yo mwens konfòtab ak plis konfòtab sanble yo reyisi endepandaman nan background li oswa li anvan an. Vreman vre, sa ki finalman zafè nan klas sa a se pa anpil kote ou fini relatif nan kondisip ou men ki kote ou nan semèn 12 fini relatif nan tèt ou nan semèn zewo, ki se kote nou la a jodi a. Vreman vre ak sa a ka trè byen ak pwobableman gade tankou Greek nan anpil nan ou. Men, rès asire, ki sa a ak anpil plis a pwal konplètman nan ou atrab nan jis yon ti kras nan tan. Men, jodi a, nou konsantre sou kèk nan lide yo nivo ki pi wo l 'ban nou yon gou nan CS50 ak òdinatè syans nan yon sans nan sa ki w ap enskri pou. Ak tout bon, syans òdinatè ta ka distile plis tou senpleman kòm enfòmatik thinking-- panse tankou yon òdinatè, si ou pral. Apre sa, nan bagay sa yo anpil diferan engredyan ki ale nan sa, men kite a pwopoze jis twa pou jodi a. Si objektif la nan klas la finalman se pa yo moutre nou pwogramasyon, se pa yo moutre nou C oswa PHP oswa SQL oswa nenpòt ki kantite mo sa yo ak akwonim nan la deskripsyon kou a, men pito moutre ou yo rezoud pwoblèm plis efikasite ak panse plis metodikman ak plis algorithmically, se konsa pale. Ann wè sa ki egzakteman sa a vle di. Se konsa, mwen ta pwopoze ke panse kalkil klou desann nan rezoud pwoblèm. Ki sa ou bezwen rezoud yon pwoblèm? Ou bezwen input-- tankou D 'nan problem-- la ou bezwen yon pwodiksyon, ki se èspere ke solisyon an, ak Lè sa a ou bezwen yon pwosesis pa ki rezoud pwoblèm sa, ki nou pral rele yon algorithm yon seri enstriksyon pou rezoud kèk pwoblèm. Men, anvan, se pou yo konsantre sou premye a ak dènye a nan entrain sa yo ak rezilta. Odinatè apre tout, aparamman sèlman konprann zewo ak inite. Men, ki jan ka ki posib? Menm si w ap pa abitye nan tout ak sa ki nan anba kapo a, pwobableman ou omwen vin konnen òdinatè konprann binary-- jis zewo ak ones-- men ki jan yo kapab pètèt ou fè anyen enteresan? Oke, youn nan tèm yo nan klas la ki pral yo dwe sa a layering-- kote jodi a, nou pral pran Yon ti koutje sou rapid nan nivo ki pi ba detay, men ak chak pase jou, kote nou kouch oswa abstrè sou tèt sa yo detay ki aktyèlman rezoud pi wo nivo pwoblèm nan enterè yo ban nou. Se konsa, isit la se sa nou ta ka rele binary-- ak jis yon alfabè a 0 ak 1. Men, nou moun yo se sitou abitye avèk desimal. Le siyifikasyon 10. Bi sa vle di de. Se konsa, nan desimal a sistèm, nou gen 10 chif nan disposal-- nou an kou, zewo atravè nèf. Se konsa, si ou gade nan yon nimewo tankou sa a, pi fò nan ou entwitif jis atrab se sa ki 123. Pa gen anyen vrèman difisil sou sa. Men, poukisa se li 123? Oke, si ou panse tounen nan school-- klas oswa omwen wout la mwen te aprann sa a kalite world-- ou ta ka sonje ke nou trete sa yo bagay sa yo nan kolòn, oswa kote. Se konsa, nou gen plas nan yo menm sou bò dwat la. dè dizèn yo mete nan mitan yo. dè santèn yo mete sou bò gòch la. Lè sa a, ki jan nou jwenn soti nan modèl sa a symbols-- 1 2 3-- li nan yon nivo pi wo sa a lide ki nou konnen kòm 123? Oke, li nan sèlman kèk aritmetik senp. Dwa? Yon sèl nan gen esansyèlman vle di ban nou 100 fwa 1 plis 10 fwa 2 plis 1 fwa 3. Ak nan kou si nou fè soti nan matematik la, li nan 100 plis 20 plis 3-- ki te rekonèt kòm 123. Se konsa, si w ap sou nan menm paj kòm ke dwa kounye a epi yo konfòtab ak nan sa yo rele sistèm desimal kòm yon moun, li la aktyèlman byen nan sijè ki abòde ou nan konfò yo konsidere kounye a sistèm nan binè. Pran yon sovaj guess-- sa a reprezante, nan mond lan nan òdinatè nan binary-- ki nimewo? Zewo. Men, poukisa se sa? Oke, li sanble ke kolòn yo oswa kote isit lan-- yo ap pa pouvwa nan 10. 1, 10, 100, 1,000, ak pou fè. Yo ap olye de sa, byen tou senpleman, pouvwa nan 2. Se konsa, 1, 2, 4, 8, 16, 32, ak sou sa. Se konsa, kounye a nou nan kou li ale nan 0 isit la tou senpleman paske nou gen 4 fwa 0 plis 2 fwa 0 plis 1 fwa 0, ki nan kou ba nou 0. Men, ki jan m 'ale sou reprezante nimewo a 1? Ki sa ki nan modèl la nan zewo ak moun yo ki reprezante Nimewo nou moun yo konnen kòm 1? 001. Ak 2? 010. Epi, koulye a modèl la kòmanse either. Kounye a li nan 011. Epi ankò, 0 four, yon sèl 2, yon sèl 1. Se konsa, 2 plis 1. Sa a 3. Epi, koulye a ki reprezante 4, nou pa sèlman chanje sa 0 nan yon 1. Ou sòt de gen yo pote, se konsa pale, ak nimewo yo kòmanse ranvèrsan alantou jis tankou nan mond lan desimal. Se konsa, sa a se 4. Sa a se 5. Sa a se 6. Sa a se 7. Se konsa, nou te konte kòm yon wo 7. Koulye a, tout nou jis bezwen se pi plis yon bits-- plis zewo a ak yon sèl la. Ak tout bon "Bits", si ou te tande sa term-- chif binè. Bit se kote ki soti nan. Se konsa, si nou vle reprezante pi gwo nimewo, nou bezwen plis miyèt moso. Men, kite a avanse pou pi lwen glisad kounye a nan yon bagay yon ti kras plis reyèl. Sipoze ke nou vle aktyèlman reprezante bagay sa a. Oke kite a pran yon gade kounye a nan yon ti kras demonstrasyon. Se konsa, sa a se yon aplikasyon entènèt ki baze sou ke youn nan pwòp CS50 nan, Michael G, mete tèt yo ansanm ete sa a yo ede nou dégager egzakteman ide sa a. Apre sa, ta yon moun tankou antrepriz moute sou sèn devan tout kamarad klas li oswa li? Dwa gen nan devan. Vini non sou yo. Ou gen yo dwe konfòtab sou kamera ak entènèt la. Oh, isit la menm. OK. Nou OK. Tout dwa. Vini non sou yo. Kijan ou rele? Emily vin sou yo. Se konsa, sa a se Emily. Ki ane ou ye? Freshman. Emily, bèl al kontre ou. David. Tout dwa. Se konsa, moute sou ekran an isit la, nou gen sa a manyen ekran ki se ale nan pèmèt nou aktyèlman kominike avèk pwogram sa a, ak li nan jis yon navigatè. Li nan Chrome plen tès depistaj nan moman sa a, men li la te pwograme pa Michael reponn nan yon fason ki pèmèt nou yo jwe nan ak chif binè. Se konsa, pou egzanp, isit la nou pa gen twa men uit zewo bits-- ak inite. Dwa koulye a, nou ap gade nan nimewo a 0. Ak tout bon, tout uit zewo nan desimal vle di zewo. Se konsa, ki nan tout sa a, se ke yo te allusion nan isit la. Se konsa, si ou te vle reprezante ki kantite 8, sa ki nan modèl la nan zewo ak moun yo ke ou vle? Ou ka tou senpleman tiyo monte oswa desann oswa nimewo yo tèt yo. Tout dwa. Se konsa, ki nan kou se 8, jan ou ka wè moute a. Men, si nou te vle 16, ki sa nou fè? Oui, jis manyen l 'ankò. 16. Tout dwa. Se konsa, sa a se tout bon ak bon, li la toujou ki ba anpil nivo. Nou bezwen yon fason nan la reyèl nan mond lan pou Emily nan aktyèlman reprezante bagay sa yo. Se konsa, ta kwè ke nou vire sa yo zewo ak moun yo, ki se trè konseptyèl ekspresyon, nan anpoul limyè vrè. Dwa? Yon òdinatè se yon fizik, mekanik, aparèy elektrik. Apre sa, input-- li yo omwen si ou ploge li nan oswa chaj l-- se gen pouvwa batri ak elektwon ap koule tankou dlo nan ak soti. Koulye a, poukisa pa nou sispann panse sou Bits kòm zewo ak moun yo, men yon bagay ki pi fizik tankou anpoul limyè isit la. Men, si Dann Armendariz te kapab rantre nan m 'pou jis yon moment-- vin sou leve- nou ap ale nan nat moute yon aplikasyon. Vini non sou sou yo, Emily. Padon sa a se pi plis nan gòch Demo pou ou tout tan. Vini non sou sou isit la. Nou pral nat moute ak gras a Dann Armendariz, yon lòt manm nan anplwaye nou yo, yon aplikasyon li te ye tankou anpoul binè. Se konsa, sa nou gen isit la se yon aplikasyon iPad ki gen itilizatè ki anba la a koòdone sou ekran an pou Emily. Li nan jis te resevwa menm UI a egzak esansyèlman sa a, se sou la. Men, si ou kounye a ou vle reprezante ki kantite, di 8, ki jan ou ta ale sou fè sa a remarke sou bò dwat la, anpoul yo limyè ke nou gen isit la? Ah-ha. Majik. Se konsa, si nou vle kounye a vire sa a nan yon bagay yon ti kras plis difisil, e kite yo ale pi devan epi chwazi yon o aza Nimewo tankou nimewo a 50 isit la. Antre sa a. Men, si ou kapab kounye a ka defye vini ak nimewo a 50, nou pral gen yon pri Fabulous pou ou. EMILY: OK. O Bondye. DAVID Malan: Aritmetik se vre difisil nan devan nan dè santèn de kamarad klas ou yo. Men, 50 te gen repons lan isit la. [Aplodisman] Se konsa, kounye a, sa a se vle di ke yo gen démonstration pou Emily. Se konsa, nan isit la, se kèk limyè anpoul byen tankou sa yo, men li la aktyèlman nan ti kras bann mayetik. Ak sa ki nan fre sou sa yo ak rezon ki fè yo nou sèvi ak yo nan CS50 se yo ke yo sipòte yon bagay yo rele yon API-- yon pwogram aplikasyon koòdone, ki se jis yon fason anpenpan nan ki di ke sa yon moun nan anplwaye nou t 'sou te sezon lete an kreye yon aplikasyon iPad isit la ki chita pale sou entènèt la anpoul yo limyè sou isit la, ki se wirelessly konekte nan yon lòt aparèy. Men, sa a se kounye a yon opsyon pou pwojè final la. Se konsa, Emily, si ou ta se konsa tankou, nan fen tèm, ou ka dekore chanm dòtwa ou nan entre-temps la ak sa yo. Mèsi poutèt ou nan Emily kòm byen. [Aplodisman] Men koulye a,, se pou yo vire atansyon nou nan sa ta ka ke mesaj te te sanble ak, ak li nan yon ti kras yon bagay tankou sa a. An reyalite, sa a se yon egzanp menm jan yon kol nan sa ki nan vini nan sa ki nan rele yon demann API. Se konsa, sa nou genyen isit la se tou senpleman egzakteman kalite ki nan mesaj ke apre yon kèk semèn tan nan CS50, ou pral kapab voye nan yon bagay san patipri abitye tankou sa yo aktyèlman vire yo sou yo ak sou. Men sa se tout bon epi li bon. Dwa? Nou gen modèl la mantal èspere ke pou reprezante nimewo ak zewo a ak yon sèl la. Li te pran depi zewo ak moun yo, nou ka li ale nan pi wo nimewo tankou 50, kòm Emily jis te fè, oswa nou kapab deplase moute soti nan sa. Apre sa, mwen reklamasyon ke nou ka reprezante bagay sa yo tankou lèt kòm byen. Dwa? Odinatè yo byen lwen plis enteresan pase jis chif yo. Se konsa, kouman ou ale sou reprezante mo sou ekran an oswa Imèl oswa disètasyon oswa tankou an? Oke, li sanble ke òdinatè tou senpleman abstrè sou tèt nan sa yo nivo ki ba detay, ak moun kèk tan de sa, te vin ak yon abitrè, men yon ki konsistan, kat nan chif ki rive jiska letters-- se konsa ki nenpòt ki lè ou wè yon lèt kapital Yon sou òdinatè ou ekran, chans yo se sa ki nan anba kapo a se yon modèl nan zewo ak inite ki reprezante nimewo a, pou chak tablo sa a, 65. Ak plis ankò fizikman andedan nan òdinatè w lan, dè milyon de bagay sa yo rele transistors-- days-- sa yo ki yo se jis switch si ou vle, bagay sa yo ki ka ale sou yo ak sou yo ak pou imajine. Pa uit nan sa yo anpoul limyè gwo men dè milyon de sa yo limyè ti ti kras anpoul, oswa switch oswa tranzistò, ki ka vire sou yo ak sou ki baze sou ki jan ou pwogram yo. Se konsa, kounye a nou gen yon fason pou reprezante lèt kòm byen. An reyalite, si m 'te itilize sa a gewografik isit la epi eseye aktyèlman eple yon bagay soti, nou ta ka gade nan modèl sa a nan chif desimal kounye a. Se konsa, nou pa ap ale nan menm konsantre sou binè ankò. Se pou nou jis konsidere sa yo kòm nonb desimal 72, 73, 33. Men, sa ki ta ka sa a reprezante? Nenpòt moun ki gen yon ase fotografi memwa konnen sa k ap eple sou ekran an isit la? Yeah yon kèk. Se konsa, hi. H-mwen ak Lè sa a yon pwen esklamasyon, ki pa t 'aktyèlman sou ekran an. Men, tout bon gen nan yon kat pou chak lèt ​​bay chak nimewo ke ou ta ka vle tape sou klavye ou. Men, nimewo pa gen reprezante jis lèt yo. Dwa? Tout moun nan nou konnen sou imaj ak foto ak dosye odyo ak dosye videyo ak renmen an. Se konsa, byen klè nou ka reprezante pi wo nivo bagay toujou. Se konsa, sa yon òdinatè fè se tou senpleman chwazi ka esplike nou rèv modèl nan zewo yo menm yon fason diferan ki baze sou kontèks la. Si ou double klike sou yon Microsoft Word icon, ou wè mo sou ekran an olye pou yo koulè ak foto paske mo konnen ke sa a se yon redaksyon ke ou te aktyèlman tape. Si ou olye pou doub klike sou yon JPEG oswa yon GIF oswa yon PNG, li ouvè leve, li se yon imaj paske nan .png Oswa doso nan oswa kèlkeswa sa dosye a ekstansyon se ak tou sa lojisyèl w ap itilize konnen ka esplike nou rèv yon modèl nan zewo ak inite diferan ki baze sou sa objektif li nan lavi se. Se konsa, pou egzanp, sa a sekans menm nan nimewo ta ka reprezante ki kantite wouj ou vle, konbyen lajan vèt ou vle, ak konbyen lajan ble fè ou vle. Ak tout bon, si ou te janm tande pale RGB-- Se konsa, jis wouj ble vèt. Se konsa, si mwen wè nimewo tankou, sa a ban m '72 wouj, ban m' 73 vèt, ak 33 ble, sa a se ki jan yon òdinatè lè l sèvi avèk twa bytes-- kote yon multiple se uit Bits oswa 24 bits-- ta ka repwezante yon lonbraj bèl anbarasan nan mawon oswa jòn isit la. Ak nan kontèks diferan, te kapab sa yo egzak modèl menm nan zewo ak moun yo vle di yon bagay konplètman diferan kòm byen. Se konsa, nou gen kounye a yon fason pou reprezante zewo information-- ak inite. Sou tèt de sa, nou jwenn lèt yo. Sou tèt de sa, nou ta ka jwenn koulè. Li kite yo asime pou jodi a ke nou ka jwenn odyo ak videyo ak bagay sa yo pou pi plis sofistike pase sa. Men koulye a, se pou yo konsidere ki jan nou sèvi ak sa yo entrain epi ki pwodui moun rezilta kounye a ke nou gen yon fason pou reprezante enfòmasyon sa a. Bon, nou bezwen yon bagay rele yon algorithm. Yon fwa ankò, yon seri enstriksyon pou rezoud kèk pwoblèm etap pa étape-la ak plis presi, pi bon an. Se konsa, yon egzanp ak ki moun yo se Byensir mwens abitye jou sa yo, men Alòske se toujou avèk nou nan lojisyèl, se pwosesis la nan kap moute yon moun nan yon liv telefòn. Koulye a, mwens epi mwens jan konnen chak ane sa jan sa a aktyèlman se isit la. Men, tounen nan jou m ', sa a te yon liv telefòn ak dè milye de paj ak nimewo ak non moun la soti nan A jiska Z. E menm si nou ap kalite fason ou kapab triche yon bit-- sa a se sitou paj jòn. Te genyen tou blan paj nan moman an, ki te gen tout moun sa yo non ak nimewo nan èt aktyèl moun. Men, si mwen te vle gade yon moun moute nan yon liv telefòn tankou sa a jodi a, nan kou, Mwen jis tape nan premye kèk nan karaktè nan non l 'oswa li, ak telefòn mwen jwenn enfòmasyon sa a. Men, pwosesis la pa ki iPhone oswa android ou telefòn oswa kèlkeswa sa se aktyèlman jwenn yon moun nan lis kontak ou se ki idantik ak sa nou moun pwobableman te fè pou kèk tan. Koulye a, mwen te kapab pran sa a pwoblèm, si ou vle, ak entrain yo isit la yo pa zewo ak inite. Yo ap pages-- tankou, se pou yo di 1,000 paj. Men, si mwen te vle yo gade jiska yon moun renmen Mike Smith nan liv sa a telefòn, Mwen te kapab kòmanse nan kòmansman an ak wè ke mwen se nan seksyon an Yon ak Lè sa a vire yon paj nan yon tan, kap ak kap jan mwen fè nan B a ak C a ak D's ak pou fè pou Mike Smith. Smith kòmanse ak yon S, mwen pral èspere ke evantyèlman jwenn li. Èske algorithm sa a ki process-- kòrèk? Yeah. Li nan kòrèk. Mwen pral jwenn Mike si li se nan isit la, men sa ki nan opozisyon an ke ou ta ka ofri. Li nan ralanti. Dwa? Mwen konnen Mike S se sòt de nan direksyon lèt mwatye nan liv la telefòn. Poukisa èk la mwen kòmanse nan kòmansman an ak ale paj pa paj pa paj. Se konsa, nan kou, mwen te kapab baskile li ozalantou yo ak kòmanse soti nan do a, men sa k ap pase yo ka resevwa m 'gen nan menm ritm lan, si ou willl-- paj apre paj apre paj. E li pa k ap pase nan travay si mwen vle pou fè rechèch pou yon lòt moun ki gen Non vini pi bonè nan alfabè a. Se konsa, sa si mwen fè sa m ' te aprann sa nan lekòl klas, ankò, fè bagay sa yo pa pa yo menm men de pa de. Se konsa, 2, 4, 6, 8, 10, 12, ak pou fè. Eske se sa ke kòrèk? No Li nan kalite kòrèk. Men, gen kèk nan nou ki t'ap bougonnen sou pa gen okenn, kote se pwoblèm nan, oswa pinèz la, erè a se konsa pale. Yeah. ELÈV: Ou ta ka sote sou antre nan dwat. DAVID Malan: Yeah. Mwen ta ka sote sou Mike Smith se paske mwen te pran de paj nan yon fwa epi li jis k ap pase yo Sandwitch ant de paj sa yo. Mwen ta ka reyalize ke Mwen se sou nan seksyon an T pa jwenn Mike Smith ankò. Se konsa, sa ki ka fiks a gen ta dwe ye? Bon, si m 'fè frape nan Ts nan liv la telefòn, Mwen ta ka bezwen a doub tounen youn oswa konsa paj. Se konsa, li fixable, men li nan pa byen kòm senp kòm jis ap pase de a pi vit pèfòmans m 'yo. Men, sa ki? Vini non sou. Ki sa ki se sa ki pi moun yo ale fè ak sa a kalite anyè telefòn? Ou ap bay liv la telefòn. Ki sa w'ap fè? Kisa sa ye? Ale nan mitan yo. Se konsa, mwen tande ale nan mitan an, ak mwen jwenn mwen apeprè nan seksyon an M, se konsa pale. Koulye a, kisa pou m vle fè? Bon travay. Kijan ou rele? JAMES: Jak la. DAVID Malan: Jak, tout dwa. Kisa pou mwen fè apre sa? JAMES: Ou ale nan nan mwatye ki gen la a S. DAVID Malan: Tout dwa. Mwen pral ale nan mwatye a ki gen la a S nan li paske, ankò, yon bwi isit la se te ki bagay sa a Ranje. Li se yon bèl initil 1,000 paj si Verizon pa fè sa aktyèlman sòt bagay sa yo sa yo pou nou A jiska Z. Se konsa, si mwen konnen Mike se pwobableman nan lèt mwatye nan liv la telefòn, Mwen kapab kounye a. [Ri] Chire pwoblèm nan nan mwatye. [Aplodisman] Mèsi. Chire pwoblèm nan nan mwatye. Sa te aktyèlman real-- ke lit. Se konsa, chire liv telefòn nan mwatye, kite tèt mwen ak fondamantalman menm pwoblèm nan. Men, nan kou, mwatye kòm gwo. Men, si mwen se moun James a konsèy ankò, ak mwen ale isit la. M 'ap di, o koulye a, mwen se nan seksyon an T. Se konsa, nan kou, mwen ka chire liv telefòn nan mwatye yon lòt fwa ankò, kite m 'ak yon pwoblèm sa a, se kounye a yon ka nan gwosè a. Se konsa, mwen te ale soti nan 1,000 ak 500 a 250 a 125 ak pou fè. Li santi l tankou mwen se pran pi gwo mòde soti nan pwoblèm sa a ak chak iterasyon, oswa chak etap nan li. Ak tout bon, tan an mwen pral yo ap depanse jwenn Mike Smith nan egzanp sa a se konsa anpil mwens paske evantyèlman mwen se ale nan réduir liv Mete sa a desann jis yon paj Lone. Men, si Mike se nan paj sa, mwen se pral ale pi devan ak ba l ' yon apèl li te gen jwenn li. Men, jis ki jan pi bon se ke algorithm ki bay gabèl di entwisyon algorithm pase sa yo nou te kòmanse avèk ki nou ap trè lineyè kite yo regleman nan yon apante nan 1 oswa 2x? Oke, kite la trase sa a. Nou pa gen enkyete twòp sou matematik oswa nimewo nan ka sa a isit la. Nou jis gade nan yon grafik dispèsyon. Se konsa, sou x yo, oswa orizontal aks, se gwosè a nan problem-- la ki jan paj anpil ladan yo a. Sou y la, oswa vètikal la aks, se konbyen tan se li pral pran m 'nan rezoud li. E petèt sa a, se ki jan anpil paj vire, konbyen segonn, ki jan many-- kèk inite nan mezi. Apre sa, mwen te trase yon liy wouj dwat isit la paske si chak paj adisyonèl nan liv la telefòn, mwen mande pou fè yon sèl plis etap. Se konsa, si Verizon ajoute youn plis paj ane pwochen an, Mwen ta ka gen baskile yon sèl plis paj jwenn yon moun tankou Mike Smith. Pandan se tan, algorithm nan dezyèm lan, ki Mwen te ale de pa de, se fòm la menm. Li nan toujou trè lineyè, trè gòch a dwat, pran bytes egal chak fwa, men pant lan se yon ti kras pi ba yo. Pou egzanp, si gwosè a nan pwoblèm nan yo te apeprè isit la ak mwen itilize algorithm premye fwa mwen, Mwen ta ka fini tout wout la nan tèt la nan ke liy wouj. Men, si mwen olye sèvi ak twosies apwòch, liy lan jòn sijere paske li nan pi ba, ke li nan pral pran m 'mwens tan rezoud la. Men, sa ki nan fòm nan nan twazyèm algorithm ankò, joui algorithm nan pi entwisyon? Oke, li sanble yon ti kras yon bagay konsa. Li nan koube, oswa logaritmik, nan fòm. E menm si li pa janm kalite aplati soti, li asenptotik pous leve, li leve, li moute men fò anpil tou dousman kont tout lòt bagay. Ak sa ki nan pran la lwen? Oke, nou rele li boutèy demi lit n. Men, sa ki ki aktyèlman vle di? Byen si Verizon double nan kantite paj nan liv telefòn ane kap vini an soti nan 1,000 a 2,000. Konbyen plis etap se mwen premye algorithm pral pran? algorithm premye mwen. Petèt 1,000 plis etap. Si yo double nan liv telefòn, mwen pral fè yo baskile nan yon lòt 1,000 paj jwenn Mike. Natirèlman, si dezyèm nan algorithm, petèt 500 paske mwen se pral de fwa osi vit. Men, si Verizon double nimewo a nan paj ant ane sa a ak kap vini an, ak twazyèm mwen algorithm divize an ak konkeri ke James pwopoze a, pral nan mwatye ak mwatye ak half-- ki jan anpil plis etap pral li pran m 'ane kap vini an gen yon liv telefòn ki gen yon gwosè 2,000? Jis yon sèl. Paske ak yon sèl mòde, mwen ka pran, soti nan ke pwoblèm, mwatye nan paj sa yo ale. Men, si ou panse osijè de sa a yon ti kras crazily now-- si liv telefòn pa fè sa gen 1,000 oswa 2000 paj, men se pou yo di 4 milya de dola pages-- li nan yon gwo telefòn book-- ki jan anpil fwa oswa ki jan anpil etap se li pral pran m 'jwenn Mike Smith nan liv la telefòn ak 4 milya dola paj. Ou ka sòt de kòmanse fè matematik la. Tout dwa. 4 milya de dola divize pa 2. Se poutèt sa se 2 milya dola divize pa 1. Sa a 1 milya dola. Lè sa a, mwatye nan yon milya dola. Lè sa a, 250-- konsa ou ka fè sa ankò, li ankò men se pa ke anpil fwa anvan ou jwenn nan yon sèl paj. Ak tout bon, menm si telefòn nan liv se 4 milya de dola paj lontan oswa baz done a w ap chèche se 4 milya dola dosye long, li pral pran ou bay oswa pran 32 etap sèlman ke ou jwenn Mike Smith. Men, si ou double liv telefòn pwochen ane soti nan 4 milya de dola a 8 milya dola, 33 etap olye pou yo jis 32. Lè sa a se kontra Bondye nan youn nan ide yo ke nou ta ka anbrase nan òdinatè syans plis jeneralman, ki se panse sa a enfòmatik ak apwoche yon pwoblèm franchman lè l sèvi avèk zouti soti nan zouti deja abitye ou kit-- mond reyèl ou a ak ki w ap yo konnen yo, men exploiter ide sa yo ki aktyèlman rezoud pwoblèm. Men, nou bezwen formalizra nou an solisyon ak pwoblèm sa yo. Se konsa, kite m 'entwodui pou yon moman yon bagay nou ta ka rele pseudocode. Anpil nan semès la, nou pral pase lè l sèvi avèk aktyèl Kòd nan lang tankou C ak PHP ak JavaScript ak SQL ak renmen an. Men, pou kounye, se pou yo jis gade nan yon bagay san patipri entwisyon tankou lang angle. Mwen ta ka distile ki algorithm ak ki Mwen te jwenn Mike nan etap tankou sa a. Ranmase liv telefòn Louvri nan mitan nan liv telefòn Gade nan nan nan non Si Michèl se nan mitan an nan non rele Mike Lòt Bagay si Smith se pi bonè nan liv la Louvri nan mitan an nan mwatye nan bò gòch nan liv la Lòt Bagay ale nan liy 3 Lòt Bagay si Smith se pita nan liv la Louvri nan mitan an nan la dwat mwatye liv la Ale nan liy twa lòt Bagay Bay vag Apre sa, nan yon karakteristik kèk kounye a nan sa a ki vo montre yo. Se konsa, yon sèl, tout liy yo Mwen te make nan jòn nou ap ale nan kòmanse rele deklarasyon oswa fonksyon oswa pwosedi yo. Yo ap jis aksyon fè sa a, epi gen nan pa tout sa ki variation anpil nan li. Next etap isit la menm si, sa yo conditions-- si, lòt moun, lòt moun si, lòt bagay. Men rele kondisyon, oswa branch, e yo ap pwen desizyon. Apre sa, yo pèmèt nou fè yon bagay kondisyon. Ak an reyalite, kite a pran yon rapid gade nan petèt yon face-- abitye nou pral rele l 'Bill-- ak ekzakteman ki sa kondisyon sa yo, ki jan sa yo ta ka dwe itilize. BILL GATES: Moun fè desizyon chak jou. Pou egzanp, anvan ou ale deyò ou kalite gen yon deklarasyon si ki di, si li nan lapli, lè sa a mwen bezwen jwenn levit mwen. Ak òdinatè yo se etonan yon fwa ou deside sa yo kalite deklarasyon yo ke yo ka fiable egzekite bagay sa yo nan vitès enkwayab. Se konsa, yon pwogram òdinatè reyèlman se yon ti jan nan matematik ak kèk si deklarasyon kote vin desizyon an fè fè yo. DAVID Malan: Se konsa, kounye a kite a konsantre sou yon lines-- kèk diferan yo menm ki mwen te make nan jòn isit la. Epi li vire soti gen nan diferan fason pou eksprime ide sa a. Men, entwitif sa liy nou an 8 ak 11 ke mwen te make isit la di ou fè? Wi, ale nan liy 3, men ki sa konpòtman se ki vrèman pwovoke? Li nan kèk kalite riban oswa sik, epi ou ka kalite wè li. Dwa? Si sou liy 8, ou tounen nan liy 3, ak Lè sa a ou frape liy 8 ankò, ou ta ka tounen nan liy 3, tounen nan liy 3, tounen nan liy 3. Genyen sa a sòt de sik oswa riban. Ak tout bon, ki nan pwovoke nan liy 11 potansyèlman kòm byen. Lè sa a se yon debaz pwogramasyon konstwi kòm byen. Ou pa ta ka vle jis fè yon bagay ak yon deklarasyon oswa fè yon bagay kondisyon ki gen yon pwoblèm oswa branch. Ou ta ka vle fè yon bagay siklik ak yon riban. Epitou, n ap gen yon lòt moun ak ki moun ou ka familiar-- nou pral rele l ' Mark-- eksplike konsèp sa a isit la. Mak Zuckerberg: Youn bagay ki òdinatè yo reyèlman bon nan se repete kòmandman. Kòm yon moun, ou ta jwenn reyèlman anwiye si ou te fè menm bagay la anpil fwa nan yon ranje, men yon òdinatè ka fè menm bagay la dè milyon oswa menm dè milya de fwa epi yo pa jwenn anwiye epi yo dwe kapab pote ki soti vrèman byen. Se konsa, pou egzanp, si mwen vle swete tout moun sou Facebook yon anivèsè nesans kè kontan pa voye yo yon imèl, li ta ka pran m 'pi plis pase yon syèk yo aktyèlman ekri soti tout moun ki Imèl a tout moun. Men, liy ak jis yon kèk nan kòd, mwen kapab gen yon sistèm voye yon imèl bay tout moun sou Facebook ki yo yon anivèsè nesans kè kontan. Se konsa, se sa ki pasan ye epi poukisa yo ap gen anpil valè ak yon bagay ki òdinatè kapab fè trè byen. DAVID Malan: Anpil moun gras a zanmi nou nan code.org pou de fim sa yo. Epi jis semèn pase a, ou ta ka genyen wè ke Mak Zuckerberg ak Facebook afiche anons sa a, ki se ke yo jis te pase yon enpòtan etap enpòtan a pou premye fwa tout tan. 1 milya moun itilize Facebook nan yon sèl jou, espesyalman dènye Lendi. Youn nan sèt moun sou Latè aparamman louvri sesyon an Facebook. Oke, sa a sanble yon bon opòtinite tounen gade dèyè sou kote Facebook te kòmanse, epi nou mache ale nan tout CS50 nan pwòp achiv paske li vire soti nan 2005, Mak te bay yon konferans envite nan CS50. Ou pral wè ke valè pwodiksyon yo pa t 'byen menm do a Lè sa a, an tèm de teknoloji a ki disponib, ak ou pral tou wè ke prezans nan nan sa a konferans envite pa t 'nesesèman depi enterè a nan kò a elèv, chèf anvan ou, otan ke li ta ka gen jis yon kèk ane pita. Se konsa, kite a pran yon gade nan Syans Sant C. Oratè 2: Tanpri rantre nan m ', ak akeyi. [Aplodisman] Mak Zuckerberg: Yo. Tout dwa. Frais sa a se premye fwa mwen te janm yo te oblije kenbe youn nan bagay sa yo. Se konsa, mwen jis ale nan mete li vrèman byen vit. Tout dwa. Èske ou ka pran li? Èske sa se bon? Èske sa a anplifye nan tout? Tout dwa. Dous. Se konsa, sa a se tankou youn nan moman yo an premye Mwen te nan yon konferans nan Harvard, but-- DAVID Malan: Se konsa, evantyèlman Syans nan Sant te fè rale nan sou videyo a, men pa anvan kaptire sa a ekstrè kote pale Mak la, ki li diskite li kolokasyon, Dustin, ki moun ki te vle prete yon men ak sa a sit rele Facebook.com nan e yo reyalize ke Mak se sou yo mansyone nan pwogram languages-- yon sèl rele pèrl, youn rele PHP-- jan li décrit orijin yo nan kontribisyon Dustin la. Mak Zuckerberg: Mwen te kòmanse kouri sit la ak te lanse li nan Harvard nan mwa fevriye, 2004. Se konsa, mwen devine prèske de zan de sa kounye a. E nan lespas de yon koup la semèn, se yon kèk mil moun te siyen moute, epi nou te kòmanse resevwa kèk Imèl nan men moun nan lòt kolèj mande pou nou pou n lanse li nan lekòl yo. Apre sa, mwen te pran 161 nan moman an. Se konsa, mwen pa konnen si ou nèg konnen repitasyon nan nan kou sa, men li te kalite lou. Se te yon kou reyèlman plezi, men li pa t 'kite m' ak anpil tan fè nenpòt lòt bagay ak Facebook. Se konsa, Dustin kolokasyon mwen, ki moun ki mwen devine te fèk fin CS50, te tankou, hey. Mwen vle yo dwe ede soti. Mwen vle fè ekspansyon an epi ede ou konnen ki jan fè bagay la. Se konsa, mwen te tankou, sa a, se trè fre, dud. Men, ou pa vrèman konnen nenpòt PHP oswa yon bagay tankou sa. Se konsa, ki fen semèn li te ale kay la, te achte liv la pèrl pou nul, tounen vin ak te tankou, tout dwa. Mwen se pare yo ale. Mwen te tankou, dud, nan sit la ekri nan PHP pa pèrl, men sa a fre. Se konsa, li ranmase PHP sou tankou yon kèk jou paske mwen pwomèt ke si ou gen yon background bon nan C, PHP se yon bagay trè senp yo ranmase. Apre sa, li jis kalite te ale nan travay. Anvan nou pran yon gade kounye a nan kote kou a ki pral, pèmèt mwen envite sèlman kèk nan anplwaye SC50 a moute sou nan etap. Kèk nan yo ap fè makèt kou pwòp yo. Men, si moun TFs ak CAs ak kou tèt ki gen isit la te kapab vini sou moute yo ak rantre nan m 'pou yon alo rapid. Pèmèt mwen prezante an patikilye, Hanna, Maria, Daven, ak Rob, kou CS50 nan chèf isit la nan Cambridge. [Aplodisman] DAVID Malan: Vreman vre, nan kontra Bondye nan estrikti sipò ke kou a gen bati soti sou plizyè ane ki sot pase, anplwaye CS50 ane sa a nimewo prèske 100, e ke sa a isit la nan Cambridge pou kont li. Pandan setan, nan New Haven, yo gen kèk 40 TFs ak CAs ak manm pèsonèl gen nan kouri kou a kòm byen. Pèmèt nou prezante premye, Rob Bowden. ROB BOWDEN: Hi. Mwen se Rob. Sa a se ane sizyèm mwen TFing nan kou a. Se konsa, tout wout la tounen nan mwen nevyèm ane ane, mwen pa t 'pran CS50. nevyèm ane ou fall-- ou ta ka dwe abitye ke ou ka sèlman pran kat kou e gen kou anpil jodi a. Se konsa, mwen tankou, eh. Mwen te pran AP CS ane ansyen m 'lan nan lekòl segondè li te efreyan ankò. Se konsa, mwen se tankou, eh. syans òdinatè se pa pou mwen. Se konsa, Lè sa a, li te sou nan kou nan nevyèm ane mwen tonbe, ke mwen te gen yon zanmi nan CS50, ak Mwen panse ke mwen te ale nan youn konferans avè l '. Se tankou, o, sa a se kalite pi bon pase sa m 'te gen nan lekòl segondè. Apre sa, sou kou a nan la ane, mwen te gen pwòp ansanm pwoblèm mwen nan kou yo mwen te aktyèlman pran. Men, mwen te jwenn ke chak fwa mwen te vle gentan sou sa yo, Mwen ta ale tounen nan CS50 ak gade nan kèk nan ki bagay. Se konsa, yeah. Mwen se fre. Mwen atèrmwaman ak kodaj. Se konsa, Lè sa a, li nan nan fen sezon otòn la ke mwen reyalize, hey, syans òdinatè se trè fre. Mwen fini pran CS51. Nan semès kap vini an, Mwen fini pran CS61. Epi li tout soti nan la, Lè sa a, mwen fini deklare syans òdinatè, ki mwen te gen absoliman okenn entansyon pou fè lè m 'te vin nan kolèj. Epi, koulye a mwen isit la. Se konsa, kou a se ki sa ou fè nan li. Mwen espere ou jwi li. [Aplodisman] DAVID Malan: Mèsi poutèt ou nan Rob. Epi, koulye a Maria, nou an tèt kou asistan. MARIA: Hey guys. Non mwen se Maria. Mwen se yon sophomore nan Cabot House, vini soti nan Bilgari, ak mwen se super eksite yo dwe yon pati nan anplwaye a ane sa a. Mwen te pran CS50 kòm yon elèv nevyèm ane ane pase a, ak mwen pa janm menm panse sou CS davans. Se konsa, mwen absoliman renmen kou a, ak mwen espere ou tout renmen li kòm anpil jan mwen te fè sa. Epi, yeah. Byenveni nan CS50. DAVID Malan: Mèsi poutèt ou nan Maria. [Aplodisman] Koulye a, Hanna, parèy tèt ansèyman nou an. HANNA: Hi, mwen se Hanna. Mwen se yon wo grade nan Cabot etidye syans òdinatè. Mwen te pran CS50 kòm yon elèv nevyèm ane ak te gen te TFing-- sa a pral twazyèm ane m 'yo. Se konsa, mwen pral san pwoblèm mwen tap patisipe nan CS50 pou tout kat ane, ak mwen kap pou pi devan kontinye travay ansanm ak nou tout. DAVID Malan: Mèsi poutèt ou nan Hanna. [Aplodisman] Epi anfen, Daven, precepter nou an. DAVEN: Hey guys. Mwen se yon kòmandman sou nan syans òdinatè isit la. Sa a pral ansèyman katriyèm lanne mwen. Mwen menm mwen te ede jere kou a. Se konsa, mwen si ke ou pral wè m 'alantou li, espesyalman nan lè biwo. Mwen se toujou nan lè biwo. Se konsa, si ou wè m 'mache alantou li, definitivman vini di hi. Mwen renmen al kontre tout moun. Sinon, gen plezi, epi mwen pral wè ou alantou. DAVID Malan: Mèsi poutèt ou nan Daven kòm byen. Se konsa, ou pral ranpli tout jan sa yo anvan lontan. Men, san yo pa plis tarde, si ou nèg ta renmen kourikouloum-vite plas ou a soti nan pi bonè. Pèmèt mwen prezante soti byen lwen kounye a kèk nan zanmi nou yo soti nan New Haven, an patikilye tèt kou a nan ki pral dwe sipèvize CS50 there-- Pwofesè Brian Scassellati, Jason, ak Andi, ki just-- pou nou pa t 'tante sò ak nenpòt FaceTime oswa like-- la gen sèlman voye nou minit Anons sa pibliye depi videyo sa a nan ki yo di alo soti nan sal konferans nan Yale, nan ki konferans se ke yo te difuze kounye a. Se konsa, zanmi nou yo soti nan Yale. BRIAN SCASSELLATI: Hi, David. Hi, tout moun nan Harvard. Nou yo, se pou eksite yo dwe pote CS50 Yale semès sa a. Non mwen se Brian Scassellati, men tout moun jis rele m 'SCAs. Apre sa, mwen se isit la jodi a prezante bay ou anplwaye a CS50. [Bat bwavo] Ak plis ankò enpòtan, mwen se isit la prezante kòm byen tout elèv yo nan Yale ki moun ki kòm nan maten sa a te fè sa a ki pi popilè a kou nan Yale elèv yo CS50. [Bat bwavo] Se konsa, nou ap trè eksite yo dwe wè ou isit la nan Vandredi ak nan Samdi pou Puzzle Lajounen kou gen yon gwo konferans. Bye. [Aplodisman] DAVID Malan: Sou ekran an isit la se non yo nan kèk nan 140 anplwaye manm ki tann ou sou la kou nan nan semester-- kèk nan yo isit la nan Cambridge, kèk nan yo isit la nan New Haven. Ak tout bon ou pral gen yon opòtinite sa a Samdi, kòm SCAs nòt, nan ale nan CS50 Devinèt Jou. Ou ta ka te wè moso devinèt ti kras glise anba papòt ou dènyèman. Nou gen yon depans siplemantè kèk isit la pita sou lè ou egziste. Si ou rasanble tout devinèt kat moso ak rantre fòs yo ansanm ak chanm ou ki tou pre nan ou kay oubyen dòtwa, yo pral rasanble nan yon code-- QR oswa yon de dimansyon postal ba, ki yon fwa reyini ak tcheke ak telefòn ou pral mennen ou nan kèk pwi Fabulous or-- Mwen ta kwè ou ta ka jis foto sa a kounye a kòm byen. Men, jwenn moun moso devinèt Alòske nan lòd pou pou genyen ki pwi Fabulous. Ak tout bon youn nan tradisyon yo nan SC50-- ah, tou dousman. Youn nan tradisyon yo nan CS50 se sèvi gato apre konferans la an premye. Se konsa, tout bon, nan yon kèk minit nan kounye a, pral gen gato te sèvi deyò tou de isit la ak New Haven kòm byen. Men, first-- nou dekore yo tèt nou. Men, first-- ak èspere ke gen pral ase. Men, anvan, yon gade rapid. Se konsa, konferans se vre yo pral pwodwi sitou isit la nan Cambridge. Men, chak mwa, nou pral hop desann nan Yale ak ekip pwodiksyon CS50 nan ak kouran kou a nan ranvèse a direksyon kòm byen pou kòm yo pote de kanpis sa yo se vre wi: la pou premye fwa nan istwa kòm fèmen ansanm ke posib kòm youn nan kou a menm. An tèm de estrikti nan sipò sa a, se te leve kanpe isit la nan Cambridge kòm byen tankou nan New Haven, yo seksyon. Vreman vre, tankou kèk ladan ou ka konnen, nou gen tren diferan nan kou a pou moun mwens konfòtab, pi alèz, ak yon kote nan ant pou ke endepandaman de jan nou koumanse anvan ou, ou ka finalman reyisi nan klas la. Biwo èdtan pandan se tan, se yon opòtinite sou lendi ak madi ak Jedi aswè nan travay tou de isit la ak nan New Haven sou kou nou an aparèy televisyon HD pwoblèm ak plizyè douzèn anplwaye kou a nan toupre ak ou. Pwoblèm kouche pandan se tan, yo sipòte pa bagay nou rele valktroug, ki fè yo ki baze videyo tutoryèl ki vrèman reponn FAQ nan ki kote yo kòmanse defi yon semèn nan. Apre sa, postmortems mache ou nan solisyon ki posib se konsa ke nan fen a pwoblèm mete tou, ou konnen ekzakteman ki sa ou te kapab te fè yon fason diferan oswa tout ansanm otreman. Pwoblèm nan kouche tèt yo vini nan de edisyon, yon edisyon estanda ki nou espere epi envite pi fò nan class-- nan kèk 90% plis yo do-- ak yon sa yo rele HACKER edisyon ki te sou chak paj se senbolize HACKER edisyon, HACKER edisyon, HACKER edisyon, pou ke ou gen ki kama si ou vle, pou plonje nan vèsyon ki pi avanse nan ansanm pwoblèm kou a nan ke kouvèti ofisyèlman materyèl la menm men ki gen yon apwòch pi plis sofistike ak ak lòt jan nou koumanse pafwa prezante. Pandan se tan, ki genyen nèf jou an reta ki ou ka aplike nan pwoblèm kou a nan kouche osi byen ke nòt la pi ba a, nou lage nan fen tèm yo. Men, sa ki ap tann? Oke, yon gou nan pwoblèm nan kouche nan men nan Vandredi ak semèn pwochèn kote nou travayèz pou jis yon kèk jou nan yon bagay rele grafouyen, yon pwogram grafik lang devlope pa zanmi nou nan Laboratwa Media MIT a ki pèmèt ou nan pwogram swa a pou premye fwa oswa nan yon anviwònman nouvo tout ansanm lè l sèvi avèk yon trennen ak gout anviwònman kalite. Kijan moso devinèt sèlman interrupteur ansanm si li fè sans lojik yo fè sa. Pandan se tan nan pwoblèm mete de ane pase a pou egzanp, t 'nou entwodui klas la nan mond lan nan chifreman, atizay la nan chifreman oswa eskalade enfòmasyon. Vreman vre, sa a tèks la a si dechifre, yo pral aktyèlman mennen ou nan kèk destinasyon plezi. Ak nan pwoblèm nan mete, sa nou te gen elèv yo fè se aplike egzakteman sa yo kalite things-- yon algorithm, oswa yon seri enstriksyon pou eskalade ak eskalade enfòmasyon. Ak nan edisyon an aker nan ki menm seri pwoblèm, t 'nou defi elèv yo pran yon chiffres dosye soti nan yon òdinatè tipik sistèm avèk anpil usernames ak modpas chiffres ak krak moun passwords-- aktyèlman konnen sa yo te san yo pa konnen anyen yon priori sou moun modpas vrè. Pandan se tan, fè nou tranzisyon nan pwoblèm nan kouche Lè sa a, gade nan mond lan nan grafik. Ak an reyalite, ou ta ka imajine kounye a ke sa a te kapab petèt dwe wout la pi senp ki reprezante yon imaj nwa ak blan. Yon pixel blan, oswa kare, tankou sa ki a tèt dwat la, ta ka reprezante ak yon 1 ak yon kare nwa ta ka reprezante ak yon 0. Epi jis lè l sèvi avèk plis Bits tankou nou pwopoze pi bonè ak 72 ak 73 ak 33, nou te ka reprezante piksèl koulè kòm byen. Ak sa ki nou fè pandan pwoblèm sa a seri se jeneralman pran yon toune alantou lakou lekòl la ak yon kamera dijital, pran foto nan moun, kote, ak bagay sa yo. Lè sa a, yon jan kanmenm chak semès, nou yo sanble yo aksidantèlman efase oswa fin pouri kat la memwa ki te sou tout moun ki foto yo, ak pou ou yo defye Lè sa a, ekri lojisyèl ak ki refè moun JPEGs ki sòti nan yon kopi kat kamera nou an. Pandan se tan, nou lage ou pita nan tèm nan yon diksyonè nan mo angle sa yo ki te 143,000 mo, epi ou bezwen vini ak yon fason entelijan nan loading yo nan memwa, oswa RAM se konsa pale, reponn demann nan fòm nan: se sa a yon mo, se sa a yon mo, mete ann aplikasyon nan pi rapid korektè période ki ou kapab, menm epenglaj tèt ou potansyèlman kont kamarad klas yo wè ki nan nou sèvi ak kantite lajan an piti nan tan lè kouri kòd ou a e menm kantite lajan an piti nan memwa. Pita nan tèm fè ou aktyèlman aplike ou sèvè wèb pwòp. Se konsa, pa jis yon sit entènèt nan yon lang yo rele HTML ak plis ankò, men yon sèvè sit entènèt ki aktyèlman koute demann sou entènèt la ak reponn a yo. Ak tout bon, sa a se ki jan nou pon mond nou an nan C ak kote ou pral vin abitye semèn pwochèn ak PHP ak HTML ak JavaScript ak CSS ak renmen an. Paske youn nan entènèt la premye ki baze pwojè nou fè pita nan tèm nan se istorikman CS50 Finans. Etrade.com style yon sit entènèt ki pèmèt ou yo achte ak vann aksyon nòmalman pandan y ap tou ekri kòd pou pale ak Yahoo Finans ap resevwa semi stock tan reyèl site yo nan lòd yo mete ajou dosye pwòp ou yo. Men, anfen nan kou, se project-- final la yon opòtinite yo fè anyen pi fò nan enterè ou yo rezoud yon pwoblèm isit la oswa pi lwen pase nan enterè ou sa a, se yon jan kanmenm enspire pa leson yo aprann nan klas la. Ak klas la, kòm ou ka konnen, termin nan sa yo rele CS50 Hackathon ak CS50 san Patipri ak nenpòt ki kantite nan lòt evènman kiltirèl nan tout semès la ki pèmèt ou angaje youn ak lòt ak anplwaye kou a. Pou egzanp, nan Dife ak glas nan Sitar ane sa a, byen, nan Vandredi apremidi, nou envite kèk 50 elèv yo nan manje midi, moun ki va ta renmen rantre nan nou, tèt mwen, ak anplwaye a, ak zanmi nou yo soti nan endistri yo ak alums nan chat sou lavi nan mond reyèl la ak pi lwen pase pandan y ap jwi yon manje midi bon. Nan Hackathon a pral ou wè imaj sa yo tankou sa yo, ki gen ladan anpil candy-- yo ak jan de 2014 pou time-- an premye legim yo. [Aplodisman] Men, pa 5:00 AM, fè sèn nan anjeneral gade yon ti kras yon bagay konsa. Lè sa a, jis yon semenn oswa se konsa apre sa, se san Patipri a CS50 yo ki kèk 2000 plis elèv ak anplwaye ak pwofesè manm ki sòti atravè lakou lekòl la ak toupatou nan kanpis ane sa a vin wè ak pran plezi nan a reyalizasyon nan CS50 elèv yo, ki se kounye a ou. Ak tout bon, pandan y ap ane sa a nou pral dwe envite yo ak sèvis otobis nenpòt moun ki nan nan Yale ki ta renmen vini nan Cambridge sa a Samdi pou CS50 Devinèt Jou, epi nou pral fè egzak menm bagay la nan mwa desanm pou Hackathon la CS50 se konsa ke Harvard ak Yale elèv yo sanble separe nan tou de nan aktivite sa yo. Nou pral tou kenbe CS50 fwa nan Cambridge ak nan New Haven ane sa a yon fason pou elèv sou tou de kanpis ak anplwaye ak pwofesè ka wè chak respektif akonplisman lakou lekòl la a. Ak moun ki reyalizasyon pral pwovoke memwa sa yo tankou sa a ak sa a epi finalman sa a, nan kote tout nan nou sòti klas la mete yon ti kras yon bagay nan kote ou te èspere ke kè kontan oswa fyè yo di ke mwen te pran CS50. Men, anvan sa ak anvan nou sèvi gato, nou te mete together-- gras a CS50 nan ekip pwodiksyon ak yon sèten pwòp tèt ou moso bwa, okazyon an yon sèl ke nou itilize bagay sa yo pou- lè nou voye l ' pa sèlman isit la nan Cambridge men tou, yo New Haven nan ranmase yon hellos kèk nan la anplwaye kou a ak tout nan jan yo w ap rankontre tou de isit la ak nan New Haven nan mwa sa yo. Pèmèt mwen prezante yon kèk plis nan anplwaye CS50 la. Mak Zuckerberg: Èske ki fè li ale? Oh, li k ap pase. Li k ap pase. Ooh. Yarr! [MIZIK jwe ANDY Grammer, "HONEY, mwen  GOOD "] MARY: Sa a se Caitlin. Sa a Jay, ak mwen se Mari. Sato: Hi, guys. Mwen se Sato. MICHAEL G .: Hi. Non mwen se Mikayèl, G. Doug LLOYD: Mwen gen pa. No Mwen se Doug Lloyd. Mwen pa ka kwè ke mwen kenbe yon selfie bwa kounye a. Oratè 4: Hi. Oratè 5: Hi. Oratè 6: Hello. Oratè 7: Hi. Oratè 8: Hey. Nou ap pandye soti nan Yale. Nou vrèman eksite pou sa a semès paske li nan premye fwa li la vini nan Yale. Li k ap pase yo dwe awizom! [MIZIK jwe] JACOB SCHERBA: Non mwen se Jakòb Scherba. Mwen se eksite yo anseye CS50 paske mwen panse ke li pote syans òdinatè nan moun nan ak abòdab fason. Oratè 9: Mwen vrèman eksite yo anseye CS50 paske mwen te pran klas la ane pase a, ak li a youn nan klas yo pi byen. Oratè 10: Yeah. Konsèy mwen se ou ta dwe pran CS50. JACOB SCHERBA: mwen te chwazi CS paske Mwen panse ke li nan yon plezi ak kreyatif fason yo rezoud pwoblèm nan yon fason analyse. Oratè 11: Retounen lè m 'te yon ti kras nevyèm ane ak pè nan syans òdinatè ak pè pou fè jeni ak lòt bagay, li te premye klas la difisil Mwen te pran, epi li te tou klas pi renmen m 'tout tan. Doug LLOYD: Sa a se m ' ane nevyèm ansèyman CS50. Sa fè m 'son se konsa fin vye granmoun! Genyen toujou yon bagay nouvo. Genyen toujou yon bagay enteresan. Genyen toujou nouvo defi fè fas a pa nouvo elèv, epi li plezi yo ede yo ak fè eksperyans sa yo defi ak yo epi ede yo rezoud pwoblèm yo. Oratè 12: Lè m 'premye aprann ki jan fè CS, li te tankou aprann yon pouvwa super. Men, wè ke nan lòt elèv epi ede yo nan pwosesis sa a se youn nan pi a bagay rekonpanse mwen te tout tan. Oratè 7: Mwen te chwazi CS paske se nan la kòmanse, mwen te yon konsantrateur matematik Se konsa mwen chwazi CS50 ak tonbe nan renmen ak li. Mwen menm mwen te te santi ke ak CS, mwen te kapab bati bagay sa yo. Epi sa, mwen te panse, te yon aspè vrèman fre. Oratè 13: Gen kèk konsèy pou nouvo elèv yo se ale nan lè biwo ak pann soti ak awizom TFs a. Oratè 14: Kòmanse ou P-kouche byen bonè, ale nan lè biwo louvri, vin frends ak TF ou yo. Oratè 15: Yeah. Tout li te di. Oratè 16: Ou pa bezwen pè pou mande pou èd. Oratè 17: Yeah. Oratè 18: Kòmanse ou P-kouche bonè. Oratè 19: Li se yon gwo eksperyans sosyal. Fè yon anpil nan zanmi nan fason sa. Oratè 14: Ale nan seksyon Li amizan. Oratè 11: Mwen vle di, ale pou li. Li nan reyèlman difisil. Ou ap jwenn soti nan li ki sa ou mete nan li, men li la yon reyèlman plezi klas espesyalman si w ap vle mete tan an nan li, men li te ede si ou mete tan nan li. Ou ap jwenn yon anpil plis soti nan li pita sou. MIKE: Mwen gen Mike. CAMILLE: Mwen gen Camille. HANYA: Mwen gen Hanya. MATT: Mwen gen Mat. PETER: Se mwen menm Pyè. PHILLIP: Mwen gen Phillip. PATRICK: Mwen gen Patrick. ROB BOWDEN: Mwen gen Rob Bowden. BRIAN SCASSELLATI: mwen non se SCAs, ak sa a men TOUT: --is CS50. Oratè 20: Nan Yale. Oratè 21: Nan Yale. [Ri] DAVID Malan: Sa a li pou CS50. Nou pral wè ou soti nan Yale sou Vandredi, Puzzle jou nan Samdi. Gato se kounye a sèvi. Sa a se CS50. [MIZIK jwe]