[Halisi kucheza] [MUSIC - Rossini, "RANZ DES VACHES "KUTOKA WILLIAM TELL] [MUSIC - SWAHILI BEAT, "MACHI YA WAKUU wakata "] [Makofi na kuwashangilia] DAVID Malan: Hivyo hii ni CS50. Jina langu ni David Malan. Na 73% ya wewe huna uzoefu kabla na sayansi ya kompyuta, kinyume na kile unaweza kufikiri. Hivyo leo sisi mawazo tunataka Chip mbali saa kwamba ukosefu wa uzoefu, lakini pia kukupa hisia ya, kwa wale na faraja zaidi, ambayo maelekezo unaweza kwenda huu muhula. Basi hebu kuanza na hili. Mimi kwa kweli sielewi nini ndani ya kompyuta, ingawa, kama wewe, mimi matumizi ya kila siku. Lakini ni baadhi ya aina ya boksi, na kuna si wengi pembejeo ndani yake. Chini, kuna, nini? Pengine kamba nguvu. Na kwa kweli na hii kiungo moja, umeme, sisi wanaonekana kuwa na uwezo wa kufanya kidogo kabisa siku hizi. Lakini mwisho wa siku, sisi na kuwakilisha mambo kwamba sisi huduma ya juu. Tuna kuwakilisha habari kwa namna fulani. Na wewe pengine angalau bila kufafanua ukoo na wazo kwa binary au bits namna fulani au nyingine, kompyuta kupunguzwa kwa zeros na ndio. Lakini tunaweza kukubaliana kwamba na angalau kuweka kidogo ya mwanga ya kwamba? Hivyo nina hawa wadogo dawati taa hapa. Nina plagi ya umeme hapa. Na mimi naenda kwa kupendekeza kwamba ndani ya ya kompyuta yangu ni angalau moja ya mambo hayo, kitu uwezo ya kuwa switched juu au mbali. Katika kesi hiyo, ni kweli taa dawati, lakini katika ngazi ya chini, ni kitu kuitwa transistor. Lakini katika ulimwengu wetu, ni taa dawati, hivyo Mimi nina kwenda mbele na kuziba hii katika umeme yangu hapa. Na mimi kudai kwamba kwa kutumia hii rahisi, rahisi kifaa, hii kubadili rahisi, mimi wanaweza kuwakilisha taarifa. Kwa mfano, sasa hivi, mimi ni anayewakilisha kitu, sawa? Mimi anayewakilisha kile Mimi nitakuita 0 au uongo, kinyume cha kitu kweli kuwa sasa. Lakini kama mimi tu kugeuka hii kubadili, sasa nimepata kuwakilishwa 1. Hivyo kwa kutumia kipande hii rahisi sana ya kumbukumbu, kama wewe, mimi wanaweza kuwakilisha habari. Sasa kwa bahati mbaya, kompyuta yangu haiwezi kufanya mambo ambayo yote. Inaweza tu kuwakilisha maadili mbili katika dunia nzima - 0 au 1. Lakini nini ufumbuzi wa dhahiri, sasa, kama tunataka kupanua kompyuta yetu ya kumbukumbu na kuwakilisha zaidi kuliko tu 0 na 1? Naam, hebu kunyakua mwingine kidogo vile. Hebu kunyakua mwingine kubadili, mwingine transistor, hata hivyo Ningependa kufikiri juu yake. Hebu kwenda mbele na kuziba hii ndani ya kompyuta yangu pia. Na mimi nina kwenda kudai, sasa, kwamba kwa kutumia kidogo zaidi ya umeme na kugeuka zaidi ya swichi haya juu na mbali, mimi wanaweza kuwakilisha zaidi vile habari. Hivyo sasa hivi, hii ni 1. Kama nataka sasa kuwakilisha 2, mimi naweza kufanya hili. Lakini kwa kawaida, mkataba huo, kama tutaweza hatimaye kuona, itakuwa na mimi kufanya hili. Hivyo hii ni 0, hii ni 1. Hii itakuwa ni 2. Na si ya kushangaza, hii itakuwa ni 3. Hivyo kwa njia hii, bado, unaweza sisi kuhesabu hadi hata zaidi? Kama mimi kupata kidogo ya tatu, kubadili tatu, nini idadi kubwa naweza sasa kuhesabu hadi kutoka 0? Hivyo 7 kama nina kuanzia saa 0, haki? Kwa sababu kama mimi kugeuka hii mwanga juu na kweli kuziba hii ya tatu na ya mwisho mwanga katika tundu yangu umeme hapa, basi nina uwezo wa kuwakilisha yoyote ya maadili mbili hapa, mbili maadili hapa, mbili maadili hapa - na hivyo mimi wanaweza kuwakilisha mara 2 mara 2 2, au nane inawezekana maadili. Na kama mimi kuanza uhasibu katika 0, hivyo hiyo ni 0, 1, 2, 3, 4, 5, 6, 7. Hivyo binary hii. Ni kweli ni rahisi kama hayo. Na ningependa kusema kwamba hii ni kweli familiar kabisa kwa wengi kila mtu katika chumba hiki. Hebu kwenda mbele na kufungua Nakala kidogo mhariri hapa. Na unaweza kukumbuka kutoka shule ya daraja kwamba tulikuwa na mambo kama mamia mahali, mahali pa makumi, na ndio nafasi. Na kukumbuka kwamba kama alikuwa na baadhi ya decimal simu, kama kitu random kama 123, wewe ungekuwa kimsingi kuandika kwamba katika fomu ya hizi nguzo tatu. Na kwa nini ni 1, 2, 3 kile tunajua kama 123? Naam, katika safu leftmost, tuna moja 100 plus mbili 10s, hivyo kwamba ni 120, plus tatu 1s, hivyo kwamba ni 123. Sasa hii ulimwengu kwamba sisi tu mwanga ni sawa kama tumekuwa na mazoea na kwa miaka, ila sasa, nguzo yetu si madaraka ya 10. Wao ni tu mamlaka ya 2. Hivyo ambapo hiyo ni mahali ndio, hii ni kwenda kuwa mahali wawili-wawili, hii ni kwenda kuwa mahali pa fours. Na kwa sababu mimi tu kutumia rahisi ya utaratibu wa kugeuza mambo na mbali - umeme unaotokana au umeme si inapita - Sijui kabisa kuwa expressive huo mbalimbali kama 0 kupitia tisa. Tunakwenda kushika ni super rahisi katika dunia hii ya kompyuta. Mimi tu 0 au 1 - au kuizima, uongo au kweli. Na hivyo nini mimi anayewakilisha sasa hivi ni 1, 1, 1, kwa sababu kila moja ya haya taa ni mwanga. Naam, kwamba anatoa yangu mmoja 4 pamoja na moja 2, hivyo hiyo ni 6, pamoja na moja 1, na kwamba ni 7. Na ergo gani hii mlolongo wa tatu bits kuwakilisha namba 7. Hivyo muda wote huu, ndani ya yako kompyuta, wamekuwa idadi yoyote ya transistors, idadi yoyote ya bits. Lakini mwisho wa siku, sisi wanaweza kuwakilisha habari kama tu kama hiyo. Sasa kwa bahati mbaya, tumekuwa tu kuhesabiwa hadi 7 katika CS50 hivi sasa, lakini hopefully tunaweza kufanya kidogo bora kuliko hiyo. Na kwa kweli tunaweza. Tuseme kwamba sisi kama binadamu tu kiholela aliamua kwamba sisi ni kwenda kujiunga namba kama 1 na 2, 3, 4, 5, 6, 7, na barua maalum ya alfabeti. Na kwa sababu za kihistoria, mimi naenda kuanza kwa kiasi fulani kiholela, lakini nina kwenda kusema, binadamu, sisi ni kwenda kuamua kama kawaida, kimataifa, kwamba 65 inawakilisha idadi herufi A. 66 itakuwa kuwakilisha B. Dot, dot, dot. 90 itakuwa kuwakilisha Z. barua Na hebu tuseme, kama sisi kweli kuweka baadhi ya mawazo ndani yake, tunaweza kuja na namba kwa pointi Moderators na ndogo barua, na kwa kweli, watu wengine wamefanya hivyo kwa ajili yetu. Hivyo sasa sisi alikuwa bits na ambayo tunaweza kuwakilisha nambari, nambari na ambayo tunaweza kuwakilisha barua, na kwa barua tunaweza sasa kuanza kutunga barua pepe na wahusika kuchapa kwenye screen. Hivyo basi mimi kukaribisha, kama mimi naweza, nane jasiri kujitolea - ambao hawana akili kuonekana si tu kwenye kamera lakini kwenye mtandao - kuja hapa na kuwakilisha nane vile bits, badala ya hizi tatu. Basi vipi kuhusu moja, mbili? Vipi kuhusu tatu? Vipi kuhusu nne katika mwanga bluu, tano juu ya mwisho? Kuhusu mtu zaidi ya hapa? Sita mbele, saba mbele, na nane mbele, kama vile. Hivyo mimi tu, ikawa kuja tayari pamoja na kundi zima la karatasi. Na juu ya vipande haya ya karatasi ni idadi kwamba kuwakilisha nini nguzo nyie ni kwenda kuwakilisha. Hivyo itakuwa - nini jina lako? MWANAFUNZI: Anna Lea. DAVID Malan: Anna Leah, wewe itakuwa safu 128s. Wewe ni? MWANAFUNZI: Chris. DAVID Malan: Chris mapenzi kuwa na safu ya 64s. Wewe ni? MWANAFUNZI: Dan. DAVID Malan: Dan mapenzi kuwa na safu ya 32s. MWANAFUNZI: Pramit. DAVID Malan: Pramit mapenzi kuwa na safu ya 16s. MWANAFUNZI: Lillian. DAVID Malan: Lillian itakuwa 8s. MWANAFUNZI: Jill. DAVID Malan: Jill mapenzi kuwa safu 4s. MWANAFUNZI: Maria. DAVID Malan: Mary itakuwa 2S, na? MWANAFUNZI: David. DAVID Malan: David mapenzi kuwa safu 1s. Hivyo kama wewe guys inaweza hatua kidogo mbele ili kila mtu anaweza kuona. Nini nyie si kuona ni kwamba juu ya nyuma ya slips haya ya karatasi ni kidogo kudanganya karatasi hiyo ni juu ya kuwafundisha bits hizi nane ama kuinua mikono yao au kuinua mikono yao. Kama mikono yao huenda juu, wao ni anayewakilisha 1. Kama mkono wao anakaa chini, wao ni anayewakilisha 0. Wakati huo huo, sisi watazamaji lazima uwezo wa kufikiri, kwa kuzingatia hili ramani, nini barua tatu neno hizi folks ni kuhusu Spell nje. Hivyo katika muda tu, wewe ni kwenda kusoma mstari wa kwanza mbali ya nyuma ya karatasi yako ya kudanganya, na wewe ni ama kwenda kuongeza au si kuongeza mkono wako. Kama wewe ni 1, unaweza kuongeza, kama wewe ni 0, unaweza kusimama pale awkwardly, tu kama hiyo. Kwenda. Nini idadi, kwanza kabisa, ni haya guys anayewakilisha? 66. 66, sawa? Tuna 1 katika safu ya 64s, 1 katika safu 2S. Kwamba anatoa mimi 66, hivyo kwamba inaonekana kuwa anayewakilisha B. Hivyo guys kuwa yameandikwa - OK, hiyo inatosha. B. Hivyo sasa hebu kuhamia kwenye barua yetu ya pili. Kwenda. Nani haraka katika math hapa? Hivyo 79. Tena, kama sisi kuongeza juu ya nguzo ambayo kuna 1, sasa, tu kama sisi alifanya kabla na rahisi mifano ya 7, sisi sasa kupata idadi 79. Ambayo kwa mujibu wa ramani yetu ni barua O. Hivyo sisi ni karibu na hapo. B, O. Na Mwisho, kwenda. Ni watu wa anayewakilisha sasa? Chini ya makubaliano. Hiyo tu msinung'unike kabisa. Ndiyo, ni kweli 87. Nzuri. Hivyo kama sisi sasa ramani kwamba nyuma hadi - hebu kuanza wito chati yetu ASCII, American Standard Kanuni kwa Habari Interchange. Kwamba anatupa mbili - si "bo" lakini "upinde." Na kwamba ni kamilifu cue kwa nyie kuchukua upinde na kichwa juu ya nyuma. Asante sana. [Makofi] DAVID Malan: Unaweza kuwaweka. Ingawa kwa kweli, ingekuwa yeyote kama taa dawati, pia? [Hoot KUTOKA Watazamaji] DAVID Malan: Desk taa? [Kicheko] DAVID Malan: Kweli? Dawati taa kwa ajili ya kila mtu? Wote haki. Hivyo kwa kuanzia na rahisi sana ya kanuni, tumekuwa sasa si tu kuhesabiwa juu kutoka 0 njia yote hadi 7, tumekuwa kudhani kwamba tu kwa kutupa zaidi bits au taa zaidi au transistors zaidi katika tatizo hili, tunaweza kuwakilisha idadi kubwa na kubwa zaidi, na ergo, kubwa na kubwa zaidi ni kati ya Alphabets, kama lugha ya Kiingereza. Na tu hebu kuchukua juu ya imani kwa ajili ya leo kwamba vile vile tunaweza kuanza kuwakilisha graphics na video na yoyote idadi ya vyombo vingine vya habari na ambayo tuko ukoo leo. Hivyo hii ni CS50, na katika darasa hili pamoja ya wewe ni, tena, wengi sana wanafunzi wenzangu ambao wana kidogo kama uzoefu kama wewe. Na mimi kutaja hili kwa sababu tu kabisa mara nyingi, ikiwa ni pamoja kama hivi karibuni kama moja ya Freshman kutoa ushauri kwa matukio na wakati sophomore spring mwisho ya kutoa ushauri tukio hilo, sisi mara nyingi kusikia wanafunzi hawajihusishi wakati kuja hadi meza CS, vizuri, Nimekuwa kufikiri juu ya kuchukua hii intro darasa, lakini mimi si kweli kompyuta mtu. Au, lakini kila mtu hakika anajua zaidi kuliko mimi. Na mimi kuweka hii katika font kubwa inawezekana, kufikisha ujumbe huu kwamba si kwamba kwa kweli kesi. Na kama wewe wanashangaa, lazima Mimi, kwa kweli, kuwa hapa? Kutambua kwamba si tu kuwa hii ni kozi ya cheo Utangulizi wa Kompyuta Sayansi, ni Utangulizi wa Kompyuta Sayansi I. Hivyo kuna shaka pili vile kuanzishwa. Hivyo wewe si, kwa kweli, katika sehemu sahihi. Na miongoni mwa malengo mimi kwa leo ni kuwahakikishia yoyote wasiwasi vile wewe tupate kuwa, lakini pia kwa rangi picha ya nini katika kuhifadhi kwa ajili ya wanafunzi chini na vizuri zaidi sawa katika kozi hii. Lakini kwanza, neno kwenye moja ya takrima una leo, kati ya ambayo ni idadi ya FAQs. Imekuwa ni maono ya yetu kwa muda fulani sasa kuanzisha grading mpya chaguo katika kozi hii - yaani, SAT / UNSAT. Kifalsafa kwa ajili yangu, ni kiasi gani, muhimu zaidi kwamba wanafunzi katika darasa hili kujihusisha na nyenzo, kuwa changamoto na nyenzo, na wasiwasi mbali, mbali kidogo kuhusu mechanics ya alama halisi na barua ya darasa katika muhula wa mwisho, lakini kweli kukumbatia kozi na vitu vyake. Na kwa kweli hii anahisi, kwa ujumla zaidi, kwa nini kuvutia kwao, kujisikia changamoto na watalipwa lakini bila hofu ya kushindwa. Na hakika, hii pia ni ya mara kwa mara mandhari katika utangulizi hii na nyingine kozi katika maeneo mengine, kwamba una hii trepidation linapokuja kuweka vidole ya mtu katika usio wa kawaida maji. Mimi mwenyewe, nyuma mwaka 1995, mara Freshman. Mimi mara nyingi sana ililenga kuwa Gov concentrator hapa. Na bado ningependa daima mzima na kidogo wa maslahi katika sayansi ya kompyuta. Mimi mara zote curious. Lakini kisha nyuma, hata, nilikuwa hofu hii ya hata wanazidi mguu katika CS50, kiasi hivyo kwamba sikuweza hata duka ni Freshman mwaka. Na sababu tu mimi kuweka mguu katika mlango sophomore mwaka kwa sababu mimi aliruhusiwa kuchukua ni kupita / kushindwa. Lakini hata kupita / kushindwa required kwamba mimi kupata hadi ujasiri kufanya uteuzi na Profesa Kernehan kwa wakati, kuleta hii karatasi kubwa ya karatasi, na kuuliza naye kwa ajili ya sahihi yake na ruhusa ya kuchunguza haya maji usio wa kawaida. Na ina si kusaidiwa katika miaka ya hivi karibuni kwamba wakati wa kufanya hii katika CS50, wakati sisi kutumika kuwa kupita / kushindwa, vile vile ingekuwa kadhaa au mamia ya wanafunzi wako kuwa na kuja, Hasha, saa mbele ya Sanders na fomu hii, kwamba katika mawazo ya baadhi inawakilisha kukosa uwezo, Mimi kuthubutu kusema, kufanya ni ngazi ya wenzao wako '. Ambayo ni ujinga, lakini mimi nadhani kuna mawazo kwamba. Na kuna kamwe kuwa katika utamaduni huu ya SAT / UNSAT, au kupita / kushindwa zaidi ujumla, katika kozi hii, au kweli juu ya chuo hiki. Hivyo mwaka huu sisi iliyopita kwamba. Napenda kuwa na furaha ya nusu ya darasa hili au zaidi kumalizika juu kuchukua CS50 SAT / UNSAT. Katika muda wa mwaka, itakuwa ajabu ikiwa karibu kila mtu ni. Baada ya hapo labda tutaweza kazi juu ya barua ya darasa katika Harvard Chuo zaidi kwa ujumla. Lakini kwa sasa, tutaweza kufanya hii ndani yetu mwenyewe nyanja, laiti moyo wote kuhimiza wewe mapitio FAQs hizo na kuuliza maswali kama unaweza kuona inafaa, ili hopefully, tofauti na mimi, si kabisa kuwa na kwamba huo hofu sababu wakati kuchunguza kile pengine nafasi usio wa kawaida. Hivyo ni nini CS50? Ni utangulizi wa miliki makampuni ya biashara ya kompyuta sayansi na sanaa ya programu. Lakini ni nini maana ya kwamba kweli? Vizuri, hivi sasa, sisi aliyesema sana kwa ufupi kuhusu anayewakilisha habari. Lakini tuseme kwamba sisi kweli unataka kufanya kitu kwa hayo. Tunahitaji kuanzisha dhana ya kile Tutamwita algorithm. algorithm ni utaratibu, mchakato, seti ya maelekezo kwa kufanya kitu fulani. Na algorithm inaweza kuwa kitu super rahisi. Kwa mfano, mfano na ambayo baadhi ya wa unaweza kuwa ukoo ni hii Jambo hapa. Hivyo kitabu hiki hapa inazidi tarehe, lakini mara moja juu ya muda, ni zilizomo mengi yote ya majina na namba za simu. Na hakika, kama nilitaka kupata mtu katika kitabu hiki simu - kusema, mtu aitwaye Mike Smith - Mimi naweza kupata Mike Smith katika idadi yoyote ya njia haki moja kwa moja. Mimi naweza kuanza mwanzoni na kuhamia kwenye ukurasa 1, si huko. Ukurasa 2, si huko. Ukurasa wa 3. Ni kwamba algorithm, ni kwamba mchakato, sahihi? Hivyo ni sahihi, haki? Mimi nina aina ya idiot kwa kufanya hivyo katika kwamba namna, lakini hatimaye mimi kupata S jina, na hopefully Mike ni katika sehemu hiyo, na mimi kuwa kufanyika kwa algorithm yangu. Lakini hakika siyo angavu. Wengi kila binadamu busara katika hii chumba bila kuwa na kosa hilo. Gani umefanya? Ningependa wamekwenda moja kwa moja na katikati, haki? Takribani kwa katikati. Na wewe kutambua, oh, hizi ni Bi Hivyo Mike Smith, jina la mwisho kuwa Smith, si, wazi, basi katika kushoto nusu ya kitabu. Lazima awe kuelekea S ni katika haki. Na katika hatua hii, ingawa wengi wetu kufanya hivi katika hali halisi, tunaweza literally machozi tatizo hili katika nusu. [Cheering na makofi] DAVID Malan: Asante. [Cheering na makofi] DAVID Malan: Unaweza literally machozi hii tatizo katika nusu, na kuacha mimi na, literally, nusu ya tatizo kama kubwa. Hivyo kama hii kitabu ya simu mara - na ni pengine alikuwa - kuhusu kurasa 1,000, sasa ni 500 tu. Kama mimi kufanya hivyo tena na mimi kutambua, oh, damn, mimi alikwenda mbali mno, mimi niko katika Ts sehemu, naweza vile vile - mfano au literally - mpasuko kitabu cha simu - ni kweli rahisi kwamba wakati. Mimi unaweza literally mpasuko kitabu cha simu katika nusu, na kuacha mimi sasa na si 1000, si 500 - 250 kurasa. Na siwezi kwenda 125, na nusu ya kwamba, na nusu ya kwamba, na nusu ya kwamba, mpaka hatimaye mimi itakuwa kushoto na moja tu moja ukurasa. [Kicheko] DAVID Malan: Hiyo ni sehemu mimi kushindwa juu. Moja ukurasa ambayo Mike hopefully ni. Sasa wale algorithms tofauti inaweza kuwa aina ya tathmini au tathmini katika njia tofauti. moja ya kwanza ilikuwa ni linear, haki? Kugeuza ukurasa, kuangalia kwa Mike. Kugeuza ukurasa, kuangalia kwa Mike. Ni sana linear. Kama kuna moja zaidi ya ukurasa katika simu kitabu, ni pengine anaenda kuchukua yangu moja zaidi ya pili, moja zaidi kitengo cha muda, Hata hivyo sisi ni kompyuta wakati. Hivyo mimi ili kuteka kama hii line hii hapa, ambapo kama kawaida ya tatizo kuongezeka kutoka kushoto kwenda kulia - kitabu cha simu anapata ndogo na kubwa - na wakati ni kwenda kuongeza juu ya mhimili wima, kubwa kitabu cha simu ni. Hivyo n ni tu kutofautiana kwa ujumla kuwa kompyuta wanasayansi kutumia kuwakilisha baadhi ya thamani, baadhi ya simu. Hivyo n ni kwenda kuongeza linearly. Mara mbili ya ukubwa wa kitabu cha simu, ni anaenda kuchukua yangu mara mbili kama vile muda, uwezekano mkubwa zaidi, na kupata Mike. Sasa mimi naweza kuwa smart kuhusu hili, haki? Nilikuwa kupata kuchoka haraka. Wangefanya hii wawili-wawili. Hivyo kurasa mbili, nne, kisha sita, nane. Na mimi naweza kuanza kuruka kwa njia hiyo kasi kidogo, angalau katika hatari madogo ya overshooting Mike, lakini Curve kwamba si kwenda kuwa wote tofauti. Ni bado inaenda kuwa moja kwa moja line, lakini kidogo kwa kasi. Lakini ni nini mimi kufanya? Mimi kwa kweli alifanya kitu kimsingi bora. Mimi mafanikio kile Tutamwita logarithmic muda, logi ya n, ambapo hii ya kijani line ina mengi, mengi, mengi chini ya moja kwa moja makali yake. Na badala yake, unaonyesha, kama ni aina ya inapokaribia infinity milele hivyo hatua kwa hatua, kwamba mimi naweza kweli kuchukua 1000-ukurasa kitabu cha simu, mara mbili ya ukubwa wake mwaka ujao - kwa sababu tuseme mengi zaidi ya watu kuhamia mjini. Hivyo sasa mimi nimepata kurasa 2,000, lakini jinsi wengi zaidi ni kwamba hatua nadhifu algorithm kwenda kuchukua? Moja tu. I mean, hiyo ni jambo lenye nguvu. Kama sisi kwenda kwa kurasa 4,000 mwaka ujao, hiyo ni kwenda kuchukua yangu mbili tu zaidi hatua. Hivyo unaweza kutupa makubwa na kubwa matatizo ya saa yangu, si tofauti na mtandao ni kutupa matatizo makubwa na kubwa kila siku katika Googles na Facebooks ya ulimwengu, na si kama mpango kubwa. Kwa sababu mimi kuweka zaidi mawazo na huduma katika algorithm yangu na ambayo kwa kutatua matatizo ya ufanisi. Na kwa kweli, kwamba itakuwa moja ya malengo ya kozi hii. Wewe, njiani, kujifunza jinsi ya mpango. Utajifunza jinsi ya mpango katika idadi yoyote ya lugha. Lakini mwisho wa siku, bila shaka ni kuhusu utatuzi wa matatizo na kupata bora katika kutatua matatizo - na, kama katika kesi kama hii, kutatua matatizo ufanisi zaidi. Sasa hivi sasa, tumefanya hii haki intuitively. Hebu kuanzisha kitu haki generic kuitwa pseudocode. Hivyo tutaweza hatimaye kupata, katika kozi hii, kwa mbalimbali programu lugha. Lakini leo hii tutaweza kufanya hivyo kwa Kiingereza-kama syntax, ambapo aina tu ya kusema nini maana, lakini wewe milele hivyo succinct na huna wasiwasi kuhusu sarufi na sentensi kamili. Wewe tu kueleza mwenyewe kama concisely iwezekanavyo. Hivyo pseudocode ni Kiingereza-kama syntax kwamba inawakilisha lugha ya programu. Na upande wa mwisho kwamba, napenda kupendekeza kwamba sisi sasa mchakato mfano sisi tu ilivyoelezwa ya kuhesabu kitu kidogo tofauti, wakati huu kuchukua kuangalia hii video ya dakika tano zinazozalishwa na marafiki zetu kwenye TED kwamba amefafanua nini pseudocode ni, amefafanua nini kufikiri ni algorithmic, na hata ingawa mfano uko juu ya kuona ni, kwa yenyewe, super rahisi, ni kwenda kuanza kutupa akili mfano, msamiati, na ambayo kwa kufanya mengi, zaidi tata algorithms kabisa haraka. [Kuanza video avspelning] [Halisi kucheza] NARRATOR: Nini algorithm? Katika sayansi ya kompyuta, algorithm ni seti ya maelekezo kwa ajili ya kutatua baadhi ya tatizo hatua kwa hatua. Kwa kawaida, algorithms ni kunyongwa na kompyuta, lakini sisi binadamu kuwa na algorithms, kama vile. Kwa mfano, jinsi gani unaweza kwenda kuhusu kuhesabu idadi ya watu katika chumba? Naam, kama wewe ni kama mimi, wewe d pengine hatua katika kila mtu, moja katika muda, na kuhesabu hadi kutoka 0. 1, 2, 3, 4, na kadhalika. Naam, hiyo ni algorithm. Kwa kweli, hebu jaribu kueleza ni kidogo zaidi rasmi katika pseudocode - Kiingereza-kama syntax kwamba inafanana lugha ya programu. Hebu N 0 sawa. Kwa kila mtu katika chumba, kuweka N sawa na N pamoja na 1. Jinsi ya kutafsiri hii pseudocode? Naam, line moja inasema, ili kuzungumza, variable kuitwa N na initializes thamani yake kwa 0. Hii ina maana kuwa katika mwanzo wa kompyuta yetu, jambo ambalo sisi ni kuhesabu ina thamani ya 0. Baada ya yote, kabla ya kuanza kuhesabu, sisi si kuhesabiwa kitu bado. Wito huu N kutofautiana ni mkataba. Mimi nilikuwa na kuitwa ni zaidi ya kitu chochote. Sasa line mbili demarks ya kuanza kitanzi, mlolongo wa hatua kwamba mapenzi kurudia baadhi idadi ya nyakati. Hivyo katika mfano wetu, sisi ni kuchukua hatua ni kuhesabu watu katika chumba. Chini ya mstari mbili ni mstari tatu, ambayo inaeleza hasa jinsi tutaweza kwenda kuhusu kuhesabu. anatengeneza ina maana kwamba ni line tatu kwamba kurudia. Hivyo kile pseudocode ni kusema ni kwamba baada ya kuanzia saa 0, kwa kila mtu katika chumba, tutaweza kuongeza N na 1. Sasa ni algorithm hii ni sahihi? Naam, hebu bang juu ni kidogo. Gani kazi kama kuna watu wawili katika chumba? Hebu angalia. Katika mstari mmoja, sisi initialize N kwa 0. Kwa kila mmoja wa watu hawa wawili, sisi basi increment N na 1. Kadhalika safari ya kwanza kupitia kitanzi, sisi update N 0-1. Juu ya safari ya pili kwa njia hiyo hiyo kitanzi, sisi update N 1-2. Na hivyo kwa mwisho huu algorithm ya, n ni 2, ambayo kwa hakika mechi ya simu ya watu katika chumba. Hadi sasa, hivyo nzuri. Vipi kuhusu kesi kona, ingawa? Tuseme kuna 0 watu katika chumba - zaidi ya mimi, ambaye anafanya kuhesabu. Katika mstari mmoja, sisi initialize N kwa 0. Wakati huu, ingawa, line tatu haina nitafanya wakati wote tangu hakuna mtu katika chumba. Na hivyo N bado 0, ambayo mechi idadi ya watu katika chumba. Pretty rahisi, sawa? Lakini kuhesabu watu moja kwa wakati ni pretty ufanisi, pia, hakuna? Hakika tunaweza kufanya vizuri zaidi. Kwa nini si kuhesabu watu wawili kwa wakati? Badala ya kuhesabu 1, 2, 3, 4, 5, 6, 7, 8, na kadhalika, kwa nini si hesabu, 2, 4, 6, 8, na kadhalika? Hata sauti kasi, na ni hakika ni. Hebu kueleza hii optimization katika pseudocode. Hebu N 0 sawa. Kwa kila jozi ya watu katika chumba, kuweka N sawa na N plus 2. Pretty rahisi mabadiliko, haki? Badala ya kuhesabu watu mmoja wakati, sisi badala kuhesabu yao mbili kwa wakati. Algorithm hii ndiyo hivyo mara mbili haraka kama mwisho. Lakini ni sahihi? Hebu angalia. Gani kazi kama kuna watu wawili katika chumba? Katika mstari mmoja, sisi initialize N kwa 0. Kwa kuwa jozi moja ya watu, sisi basi increment N na mbili. Na hivyo kwa mwisho huu algorithm wa, N ni 2, ambayo kwa hakika mechi ya simu ya watu katika chumba. Tuseme ijayo kwamba kuna 0 watu katika chumba. Katika mstari mmoja, sisi initialize N kwa 0. Kama kabla, line tatu haina kutekeleza wakati wote, tangu kuna mtu yoyote jozi ya watu katika chumba. Na hivyo N bado 0, ambayo kwa hakika mechi ya idadi ya watu katika chumba. Lakini nini kama kuna tatu watu katika chumba? Jinsi gani hii algorithm nauli? Hebu angalia. Katika mstari mmoja, sisi initialize N kwa 0. Kwa jozi ya watu hao, sisi basi increment N kwa 2. Lakini basi nini? Kuna si mwingine jozi kamili ya watu katika chumba, hivyo line mbili hakuna tena inatumika. Na hivyo kwa mwisho huu algorithm wa, N bado ni 2, ambayo si sahihi. Hakika, algorithm hii ni alisema kuwa Buggy, kwa sababu ina makosa. Lets kurekebisha na pseudocode baadhi ya mwezi. Hebu n 0 sawa kwa kila jozi ya watu katika chumba. Kuweka N sawa na N plus 2. Kama mtu mmoja bado unpaired, kuweka N sawa na N pamoja na 1. Ili kutatua tatizo hili hasa, tumekuwa kuletwa, katika mstari wa nne, hali, inayojulikana kama tawi kwamba tu executes kama kuna mtu mtu kwamba sisi hawakuweza jozi na mwingine. Na hivyo kwa sasa, kama kuna moja au tatu au idadi yoyote isiyo ya kawaida ya watu katika chumba, hii algorithm sasa kuhesabu yao. Tunaweza kufanya hata bora zaidi? Naam, sisi inaweza kuhesabu katika 3s au 4s au hata 5s na 10s, lakini zaidi kwamba, ni kwenda kupata kidogo vigumu kwa uhakika. Wakati wa mwisho wa siku, kama kunyongwa na kompyuta au binadamu, algorithms ni baadhi tu ya kuweka ya maelekezo na ambayo ya kutatua matatizo. Haya yalikuwa tatu tu. Nini tatizo gani unaweza kutatua na algorithm? [MWISHO video avspelning] DAVID Malan: Hiyo ni wakati tu Mimi nitaonekana katika fomu cartoon. Lakini ambapo hadithi kwamba majani ya mbali, sasa, ni jinsi gani tunaweza kufanya vizuri zaidi? Watatu watatu na wane, na sisi kudai, tunaweza kuhesabu watu kwa kasi zaidi, lakini tunaweza kufanya kimsingi bora kuliko hayo? Na mimi wager tunaweza. Kama sisi kuanzisha kidogo ya yetu wenyewe pseudocode hapa, mimi naenda kupendekeza kwamba tunaweza kufikia line kama hii. Sisi siyo kwenda kuhesabu watu moja, mbili, tatu, nne. Sisi siyo kwenda mbili, nne, sita, nane. Tunakwenda kufanya kimsingi bora na kufikiria tatizo, na katika hii kesi, leveraging vinginevyo isiyotumika vizuri rasilimali. Katika muda tu, I hope itabidi kusamehe na ucheshi kwetu na kusimama katika mahali, ambapo kiwango tunakwenda kuuliza kila mmoja wenu kuchukua katika yako akili namba 1. Wewe kisha kwenda inazidi awkwardly, kama wakati hupita, kupata mtu mwingine ambaye ni amesimama, kuchanganya namba yako pamoja kwa kuongeza yao juu. Mmoja wenu ni kisha kwenda mbio na kukaa kwanza chini, na mtu mwingine ni kwenda kurudia. Hivyo kwa maneno mengine, kwa kupanda yote ya wewe na namba 1, na kisha kuchanganya wale 1s katika 2S na 2S wale katika 4s, na kila mtu inazidi kukaa chini, sisi lazima, mwishoni mwa algorithm hii, kuwa moja tu mkopo nafsi ambao hawakuwa na kukaa chini kwa kasi ya kutosha lakini ambaye ana watazamaji nzima kuhesabu katika yake au mawazo yake. Hivyo kama ungependa, hebu kwenda mbele na - hatua moja - kusimama katika mahali. Na kutekeleza. [Watu wakinong `ona] DAVID Malan: Je, unajua ambapo Lauren ni? 729? [Watu wakinong `ona] DAVID Malan: zote haki? [Watu wakinong `ona] DAVID Malan: zote haki, tunapaswa kuwa inakaribia mwisho. Tunaona moja wenzake amesimama hapa bado. Nani mwingine inahitaji vilivyooanishwa? Kama wewe guys wanataka jozi mbali. Mtu juu juu. Kwa nini si mimi kuwakopesha mkono hapa. Kwa watu wachache sana ambao bado amesimama, nini idadi kufanya wewe kuwa katika akili yako? MWANAFUNZI: 78. DAVID Malan: 78 plus - ambaye ni wamesimama chini hapa? MWANAFUNZI: 39. DAVID Malan: Plus 39. Plus nani mwingine bado amesimama? 81? OK, nani mwingine? Mwingine 81? Wow. Na kisha nini katika nyuma? MWANAFUNZI: 49. DAVID Malan: 49, pamoja? MWANAFUNZI: 98. DAVID Malan: 98 plus? Ni kwamba mtu mwingine? 12? Kazi nzuri. [Kicheko] DAVID Malan: Oh, 112 - oh. Kazi nzuri! [Kicheko] [Makofi] DAVID Malan: Mtu mwingine bado amesimama? Pole? MWANAFUNZI: 99. DAVID Malan: 99. Mtu mwingine bado amesimama? Na jumla ya idadi ya wanafunzi hapa ni kweli, kulingana na - je, una simu? Oh, idadi halisi ya watu katika chumba, kulingana na akaunti ya kwamba wenzake mafundisho walikuwa wakifanya juu ya njia ya kila mtu katika, ilikuwa 729. Hivyo nje ya roomful ya wanafunzi Harvard ambao kuhesabiwa wenyewe, Jibu ni 637. [Kicheko] DAVID Malan: Hivyo karibu. Lakini bado. OK, hivyo kwamba ni mafundisho sasa, haki? Hii sasa ni nini sisi kueleza kama mdudu. Mahali fulani njiani, sisi alifanya baadhi ya hesabu vibaya, au mtu ameketi chini, au kushoto, au kitu potoka. Lakini hiyo ni faini. Sababu hata bado, sisi got pretty karibu. Na ningependa kusema kwamba sisi got vibaya kujibu mengi zaidi kuliko mimi ingekuwa kutumia linear yangu zaidi mbinu. Hivyo hebu kudhani hatukuwa kwa kweli kupata kwamba kusahihisha, lakini nadhani sasa kuhusu nini kilichojitokeza kila wakati, dhidi yangu mwenyewe wasiojua akizungumzia algorithm. Moja, mbili, tatu. Kama kuna shaka 729 au 637 watu hapa, kwamba ingekuwa kuchukuliwa mimi literally 637 au 729 pointings ya kidole na incrementing kuhesabu yangu ya jumla. Na mimi naweza kufanya vizuri kidogo na kwenda mbili, nne, sita, nane, na mara mbili kwamba kasi, au labda hata mara tatu quadruple, kutegemea jinsi vizuri siwezi kufanya hivyo kuhesabu katika kichwa changu. Lakini mbinu hii kwamba wewe guys alichukua ilikuwa tofauti kimsingi. Kwa sababu mwanzoni, nyote alisimama. Hivyo wote 729. Na kisha halisi nusu ya wewe kukaa chini. Na baada ya kuwa, mwingine nusu ya wewe kukaa chini. Na baada ya kuwa, mwingine nusu ya wewe kukaa chini. Na jumla ya idadi ya nyakati kwamba wewe guys inaweza wamekaa chini ni takribani nane au tisa au mara kumi ya jumla, kutegemea na nini wanawake wetu wa jumla ni. Na tunaweza kufanya aina ya hii njia nyingine. Kama tungekuwa na watu 1024 katika chumba, jumla ya idadi ya nyakati unaweza kupunguza nusu ya watu 1,024 ni 10. Sasa fikiria kuhusu hilo katika upande mwingine. Tuseme, ridiculously, kwamba tulikuwa, kusema bilioni nne watu katika nafasi hii, au chumba kubwa kidogo. Mara ngapi itakuwa tumekwenda kupitia algorithm hii, vile kwamba nusu ya darasa kwamba yapo chini? Ni tu kwenda kuchukua 32 vile shughuli, hata katika darasa la kawaida bilioni nne. Kwa nini? Bilioni nne kwa sababu inakwenda mbili bilioni, huenda milioni moja, huenda Milioni 500, huenda 250 milioni, dot, dot, dot. Mimi anaweza tu kufanya kwamba mgawanyiko baadhi ya 32 mara, ambapo kiwango, kila mtu isipokuwa mtu mmoja itakuwa kushoto amesimama. Na kwamba, pia, ni aina ya nguvu wazo kwamba inazidi tutaweza kujaribu kujiinua katika kozi hii, na katika programu na sayansi ya kompyuta zaidi ujumla, haya vimelea wa wazo na ambayo tunaweza kisha kutatua matatizo mengi, sana kwa nguvu zaidi. Hivyo sisi ilianza rahisi na kwamba pseudocode na guy katika chumba, lakini sasa na chumba nzima kamili ya watu Sisi tumefanya kimsingi bora. Naam, hebu sasa mpito kutoka pseudocode na kanuni baadhi halisi. Lugha hii uko juu ya kuona kutokea kuitwa JavaScript, na tutaweza kurudi hii kuelekea muhula wa mwisho. Ni lugha ya programu kwamba wewe kutumia kufanya Nje na wengine vile programu ya siku hizi. Na sisi kuwa na kutumika, shukrani kwa rafiki ya yetu katika Stanford, encode baadhi ya taarifa ya siri hapa. Hii ni sanaa ya steganography, hivyo kusema, ambapo unaweza kujificha habari katika kile vinginevyo inaonekana kuwa kelele au tofauti kabisa picha kabisa. Lakini iliyoingia katika sura hii hasa kweli ni ujumbe wa siri ya aina. Hivyo basi mimi kwenda mbele na vuta hadi mfano huo hapa, hii muda katika kivinjari. Na mimi nina kwenda kupitisha mkono wangu katika baadhi ya maelezo kwa leo, hasa kwa wale ambao hii inaonekana kama si tu JavaScript lakini Kigiriki, kama usio wa kawaida kabisa wa lugha. Lakini huu ni mfano wa lugha ya programu. Na kwa sasa, kuchukua imani kwamba line hii ya kwanza ya kanuni - na kwa kificho, mimi tu maana maandishi. Nakala kwamba mimi naweza kuwa literally typed ndani ya Microsoft Word, kama ningekuwa na haki ya programu ya basi kufanya kitu kwa hayo. Programu chanzo kanuni, programu kificho, ni kweli tu maandishi, na ni inaonekana tofauti kulingana na kile lugha unatumia, si tofauti na Kiingereza na Kihispania na Kirusi wote kuangalia tofauti wakati wewe aina yao katika keyboard yako. Hivyo line hii ya kwanza, kwa sasa kuchukua imani, tu kufungua graphic kutoka internet, kwamba graphic kelele sisi tu kuona. Line hii ijayo hapa ni mfano wa kitanzi, na sisi kweli waliona kwamba huo jargon katika video TED. kitanzi ni kitu kinachotokea tena na tena, na hata ingawa hii kabisa inaonekana fumbo, na Keyword kwa, na mabano ya baadhi, na baadhi semicolons. Tutaweza kuja nyuma na kwamba kabla ya muda mrefu, lakini kwamba kitanzi kuna kimsingi ni kuwaambia mpango, iterate juu ya kila ya wale dots kelele, kutoka kushoto kwenda kulia, juu hadi chini. Kwa sababu mwisho wa siku, mfano kama hii - na unaweza kweli aina ya kuona juu ya hii projector - ni kweli tu gridi ya dots. Hivyo tunaweza kutambua kila ya dots wale na y kuratibu, x,, na kwa hili mpango, sasa tunaweza kuanza kufanya kitu dots hizo. Hivyo nini mimi kwenda mbele hapa na je ni mimi nina kwenda kufanya baadhi ya mabadiliko. Kwanza mimi nina kwenda mbele na kujikwamua ya wote ya kwamba rangi ya kijani na bluu kelele, na mimi nina kwenda mbele na aina zifuatazo admittedly cryptic syntax. im kwa picha. kuweka bluu katika eneo x, comma, eneo y, kwa 0. Kwa maneno mengine, nataka tu kugeuka mbali yote ya bluu dots katika picha hiyo. Mimi nina kwenda mbele sasa na bonyeza kukimbia hii / Ila kifungo, na utasikia taarifa juu ya upande wa kulia, kusababisha picha inaonekana. Sasa yake super kijani, lakini si kwamba ajabu, kwa sababu mimi literally akageuka mbali, kwa kufanya 1 0, wote wa bluu katika picha hiyo. Naam, sasa hebu kufanya hivyo kidogo zaidi. im kwa mfano, dot setGreen, x, y. Na kwamba tu ina maana iterate kutoka upande wa kushoto kulia na kisha juu hadi chini. Kugeuka kuwa mbali na thamani ya 0, kama vile. Kuokoa. Na juu ya Projector, unaweza si kweli kweli kuona chochote wakati wote. Juu ya mbali screen yangu, kama mimi rika katika tu njia ya haki, naona kidogo ya picha, kwa sababu wao ni bado baadhi nyekundu katika huko. Kama wameweza milele habari RGB kifupi - nyekundu, kijani, bluu - ni akimaanisha muundo huu ya picha kwa kutumia tu wale rangi tatu. Na hivi sasa, tumekuwa kutupwa mbali yote ya kijani, kila bluu, lakini kuna si mengi nyekundu. Hivyo basi mimi dance hadi nyekundu. Jinsi gani naweza kufanya hivyo? Naam, kwanza, mimi naenda kuuliza mpango huu swali. Mimi nina kwenda mbele na hebu simu yake kutofautiana, kama vile katika algebra. Unaweza kuwa na x au y au z. Mimi nina kwenda kutangaza kutofautiana na kusema, kuweka katika kutofautiana hii, muda, thamani ya picha getRed thamani katika x, y. Na tena, tutaweza kurudi kwa wote ya hii undani katika siku zijazo. Lakini kwa sasa, tu kuchukua juu ya imani kwamba mstari huu ni kuuliza mpango, nini ni thamani nyekundu katika x, y? Wakati dot hasa? Basi mimi naenda kufanya kitu kwa hayo. Basi mimi naenda kufanya sanamu dot seti nyekundu saa x, y, y lakini wakati huu mimi nina kwenda kuongeza kuwa kwa kufanya mara nyekundu, hebu kusema, 10. Hivyo kuongeza yake kwa sababu ya 10. Hebu zoom nje sasa na click inaweza Run / Ila. Na voilĂ , kwamba alikuwa huko nzima wakati, ingawa macho yetu binadamu hakuweza kabisa kuona. Hivyo tena, hii sasa ni halisi ya kanuni, mfano wa lugha ya kwamba tutaweza kuja nyuma kabla ya muda mrefu. Lakini kutambua, hasa wale wa wewe na uzoefu hakuna vile, ni kabisa hivi karibuni kwamba sisi wenyewe itakuwa kuandika code kama kwamba huko. Kwa kweli, chombo na ambayo wewe ni wote kiasi fulani utambuzi, pengine, ni CS50 mwenyewe bila shaka-ununuzi chombo, ambayo ilikuwa kweli rebooted huu majira ya joto na baadhi mwenyewe CS50 wanafunzi wa zamani, sasa kurejea TFS. Hivyo hii hutokea kwa kuwa tovuti ya kujengwa katika lugha inayoitwa PHP. Ni matumizi ya database kuitwa MySQL, mambo na ambayo tutaweza kupata mikono yetu chafu baadaye katika muhula. Lakini amini au sio, hata kitu kama hii hatimaye inapunguza kwa rahisi ya mizunguko na masharti na matawi, kama wale tuliona tu wakati iliyopita katika video TED. Nilifikiri nini Ningependa kufanya sasa ni kushiriki si tu kitu sisi wafanyakazi kuwa alifanya kwa ajili ya chuo hicho, lakini badala ya kitu mwanafunzi wa zamani - tatu wanafunzi, kwa kweli - alifanya hii mwaka uliopita, Sierra, Daniel, na Sam, mwisho ambaye alikuwa na hakuna kabla Programing uzoefu wakati yeye alichukua CS50. Na kwa ajili ya mradi wao wa mwisho, wao wameonesha, katika maonyesho ya CS50, maombi ya kuitwa wrdly, ambayo ni mtandao msingi mpango kwa ajili ya kuwakosesha hii video ambayo nilifikiri ningependa kushiriki kwa kukupa hisia ya kile tu ni iwezekanavyo na mwisho mrefu wa. [Halisi kucheza] DAVID Malan: Hiyo ni kutoka Zero Wiki Wiki 12 mwaka huu uliopita. [Makofi] DAVID Malan: Kama teaser, pia, kwa kweli whet hamu yako ni nini inawezekana, unaweza tumeona tayari, au hivi karibuni inaweza kuona, market.cs50.net, mpya chombo kwamba timu ya shaka ana imekuwa kazi, wakati huu katika kushirikiana na Mwanafunzi Harvard Mashirika, kama kwamba kuanzia mwaka huu na kuendelea hopefully ndani ya hii kuja majira itabidi kiwango nafasi ya juu ya chuo kununua na kuuza vitu ya riba na wewe. Na kwa ushirikiano kupitia HSA, utakuwa pia kuwa na uwezo wa kuacha vitu mbali katika moja ya maduka HSA ya kimwili katika baadhi ya hatua katika siku zijazo, ili wakala mambo, hasa kama wewe kuhitimu na si lazima wanataka kuondokana na mambo hayo, lakini kwa kweli kulipa ni mbele kwa folks ambao wanaweza kufuata hapa juu ya chuo. Hivyo zaidi juu ya kwamba kuja. Lakini kidogo zaidi praktiken, chombo hiyo ni kuja nje ya CS50 katika hivi karibuni miaka, na ambayo baadhi yenu wanaweza kuwa na ukoo na wengine wa unaweza kuwa googling sasa, saa CS50.net/2x, itabidi kupata zilizounganishwa na ugani Chrome ambayo ni demonstrative ya jinsi gani unaweza kutumia JavaScript, kwamba lugha huo sisi kutumiwa na mnara wa Eiffel wakati iliyopita, kutekeleza 2x avspelning kasi kwa ajili ya wote Harvard iSites video. Hii ni kitu ambacho ni kujengwa katika mchezaji CS50 ya mwenyewe video. Lakini hii, pia, kama wewe kuanza kuchimba katika kanuni chanzo, ambayo tutaweza furaha kufanya inapatikana, utaona jinsi unaweza hata kutatua matatizo kama hayo, kuongeza kasi ya vilivyoandikwa katika Nje na ambayo uko tayari vizuri ukoo. Hivyo neno sasa juu ya kozi na matarajio na kile uongo mbele. Kwa ujumla, tutaweza kweli kukusanya hapa juu ya Jumatatu na Jumatano - ingawa Ijumaa hii, tutaweza kukusanya kwa sababu ya Wiki Shopping - 1:00-14:00, ingawa wakati mwingine hadi 2:30. Kutokana na kwamba unaweza kwa hiyo unataka au na kuchukua baadhi ya darasa, saa 02:00 kuendelea, au hata kabla, je, kutambua Bila shaka ni kuunga mkono kile kinachoitwa uandikishaji sawia, ambapo tutaweza kusaidia dua kwa Bodi ya A'di na mkazi yako deans kwa niaba yako kama una mgogoro mahali fulani katika hii 1:00-02:30 mbalimbali. Kichwa na kwamba online URL kwa ajili ya ziada maelezo. Lakini katika suala la muundo msaada kwamba sifa CS50, kwa ajili ya wanafunzi zaidi na chini ya starehe sawa, sisi kutoa nyimbo tofauti ya sehemu. Na hii ni wiki kadhaa mbali, lakini kabla ya muda mrefu, itabidi kuulizwa kama kwa faraja yako ngazi. Je, wewe ni miongoni mwa wale chini ya starehe, vizuri zaidi, au mahali fulani katika kati? Na tutaweza kuwa na tatu tofauti nyimbo kwamba kuhudumia just wale watazamaji. Hivyo katika hakuna uhakika katika muda lazima wewe hata kujisikia kama wewe ni mashindano dhidi ya mwanafunzi yeyote na zaidi au chini ya background kuliko wewe. Hakika, bila shaka ni maana ya kuwa zaidi shirikishi na mengi wazi zaidi kuliko hiyo. Katika suala la seti tatizo, utasikia kupata, pia kwamba, kwa kuongeza kiwango toleo la kila tatizo wiki kuweka, kuna mara nyingi hacker " toleo la "kuwa maana ya kuwa walengwa saa% 5% hadi 10 au zaidi ya idadi ya watu ambao kwa kweli miongoni mwa wale vizuri zaidi na wangependa zaidi ya changamoto kuliko kiwango toleo la pset kwamba anatarajia. Maelezo zaidi juu ya wale kuwa kupatikana katika mtaala. Lakini pia katika kuna inaweza kupatikana maelezo kwenye kozi marehemu siku. Kwa kawaida tatizo seti ni kutokana na juu ya Alhamisi. Hata hivyo, unaweza kupanua wengi wako muda uliopangwa hii kuanguka kutoka Alhamisi kwa Ijumaa tu kwa mkutano wetu nusu, hivyo kusema, kujibu chache joto-up maswali katika baadhi ya tatizo ya wiki seti, kwamba mapenzi moja kwa moja kisha kukupa ziada ya masaa 24. Sisi pia kushuka chini yako alama, kama kwa muhtasari. Kukupa hisia ya tatizo nini seti ni - kwa sababu ni kweli tatizo kozi ya seti kwamba hatimaye kufafanua karibu kila uzoefu wa mwanafunzi, zaidi kuliko mihadhara, hivyo zaidi kuliko sehemu, zaidi hivyo kuliko wengi nyingine yoyote nyanja ya shaka. Mwaka jana, kwa mfano, sisi alianza, kama tutaweza kuanza mwaka huu, huku Scratch. Hasa Ijumaa hii, tutaweza kutumia, kwa siku moja tu ya muda, grafiki programu lugha, na ambayo tutaweza kuanza programu na akawatoa na kuacha vipande puzzle kwamba tu kukusanyika kimwili kama ni mantiki kufanya hivyo kifikra. Wiki ijayo, tutaweza haraka mpito kwa C, uungwana na zamani lakini ndogo sana rahisi lugha ambayo itaruhusu sisi kweli kwenda 0-60 katika kipindi ya wiki chache tu, na kisha parlay wale ujuzi huo na maarifa ya msingi ya programu constructs katika ngazi ya juu lugha kama PHP, JavaScript, na bado wengine bado. Mwaka jana, pset tatu katika kozi ilikuwa ile ya cryptography, uwanja maalum ya maombi ambapo sisi changamoto wanafunzi kutekeleza yoyote idadi ya ciphers, mipango na ambayo kwa kinyang'anyiro au unscramble habari, encrypt yake. Kwa ajili ya toleo hacker, kwa kulinganisha, sisi alitoa wanafunzi hacker faili kutoka kiwango Unix kompyuta zenye user majina na nywila, mwisho ya ambayo walikuwa encrypted, na sisi changamoto wale hacker wanafunzi decrypt, kama bora wangeweza, wale nywila, bado juu ya kwamba huo uwanja. Kinyang'anyiro, mchezo na ambayo baadhi ya ya wewe ni labda ukoo. kipande forensics, ambapo sisi kuuliza wanafunzi kuokoa data ambayo yamekuwa vinginevyo ilifutwa kutoka digital yangu mwenyewe kamera ya Compact flash kadi, na kweli kuandika programu ya kufikiri, ambapo walikuwa zeroes na ndio katika kwamba kamera digital kwamba hapo awali linajumuisha graphic JPEG? changamoto ya aina mwaka jana kuwashirikisha kuandika kasi Spell-kusahihisha inawezekana, mashindano ya dhidi ya marafiki na classmates kama Ningependa. Kutekeleza Huff 'n Puff, mpango compression. Na kisha kuishia muhula na CS50 Fedha, maombi mtandao msingi na ambayo kujenga tovuti eTrade-kama kununua na kuuza hisa, hivyo kusema, kwa kweli kuunganisha karibu halisi wakati quotes Yahoo! Fedha. Nini sisi hakufanya mwaka jana ilikuwa tatizo moja kuweka kwamba bado hata hivyo favorite. Kama wewe sijawahi wamekwenda shuttle.cs50.net, utaona mtumiaji interface kidogo kama hii. Lakini miaka miwili iliyopita, darasa kutekelezwa, kwa kutumia Google Maps na Google Earth kuziba-katika na kidogo kidogo ya savvy na kuendesha gari karibu chuo hicho, ili lengo la mchezo huu ulikuwa, kama unaweza kuona baadhi ya nyuso, ni kwa gari karibu na chuo kuangalia kwa wafanyakazi, wenzake kufundisha na CAS, na wakati huna, na kuwafanya kwenye shuttle bus yako. Hakuna hata mmoja wao kweli wanaonekana kuwa hapa, hivyo sisi ni kwenda kuingia kanuni kudanganya. [Kicheko] DAVID Malan: Kuna sisi kwenda. Wote haki. Na hapa sasa ni wafanyakazi laced katika chuo. Na kama unaweza kuona, kwa mkono wa kulia upande wa screen, basi kuhamisha ina viti tupu. Na lengo ilikuwa ni kuandika kificho na ambayo kuiga hii kuendesha gari na kuokota na kuacha mbali ya abiria. Kwamba moja, pia, kwa kutumia lugha ya kuitwa JavaScript. Hivyo kutambua mipango ambayo kama kwamba mapenzi kuwa juu ya trajectory wetu huo hii mwaka, kama vile. Katika suala, sasa, kwa msaada wa ziada, tuna masaa ya ofisi. Kama unaweza kuwa na kuonekana katika nyumba yako mwenyewe dining hall au katika Annenberg, tutaweza kuwa katika nyumba dining kumbi nne usiku wiki - LEVERETT, Pfoho, Eliot na Annenberg mwaka huu, 8:00 na 11:00. Na nini sisi mawazo tunatarajia kufanya mwaka huu ni kitu tofauti kidogo. Kama wewe kusikia rumblings mwaka jana kuwa ilikuwa ni kidogo mno yanayokusumbua, hii ofisi ya mwaka masaa, kama tutaweza kuelezea wiki ijayo, itakuwa zaidi ya viumbe hai, ambapo juu ya kuwasili, wewe utakuwa dispatched meza moja hasa ambapo nyingi wafanyakazi wanachama wanangojea, na tutaweza kufanya mambo mengi zaidi hai. Hakuna foleni zaidi, iPad tena, lakini badala ya kuwa karibu zaidi mazungumzo ya karibu na meza ya tu nane au hivyo wanafunzi, ili kwamba sisi takriban kujisikia ya nini vinginevyo itakuwa tabaka ndogo sana. Sisi kutoa, kama vile, mambo haya sisi kuitwa walkthroughs, video zingine katika kuendeleza na mmoja wa kufundisha kozi ya wenzake, Zamyla, ambayo yeye anatembea wewe kwa njia ya tatizo ya wiki seti, sadaka ya vidokezo na tricks kwa changamoto kuweka mbele. Na kinyume chake, baada ya seti tatizo ni kutokana, mwaka huu, tutaweza pia kutolewa video kidogo kuwaita baada ya mortems kwamba kweli kutembea wewe kupitia mwakilishi ufumbuzi, mema na mbaya, kupitia ambayo unaweza infer jinsi unaweza kuwa na au kuwa na kutekelezwa ufumbuzi yako mwenyewe. Na nini tutaweza kutoa kwa mara ya kwanza mwaka huu pia, hasa kwa wale wanafunzi ambao kitu wenyewe wa wa kozi nyingine rasilimali lakini hata hivyo wanajitahidi kila sana, bila shaka yenyewe itakuwa jozi wale wanafunzi, kama rasilimali kibali, na wakufunzi ili una mengi zaidi ionekane fursa kuliko kumbi dining nyumba kwa ajili ya kuruhusu misaada ya moja kwa moja. Sasa mtazamo wa mwisho katika baadhi ya ya michezo ya mwisho mbele. Unaweza kuwa na mazoea na CS50 hackathon. Naam, kuja mwezi huu wa Desemba, kutoka 08:00 PM to 7:00 asubuhi, katika mwanzo wa Kipindi kusoma, itakuwa fursa ya kukusanya na wanafunzi - hii itakuwa karibu PM 9:00 - wakati ambao wewe kupiga mbizi katika fainali yako utekelezaji wa mradi wa pamoja wanafunzi wenzao, marafiki, na chakula. Hii itakuwa karibu 1:00, wakati awamu ya kwanza ya chakula aliwasili. Na hii ni kuhusu 04:00 kwamba Hasa katika mwaka hackathon CS50. Lakini kilele kweli bila shaka ni maana ya Fair CS50, chuo kote maonyesho ya miradi yako mwenyewe ya mwisho, ambayo familia na marafiki wote ni walioalikwa, kama waajiri wetu na marafiki wetu kutoka sekta. Hii, kwa mfano, ni mtazamo wa 2000-plus watu ambao wameweza walihudhuria miaka ya nyuma. Maneno kama hii ni kawaida, na vile vile kufanya yako classmates furaha katika mambo umefanya yametimia. Na kwa kweli, upande wa mwisho kwamba, tuna tukio mwanzo wa muhula, kama vile. Kama mambo kama hii rufaa na wewe, au wewe ni angalau curious kama yale hii, kujua kwamba utamaduni mpya ya Bila shaka inaitwa CS50 Puzzle Siku. Na hii ilikuwa aliweka michache ya miaka ya nyuma kwa kweli ishara kwa chuo kwamba sayansi ya kompyuta si juu ya programu, na ni hakika si kuhusu kumuunga wale tu wanafunzi ambao wana uzoefu kabla. Ni kweli kuhusu kutatua matatizo zaidi kwa ujumla. Na hivyo Puzzle Siku chache zilizopita juu ya miaka sasa, ina tolewa katika nzuri kushirikiana na marafiki zetu katika Facebook, ambapo kutakuwa fabulous zawadi na pizza katika mto katika i-maabara Jumamosi ijayo. Kichwa na URL kwamba pamoja na mbili au tatu marafiki kama ungependa kushiriki katika mila hii mpya. Hivyo ningependa kuuliza kwamba kushika moja kitu katika akili, na sisi tumepewa tu dakika mbili cha picha ya juu ambayo kuifunga leo. 73% ni idadi kukumbuka. Keki, pia, wakisubiri wewe nje ya hii transept kama sisi kuahirisha katika tu michache ya muda mfupi, ambayo ni mila bila shaka, kama vile. Lakini hii ni quote muhimu kutoka silabasi kozi ya kukumbuka. Nini hatimaye mambo katika kozi hii si sana ambapo kuishia jamaa na wanafunzi wako lakini ambapo wewe, katika wiki ya 12, jamaa na kuishia mwenyewe katika Wiki 0. Lakini mtazamo kwamba sisi kuondoka wewe na hapa leo hii ni moja ya mwisho hapa na Daniel wetu huo, ambao walifanya wrdly video tu wakati iliyopita. Mimi kuondoka na mtazamo huu ya kile uongo mbele. Na kama sisi kufanya hivyo, kama tunaweza kuwa na CS50 wafanyakazi kutoka mbele ya chumba kuja juu hadi hatua ya rangi zote zaidi ya picha Visual kama kwa nini watapata wewe mwaka huu - kupata Awkward. Tutaweza kuhitimisha na hii hapa kwenye screen. [Halisi kucheza] DAVID Malan: Hii ni CS50. [MUSIC - MATT & KIM, "ni alright"] SPIKA 1: I love CS50 zaidi ya paka. SPIKA 2: Whoaaaa! [Kicheko] DAVID Malan: Hii, basi, ni CS50. Tutaona wewe juu ya Ijumaa. [Makofi na kuwashangilia] NARRATOR: CS50 ijayo, onstage demo haina kwenda kama ilivyopangwa. DAVID Malan: Tunataka kupata Mike Smith katika kitabu hiki simu. Naam, ni nini hisia zako? Nipate kuruka takribani katikati ya kitabu cha simu, mtazamo chini, kuona kwamba Mimi nina katika M, na mimi kujua sasa kwamba Mike Smith ni mmoja wa kushoto. Lazima awe na haki. Na hivyo katika hatua hii, sisi unaweza literally machozi - katika hatua hii, tunaweza literally machozi - katika hatua hii, tunaweza mfano machozi kitabu cha simu katika nusu. [UKELELE strumming]