[Musika nagpe-play] [APPLAUSE] David J. MALAN: Ito ang CS50, Pagpapakilala sa Harvard University ni sa intelektwal na pag- mga enterprise ng computer science at ang sining ng programming. Ngayon kung ikaw ay kabilang sa mga iyon bawat taon ay sitting dito may kaunting mga ugat sa iyong isip, tulad na tingin ninyo ay hindi nabibilang sa iyo dito, sa tingin mo na ang karamihan sinuman na nakaupo sa paligid mo alam ng malayo higit pa kaysa sa iyo, ay sa katunayan higit pang mga kumportableng kaysa sa iyo sa computer na agham o mga computer mas pangkalahatang paraan, Napagtanto na 78% ng mga mag-aaral na ngayon tumagal CS50 ay walang naunang karanasan. Sa katunayan, mayroong 100 na tuldok doon sa display, 78 sa mga ito ay ay matatag na berde, na nangangahulugang, kung ikaw ay kabilang sa na demographic, ay nasa isang magandang kumpanya dito sa out. At kung ikaw ay sa halip kabilang sa mga 22% ng CS50 mag-aaral na gawin sa katunayan Mayroon naunang karanasan, kung sa mataas na paaralan o ilang iba pang mga programa, Napagtanto na ikaw, masyadong, ay ay hinamon sa kurso. Hindi lamang ang mayroon kami ng iba't ibang mga track para sa mas kumportableng mga mag-aaral at higit pa kumportableng magkamukha sa mga seksyon, namin din na tinatawag na Hacker edisyon ng karamihan sa mga problema Nagtatakda na ay hamunin ang mga mag-aaral may na karagdagang karanasan upang galugarin ang katulad na materyal ngunit mula sa isang mas sopistikadong pananaw. Ngunit kung ano ang computer science? Well, sa huli, kung ano ang nangyayari sa bagay bilang mong galugarin ang field na ito ay hindi kaya magkano kung saan mo tapusin up kamag-anak sa iyong mga kaklase, ngunit kung saan mo ang iyong sarili ay napupunta sa 12 linggo kumpara sa kung saan magsisimula ka dito sa linggo zero. Ngayon computer na science-- na rin, sabihin tawagin ang agham ng computation-- kung saan pagkwenta ay talagang lamang ng isang magarbong paraan ng sinasabi, pagkuha ng ilang mga input, paggawa ng ilang output, at paggawa nito sa pamamagitan ng pagpapatakbo algorithm, hanay ng mga tagubilin para sa pag-solve ang ilang mga problema sa mga input upang makagawa ng ilang output o solusyon kung saan ikaw ay interesado. Kaya kamakailan namin ay may Paminsan-minsan upang maglakbay out sa California upang matugunan na may isang alumna. Ang kanyang pangalan ay Susan Wojcicki. At gusto niyang i-makipag-usap sa iyo dito sa video upang magpatotoo sa kung paano naaangkop lamang kahit na lamang ng panlasa ng computer science sa mga panimulang antas ay maaaring maging. Kahit na hindi mo pumunta sa upang ituloy computer science bilang isang patlang, o kahit pag-iinhinyero, o stem mas pangkalahatang paraan, makikita mo, sa katunayan, kung paano ang isang tiyak na Siyempre kaya naaapektuhan ang kanyang buhay. At lamang lang kinuha niya ito kapag siya ay isang senior dito sa Harvard College. Kung maaari kaming palalamlamin ang liwanag ng ilaw para sa Susan. Susan Wojcicki: Kumusta, mundo. Ako si Susan Wojcicki. Ako ang CEO ng YouTube. At kinuha ko CS50 kapag ako ay senior sa Harvard noong 1990. Ako ay talagang isang kasaysayan at panitikan ng mga pangunahing. At ang aking junior tag-araw, Ako natanto na siguro ako Nais upang matuto ng isang bagay tungkol sa mga computer. At kaya, ako ay dumating likod. Kinuha ko CS50. Iyon ay matapang na, ngunit ito ay ang pinaka-kahanga-hangang mga klase kinuha ko. Binago ito kung paano tingin ko tungkol sa lahat ng bagay. At kapag nakapagtapos ako mula sa Harvard noong 1990, nagpunta ako sa Silicon Valley. At Nakakuha ako ng trabaho. At ako na aming pinagsusumikapan sa tech kailanman mula noong. David J. MALAN: Ngayon ano Susan ay hindi banggitin sa video na ito, na ito ay nasa kanyang aktwal garahe na mismo ng Google ay itinatag sa pamamagitan ng Larry at Sergey. Ngayon Naabot din namin ang out sa aming mga kaibigan sa code.org, isang samahan na sa nakaraang taon ay naging pagkuha ng mga tao lalo na nasasabik tungkol sa computer science at programming, sa partikular. Ngunit ito ay nagkakahalaga ng tandaan na ang programming ay hindi computer science per se. Agham computer ay hindi programa. Sa halip programming lamang tool-- kung saan ang lahat ng sa iyo ay magiging maayos lahat pamilyar sa pamamagitan ng end-- semestre ni tulad na maaari mong ilapat hindi lamang sa mga kurso sa hinaharap sa CS ngunit sa anumang mga patlang mula sa whence ka darating, sa Humanities, mga agham panlipunan, natural agham, o mga katulad. Sa katunayan, payagan ang ilang iba pang mga alumni at ang kanilang mga kasamahan upang makipag-usap sa mga applicability ng field na naghihintay. Bill Gates: ako ay 13 kapag ako ay unang nakakuha ng access sa isang computer. JACK DORSEY: Aking mga magulang bumili ako ng Macintosh sa 1984 kapag ako ay walong-taon gulang na. MARK ZUCKERBERG: ako ay sa ika-anim na grado. Tagapagsalita 1: natutunan ko sa code sa kolehiyo. RUCHI SANGHVI: taon Freshman, una semestre, Intro sa Computer Science. Bill Gates: Isinulat ni ko ang isang programa na nag-play tic-tac-daliri. Drew Houston: Sa tingin ko medyo mapagpakumbaba Beginnings. Sa tingin ko ang unang programa Ako ay nagsulat nagtanong mga bagay tulad ng, ano ang iyong mga paboritong kulay? O kung gaano kaluma ka? Elena SILENOK: ko unang natutunan kung paano gumawa ng isang kulay berdeng bilog at isang pulang parisukat na lumitaw sa screen. Gabe Newell: Ang unang oras na aktwal na ako ay nagkaroon ng isang bagay na makabuo at sabihin, kumusta, mundo. At ginawa ko isang computer gawin iyon. Ito ay isa lamang astonishing. MARK ZUCKERBERG: Pag-aaral kung paano sa programa ay hindi magsisimula nang off bilang gustong matuto lahat ng computer science o sinusubukang i-master ito disiplina o anumang bagay tulad na. Nagsimula lang ito off dahil ako Nais upang gawin ito sa isang simpleng bagay. Nais kong gumawa ng isang bagay na ay masaya para sa aking sarili at ang aking babae. At na sinulat ko ang maliit na programa. At pagkatapos ay isa lamang lamang Nagdagdag ng kaunti dito. At pagkatapos ay kapag kailangan ko upang matuto ng bagong bagay, Tiningnan ko ito up, alinman sa isang libro o sa internet, at pagkatapos ay nagdagdag ng isang maliit na bit dito. Drew Houston: Ito ay talagang hindi hindi katulad nagpe-play ang isang instrumento o isang bagay o sa paglalaro ng isang sport. David J. MALAN: Lahat ng karapatan. Kaya ipaalam sa amin ngayon talaga makisalamuha ng kaunti mas malalim. Ano ang mga input at output na pinag-uusapan natin ang tungkol dito? Kaya kung paano tungkol sa isang bagay? Marahil na alam mo, kahit na mayroon kang hindi pamilyar sa computer science kung ano pa man, na kahit papaano gamitin ang computer at nauunawaan lamang ng mga zero at mga bago. Ngunit kung paano maaaring na posibleng maibigay kung paano mga desktop at laptop magkamukha magkano ngayong araw Maaari gawin? Ang DNA ng araw, ang tanging alpabeto na maunawaan nila ay isang zero o isang isa. Well, isaalang-alang na ito. Kami, mga kawani na tao, ay may posibilidad na gamitin ang sistema decimal. "Disyembre" ibig sabihin 10. At iyon ang 10 dahil mayroon kaming 10 digit, 0 sa pamamagitan ng siyam. Ngayon mga computer, sa pamamagitan ng kaibahan, ay may posibilidad na gamitin ang binary. "Bi" ibig sabihin dalawa. Kaya may posibilidad na gamitin ng mga zero lamang at isa. Ngunit ito ay lumiliko out, na kahit na lamang na may mga zero at mga bago, na ay isang sapat na malaki alpabeto kung saan kinakatawan ang pinaka- anumang mga piraso ng data na gusto mo, maging ito man ay isang numero, maging ito man ay isang sulat, ito man isang graphic o video sa screen. Isaalang-alang, halimbawa, kung paano namin tao Karaniwang-kahulugan dito ang bilang na ito. Ito ay lamang ng tatlong digit, isa, dalawa, tatlo. Ngunit alam namin ang numerong ito innately ngayon bilang 123. Ngunit kung bakit ay na? Well, kung sa tingin mo pabalik upang marahil grado ng paaralan, marahil ay tinuruan upang isipin mga bilang na ito na nasa loob ng mga hanay, kung saan ang isa ay nasa daan-daang lugar, ang dalawa ay nasa sampu-sampung lugar, at ang tatlo ay nasa lugar bago. Bakit ay na aktwal na kapaki-pakinabang? Well, isipin ang tungkol sa sobrang simple aritmetika na namin ang lahat ay naging paggawa para sa taon na ngayon. Epektibo, kung mayroon ka isang isa sa daan-daang lugar, gagawin mo ang mabilis na matematika 100 beses 1 plus 10 beses 2-- dahil dalawang ay nasa sampu-sampung place-- plus 1 beses 3-- dahil tatlong ay nasa lugar bago. Kaya, siyempre, kung namin talagang i-multiply ito out, kung ano talaga kami na kumakatawan sa may isang ito pattern-- dalawang three-- ay 100 plus 20 plus 3, na kung saan, siyempre, ay 123. Ngayon binary, at mga computer talaga ito, fundamentally makipag-usap ang parehong wika na ginagawa namin. Mayroon lamang ang mga ito ng mas maliit na alpabeto. Kaya mga computer lamang magkaroon ng mga zero at alin sa kanilang mga pagtatapon. Kaya samantalang kami mga kawani na tao ay may mahalagang kapangyarihan ng 10 sa bawat isa sa mga places-- 10 sa zero, 10 sa isa, sampung sa dalawang, bibigyan ka ng 110 at 100 ayon sa pagkakabanggit. Dahil ang mga computer ay mayroon kang dalawang mga halaga lamang maaari silang maunawaan, zero at isa, mayroon sila upang gamitin ang iba't ibang mga halaga sa mga hanay na ito, isa, dalawa, apat. At kung iningatan kami makapupunta, walong, 16, 32, 64, at iba pa. Ngunit ang pattern at ang kaisipan ay eksaktong kapareho. Kaya sa pamamagitan ng logic na ito, sinuman, paano gagawin Pumunta ako tungkol na kumakatawan sa bilang isa sa binary? Kung hindi mo pa kahit na naisip tungkol sa ito bago, ano ang sinasabi ng iyong GUT? Madla: Isa. David J. MALAN: Isa. Mismong. Kailangan lang namin ng isa sa mga lugar dahil sa mga zero suffice upang bigyan kami ng hindi isang apat at hindi rin isang dalawa. Kaya isa beses isa ay katumbas ng isa. Ngayon mga bagay makakuha ng isang maliit na kawili-wili. Kung gusto ko upang kumatawan sa binary ang bilang two-- ngunit, muli, kahit na hindi mo kailanman pasalitang wika na ito bago, paano ginagawa namin ay kumakatawan sa binary ang halaga na aming mga kawani na tao alam bilang dalawang? Zero isa zero. Ilagay lang ang isa sa hanay na iyon mo ito gusto. Ngayon nakakakuha ito ng kaakit-akit madaling marahil ngayon. Kaya kung gusto ko upang kumatawan three-- doon ay walang mga haligi ng tatlong. Kaya, muli, ako ay maaari na ngayong idagdag ang mga halaga nang sama-sama sa pamamagitan ng paglalagay ng isa dito. Kaya 2 beses 1 plus 1 1 beses ay, siyempre, 3. Ngayon mga bagay makakuha ng isang maliit na masaya sa na ang mga bago ngayon naging zero. At upang kumatawan sa apat, nakakatanggap ako ng ito. At kung dinagdagan namin nang mabagal here-- na magiging limang. Ito ay magiging anim. Ito ay magiging pitong. Ngunit ngayon ay tila ko na magkaroon ng makatagpo ng mga problema. Paano ko maaaring pumunta tungkol kumakatawan sa Gusto eight-- ang susunod na halaga. Oo, kaya kailangan namin ng bagong bits. At, sa katunayan, kung hindi mo narinig ito parirala bago, bits, na maikli lamang para sa binary digit, zero o ng isa. At kaya mangyari ko na kumakatawan sa lamang ng tatlong piraso tulad dito. Ngunit kung mayroon akong isang paraan ng pag-iimbak ng hindi tatlong iba't ibang mga bits, ngunit apat, tiyak kaya kong kumatawan walo, at pagkatapos ay siyam, at pagkatapos ay 10, at kahit na mas mataas at mas mataas. Ngunit pagkatapos na tawag sa tanong kung paano namin maaari pumunta tungkol kumakatawan sa mga bagay sa unang lugar. Ito ay isang bagay upang gumuhit ang mga ito up dito sa isang slide, ngunit paano mo kumakatawan sa kanila kung ikaw ay isang makina aparato? Ano ang isang computer sa paggawa Kumakatawan sa input at output na fundamentally tukuyin ang pagkwenta sa pagtatapos ng araw? Well, kung ano ang tungkol sa isang bagay sobrang simple na tulad nito? Ito ay lamang ng isang ilaw bombilya. At maaari ba akong mag-trigger ito liwanag bombilya upang pumunta sa sa pamamagitan ng pag-on ng ilang koryente sa at nagbibigay-daan sa mga electron upang dumaloy sa pamamagitan, kung aling mga pagbabago nito estado o halaga nito, kaya upang makipag-usap. Halimbawa, ito ay isang desk lamp old school dito gamit ang isa tulad ilaw bombilya sa loob nito. At ngayon ito ay hindi talaga ginagawa ng anumang bagay na kapaki-pakinabang. Ngunit sa lalong madaling plug ko ito sa isang electrical socket at pagkatapos ay gamitin ito switch-- o Maaari rin kaming tawagan ito ng isang transistor o sa tingin ng ito bilang such-- Maaari ko ngayon ay kumakatawan sa alinman sa ang halaga na ito, kung saan ang ilaw bombilya ni malinaw naman off, o ang halagang ito. Ang halaga o ang halaga na ito. Ang halagang ito at iba pa. Kaya sa loob ng isang computer, baka, ang mas maliit na piraso ng hardware, ngunit sa pagtatapos ng araw simpleng gamitin electricity-- marahil makuha it-- at pagkatapos ay alinman sa panatilihin ang isang bagay sa o panatilihin ang isang bagay off. Siyempre, hindi ito ang partikular na interesante sa gawin sa pamamagitan lamang ng isang solong liwanag bombilya. Sa katunayan, kung gaano kataas ko maaaring bilangin sa binary na may ganitong desk lamp dito? Madla: Isa. David J. MALAN: Isa, tama? Kailangan ko nang higit desk lamp kung ako talagang gusto upang mabilang mas mataas. Ngunit maaari naming gawin mas mahusay kaysa sa na. Dahil ang mga bombilya liwanag na Naglaan na kami sa mga bagay na ito ay talagang fancier liwanag na mga bombilya kaysa yesteryear ay magpapahintulot. At ang mga ito ay aktwal na naka-network na ilaw na mga bombilya. At bunches ng mga kumpanya gumawa ng mga bagay na ito mga araw na ito. Ngunit ito ay lumiliko out na ang isang ito sa mga partikular na ay may tampok na kung saan maaari mong baguhin ang kulay nito. Kaya halimbawa, kung ikaw adorned iyong dorm room na may ilang mga ilaw bombilya, depende sa iyong mood, depende sa kung sino ay sa, depende sa lagay ng panahon, depende sa oras ng araw, maaari mong aktwal baguhin ang mga kulay ng ang mga bombilya sa iyong kuwarto. At iyon ay dahil ang mga ilaw bombilya at ang mga tulad nito ay may kung ano ang na tinatawag ng isang API, isang application programming interface, na ay isang paksa na kung saan ikaw ay mahusay pamilyar sa pamamagitan ng pagtatapos ng semestre ay. At ito ay isang magarbong lamang, cryptic paraan ng sinasabi, maaari mong programa ang mga ilaw bombilya na gawin ang iyong mga pag-bid. Maaari kang magpadala sa kanila ng mga mensahe tulad mo, isang tao, maaaring magpadala ng mensahe sa isang web server na nagsasabi, ninyo ako ng balita ngayong araw o magbigay sa akin ang aking email. Maaari kang magpadala ng higit pa arcane mga mensahe sa mga ilaw na mga bombilya sasabihin, i-on at i-off. Ngunit hindi iyon ang lahat ng mga kagiliw-giliw. Maaari mong sabihin, i-on ang pula, i-on ang berde, i-on ang kulay bughaw, lahat na may parehong ilaw bombilya. At maaari mong kahit na, na may kaunti pa savvy, sabihin nating, lumiko ang iyong sarili sa asul na kapag ito ay isang gloomy araw sa labas, halimbawa. Maaari aktwal na ito patch sa isang lagay ng panahon API at alamin kung ano ang lagay ng panahon ay, o ang oras ng araw, o ibang tulad ng mga pag-trigger. Kaya, sa katunayan, dalawa sa Sariling mga miyembro ng kawani ng CS50, Dan Bradley at Ansel Duff dito, pinapayuhan procured amin ang maramihang mga magagaan na mga bombilya. At binuo nila CS50 ni unang kailanman binary bombilya, kung saan namin ang kinakatawan here-- may mga mapaglarong kaunti magnets-- ang iba't-ibang mga placeholder namin alluded sa isang bit lamang ang nakalipas. Kaya paraan sa paglipas dito ay ang mga lugar, dalawang, apat. At hindi namin nakita ang mas mataas kaysa sa na. Ngunit, siyempre, ang mga ito ay kapangyarihan ng dalawang. Eight, 16, 32, 64, at 128. Kaya kung gusto ko ngayon upang maging isang maliit na fancier kaysa sa paggamit na ito lumang paglipat ng paaralan, Mayroon akong dito sa iPad super simpleng interface na Dan Bradley, isang dating mag-aaral at pagtuturo sa ngayon kapwa, programed gamit ang ilang HTML at JavaScript, na mga markup at programming wika ayon sa pagkakabanggit. At maaari mong marahil see-- kahit sa back-- mayroong isang malaking plus at isang malaking minus, plus isa button para sa bawat isa sa mga bombilya. At kung ano ito ay pagpunta sa payagan ako sa huwag ay, halimbawa, i-click ang plus at ngayon ay kumakatawan, ng Siyempre, kung ano ang numero? Ang isa. At maaari ko ba itong pindutin muli. Dalawang. Tatlong. Four. Limang. Anim na. Pitong. At dito ngayon makuha namin na rollover, ngunit kami ay may 1/4 bit oras na ito, kaya ngayon kami ay may walong. Kaya maaari naming gawin ito para sa lubos ng ilang oras. Sa katunayan, bilang isang bukod, kung gaano kataas maaari naming bilangin? Sinuman? Madla: 255. David J. MALAN: 255, tama? Huwag mag-alala masyadong maraming tungkol sa matematika para sa ngayon, ngunit iyan ay isang magandang disenteng numero. Ngunit ito ay aktwal na nakatali lamang kung gaano karaming mga piraso ng impormasyon, tulad ng isang sulat, o isang graphic na maaaring kumatawan namin. Ngunit kahit na para sa ngayon. Pupunta ako sa sige at i-ang lahat ng ito off. At kung magagawa ko, nais kong hilingin isang volunteer, ang aming unang volunteer-- oh, hello-- sa entablado. Ang catch ay mayroon kang maging kumportableng lumilitaw, tulad ng malinaw na ay nasa harap ng lahat ng iyong mga kaklase, pati na rin sa internet. At hayaan mo akong tumingin ng kaunti lampas the-- kung paano tungkol dito sa puting shirt? At ipasa up. Halika sa up. Ano ang iyong pangalan? Madla: Jackie. David J. MALAN: Jackie. Jackie, dumating sa up. Kaya kung ano ang mayroon ding sa ito iPad ay isang pindutan na tinatawag na Mode Game. At Mode na ito ay Game pagpunta sa payagan ako sa pag-input nang maaga sa isang partikular decimal numero, ang mga numero namin tao ay pamilyar sa. At pagkatapos ikaw ay hinamon dito upang gamitin ang mga pindutan sa isa top-- para sa bawat isa sa mga bulbs-- upang aktwal na malaman kung ang pattern ng liwanag na mga bombilya na kumakatawan sa bilang pinag-uusapan. At Sorry, kung ano ang muli ang iyong pangalan? Madla: Jackie. David J. MALAN: Jackie. Lahat ng karapatan. Magandang upang matugunan mo. Kaya ipaalam sa akin sige at programa sa para sa mundo upang makita ang bilang 15. Susubukan naming panatilihin itong maliit sa unang dito. At pupuntahan ko pumunta sa Mode ng Laro. At pupuntahan ko tinukoy, bigyan kami ng bilang 15. OK. At ngayon sa lahat ng tao kung watching-- nais mong i-siguro tumayo sa ganitong paraan, dahil ito ay line up-- sige at magpalipat-lipat ng walong mga pindutan sa tabi ng tuktok upang i-on ang mga bombilya o-off bilang nakikita mong akma. Madla: ang OK. David J. MALAN: At walang Pandaraya sa pamamagitan ng pagpindot plus 15 ulit. Oh, pupunta kami upang gawin iyon. Madla: Oh, maghintay. Ako kaya paumanhin. David J. MALAN: Maaari mo ring i- ang mga bombilya liwanag sa isa-isa sa bawat isa sa mga pindutan sa tuktok. Madla: Oh, OK. Kaya magiging like-- David J. MALAN: OK. Kaya ngayon ay mayroon kaming walong. Kaya sabihin i-pause para sa madla upang makisali dito. Ano ang bilang na ito ay Jackie Kasalukuyang kumakatawan? 11. Kaya hindi namin halos doon. At mahusay. Kaya mayroon namin ang aming mga unang nagwagi. Binabati kita. At naisip namin na gusto naming magkaroon ang ilang mga kamangha-manghang pamudmod. Kung nais mong maging isa tulad dorm room dito sa campus, Maaari mo ang iyong sarili ay may panghuling proyekto gamit ngayon ang API na ito, salamat sa Jackie. Kaya now-- [APPLAUSE] --if magagawa namin, isa nang higit pa tulad sa paligid ng ito. Oh, ngayon lahat ng tao ay nais ng ilang mga magagaan na mga bombilya. Para sa tinatawag na Hacker edisyon, kami ay pagpunta sa ramp up ito a-- oh, Oo, noncommittal. Sa tingin ko ka darating up ngayon kung ang iyong kamay ang nangyayari pababa. Ano ang iyong pangalan? Madla: Alex. David J. MALAN: Alex, darating sa paglipas dito. Kaya para sa Alex, kami ay pagpunta sa programa sa isang bahagyang mas malaking numero. Marahil sa pagkakasunud-sunod. Ang bilang 50. Madla: ang OK. David J. MALAN: Ngunit, bilang Said-- ko at maaari mo nais na tumayo dito kaya na line up ang mga pindutan tulad ng iyong expect-- ngunit ginawa ko tumawag ito ang Hacker edisyon. So-- good luck! [Tawa] Magagawa mong upang i-on ang mga ito off kung you-- OK. Mahusay. Kahanga-hanga. Binabati kita. [APPLAUSE] Ipagpalagay ko dapat kong bayaran up. Binabati kita pati na rin sa Alex. OK. Kaya ang ultimate takeaway dito ay sana, tapat, ang simplicity-- ang pagiging simple na kung saan maaari kang makakuha ng ilang gandang liwanag bombilya, tila sa [INAUDIBLE]. Ngunit kinakatawan nila, sa huli, ang parehong mga ideya na kung saan kami ay mga kawani na tao na ang lahat ng masyadong pamilyar. Kaya kung ano ang maaari sa susunod hakbang na nasa paglala ng sinusubukang gawin ang isang bagay kagiliw-giliw na may data at kumakatawan sa input na hindi lamang mga numero ngunit marahil titik o higit pa? Well, ito ay lumiliko out na ang computer na mundo, para sa maraming taon, lamang pinagtibay isang arbitrary ngunit isang pare-parehong pamantayan na mapa mga numero sa mga titik ng alpabeto. Halimbawa, narito ang isang sipi mula sa na pagma-map. Ito ay tinatawag na Ascii. A-S-C-ko-ko. At iyon ay lamang ng isang talahanayan na mga mapa ng malalaki letters-- sa ganitong case-- sa decimal na numero. Ngunit kung ano ang mga implikasyon? Well, kung talagang nais upang kumatawan isang bagay tulad ng isang email o ng ilang teksto sa isang web page, mo malinaw naman nais na ipakita ang tao titik ng alpabeto, hindi numero. Kaya depende sa konteksto ng mga programa na ang isang gumagamit ay gumagamit, kung ito ay isang web browser o email client, mga numero ay maaaring maging tiyak mapapakahulugan ang mga titik. Iyon ay upang sabihin, mga pattern ng mga piraso maaari madali mapapakahulugan ang mga titik. At kaya kung ano ang maaari kaming magkaroon ay ang titik A pagkatao kinakatawan bilang 65, B na kinakatawan bilang 66. Kaya kung kami ay may isang napakabilis maikling salita, tulad ng hi, kung ano ang isang computer gagawin sa huli tindahan sa decimal ngunit talagang sa binary, gamit ang ilan sa pagkakasunud-sunod ng mga piraso, pagdaragdag ng kaunting koryente sa anumang paraan, ay magiging ang dalawang numerong 72 at 73. Ngunit ang pattern ng mga bit na kumakatawan sa mga halaga iyon. Kaya mga pagkatapos ay kung paano namin maaari katawanin ang aming input at output. At suffice ito sasabihin, na aming makakaya gawin mas kumplikadong mga representasyon sa huli sa mga bagay tulad ng graphics, mga video, musika, at higit pa dahil kakailanganin namin makita sa ibang pagkakataon term na ito. Kaya na nag-iiwan lamang pagkatapos mga algorithm, mga sets ng mga tagubilin kung saan kami ay paglutas ng aktwal na mga problema. Kami ay pagpasa sa input na algorithm. At mga algorithm ay paggawa output, sana ay tama output at sana, masyadong, mahusay nakakalap ng output. Sa ibang salita, ito ay isang bagay na upang ipatupad ang isang bagay nang tama. Ito ay isa pang bagay upang ipatupad isang bagay na rin o mahusay. Halimbawa, ang isang demonstration na kami ay mahilig ng sa kurso ay ang isang ito. Ngunit ang mga bagay na nakakakuha lalong mabuti upang mahanap. Ngunit ito ay talagang isang lumang paaralan phone book, sa loob ng na ay 1,000 mga pahina ng plus mga pangalan at mga numero ng telepono. At kung Nais kong tumingin hanggang ng isang tao sa ang aklat na ito sa telepono, Kaya kong lamang gawin ng napaka walang muwang algorithm. Maaari ko bang buksan up sa unang pahina, at Kaya kong simulan upang tumingin para sa, sabihin nating, may isang taong na may pangalang Mike Smith. At kung siya ay wala sa unang pahina, sa progreso ako sa pangalawa, at pagkatapos ay sa ikatlong, at pagkatapos ay sa ika-apat, at iba pa, hanggang sa wakas ay nakahanap ako Mike Smith. Ngayon ay tama algorithm na? Madla: Oo. David J. MALAN: Oo. Kung siya ay nasa doon, idedetalye ko Sa kalaunan mahanap sa kanya. Ngunit ito ay arguably hindi masyadong mahusay, tiyak na hindi mabilis, dahil, ang aking diyos, bakit ako aksaya ang aking oras ng flipping sa lahat ng mga pahinang ito kapag maaari ko ay tiyak na gawin ito pisikal na mas mabilis? Well, isang bahagyang pag-optimize, kaya upang makipag-usap, maaaring hindi isang pahina sa isang pagkakataon, ngunit dalawang, apat, anim, walong, 10. Pa rin tama? Madla: Hindi David J. MALAN: Kaya kung hindi ako para sa Halimbawa laktawan sa paglipas ng Mike Smith. Subalit hangga't i-back ko pedal isang pahina, kung overshoot ko sa kanya, marahil maaari kaming iwasto kung ano baka kung hindi man ay maging isang gotcha. Ngunit ito ay mas mahusay? Ay ito nang mas mabilis? Ibig kong sabihin, Oo. Ito ay literal na dalawang beses nang mas mabilis kung gagawin ko ng dalawang pahina sa isang pagkakataon. Kaya kung Orihinal na ako ay nagkaroon ng 1,000 mga pahina, ngayon Mayroon akong lamang upang i-flip 500 beses, Hindi ganap na 1,000 mga pahina upang makakuha ng potensyal na sa pinakamasama kaso sa dulo ng telepono libro, kung saan ang isang tao tulad ng Mike Smith o ang isang taong may ng pangalan sa ibang pagkakataon maaaring aktwal na maging. Ngunit, siyempre, namin mga tao ay tiyak na hindi pagpunta sa ginagawa na iyon, tiyak Hindi ito sa punto sa ating buhay. Ano ang isang makatuwirang pantao malamang pagpunta sa gawin? Madla: Pumunta nang diretso sa the9 S ni. David J. MALAN: Pumunta nang diretso sa S ni? Paano ko pumunta diretso sa S ni? Madla: rip ito sa kalahati. David J. MALAN: Well, walang pagmamarka. Kaya, oo, kung mayroong sa katunayan isang label o isang sticky tab para sa S, dapat naming lumipat doon. Ngunit ito ay medyo innocuous. Kaya ang pinakamahusay na maaari kong gawin ay halos sa seksyon S o marahil halos sa gitna. Ngunit ang key takeaway now-- at ang Swersey na iyong kinuha para sa iginawad para sa taon probably-- ay ang kung ano ang ginagawa mo ngayon malaman tungkol sa problemang ito? Madla: [INAUDIBLE] David J. MALAN: Mike Smith ay tiyak Hindi ito sa kalahati ng problema dahil Smith nauuna matapos ang gitna na kung saan ay halos ang seksyon M, ito ay tila na maging. Kaya bilang maaari mong na nakita sa Visitas, kami ay maaari na ngayong literal pilasin ang problemang ito sa kalahati. Madla: Woo! David J. MALAN: Ito ay pagkuha ng mas madali at mas madali. [APPLAUSE] Mayroon kang pumunta. [Tawa] At ngayon ko fundamentally magkakaroon ng parehong problema, subalit ito ay literal na kalahating bilang malaki. Naghahanap ako pa rin para sa Mike Smith. At daresay ko, maaari ko pa rin tumingin para sa kanya sa parehong paraan, paghahati ang problema sa kalahati muli, tearing ang problema muli sa kalahati, na nag-iiwan sa akin ngayon na may ng problema sa isang-kapat ng laki, kapansin-pansing magtapon na kalahati ang layo, at ulitin muli at muli ang prosesong ito at muli, glancing down na sa bawat punto upang makita kung Mike Smith ay nasa ang pahina na pinag-uusapan. Ngayon kung gagawin ko ito nang tama, sa huli kukunin ko mahanap ang aking sarili sa isang pahina lamang sa kung aling Mike Smith ay kung siya ay sa katunayan sa aklat telepono. Siyempre, maaari ko hindi kailanman tumawag muli ni Mike. Ngunit ang punto dito ay kung nagsimula kaming sa 1,000 mga pahina, ang aking unang algorithm, i-flip ang pahina, siguro 1,000 times-- Talagang mas mababa dahil ito ay isang pangalan ng S at hindi isang pangalan Z, ngunit bilang maraming bilang 1,000 mga pahina ng potensyal. Pangalawa algorithm, mas mahusay. 500 mga pahina. Ikatlong algorithm, bagaman, kung gaano karaming mga hakbang na gagawin ito gawin upang hatiin ang isang 1,000 pahina aklat ng telepono sa kalahati tulad na? 10, bigyan o tumagal. Kaya lamang sa pamamagitan ng flipping sa pamamagitan ng na phone book, diving at conquering, kaya upang makipag-usap, 10 beses, ako ay gumawa aking down sa isa lamang solong pahina paraan. At upang maaari naming makuha ito Swersey ngayon Medyo graphically kung isinasaalang-alang mo lamang ito sobrang simple graph. Humihingi kami sa x-axis, o pahalang axis, ay ang laki ng aking problema, ang bilang ng mga pahina sa aklat ng telepono. At computer siyentipiko Sa pangkalahatan itawag ang laki ng problema n, kung saan n ay ilan lang na variable represents-- sa case-- bilang ng mga pahina. Ang vertical, o y-axis, dito ay magiging ng oras upang malutas, siguro ang bilang ng mga pahina ng mga liko, siguro ang bilang ng mga segundo o minuto, kahit anupamang ang iyong mga yunit ng pagsukat ay. At kaya ito pulang linya Kinakatawan ang unang algorithm, dahil mayroong isang 00:59 relasyon sa pagitan ng numero ng mga pahina at halaga ng oras na aabutin. Kung Doubles Verizon ang bilang ng mga mga pahina sa aklat ng telepono sa susunod na taon, aking pagtakbo time-- ang Kinakailangan ang oras upang isakatuparan na unang algorithm-- Doubles sa pinakamasama kaso. Ngunit ang pangalawang algorithm, kung saan makakakuha ako flipping sa pamamagitan ng dalawang, Nangangailangan ng mas kaunting oras para sa isang naibigay na problema laki. Kaya kung mayroon akong ganito karaming notice pahina here-- na ang dilaw na linya Iminumungkahi ng mas kaunting oras upang malutas. At sa katunayan, ay kumakatawan ito, ipapakita namin sabihin, n higit sa dalawang. Ngunit ano ang hugis ng mga third at huling curve ng pagpunta sa hitsura? Oo, sa katunayan ito ang nangyayari sa look-- ko hindi alam kung ano ang iyong pagpunta sa sabihin. Ngunit sabihin makita kung ano ang ikaw ay pagpunta sa sasabihin. Madla: Tulad ng mga iyon. David J. MALAN: Ito ay pagpunta sa hitsura ito, ang isang logarithmic slope-- exactly-- kung saan mayroon kang malaman na ito slope. Ito ay hindi na isang tuwid na linya. At kung ano ang nakakapanghimok tungkol na iyon kahit na graph ay cut off ngayon, maaari mong extrapolate sa iyong bale na na berdeng linya hindi pagpunta sa dagdagan sa taas lahat ang ganoong karaming karagdagang bilang magpatuloy ka down na pahalang na axis. Sa katunayan, Verizon, para sa Halimbawa, maaari double ang bilang ng mga pahina sa telepono aklat na ito sa pagitan ng mga taon at sa susunod na taon mula sa 1,000 sa 2000 mga pahina, ngunit walang malaki deal. Gamit ang ikatlo at panghuling, mayroong isang madaling gamitin na algorithm ng paghahati at conquering. Ito ay pagpunta sa tumagal sa akin kung gaano karaming mga higit pang mga hakbang sa susunod na taon upang makahanap ng isang tao i Mike Smith? Madla: Isa. David J. MALAN: May isang lang. At maaari silang Quadruple ito, ito ay pagpunta sa dalhin ako lamang ng dalawang karagdagang mga hakbang at iba pa. At kaya ito ay Tipan sa kung paano lamang ng ilang maingat na disenyo at ang ilang mga pagpapahalaga para sa kung ano iyong input ay maaaring gawin mas mahusay. Ngayon kami ay Pandaraya isang Medyo sa kamalayan na kami ay pagdaragdag ng isang palagay. Ano ang aking palagay tungkol sa aming phone book na pinapayagan sa akin upang hatiin at lupigin sa madaling maunawaan at tama pa rin ang paraan? Madla: [INAUDIBLE] David J. MALAN: Oo. Kaya ito ay na-order. Ito ay alphabetized sa pamamagitan ng ang kumpanya phone book. Parang ito ay sa random na pagkakasunud-sunod, na ay magiging isang impiyerno ng isang libro ng telepono, ngunit ito ay tiyak na hindi gagawin ipahiram mismo sa algorithm Ginamit ko, dahil gagawin mo ay hindi kailanman mangyari lamang sa Mike Smith kung iningatan mo ng paghati sa kalahati sa paraang iyon sa pamamagitan ng pagkakataon. Kaya sabihin ngayon gawing pormal kung ano ang malinaw na madaling maunawaan. Kaya isang bagay na tinatawag na pseudocode ay kung saan na aming simulan ilan sa aming mga paunang mga problema. At ito ay isang pangkalahatang paraan ng naglalarawan isang algorithm o isang computer program, hindi gumagamit ng C, C o ++, o Java, o anumang partikular na wika, ngunit lamang gamit ang Ingles, may na maaaring maging pamilyar sa anumang pantao. At maaari naming isulat ang pseudocode para sa problemang ito tulad ng sumusunod. Hakbang isa, kunin ang aklat telepono. Hakbang dalawa, bukas sa gitna ng phone book. Hakbang tatlong, tingnan ang mga pangalan. Hakbang apat, kung Smith ay kabilang sa names-- At ngayon ito ay isang kagiliw-giliw na bumuo. Ito ay isang desisyon point. Ito ay isang tinidor sa kalsada, kung ikaw ay, isang branch, kaya upang makipag-usap. Kaya pupuntahan ko upang i-indent sa pamamagitan lamang ng convention step-- Hindi five-- na kung saan ay sa sabihin nating, Tatawag ako Mike. Kaya ito indentation, ganap arbitrary convention ng tao, subalit ito ay lamang sinadya upang ihatid magkakahulugang na kung Smith ay kabilang sa mga pangalan, pagkatapos ang dapat kong tumawag Mike. Samantala sa hakbang anim, abiso na ang indentation ay nawala. Kaya iba ay sa iba pang mga tinidor sa kalsada, ang iba pang mga kalsada ay maaaring maglakbay ko. Kaya pa kung Smith ay mas maaga sa libro, kung ano ang ang aking mga susunod na hakbang marahil pagpunta sa maging dito? Madla: pumunta ka sa kaliwang bahagi. David J. MALAN: Oo, kaya pumunta sa kaliwang kalahati ng phone book. Itapon ang karapatan kalahati kung Smith ay mas maaga sa aklat. Kaya bukas sa gitna ng kaliwang kalahati ng libro. At pagkatapos magbasa-walo, pumunta sa line tatlo. At ito ay isang loop malaman ako pampalaglag, isang recursion kaya upang makipag-usap. Ngunit higit pa sa na sa hinaharap. Ginagamit ko ang aking parehong algorithm, aking parehong pseudocode, upang malutas muli ng parehong problema dahil ang tanging bagay na nabago na ay ang laki ng problema, hindi ang aking mga layunin, at hindi ang tao Naghahanap ako. Kaya ang maaari kong muling gamitin ang algorithm na natukoy ko na. Iba Pa kung Smith ay sa ibang pagkakataon sa book-- maaari mo guess-- bukas sa gitna ng ang karapatan sa kalahati ng mga libro. At muli, pumunta sa line tatlo. Else-- kung ano ang panghuling linya sa ganitong programa ng pagpunta sa maging? Kung siya ay hindi kabilang sa mga mga pangalan sa pahina ako on, kung siya ay hindi mas maaga sa ang libro, at siya ay hindi sa ibang pagkakataon sa aklat, kung ano ang ginagawa alam ko totoo ang tungkol sa Mike Smith ngayon? Madla: Siya ay wala sa libro. David J. MALAN: Siya ay wala sa libro. Kaya ang pinakamahusay na maaari kong gawin ay lamang isuko at tumigil sa programang ito. Lahat ng karapatan. Kaya sa puntong ito, sabihin kumuha ng isang mabilis na tour ng ilan sa kung ano ang naghihintay. At sa katunayan, ako ay sumali dito sa pamamagitan ng isang bilang ng mga kawani ng CS50. Kung ang mga tao ng dati ang lahat samahan ako dito sa entablado. [APPLAUSE] Bale sa iyo, ito ay para lamang isang subset ng mga tauhan CS50, dahil ang bawat taon kami ay may halos 100 mga kawani mga kasapi sa mga tungkulin ng katulong kurso, pagtuturo Fellows, at higit pa. Halika sa up. Kaya sila ay sumali sa amin dito awkwardly para sa isang sandali lamang bilang bigyan kami ng isang whirlwind tour ng kung ano dapat mong asahan dito sa kurso. Kaya unang sa lahat, mayroon kaming SAT / UNS bilang pagpipilian sa grading sa kurso. Ito ay sinadya sadyang upang maging isang pagpipilian kung saan kung ikaw ay isang bit mapalagay sa pagiging sa kurso, at huwag kang matakot failure-- kahit na tapat pagkabigo ay nangangahulugan na nakakasama sa iyong GPA, pagkuha ng isang B at hindi sa isang A-- na tumpak kung ano, tiyak para sa isang gateway Siyempre tulad ng CS50 at iba pang mga panimulang kurso, ang pagpipiliang ito grading ay sinadya upang payagan. I wholeheartedly hinihikayat students-- lalo na kung sa fence-- upang simulan ang Siyempre SAT / UNS, kahit mananatiling SAT / UNS. Ngunit maaari mong tiyak na lumipat sa isang sulat grado sa pamamagitan ng ikalimang Lunes sa term na iyon. Tapat, pabalik kapag ako ay ay isang freshman noong 1995, Ko ang aking sarili ay hindi kahit na tumagal ng CS50 dahil hindi ako nakakuha ng hanggang kabastusan upang aktwal na hakbang paa sa silid-aralan. Tila isang domain malayo masyadong hindi pamilyar sa akin at talagang lamang para sa mga kaibigan ng mga mina, tapat, na naging mga programa dahil sila ay six- o marahil 10 taon gulang na. At ito ay lamang dahil ako ay magagawang gumawa ng CS50 sa aking araw sa ang katumbas na bersyon ng SAT / UNS-- pass / mabigo pabalik sa day-- na kahit na kinuha ko 50. At kahit papaano o iba pang, ako dito muli sa iyo ngayon. Ngayon samantala kung ano pa sa iyo Dapat tandaan tungkol sa 50 ay sabay-sabay na pagpapatala. Salungat sa mga tsismis na Maaaring narinig mo, maaari mong, sa katunayan, nang sabay-sabay magpatala sa CS50 at isa pang klase na nakakatugon sa pareho o-overlap na ang ilang mga oras bilang mga aralin CS50 ni dito mismo. Tingnan ang syllabus para sa mga particular ng pagpapatupad nito. Aralin, samantala, nasasalungat sa kung ano ang opisyal sa catalog, sa pangkalahatan ay lamang matugunan para lamang ng isang oras. Paminsan-minsan maaari naming magpatakbo ng isang maliit na haba. Ngunit tandaan na ang layunin sa aralin CS50 ni ay upang bigyan ka ng isang pangkonseptong pangkalahatang-ideya, sana ay ilang mga demonstrations, marahil ilang mga pamudmod, ng kung ano ang naghihintay para sa ang linggo na susunod. At kaya sa mga aralin, ipapakita namin galugarin sa mga paksang iyon at ang mga halimbawa nang magkasama, pagdadala ng mga mag-aaral hanggang sa yugto, at staff hanggang sa yugto nang madalas hangga't kaya namin, para lamang ng ilang oras bawat linggo. Seksyon, samantala, ay magiging Inaalok sa pamamagitan ng mga tao here-- marami ng mga ito pagtuturo Fellows, ang ilang mga sa kanila kurso assistants-- kalooban nangyayari ito linggu-linggo. At kung ano ang key upang panatilihing sa isip ay na namin huwag have-- hindi hindi tulad ng Unang Gabi, ang musika class-- iba't ibang mga track ng mga seksyon para sa mga mag-aaral mas kumportable, higit pa kumportable, at sa isang lugar sa pagitan. At tapat, alam mo kung ikaw ay mas kumportable. At marahil alam kung ikaw ay mas kumportable. At kung hindi ka talagang sigurado, ikaw ay sa pamamagitan ng kahulugan sa isang lugar sa pagitan. Kaya pagdating oras upang seksyon sa isang linggo o kaya, alinsunod sa mga syllabus, hihilingin namin sa iyo na pinag-uusapan. At maaari mong self-piliin Batay sa iyong sariling antas ng ginhawa at maging sa students-- maging may berdeng dots-- katulad sa antas ng ginhawa sa iyo. Samantala, mayroon kaming problema Nagtatakda, na sa huli tukuyin ang iyong karanasan sa kursong ito. Ang mga ito ay karaniwang inaalok sa maramihang mga edition. Ang isang standard edition na inaasahan namin ang karamihan bawat mag-aaral sa kurso upang matugunan ngunit ding tinatawag na Hacker edisyon na nag-aalok ng walang paraan ng dagdag na credit tahasan ngunit talagang ang mga karapatan bragging sasabihin na sinubukan at tackled Hacker edisyon ng kurso na lapitan ang katulad na materyal ngunit mula sa isang mas sopistikadong anggulo. Ano ang nag-aalok kami para sa standard edition, para sa, muli, isang napakabilis karamihan ng mga mag-aaral, ay hindi lamang walk-through, na mga video pinangunahan ng mga kawani ang kurso ni na tunay na ituturo sa iyo ang mga problema sa kurso at posibleng disenyo mga pagpapatupad. At kami rin, pagkatapos ng katunayan, nag-aalok postmortems, kung saan kung ikaw ay nagtataka kung paano mo ay maaaring magkaroon ng o dapat malutas sa ilang problema, ang pagtuturo kawani ay ituturo sa iyo mga nasa video pati na rin. Samantala, ano ang naghihintay sa masyadong ay limang late araw at ang katotohanan na gagamitin namin drop ang iyong itakda ang pinakamababang marka ng problema. Tiyak naming pinahahalagahan na kapalit para sa workload na 50 Inaasahan ng ng sa iyo, buhay ay nakakakuha sa paraan ng minsan, kung hindi limang beses. At kaya ito ay mag-aalok mo ang isang bit ng kakayahang umangkop, pagpapalawig ng iyong deadline mula sa, sabihin nating, isang Huwebes sa tanghali sa isang Biyernes sa tanghali. Tingnan ang syllabus para sa Mga detalye ng pagpapatupad nito. Ngayon kung ano ang naghihintay sa ngayon? At ito ay nagaganap lamang sa akin ngayon lang kung gaano katagal Nagkakaroon ako ng tumayo dito sa iyo guys sa entablado. [Tawa] David J. MALAN: Ngunit susuriin namin ang climactic tapusin bago ang haba. Kaya kung ano ang naghihintay sa mga tuntunin sa mga hanay problema? Well, marahil ng isang teaser ng kung ano ang namin ang lahat ng ginawa noong nakaraang taon sa iyong predecessors. Sa unang hanay problema nakaraang taon, ipinakilala namin Sa simula, isang graphical programming language na Hinahayaan ka ng programa mo literal sa pamamagitan ng pag-drag at pag-drop palaisipan piraso, tulad ng mga ito, na reminiscent ng constructs makakakita lamang ng isang linggo samakatuwid, kapag lumipat kami sa isang mas tradisyonal na wika, na kilala bilang C. Huling taon namin nagpatuloy sa set na ito problema, kinasasangkutan para sa cryptography, ang scrambling ng impormasyon upang panatilihin ito mula sa gobyerno o kaibigan mata na hindi mo nais na makita ito. Naka-encode sa dito ay isang mensahe na sa lalong madaling panahon sa iyo ay magagawang upang i-decrypt o de-scramble. Breakout ng problema set noong nakaraang taon, kung saan ginagamit mo ang mga bagong natagpuan programming kasanayan sa mga aktwal na ipatupad isang laro wherein-- tulad ng sa iyo Maaaring isipin ang mula sa childhood-- ang layunin ay upang Bash ang bricks na nasa ibabaw ng screen dito, iipon ng isang puntos sa kahabaan ng paraan, at pagpapatupad ng iyong sariling mga algorithm kung saan ang solusyong ito sa huli Hinahayaan ka ng i-play ka sa laro. Samantala, sa ibang pagkakataon sa semestre, ibibigay namin sa iyo isang diksyunaryo ng 143,091 mga salitang Ingles. At ikaw ay hinamon magsulat ng isang programa na pagbaybay sa mga pagsusuri, mga dokumento, sa pamamagitan ng naglo-load na maraming mga salita sa memorya nang mahusay hangga't maaari. Sa pangkalahatan pitting mo laban sa iyong mga kaklase kung nagpasya kang sumali sa isang bit ng isang hamon sa lider board upang makita kung sino ang fewest ay maaaring gumamit segundo ng pagtakbo ng panahon, at ang fewest bilang ng megabytes ng memorya, at talagang fine-tune sa iyong mga programa na maging kapani-paniwalang mahusay na mapagkukunan hindi lamang ng panahon. Noong nakaraang taon, masyadong, itinuturing namin sa dulo ng semestre sa web programming. At sa katunayan, gagawin namin muli ito na taon na may maramihang mga hanay ng problema, nagpapakilala sa iyo sa mga diskarte at ang mindset na kung saan maaari kang mag-aplay mga programa kasanayan sa website, mga dynamic na website, mga website na aktwal na malutas mga problema at kumilos nang iba at hindi lamang static mga site na may static na impormasyon. Ang huling proyekto sa huli ay tukuyin, bagaman, ang rurok ng kurso para sa mga mag-aaral, kung saan ikaw ay hinamon upang ipatupad karamihan sa anumang bagay ng interes sa iyo, kaya hangga't kahit papaano at kumukuha sa mga aralin ang kurso ni. At bilang nakita mo sa video sa simula, ay namin tapusin ang semestre sa CS50 Hackathon, na kung, pamilyar, Magsisimula sa 7:00 isang gabi at magtatapos sa 07:00 sa susunod na umaga. Paikot 09:00, ipapakita namin pagkakasunud-sunod sa unang hapunan. Paikot 01:00, ipapakita namin order sa pangalawang hapunan. At kung hindi mo pa rin nakatayo sa 5:00, namin ay shuttle bus mo sa IHOP para sa almusal. Ang CS50 Fair, samantala, ay isang kaganapan na kung saan 2,000 plus faculty, mag-aaral, at mga tauhan mula sa buong campus ay dumating upang makita ang iyong kabutihan sa kurso at ang pangwakas na mga proyekto at mga likha na nilikha mo sa iyong laptop, mga desktop, o di kaya kahit na ilaw na mga bombilya. Samantala, oras ng opisina at ang istraktura ng suporta. At ngayon ito ay naging isang mas mahusay na oras upang ilabas mo ang lahat. Oras ng opisina ay magaganap apat na gabi sa isang linggo para sa maramihang mga oras bawat gabi sa pangkalahatan ay 20-30 ng staff kurso sa tungkulin nang sabay-sabay upang bigyan ka ng maayang isa-sa-isang pagkakataon para sa suporta may mga set ng problema ang kurso na iyon. Pagtuturo ng masyadong magiging magagamit, lalo na para sa mga mag-aaral mas mababa comfortable-- o Dare sabihin ng hindi bababa sa comfortable-- para kanino oras ng opisina ay hindi ang karamihan kapaligiran nurturing at ikaw ay tiyak na hindi ang pinaka ng stress-free. Lalo na kapag deadline ay pagpindot, gagawa kami maagap na ipares mo ang ating mga sarili may isang miyembro ng kawani upang gumana sa sa ilang mga regular na iskedyul ng iyong mga pangangailangan at ang kanilang mga iskedyul ay nagbibigay-daan. At mga kawani. Payagan ako upang ipakilala ang Davon, Rob, at Gabriel, ulo taon na ito. Kung gusto mo ang bawat i-say-- [APPLAUSE] --a salita. [APPLAUSE] Davon sa paglipas dito ay ang manager kurso, na Ibig sabihin sa kanyang full-time na papel siya ay tumutulong sa pagpapatupad at logistik ng CS50. DAVON: Oo, hi, guys. Makakakita ka ng maraming sa akin sa oras ng opisina. Kukunin ko ay nagtuturo seksyon. At kung iyong kukunan ng mga email na nauna, Makikita ko malamang na pagtugon. Kaya kukunin ko na makita ng maraming mo ang lahat ng semestre. At maligayang pagdating sa CS50. David J. MALAN: At ngayon Gabriel, na nag- ang kanyang sarili ay isang freshman lang nakaraang taon, ngunit para sa nakaraang dalawang taon ay Na-operating kanyang sariling bersyon ng CS50 sa Brazil, kung saan siya ay nai-download lahat ng content-- ang kurso ni na kung saan ay malinaw na pagiging kinukunan at inilagay online-- kaya na maaaring siya isalin ito sa Portuges at pagkatapos ay magturo higit sa 100 ng kanyang kamag-aral sa ibabaw ng kurso ng isang pares ng mga taon, nagtuturo sa kanyang sariling wika kurikulum ng kurso ni. Gabriel: Hello. [APPLAUSE] Gabriel: Hi, Ako Gabriel. Ako ang ulo tf ng kurso. At Umaasa ako na magugustuhan mo CS50. Ito ay CS50. David J. MALAN: Ngayon para sa Rob. Oh, gusto mo panimula? Rob: Hindi, hindi ko alam. [Tawa] David J. MALAN: At Rob Boden. [Tawa] Rob: Hi, Ako Rob. Ito ang aking ika-limang taon kasangkot sa kurso sa pamamagitan nito. Taun-taon, ito lamang ay isang mas mahusay at mas mahusay na klase, kaya ka guys ay malinaw na magiging kahanga-hangang. Umaasa ako mo ang lahat ng magsaya sa mga ito. Pupunta ako sa magsaya sa mga ito. Kaya mo makita sa paligid. David J. MALAN: At oras ay hindi pinahihintulutan us-- [APPLAUSE] Oras ay hindi pinahihintulutan sa amin upang ipakilala ang lahat ng tao sa stage at lahat ng kanilang mga kasamahan sino ay namimili ng mga klase ngayon. Ngunit pinapayagan sa akin upang ipakilala Belinda at CS50 Puzzle Araw, na naghihintay na ito darating na Sabado, na ay ang unang ng malaking sukat ng mga kaganapan kurso ni. Ito ang isa sa mga partikular na nilalayong martilyo sa bahay ng mga punto na computer science ay sa huli Hindi tungkol sa programa, ngunit sa halip tungkol sa paglutas ng problema sa mas pangkalahatang paraan. At puzzle Araw, pati na ikaw ay makita, ay magdadala sa iyo at ang iyong mga kaklase together-- Umaasa kami na ito Sabado. Belinda: OK. Hi, guys. Kaya salamat. Kaya bilang aming illustrious kapitan sinabi, Belinda ang aking pangalan ni. Ako ay isang sophomore sa Quincy House. Ko, gusto mo lang guys, kinuha CS50 nakaraang taon, talagang mahal ito. Mayroon akong isang malambot na lugar para sa mo guys sa ikatlong hilera. At ako ay mapagmataas upang sabihin, ako ngayon sa isang nakatuon relasyon may CS50 [INAUDIBLE]. OK. Iyon ay ang aking lame bersyon ng isang Joke. Pa Rin, kaya ang paglipat sa, Nais lamang na mag-imbita mo guys lahat sa i-lab, o HBS hives. Kami ay pagpunta sa ay nagkakaroon Palaisipan Araw 12:00-03:00. At ito ay isang mahusay na pagkakataon para sa iyo guys upang matugunan ang iyong mga kapwa CS kaibigan, malutas ang ilang mga di-CS mga puzzle, tulad ng Captain Binanggit, at kumain din ng ilang mga libreng pagkain, kumita ng ilang mga kahanga-hangang mga premyo, tulad ng gift card, $ 75 sa bawat tao, at also-- kung ano ang ito? Wii U o isang bagay? Wii U? Oo. Para sa aming raffle. Kahanga-hanga. Kaya kukunin ko na manatili sa paligid pagkatapos ng klase. At kung ikaw guys ay may anumang mga katanungan, ipaalam sa akin. David J. MALAN: At makikita mo, lampas ito mayroong walang kinalaman sa ngayon ay. Itakda ang unang problema ay pumunta out Biyernes. Ngunit upang dalhin sa amin sa bahay ngayon, nais kong ipakilala sa partikular na ang isa pang miyembro ng kawani, Colton Ogden dito, na ang mga kamay ay ngayon protektado sa itaas sa iyo ng ito Midi controller martilyo sa higit pang mga punto sa bahay na computer science, masyadong, May applicability malayo sa engineering at stem at computer science mismo, pagpapahaba ng kahit na sa mga naturang mga domain ng musika. Colton ay pinapayuhang offered-- naisip ko isa sa mga ito ay pagpunta upang ayusin ang focus. Andrew, kung maaari kaming ipatawag focus sa paglipas dito para sa isang sandali lamang. Ano Colton ay tapos na nang maaga ay programa ito aparato, ang pad ng mga pindutan na iyong makita ang nakalarawan dito, bilang isang Midi controller, kung saan ang bawat isa sa mga pindutan ay naka-wire na sa isang partikular na tala musikal o isang tunog, mas pangkalahatang paraan ng pag-record, tulad na sa pamamagitan ng paglalaro ng mga pattern ng mga mga pindutan, tulad ng mga pattern ng mga piraso, Maaari kumakatawan sa iba pang mga mas mataas na konsepto na antas. Siya ay magagawang sa huli gumawa sa amin tahanan dito ngayon? Nang walang karagdagang ado, kung maaari kaming palalamlamin ang liwanag ng ilaw, at i-on ang screen sa likod Colton. Madla: Woo! David J. MALAN: Ito ang CS50. [Musika nagpe-play] [APPLAUSE] Iyon lang para sa CS50. Makikita natin ka Biyernes. Naghihintay sa iyo ang ilang mga cake sa Transept. [Musika nagpe-play]