[Powered by Google Translate] Speaker 1: Ito ang CS50. Kaya ako ay kung saan ka na ngayon ilang taon na ang nakalipas, at kapag ako ay isang primer anyo sa oras, ako ay hindi tunay na sa path na ito ng paggawa ng mga computer ng agham, ng paggawa engineering. Sa katunayan, ako ay nagmula sa lugar na ito bilang isang pamahalaan concentrator. Ko na nais sa high school isang kid na gumusto mga bagay tulad ng kasaysayan. Nagustuhan ko ang konstitusyunal na batas, uri ng Ingles at matematika, kaya uri ng well-bilugan, ngunit ay hindi kinakailangang alam ang mga bagay na hindi ko ay itinuro sa high school. At upang presman taon, ako ay may pangamba na ito, kung saan kahit na ako Nagustuhan computer, i-play ang mga laro sa computer at tulad, ako tiyak na hindi kailanman naisip ng aking sarili bilang isang computer ng tao, isang computer siyentipiko, at lantaran, naisip ko na ang aking mga kaibigan sa high school na pagkuha ng computer agham ay isang bit ng isang - geeks. At, kapag Nakatanggap ako dito sa campus, nagkaroon course na ito, CS50, at sa oras, ay ang reputasyon ng talagang isang bagay na mag-ingat. Ito ay isang mahusay na kurso. Ito ay isang masaya na kurso. Ngunit mayroon kang upang makakuha ng aktwal na paa sa pinto. At kahit hindi ako cross na limitasyon ng presman taon. At nagpunta ako sa aking paraan ng pamahalaan concentrator, pagpunta sa pamamagitan ng bilang marami sa mga kinakailangan magagawa ko, i-krus ang pagbibilang ng mga bagay para sa gen ed o core at tulad ng, at pagkatapos ay sopomor taon, para sa ilang kadahilanan, ang nakuha ko ang kabastusan sa hakbang paa sa Science Center B, kung saan CS50. Sikat na siyentipiko sa computer sa pamamagitan ng ang pangalan ng Brian Kernighan ay pagtuturo dito sa taong iyon, at kahit pagkatapos, ako ay lamang ang nais na aktwal na punan ang aking pag-aaral card sa pamamagitan ng paglalaan klase na ito pumasa / mabibigo. Ako ay tumingin sa paligid sa akin, at naisip ko ang lahat ng tao sa kuwartong ito nakuha malaman paraan higit pa tungkol sa computer science, tungkol sa programming, tungkol sa mga computer. Ang bawat tao'y dapat na mga programa sa kuwartong ito dahil sila ay 12, ngunit sa katunayan, na hindi ito ang kaso. At kaya ang huling araw, ang ikalimang Lunes ng semestre na tumagal ko ito hakbang at pagbabago mula pass / mabibigo sa isang grado ng sulat, at magtapos ang pagpapalit ng aking konsentrasyon na parehong araw sa computer science. Ngayon na hindi ang aming layunin sa klase na ito, upang i-on mo ang lahat sa computer na agham concentrators, ngunit talagang, upang ipanukala na may pagkakataong ito sa patlang na ito at sa iba pang mga patlang na kung saan maaari mong medyo pamilyar, ibinigay na high school karaniwang sundin ang isang medyo standard curricular path, ngunit venture sa, sa CS50, sa bagong tubig. At kung ikaw ay sitting dito ngayon iniisip ay hindi mo aktwal na nabibilang, kaya gawin ang karamihan sa mga tao sa iyong kanan at sa iyong kaliwa. Sa katunayan, noong nakaraang taon, 76% ng mga mag-aaral sa ganitong uri ay walang naunang karanasan. Kaya salungat sa kung ano ang maaari mong isipin, karamihan sa mga tao upo sa paligid mo ngayon ay hindi, sa katunayan, anumang bago karanasan. 18% kinuha isang CS klase, at 6% kinuha ang dalawa o higit pang mga. Samantala, hinihiling namin ang aming mga mag-aaral sa bawat taon upang ilarawan ang kanilang mga sarili sa mga tuntunin ng antas ng ginhawa, at ito ay - walang isang kahulugan ng mga ito. Mo lamang uri ng malaman ito, kung hindi ka napaka-kumportable sa CS50. At noong nakaraang taon, kami ay may 55% sa berdeng slice ng pie dito, self-naglalarawan bilang mas mababa kumportable mag-aaral na lantaran namin walang ideya Bakit sila mamili ang kurso na unang araw, ngunit ang parehong 55% nanatili sa amin hanggang ng pagtatapos ng termino, pati na ang 35%, na sa isang lugar sa pagitan ng mga higit pang kumportable at mga mas mababa kumportable. Kaya kung ano ang computer science? Well, sa high school, at talagang, mas pangkalahatang out doon mga araw na ito, may ito pagdama o ang maling kuru-kuro na ito na computer science programming. At na ganap na isang aspeto ng computer science, ngunit programming, anumang wika ay, ay talagang lamang ng isang tool na ang mga siyentipiko ng computer na gamitin upang malutas ang mga problema, alinman sa domain ng computer science o, nagiging mga araw na ito, sa pisikal na agham, ang natural agham, sa gamot, sa makataong sining, upang pag-aralan malaking hanay ng data. Kahit saan ngayon may computer at data, mayroong isang pagkakataon upang ilapat aralin natutunan sa isang klase tulad ng CS50. Kaya sabihin na malutas ang isang problema na ang isang computer siyentipiko ay maaaring pumunta tungkol sa paglutas at subukan upang ilagay ang ilang mga hindi maintindihang pag-uusap, ilagay ang ilang mga haka-haka framework, sa paligid kung ano ang maaaring kung hindi man ay ilang medyo abstract ideya. Kaya ito ay telepono. Hindi mo makita ang mga bagay na ito masyadong madalas. Kolehiyo pa rin tila upang magkaroon ng mga ito sa bahay at dormitoryo, ngunit bumalik sa araw, kapag nais mong gumamit ng telepono na tulad nito, walang electronic address book sa iyong cell phone. Sa halip, nakuha mo ng isang bagay na kilala bilang isang libro ng telepono, at mga telepono libro nagkaroon 1,000 mga pahina tungkol sa ang karaniwang. Sila ay pinagsunod-sunod mula sa A sa Z, at mo lamang ay upang mahanap ang tamang pahina sa hanapin ang tao na hinahanap mo upang mahanap ang kanilang mga pangalan at ang kanilang mga numero ng telepono. Ngayon kung paano mo pumunta tungkol sa pag-hinahanap ng isang tao sa aklat na ito? Ipagpalagay na ang aking layunin ay upang bigyan ang aking kaibigan Mike Smith ng tawag. Well, paano ko pumunta tungkol sa paghahanap ng Mike Smith? Well, isang makatwirang diskarte, kung walang muwang at walang kakayahan, ay simulan dito, at simulan ang flipping sa pahina apat, sa pahina limang, sa pahina anim, at upang ayusin ng linearly, kasama sa isang tuwid na linya, pumunta sa pamamagitan ng aklat na ito ng telepono, at kahit kahit na ito ay pagpunta sa hindi kapani-paniwalang nakakainip, kung ang Mike Smith ay sa aklat, kalaunan ako upang maabot sa kanya kapag ako sa wakas i-flip sa S seksyon ng aklat na ito. Ngayon, siyempre, hindi mo kailangang maging isang computer siyentipiko upang malaman na ito ay isang bobo na paraan ng paglutas sa problemang ito. Ano ang isang karaniwang tao gawin? Magaling. Kaya nais mong i-flip sa gitna, i-right? Kaya nais mong i-flip halos sa gitna, tumingin dito, at tila ko upang mahanap ang aking sarili sa ang M seksyon. Okay, kaya M ay malinaw na hindi kung ano ang Naghahanap ako. Mike ang sa kanan, kaya na magsalita, ng seksyong ito, at ng ilan sa inyo ay may nakita bago, maaari naming literal na ngayon magpatuloy sa pilasin ito problema sa kalahati. Mo ba talagang hindi dapat na impressed. Pansiwang ito pababa sa pinagtahian ay talagang hindi na mahirap. Ang mga totoong tao gawin ito sa ganitong paraan, ngunit pababa pinagtahian, aming ngayon ay may dalawang mga problema. Ang bawat isa na kung saan ay kalahati bilang malaki, at maaari naming magtapon ng literal na kalahati ng problema ang layo. Ngayon ay hindi namin hinayaang hindi sa 1,000 mga pahina, ngunit sabihin, 500. Kaya ngayon kung ano ang gagawin ko? Well, isang tipikal na tao ay pumunta halos sa gitna muli, at mahanap ko ang aking sarili sa ang R seksyon, kaya hindi pa doon. Kaya muli, maaari ko pilasin ang problemang ito sa kalahati. Salamat sa inyo. Kaya ngayon ko lamang magkaroon ng ilang 250 mga pahina, at ang maaari kong gawin ito muli, at muli, at muli, at pumunta mula sa 125 pababa sa halos 60, sa 30, 15, at iba pa. At sa wakas, makikita ako whittled down sa isa sa mga pahina S, kung saan, kung siya sa aklat ng telepono, Mike Smith ay dapat na. Ngayon na ang isang malinaw naman medyo makatwirang algorithm, at ito ay isang isang-oras na paggamit algorithm sa kasong ito, ngunit kung ano ang maaari naming pag-uri-uriin ng tumagal ang layo mula sa? Well, ang unang diskarte, tama, kung walang muwang, bagaman, ito ay, maaaring inilarawan sa pamamagitan ng diretsong linya na ito. Kaya kung sa x-axis, dito sabihin namin, ito ay ang laki ng problema. Kaya ng x-axis napupunta sa kanan, ang problema ay nakakakuha ng mas malaking. Ano ang ibig sabihin na mas malaki? Sa konteksto ng ang problemang ito, ang mga higit pang mga pahina sa aklat ng telepono. Mayroong higit pang isang bagay na maaari naming tumyak ng dami. Sa y-axis, oras upang malutas. Kaya bilang axis naging, maglakas-loob namin ito siguro ay kumukuha ng mas maraming oras. Kaya na unang diskarte ng linearly naghahanap mula sa pahina ng isa sa pahina 1,000 ay isang linear na pamamaraan, isang linear na algorithm o proseso, at kaya namin ilarawan ang mga ito sa pamamagitan ng diretsong linya na ito. Kung ako magdagdag ng isa pang pahina sa aklat ng telepono, ito ay pagpunta sa, sa pinakamalala kaso, dalhin ako ng isa pang pahina i-flip upang mahanap ang Mike Smith. Kung nagdagdag ako ng mga 100 mga pahina, 100 higit pang mga flips, o mga yunit ng oras. Ngayon ay maaari kong maging isang maliit na matalino na may ito. Hindi ko kailangang talagang i-on ito sa isang pahina sa isang pagkakataon. Ang maaari kong gawin ang mga bagay tulad ng dalawang sa isang oras o apat sa isang pagkakataon, ngunit kahit na hindi ang lahat na sa panimula mas mahusay. Kahit na ito ay dalawang sa isang oras, oo, na uri ng gumagalaw sa linyang ito pababa sa isang bit, at ito ay nangangahulugan na ito ay tumatagal ng mas kaunting oras, ibinigay ang parehong bilang ng mga pahina, ngunit hindi sa panimula mas mahusay. Ngunit ano ang gagawin lang namin gawin, at kung ano ang lahat ng mo gawin nang katutubo? Aktwal na nakamit mo ang isang maliit na isang bagay na tulad nito, logarithmic oras, kung saan maaari palaguin ang problema at lumalaki at palaguin, ngunit ang gastos ng paglutas na problema, ang oras na kinakailangan upang malutas na ang problema, hindi palaguin ang halos bilang mabilis. Ito ay isang logarithmic curve, log ng n, kung saan n sa laki ng ang problema, ang bilang ng mga pahina sa aklat na ito ng telepono. At kung ano ang ibig sabihin nito sa tunay na mga termino? Well, kung kami ay may, tulad ng, mga 500 mga tao sa kuwartong ito ngayon - o sa halip, kung kami ay may - paghahalo talinghaga - ay hindi na halimbawa pa sa taong ito - kaya kung kami ay may 500 mga pahina sa telepono libro, at hindi na namin double ito sa 1,000, sa mas intelligent na modelo ng flipping sa gitna, kung gaano karaming mga higit pang mga pahina tearers ang tumagal ito upang pumunta mula sa 500 mga pahina sa 1,000? Well, isa lang karagdagang pahina luha. Kung ipinasa mo ako ng 2,000 pahina ng telepono ng libro, hindi sang-ayon. Gusto ko lang pilasin ang mga ito ng isang karagdagang oras. Kaya sa maikling salita, ang laki ng problema mapalago ang mas mabilis kaysa sa gastos ng aktwal na paglutas nito. Ngayon ito ay isa lamang tulad algorithm. May iba maaari naming malutas sa parehong paraan na ito. At sa gayon bakit hindi magawa namin ito - Katatawanan sa akin kung nais mong, kahit na awkwardly dito sa Sanders, sige, lahat, kung magagawa mong, at tumayo sa lugar. Tulad ng nakikita mo sa screen dito, ito ay isang algorithm, isang proseso, isang computer programa, kung kalooban mo, na isinasagawa sa pamamagitan ng mga tao, na may tatlong hakbang lamang. Humihingi kami na sa unang hakbang, na nakatayo. At ngayon sa tingin sa iyong sarili bilang isang. Na ang iyong kasalukuyang numero. Ang bawat tao'y dito bilang isang. Hakbang dalawang, ipares sa isang standing at ang iyong mga numero, at pagkatapos ay magpatibay ito kabuuan bilang iyong bagong numero. Isa mo dapat umupo, ulitin. Sa puntong ito, mas kaunti at mas kaunting mga tao ay dapat na nakatayo. Ito ay kung saan ito ay nakakakuha ng mas mahirap. May dito, dito. Ang pinakamasama bahagi ay, mayroon ka ring napaka pasalita gawin aritmetika sa harap ng daan-daan ng Harvard undergrads. Okay, bit ng isang bug dito. Okay, kung ano ang iyong numero? Siyam. Okay. Ano ang iyong numero? 179. Okay, mabuti. Kaya 188. Kaya ka guys ay maaaring umupo. Ano ang iyong numero? 118. Ang ilang mga na smart undergrad magsimula ang matematika. Okay, 118, 188. Ano pa namin nakuha? 71. 79. Okay. At? 47, kung saan, kawani ng pagtuturo, na nagbibigay sa amin kung gaano karaming? 705 ay ang sagot. At na, sa katunayan, eksaktong tama. Hindi, kami ay talagang isang kaunti off doon, ngunit kung paano dapat ito nakapagtrabaho? Ano ang dapat lamang nangyari? Kaya sa bawat pag-ulit ng algorithm na ito, nagsimula kami na may ilang bilang ng mga tao na nakatayo, at ang kabuuang bilang, n, sa unang. Pagkatapos kalahati ng nakaupo, at nagpunta kami sa n paglipas ng dalawang. Pagkatapos kalahati ng nakaupo, nagpunta kami sa n paglipas ng apat na, n paglipas ng walong, sa paglipas ng 16, at iba pa, hanggang, kahit ito uri ng disintegrated doon sa dulo, sa teorya, ay lahat ipinares off sa balkonahe, at mezzanine, at orkestra dito, namin ang may isa lamang iisa standing tao, na may kabuuang halaga, sa kasong ito, ng 705. Ngayon ano ang nilalaman na ibig sabihin, bagaman, ang oras? Well, isipin ang tungkol sa kung ako, bilang tao, ay tapos na ito nang manu-mano. Gusto ko makapagsimula medyo naively ngunit tama sa isa, dalawa, tatlo, apat, limang, anim, pitong, walong, at iba pa; tumatagal ng lubos ng ilang oras. Kaya ang maaari kong gawin mas mahusay, i-right? Sa mababang paaralan, hindi mo lang mabibilang sa mga. Mong bilangin sa twos. Kaya dalawa, apat, anim, walong, sampung, labindalawang. At nakakakuha ng mas mabilis, ngunit ngayon sa panimula, sa pamamagitan ng pagdaragdag sa kolektibong katalinuhan ng lahat ng tao sa kuwartong ito, maaari naming makamit ang isang curve magkano higit pa tulad nito, kung saan ngayon, ang bilang ng mga tao sa kuwartong ito maaaring double, isa pang 700 mga tao maglakad sa kuwartong ito para sa 1400 mga tao, ngunit lamang ito sa amin ng isa pang ulit ng algorithm na ito upang malutas. At kaya nagiging, mga araw na ito, kapag kami ay may mga malalaking data nagtatakda sa Facebook, at Google, at ang mga tulad ng, ng paglutas ng mga problema na ito bit ng pananaw, ito bit ng katalinuhan, na nagpapahintulot sa amin nagiging gawin mas, mas malakas na mga bagay sa computer ngayon. Kung gusto mo ng mga ganitong uri ng mga bagay, maaari mong nakikita sa Facebook CS50 sariling Puzzle Day, paparating na ito Sabado. Kung nais mong lumahok sa isang bagay tulad nito, kung saan ka at dalawa, o tatlo, o apat na mga koponan ng apat na nais upang malutas ang ilang mga palaisipan tulad bilang isang ito, tumayo ka ng isang pagkakataon upang manalo ng ilang kamangha-manghang mga premyo, kabilang na Wii, at ang ilan ng mga regalo card, at ilang iba pang mga Facebook swag ito Sabado, tanghali hanggang 3:00 ng hapon. Pumunta upang cs50.net/rsvp para sa naturang. At ang slide na ito ay online kung gusto mo upang i-play sa paligid. Ang puzzle sa taong ito ay bago. Maaari mong mapansin sa silid-aralan, masyadong, ang lahat ng mga higit pang mga camera sa taong ito. Kaya hindi lamang ang kurso kumuha sa karaniwang paraan, ang CS50 ay maaari ring maging paglalaan bahagi ng documentary sa mas mataas na edukasyon na pagtingin sa transformative karanasan na ang isang mag-aaral ay maaaring magkaroon ng mga araw sa isang undergraduate na kurso ng pag-aaral. Kaya patungo sa mga dulo, hindi lamang namin ay pagkuha para sa na, kami film pati na rin para sa, nagiging, ang aming online na madla, pati na rin, paminsan-minsan, ito madla dito. Kaya naming maligayang pagdating sa uri sa taong ito ang aming mga mag-aaral sa Harvard extension paaralan, paaralan na nagtapos ng disenyo, edukasyon, ang mga paaralan ng negosyo, ang Kennedy Paaralan, ang paaralan ng batas, pati na rin ang bilang ng mga mag-aaral mula sa Belmont, Lexington, Newton, at Watertown High School. Maligayang pagdating sa iyo ang lahat ng. Bilang karagdagan, sa taong ito, na maaaring narinig mo, Harvard, at MIT, at Berkeley ngayon pumasok sa isang collaborative pakikipagsosyo sa isang inisyatiba na tinatawag na EdX, na kung saan ay isang hakbangin upang buksan ang edukasyon sa lahat ng higit pang mga tao sa online at, sa panimula, simulan ang paggawa ng pananaliksik sa isang mas mas malawak na iskala kung paano ang mga tao matuto. At kaya CS50 ay unang kurso sa kolehiyo lumahok sa na hakbangin, pati na rin, na nangangahulugan na magkakaroon ka ng access sa lahat ng higit pa tool, ang lahat ng mga mas curricular na nilalaman, ang lahat ng mga mas maraming nilalaman video bilang isang resulta, pati na rin ng umaga ng kahapon, ang 53,019 tao na may nakarehistro sa CS50 kasama mo sa taong ito sa Internet. Kaya kung ano ang ibig sabihin nito ay, sa partikular, na ang pagtuturo kawani at ako ay may ginugol lubos ng kaunti ng oras ngayong tag-init paghahanda para sa pagkahulog, pareho sa campus at off, upang maaari naming simulan upang bumuo ng isang kalipunan ng mga kawili-wiling, ng nakapanghihimok, nakakaengganyo pang-edukasyon na nilalaman, na nakatutok sa mga partikular na sa mas intimate conveyances ng medyo complex na materyal. Kaya sa karagdagan sa mga aralin sa kurso, at seksyon, at mga bagay tinatawag walkthroughs, na makikita namin muling bisitahin sa loob lamang ng kaunti, makikita din namin mga shorts sa taong ito na nagbibigay-daan sa iyo upang makisali sa mga kurso mula sa isang iba't ibang anggulo sa lahat nang magkasama. Kaya gamitin natin ito bilang isang pagkakataon upang kumuha ng mabilis na silip sa isa na Tinatalakay ito paniwala ng binary. Kaya sa computer science may mga bagay na tinatawag na algorithm, dalawa sa kung saan kinuha lang namin tingnan sa - mga pamamaraan para sa paglutas ng mga problema. Ngunit sa pagtatapos ng araw, kailangan mong kumatawan ang impormasyon sa paanuman, at kailangan upang kumatawan ito sa isang paraan na computer ng isang maaaring maunawaan. At kahit na kung hindi mo talaga maunawaan computer, at ikaw ay nasa na ang 76% ngayon, marahil may ilang malabo pakiramdam na computer sa paanuman deal sa mga zero at mga, ang binary system, upang magsalita. Ngayon kung bakit na ang kaso? Well, lumiliko out kapag computer unang dumating tungkol sa, kung kailangan mo upang kumatawan impormasyon, maaari mong gawin ito sa koryente, at bagaman ito ay isang bit ng isang oversimplification, madaling paraan ng-record impormasyon ay alinman sa pamamagitan ng pag-i na koryente sa, isa sa binary, kaya na magsalita, o i- na koryente off. Kaya Barry, kung hindi mo nais tututol, maaari naming madilim ang mga ilaw ganap na para sa sandali lamang? Ito dito ay hindi kinakailangang zero binary. Karapatan lahat, kung namin i-on ang mga ilaw-back up, ngayon Sanders Theatre kumakatawan sa binary na halaga ng isa. Sa kasamaang palad, na may lamang ng isang bit, na may isang hanay ng mga ilaw, maaari lamang namin kumatawan sa dalawang numero sa mundo, zero at isa, at nais magaling kung mga computer ay maaaring bilangin ng kaunti mas mataas kaysa sa, ngunit sa katunayan, maaari sila. Kaya ipaalam sa akin makuha ang sa screen dito aming kaibigan, Nate Hardison, na ay magbibigay sa sa amin ng isang mabilis na pagtingin sa loob ng ilang minuto lamang sa ito paniwala ng binary. Nate HARDISON: Bumalik kapag natutunan mo kung paano basahin at isulat ang numero, natutunan tungkol sa mga digit zero sa siyam. Upang sumulat ng mga buong numero na mas malaki kaysa sa siyam, matuto mo na ang lahat na kayo ay nagkaroon na gawin ay gamitin ang ilang mga kumbinasyon ng mga digit, sa 52 at 437. Kaya ito paraan ng pagsulat ng mga numero ay may pangalan, decimal notation. Bakit decimal? Well, sa Latin root ng decimal, deca, ay nangangahulugan na 10, at kapag mayroon kang 10 digit sa iyong pagtatanda system, 10 magiging halip espesyal na numero. Tingnan natin sa numerong 437 nakasulat sa decimal notation upang maunawaan kung bakit. Muna namin magbuwag 437 sa 400 plus 30 plus 7. Namin ito bukod ng mas maraming, kaya na namin Mayroon apat na beses 100 plus 3 beses 10 plus 7 beses 1. tandaan pag-aaral tungkol sa mga lugar, ang lugar 10s, 100s lugar, at iba pa? Ito ay kung saan mismo na nagmumula sa. At sa wakas, maaari naming makita kung paano namin Mayroon ng grupo ng kapangyarihan ng 10-embed in dito. Mayroon kaming 4 na beses 10 sa 2 kasama ang 3 beses 10 sa 1 plus 7 beses 10 sa zero. Kaya ngayon sa iyo na makita kung bakit 10 ay isang espesyal na numero sa decimal notation. Sa katunayan, hindi namin Mayroon ng isang pangalan para dito. Ito ay tinatawag na base sa, dahil ito ay ang base ng exponent sa aming aritmetika dito. Decimal notation ay hindi ang tanging paraan upang kumatawan ang mga numero. Sa katunayan, kahit na kung makuha namin mapupuksa ng mga digit dalawang sa pamamagitan ng siyam, maaari pa rin namin kumatawan sa lahat ng mga numero na maaari namin sa decimal. Kaya ngayon na mayroon kaming dalawang digit, zero at isa, dalawang ang aming mga espesyal na numero, ang base ng aming sistema ng pagtatanda. Ang pangalan ng sistema ng pagtatanda na ito ay tinatawag na binary, dahil ang prefix Bi ay nangangahulugan ng dalawang. Sa halip, ngayon, ng pagkakaroon ng mga lugar, at 10s lugar, at iba pa, namin ngayon ay may mga lugar, isang lugar ng twos, fours lugar, at iba pa, pagpunta sa pamamagitan ng kapangyarihan ng dalawang. Kaya natin makita ito sa pamamagitan ng paggawa ng ilang nadaragdagan. Kaya zero pa rin ang zero, at isa pa rin ang isa. Gayunpaman, ngayon na kami Mayroon twos ng lugar sa halip ng isang 10s lugar, 10 kumakatawan sa bilang dalawang. Upang makakuha ng tatlong, hindi namin magdagdag ng isa na, at kumuha ng 11. Apat na, dahil mayroon na ngayong ng fours lugar, ay kinakatawan ng 100. Limang ay 101. Anim ay 110. Pitong ay 111. Walong, muli, ay may sarili nitong lugar. Kaya 1000. At sa tingin ko sa iyo na makuha ang punto. Speaker 1: Kaya ito ay upang sabihin kung ano ang mga computer gawin at kung ano ang binary ay ay aktwal na hindi na hindi magkahawig mula sa kung ano ang namin ang paglalaan para sa ibinigay para sa ilang taon, i-right? Bumalik sa mababang paaralan, natutunan mo sa bilang ng tumpak sa fashion na Nate iminungkahi, ngunit marahil hindi talaga naisip tungkol sa ito dahil, ang katotohanan na may na mga lugar, 10s lugar, at 100s lugar, at na medyo arbitrary. At sa katunayan, computer lamang gamitin ang iba't ibang base. Ngunit sa pagtatapos ng araw, upang aktwal na pisikal na kumakatawan sa ang paniwala na ito ng isang zero at isa, malinaw naman ay hindi lamang i-on ang ilaw on at off kinakailangan. Kailangan mong gawin ang mga ito sa isang mas mas pinong grain scale. At sa pamamagitan ng mas pinong grain, maaari mong tandaan na ito ulok maliit na laruan mula sa pagkabata, Makapal na Willy at mga maliit na magnetic particle. Kaya magnetic particle ay isang bagay na maaari mong ihanay sa loob ng ilang iba't ibang direksyon, marahil hilaga-timog o timog-hilaga. At kaya ng maraming mga pisikal na anyo ng teknolohiya mga araw na ito na gumagamit ng binary, na gumagamit ng mga zero at mga, simpleng pang-akit sa loob na aligns sa mga bagay up-down o pababa-up, at dahil doon ay kumakatawan sa zero o isa, ayon sa pagkakabanggit. Kaya sa katunayan, sabihin maglipat sa malayo mula sa abstract dito, at tumingin sa loob ng kung ano ang higit pang tradisyonal na computer hard drive. Nangyayari ito bit mas malaki sa screen na ito mula sa isang desktop computer, ngunit laptop ngayon pa rin magkaroon ng parehong teknolohiya na ito, ngunit dahan-dahan papalitan ng mas sopistikadong mga bagay na aktwal na walang gumagalaw bahagi - ang loob, pagkatapos, ng isang hard drive. Tagapagsalita 2: Ang hard drive ay kung saan ang iyong PC ay nag-iimbak ng karamihan ng permanenteng data nito. Upang gawin na, ang data paglalakbay mula sa RAM kasama ang signal ng software na sabihin hard drive kung paano upang mag-imbak ng data na iyon. Ang mahirap biyahe circuits isalin ang mga signal na iyon sa boltahe pagbabagu-bago. Mga ito, sa pagliko, kontrolin ang paglipat ng mga bahagi ng hard drive, ang ilan ng ilang paglipat ng mga bahagi na naiwan sa modernong computer. Ang ilan ng signal kontrolin ng motor, na paaralan ng metal pinahiran platters. Ang iyong data ay aktwal na naka-imbak sa mga platters. Iba pang signal ilipat ang read-isulat ang ulo upang basahin o magsulat ng data sa platters. Makinarya Ito ay kaya tumpak na ang isang tao na buhok ay hindi maaaring kahit na pumasa sa pagitan ng ang mga ulo ng Umiikot na platters, ngunit ang lahat ng ito ay gumagana sa kakila-kilabot na bilis. Tagapagsalita 1: Kaya ngayon namin mag-zoom in sa kung ano ang aktwal na nangyayari sa tuktok ng ito platters sa mga tuntunin ng pang-akit, mayroon kaming ang pangalawang ng dalawang hitsura. Tagapagsalita 3: tingnan natin kung ano lamang namin nakita sa mabagal na kilos. Kapag ang isang maikling pulso ng koryente ay ipinadala sa read-write ulo, flips sa isang napakaliit ng electromagnetic para sa isang bahagi ng isang segundo. Gayuma lumilikha ng isang patlang, na nagbabago ang polarity ng isang maliit, napakaliit bahagi ng mga particle metal na amerikana ibabaw ng bawat platter. Ang isang pattern serye ng mga maliliit na sisingilin up na lugar sa disk ay kumakatawan sa isang solong bit ng mga data sa isang binary bilang sistema na ginagamit ng mga computer. Ngayon kung ang kasalukuyang ay nagpadala ng isang paraan sa pamamagitan ng read-write ulo, ang lugar polarized sa isang direksyon. Kung ang kasalukuyang ay ipinadala sa tapat ng direksyon, ang polariseysyon ay reverse. Paano mo makakuha ng mga data off hard disk? Baligtarin lamang ang proseso. Kaya ang mga particle sa disk na makuha ang kasalukuyan at ang read-isulat ang ulo paglipat. Ilagay ang sama-sama ng mga milyon-milyong ng mga magnetized segment, at Mayroon ka ng isang file. Ngayon ang mga piraso ng isang solong file ay maaaring nakakalat sa buong platters ng biyahe, uri ng tulad ng gulo ng mga paper sa iyong desk. Kaya Sinusubaybayan ang isang espesyal na file ng dagdag na kung saan lahat ng bagay ay. Huwag nais mong mayroon kang isang bagay tulad na? Speaker 1: katunayan. Kaya mayroon kaming ang kakayahan na kumatawan ang impormasyong ito, ang mga numero sa isang mababang antas. Mayroon kaming isang pisikal na paraan ng kumakatawan na parehong bagay, ngunit hindi namin mai-talaga gawin lahat na magkano ng interes, iba pang kaysa marahil ilang aritmetika at matematika. Mayroon kaming walang paraan ng kumakatawan sa gayon ay malayo mga bagay tulad ng alpabetikong mga titik, kaya na namin ang mga tao ay maaaring makipag-usap, gamit ang parehong mga device. Ngunit thankfully, may umiiral na pag-encode, ang mga pattern ng mga zero at mga na kumakatawan sa mas mataas na mga constructs antas tulad ng A, at B, at C, at buong pangungusap, at mga talata, at tulad. At kaya ASCII, na kung saan ay isang acronym na tumutukoy sa coding sistema na ito kung saan isang numero ay kumakatawan sa isang naibigay na titik - halimbawa, ang bilang na alam namin bilang decimal value 65 ay kilala bilang ang malaking titik A hanggang computer. Ang decimal na halaga ng 97 sa computer ay kilala bilang isang lowercase isang. At kung ano ang na talagang ibig sabihin? Well, kahit Nate, ng ilang sandali ang nakalipas, tanging binibilang mula sa zero sa walong, kung kami upang ipagpatuloy ang pagbibilang ng hanggang sa 65, o higit pang, sa 97, ang mga pattern ng zero at mga na siya ay iguguhit sa screen ay eksaktong ano ang computer ng isang gumagamit upang kumatawan sa sulat A sa lahat ng mga caps, o ang sulat ng sa lowercase. At sa katunayan, mayroong isang buong scheme na ito. Ito ay, sa unang tingin, napakatinding tsart ng mga pag-encode, ngunit kung kang tumuon sa kanang kalahati dito, mapapansin sa gitnang hanay, mayroon kaming ito paniwala ng mga numero na sinusundan ng mga titik. At sa itaas, mayroon kaming 32, at ang mga character na magpasinda, na 32, ang integer, ngayon ay tumutukoy, ay tila ang espasyo bar ng character. Kapag kumuha ka ng espasyo character na bar sa iyong laptop, kung ano ang hindi mo talaga pagpapadala ng isang numero, isang pattern ng mga zero at mga, ng daloy ng koryente, kung kalooban mo, na kumakatawan sa mga zero at mga, na ang computer pagkatapos kahulugan bilang isang puwang ng character sa screen. Isang tandang padamdam 33. Double quote ay 34. At kung mag-scroll pababa namin dito sa kanan, hindi namin makita na 65 ay sa katunayan A, at 97 ay sa katunayan ng lowercase. Kaya ngayon na mayroon kaming pag-encode scheme na ito, maaari naming magsimula sa ini-ispel bagay out. Sa katunayan, computer karaniwang ipahayag ang kanilang sarili sa standard na mga yunit, hindi gamit ang isang indibidwal na bit, na muli, ay hindi ang lahat ng kapaki-pakinabang na lamang kumakatawan sa zero o isa, ilaw sa o off, ngunit sa halip, ang paggamit ng pagkakasunud-sunod ng mga bits. At ang pinaka-karaniwang yunit ng pagsukat, bilang mo marahil na alam, o hindi bababa sa natukoy, ay isang byte. Byte ay may walong bits, walong zeroes o mga sa isang hilera. Upang maaari naming simulan ang pagbaybay ng mga bagay ang. At kaya kung kami, bakit hindi subukan ito ng kaunting sama-sama dito? Walong tao doon sa kuwartong ito na gusto sa entablado? Mayroon kang upang maging komportable na lumilitaw sa camera, ngunit hindi mo talagang kailangan malaman kung hindi man ay kung anong nangyayari sa pa. Makita ko ang isang tao na nagboluntaryo sa paglipas dito. Dalawa, tatlo, apat, limang, anim, pitong, at kung paano tungkol sa walong? Halika sa up. Kaya ikaw ay tungkol sa upang kumatawan sa isang byte ng mga tao. Hayaan akong mo ang 128s lugar, mo ang 64s lugar, 32s lugar. Ngunit kami ay pagpunta sa napaka mabilis na i-reverse ito. Kaya ipaalam sa akin matugunan mo ang lahat ng banda roon. At dapat mong sa 128s lugar ang lahat ng mga paraan sa paglipas, dito tulad ng daan-daan ng lugar o ang libu-libong lugar ay malayo sa kaliwa, nais naming ang pinakamalaking placeholder sa dito sa kaliwa pati na rin. Mayroon kaming 64s, 32, 16s, 8s, 4s, 2s, at 1s - mahusay. Kaya ngayon kami ay may - okay, maaari kang makatulong sa akin. Kaya ngayon kami ay may - kung ano ang iyong pangalan? Joanne: Joanne. Speaker 1: Kaya Joanne at ako ngayon upang payuhan ang mga guys na ito sa kung paano namin maaaring pumunta tungkol sa pagbaybay ng isang bagay ang. Kaya sa backs ng kanilang mga sheet ng papel, mayroon silang isang maliit na impostor sheet na upang sabihin sa kanila kung ang mga ito ay kumakatawan sa zero o ng isa. At bakit hindi, para sa pagiging simple, makikita namin kumakatawan sa zero sa pamamagitan lamang nakatayo doon awkwardly. Napakabuti. O ng isa sa pamamagitan ng pagtataas ng iyong mga kamay, na kumakatawan sa isang isa. At sabihin makita kung hindi namin ini-ispel ng apat na character na parirala dito. Kaya sige lang ngayon, boluntaryo, at magsagawa ng ikot isa sa pamamagitan ng pagtataas ng iyong kamay kung ikaw ay isang isa, o pagpapanatiling ito kung ikaw ay isang zero. Kaya ngayon na mayroon namin ang tatlong mga kamay hanggang, ano number, ang iba, sila aktwal na kumakatawan? Okay, 67. Bakit? Well, mabilis katinuan check. 64s lugar, dahil ito ay isang isa. Iyon ay tulad ng isang beses 64, plus 1 beses dalawang, kaya na 66, kasama ang 1 beses 1. Na plus 1, kaya 67. Kaya ngayon ang mga guys na ito ay pinagsama-sama na kumakatawan sa 67, kung saan tila kumakatawan sa kung ano dito sa ASCII? Okay, kaya ang C. Lahat ng karapatan. Kaya ngayon hayaan ang ng magpatuloy sa isalin dalawang. Ang bawat tao'y nagsisimula sa kanilang mga kamay, at pagkatapos ay pag-ikot ng dalawang. Aktwal na, may hindi magkano ng isang papel dito, ipagpalagay ko, ngunit gagamitin namin magpanggap. Kaya ikot dalawang, taasan o babaan ang iyong mga kamay. Ayos lang. Madla, kung ano tayo ngayon? Pagpapahayag ay 83. Kaya maaari mong gawin ang matematika. Ngunit para sa sinuman na ang mga kamay ay up, idagdag mo sa bilang na kumakatawan sila. Kaya ngayon kami ay may 83. Natin palawakin ang impostor sheet ng kaunti, at hindi na namin ngayon ay may - maaaring ito ay halata kung saan kami ay pagpunta dito, ngunit gayunman, ang mga round tatlo. Okay, ikot tatlong magandang pumunta doon, kaya ikot tatlo, kung ano ang bilang ay mga guys na ito ngayon kumakatawan? Okay, Narinig ko 53, na sa ngayon ay kumakatawan - kawili-wili. Ngayon kung bakit ang ganitong uri ng counter-intuitive resulta, i-right? Kung gusto naming upang kumatawan limang - namin ang lahat ng marahil alam kung saan ito ay pagpunta - bakit hindi ko lamang taasan ang mga fours lugar at ang mga lugar? Well, Napagtanto namin na ang isang pagkakaiba, sa panimula, sa pagitan ng kung computer ng isang kahulugan ng mga bit na ito. Kung sinusubukan mong ganap na kumakatawan sa bilang limang, pagkatapos, namin lamang itaas ang iyong mga kamay bilang apat at taasan ang bilang ng mga kamay ng isa. Ngunit hindi pa namin ay kumakatawan ng mga numero dito. Sa konteksto dito sa stage na kami ay kumakatawan sa mga character o char, at sa kontekstong ito, ang computer ay may upang mapagtanto na oh, ito pattern ng mga bits ay hindi isang numero lamang. Aktwal Ito ay kumakatawan sa isang mas mataas na antas ng konsepto. Sa kasong ito, ang isang alpabetikong letra. Kaya ang katotohanan na ngayon ay kumakatawan sa bilang lima na may halaga 53 ay dahil sa ASCII, ang bagay na aming aesthetically makita na rin ang bilang limang mismo nangangailangan ng isang pattern ng mga bits - dahil bakit? Well, ang mundo ang nagpasyang gamitin ang mas mababang numero, zero, isa, dalawang, tatlo para sa kung ano ang tumingin sa patas misteriyoso bagay. At sa katunayan, ito ay ang mga character na hindi sa isang keyboard. Espesyal na mga expression na kailangan mo sa isang computer upang gawin ang mga kawili-wiling mga bagay, ngunit mga tao ay hindi kailanman aktwal type ang mga ito. Kaya 53, sa katunayan, ay kumakatawan sa limang. Ngayon lamang bilang isang panghuling pagsusuri ng katinuan, kung ano ang bilang dapat sila kumatawan sa sandali lamang? Okay, kaya 48. At sa katunayan, sige, ikot apat. 16 plus 32 ay talagang 48. At kaya isang malaking ikot ng papuri, kung magagawa namin, para sa aming walong boluntaryo dito. Mahusay na tapos na. Anumang direksyon ay pinong. Kaya ngayon namin ng paraan hindi lamang ng pag-iisip tungkol sa kung paano upang kumatawan ng data, at aktwal na kumakatawan ito pisikal, ngunit din paggawa ng mas mataas antas ng mga bagay sa itaas ng. At sa katunayan, ito ay pagpunta sa isang tema sa buong computer science ng pagbuo ng higit pa at mas kawili-wili at kumplikadong mga bagay sa itaas ng medyo simpleng ideya - sa kasong ito, zero at mga. Sa mga tuntunin ng kung bakit ito ay kapaki-pakinabang, na rin, kahit na sa isang kurso tulad nito, na naming tumuon sa batayan, at sa programming, at sa paglutas ng problema, maaari kang pumunta sa computer science sa anumang bilang ng mga direksyon. Sa kasong ito dito, ito ay isang chart na mayroon ka sa likod na pahina ng iyong hindi opisyal na gabay sa CS sa Harvard, isa ng dalawang Printout ngayon. Ito ay nagmumungkahi ng maraming iba't ibang mga direksyon sa kung saan maaari kang pumunta pagkatapos ng kurso tulad nito - pag-aaral tungkol sa artificial intelligence, tungkol sa mga graphics, tungkol sa pagkatuto ng machine, tungkol sa wika mismo. Napagtanto, masyadong, na may pa iba pang path. Mayroong higit pang mga mathematical path sa computer science. Kung hindi ka kahit na kumuha ng isang bagay na tulad ng CS50 ngayong taglagas, may panimulang kurso sa tagsibol, Computer Science 1, halimbawa, ay isa pang on-ramp sa ang bagong mundo. Ngayon bilang isang bukod, sa interes ng paglutas ng mga problema na may kaugnayan sa mga kurso, Napagtanto CS50 set ng ilang oras ang nakalipas upang subukan upang malutas ang isa sa mga problemang ito, problema na kilala bilang my.harvard, na marami sa inyo ay maaaring ginagamit upang aktwal shop para sa mga kurso, ngunit kung hindi, i-check ang isang tool tulad nito, pati na rin ang iba pang mga kaapu-apuhan na nilikha ang ilan sa aming mga nakaraang mga mag-aaral at kawani. Ngunit sa Harvard Kurso, na kung saan ay isang web-based na tool, isang bagay na kakayahan ng pagdidisenyo at pagpapatupad ng sarili, pati na rin pa iba pang mga bagay pati na rin sa pamamagitan ng sa katapusan ng semestre, nauunawaan natin na ito Bumubuo kapag isang bukas na data set. Sa kasong ito, siyempre, katalogo, at nagbibigay-daan sa mga mag-aaral sa kasong ito upang galugarin ang isang medyo kumplikadong hanay ng data. Namin utong kagabi ng ilang mga istatistika batay sa ilang libong mga tao na ginagamit ito sa loob ng nakaraang ilang araw. Kung ikaw ay usisero upang malaman kung gaano karaming mga kurso aktwal na ang iyong mga kaibigan may posibilidad upang mamili, na rin, ngayon ang data na ito ay nagmumungkahi na ang 7.6 ay ang average bilang ng mga kurso sa listahan ng shopping ng isang tao. At ngayon kukunin ko na magbibigay sa iyo rin ang istatistika ng pinakamaraming bilang ng mga lahat ng mga kurso sa listahan ng shopping ng isang tao - at hindi na namin marahil alam ng isang tao na tulad nito. 201 rekord ng taong ito. Ngayon ang ilan sa aming mga dating na mga mag-aaral at kawani ay aktwal na magkasama ng clip sa pintahan ng isang larawan para sa iyo ng kung ano ang path ng computer science at CS50 mismo. Hayaan akong magpatuloy at hilahin, salamat sa Mr Harvahd dito, ang isang video na ginawa ng ilan sa iyong mga predecessors, kung maaari naming panatilihin ang mga ilaw up para sa. [Nagpe-play ng musika] Speaker 1: ako ay walang ideya na mangyari. Kaya mas malubhang hitsura sa kung ano ang namamalagi magpatuloy. Kaya sa mga tuntunin ng ang mga inaasahan ng mga kursong ito, sa katunayan ka inaasahang dumalo o panoorin ang panayam sa kurso, magsumite walong hanay ng problema, magsagawa ng dalawang pagsusulit, magsumite ng isang pangwakas na proyekto. Sa mga tuntunin ng grado, Napagtanto na ang aking mga komento sa pambungad na tungkol sa ipasa-mabibigo, isang bagay na aming napaka isapuso sa CS50 - walang halos sapat ng isang kultura sa Harvard ng sinusubukan isang bagay at risking pagkabigo. Sa katunayan, hindi namin ay may mga numero ng mga mag-aaral, at ang aking sarili sa partikular, na naging nag-aalala tungkol sa pagyurak iyong GPA, o ng isang B sa isang bagay tulad ng CS50, at ang pagkakataong kumuha ng kurso tulad ng ito at iba pang mga kurso ng gateway sa ang panimulang antas na ipasa / mabibigo ay isang napaka-underutilized pagkakataon sa kolehiyo sa pangkalahatan. At kaya mangyaring malaman, kahit ako enroll sa kursong ito simula para pumasa / mabibigo credit nag-iisa, at kahit ginawa ko ang lumipat sa pagtatapos ng araw, ito ay mga limang paunang linggo, hanggang sa ikalimang Lunes ng semestre, na ang cutoff, na pinapayagan aktwal na sa akin na maglagay ng paa sa mga bagong tubig, at aktwal na subukan ang isang bagay na napaka-pamilyar at napaka hindi komportable para sa akin sa panahon. Kaya sa mga tuntunin na ngayon ng kung ano ang papel ang iba't ibang mga anggulo kung saan maaari kang lapitan ang kursong ito maghatid - kaya aralin. Ito ay hanggang sa iyo. Kung-ugnayan sa amin sa tao sa lugar na ito, sa katunayan, alam namin istatistika na ang halos 40% ng iyong uri ng darating at pumunta sa ibabaw ng kurso ng semestre, at 10% ng hindi namin makikita muli pagkatapos ngayon. At ang perpektong fine, maging matapat. Isa ng mga tumutukoy na katangian ng CS50 ay may mga hindi mabilang na mga mapagkukunan, ang ilan sa gagamitin namin magpakalantog sa pamamagitan ng sa sandali lamang, kabilang ang mga aralin at mga seksyon, at mga bagay na tinatawag na walkthroughs, at opisina oras, at tulad, at higit pang mga mapagkukunan kaysa sa tipikal na mag-aaral dapat o maaaring pisikal samantalahin, ngunit na dahil ng disparate estilo sa pag-aaral na ang anumang katawan ng mag-aaral manifests. At iba pa sa mga aralin, ang pangunahing papel bilang makita ko ito ay hindi pasalita itulak out sa medyo complex na materyal at sa kinakailangang maghatid ang lahat ng mga intricacies ng batayan na makikita namin galugarin ang semestre na ito, ngunit sa halip, upang gawin ang mga bagay na tulad namin ang paggawa sa gayon malayo na, mga halimbawa na kinasasangkutan ng mga tao sa entablado sinusubukan upang ipinta ang isang larawang-diwa, at din lumikha, maglakas-loob sabihin ko, ang ilan sa mga di malilimutang sandali, kaya na kahit na pagpakasakitan may ilang mga paksa, mayroon kang mga alaala na ito, tulad ng oh, kahit na medyo abstractly, matematika, Nakatanggap ako nawala may nagdadala ng isa, tulad ng, ito talaga, sa pagtatapos ng araw, ay hindi lahat na hindi magkawangki sa isang bagay ko na alam. At kaya ang papel na ay maghatid ng mga aralin alinman sa tao dito sa Sanders o online sa video ay talagang i-set ang yugto sa itak para sa iyo sa bawat linggo para sa iba't ibang mga konsepto at mga problema na namin diving sa. Sa mga tuntunin ng mataas na antas ng konsepto, karamihan ng mga salitang ito ay maaaring dumaloy sa paglipas ng ang iyong ulo para sa ilang sandali. At na ang fine. Yaong mo na ay darating sa kurso mas kumportable ay alam na ang ilan sa mga paksang ito, ngunit karaniwang para sa 10% ng klase kung saan mayroon silang higit pa background, pagkuha ap computer science, mga programa dahil sila ay 12, mapagtanto na magkakaroon ng pagkakataon sa seksyon at problema Nagtatakda pumunta ang lahat ng mga higit pang lalim sa iba't ibang mga paksa, pagpuno sa anumang mga gaps na maaaring mayroon ka mula sa iyong high school o bago background. Sa mga tuntunin ng wika, Napagtanto na ang wika na ginagamit namin sa CS50 ay higit sa lahat walang-katuturang sa pagtatapos ng araw. Mangyari namin na gamitin ang pangunahing isang wika na tinatawag na C. Patungo sa dulo ng semestre, namin ipakilala ang mga web-sentrik na wika, tulad ng PHP at JavaScript. Ngunit hindi namin at iba pa ay maaaring magturo ng kurso tulad ng ito sa karamihan ng anumang mga modernong mataas na antas ng wika - Python, at Ruby, at iba pa ay medyo popular na mga araw na ito, dahil Napagtanto, sa pagtatapos ng araw, hindi ka matuto sa C. Ikaw ay hindi pag-aaral ng PHP o JavaScript. Matuto ka kung paano upang malutas ang mga problema, kung web-based, computer-based, o data-oriented na mismo, gamit ang mga simpleng mga tool. Ngayon sa mga tuntunin ng logistik, makikita mo gamitin ang isang bagay kalaunan tinatawag na CS50 Appliance. Hindi mahalaga kung mayroon ka ng Mac, PC, Linux computer na, o ang tulad ng, magkakaroon ka malayang magagamit na software simula sa susunod na linggo na upang gamitin ang ang CS50 Appliance, isang virtual na kapaligiran na gagamitin mo sa iyong sariling computer, sa gayon ikaw at ang lahat ng iyong mga kaklase ay may isang unipormeng Linux desktop sa kasong ito. Ang set ng problema, bagaman, kung saan mo ba talagang makuha ang iyong mga kamay marumi sa kurso. At sa pagtatapos ng araw, ito ay set ang problema, tingin ko, na talagang tukuyin ang karanasan ng mag-aaral sa kursong ito. Napagtanto na maraming ng mga hanay ng problema ay inilabas sa dalawang edisyon - isang standard edition na inaasahan naming at hinihikayat ang 90% ng klase sa sumisid sa. Ngunit din namin inilabas ilang set ng problema sa tinatawag na Hacker edisyon, at alam ang Hacker edition, dahil sa bawat pahina na may watermark, sabi ni Hacker edition dito. At na para sa demograpikong mo na may ap computer science na may 10 taon ng mga programa sa ilalim ng iyong sinturon, at naghahanap upang punan ang mga gaps, at magkaroon ng mas pormal na, kaysa sa self-itinuro pagsasanay marahil, Napagtanto na may malaking na demograpikong sa klase na may tiyak na parehong layunin. Magkakaroon ka ng limang late araw. Problema set sa pangkalahatan ay dahil sa Huwebes, ngunit maaari mong pahabain ang limang ng mga deadlines gamit ang mga bagay na ito ay tinatawag na late araw, at gagamitin din namin drop iyong pinakamababang puntos sa katapusan ng semestre, alinsunod sa particular sa syllabus. Ngunit ang isa pang katangian ng pagtukoy ng CS50 sa mga nakaraang taon ay naging opisina oras, ng pagkakataon na nakita mo biswal sa mga larawan ng kaunti ang nakalipas kung saan ipunin namin dati sa dining bulwagan ng bahay, bago sa basement ng sentro ng agham, at ang taon na ito sa Annenberg Hall, apat gabi sa isang linggo 20:00-11:00, kung saan makikita mo ito napaka ibinahagi karanasan ng mga nagtatrabaho sa, struggling sa pamamagitan ng ilang mga problema, ngunit may isang matibay na istraktura ng suporta sa lugar. Sa katunayan, ang paraan na ito ay gagana makikita mo dumating sa Annenberg kung mayroon kang ilang tanong sa panahon ng linggo. Mong dalhin ang iyong laptop, makikita mo umupo, grab ang ilang mga pagkain, at makikita mo mag-log sa CS50 talakayin, isang web-based na utility na ang pagtuturo kawani ay may binuo na ay magbibigay-daan sa iyo upang mag-post ng mga tanong at makita ang mga followups sa isang tipikal na pakiramdam sa forum ng talakayan, gamit ang mga label at ang mga tulad ng, at auto-complete upang maghanap sa data. Ngunit magkakaroon ka rin magagawang, sa panahon ng mga oras ng oras ng opisina, ang iyong tanong tumaas sa aktwal na tao. Sa katunayan, ang layunin ay sa huli ay kaya na ang isa, magsisimula namin upang bumuo ng hanggang sa ibabaw ng kurso ng semestre isang kalipunan ng sana ay talagang kapaki-pakinabang na impormasyon, karaniwang mga sagot sa karaniwang mga tanong, kaya na ikaw ay maaaring ang iyong sarili malutas ang mga problema at makakuha ng unstuck nang mabilis hangga't maaari, habang ang pagkakaroon ng pagtuturo kawani - karaniwang 20% ​​hanggang 30% ng ang Fellows pagtuturo at kurso assistants sa staff sa isang beses. Magkakaroon kami ng kung ano ang tinatawag na CS50 Greeter sa Annenberg, at kapag kami matukoy na, alam mo kung ano? Tanong na ito, namin talagang sagutin epektibong online. Kailangan naming makita ang iyong computer. Gusto naming makipag-usap mo ang isa sa isa. Ikaw ba talagang struggling, at samakatuwid mo gustong makipag-usap ang isa sa isa sa tabi ng isang tao, makikita mo despatsado sa Greeter CS50, pagtuturo ng kapwa Holding, literal, iPod na may mga pangalan ng mga mag-aaral sa isa gilid, pagtuturo ng mga pangalan ng tauhan sa isa. Naming kolektahin ang iyong pangalan, sinusundan ng pangalan ng isang kawani ng pagtuturo, at ang iyong computer screen ay magsisimula kumikislap, na sinasabi mangyaring pumunta makita Alice o mangyaring pumunta makita ang Bob sa table ng staff. At ito sa ganitong paraan, makikita namin sa dispatch ang mga bagay nang mahusay hangga't posible, pati na rin ang gagabay sa iyo patungo solusyon ang lahat ng mga mas kaagad. Sa seksyon, ito ay mga pagkakataon para sa mas intimate kamay- sa mga pagkakataon sa isa ng ang Fellows pagtuturo at 12 sa 16 o kaya ng iyong mga kaklase, kung saan sa bawat linggo, magpapadala kami magkaroon ng mga problema sa hanay ng problema na magtanong sa isang bilang ng mga haka-haka na tanong, at isang bilang ng kagat-sized mga programa ng mga katanungan na maaari mong malaman sa iyong sariling, at maaari mong gumana sa iyong sarili, ngunit sa konteksto ng seksyon, makikita kami sa pamamagitan ng sama-sama ilan sa mga problema at pumunta kung saan ang -uusap tumatagal sa amin. Bilang karagdagan, sa seksyon magkakaroon ka ng pagkakataon upang suriin ang mga pagsusumite ng mga araling-bahay na nagawa mo na, ang iyong mga kaklase, minsan hindi kilala, palaging ng isang opt-in, kung nais mong upang ibahagi ang gumana na naisumite mo na. Kaya makikita talaga ito dalawang-itinuro pag-uusap, at pagkakataon na suriin ang iyong sariling trabaho sa isang mas dynamic na kahulugan, sa halip na lamang pagtingin sa isang PDF o printout at pag-iisip tungkol dito para sa isang ilang segundo at hindi kinakailangan sumisipsip ang feedback na ang pagtuturo kawani. At makikita mong gumamit ng isang tool dito tinatawag na CS50 puwang. Para sa mga pamilyar, ito ay ang wika na kilala bilang C sa kaliwang tuktok, at makakakuha ka ng malaman ito sa paglipas ng panahon, ngunit ito ay isang web-based na utility na bibigyan namin gamitin sa seksyon na magbibigay-daan sa iyo at sa iyong 15 o kaya mga kaklase na mag-log in gamit ang ang iyong kapwa ng pagtuturo sa harap ng room. Magagawa mong upang isulat ang code sa window na ito. Magagawa mong makipag-chat elektroniko kung ikaw ay hindi talagang sa seksyon sa na partikular na sandali, at ang iyong kapwa ng pagtuturo, pagdating oras upang talakayin ang Alice o ni Bob solusyon sa klase, ang pagtuturo kapwa ay maaaring mag-click sa isang pindutan, at voila, proyekto papunta sa screen ng anumang na mag-aaral ay nagtatrabaho sa na partikular na punto sa oras. Kaya para sa mga mo ay may mga kaibigan na kinuha CS50 sa nakaraan, Napagtanto na seksyon ay makabuluhang rebooted taong ito ang lahat ng higit pa aktibo, ang lahat ng mga mas dynamic, at talagang, two-way na pag-uusap sa pagitan ng pagtuturo kawani at mag-aaral. At walkthroughs. Kaya para sa mga set ng problema, kami din nag-aalok ng hindi lamang ang detalye ng mismo, na ay isang medyo detalyadong PDF, ngunit din sa mga bagay na kilala bilang mga walkthroughs, kung saan ang isang miyembro ng kawani ng pagtuturo ay humantong sa isang lingguhang session na literal ay nagtuturo sa iyo sa pamamagitan ng hanay ng problema, na nagbibigay sa iyo ng pahiwatig, at payo, at mga puntos sa simula, at nilalayong upang hilingin sa napaka- madalas na tanungin na tanong: kung saan ko sisimulan? Well, magsisimula ka sa pamamagitan ng diving sa spec sa sarili nitong, o sa pamamagitan ng pagdalo sa o panonood ng mga walkthroughs. Ang unang walkthrough, sa katunayan, ito ay Biyernes. Makikita nila sa Biyernes, hindi kaya magkano dahil sa tingin namin ito ay isang popular na oras, ngunit dahil maaari naming pagkatapos film kanila napaka maagang sa linggo at makakuha ng ito online sa pamamagitan ng katapusan ng linggo upang mayroon ka ng maraming mga araw hangga't maaari sa tunay na makisali sa mga nilalaman na rin. Ngunit higit pa sa na sa panayam na ito Biyernes. Ngayon sa mga tuntunin ng istraktura ng suporta, ang pinaka makabuluhang istatistika marahil ang 108 mga Fellows ng pagtuturo at kurso assistants na ang kursong ito kasalukuyang may. Kung ilan sa inyo na hindi sumasalungat na ang mga klase ng nais na sumali up ako dito sa entablado, mga guys na ay talagang sa huli tukuyin ang iyong makaranas sa kurso. Ako nagkaroon ng maraming ng mga Fellows ng pagtuturo pagtuturo sa akin ng mga klase sa araw, at ako tandaan napakakaunti ng mga, lantaran, ngunit sa petsa, ko pa rin matandaan kabilang mga ilang aking CS50 tf, na talagang nakatulong sa akin sumagot ng mga tanong, na talagang nakatulong sa akin kapag ako ay struggling, at talagang ay isang kasosyo sa karanasan ng pag-aaral ng isang bagong mundo. Sa ilang sandali, ang lahat ng mga guys samahan ka sa labas cake, na ay isang tradisyon ng CS50, sa transept ng Memorial Hall, ngunit hayaan mo akong unang ipakilala mong Nate Hardison muli, Rob Bowden, at Tommy McWilliams, kurso sa taong ito ulo. Kung ikaw guys ay samahan ako dito sa gitna. Lahat ng mga ito handa ilang Pampasigla remarks. Tommy MCWILLIAMS: Hindi ko ihanda ang anumang Pampasigla. Subalit ang aking pangalan ay Tommy. Ako ay isang senior sa Mather. Ako sa pag-aaral ng computer science, talagang nasasabik sa koponan ng ulo at pagpunta sa pamamagitan ng ang CS50 paglalakbay sa iyo. Ano ang gustung-gusto ko talaga tungkol sa CS50 ay kung paano ito talagang nagtuturo sa iyo upang isipin ang tungkol problema sa isang bagong paraan. Ito ay talagang isang kasanayan na magiging napakahalaga, hindi mahalaga kung ano ang field kang pumunta sa. At hindi lamang na, ngunit nag-aalok kami ng libreng kendi kaysa anumang iba pang mga kurso sa campus. Kaya lang ako talagang hinahanap inaabangan ang panahon na nakikita kung ano ang Bumubuo ang lahat na ito semestre. At kung ang sinuman ay may anumang mga katanungan sa ngayon o sa buong semestre, tiyak huwag mag-atubiling makipag-ugnay sa akin, at Gusto ko ay magiging masaya upang matulungan. Rob BOWDEN: Hi. Ako Rob Bowden. Ako ay isang senior sa Kirkland. Oo, na tama. Hindi namin ang lahat ng talagang nabigla para sa susunod na semestre. Umaasa kami mo ang lahat nabigla. Hindi ko ay umaasa na. Oo. Kaya namin ilagay kaya magkano pagsusumikap sa semestre na ito ay talagang mahusay, at bilang hangga't ikaw ay handa upang ilagay sa pagsisikap, may kaya magkano ang maaari kang makakuha ng ng kursong ito. Maaari kang makakuha ng maraming ng masaya ng kursong ito. Hindi namin magkaroon ng isang kawani ng 108 kung hindi mo makakuha ng maraming masaya nito, lang kaya subukan na kasangkot, at hindi mo ay ikinalulungkot ito. Nate HARDISON: Hi, guys. Ako Nate. Ako ang preceptor para sa kurso. Talagang ako nasasabik na dito pati na rin. Ito ang aking unang taon dito. Umaasa ako mo ang lahat ng kursong ito, at tangkilikin ito hangga't nag ko Tatangkilikin ang mga ito sa ngayon. At kung sakaling nais upang malaman kung paano dumating sa siyam o sampung sa binary, darating makipag-usap sa akin. Speaker 1: Kaya sa panganib ng umalis dito ang mga guys na ito sa entablado ng kaunti awkwardly, sabihin inog sa pamamagitan lamang ng ilang ng mga bagay na naghihintay bago namin ipinid para sa cake. Ano ang na kasinungalingan magpatuloy? Well, kung kami gumawa ng isang mabilis na pagtingin pabalik sa nakaraang taon, sa problema ang zero, ang iyong predecessors kalapati sa isang programming language na tinatawag na simula, ang isang graphical mga programa wika na gagamitin mo sa unang araw ng kurso, simula ito Biyernes, upang malaman ang ilang mga konsepto na pamilyar sa ilan sa inyo, ngunit Napagtanto ay isang advanced na aspeto ng mga ito para sa mga may bago background. Sa huling taon ng problema itakda ang dalawa, ang mga mag-aaral kalapati sa mundo ng cryptography, ang sining ng enciphering o scrambling ng impormasyon, pagpapatupad ng mga programa na-encrypt na data, at sa Hacker edisyon huling taon ay mag-aaral magpatuloy sa magpahaginit o mag-decode ng mga password sa isang tipikal na computer. xc password file sa pamamagitan ng paparating na may mga algorithm at heuristics para sa taong malupit na puwersa ang pag-uunawa kung ano ang password ng isang tao sa isang computer system ang. Nakaraang taon o dalawang, sa problema ng mga apat na ginawa ng mga mag-aaral ipatupad ang laro ng Sudoku. At ang Hacker edisyon na taon ay mag-aaral hindi lamang ipatupad kung paano i- i-play ang laro, ngunit talagang isang Solver, kung saan ang computer ay maaaring magbigay sa iyo, ng tao, na may mga pahiwatig, sa pamamagitan ng mas mabilis kaysa sa iyong paglutas na partikular na problema. Sa problema set limang, ginawa namin forensics, ito sining ng pagbawi ng impormasyon na aksidente o napaka sadyang tinanggal mula sa computer. Nakaraang taon, ang kawani ng pagtuturo at strolled ko sa paligid ng campus pagkuha mga litrato ng mga tao, lugar, at mga bagay at pagkatapos ay aksidenteng format ang media card sa aming camera na mayroon ang lahat ng mga larawang iyon. Ngunit walang mga problema, ginawa namin forensics imahe ng media card na ito, ipinasa ito sa lahat ng mga estudyante sa klase, at hinamon mga ito upang magsulat ng mga programa na nakuhang muli ang lahat ng mga JPEG na mula sa card na iyon. At ito ay talagang isa sa aming mga paboritong mga set ng problema, at utong ko up ng isang lumang e-mail mula sa isa sa iyong mga predecessors na mahusay na masaya sa basahin minsan ang nakalipas. Ito ay mula sa Matt. Minamahal David, kahapon aking kapatid na babae sinasadyang-format ang SD ng kanyang camera Nawala ang card at nagkakahalaga ng isang taon ng mga di malilimutang larawan. Siya sa kasamaang-palad ay hindi ang pinakamabuting sa pag-back up ang kanyang mga data. Ngunit ang sitwasyon na ito mapaalalahanan ako ng p-set limang, kaya naisip ko na gusto kong subukan sa patakbuhin ang kanyang SD card sa pamamagitan ng mabawi ang programa na sinulat ni ko ang lahat ng mga paraan pabalik sa Oktubre. Kaya pagkatapos ng apat na oras ang pag-uunawa kung paano upang lumikha ng isang raw na imahe mula sa -format ang SD card - Google patunayan sa medyo nakakatulong sa bagay na ito, hanggang ko ironically nangyari na dumating sa iyong mga tagubilin sa Internet - pagkatapos tinkering sa paligid sa ilan sa mga argumento command line, mga pinamamahalaang ko upang lumikha ng forensic imahe, at pagkatapos i-install at pag-configure ng CS50 Appliance, mga pinamamahalaang ko upang patakbuhin ang forensic imahe sa pamamagitan ng aking programa at mabawi ang lahat ng 1027 ng mga litrato ng aking kapatid na babae, nagsusulat Matt. Sa hanay ng problema ng nakaraang taon anim, ibinigay namin ang mga mag-aaral ng isang diksyunaryo ng 150,000 mga salitang Ingles at hinamon sa kanila upang magsulat ng isang spell checker na nasagot query ng form, ang salitang ito naisulat ng tama o mali mas mabilis hangga't maaari. At sa opt-in batayan mga mag-aaral pinapayagan pagkatapos hamunin ang mga kaklase sa pamamagitan ng pag-post ng kanilang mga resulta, ang halaga ng RAM na ginagamit nila, ang bilang ng mga CPU cycle o segundo na ginagamit ang mga ito, upang ang mga mag-aaral pagkatapos-ranggo sa website ng kurso - muli, pulos opsyonal na aspeto ng, ngunit mahusay na masaya na madalas ay ang mag-aaral ay makakuha sa posisyon bilang 10 o kaya sa malaking board, sa website, pumunta sa hapunan at pagkatapos ay bumalik, at mapagtanto ang kanyang kasama ay lamang talim sa harap ng kanya sa malaking board, sa gayong paraan pagbuhos ng isa pang dalawa o tatlong oras lamang sa isang up kanyang kasama. Kaya masaya naming inaabangan ang panahon ng isang bagay na katulad sa taong ito pati na rin. Sa problema set 7 ay namin kapong torete sa direksyon ng web programming, aktwal paglutas ng mga problema sa kailanman-karaniwang nagiging kapaligiran ng isang web browser. Alam pagkatapos decreasingly namin i-download ang software sa Mac at PC, ngunit nagiging, gagawin namin ang lahat ng ito sa loob ng web. At sa katunayan, noong nakaraang taon, ang ilang mga 88% ng mga mag-aaral 'panghuling proyekto sa kurso ay web-based. At ang mga, masyadong, ang mga kasanayan na ay nakukuha mula sa klase sa pamamagitan ng pagtatapos kurso, dahil kung ano ang naghihintay sa pagtatapos ng kurso ang CS50 Fair, ito exhibition na batay sa ideya ng isang patas ng agham, ngunit sa bersyong ito ng isang patas na gawin ang lahat ng mga mag-aaral sa klase na magdala ng kanilang laptop, at ang kanilang mga mga kaibigan, at pamilya, at iba pa sa Northwest Science, isang malaking gusali sa campus, itakda ang kanilang laptop, kumuha ng ilang mga pagkain, kumuha ng ilang popcorn at inumin, at pagkatapos ay nagpapakita ng kanilang huling proyekto para sa lahat ng mga sa pagdalo, na noong nakaraang taon bilang ilang 2,500 mga dadalo mula sa buong campus, at expression tulad ng ito, at tulad nito ay hindi bihira sa patas. Humahantong sa patas ang CS50 Hackathon, ng pagkakataon upang Hop sa isang Harvard shuttle, ulo pababa sa kalye sa Microsoft sa 8:00 PM, at hindi umuwi hanggang 07:00. Maghatid namin ang unang hapunan sa 8:00 PM, pangalawang hapunan sa 01:00, at para sa mga pa rin nakatayo sa 5:00 AM naming ituring sa mga pancake sa IHOP. At ang Hackathon ng pagkakataon, tulad ng nakalarawan dito, sumisid sa iyong pangwakas na proyekto, kung nagtatrabaho sa iyong sarili o sa mga kaibigan sa isang collaborative na kapaligiran, kung saan ang buong pagtuturo kawani ay mahusay na gumagana sa gabi na may sapat na supply ng Hong Kong Chinese food. Sa 5:00 AM ay tulad imahe dahil ang mga ito ay lubos na karaniwang sa taong ito pati na rin. Kaya namin ipinid sa isang sandali para sa cake, tandaan na ang 76% porsiyento ng mga tao sa kuwartong ito ay walang naunang karanasan, at bilang bawat ang syllabus, kung ano ang mahalaga sa huli sa kursong ito ay hindi kaya magkano kung saan mo magtapos kamag-anak sa iyong mga kaklase, ngunit kung saan ka, sa linggo 11, magtapos na may kaugnayan sa ang iyong sarili sa linggo 0. Ito ay CS50.