[Powered by Google Translate] [Nagpe-play ng musika] David J. MALAN: Ito ang CS50. Kaya ako ay kung saan ka na ngayon ilang taon na ang nakakaraan. At kapag ako ay isang primer anyo sa oras, ako ay hindi tunay na sa ito path ng paggawa ng computer science, ng paggawa engineering. Sa katunayan, ako ay nagmula sa lugar na ito bilang isang pamahalaan concentrator. Gusto ko, sa mataas na paaralan, ang isang kid na Nagustuhan mga bagay tulad ng kasaysayan. Nagustuhan ko konstitusyunal na batas, uri ng Ingles at matematika. Ito ay tulad ng uri ng mahusay na Pabilog na, ngunit hindi kinakailangan na malaman ang mga bagay na hindi ako ay itinuro sa mataas na paaralan. At upang presman taon, Mayroon akong ang pangamba na ito kung saan kahit kahit Nagustuhan ko computer, natapos na laro computer at ang gusto, ako tiyak na hindi kailanman naisip ng aking sarili bilang isang computer na tao, isang computer siyentipiko. At lantaran, naisip ko na ang aking mga kaibigan sa mataas na paaralan na ang paglalaan computer science ay bit ng isang geeks. At pa, kapag Nakatanggap ako dito sa campus, nagkaroon kursong ito, CS50. At sa oras, ito ay ang reputasyon ng talagang pagiging isang bagay upang 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 maraming bilang ng mga kinakailangan magagawa ko, cross-pagbibilang ng mga bagay para sa gen ed o core at ang mga tulad ng. At pagkatapos ay sopomor taon, para sa ilang kadahilanan, nakuha ko ang ugat sa hakbang ng paa sa Science Center B, kung saan CS50 ay. Sikat na siyentipiko sa computer sa pamamagitan ng pangalan ng Brian Kernighan ay pagtuturo dito sa taong iyon. At kahit pagkatapos, ako ay lamang gusto upang aktwal na punan ang ang aking pag-aaral card sa pamamagitan ng pagkuha ng klase na ito pumasa sa / mabibigo. Ako ay tumingin sa paligid sa akin at naisip ko ang lahat sa ang isang ito gotta malaman ang paraan higit pa tungkol sa computer science, tungkol sa programming, tungkol sa mga computer. Ang bawat tao'y isa ay dapat na programming, sa kuwartong ito, mula noong sila ay 12. Ngunit, sa katunayan, na hindi ito ang kaso. At kaya ang huling araw, sa ikalimang Lunes ng semestre, ako ng mga hakbang at pagbabago mula sa pass / mabibigo sa isang sulat grado at nagtapos ang pagbabago ng aking konsentrasyon na parehong araw sa computer science. Ngayon, na hindi ang aming layunin sa klase, upang i-on mo ang lahat sa computer science concentrators, ngunit talagang sa magpanukala na may isang pagkakataon sa patlang na ito at sa iba pang mga patlang na kung saan maaari mong medyo pamilyar ibinigay na high school karaniwang sundin ng patas karaniwang landas curricular, ngunit venture sa, sa CS50, sa bagong tubig. At kung ikaw ay sitting dito ngayon iniisip hindi mo gusto 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 sitting banda rito 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 walang isang kahulugan ng mga ito. Mo lamang uri ng malaman ang mga ito kung ikaw ay hindi masyadong komportable sa CS50. At noong nakaraang taon, kami ay may 55% sa berdeng slice ng pie dito self-naglalarawan bilang mas mababa kumportable, ang mga mag-aaral na lantaran ay walang ideya kung bakit gusto nila kahit na nag-shop na kurso sa sa unang araw na iyon. Ngunit ang parehong 55% nanatili sa amin hanggang sa pagtatapos ng termino, tulad ng ginawa 35% na sa isang lugar sa sa pagitan ng mga mas kumportable at ang mga mas mababa kumportable. Kaya, kung ano ang computer science? Na rin sa high school, at talagang mas pangkalahatang out may mga araw na ito, ito pagdama o ito maling kuru-kuro na ang computer science programa. At na ganap na isang aspeto ng computer science. Ngunit programming, anumang wika ay, talaga lamang tool na ang mga siyentipiko ng computer na gamitin upang malutas ang mga problema, alinman sa sa domain ng computer science o nagiging mga araw sa pisikal na agham, ang mga natural na agham, sa gamot, sa mga makataong sining, upang pag-aralan ang mga malaking hanay ng data. Kahit saan ngayon may computer at data, ang isang pagkakataon na mag-aplay ang mga aralin na 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 ng 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, kahit na sa kolehiyo pa rin tila upang magkaroon ng mga ito sa bahay at dormitoryo. Subalit bumalik sa araw kapag nais mong gumamit ng telepono tulad ng ito, nagkaroon ng hindi electronic address aklat sa iyong cell phone. Sa halip, nakuha up ng isang bagay na kilala bilang isang libro ng telepono. At ang mga libro ng telepono ay may halos 1,000 mga pahina, karaniwang. Sila ay pinagsunod-sunod mula A hanggang Z. At mo lang ay upang mahanap ang kanang pahina upang mahanap ang mga tao na naghahanap ka ng upang mahanap ang kanilang mga pangalan at ang kanilang mga numero ng telepono. Ngayon kung paano mo pumunta tungkol sa hinahanap ng isang tao sa aklat na ito? Ipagpalagay na ang aking layunin ay upang bigyan ang aking kaibigan, Mike Smith, isang tawag. Well, paano ko pumunta tungkol sa paghahanap ng Mike Smith? Well, isang makatwirang diskarte, kung walang muwang at hindi mabisa, ay magsimula dito at simulan ang flipping sa pahina 4 sa pahina 5 sa pahina 6, at sa uri ng linearly, kasama isang diretsong linya, pumunta sa pamamagitan ng aklat na ito ng telepono. At kahit ito ay gonna kapani-paniwalang nakakainip, kung Mike Smith sa aklat na ito, ako kalaunan gonna maabot sa kanya kapag ako sa wakas i-flip sa S bahagi ng aklat na ito. Ngayon siyempre, hindi mo kailangang maging isang computer siyentipiko sa 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, kanan. Kaya nais mong i-flip halos sa gitna, tumingin dito, at tila ko upang mahanap ang aking sarili sa seksyon ng M. OK, kaya M ay malinaw na hindi kung ano ang Naghahanap ako. At Mike sa kanan, kaya na magsalita, sa seksyong ito. At ng ilan sa inyo na nakita bago, maaari naming literal ngayon magpatuloy sa pilasin ang problemang ito sa kalahati. [Palakpakan] 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 sa pinagtahian, na namin ngayon ay may dalawang mga problema, ang bawat isa sa na kalahating bilang malaking. At maaari naming literal magtapon na kalahati ng problema ang layo. Ngayon kami ay hinayaang hindi sa 1,000 mga pahina ngunit, sabihin nating, 500. Kaya ngayon kung ano ang gagawin ko? Well, isang tipikal na tao ay pumunta halos muli sa gitna. At mahanap ko ang aking sarili sa isang sa R ​​seksyon. Kaya hindi pa doon. Kaya muli, maaari ko pilasin ang problemang ito sa kalahati. [Palakpakan] Salamat sa inyo. Kaya ngayon ko lamang magkaroon ng ilang 250 mga pahina. At maaari kong gawin ito muli at muli at muli at pumunta mula sa 125 pababa sa halos 60 hanggang 30 hanggang 15 at iba pa. At sa wakas, makikita ako whittled down sa isa sa mga pahina S sa kung saan, kung siya sa aklat ng telepono, Mike Smith ay dapat na. Ngayon, na ang isang malinaw naman medyo makatwirang algorithm, at ito ng isang beses na paggamit algorithm sa kasong ito. Ngunit kung ano ang maaari naming pag-uri-uriin ng tumagal ang layo mula sa na? Well, ang unang diskarte, iwasto kung walang muwang bagaman ito ay, maaari 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? 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, baka ito ay kumukuha ng mas maraming oras. Kaya na unang diskarte ng linearly naghahanap mula sa pahina 1 sa tuldok tuldok tuldok pahina 1,000 ay isang linear na pamamaraan, linear algorithm o proseso. At maaari naming 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 pinakamasama kaso, dalhin ako isa pang pahina tingnan ang upang mahanap ang Mike Smith. Kung nagdagdag ako ng mga 100 mga pahina, 100 higit pang mga flips o unit ng oras. Ngayon, maaari ba akong 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 2 sa isang oras o 4 sa isang pagkakataon. Ngunit kahit na hindi lahat ng sa panimula mas mahusay. Kahit na ito ay 2 sa isang pagkakataon, oo, na uri ng gumagalaw na ito linya pababa sa isang bit, at ito ay nangangahulugan na ito ay tumatagal ng mas kaunting oras sa ibinigay ang parehong bilang ng mga pahina. Pero hindi sa panimula mas mahusay. Ngunit ano ang lang namin gawin, at kung ano ang lahat ng iyong gagawin nang katutubo? Aktwal na nakamit ng isang maliit na bagay tulad nito, logarithmic oras, kung saan ang problema ay maaaring lumalaki at lumalaki at palaguin ngunit ang gastos ng paglutas na problema, ang oras kinakailangan upang malutas na ang problema, hindi palaguin ang halos bilang mabilis. Ito ay isang logarithmic curve, log ng n, kung saan ang n ay lamang ang laki ng problema, ang bilang ng mga pahina sa phone book. At kung ano ang ibig sabihin nito sa tunay na mga termino? Well, kung kami ay may tulad ng 500 mga tao sa kuwartong ito ngayon, o sa halip, kung kami ay may - paghahalo talinghaga, ay hindi na halimbawa sa taong ito - kaya kung kami ay may 500 mga pahina sa aklat ng telepono at double namin ito sa 1,000, sa mas matalinong modelo ng flipping sa gitna, kung gaano karaming mga higit pang mga pahina luha aabutin 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. Ko lang pilasin ito ng isang karagdagang oras. Kaya sa maikling salita, ang laki ng problema mapalago ang mas mabilis kaysa sa gastos ng aktwal na paglutas ito. Ngayon ito ay isa lamang tulad algorithm. May iba maaari naming malutas sa parehong paraan. At kaya bakit hindi magawa namin ito? Kung nais mong Katatawanan sa akin, kahit na awkwardly dito sa Sanders, pumunta magpatuloy, ang lahat, kung maaari mong at tumayo sa lugar. Tulad ng nakikita mo sa screen dito, ito ay isang algorithm, proseso, ang isang computer program kung kalooban mo, na isinasagawa ng mga tao na may 3 hakbang lamang. Humihingi kami na sa hakbang 1. Mo na nakatayo. At ngayon sa tingin sa iyong sarili ang numero 1. Na ang iyong kasalukuyang numero. Ang bawat tao'y dito ay number 1. Hakbang 2, magtambal sa isang standing, idagdag ang iyong numero sama-sama, at pagkatapos ay umaayon sa mga kabuuan bilang iyong bagong numero. Isa mo dapat umupo, ulitin. Speaker 1: 205. David J. MALAN: Ano iyon? Speaker 1: 205. David J. MALAN: OK. Tagapagsalita 2: Siya ay may iba pang mga. David J. MALAN: 205? Tagapagsalita 3: Oo. David J. MALAN: OK. 3. Tagapagsalita 4: 400. Speaker 5: 5. 700. David J. MALAN: Lahat ng karapatan. 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 pinakamahinang bahagi ay mayroon ka ring napaka pasalita gawin aritmetika sa harap ng daan-daang ng Harvard undergrads. OK. Bit ng isang bug dito. Okay. Ano ang iyong numero? Speaker 6: siyam. David J. MALAN: Ano iyon? Speaker 6: siyam. David J. MALAN: siyam. Okay. Ano ang iyong numero? Speaker 7: 179. David J. MALAN: 179? Okay. Mabuti. Kaya 188. Kaya ka guys ay maaaring umupo. Ano ang iyong numero? Speaker 8: 118. David J. MALAN: 118. Ang ilang mga na smart undergrad magsimula ang matematika. Okay. 118, 188. Ano pa namin kayong? Tagapagsalita 9: 71. David J. MALAN: 71. Speaker 10: 79. David J. MALAN: 79. Okay. Speaker 11: 47. David J. MALAN: 47. Aling, pagtuturo kawani, 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, kami makapagsimula sa ilang bilang ng mga tao na nakatayo, at ang kabuuang bilang n sa unang. Pagkatapos kalahati ng nakaupo, at nagpunta kami sa n sa 2. Pagkatapos kalahati ng nakaupo. Nagpunta kami sa n sa 4, n paglipas ng 8, n paglipas ng 16, at iba pa, hanggang, kahit ito uri ng disintegrated doon sa dulo, sa teorya, ay lahat na ipinares sa balkonahe at mezzanine at orkestra dito, gusto namin na nagkaroon lamang ng isang nag-iisa taong nakatayo na may kabuuang halaga, sa kasong ito, ng 705. Ngayon, ano ang na ibig sabihin, bagaman, ang oras? Well isipin ang tungkol kung ako bilang tao ay tapos na ito nang manu-mano. Gusto ko makapagsimula medyo naively ngunit tama may 1, 2, 3, 4, 5, 6, 7, 8, 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 2, 4, 6, 8, 10, 12. At na 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 gilid ng bangketa higit pang tulad nito, kung saan ngayon ang bilang ng maaaring double ang mga tao sa kuwartong ito. Isa pang 700 mga tao lakad sa ang kuwartong ito para sa 1400 mga tao, ngunit lamang ito sa amin ng isa pang ulit ng mga ito algorithm upang malutas. At ito, nagiging mga araw na ito, kapag mayroon kaming mga malalaking nagtatakda ng data sa Facebook at Google at ang mga tulad ng ito, paglutas ng mga problema na may bit ng pananaw, ang kaunting ito kabihasnan, na nagpapahintulot sa amin nagiging gawin magkano, magkano mas malakas na mga bagay sa computer ngayon. Kung gusto mo ng mga ganitong uri ng mga bagay, na nakita mo sa Sariling Facebook Puzzle CS50 Araw paparating na ito Sabado. Kung nais mong lumahok sa isang bagay tulad ng ito kung saan ka, sa 2 o 3 o 4 na mga koponan ng 4, i- malutas ang ilang mga palaisipan tulad ng isang ito, tumayo ka ng pagkakataon upang manalo ng ilang kamangha-manghang mga premyo, kabilang na Wii at ilang gift card o ilang iba pang mga swag ng Facebook. Ito Sabado, tanghali hanggang 3:00 ng hapon, pumunta sa cs50.net/rsvp para sa naturang. At ang slide na ito ay online kung gusto mo upang i-play sa paligid. Ang problema sa taong ito ay bago. Maaari mong mapansin sa silid-aralan, masyadong, ang lahat ng higit pa camera sa taon na ito. Kaya hindi lamang ang kurso kumuha sa karaniwang paraan, CS50 ay maaari ring pagkuha bahagi sa isang dokumentaryo sa mas mataas na edukasyon na naghahanap sa transformative karanasan na ang isang mag-aaral ay maaaring magkaroon ng mga araw na ito sa isang undergraduate kurso ng pag-aaral. Kaya patungo sa mga, pagkatapos, hindi lamang ay namin film para sa na, kami film pati na rin para sa nagiging aming online na madla, pati na rin paminsan-minsan sa madla ito dito. Kaya namin maligayang pagdating sa klase ang taong ito ang aming Harvard Mag-aaral sa Paaralan ng extension, Graduate School ng Disenyo, Edukasyon, ang mga paaralan ng negosyo, ang Kennedy School, 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, maaaring narinig mo, ang Harvard at MIT, at Berkeley ngayon, pumasok sa isang collaborative pakikipagsosyo, isang inisyatiba na tinatawag na edX, kung saan ay isang hakbangin upang buksan ang edukasyon sa lahat ng higit pa 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 unang kurso sa kolehiyo lumahok sa inisyatiba na rin. Na nangangahulugan na magkakaroon ka ng access sa lahat ng higit pang mga tool, ang lahat ng mga mas curricular na nilalaman, ang lahat ng mga higit pang mga video nilalaman bilang isang resulta, pati na rin, bilang ng umaga ng kahapon, ang 53,019 mga tao na nakarehistro sa CS50 kahabaan sa iyo sa taong ito sa Internet. Kaya walang - [Palakpakan] Kaya kung ano ang ibig sabihin nito ay, sa partikular, ay ang pagtuturo kawani at ako na ginugol lubos ng kaunting oras na ito tag-init paghahanda para sa pagkahulog, sa campus at off, kaya na maaari naming simulan upang bumuo ng isang kalipunan ng mga kawili-wiling, ng nakapanghihimok, nakakaengganyo pang-edukasyon na nilalaman na nakatutok, sa partikular, sa higit pang mga intimate conveyances ng medyo complex materyal. Kaya sa karagdagan sa mga aralin sa kurso at mga seksyon at mga bagay na tinatawag na walkthroughs, na makikita namin muling bisitahin sa loob lamang ng bit, makikita namin ay mayroon ding mga short ang taon na ito na nagbibigay-daan mong makaugnay ng kurso mula sa isang iba't ibang mga anggulo sama-sama. Kaya gamitin natin ito bilang isang pagkakataon upang magsagawa ng mabilis pagsilip sa na tinatalakay ang paniwala na ito ng binaries. Kaya sa computer science, may mga bagay na tinatawag na algorithm - dalawa sa kung saan lang namin kinuha ng isang hitsura sa - mga pamamaraan para sa paglutas ng problema. Ngunit sa pagtatapos ng araw, kailangan mong kumatawan ang impormasyon sa paanuman. At kailangan mo upang kumatawan ang mga ito sa isang paraan na computer ng isang maunawaan. At kahit na hindi mo talaga maunawaan computer at ikaw sa na 76% ngayon, marahil ay may ilang malabo pakiramdam na computer sa paanuman makitungo sa 0s at 1s, ang binary system, kaya na magsalita. Ngayon kung bakit na ang kaso? Well, lumiliko out kapag computer unang dumating tungkol sa, kung na kailangan mo upang kumatawan ng impormasyon, maaari mong gawin ito may kuryente. At kahit na ito ay isang bit ng isang oversimplification, isang napaka- madaling paraan ng-record impormasyon ay sa pamamagitan ng i na koryente sa - 1 sa binary, upang magsalita - o i- na koryente off. Kaya, kung Barry, kung hindi mo nais tututol, maaari naming madilim ang mga ilaw ganap na para sa sandali lamang? Ito dito ay hindi kinakailangang 0 binary. Kung i-namin ang mga ilaw-back up, ngayon Sanders Theatre kumakatawan sa binary na halaga ng 1. Sa kasamaang palad, may lamang ng isang bit, sa pamamagitan lamang ng isang hanay ng mga ilaw, maaari lamang namin ang kumatawan sa dalawang numero sa mundo, 0 at 1. At gusto maging magaling kung computer ay maaaring bilangin ng bit mas mataas kaysa sa. Ngunit sa katunayan maaari nila. Kaya hayaan mo akong hilahin sa screen dito aming Nate Hardison kaibigan na ay magbibigay sa amin ng isang mabilis na pagtingin sa loob lamang ng ilang minuto sa ito paniwala ng binary. [Playback ng video] Nate HARDISON: Bumalik kapag natutunan mo kung paano magbasa at magsulat numero, natutunan mo tungkol sa mga digit 0 hanggang 9. Upang sumulat ng mga buong numero na mas malaki kaysa 9, natutunan mo na ang lahat mayroon kang gawin ay gamitin ang ilang mga kumbinasyon ng mga digit, sa 52 at 437. Kaya, ang paraan ng pagsulat ng mga numero ay may pangalan, decimal notation. Bakit decimal? Well, sa Latin root ng decimal, decem, ay nangangahulugan na 10. At kapag mayroon kang 10 digit sa iyong pagtatanda system, 10 nagiging isang halip espesyal na numero. Tingnan natin sa numerong 437 nakasulat sa decimal notation sa maunawaan kung bakit. Muna namin magbuwag 437 sa 400 plus 30 plus 7. Namin ito bukod mas kaya na namin Mayroon 4 na beses 100 kasama ang 3 beses 10 kasama ang 7 beses 1. Tandaan pag-aaral tungkol sa mga lugar, ang mga sampu-sampung lugar, ang daan-daang lugar, at iba pa? Ito ay kung saan mismo na nagmumula sa. At sa wakas, maaari naming makita Nakakuha kami ng grupo ng mga kapangyarihan ng 10 naka-embed in dito. Mayroon kaming 4 na beses 10 sa 2 kasama ang 3 beses 10 sa 1 plus 7 beses 10 sa 0. Kaya ngayon sa iyo na makita kung bakit 10 ay isang espesyal na bilang ng mga decimal notation. Sa katunayan, hindi namin Mayroon ng isang pangalan para dito. Ito ay tinatawag na base sa dahil ang base ng exponent dito sa aming pang-aritmetika. Decimal notation ay hindi ang tanging paraan upang kumatawan ang mga numero. Sa katunayan, kahit na kung makuha namin mapupuksa ng mga digit 2 hanggang 9, maaari naming pa rin kumakatawan sa lahat ng mga numero na maaari naming may decimal. Kaya ngayon mayroon kaming dalawang digit, 0 at 1, 2 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 prefix ang "Bi" ay nangangahulugang 2. Kaya sa halip na ngayon ng pagkakaroon ng mga lugar at sampu lugar at iba pa, na namin ngayon ay may mga lugar, isang lugar ng twos, fours lugar, at iba pa, pagpunta sa pamamagitan ng kapangyarihan ng 2. Kaya natin makita ito sa pamamagitan ng paggawa ng ilang nadaragdagan. Kaya, 0 pa rin ang 0, at 1 pa rin ang 1. Gayunpaman, ngayon na kami Mayroon twos lugar sa halip ng sampu-sampung lugar, 10 kumakatawan sa bilang 2. Upang makakuha ng 3, idagdag namin isa iyon at makakuha ng 11. 4, dahil may ngayon ng fours lugar, ay kinakatawan ng 100. Limang ay 101. 6 ay 110. 7 ay 111. 8, muli, ay may sarili nitong lugar. Kaya 1000. At sa tingin ko sa iyo na makuha ang punto. [END video playback] MALAN ng David J.: Kaya, ito ay sasabihin, kung ano ang computer gawin at kung ano ang binary ay talagang hindi na hindi magkahawig mula sa kung ano namin ang paglalaan para sa ipinagkaloob para sa ilang mga taon, i-right? Magtuos mababang paaralan, natutunan sa mabibilang sa tiyak fashion na Nate iminungkahi. Ngunit marahil ay hindi talagang naisip tungkol dito dahil, ang katotohanan na may ay ang mga lugar, sampu lugar, at daan-daang lugar. At na medyo arbitrary. At sa katunayan, computer lamang gamitin ang iba't ibang base. Ngunit sa pagtatapos ng araw, sa aktwal na pisikal na kumatawan ang paniwala na ito ng 0 at 1, malinaw naman ay hindi lamang i-on ang ilaw sa at off kinakailangan. Kailangan mong gawin ang mga ito sa isang mas mas pinong-haspe scale. At sa pamamagitan ng mas pinong-haspe, 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 isang pares ng mga 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 gamitin 0s at 1s, simpleng pang-akit sa loob na aligns mga bagay, up-down o down-up, sa gayong paraan ay kumakatawan sa isang 0 o 1, ayon sa pagkakabanggit. Kaya sa katunayan, sabihin maglipat sa malayo mula sa abstract dito at tumingin sa loob ng kung ano ang isang mas tradisyonal na computer na hard drive. Nangyayari ito upang maging isang bit na mas malaki sa screen na ito mula sa isang desktop computer. Ngunit laptop ngayon pa rin magkaroon ng parehong teknolohiya, ngunit dahan-dahan pinalitan ng mas sopistikadong mga bagay na may aktwal na walang gumalaw bahagi. Ang loob, pagkatapos ng isang hard drive. [Playback ng video] Speaker 12: 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 software signal na sabihin sa 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 ay kontrolin ang paglipat ng mga bahagi ng hard drive, ang ilan sa ang ilang gumalaw bahagi na kaliwa sa modernong computer. Ang ilan ng signal kontrolin ng motor kung saan spins 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. Kaya tumpak ang machine na ito ay isang tao buhok ay hindi maaaring kahit pumasa sa pagitan ng mga ulo at Umiikot platters. Pa ang lahat ng ito ay gumagana sa kakila-kilabot na bilis. [END video playback] David J. MALAN: Kaya, kung namin ngayon mag-zoom in sa kung ano ang aktwal na nangyayari sa tuktok ng mga platters sa mga tuntunin ng pang-akit, mayroon kaming ang pangalawang ng dalawang hitsura. [Playback ng video] Speaker 13: tingnan natin kung ano lamang namin nakita sa mabagal na galaw. Kapag ang isang maikling pulso ng koryente ay ipinadala sa read-isulat ang ulo, flips sa isang maliit na electromagnet para sa isang bahagi ng isang segundo. Ang gayuma lumilikha ng isang patlang na nagbabago ang polarity ng isang maliit, napakaliit na bahagi ng mga particle metal na amerikana ibabaw ng bawat platter. Ang pattern serye ng mga maliliit na sisingilin up na lugar sa disk ay kumakatawan sa isang bit ng mga data sa binary numero system na ginagamit ng mga computer. Ngayon, kung ang kasalukuyang ay nagpadala ng isang paraan sa pamamagitan ng read-isulat ang ulo, lugar polarized sa isang direksyon. Kung kasalukuyang naka-set sa tapat ng direksyon, ang polariseysyon ay reverse. Paano mo makakuha ng mga data off hard disk? Baligtarin lamang ang proseso. Kaya ito ay ang mga particle sa disk na makakuha ng kasalukuyang sa read-isulat ang ulo paglipat. Ilagay ang sama-sama ng mga milyon-milyong ng mga magnetized segment at ikaw Mayroon file. Ngayon, ang mga piraso ng isang solong file ay maaaring nakakalat sa buong platters ng biyahe, uri ng tulad ng gulo ng 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? [END video playback] David J. MALAN: katunayan. Kaya, mayroon kaming ang kakayahan na kumatawan sa impormasyon, numero sa isang mababang antas. Mayroon kaming isang pisikal na paraan ng kumakatawan na parehong bagay. Ngunit hindi talaga namin maaaring gawin ang lahat na magkano ng interes pa bukod sa marahil ilang aritmetika at matematika. Mayroon kaming walang paraan ng kumakatawan sa gayon ay malayo mga bagay tulad ng alpabetikong titik kaya na namin ang mga tao ay maaaring makipag-usap gamit ang parehong mga device. Ngunit thankfully umiiral na may mga pag-encode, mga pattern ng 0s at 1s, na kumakatawan sa mas mataas na antas constructs tulad ng isang at b at c at buong mga pangungusap at mga talata at ang mga tulad. At kaya ASCII, na kung saan ay isang acronym na tumutukoy sa coding sistema kung saan ang bilang ng kumakatawan sa isang ibinigay na sulat. Halimbawa, ang bilang na alam namin bilang decimal value 65 na kilala bilang ang malaking titik A sa computer. Ang decimal na halaga ng 97 sa computer ay kilala bilang isang lowercase ng. At kung ano ang na talagang ibig sabihin? Well, kahit Nate ng ilang sandali ang nakalipas tanging binibilang up mula 0 hanggang 8, kung kami ay upang ipagpatuloy ang pagbibilang ng hanggang sa 65 o pa sa 97, ang mga pattern ng 0s at 1s na siya iginuhit sa screen ay eksakto kung ano ang computer ng isang gumagamit upang kumatawan sa sulat A sa lahat ng mga caps o ang titik sa lowercase. At sa katunayan, mayroong isang buong scheme na ito. Ito ay, sa unang tingin, napakatinding tsart ng pag-encode, ngunit kung tumutok ka sa kanang kalahati dito, mapansin sa gitnang hanay namin ang paniwala na ito ng mga numero sinusundan ng mga titik. At sa tuktok mayroon kaming 32. At ng character, magpasinda, na 32, integer, ay tumutukoy ay tila ang Space Bar ng character. Kapag pinindot ninyo ang Space Bar ng character sa iyong laptop, na rin, kung ano ang ikaw talaga pagpapadala ng isang numero, isang pattern ng 0s at 1s, ang isang daloy ng koryente kung kalooban mo, kumakatawan sa mga 0s at 1s na ang computer 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, nakita namin na 65 ay sa katunayan A, at 97 ay sa katunayan lowercase ng. At kaya ngayon na mayroon kaming pag-encode scheme na ito, maaari naming simulan na baybayin ng mga bagay out. Sa katunayan, ang mga computer karaniwang ipahayag ang kanilang mga sarili sa karaniwang yunit ng, hindi gamit ang isang indibidwal na bit, na muli ay hindi lahat na kapaki-pakinabang lamang kumatawan sa 0 o 1, ang mga ilaw sa o off, ngunit sa halip na gumagamit ng pagkakasunud-sunod ng mga bits. At ang pinaka-karaniwang yunit ng pagsukat, tulad ng malamang na alam at o hindi bababa sa natukoy na, ang isang byte. Byte ay may walong bits, walong 0s o 1s sa isang hilera. Upang maaari naming simulan ang pagbaybay ng mga bagay ang. At iba pa, kung magagawa namin, bakit hindi subukan ito nang kaunti pinagsama-sama dito. Walong tao doon sa kuwartong ito na handang darating up sa entablado? Mayroon kang upang maging komportable na lumilitaw sa camera, ngunit hindi talagang kailangan malaman, kung hindi man, kung ano ang nangyayari 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 lugar sa 128, lugar sa 64, ang 32 na lugar. Ngunit kami ay gonna napaka mabilis na i-reverse ito. Kaya ipaalam sa akin matugunan mo ang lahat ng banda roon. At dapat kang maging sa lugar sa 128 ang lahat ng mga paraan sa dito. Karamihan tulad ng daan-daang lugar at ang libu-libong ng lugar gagawin maging malayo sa kaliwa, gusto namin ang pinakamalaking placeholder sa dito sa kaliwa pati na rin. Mayroon kaming 64s ng 32, 16 ng, 8 ng, 4 na, 2 sa, at 1 sa. Mahusay na. Kaya ngayon kami ay may - OK, maaari kang makatulong sa akin. Kaya ngayon kami ay may - kung ano ang iyong pangalan? Joanne: Joanne. David J. MALAN: Joanne. Kaya Joanne at ako ay 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 sila ng isang maliit na impostor sheet na upang sabihin sa kanila kung sila ay kumakatawan sa 0 o 1. At bakit hindi simple, magpapadala kami kumatawan 0 pamamagitan lamang nakatayo doon awkwardly. Napakabuti. O isang 1 sa pamamagitan ng pagtataas ng iyong mga kamay, na kumakatawan sa isang 1. At hayaan ang makita kung hindi namin ini-ispel ng apat na character parirala dito. Kaya, sige ngayon, boluntaryo, at execute ikot isa sa pamamagitan ng itaas ang iyong kamay kung ikaw ay isang 1 o pagpapanatiling ito down na kung ikaw ay isang 0. Kaya, ngayon na mayroon namin ang tatlong mga kamay up, kung ano ang numero, ang iba, sila ay aktwal na kumakatawan? OK. 67. Bakit? Well, mabilis katinuan check. 64 ng lugar, dahil ito ay 1, na tulad ng 1 beses 64 plus 1 beses 2, kaya na 66 plus 1 beses 1. Na plus 1, kaya 67. Kaya ngayon ang mga guys na ito ay sama-sama kumakatawan ng 67 na tila kumakatawan sa kung ano dito sa ASCII? OK. Kaya c ng. Ayos lang. Kaya ngayon hayaan ang ng magpatuloy sa isalin dalawang. Ang bawat tao'y nagsisimula sa kanilang mga kamay. At sa ikot dalawang - aktwal na mayroong hindi magkano ng isang papel dito, ipagpalagay ko, ngunit makikita namin magpanggap. Kaya ikot dalawang, taasan o babaan ang iyong mga kamay. Ayos lang. Madla, ano kami ngayon pagpapahayag ay 83. Kaya maaari mong gawin ang matematika. Ngunit para sa sinuman na ang mga kamay ay up, mong idagdag sa numero na kinakatawan nila. Kaya ngayon kami ay may 83. Natin palawakin ang impostor sheet ilang sandali, at kami ay mayroon na ngayong -? [Hindi marinig] David J. MALAN: OK. Maaaring ito ay halata kung saan kami ay pagpunta dito, ngunit gayunman, ang mga round tatlo. OK. Round tatlong magandang pumunta doon. Kaya ikot tatlong, kung ano ang numero ng mga guys na ito ngayon kumakatawan? OK. 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 5 - namin ang lahat ng marahil alam kung saan ito ay pagpunta - bakit hindi ko lamang na taasan ang lugar ang 4 at ang 1 lugar? Well, Napagtanto na ang isang pagkakaiba, sa panimula, sa pagitan ng kung computer ng isang kahulugan ng mga bit na ito. Kung sinusubukan mong i-kumakatawan sa bilang 5, pagkatapos ganap, lang namin itaas ang numero sa bandang 4 at itataas ang numero sa bandang 1. 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, naku, ang pattern na ito ng mga bits ay hindi isang numero ang nag-iisa, aktwal na kumakatawan sa isang mas mataas na antas ng konsepto, sa kasong ito ng isang alpabetikong letra. Kaya ang katotohanan na ngayon ay kumakatawan sa bilang 5 na may ang halaga ng 53 ay dahil sa ASCII ang bagay na namin aesthetically makita ang bilang ang bilang 5 mismo kailangang pattern ng bits. Dahil bakit? Well, ang mundo ang nagpasyang gamitin ang mas mababang numero, 0, 1, 2, 3, para sa kung ano ang hitsura ng patas misteriyoso bagay. At sa katunayan, ito ay ang mga character na hindi sa isang keyboard, mga espesyal na mga expression na kailangan mo sa isang computer upang gumawa ng mga kawili-wiling mga bagay, ngunit ang mga tao ay hindi kailanman aktwal type ang mga ito. Kaya 53 katunayan kumakatawan 5. Ngayon, tulad ng isang panghuling pagsusuri ng katinuan, kung ano ang bilang dapat sila kumatawan sa sandali lamang? Madla: 48. David J. MALAN: OK. Kaya 48. At sa katunayan, sige. Round apat. 16 plus 32 ay, sa katunayan, 48. At kaya isang malaking ikot ng papuri, kung magagawa namin, para sa aming walong boluntaryo dito. Salamat. Maaari mong panatilihin ang isang ito. Kung ikaw - Mahusay na tapos na. Anumang direksyon ay pinong. Kaya, kami ngayon ay isang paraan hindi lamang ng pag-iisip tungkol sa kung paano kumatawan sa data at aktwal na kumakatawan ito pisikal, ngunit din ang paggawa ng mga bagay mas mataas na antas sa tuktok nito. Sa katunayan, ito ay pagpunta sa isang tema sa buong computer na agham ng pagbuo ng higit pa at mas kawili-wiling complex bagay sa tuktok ng medyo simpleng ideya, sa kaso lang 0s at 1s. Sa mga tuntunin ng kung bakit ito ay kapaki-pakinabang, na rin kahit sa isang kurso tulad nito makikita naming tumuon sa mga batayan at sa mga programa at sa paglutas ng mga 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 -back ang pahina ng iyong hindi opisyal na gabay sa CS sa Harvard, isa sa ngayon ang dalawang Printout. Iminumungkahi nito ang maraming iba't ibang mga direksyon sa kung saan maaari kang pumunta pagkatapos ng isang kurso tulad nito. Pag-aaral tungkol sa artificial intelligence, tungkol sa mga graphics, tungkol sa pag-aaral 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 ma sa isang bagay tulad ng CS50 ito mahulog, may panimulang kurso sa spring. Computer Science 1, halimbawa, 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 na CS50 set ang ilang oras nakalipas na subukan upang malutas ang isa sa mga problemang ito, ang problema kilala bilang my.harvard, na marami sa inyo ay maaaring ginagamit upang aktwal mamili para sa mga kurso. Ngunit kung hindi, tingnan ang isang tool tulad nito, pati na rin ang iba pang mga kaapu-apuhan na ang ilan sa aming mga nakaraang mga mag-aaral at kawani nilikha. Ngunit sa Harvard Kurso, kung saan ay isang web-based na tool - isang bagay na ikaw ay may kakayahang pagdidisenyo at nagde-deploy ng iyong sarili, pati na rin pa pati na rin ang iba pang mga bagay, sa pamamagitan ng katapusan ng semestre. Mapagtanto na ito ay nagbubuo mula sa isang bukas na hanay ng data, sa kasong ito isang kurso ng catalog, at nagbibigay-daan sa mga mag-aaral sa kasong ito upang galugarin ang isang medyo kumplikadong hanay ng data. Namin utong huling gabi ng ilang mga istatistika batay sa ilang libong mga tao na gamit ito sa paglipas ng sa nakalipas na ilang araw. Kung ikaw ay usisero upang malaman kung gaano karaming mga kurso sa iyong mga kaibigan aktwal ay may posibilidad upang mamili, na rin, ngayon ang data ay nagmumungkahi na ang 7.6 ay ang average na bilang ng mga kurso sa shopping listahan ng isang tao. At ngayon kukunin ko na magbibigay sa iyo din, ang mga istatistika sa mga pinaka- bilang ng mga kurso sa listahan ng shopping ng isang tao. At namin ang lahat ng marahil alam sa isang tao na tulad nito. 201 rekord ng taong ito. Ngayon ang ilan sa aming mga dating mag-aaral at kawani aktwal magkasama ang isang clip upang ipinta ang isang larawan para sa iyo ng kung ano ang path ng computer science at CS50 mismo ay. Hayaan akong magpatuloy at hilahin, salamat sa Mr Hahvahd dito, isang ginawa ang video sa pamamagitan ng ilang ng iyong mga predecessors. Kung maaari naming panatilihin ang mga ilaw up para sa mga ito. [Playback ng video] [END video playback] Speaker 14: (pagkanta) namin ang aming oras na may ilang mga scratch, para sa mga loop, mga kaganapan, maaari naming itugma, kino-compile ang paggamit ng aming Bash, ang terminong ito ay hindi isang nakayayamot na tao. Pag-hack masaya, ang ilang mga libreng pagkain, aralin lamang imitasyon, ang aming makatarungang ay isang malaking deal, kaya magkano upang sambahin. Pumunta, David Malan. Walkthroughs, hindi ako bailing. Office oras, hindi isang bagsak. Saan sa tingin mo ka coding, sanggol? Uy, ko lang nakilala mo at ito ay mabaliw, ngunit narito ang aming dahilan. Dalhin CS50. Mahirap sa code karapatan nang walang ka, baby. Ngunit narito ang aming dahilan. Dalhin CS50. Uy, ko lang nakilala mo at ito ay mabaliw, ngunit narito ang aming dahilan. Dalhin CS50. At ang bawat star firm gustong umarkila sa akin, ang isa pang dahilan. Dalhin CS50. Bago ka dumating sa aking buhay, ako code kaya masamang, ako code kaya masama, ako code ito, kaya masamang. Bago ka dumating sa aking buhay, ako code kaya masamang at hindi ako bumalik. Dalhin CS50. David J. MALAN: ako ay walang ideya na mangyari. Kaya, ang isang mas seryosong pagtingin sa kung ano ang namamalagi magpatuloy. Kaya sa mga tuntunin ng mga inaasahan ng kursong ito, katunayan ka inaasahan na dumalo o manood kurso aralin, magsumite ng isang hanay ng problema, magsagawa ng dalawang pagsusulit, isumite isang huling proyekto. Sa mga tuntunin ng grado, Napagtanto na ang aking komento sa pambungad na tungkol sa pumasa / mabibigo, isang bagay na namin talaga gawin upang puso sa CS50. May hindi halos sapat na 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 sa aking sarili, sa partikular, na nag-aalala tungkol sa nakakasama sa iyong GPA o ng isang B sa isang bagay tulad ng CS50. At ang pagkakataong kumuha ng kurso tulad nito, at iba pang mga kurso ng gateway sa panimulang antas, pumasa / mabibigo ay isang napaka-underutilized pagkakataon sa kolehiyo, sa pangkalahatan. At kaya mangyaring malaman kahit ako enroll sa kursong ito simula para pumasa / mabigo ang 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 sa akin upang aktwal na maglagay ng paa sa mga bagong tubig at aktwal na sumubok ng napaka-pamilyar at napaka hindi komportable para sa akin sa panahon. Kaya ngayon, sa mga termino, ng kung ano ang papel sa iba't ibang mga anggulo sa pamamagitan ng kung saan maaari mong lapitan ang kursong ito maghatid, kaya aralin, ito ay hanggang sa 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 kabuuan ng semestre. At 10% ng sa iyo, hindi namin makita muli pagkatapos ngayon. At ang perpektong fine, maging matapat. Isa ng mga tumutukoy na katangian ng CS50 na may mga hindi mabilang na mga mapagkukunan, ang ilan sa na gagamitin namin magpakalantog sa pamamagitan ng sa sandali lamang, kabilang ang aralin at mga seksyon at mga bagay na tinatawag na walkthroughs at oras ng opisina at tulad. At kung ang higit pang mga mapagkukunan kaysa sa tipikal na mag-aaral ay dapat mag-o maaaring pisikal samantalahin. Ngunit na dahil sa disparate sa pag-aaral ng mga estilo na manifests anumang mga mag-aaral katawan. At kaya sa aralin, ang pangunahing papel, bilang makita ko ito, ay hindi pasalita itulak medyo complex na materyal at kinakailangang ihatid ang lahat ng mga intricacies ng batayan na namin galugarin ang semestre na ito, ngunit sa halip na gawin ang mga bagay tulad namin na ginagawa sa gayon malayo na, mga halimbawa, na kinasasangkutan ng mga tao onstage, sinusubukang i- pintahan ng larawang-diwa, at ring lumikha, maglakas-loob sabihin ko, ilang sa mga di malilimutang sandali. Kaya kahit na bilang ka pagpakasakitan sa ilang mga paksa, mayroon kang ang mga alaala gusto, oh, kahit na medyo abstract, ang matematika, Nakatanggap ako nawala sa nagdadala ng 1, tulad ng ito talaga, sa pagtatapos ng araw, ay hindi lahat na hindi magkaparis sa isang bagay na ko na alam. At kaya ang papel na aralin ay maghatid, alinman sa tao dito sa Sanders o online sa video, talaga upang itakda ang Stage 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 na mga konsepto, ang karamihan sa mga salitang ito maaaring dumaloy sa iyong ulo para sa ilang sandali, at na fine. Para sa mga mo na pumupunta sa kurso mas kumportable ay alam ng 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 mula noong sila ay 12, Napagtanto na magkakaroon pagkakataon sa mga seksyon at sa problema Nagtatakda upang pumunta ang lahat ng mga higit pa sa lalim sa iba't ibang mga paksa, pagpuno sa anumang gaps na maaaring mayroon ka mula sa iyong high school o bago background. Sa mga tuntunin ng wika, Napagtanto na anong wika namin gamitin sa CS50 ay higit sa lahat walang-katuturang sa ang pagtatapos ng araw. Mangyari naming gamitin, lalo na, ang wika ng tinatawag na C. Patungo sa katapusan ng semestre, namin ipakilala ang web-sentrik wika tulad ng PHP at JavaScript. Ngunit hindi namin at iba pa ay maaaring magturo ng kurso tulad ng ito sa karamihan ng anumang 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 naka-pag-aaral sa C. kurso na ito ay hindi ka pag-aaral ng PHP o JavaScript. Ka sa pag-aaral kung paano upang malutas ang mga problema, kung web-based, computer batay, o data-oriented mismo, gamit mga simpleng mga tool. Ngayon, sa mga tuntunin ng logistik, gagamitin mo isang bagay, kalaunan, na tinatawag CS50 Appliance. Hindi mahalaga kung mayroon kang isang Mac, PC, Linux computer na, o ang gusto. Magkakaroon ka malayang magagamit na software simula sa susunod na linggo na gamitin ang CS50 Appliance, isang virtual na kapaligiran na gagamitin mo sa iyong sariling computer sa gayon ay 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 makakuha ng ang iyong mga kamay sa marumi sa kurso. At sa pagtatapos ng araw, ito ay set ang problema, ako tingin, na talagang tukuyin ang isang mag-aaral makaranas sa kursong ito. Napagtanto na maraming ng mga hanay ng problema ilalabas sa dalawang edisyon, isang karaniwang karagdagan na inaasahan naming at hinihikayat ng 90% ng klase sa sumisid sa. Ngunit din namin ilabas ang ilang mga hanay ng problema sa tinatawag nang gayon Hacker karagdagan. At alam mo ang Hacker karagdagan dahil sa bawat pahina na may watermark na ito sabi ni Hacker karagdagan dito. At na para sa demograpikong mo na may ap computer science na may 10 taon ng programming sa ilalim ng iyong sinturon at naghahanap upang punan ang mga gaps at upang magkaroon ng mas pormal na, kaysa sa self-itinuro, pagsasanay, marahil. Napag-alaman na may isang matibay 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 limang ng mga deadlines paggamit ng mga bagay na tinatawag na late araw. At gagamitin din namin drop ang iyong mga pinakamababang puntos sa dulo ng semestre bawat ang mga particular sa syllabus. Ngunit isa pang pagtukoy katangian ng CS50 sa paglipas ng taon ay naging opisina oras. Ng pagkakataon na nakita mo biswal sa mga larawan ng kaunti nakalipas kung saan namin mangalap - dati sa bahay dining bulwagan, bago iyon sa basement ng Science Center, at sa taong ito sa Annenberg Hall - apat na gabi ng linggo 20:00-11:00 kung saan makikita mo ito lubhang magkano ibinahagi karanasan ng mga nagtatrabaho sa, struggling sa pamamagitan ng, ang ilang mga problema, ngunit na may matibay na suporta istruktura sa lugar. Sa katunayan, ang paraan na ito ay gagana makikita mo dumating sa Annenberg kung mayroon kang ilang mga katanungan sa panahon ng linggo, makikita mo dalhin iyong laptop, umupo, grab ang ilang mga pagkain, at makikita mo mag-log sa CS50 talakayin, ang isang web-based utility na ang pagtuturo kawani ay binuo na ay magbibigay-daan sa iyo upang mag-post ng tanong at makita ang follow-up sa isang tipikal na forum ng talakayan kahulugan, gamit ang mga label at tulad at auto kumpletong maghanap sa data. Ngunit magkakaroon ka rin magagawang, sa panahon ng mga oras ng opisina oras, na tumaas ang iyong mga katanungan sa aktwal na tao. Sa katunayan, ang layunin ay sa huli ay kaya na ang isa, magsisimula namin upang bumuo ng up sa kabuuan ng semestre isang kalipunan ng sana talagang kapaki-pakinabang na impormasyon, karaniwang sagot sa mga karaniwang tanong, kaya mo ang iyong sarili malutas ang mga problema at makakuha ng unstuck nang mabilis hangga't maaari, ngunit habang may pagtuturo ng kawani, karaniwang 20-30 ng Fellows pagtuturo at kurso assistants, sa kawani nang sabay-sabay. Kami ay kung ano ang tinatawag na CS50 Greeter sa Annenberg. At kapag tinutukoy namin na, alam mo kung ano, ang tanong na ito, hindi talaga namin masagot ang epektibong online. Kailangan naming makita ang iyong computer. Gusto naming makipag-usap sa iyo one-on-one. Sa isa. Ikaw talaga struggling at, samakatuwid, ay nais na makipag-usap isa-sa-isa sa tabi ng isang tao, makikita mo na despatsado sa CS50 Greeter, ng pagtuturo Holding kapwa, literal, iPad na may mga pangalan ng mga mag-aaral sa isang gilid, pagtuturo tauhan pangalan sa isa. Kami ay i-click ang iyong pangalan na sinusundan ng pangalan ng isang pagtuturo kawani, at ang screen ng iyong computer ay magsisimula nagbi-blink na sinasabi pakiusap pumunta makita ang Alice o mangyaring pumunta makita ang Bob sa sa mga tauhan ng table. At ito sa ganitong paraan, namin dispatch ang mga bagay tulad ng mahusay hangga't maaari, pati na rin ang gagabay sa iyo patungo sa solusyon ang lahat ng mga mas kaagad. Sa seksyon, ang mga pagkakataon para sa higit pang intimate hands-on na pagkakataon gamit ang isa sa mga pagtuturo Fellows at 12 sa 16 o kaya ng iyong mga kaklase sa kung saan bawat linggo, kakailanganin naming problema sa hanay ng problema na magtanong sa isang bilang ng mga haka-haka na tanong at bilang ng mga bit-sized na mga katanungan sa programming na maaaring malaman sa iyong sarili, at maaaring gumana sa iyong sarili, ngunit sa konteksto ng seksyon kung saan gumana namin sa pamamagitan ng sama-sama ilan sa mga problema at pumunta kung saan ang iba't ibang mga pag-uusap ay tumatagal sa amin. Bilang karagdagan, sa seksyon mayroon kang pagkakataon upang suriin ang pagsusumite ng mga araling-bahay na ginawa mo, ang iyong kaklase, minsan hindi kilala, palaging sa pamamagitan ng pag-opt-in kung nais mong upang ibahagi ang trabaho na iyong naisumite. Kaya ito ay talagang dalawang-itinuro pag-uusap, isang pagkakataon upang suriin ang iyong sariling trabaho sa isang higit pang dynamic na kahulugan, sa halip na lamang ng pagtingin sa isang PDF o isang printout at pag-iisip tungkol dito para sa isang ilang segundo at hindi kinakailangan na sumisipsip sa feedback na ang pagtuturo kawani na ibinigay. 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 tuktok sa kaliwa, at makakakuha ka ng malaman ito sa paglipas ng panahon. Ngunit ito ay isang web-based utility na gagamitin namin sa seksyon na magbibigay-daan sa iyo at sa iyong 15 o kaya mga kaklase mag-login gamit ang iyong kapwa ng pagtuturo sa harapan ng kuwarto. Magagawa mong upang isulat ang code sa window na ito. Magagawa mong makipag-chat elektroniko, kung hindi ka aktwal na sa seksyon sa partikular na sandali. At ang iyong pagtuturo kapwa, pagdating panahon upang talakayin Alice o ni Bob solusyon sa klase, ang pagtuturo kapwa maaari i-click ang isang pindutan at voila, proyekto papunta sa screen, anumang na mag-aaral ay nagtatrabaho sa sa partikular na punto ng oras. Kaya para sa mga na kaibigan na kinuha CS50 sa ang nakaraan, Napagtanto na seksyon ay makabuluhang rebooted taong ito ang lahat ng mga mas aktibo, ang lahat ng mga higit pa pabago-bago, at talagang two-way pakikipag-usap sa pagitan ng pagtuturo kawani at mag-aaral. At walkthroughs. Kaya para sa mga set ng problema, aming inaalay hindi lamang ang pagtutukoy mismo, na kung saan ay karaniwang isang medyo detalyadong PDF, kundi pati na rin mga bagay na kilala bilang walkthroughs kung saan isa miyembro ng kawani ng pagtuturo ay humantong lingguhang session na literal ay nagtuturo sa iyo sa pamamagitan ng hanay ng problema, bibigyan ka mga pahiwatig at payo at mga punto ng simula at nilalayong tanungin ang napaka-madalas na itinatanong tanong, kung saan ko sisimulan? Well, magsisimula ka sa pamamagitan ng diving sa spec sa kanyang sarili o sa pamamagitan ng pumapasok 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 film ito napaka-maagang sa linggo upang makakuha ng mga ito sa online sa pamamagitan ng pagtatapos ng linggo sa gayon ikaw magkaroon ng maraming mga araw hangga't maaari sa aktwal na umaakit sa na nilalaman pati na rin. Ngunit higit pa sa na sa panayam na ito Biyernes. Ngayon sa mga tuntunin ng ang istraktura ng suporta, ang pinaka makabuluhang istatistika ay marahil ang 108 pagtuturo Fellows at kurso assistants na ito kurso Kasalukuyang. Kung ilan sa inyo na hindi sumasalungat na ang mga klase ng nais samahan ako dito sa entablado, mga guys na ay sa huli talagang tukuyin ang iyong karanasan sa kurso. Nagkaroon ako ng maraming mga Fellows ng pagtuturo pagtuturo sa akin ng mga klase sa araw, at natatandaan ko napakakaunti ng mga lantaran. Ngunit sa petsa, ako pa rin tandaan kabilang sa mga ilang, ang aking CS50 tf na talagang nakatulong akong sagutin ang mga katanungan, na talagang nakatulong sa 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 ay sumali ka sa labas para sa cake, na kung saan ay isang tradisyon ng CS50, sa transept ng Memorial Hall. Ngunit payagan ang akin unang upang ipakilala sa Nate Hardison, muli, Rob Bowden, at Tommy MacWilliam, ito ulo kurso taon. Kung ikaw guys ay samahan ako dito sa gitna. Lahat ng mga ito handa ilang Pampasigla remarks. Tommy MACWILLIAM: Hindi ko maghanda ng anumang Pampasigla. Subalit ang aking pangalan ay Tommy. Ako ay isang senior sa Mather. Ako ang pag-aaral ng computer science. Talagang ako nasasabik na sa koponan ng Hedge at pagpunta sa pamamagitan ng CS50 paglalakbay sa iyo. Ano ang gustung-gusto ko talaga tungkol sa CS50 ay kung paano ito talagang nagtuturo sa iyo mag-isip tungkol sa mga problema sa isang bagong paraan. Talaga ito ng kasanayan na gonna napakahalaga kahit kung ano ang field na pumunta ka sa. At hindi lamang na, ngunit nag-aalok kami ng libreng kendi kaysa anumang iba pang mga kurso sa campus. Oo, at kaya talagang ako 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, talagang huwag mag-atubiling makipag-ugnay sa akin at Gusto kong tulungan. 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 paggawa ng ito semestre talagang mahusay. At hangga't ikaw ay handa upang ilagay sa pagsisikap, may kaya magkano ang maaari kang kumuha ng kursong ito. Ah, namin - oo. Maaari kang makakuha ng maraming ng masaya ng kursong ito. Hindi namin magkaroon ng isang kawani ng 108 kung hindi ka nakakakuha ng maraming ng saya nito. Kaya, subukan lamang 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 Nasiyahan ako sa ito sa ngayon. At kung sakaling nais upang malaman kung paano upang mabilang sa 9 o 10 sa binary, dumating makipag-usap sa akin. David J. MALAN: Kaya sa panganib ng umaalis sa mga guys na ito dito sa yugto ng bit awkwardly, sabihin inog sa pamamagitan lamang ng ilang mga ang mga bagay na naghihintay bago ipinid namin para sa cake. Ano ang na kasinungalingan magpatuloy? Well, kung namin gumawa ng isang mabilis na pagtingin pabalik sa nakaraang taon, sa problema nakatakda 0, ang iyong mga predecessors kalapati sa isang programming wika na tinatawag na simula, graphical programming wika gagamitin mo sa unang araw ng kurso na nagsisimula ito Biyernes hanggang matutunan ang ilang mga konsepto na pamilyar sa ilan sa inyo. Ngunit Napagtanto ay isang advanced na aspeto ng ito para sa mga may bago background. Sa huling taon ng problema itakda ang 2, ang mga mag-aaral kalapati sa mundo ng cryptography, ang sining ng enciphering o scrambling impormasyon, pagpapatupad ng mga programa na-encrypt na data. At sa karagdagan Hacker nakaraang taon ay mag-aaral magpatuloy sa magpahaginit o mag-decode ng mga password sa isang karaniwang xe password computer na file sa pamamagitan ng darating na may mga algorithm at heuristics para sa astig na puwersa ang pag-uunawa kung ano ang isang tao ay password sa isang sistema ng computer na ay. Nakaraang taon, sa problema ang 3, ang mga mag-aaral impli - sa problema-set 4 - ginawa ng mga mag-aaral ipatupad ang laro ng Sudoku. At sa karagdagan Hacker na taon ay ginawa ng mga mag-aaral ay hindi lamang ipatupad kung paano upang i-play ang laro, ngunit talagang isang Solver kung saan ang computer ay maaaring magbigay sa iyo, ang mga tao, na may pahiwatig ng mas mabilis kaysa sa iyong paglutas na partikular na problema. Sa problema set 5, ginawa namin forensics, ito sining ng pagbawi impormasyon na aksidenteng o napaka sadyang tinanggal mula sa isang computer. Nakaraang taon, ang kawani ng pagtuturo at strolled ko sa paligid ng campus pagkuha ng mga litrato ng mga tao, lugar, at mga bagay, at pagkatapos ay aksidenteng format sa media card sa aming camera na mayroon ang lahat ng mga larawang iyon. Ngunit walang mga problema. Ginawa namin ang isang forensic imahe ng media card na ito, ipinasa ito sa lahat ng mga estudyante sa klase, at hinamon ang mga ito na magsulat 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 sa isang email mula sa isa ng iyong mga predecessors, kung saan ay mahusay na masaya sa basahin minsan ang nakalipas. Siya sinulat ni - ito ay mula sa Matt - mahal David, kahapon ang aking kapatid na babae sinasadyang-format ang SD card ng kanyang camera at nawala 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 sa akin ng pset 5, kaya naisip ko na ako ay subukan upang patakbuhin ang kanyang SD card sa pamamagitan ng programa ng mabawi na sinulat ni ko ang lahat ng mga paraan pabalik sa Oktubre. Kaya pagkatapos ng apat na oras ng pag-uunawa ng kung paano upang lumikha ng isang raw imahe mula sa format na SD card - Google ng mga di-napatutunayang sa medyo unhelpful sa bagay na ito hanggang ironically ko nangyari na dumating sa iyong mga tagubilin sa Internet - pagkatapos tinkering sa paligid na may ilang mga argumento utos, Ko pinamamahalaang upang lumikha ng forensic imahe. At matapos na-install at configure ang 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. Kanan, Matt. Kaya sa huling year's - [Palakpakan] Sa hanay ng problema ng nakaraang taon 6, ibinigay namin ang mga mag-aaral ng diksyunaryo ng 150,000 mga salitang Ingles at hinamon ang mga ito sa magsulat ng isang spell checker na sumagot sa query ng form ay naisulat ng tama ang salitang ito o mali bilang mabilis hangga't maaari. At sa isang opt-in batayan mga mag-aaral pinapayagang pagkatapos hamunin ang mga kaklase sa pamamagitan ng pag-post ng kanilang mga resulta, ang halaga ng RAM na ginagamit ang mga ito, ang bilang ng mga cycle ng CPU o segundo na ginamit nila, upang ang mga mag-aaral ay pagkatapos-ranggo sa website ng kurso. Muli, pulos opsyonal aspeto ng, ngunit mahusay na masaya sa na madalas ay mag-aaral upang iposisyon ang numero ng 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, at dahil doon pagbuhos ng isa pang dalawa o tatlong oras lamang sa isang up kanyang kasama. Kaya masaya naming inaabangan ang panahon sa isang bagay na katulad sa taong ito pati na rin. Sa problema ang 7 ay namin kapong torete sa direksyon ng web mga programa, aktwal na paglutas ng mga problema sa kailanman nagiging karaniwang kapaligiran ng isang web browser. Alam decreasingly namin i-download ang software sa Mac at PC, ngunit nagiging ang gagawin namin ang lahat ng ito sa loob ng web. At sa katunayan huling 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 ng 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 ang bersyon na ito ng isang patas na gawin ang lahat ng mga mag-aaral sa uri magdala ng kanilang mga laptop at ang kanilang mga kaibigan at pamilya at iba pa sa Northwest Science, isang malaking gusali sa campus, set up kanilang laptop, makakuha ng ilang mga pagkain, kumuha ng ilang popcorn at inumin, at pagkatapos ay nagpapakita ng kanilang huling proyekto para sa lahat ng mga pagdalo na noong nakaraang taon bilang ng ilang 2,500 dadalo mula sa buong campus. At mga expression tulad nito at tulad nito ay hindi bihira sa fair. Humahantong sa patas ang CS50 Hackathon, ng pagkakataon Hop sa isang shuttle ulo Harvard, sa kalye sa Microsoft sa 8:00 PM, at hindi umuwi hanggang 07:00. Naghahatid kami ng unang hapunan sa 8:00 PM, pangalawang hapunan sa 1:00, at para sa mga pa rin nakatayo sa 5:00 am, naming ituring pancake sa IHOP. At ang Hackathon ay isang pagkakataon, tulad ng nakalarawan dito, sumisid sa iyong huling proyekto, kung nagtatrabaho sa iyong sariling o sa mga kaibigan sa isang collaborative na kapaligiran, kung saan ang buong pagtuturo kawani ay mahusay na gumagana sa gabi na may isang sapat na supply ng Hong Kong Chinese food. Sa 5:00 AM ang mga naturang larawan dahil ang mga ito ay lubos na karaniwang na ito taon pati na rin. Kaya namin ipinid sa isang sandali para sa cake, tandaan na 76% ng mga tao sa kuwartong ito ay walang naunang karanasan. At bilang bawat ang syllabus, kung ano ang mahalaga sa huli sa kurso ay hindi kaya magkano kung saan magtapos ka hanggang may kaugnayan sa iyong kaklase, ngunit kung saan sa pagtatapos ng linggo 11 hanggang may kaugnayan sa ang iyong sarili sa linggo 0. Ito ay CS50.